/* Quiet movement, progressively enabled; static content stays usable without JS. */
:root { --motion-ease: cubic-bezier(.2, .7, .25, 1); }
.motion-ready [data-reveal] { transition: opacity .6s var(--motion-ease), transform .6s var(--motion-ease); transition-delay: var(--reveal-delay, 0ms); }
.motion-ready [data-reveal]:not(.is-revealed) { opacity: 0; transform: translateY(18px); }
.motion-ready [data-reveal].is-revealed { opacity: 1; transform: none; }
.button, .case-channel-button, .photo-treatment-options button, .version-pills button,
.photo-style, .channel-photo-picker, .history-open { transition: color .2s, background-color .2s, border-color .2s, transform .3s var(--motion-ease); }
.desktop-nav a { position: relative; }
.desktop-nav a::after { content: ''; position: absolute; height: 1px; background: currentColor; left: 0; right: 0; bottom: -7px; transform: scaleX(0); transform-origin: left; transition: transform .35s var(--motion-ease); }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { transform: scaleX(1); }
.text-link > span, .button > span, .channel-photo-edit { display: inline-block; transition: transform .35s var(--motion-ease); }
.text-link:hover > span, .button:hover > span, .channel-photo-picker:hover .channel-photo-edit { transform: translate(2px, -2px); }
.case-mini-card { transition: transform .45s var(--motion-ease); }
.case-gallery.is-interactive .case-gallery-panel:not([hidden]),
.channel-photo-dialog[open], #case-viewer-content > .case-comparison,
details[open] > p, .cookie-dialog[open] { animation: content-enter .35s var(--motion-ease) both; }
.style-swatch { transition: filter .4s, transform .4s var(--motion-ease); }
.photo-style:has(input:checked) .style-swatch { transform: translateY(-2px); }
input, textarea, select { transition: border-color .2s, background-color .2s; }
.workspace-nav button, .account-tabs button { transition: color .2s, border-color .25s; }
@keyframes content-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (hover: hover) and (pointer: fine) {
  .button:not(:disabled):hover { transform: translateY(-2px); }
  .button:not(:disabled):active { transform: translateY(0); }
  .case-channel-button:hover .case-mini-card { transform: translateY(-3px); }
  .photo-style:hover .style-swatch { filter: brightness(1.04); }
  .photo-treatment-options button:not([aria-pressed=true]):hover { background: var(--soft); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .motion-ready [data-reveal]:not(.is-revealed) { opacity: 1; transform: none; }
  .button:hover, .case-channel-button:hover .case-mini-card, .photo-style .style-swatch { transform: none !important; }
}
