/* The lever belongs to the picture. Only its silhouette takes pointer input. */
body[data-view=arrival]{user-select:none;-webkit-user-select:none}
.lever-scene{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
#descend{cursor:pointer;outline:0}.lever-target{fill:transparent;stroke:transparent;stroke-width:28;pointer-events:all}
.lever-glow{pointer-events:none;opacity:.48;filter:brightness(1.7) drop-shadow(0 0 8px #ffd080);transition:opacity .3s,filter .3s}
.lever-outline{fill:none;stroke:#f9ce77;stroke-width:1;opacity:.5}
.lever-label{font:500 13px Body,sans-serif;letter-spacing:2px;fill:#ffe1a0;opacity:0;transform:translateY(7px);transition:opacity .25s,transform .25s;paint-order:stroke;stroke:#09100d;stroke-width:3;pointer-events:none}
.lever-scene:has(#descend:hover) .lever-glow,.lever-scene:has(#descend:focus-visible) .lever-glow{opacity:1;filter:brightness(2) drop-shadow(0 0 13px #ffd080)}
#descend:hover .lever-label,#descend:focus-visible .lever-label{opacity:1;transform:none}
.lever-scene:has(#descend:focus-visible) .lever-outline{stroke-width:4;opacity:1}
body[data-view=descending] .entrance{transform:none!important;filter:none}
body[data-view=descending] .descent-shade{animation:none;opacity:0}
body[data-view=descending] #arrival-view{opacity:1}
body[data-view=descending] .arrival-copy,body[data-view=descending] .lever-scene,body[data-view=descending] header,body[data-view=descending] footer{pointer-events:none;opacity:0;transition:opacity .3s}
#descent-stage{position:fixed;inset:0;z-index:35;background:transparent;pointer-events:none}
#descent-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:circle(0% at 64% 46%)}
#descent-stage.moving #descent-film{animation:porthole-opens 1.3s cubic-bezier(.25,.65,.3,1) both}
@keyframes porthole-opens{from{clip-path:circle(0% at 64% 46%)}to{clip-path:circle(110% at 64% 46%)}}
.descent-instrument{position:absolute;top:5vh;left:5vw;font-size:9px;letter-spacing:.25em;color:#e6d2a2;opacity:0;text-shadow:0 2px 5px #000}
.moving .descent-instrument{opacity:1;transition:opacity .8s 1s}
.descent-track{height:2px;background:#ddc79f33;width:130px;margin-top:12px}.descent-track i{display:block;background:#d7b66e;width:var(--journey,0%);height:100%;transition:width .2s linear}
.descent-actions{position:absolute;left:5vw;right:5vw;bottom:4vh;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;text-shadow:0 2px 8px #000;pointer-events:auto}
.descent-actions>span{color:#dacaaa}.descent-actions button{font-size:11px;border-bottom:1px solid #e1c37b80;background:#02100ab8;padding:5px 15px;border-radius:2px}
#travel-status{z-index:40;font-size:12px;letter-spacing:.06em;text-shadow:0 2px 5px #000}
.dock-doors{position:fixed;inset:0;z-index:45;pointer-events:none;display:none;overflow:hidden}.dock-doors i{position:absolute;inset:0 50% 0 0;background:linear-gradient(90deg,#161c17,#292a20 40%,#111c17);border-right:3px ridge #826e48;box-shadow:inset -15px 0 60px #0008;transform:translateX(-101%)}.dock-doors i:last-child{inset:0 0 0 50%;border:0;border-left:3px ridge #826e48;transform:translateX(101%)}
.docking .dock-doors,.dock-opening .dock-doors{display:block}.docking .dock-doors i{animation:dock-close .45s ease-in both}.docking .dock-doors i:last-child{animation-name:dock-close-right}.dock-opening .dock-doors i{animation:dock-open .8s ease-out both}.dock-opening .dock-doors i:last-child{animation-name:dock-open-right}
@keyframes dock-close{to{transform:translateX(0)}}@keyframes dock-close-right{to{transform:translateX(0)}}@keyframes dock-open{from{transform:translateX(0)}to{transform:translateX(-101%)}}@keyframes dock-open-right{from{transform:translateX(0)}to{transform:translateX(101%)}}
.radio-console{position:absolute;top:calc(100% + 15px);width:100%;padding:0 3%}.radio-console .radio-stations{position:static;margin:0;justify-content:space-between;gap:8px}.radio-stations button{min-height:40px}
.radio-playback{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.radio-playback button{font-size:11px;padding:5px 0;color:#f1d39c;text-align:left;white-space:nowrap}.radio-playback button span{margin-left:7px}.radio-status{font-size:9px;color:#d0c5a9;line-height:1.5;text-align:right}.radio-progress{height:1px;background:#dab87c33;margin-top:4px}.radio-progress i{display:block;width:0;height:100%;background:#edcb88}
.broadcast-caption{margin-top:24px;padding-top:16px;border-top:1px solid #cfad6638;max-width:43ch}.broadcast-caption span{font-size:9px;letter-spacing:.06em;color:#d7bd84}.reveal-copy .broadcast-caption p{font:italic 20px Deco,serif;line-height:1.4;color:#ead6a6;margin:10px 0;opacity:.65;transition:opacity .3s}.broadcasting .broadcast-caption p{opacity:1}.broadcasting .signal{box-shadow:0 0 45px #ffc57060,inset 0 0 24px #ffc57044}
.reveal-next{display:inline-flex;align-items:center;gap:14px;margin-top:20px;font-size:11px;color:#efd6a0;border-bottom:1px solid #c2a26766}.stories-relic{bottom:30vh}
@media(max-width:700px){.entrance{background-position:right center}.arrival-copy{width:80vw;top:18%}#descend .lever-label{opacity:1;transform:none;font-size:13px}.lever-glow{opacity:.65}.descent-actions{bottom:6vh;gap:8px;flex-wrap:wrap}.descent-actions>span{font-size:9px}.descent-actions button{font-size:10px}.descent-instrument{top:4vh}.room-reveal .stories-relic{margin-bottom:155px}.radio-console{top:calc(100% + 10px)}.radio-status{font-size:8px}.radio-stations button{font-size:10px}.radio-playback button{font-size:10px}.reveal-copy .broadcast-caption p{font-size:22px}.broadcast-caption{margin-top:20px}.reveal-copy{padding-bottom:110px}}
.stills .lever-glow{transition:none}.stills .dock-doors{display:none}
@media(prefers-reduced-motion:reduce){#descent-stage{display:none}.dock-doors{display:none}}
