/* Preserve the current art direction; layer camera and editorial motion above it. */
.camera-scene{overflow:hidden;touch-action:none;cursor:grab;outline-offset:4px}.camera-scene:focus-visible{outline:2px solid var(--orange)}.camera-scene.camera-dragging{cursor:grabbing}.camera-scene .map-stage-3d{animation:none;transition:none;will-change:transform;transform-origin:50% 50%}.camera-scene .map-city{transition:opacity .6s,filter .6s}.camera-scene.has-focus .map-city:not(.camera-selected){opacity:.2;filter:saturate(.1)}.camera-scene.has-focus .map-city:hover,.camera-scene.has-focus .map-city:focus{opacity:1}.camera-scene .map-city:hover .map-point,.camera-scene .camera-selected .map-point{stroke:#ffe0b2;stroke-width:3}.camera-scene .map-city:hover text{font-weight:700}.camera-instructions{position:absolute;inset:auto 18px 54px;color:#b7bea8;font-size:12px;pointer-events:none;z-index:8;max-width:75%}.camera-home{position:absolute;top:45px;inset-inline-end:16px;z-index:9;background:#111910e8;color:#e0e1cb;border:1px solid #a8b87966;padding:9px 12px;cursor:pointer}.camera-telemetry{position:absolute;top:90px;inset-inline-start:18px;z-index:7;display:grid;gap:5px;pointer-events:none;text-shadow:0 2px 8px #000;background:#080e0bd9;padding:12px;border-inline-start:2px solid var(--orange);max-width:85%;font-size:12px}.camera-telemetry:empty{display:none}.camera-telemetry strong{font-size:20px;color:#f2d8b0}.camera-telemetry span{direction:ltr}.camera-scene .map-ground{background-size:24px 24px}.camera-flying .map-ground:after{opacity:.2}.case-departure main{transform:perspective(1400px) translateZ(-120px) scale(.96);filter:blur(7px);opacity:.3;transition:transform 1s,filter .8s,opacity .9s}.case-flight{position:fixed;inset:0;z-index:10000;pointer-events:none;background:#080a08;animation:flight-open .3s both}.flight-image{position:absolute;inset:0;background-position:center;background-size:cover;opacity:.6;animation:flight-image 1.2s both}.flight-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#080a08 5%,#080a0844 70%)}.flight-meta{position:absolute;inset:25% 8% auto;display:grid;gap:18px;max-width:900px}.flight-meta b{font-family:'Barlow Condensed',sans-serif;font-size:clamp(60px,12vw,180px);line-height:1;color:var(--orange);animation:flight-type 1s both}.flight-meta span{font-size:14px;letter-spacing:.12em;animation:flight-type .6s .25s both}.flight-meta h2{font-size:clamp(28px,4vw,62px);animation:flight-type .6s .4s both}.case-arrival .detail-cover{animation:arrival-cover 1.35s both}.case-arrival .case-register{animation:flight-type .8s .35s both}.case-arrival .reading-paper{animation:flight-type .85s .5s both}.story-cinema{perspective:1600px}.story-composition{transform-style:preserve-3d}.story-copy{translate:calc(var(--mx,0px) * -.45) calc(var(--my,0px) * -.45)}.portrait-stage{translate:calc(var(--mx,0px) * 1.2) calc(var(--my,0px) * 1.2)}.story-year{translate:calc(var(--mx,0px) * -.8) 0}.timeline-camera{position:relative}.timeline-journey .time-stage{perspective:1200px;overflow:hidden}.timeline-journey .time-stage>div{position:relative;z-index:2}.timeline-journey .big-year{pointer-events:none}.timeline-camera:after{content:'';position:absolute;inset:auto 0 0;height:2px;background:var(--orange);transform:scaleX(var(--journey-progress,0));transform-origin:left;transition:transform .5s}
@media(min-width:801px) and (prefers-reduced-motion:no-preference){body:not(.motion-paused) .timeline-journey{height:500vh}body:not(.motion-paused) .timeline-camera{position:sticky;top:105px;min-height:calc(100vh - 115px);display:flex;flex-direction:column;justify-content:center}body:not(.motion-paused) .timeline-camera .time-stage{min-height:0;height:min(58vh,600px)}body:not(.motion-paused) .timeline-camera .time-photo{max-height:52vh}body:not(.motion-paused) .timeline-camera .time-console{margin-top:18px}}
@keyframes flight-open{from{opacity:0}to{opacity:1}}@keyframes flight-image{from{scale:1}to{scale:1.12}}@keyframes flight-type{from{opacity:0;transform:translateY(25px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes arrival-cover{from{transform:scale(1.07);filter:blur(3px)}to{transform:none;filter:blur(0)}}
@media(max-width:800px){.camera-instructions{max-width:85%;bottom:47px;font-size:12px}.camera-telemetry{top:90px;max-width:85%;font-size:11px}.camera-telemetry strong{font-size:16px}.flight-meta{inset:28% 6% auto}.timeline-journey{height:auto}.timeline-camera{position:static}.story-copy,.portrait-stage,.story-year{translate:none}}
.motion-paused .story-copy,.motion-paused .portrait-stage,.motion-paused .story-year{translate:none}.motion-paused .case-flight{display:none}.motion-paused .case-departure main{transform:none;filter:none;opacity:1}
@media(prefers-reduced-motion:reduce){.case-flight{display:none}.case-arrival *{animation:none!important}.story-copy,.portrait-stage,.story-year{translate:none}.camera-scene .map-city,.timeline-camera:after{transition:none}}
