:root{color:#e7edf0;background:#030608;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}#stage{background:#0b1016;width:min(100vw,177.778vh);height:min(100vh,56.25vw);margin:auto;position:absolute;inset:0;overflow:hidden;container-type:inline-size}#game,#ui{position:absolute;inset:0}#game canvas{display:block}#ui{pointer-events:none;font-size:1.12cqw}button,input,a{pointer-events:auto}button{color:#dae5e9;font:inherit;cursor:pointer;background:#0b141bdb;border:1px solid #8aa3b03d;padding:1.05cqw 1.35cqw;transition:background .15s}button:hover,button:focus-visible{background:#233b48;border-color:#a1d9df;outline:none}button:disabled{opacity:.4;cursor:default}.primary{color:#101e24;background:#b5d6d8;border-color:#c3e3e4;font-weight:700}.primary:hover{color:#101e24;background:#ddf5f3}.hidden{display:none!important}.veil{pointer-events:auto;background:linear-gradient(90deg,#03080df5,#071016b8 37%,#0710160a 85%);position:absolute;inset:0}.menu-copy{width:37%;padding:6.3% 0 0 6.5%}.eyebrow{letter-spacing:.25em;color:#a2c3cb;margin-bottom:1.5cqw;font-size:.83cqw}h1{letter-spacing:-.045em;margin:0;font-size:7.4cqw;font-weight:800;line-height:.9}h1 em{color:#bddbda;font-style:normal}p{color:#a5b6bf;font-size:1.07cqw;line-height:1.65}.menu-copy>p{margin:2cqw 0}.menu-copy button{text-align:left;width:100%;margin:.55cqw 0;display:block}.menu-copy button span{float:right;color:#8aa3ad}.tiny{color:#91a5b1;font-size:.8cqw;line-height:1.5}.menu-caption{letter-spacing:.18em;color:#bacbd2;font-size:.9cqw;position:absolute;bottom:5%;left:6.5%}.menu-caption span{color:#718792;margin-left:3cqw}#sound-toggle{z-index:15;padding:.55cqw .8cqw;font-size:.76cqw;position:absolute;bottom:2%;right:2%}.modal{z-index:20;pointer-events:auto;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#02090ee8;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.dialog{background:#101c25;border:1px solid #819eae44;width:58%;max-height:91%;padding:3cqw;overflow:auto;box-shadow:0 2cqw 6cqw #0008}.dialog.compact{width:37%}h2{letter-spacing:-.04em;margin:.4cqw 0 1.5cqw;font-size:2.8cqw}h3{margin:1cqw 0;font-size:1.7cqw}.dialog button{margin:.4cqw}.dialog li{color:#c4d2d8;padding:.25cqw;font-size:1.04cqw;line-height:1.65}.keys{border-top:1px solid #ffffff20;padding-top:1cqw}a{color:#b8dadd}.presets{display:flex}.setting{grid-template-columns:1fr 4cqw;gap:.4cqw;padding:.6cqw 0;font-size:.95cqw;display:grid}.setting output{text-align:right;color:#b7d8dc}.setting input{accent-color:#b4d5d7;grid-column:1/3;width:100%}#settings{grid-template-columns:1fr 1fr;gap:0 2cqw;display:grid}.volume-label{margin:2cqw 0;display:block}.volume-label input{accent-color:#b4d5d7;width:100%;margin-top:1cqw;display:block}#hud{z-index:12;background:linear-gradient(#051019ed,#05101944);justify-content:space-between;align-items:center;height:10%;padding:1.5% 2.5%;display:flex;position:absolute;top:0;left:0;right:0}.brand{letter-spacing:.2em;font-size:1.4cqw}.brand span{color:#79939f;margin-top:.4cqw;font-size:.54cqw;display:block}.air{grid-template-columns:1fr auto;gap:.45cqw;width:24%;display:grid}.air>span{letter-spacing:.15em;color:#b6c9d2;font-size:.8cqw}.air strong{font-size:1.4cqw}.track{background:#55687255;grid-column:1/3;height:.23cqw}.track i{background:#b8deda;height:100%;transition:width .15s;display:block}.status{align-items:center;gap:1.5cqw;font-size:.85cqw;display:flex}.status strong{font-size:1.65cqw}.status button{padding:.4cqw .65cqw}.danger{color:#ffa28f!important}#actions{z-index:11;justify-content:center;gap:.6cqw;display:flex;position:absolute;bottom:4.7%;left:3%;right:14%}#actions button{background:#071017de;padding:1.1cqw;font-size:.97cqw}#actions .primary{color:#d7ede9;border-color:#b8d5d6}kbd{font:inherit;color:#829ba8;border:1px solid #8ba3ae44;margin-left:.4cqw;padding:.1cqw .3cqw;font-size:.7cqw}#hold-door:active{background:#49616c}#notice{color:#e1d1b4;z-index:14;white-space:nowrap;background:#1f1711dd;border:1px solid #9d775747;padding:.7cqw 1.3cqw;font-size:.95cqw;position:absolute;top:12%;left:50%;transform:translate(-50%)}#mode-caption{white-space:nowrap;z-index:11;background:#071017df;border-left:2px solid #b6d6d2;padding:.8cqw 1.3cqw;position:absolute;bottom:16%;left:50%;transform:translate(-50%)}#tablet{z-index:8;border:1px solid #607a88;border-radius:.4cqw;position:absolute;inset:11.7% 2% 8%;overflow:hidden;box-shadow:0 0 0 1cqw #060c11ed,0 0 0 20cqw #02080b77}.tablet-top{background:#14242e;justify-content:space-between;align-items:center;height:6.2%;padding:.75cqw 1.6cqw;font-size:.9cqw;display:flex;position:absolute;top:0;left:0;right:0}.tablet-top strong{font-size:1.2cqw}.tablet-top strong span{color:#9bb1bc;margin-left:.5cqw;font-weight:400}.tablet-top>span{color:#8aa7b6;margin-right:29%}#tablet aside{background:#101c25;border-left:1px solid #536d7d66;width:27.6%;padding:2cqw 1.5cqw;position:absolute;top:6.2%;bottom:0;right:0}aside .eyebrow{font-size:.7cqw}.map{width:100%;height:43%;margin-top:2cqw;position:relative}.map svg{width:100%;height:100%;position:absolute;inset:0}.map path{stroke:#49616c;stroke-width:2px;fill:none}.map button{white-space:nowrap;width:45%;padding:.7cqw .2cqw;font-size:.74cqw;position:absolute}.map button.selected{color:#10222b;background:#aecfd1;border-color:#d2e9e6}.speaker{border-top:1px solid #3c5361;margin-top:1.6cqw;padding-top:1.4cqw}.speaker>span{letter-spacing:.13em;color:#93aab7;font-size:.6cqw}.speaker button{width:47%;padding:.8cqw .3cqw;font-size:.85cqw}.tablet-bottom{color:#8bc3b8;background:#10212a;justify-content:space-between;align-items:center;width:72.4%;height:8%;padding:.5cqw 1.5cqw;font-size:.7cqw;display:flex;position:absolute;bottom:0;left:0}.tablet-bottom button{padding:.5cqw 1cqw;font-size:.8cqw}#feed-message{color:#a8c1ce;letter-spacing:.1em;background:#09121b;flex-direction:column;justify-content:center;align-items:center;width:72.4%;display:flex;position:absolute;top:6.2%;bottom:8%;left:0}#feed-message strong{font-size:2cqw}#feed-message p{font-size:1cqw}.wave{color:#6ba3a1;font-size:3cqw;animation:1.5s infinite pulse}@keyframes pulse{50%{opacity:.3}}.result-copy{max-width:65%;position:absolute;top:25%;left:8%}.result-copy h1{font-size:5cqw}.result-copy p{max-width:42cqw;margin:2cqw 0;font-size:1.4cqw}.result-copy button{margin-right:1cqw}#result{z-index:13}#debug{color:#7ee4b2;z-index:30;background:#000c;font:12px monospace;position:absolute;bottom:1%;left:2%}.compact button{width:100%;display:block}button{touch-action:none;-webkit-user-select:none;user-select:none}input{cursor:pointer}@media (width<=700px){.dialog{width:80%}.dialog.compact{width:60%}.tiny{font-size:1cqw}#actions button{padding:1.2cqw;font-size:1.1cqw}}.game-subtitle{letter-spacing:.14em;color:#b8ced4;margin-top:1cqw;font-size:1.6cqw;line-height:1.3;display:block}.menu-copy{padding-top:5.3%}:root{--usable-w:calc(100dvw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));--usable-h:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}html,body{overscroll-behavior:none;-webkit-text-size-adjust:100%;width:100%;height:100%}#stage{touch-action:none}body{background:#030608}#stage{left:env(safe-area-inset-left,0px);right:env(safe-area-inset-right,0px);top:env(safe-area-inset-top,0px);bottom:env(safe-area-inset-bottom,0px);width:min(var(--usable-w),calc(var(--usable-h)*16/9));height:min(var(--usable-h),calc(var(--usable-w)*9/16));position:fixed}#fullscreen-toggle{z-index:15;padding:.6cqw .8cqw;font-size:.8cqw;position:absolute;bottom:8%;right:2%}#rotate-screen{display:none}#rotate-screen.visible{display:flex}#rotate-screen,#fullscreen-help{z-index:100;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));text-align:center;background:#071019f7;justify-content:center;align-items:center;position:fixed;inset:0}#fullscreen-help{z-index:110;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex}.rotate-card,.fullscreen-card{max-width:480px}.rotate-icon{color:#b5d6d8;font-size:80px}.rotate-card h2,.fullscreen-card h2{margin:18px 0;font-size:28px}.rotate-card p,.fullscreen-card p{font-size:16px;line-height:1.6}.rotate-card button,.fullscreen-card button{min-height:48px;margin-top:12px;padding:12px 20px;font-size:16px}.touch-ui button{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.touch-ui #ui{font-size:14px}.touch-ui kbd,.touch-ui .keys{display:none}.touch-ui #hud{background:#071019df;height:52px;padding:4px 14px}.touch-ui .brand{letter-spacing:.1em;font-size:15px}.touch-ui .brand span{display:none}.touch-ui .air{gap:3px;width:26%}.touch-ui .air>span{font-size:10px}.touch-ui .air strong{font-size:18px}.touch-ui .track{height:3px}.touch-ui .status{gap:10px;font-size:11px}.touch-ui .status strong{font-size:18px}.touch-ui .status button{width:44px;height:44px;padding:0}.touch-ui #actions{justify-content:center;gap:6px;bottom:8px;left:10px;right:10px}.touch-ui #actions button{flex:1;max-width:205px;min-height:46px;padding:8px 12px;font-size:13px;line-height:1.15}.touch-ui #hold-door{border-color:#a9d2ce;background:#17343ee8!important}.touch-ui #mode-caption{white-space:normal;text-align:center;width:max-content;max-width:90%;padding:8px 12px;font-size:12px;bottom:66px}.touch-ui #notice{white-space:normal;text-align:center;max-width:90%;padding:6px 10px;font-size:12px;top:56px}.touch-ui #sound-toggle,.touch-ui #fullscreen-toggle{background:#0b161ee6;min-height:44px;padding:8px 12px;font-size:12px}.touch-ui #sound-toggle{bottom:65px;right:10px}.touch-ui #fullscreen-toggle{bottom:65px;left:10px;right:auto}.touch-ui .menu-copy{width:43%;padding:4% 0 0 5%}.touch-ui .menu-copy .eyebrow{margin-bottom:8px;font-size:10px}.touch-ui .menu-copy h1{font-size:8cqw;line-height:.9}.touch-ui .game-subtitle{margin-top:6px;font-size:14px}.touch-ui .menu-copy>p{margin:8px 0;font-size:12px;line-height:1.4}.touch-ui .menu-copy button{min-height:40px;margin:4px 0;padding:6px 12px;font-size:13px}.touch-ui .tiny{font-size:10px}.touch-ui .menu-caption{font-size:10px;bottom:10px;left:5%}.touch-ui .menu-caption span{display:none}.touch-ui .dialog,.touch-ui .dialog.compact{overscroll-behavior:contain;touch-action:pan-y;width:min(90%,650px);max-height:94%;padding:18px}.touch-ui .dialog h2{margin:6px 0 12px;font-size:25px}.touch-ui .dialog p,.touch-ui .dialog li{font-size:13px;line-height:1.5}.touch-ui .dialog .eyebrow{margin-bottom:10px;font-size:10px}.touch-ui .dialog button{min-height:44px;margin:3px;padding:8px 12px;font-size:13px}.touch-ui .setting{grid-template-columns:1fr 40px;gap:0;padding:5px 0;font-size:12px}.touch-ui .setting input{touch-action:pan-y;height:32px}.touch-ui #settings{gap:0 18px}.touch-ui .volume-label input{height:36px}.touch-ui .result-copy{max-width:85%;top:22%;left:7%}.touch-ui .result-copy h1{font-size:6cqw}.touch-ui .result-copy p{max-width:70cqw;margin:15px 0;font-size:14px}.touch-ui .result-copy button{min-height:44px;font-size:14px}.touch-ui #tablet{inset:58px 10px 6px}.touch-ui .tablet-top{height:30px;padding:4px 10px;font-size:10px}.touch-ui .tablet-top strong{font-size:13px}.touch-ui .tablet-top strong span{font-size:11px}.touch-ui .tablet-top>span{margin-right:28%}.touch-ui #tablet aside{overscroll-behavior:contain;touch-action:pan-y;flex-direction:column;width:27.6%;padding:6px 8px;display:flex;top:30px;overflow:auto}.touch-ui aside>.eyebrow{display:none}.touch-ui .map{flex-shrink:0;grid-template-rows:repeat(3,42px);grid-template-columns:1fr 1fr;gap:4px;height:auto;margin:0;display:grid}.touch-ui .map svg{display:none}.touch-ui .map button{white-space:normal;width:100%;height:42px;padding:4px 2px;font-size:10px;line-height:1.1;position:static!important}.touch-ui .speaker{border:0;flex-shrink:0;margin-top:auto;padding-top:4px}.touch-ui .speaker>span{display:none}.touch-ui .speaker h3{margin:4px 0;font-size:13px;line-height:1.2}.touch-ui .speaker button{width:48%;min-height:42px;padding:4px 2px;font-size:11px}.touch-ui .speaker p{min-height:13px;margin:4px 0;font-size:10px;line-height:1.3}.touch-ui .tablet-bottom{height:38px;padding:3px 8px;font-size:9px}.touch-ui .tablet-bottom button{min-height:32px;padding:4px 10px;font-size:12px}.touch-ui #feed-message{top:30px;bottom:38px}.touch-ui #feed-message strong{font-size:18px}.touch-ui #feed-message p{text-align:center;padding:0 12px;font-size:12px}.touch-ui .wave{font-size:25px}.touch-ui .menu-copy{width:46%;padding-top:14px}.touch-ui .menu-copy h1{font-size:6cqw}.touch-ui .menu-copy .eyebrow{margin-bottom:6px}.touch-ui .menu-copy>p{margin:6px 0;font-size:11px}.touch-ui .menu-copy button{min-height:38px;margin:3px 0}.touch-ui .menu-copy #load-status,.touch-ui .menu-caption{display:none}:is(.touch-ui #ui:has(#menu:not(.hidden)) #fullscreen-toggle,.touch-ui #ui:has(#menu:not(.hidden)) #sound-toggle){top:auto;bottom:12px}:is(.touch-ui #ui:has(#tablet:not(.hidden)) #sound-toggle,.touch-ui #ui:has(#tablet:not(.hidden)) #fullscreen-toggle){display:none}.touch-ui #ui:has(#menu:not(.hidden)) #fullscreen-toggle{left:auto;right:110px}@media (height<=370px) and (orientation:landscape){.touch-ui .menu-copy{padding-top:12px}.touch-ui .menu-copy h1{font-size:6cqw}.touch-ui .menu-copy .eyebrow{display:none}.touch-ui .menu-copy>p{margin:5px 0;font-size:11px}.touch-ui .menu-copy button{min-height:36px;margin:3px 0}.touch-ui #load-status{display:none}.touch-ui .map{grid-template-rows:repeat(3,36px)}.touch-ui .map button{height:36px}.touch-ui .speaker button{min-height:36px}.touch-ui .speaker p{font-size:9px}.touch-ui .speaker h3{font-size:11px}}
