:root{color-scheme:dark;--paper:#e3ece7;--dim:#9bafa9;--mint:#92d9bf;--border:#344944}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#091218;color:var(--paper);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{min-height:600px;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:1px solid var(--border);color:var(--paper);background:#112127;border-radius:5px;padding:10px 15px}button:focus-visible,a:focus-visible{outline:3px solid var(--mint);outline-offset:5px}a{color:inherit;text-decoration:none}#room{position:fixed;inset:0;width:100%;height:100%;touch-action:none}.vignette{position:fixed;inset:0;background:linear-gradient(90deg,rgba(9,18,24,.86),transparent 64%),linear-gradient(0deg,#091218 2%,transparent 42%);pointer-events:none}.masthead{position:relative;z-index:3;padding:30px 42px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:13px;font-size:10px;line-height:1.7;letter-spacing:2.5px}.brand strong{font-size:12px;font-weight:600;letter-spacing:3px}.brand-mark{width:39px;height:42px;border:1px solid #789c8e;display:flex;align-items:center;justify-content:center;position:relative;font-size:26px;letter-spacing:0}.brand-mark span{font-size:15px;position:absolute;right:-5px;top:-8px;background:#091218;padding:0 2px}.header-actions{display:flex;align-items:center;gap:24px;font-size:11px}.local-badge{display:flex;gap:8px;align-items:center;color:#b2c7be}.local-badge i{display:block;width:6px;height:6px;border-radius:50%;background:var(--mint)}.header-actions button{background:#102026ab;font-size:11px}.intro{position:absolute;z-index:2;left:6.3vw;top:24%;max-width:490px;pointer-events:none}.intro button{pointer-events:auto}.eyebrow{font-family:ui-monospace,monospace;font-size:10px;letter-spacing:2px;color:var(--mint);margin:0 0 24px}.eyebrow span{display:block;margin-top:8px;color:#869d94;font-size:9px;letter-spacing:1.6px}h1{font-size:clamp(38px,4.6vw,68px);font-weight:400;line-height:1.06;letter-spacing:-3px;margin:0 0 22px}h1 em{font-family:Georgia,"Times New Roman",serif;color:var(--mint);font-weight:400}.intro-copy{color:#b0c0b9;font-size:14px;line-height:1.7;margin-bottom:26px}.walk-button{font-size:12px;border-color:#739e8b;display:flex;align-items:center;gap:34px;background:#152c29}.walk-button:hover{background:#244338}.room-status{font-size:10px;color:#9bafa9}.experiment-menu{position:absolute;z-index:3;bottom:75px;left:6.3vw;right:6.3vw;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.experiment-card{display:flex;align-items:center;gap:15px;padding:23px 20px;min-width:0;background:rgba(14,29,33,.94);border:1px solid #405950;border-radius:6px;transition:border-color .15s,background .15s}.experiment-card:hover{background:#19342e;border-color:var(--mint)}.card-number{font:11px ui-monospace,monospace;color:#82bda5;align-self:flex-start;padding-top:3px}.card-copy{display:grid;gap:6px}.card-copy strong{font-size:14px;font-weight:500}.card-copy small{font-size:11px;color:#a8bcb3}.card-type{margin-left:auto;font:8px ui-monospace,monospace;letter-spacing:1px;color:#a1bbb0}.card-arrow{font-size:20px;color:var(--mint)}.portal-card{border-color:#444c4a}.portal-card .card-arrow{color:#d2bb96}footer{position:absolute;left:6.3vw;right:6.3vw;bottom:29px;display:flex;justify-content:space-between;gap:20px;font:9px ui-monospace,monospace;color:#9cb2a8;letter-spacing:.5px}.keycap{border:1px solid #405950;padding:4px 6px;margin-right:6px;margin-left:9px;font-size:8px}.keycap:first-child{margin-left:0}.station-label{position:fixed;z-index:2;border:1px solid #4f8272;background:#101f24ec;padding:9px 14px;border-radius:3px;font:10px ui-monospace,monospace;color:#c1e8d5;white-space:nowrap;transform:translate(-50%,-100%)}.station-label span{display:block;margin-top:5px;color:#92afa0;font-size:8px}.station-label:hover{border-color:#bcf9dc}.reticle{display:none;position:fixed;left:50%;top:50%;width:5px;height:5px;border:1px solid #c7f5db;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.aim-link{position:absolute;top:56%;left:50%;transform:translateX(-50%);z-index:4;padding:13px 20px;background:#16342e;border:1px solid var(--mint);font-size:12px}.walking .intro,.walking .vignette{display:none}.walking .reticle{display:block}.walking .experiment-menu{bottom:66px;max-width:1000px;left:50%;right:auto;width:90%;transform:translateX(-50%)}.walking .experiment-card{padding:13px}.walking .card-copy small,.walking .card-type{display:none}.touch-controls{position:absolute;right:26px;bottom:200px;z-index:3;display:none;text-align:center;touch-action:none}.touch-controls button{width:44px;height:44px;padding:0;margin:3px;font-size:20px;user-select:none}.no-script{position:absolute;left:6.3vw;top:55%;max-width:350px;color:#e3ece7}body.no-webgl .intro{top:22%}body.no-webgl #room-mode{color:#d2bb96}[hidden]{display:none!important}@media(pointer:coarse){.touch-controls{display:block}footer .keycap{display:none}footer>span:first-child{max-width:170px}}@media(max-width:850px){.masthead{padding:22px 25px}.local-badge{display:none}.intro{left:7vw;top:22%}h1{font-size:48px}.experiment-menu{left:7vw;right:7vw;gap:9px}.experiment-card{padding:16px 12px;gap:8px}.card-type{display:none}.card-copy strong{font-size:12px}.card-copy small{font-size:10px}.card-arrow{font-size:16px}footer{left:7vw;right:7vw;font-size:8px}.station-label{font-size:9px;padding:8px}}@media(max-width:580px){body{min-height:650px;overflow:auto}.masthead{padding:19px 22px}.intro{top:16%;left:7vw}h1{font-size:43px}.eyebrow{margin-bottom:16px}.intro-copy{font-size:12px}.experiment-menu{grid-template-columns:1fr;bottom:65px;gap:7px}.experiment-card{padding:14px 16px}.card-copy{gap:4px}.card-copy small{font-size:10px}.card-type{display:block}.card-copy strong{font-size:13px}.card-arrow{margin-left:7px}.room-status{max-width:260px}.walking .experiment-menu{width:calc(100% - 190px);left:15px;transform:none;bottom:65px}.walking .card-number{display:none}.walking .card-copy strong{font-size:11px}.walking .card-arrow{margin-left:auto}.touch-controls{right:14px;bottom:335px}.walking .touch-controls{bottom:105px}.station-label{padding:7px}.station-label span{display:none}footer{bottom:23px;font-size:8px}footer>span:first-child{display:none}#room-mode{margin-left:auto}.walking .masthead .brand{visibility:hidden}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

@media(min-width:581px) and (max-width:1100px){.experiment-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.walking .experiment-menu{grid-template-columns:repeat(4,minmax(0,1fr))}.card-type{display:none}}
