/* Reference-inspired motion, preserving every existing box and line break. */
.reveal{transform:translateY(16px);transition-duration:650ms;transition-timing-function:var(--ease)}
.reveal.is-visible{transform:translateY(0)}
.reveal .motion-part{transition-duration:420ms}
.motion-scan-layer{position:absolute;inset:0;z-index:5;pointer-events:none;border-radius:inherit;overflow:hidden;opacity:0;transition:opacity 180ms ease}
body[data-page] [data-portrait-game] .motion-scan-layer .motion-scan-photo{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;border:0;border-radius:inherit;filter:grayscale(1) contrast(1.25);object-fit:cover;transform:none;animation:none}
.motion-scan-grid{position:absolute;inset:0;background-image:linear-gradient(#c4aeed80 1px,transparent 1px),linear-gradient(90deg,#c4aeed80 1px,transparent 1px);background-size:18px 18px;mix-blend-mode:screen}
.motion-scan-ring{position:absolute;inset:0;z-index:6;width:84px;height:84px;border:1px solid #e1d2fb9c;border-radius:50%;pointer-events:none;opacity:0;transition:opacity 180ms ease}
.motion-scan-ring:before,.motion-scan-ring:after{content:'';position:absolute;left:50%;top:50%;background:#e1d2fb9c;transform:translate(-50%,-50%)}
.motion-scan-ring:before{width:12px;height:1px}.motion-scan-ring:after{height:12px;width:1px}
body.is-xray .motion-scan-layer,body.is-xray .motion-scan-ring,[data-portrait-game].is-taking-damage .motion-scan-layer,[data-portrait-game].is-taking-damage .motion-scan-ring{visibility:hidden}
@media(hover:none),(pointer:coarse){.motion-scan-layer,.motion-scan-ring{display:none}}
@media(prefers-reduced-motion:reduce){.reveal,.reveal .motion-part{transform:none;opacity:1;translate:none;transition:none}.motion-scan-layer,.motion-scan-ring{display:none}}

