:root{color-scheme:dark;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eaf8ff;background:#060b12;font-synthesis:none;--accent:#76e6ff;--muted:#9bb2c4}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{color:inherit;cursor:pointer;border:1px solid #96dbef30;background:#0c202dba;padding:.7rem 1rem;border-radius:4px}button:hover{background:#173b4d;border-color:#76e6ff80}button:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{opacity:.5;cursor:wait}button:active{transform:translateY(1px)}[hidden]{display:none!important}#game{height:100dvh;min-height:430px;position:relative;overflow:hidden}#canvas{display:block;width:100%;height:100%;outline:none!important}.cover{position:absolute;inset:0;display:grid;place-items:center;z-index:5}#loading{background:#050914}#loading img{height:100%;width:100%;object-fit:cover;opacity:.55}.load-caption{position:absolute;bottom:12%;text-align:center;width:min(420px,80%)}.load-caption>span{font-size:1.6rem;letter-spacing:.2em}.load-caption b{color:var(--accent)}progress{width:100%;height:3px;accent-color:var(--accent)}#load-status{color:#bfd5e4;font-size:.9rem}#menu{background:linear-gradient(90deg,#030b16dc 0%,#040c1880 38%,transparent 76%);place-items:center start;padding:4vw}.menu-body{width:min(470px,100%);text-align:left;padding:1rem}.eyebrow{font-size:.75rem;letter-spacing:.23em;color:var(--accent);margin:0 0 1rem}h1{font-size:clamp(2.7rem,5.5vw,5rem);font-weight:800;line-height:.95;letter-spacing:-.065em;margin:0 0 1.7rem;text-shadow:0 4px 25px #0008}h1 span{display:block;color:var(--accent);font-weight:300;letter-spacing:-.04em;font-size:.75em;margin-top:.5rem}.best{font-size:.8rem;letter-spacing:.14em;color:var(--muted);margin:1.5rem 0}.best b{color:#fff;margin-left:1rem;font-weight:500;font-variant-numeric:tabular-nums}.launch-options{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;letter-spacing:.06em;margin:1rem 0 .6rem}.launch-options button{border:0;background:transparent;font-size:1.5rem;padding:.3rem .6rem}.primary{display:flex;justify-content:space-between;align-items:center;width:100%;background:#9deaff;color:#061925;border:0;border-radius:3px;font-weight:650;padding:1rem 1.1rem}.primary:hover{background:#c4f4ff}.primary kbd{color:#183b4b;font-size:.8rem;font-weight:400}kbd{font-family:inherit}.options{display:flex;gap:.3rem;margin:.6rem 0 1.5rem}.options button{font-size:.75rem;padding:.55rem .6rem;flex:1;background:#05111c9c}.connection{font-size:.8rem;color:#c0d8e4}.control-guide{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1rem;font-size:.8rem;color:#c3d8e6}.control-guide b{display:inline-block;width:4.8rem;color:var(--accent);font-size:.75rem;font-weight:500}.keyboard-guide{font-size:.75rem;line-height:1.8;color:var(--muted);max-width:390px}#hud{position:absolute;inset:0 0 auto;display:flex;align-items:start;justify-content:space-between;padding:1.4rem 2rem;background:linear-gradient(#030912a8,transparent);pointer-events:none}small{font-size:.75rem;letter-spacing:.15em;color:var(--muted);display:block}#hud strong{font-size:1.7rem;font-weight:500;line-height:1.25;font-variant-numeric:tabular-nums;letter-spacing:.03em}.score{min-width:100px}.sector{text-align:center}.sector>span{display:block;font-size:.875rem;letter-spacing:.12em;margin-top:.5rem;color:var(--accent)}.reserves{position:relative;padding-right:3.4rem;text-align:right}.reserves button{position:absolute;right:0;top:0;pointer-events:auto;background:#050e1890;border:0;font-size:1.2rem;padding:.5rem .7rem}#practice{color:#ffdca5;margin-left:.5rem}#bottom-hud{position:absolute;bottom:1.5rem;left:2rem;right:2rem;display:flex;align-items:end;justify-content:space-between;pointer-events:none}.left-status{display:flex;align-items:center;gap:1rem}#radar{width:100px;height:100px;opacity:.8}.left-status span{font-size:.75rem;color:var(--accent);letter-spacing:.12em}.left-status small{font-size:.75rem;margin-top:.5rem;letter-spacing:.08em}.track{text-align:right;padding-bottom:2.6rem}.track span{font-size:.75rem;letter-spacing:.07em;color:#b8cbd5}.track small{margin-bottom:.4rem}#banner{position:absolute;top:20%;width:100%;text-align:center;pointer-events:none;font-size:clamp(1rem,2vw,1.7rem);letter-spacing:.15em;text-shadow:0 2px 15px #000;white-space:pre-line;line-height:1.7}.dim{background:#030a14c9;backdrop-filter:blur(12px)}.dialog{width:min(390px,90%);padding:1rem}.dialog h2,dialog h2{font-size:2.7rem;letter-spacing:-.04em;font-weight:500;margin:.5rem 0 1rem}.dialog>p:not(.eyebrow){color:var(--muted);font-size:.875rem;line-height:1.5}.dialog label{display:block;font-size:.875rem;margin:1.4rem 0}.dialog output{float:right;color:var(--accent)}input[type=range]{display:block;width:100%;margin:.7rem 0;accent-color:var(--accent)}.dialog label.selected{color:var(--accent)}.text-button{width:100%;display:flex;justify-content:space-between;margin-top:.7rem;background:transparent;border:0;font-size:.875rem}.hint{font-size:.75rem!important}.final-score{font-size:3rem!important;color:#fff!important;margin:1.5rem 0 0}.utility{position:absolute;bottom:1rem;right:1.5rem;display:flex;gap:.3rem;z-index:6}.utility button{font-size:.8rem;padding:.5rem .7rem;background:#040d1880;border:0;color:#bfd2dc}dialog{color:inherit;background:#091622;border:1px solid #76e6ff40;border-radius:8px;max-width:540px;padding:2rem;max-height:90dvh;overflow:auto}dialog::backdrop{background:#02060dca}dl{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem;font-size:.875rem;line-height:1.4}dt{color:var(--accent)}dd{margin:0;color:#bed0dc}dialog p{font-size:.875rem;line-height:1.6;color:var(--muted)}@media(max-width:700px){#menu{place-items:center;padding:1rem;background:#030b168c}.menu-body{max-width:390px}h1{font-size:3rem}#hud{padding:1rem}.sector{max-width:130px}.sector>span{font-size:.75rem}#bottom-hud{left:.8rem;right:.8rem;bottom:1rem}#radar{width:76px;height:76px}.track{display:none}.left-status{gap:.5rem}.utility{right:.5rem;bottom:.7rem}.utility span{display:none}.keyboard-guide{font-size:.75rem}.dialog h2{font-size:2rem}}@media(max-height:650px){#menu{padding:.5rem 3vw}.menu-body{padding:.5rem}.eyebrow{margin-bottom:.6rem}h1{font-size:2.6rem;margin-bottom:.7rem}h1 span{display:inline;font-size:.8em;margin-left:.4rem}.best{margin:.8rem 0}.options{margin-bottom:.5rem}.connection{margin:.6rem 0}.keyboard-guide{margin-bottom:0}.dialog{padding:.4rem}.dialog label{margin:.8rem 0}.dialog h2{font-size:2rem}.dialog>p{margin:.5rem 0}#radar{width:72px;height:72px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

#enter-vr{background:#8fe7ff;color:#071923;font-weight:650;border:1px solid #b8f0ff}#vr-status{position:absolute;right:1.6rem;bottom:4.2rem;z-index:7;max-width:min(400px,85vw);color:#bfe9f4;font-size:.875rem;text-shadow:0 2px 8px #000;pointer-events:none}.immersive .cover,.immersive #hud,.immersive #bottom-hud,.immersive #banner,.immersive .utility{display:none!important}

#vr-graphics{display:flex;gap:1rem;margin:.7rem 0}#vr-graphics label{font-size:.8rem;color:var(--muted);flex:1}#vr-graphics select{display:block;margin-top:.3rem;padding:.45rem;width:100%;font:inherit;color:#eaf8ff;background:#0a1c2a;border:1px solid #96dbef40;border-radius:4px}#vr-graphics select:focus-visible{outline:2px solid var(--accent)}

#controller-dialog{width:min(620px,94vw)}#controller-dialog h2{font-size:2rem}#controller-device{width:100%;margin:.5rem 0 1rem;background:#0e2433;color:#eaf8ff;border:1px solid #76e6ff60;padding:.6rem;font:inherit}#controller-prompt{color:#9deaff;font-size:1.1rem;min-height:3em}#controller-instructions{min-height:3em}.controller-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.controller-actions button{font-size:.875rem}#controller-preview{display:block;white-space:pre-line;line-height:1.7;color:#b6e9f6;font-size:.875rem;min-height:4em;margin:1rem 0}#controller-deadzone-value{float:right}#controller-dialog details{margin:1rem 0;color:var(--muted);font-size:.875rem}#controller-raw{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.75rem}.immersive #controller-dialog{display:none}
