:root{color-scheme:dark;font-family:system-ui,sans-serif;background:#111;color:#eee}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;min-height:44px;min-width:44px;cursor:pointer;color:inherit;background:#262626;border:1px solid #666;border-radius:4px}
button:focus-visible{outline:2px solid #b9dff5;outline-offset:3px}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}
#stage{position:relative;width:100vw;height:100dvh;overflow:hidden;background:#080808;outline:none}
#poster,#film,#desk-prelude{position:absolute;width:100%;height:100%;inset:0;object-fit:contain}
#desk-prelude{z-index:1}
#action{position:absolute;background:transparent;border:0;border-radius:0;padding:0;min-height:44px;min-width:44px;z-index:3;color:transparent;font-size:0;outline:none}
#action:hover,#action:focus-visible{background:transparent;border:0;outline:none;box-shadow:none}
#action-glow{position:absolute;z-index:2;pointer-events:none;mix-blend-mode:screen}
.action-contour{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.action-contour-surface{fill:#fff;stroke:none;opacity:0;transition:opacity .16s ease-out}
#action:hover+#action-glow .action-contour-surface,#action:focus-visible+#action-glow .action-contour-surface{opacity:.18;animation:interaction-breathe 1.8s ease-in-out infinite}
#action:hover+#action-glow.book .action-contour-surface,#action:focus-visible+#action-glow.book .action-contour-surface{--glow-low:.055;--glow-high:.18;opacity:.14}
#robotics-transition{position:absolute;inset:0;z-index:5;background:#fff;opacity:0;pointer-events:none}
.sound-control{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:44px;height:44px;border:0;border-radius:50%;display:grid;place-items:center;padding:10px;background:rgba(9,12,13,.44);backdrop-filter:blur(5px);z-index:30}
.sound-control:hover{background:rgba(9,12,13,.64)}
.sound-control svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sound-control .speaker{fill:currentColor;stroke:none}.sound-control .sound-off{display:none}
.sound-control[aria-pressed="false"] .sound-waves{display:none}.sound-control[aria-pressed="false"] .sound-off{display:block}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#recovery{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:20;max-width:calc(100vw - 40px);padding:18px 22px;background:rgba(12,15,17,.90);border-radius:10px;text-align:center;box-shadow:0 8px 32px rgba(0,0,0,.3)}
#recovery p{margin:0 0 12px;font-size:14px;line-height:1.5}#retry{padding:0 20px}
@keyframes interaction-breathe{0%,100%{opacity:var(--glow-low,.065)}50%{opacity:var(--glow-high,.24)}}
body[data-background="true"] .action-contour-surface,body[data-background="true"] .object-contour{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.action-contour-surface{transition:none;animation:none!important}#desk-prelude{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

#closing{position:absolute;pointer-events:none;text-align:center;color:#faf6ed;text-shadow:0 1px 5px rgba(0,0,0,.8)}#closing p{margin:0;font-weight:400;line-height:1.25}#closing-primary{font-size:clamp(19px,2.2vw,32px);letter-spacing:.015em}#closing-secondary{font-size:clamp(12px,1.3vw,18px);margin-top:6px!important;color:#e5ded0;letter-spacing:.025em}


#memory-layer{position:absolute;inset:0;z-index:4;pointer-events:none}
#memory-shell{position:absolute;pointer-events:none}
#memory-window{position:relative;width:100%;margin:0;overflow:hidden;border:1px solid rgba(234,242,247,.55);border-radius:7px;background:#101418;box-shadow:0 14px 58px rgba(0,0,0,.42),0 0 18px rgba(225,242,255,.08);opacity:0}
#memory-window.visible{opacity:1}
#memory-image,#memory-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}

#coffee-recall{position:absolute;margin:0;z-index:4;pointer-events:none;overflow:hidden;border:1px solid rgba(234,242,247,.55);border-radius:7px;background:#101418;box-shadow:0 14px 58px rgba(0,0,0,.42),0 0 18px rgba(225,242,255,.08)}
#coffee-recall-image{display:block;width:100%;height:100%;object-fit:contain}

#lake-ambient,#explore-lake-ambient{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;opacity:0;transition:opacity .35s linear}
@media(prefers-reduced-motion:reduce){#lake-ambient,#explore-lake-ambient{transition:none}}


#scene-continuity{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2;pointer-events:none}
#return-daylight{position:absolute;inset:0;background:#f8fbff;opacity:0;z-index:5;pointer-events:none}


.lake-reflection{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
#memory-shell,#ride-shell{z-index:1}
