.station-journey{position:absolute;inset:0;z-index:12;background:transparent;overflow:hidden}
.station-journey[hidden]{display:none}
.journey-film{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;object-fit:cover;object-position:60% 50%;opacity:0;transition:opacity .25s;background:#080b0d}
.journey-film[hidden]{display:none}
.is-video-playing .journey-film{opacity:1}
.is-video-playing .journey-camera,.is-video-playing .journey-light,.is-video-playing .journey-caption{visibility:hidden}
.is-video-playing .journey-room{z-index:1}
.journey-camera{position:absolute;inset:0;opacity:0;transition:opacity .55s;overflow:hidden}
.is-ready .journey-camera{opacity:1}
.journey-world{position:absolute;transform-origin:0 0;will-change:transform;background:#080a0c}
.journey-world>.journey-landscape{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block}
.journey-actor{position:absolute;transform-origin:50% 95.5%;will-change:transform;opacity:0;transition:opacity .45s}
.is-ready .journey-actor{opacity:1}
.journey-body{position:absolute;inset:0;transform-origin:50% 65%}
.journey-part{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;transform-origin:50% 64%;filter:brightness(.90) saturate(.86)}
.journey-torso{clip-path:polygon(0 0,100% 0,100% 43%,70% 43%,62% 65%,36% 65%,28% 44%,0 44%)}
.journey-arm-left{clip-path:polygon(29% 42%,38% 46%,35% 60%,36% 68%,30% 75%,21% 72%,22% 55%);transform-origin:34% 45%}
.journey-arm-right{clip-path:polygon(61% 41%,70% 43%,81% 66%,78% 75%,68% 74%,60% 55%);transform-origin:65% 45%}
.journey-leg-left{clip-path:polygon(35% 62%,49% 63%,49% 79%,48% 95%,29% 95%,29% 82%,34% 75%);transform-origin:42% 65%}
.journey-leg-right{clip-path:polygon(51% 62%,64% 63%,66% 80%,71% 98%,47% 98%,49% 80%);transform-origin:57% 66%}
.journey-shadow{position:absolute;left:27%;right:25%;bottom:1.7%;height:4%;border-radius:50%;background:#05060788;filter:blur(5px);transform:rotate(-4deg)}
.is-striding .journey-body{animation:zunoWalkBob .74s ease-in-out infinite}
.is-striding .journey-leg-left{animation:zunoWalkLeg .74s ease-in-out infinite}
.is-striding .journey-leg-right{animation:zunoWalkLeg .74s -.37s ease-in-out infinite}
.is-striding .journey-arm-left{animation:zunoWalkArm .74s -.37s ease-in-out infinite}
.is-striding .journey-arm-right{animation:zunoWalkArm .74s ease-in-out infinite}
.is-striding .journey-camera{animation:followingFootsteps .74s ease-in-out infinite}
.is-at-hatch .journey-actor{opacity:0;transition:opacity .55s}
.journey-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 58% 55%,#f8ddab77,transparent 68%);opacity:0;transition:opacity .55s}
.is-at-hatch .journey-light{opacity:1}
.journey-room{position:absolute;inset:0;background:#090b0d url('./assets/zuno-station-interior-v15.png') 60% 50%/cover no-repeat;opacity:0;transform:scale(1.05);transition:opacity .7s,transform 1s cubic-bezier(.2,.7,.3,1)}
.is-inside .journey-room{opacity:1;transform:scale(1)}
.journey-caption{position:absolute;left:5%;bottom:40px;display:grid;gap:7px;color:#e8dfce;text-shadow:0 2px 15px #000;font:9px/1.5 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase;opacity:0;transition:opacity .4s}
.journey-caption span{color:#b6b4a9;font-size:7px}
.is-ready .journey-caption{opacity:1}.is-inside .journey-caption{opacity:0}
.journey-skip{position:absolute;right:5%;bottom:36px;z-index:2;background:#1114159e;color:#d4d2c9;border:1px solid #b9b5a52e;padding:10px 14px;cursor:pointer;font:9px 'DM Mono',monospace;backdrop-filter:blur(10px)}
.journey-skip:focus-visible{outline:2px solid #e5e9b1;outline-offset:4px}
.is-walking-to-station>.intro-copy,.is-walking-to-station>.intro-caption,.is-walking-to-station>.intro-footer,.is-walking-to-station>.intro-masthead{opacity:0;pointer-events:none;transition:opacity .35s}
@keyframes zunoWalkLeg{0%,100%{transform:rotate(-5deg) translateY(-.4%)}50%{transform:rotate(5deg) translateY(.4%)}}
@keyframes zunoWalkArm{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes zunoWalkBob{0%,50%,100%{transform:translateY(0) rotate(-.35deg)}25%,75%{transform:translateY(-.5%) rotate(.35deg)}}
@keyframes followingFootsteps{0%,50%,100%{translate:0 0}25%,75%{translate:0 1px}}
@media(max-width:700px){.journey-caption{left:6%;bottom:32px;font-size:7px;max-width:50%}.journey-caption span{font-size:6px}.journey-skip{right:6%;bottom:30px}.journey-room{background-position:69% 50%}}
@media(prefers-reduced-motion:reduce){.station-journey *{animation:none!important;transition:none!important}}
