/* Motion is progressive enhancement. Normal art and all text remain visible
   before JS, during image loading, and after opt-out or unsupported APIs. */
[data-motion-preset] [data-motion-layer]{animation:none;transition:none}
[data-motion-preset] [data-motion-layer="art"]{transform-origin:var(--motion-focus-origin,50% 50%)}
[data-motion-preset] [data-motion-layer="character"]{transform-origin:center bottom}
[data-motion-preset] [data-motion-layer="eyes"]{position:absolute;z-index:3;inset:0;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center bottom;opacity:0;pointer-events:none;user-select:none;transform:none}
/* Initial alignment for the approved Dohwa source. Parent visual QA must
   confirm these patches before attaching the two-frame capability. */
[data-motion-preset] [data-motion-layer="eyes"][data-motion-eye="left"]{clip-path:var(--motion-eye-left,ellipse(6% 1.9% at 46.14% 29.817%))}
[data-motion-preset] [data-motion-layer="eyes"][data-motion-eye="right"]{clip-path:var(--motion-eye-right,ellipse(6% 1.9% at 60.16% 27.47%))}
[data-motion-preset][data-motion-active="true"] [data-motion-layer="art"],
[data-motion-preset][data-motion-active="true"] [data-motion-layer="character"]{will-change:transform}
[data-motion-preset][data-motion-active="true"] [data-motion-layer="dialogue"]{will-change:transform,filter}
[data-motion-preset][data-motion-active="true"] [data-motion-layer="eyes"]{will-change:opacity}
[data-motion-enabled="false"] [data-motion-layer="eyes"],
[data-motion-reduced="true"] [data-motion-layer="eyes"]{opacity:0!important}
[data-motion-replay]{touch-action:manipulation;-webkit-tap-highlight-color:#8d4e6526;min-height:44px}
[data-motion-replay]:focus-visible{outline:3px solid #8d4e65;outline-offset:4px}
@media(prefers-reduced-motion:reduce){
  [data-motion-preset] [data-motion-layer]{animation:none!important;transition:none!important;transform:none!important;filter:none!important}
  [data-motion-preset] [data-motion-layer="eyes"]{opacity:0!important}
}
