.movement .story-action{width:var(--illustration-width);margin:3.5rem 0 4.5rem;left:50%;transform:translateX(-50%)}
.action-stage{position:relative;isolation:isolate;aspect-ratio:var(--illustration-ratio);overflow:hidden;cursor:pointer;touch-action:pan-y pinch-zoom;border-radius:var(--illustration-radius);background:#19343c;-webkit-mask-image:linear-gradient(180deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(180deg,transparent,#000 3%,#000 97%,transparent)}
.action-stage:focus-visible{outline:2px solid var(--text);outline-offset:5px}
.action-stage img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:fill;filter:none;pointer-events:none;user-select:none;-webkit-user-drag:none}
.action-layers{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s}
.is-engaged .action-layers{opacity:1}
.action-stage .touch-close{opacity:var(--closeness,0)}
.touch-warmth{position:absolute;inset:0;opacity:calc(var(--closeness,0)*.15);background:radial-gradient(ellipse at 58% 60%,#ffe6aa,transparent 45%);mix-blend-mode:screen}
.action-stage .flight-rider{inset:auto;width:27%;height:auto;max-width:none;object-fit:contain;transform-origin:50% 50%;will-change:transform,left,top}
.walking-actor{position:absolute;width:20%;aspect-ratio:836/941;background-size:200% 100%;background-repeat:no-repeat;opacity:0;will-change:transform,left,top;transform-origin:50% 100%}
.actor-blue{filter:saturate(.55)}
.action-stage .tea-seated{opacity:var(--seated,0)}
.action-stage .tea-sip{opacity:var(--sip,0)}
.action-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem .65rem;padding:.25rem .15rem .1rem;font-family:var(--sans)}
.action-controls button,.moment-controls button{position:relative;isolation:isolate;min-height:2.75rem;min-width:2.75rem;padding:.35rem .55rem;border:0;border-radius:0;background:transparent;font:400 .8125rem/1.6 var(--sans);color:var(--text)}
.action-controls button:before,.moment-controls button:before{content:'';position:absolute;inset:.55rem 0;z-index:-1;border:1px solid #7f9b8538;border-radius:.5rem .65rem;background:#91ab9309;pointer-events:none;transition:background .25s,border-color .25s}
.action-controls button:hover,.moment-controls button:hover{background:transparent}
.action-controls button:hover:before,.moment-controls button:hover:before{background:#91ab9314;border-color:#7f9b8580}
.action-controls .action-reset{opacity:.75}
.action-controls .action-reset:before{border-color:transparent;background:none}
.action-controls [aria-disabled=true]{opacity:.65;cursor:wait}
.action-status{font:400 .75rem/1.7 var(--sans);color:var(--muted);margin-left:auto}
.action-status:empty{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.moment-controls{min-height:0;padding-top:.4rem;gap:.75rem}
.reflection-controls #fog-hint{font-size:.8125rem}
#sunrise-play{min-width:0;gap:.45rem}
.sunrise-ring{width:.85rem;height:.85rem}
.wipe-invitation{top:auto;left:auto;right:1rem;bottom:.85rem;transform:none;padding:.1rem .4rem;font:400 .75rem/1.5 var(--sans);letter-spacing:.04em;background:#e7e8db80;border-radius:.35rem}
.story-action .scene-caption{max-width:none;justify-content:space-between;margin:.15rem 0 0;padding-inline:.2rem;opacity:.9}
.story-action:not(.is-playing) .flight-rider,.story-action:not(.is-playing) .walking-actor{will-change:auto}
.hero-touch-zone{position:absolute;inset:0;z-index:0;touch-action:pan-y pinch-zoom;cursor:grab}
.hero-touch-zone:active{cursor:grabbing}
.hero-touch-cue{position:absolute;right:6vw;top:69%;z-index:2;display:flex;align-items:center;color:#dedfcf;font:400 .75rem/1.7 var(--sans)}
.hero-touch-cue button{position:relative;isolation:isolate;min-height:2.75rem;min-width:2.75rem;border:0;padding:.2rem .45rem;background:transparent;font-size:inherit}
.hero-touch-cue button:before{content:'';position:absolute;inset:.65rem 0;z-index:-1;border-radius:.35rem;background:#16354085;pointer-events:none;transition:background .25s}
.hero-touch-cue button:hover:before{background:#163540c0}
.hero-picture.soft-motion>img{translate:var(--hero-pull-x,0px) var(--hero-pull-y,0px)}
.hero-picture:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:var(--hero-glow,0);background:radial-gradient(ellipse 28% 40% at var(--hero-touch-x,65%) var(--hero-touch-y,50%),#b9d7bf38,transparent 80%);mix-blend-mode:screen}
body.focus .story-action,body.focus .hero-touch-zone,body.focus .hero-touch-cue{display:none!important}
body.menu-open .hero-touch-cue{visibility:hidden}
@media(max-width:760px){
 .movement .story-action{margin:2.8rem 0 3.5rem}
 .action-controls{padding:.2rem 1rem .1rem;justify-content:center;gap:.1rem .45rem}
 .action-status{width:100%;margin:0;text-align:center;font-size:.75rem}
 .wipe-invitation{right:.8rem;bottom:.6rem}
 .story-action .scene-caption{padding-inline:1.1rem}
 .hero-touch-zone{top:16rem;bottom:auto;height:clamp(17rem,79vw,28rem)}
 .hero-touch-cue{top:calc(16rem + clamp(17rem,79vw,28rem) - 2.5rem);right:1.65rem;font-size:.75rem}
 .hero-bottom{padding-top:2.4rem}
 .prose .weather-note{font-size:1.0625rem}
}
@media(prefers-reduced-motion:reduce){.action-layers{transition:none}.hero-touch-cue{display:none}.hero-touch-zone{cursor:auto}.hero-picture.soft-motion>img{translate:none!important}.hero-picture:after{display:none}.flight-rider,.walking-actor{will-change:auto!important}}
@media print{.story-action,.hero-touch-zone,.hero-touch-cue{display:none!important}}
