:root{color-scheme:dark;font-family:system-ui,sans-serif;background:#0c0c10;color:#f5ebd8;font-synthesis:none;-webkit-text-size-adjust:100%;--ink: #f5ebd8;--subtle: #cfc6b7;--signal: #f7ce8c;--mint: #a4ffd8;--left: max(17px, env(safe-area-inset-left));--right: max(17px, env(safe-area-inset-right));--top: max(12px, env(safe-area-inset-top));--bottom: max(16px, env(safe-area-inset-bottom));--mono: ui-monospace, SFMono-Regular, Consolas, monospace}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--mint);outline-offset:4px}button:disabled{cursor:default;opacity:.38}[hidden]{display:none!important}.game{position:relative;width:100%;height:100vh;height:100dvh;min-height:0;overflow:hidden;isolation:isolate;background:#100e13;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}#scene,.flight-surface,.vignette,.overlay{position:absolute;inset:0}#scene{display:block;width:100%;height:100%}.flight-surface{touch-action:none;overscroll-behavior:none}.game[data-screen=flight] .flight-surface{cursor:crosshair}.vignette{pointer-events:none;background:linear-gradient(180deg,#090811c9 0,#0a09113d 12%,transparent 22%,transparent 71%,#09081063 100%)}.hud{position:absolute;inset:var(--top) var(--right) auto var(--left);z-index:4;display:flex;justify-content:space-between;align-items:center;gap:8px;pointer-events:none}.readout{display:grid;gap:3px}.readout-label,.phase,.pace{text-transform:uppercase;font:650 9px/1.2 var(--mono);letter-spacing:.16em;color:var(--subtle)}.chrono{font:650 clamp(18px,4.8vw,29px)/1 var(--mono);letter-spacing:-.045em;font-variant-numeric:tabular-nums;text-shadow:0 2px 10px #000}.hud-actions{display:flex;gap:6px;align-items:center}.control{min-height:44px;padding:0 10px;display:inline-flex;gap:7px;align-items:center;background:#13131be0;border:1px solid #fff1db33;border-radius:3px;color:var(--ink);pointer-events:auto;font-size:11px;font-weight:660}.control:hover:not(:disabled){border-color:#fff1db88}.pause-icon{width:8px;height:10px;border-inline:2px solid currentColor}.sound-icon{display:flex;align-items:center;gap:1.5px;height:11px;color:var(--mint)}.sound-icon i{width:1.5px;height:35%;background:currentColor}.sound-icon i:nth-child(2){height:75%}.sound-icon i:nth-child(3){height:100%}.sound-icon i:nth-child(4){height:54%}.control[aria-pressed=false] .sound-icon{color:#c7b9a6}.control[aria-pressed=false] .sound-icon i{height:15%}.telemetry{position:absolute;z-index:2;inset:calc(var(--top) + 53px) var(--right) auto var(--left);display:flex;justify-content:space-between;pointer-events:none}.phase,.pace{text-shadow:0 1px 4px #000,0 0 12px #000}.pace{color:var(--mint);text-align:right}.flight-prompt{position:absolute;z-index:2;left:50%;top:47%;width:max-content;max-width:calc(100% - 34px);transform:translate(-50%,-50%);font-size:clamp(13px,3.7vw,17px);font-weight:750;letter-spacing:.015em;text-align:center;padding:9px 13px;border:1px solid #c7f3e545;border-radius:3px;background:#11151de8;box-shadow:0 4px 25px #0c0c1090;pointer-events:none}.flight-prompt[data-tone=open]{border-color:#ffdaa6aa;color:#fff1cd}.flight-prompt[data-tone=danger]{border-color:#ff8f78aa;color:#ffd7c8}.cue-dot{width:6px;height:6px;display:inline-block;margin-right:5px;border-radius:50%;background:var(--mint);vertical-align:2px}[data-tone=open] .cue-dot{background:var(--signal);box-shadow:0 0 10px #ffd381c0}[data-tone=danger] .cue-dot{background:#ff846b}.release-meter{height:2px;margin-top:7px;background:#f5ebd840;overflow:hidden}.release-meter i{display:block;width:100%;height:100%;transform:scaleX(var(--quality, 0));transform-origin:left;background:var(--signal)}.target-marker,.next-marker{position:absolute;z-index:2;width:26px;height:26px;transform:translate(-50%,-50%);opacity:.92;pointer-events:none}.target-marker{background:linear-gradient(var(--mint),var(--mint)) left top / 7px 1px,linear-gradient(var(--mint),var(--mint)) left top / 1px 7px,linear-gradient(var(--mint),var(--mint)) right top / 7px 1px,linear-gradient(var(--mint),var(--mint)) right top / 1px 7px,linear-gradient(var(--mint),var(--mint)) left bottom / 7px 1px,linear-gradient(var(--mint),var(--mint)) left bottom / 1px 7px,linear-gradient(var(--mint),var(--mint)) right bottom / 7px 1px,linear-gradient(var(--mint),var(--mint)) right bottom / 1px 7px;background-repeat:no-repeat;filter:drop-shadow(0 0 4px #101315)}.target-marker[data-active=true]{--mint: #ffdfa6;width:34px;height:34px}.next-marker{border:1px dashed #d4ffec;width:13px;height:13px;transform:translate(-50%,-50%) rotate(45deg)}.target-marker[data-edge=true],.next-marker[data-edge=true]{width:10px;height:10px;border:solid var(--mint);border-width:2px 2px 0 0;background:none;transform:translate(-50%,-50%) rotate(calc(var(--heading, 0rad) + 45deg))}.overlay{z-index:3}.menu{display:flex;flex-direction:column;justify-content:flex-end;padding:max(78px,12vh) var(--right) calc(var(--bottom) + 12px) var(--left);background:linear-gradient(180deg,transparent 8%,#0d0c1325 33%,#100f18b0 58%,#100f18f0 79%)}.menu-copy,.menu-actions{max-width:580px;width:100%;margin-inline:auto}.menu h1{margin:0;color:#fff0d4;font-size:clamp(62px,17vw,134px);font-weight:950;line-height:.77;letter-spacing:-.095em;text-shadow:0 6px 35px #17101785}.menu h1 span{display:block;color:#ebad68}.menu-copy p{margin:21px 0 24px;color:var(--ink);font-weight:550;font-size:clamp(14px,4vw,18px)}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:51px;padding:0 17px;background:#f7ce8c;color:#24180f;border:1px solid transparent;border-radius:3px;font-size:16px;font-weight:850;text-align:left;box-shadow:0 6px 25px #20130d80}.primary:hover{background:#ffe0ae}.primary:active{transform:translateY(1px)}.primary span{width:11px;height:11px;border:solid currentColor;border-width:2px 2px 0 0;transform:rotate(45deg);margin-right:3px}.instructions{margin:12px 0 0;max-width:33ch;font-size:clamp(11px,3vw,13px);line-height:1.45;color:var(--subtle)}.key-instructions{display:none}.dialog{display:grid;align-items:end;padding:74px var(--right) calc(var(--bottom) + 12px) var(--left);background:linear-gradient(180deg,#100f1820,#100f184d 45%,#100f18cb)}.dialog-card{width:min(100%,420px);margin:0 auto;padding:20px;border:1px solid #f7ce8c54;border-radius:4px;background:#15131bf2;box-shadow:0 9px 42px #09070c94}.dialog-card h2{margin:0 0 17px;font-size:clamp(24px,7vw,39px);letter-spacing:-.055em;line-height:1}.dialog-card p{margin:0 0 16px;color:var(--subtle);font-size:14px;line-height:1.45}.dialog-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 18px}.dialog-card dt{color:var(--subtle);font-size:11px;font-weight:650}.dialog-card dd{margin:5px 0 0;font:650 clamp(17px,5vw,24px)/1 var(--mono);letter-spacing:-.055em}.result .dialog-card{border-color:#f7ce8c90}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(pointer:fine){.key-instructions{display:block}.touch-instructions{display:none}}@media(orientation:landscape){.menu{background:linear-gradient(90deg,#100f18e8 0,#100f18af 29%,transparent 73%);padding-bottom:calc(var(--bottom) + 8px)}.menu-copy,.menu-actions{max-width:min(39vw,500px);margin-inline:0 auto}.menu h1{font-size:clamp(51px,min(9vw,22vh),118px)}.menu-copy p{margin:14px 0 16px}.dialog{align-items:end;justify-items:start}.dialog-card{width:min(420px,53vw);margin-inline:0}.dialog-card h2{font-size:clamp(24px,6vh,42px)}.flight-prompt{top:46%}}@media(max-height:395px)and (orientation:portrait){.menu h1{font-size:min(17vw,15vh)}.menu-copy p{margin:12px 0}}.mission{display:grid;gap:4px}.mission .pace{text-align:left}.charge-bank{display:flex;align-items:center;height:17px;gap:5px;color:#d9f3b0;text-transform:uppercase;font:650 9px/1 var(--mono);letter-spacing:.1em;text-shadow:0 1px 7px #000}.charge-bank[data-required="1"] i:last-of-type{display:none}.charge-bank i{width:9px;height:9px;border:1px solid #ccf986ad;transform:rotate(45deg)}.charge-bank[data-charge="1"] i:first-of-type,.charge-bank[data-charge="2"] i{background:#d0f878;box-shadow:0 0 7px #b5ff5088}.charge-marker{--mint: #d5ff73;z-index:2;position:absolute;width:17px;height:17px;border:1px dashed var(--mint);transform:translate(-50%,-50%) rotate(45deg);pointer-events:none}.charge-marker[data-edge=true]{width:11px;height:11px;border:solid var(--mint);border-width:2px 2px 0 0;transform:translate(-50%,-50%) rotate(calc(var(--heading, 0rad) + 45deg))}.flight-prompt[data-tone=charge]{top:calc(var(--top) + 96px);border-color:#d5ff7388;color:#e8ffc2;font-size:12px}[data-tone=charge] .cue-dot{background:#d5ff73}.menu-copy p{max-width:34ch}
