#hud>.arcade-bar{margin-bottom:8px}#hud{z-index:2}body .panel{--hud-space: var(--flight-hud-space, 280px);max-height:calc(100dvh - var(--hud-space) - 24px);top:calc(50% + (var(--hud-space) - 24px) / 2)}:root[data-theme=light]{color:#203b50;background:#eaf2f5;--flight-muted: #455c72;--flight-accent: #075f67;--flight-surface: #f3f8fa}:root[data-theme=light] #hud{background:linear-gradient(#eaf2f5fa,#eaf2f5ed);border-radius:0 0 12px 12px;padding-bottom:8px}:root[data-theme=light] .panel,:root[data-theme=light] dialog{background:var(--flight-surface);color:#203b50;border-color:#8cabbc}:root[data-theme=light] button,:root[data-theme=light] select,:root[data-theme=light] .file-button,:root[data-theme=light] .tools button{background:#e0eaf1;border-color:#8cabbc}:root[data-theme=light] button:hover{background:#cfdfe8}:root[data-theme=light] button[aria-pressed=true]{background:#c7e2df;border-color:#246a70}:root[data-theme=light] button.primary{background:#14636a;color:#f3ffff}:root[data-theme=light] button.primary:hover{background:#094d54}:root[data-theme=light] .primary span{color:#f3ffff}:root[data-theme=light] button span,:root[data-theme=light] .wordmark i,:root[data-theme=light] .telemetry strong span,:root[data-theme=light] .telemetry small,:root[data-theme=light] .label,:root[data-theme=light] .statusline,:root[data-theme=light] .eyebrow,:root[data-theme=light] h1 sup,:root[data-theme=light] p.tagline,:root[data-theme=light] .record-line,:root[data-theme=light] .instructions,:root[data-theme=light] details,:root[data-theme=light] summary,:root[data-theme=light] .menu-footer span,:root[data-theme=light] .compact p,:root[data-theme=light] dialog p{color:var(--flight-muted)}:root[data-theme=light] .wordmark,:root[data-theme=light] .instructions b{color:#203b50}:root[data-theme=light] .wordmark span,:root[data-theme=light] h1 span,:root[data-theme=light] .result-time{color:var(--flight-accent)}:root[data-theme=light] .record-line strong,:root[data-theme=light] #ghost-status{color:#654687}:root[data-theme=light] #hull,:root[data-theme=light] #load-error{color:#9e3342}:root[data-theme=light] #new-best{color:#785413}:root[data-theme=light] .progress{background:#a9becb}:root[data-theme=light] .progress>div{background:var(--flight-accent)}:root[data-theme=light] .menu-footer{border-color:#a9becb}:root[data-theme=light] textarea{background:#e8f2f5;color:#1c515c;border-color:#8cabbc}:root[data-theme=light] #controls{background:#eaf2f5ed;border-radius:16px;padding-block:10px}:root[data-theme=light] #stick{background:#cadde655;border-color:#607f91}:root[data-theme=light] #stick small,:root[data-theme=light] .energy-block small{color:var(--flight-muted)}:root[data-theme=light] #brake,:root[data-theme=light] #boost{background:#c7e2df;color:#203b50;border-color:#607f91}:root[data-theme=light] #brake.held,:root[data-theme=light] #boost.held{background:#14636a;color:#f3ffff}:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#e4f1ff;background:#0b1028;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0;overflow:hidden;overscroll-behavior:none}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,select,.file-button{font:inherit;border:1px solid #ffffff26;background:#17213a;color:inherit;border-radius:8px;min-height:44px;padding:10px 15px;cursor:pointer;touch-action:manipulation}button:hover{background:#263756}button:active{transform:translateY(1px)}button:focus-visible,summary:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #8df7e6;outline-offset:3px}button:disabled{opacity:.35;cursor:default}button[aria-pressed=true]{border-color:#8df7e6;background:#183b46}button b{display:block}button span{display:block;font-size:.73rem;color:#aebed2}button.primary{display:flex;align-items:center;justify-content:space-between;width:100%;background:#99f5df;color:#092e36;font-size:.87rem;letter-spacing:.1em;font-weight:800;min-height:54px;border:0;border-radius:5px}.primary span{color:#092e36;font-size:1.7rem}button.primary:hover{background:#c1ffec}[hidden]{display:none!important}#flight{display:block;width:100vw;height:100dvh;touch-action:none;outline:none}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(#080d20b8,transparent 35%,transparent 65%,#080d2088),radial-gradient(ellipse,transparent 40%,#0a0d2755)}#impact{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 90px #fc567a;opacity:0;transition:opacity .2s}body.hit #impact{opacity:.7}#hud{position:fixed;top:0;left:50%;transform:translate(-50%);width:min(100%,1000px);padding:calc(12px + env(safe-area-inset-top)) 20px 0;pointer-events:none}.topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.wordmark{color:#efffff;text-decoration:none;font-style:italic;font-size:.95rem;font-weight:900;letter-spacing:.05em;pointer-events:auto}.wordmark span{color:#8df7e6}.wordmark i{font-size:.55rem;font-weight:500;font-style:normal;letter-spacing:.15em;color:#9fabc3}.tools{display:flex;gap:8px;pointer-events:auto}.tools button{min-width:44px;padding:8px;background:#0e173077;font-size:1.1rem}.telemetry{display:flex;justify-content:space-between;margin-top:16px;gap:12px}.telemetry>div{flex:1}.telemetry strong{display:block;font-size:1.65rem;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1.4}.telemetry strong span{font-size:.8rem;color:#8196b1;letter-spacing:0}.telemetry small{font-size:.55rem;letter-spacing:.08em;color:#9eafc9}.label{display:block;font-size:.52rem;letter-spacing:.17em;color:#a3b6ce}.center-telemetry{text-align:center}.right-telemetry{text-align:right}.progress{height:2px;background:#74859c3d;margin-top:12px}.progress>div{height:100%;background:#8df7e6;width:0}.statusline{display:flex;justify-content:space-between;gap:8px;padding-top:8px;font-size:.5rem;letter-spacing:.07em;color:#a3b6ce}#hull{color:#ffc6bf;letter-spacing:3px;font-size:.65rem}#ghost-status{color:#d4b6f6}#callout{position:fixed;top:26%;left:10%;width:80%;text-align:center;color:#aaffdf;font-size:.8rem;letter-spacing:.13em;font-weight:650;text-shadow:0 2px 8px #071126;pointer-events:none}#controls{position:fixed;bottom:calc(22px + env(safe-area-inset-bottom));left:0;width:100%;padding:0 24px;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none;gap:14px}#stick{position:relative;width:100px;height:100px;border:1px solid #93bdd847;border-radius:50%;background:#243c4b33;flex-shrink:0;pointer-events:none}#stick:before,#stick:after{content:"";position:absolute;background:#acc6d929;left:50%;top:10%;width:1px;height:80%}#stick:after{transform:rotate(90deg)}#nub{position:absolute;left:32px;top:32px;width:34px;height:34px;border:1px solid #8bf4df77;border-radius:50%;background:#8bf4df33}#stick small{position:absolute;top:calc(100% + 8px);left:0;width:100%;text-align:center;font-size:.5rem;letter-spacing:.07em;color:#9db5cc}.energy-block{max-width:180px;flex:1;margin-bottom:10px;text-align:center}.energy-block .label{font-size:.5rem;letter-spacing:.04em}.energy-block small{font-size:.55rem;color:#8fa5bd}.energy-track{height:5px;background:#233f50;border-radius:6px;margin:8px 0}#energy{height:100%;width:100%;border-radius:6px;background:#a1f5df;transition:width .05s}.pedals{display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:auto}.pedals button{touch-action:none;user-select:none;-webkit-user-select:none}#brake{min-height:44px;font-size:.57rem;padding:8px 14px;background:#17223aaa;letter-spacing:.1em;border-radius:22px}#boost{height:78px;width:78px;border-radius:50%;background:#32656755;border:1px solid #9cf7e499;color:#bcffef;font-size:.56rem;letter-spacing:.1em}#boost b{font-size:1.8rem;line-height:1}#boost.held{background:#a6ffe2;color:#153b4a;box-shadow:0 0 30px #63ffe833}#brake.held{background:#496587}.panel{position:fixed;left:50%;top:53%;transform:translate(-50%,-50%);width:min(440px,calc(100% - 32px));background:linear-gradient(140deg,#15223af5,#0c122af5);border:1px solid #9fc8e22b;border-radius:14px;padding:28px;box-shadow:0 30px 90px #0008;max-height:calc(100dvh - 150px);overflow:auto;scrollbar-width:thin}.eyebrow{color:#a4b3c9;font-size:.5rem;letter-spacing:.17em;font-weight:650;margin:0 0 12px}h1{font-style:italic;font-size:3.7rem;font-weight:850;letter-spacing:-.085em;line-height:1;margin:0;white-space:nowrap}h1 span{color:#8df7e6}h1 sup{font-size:.62rem;color:#c5c8db;letter-spacing:0;vertical-align:top;margin-left:8px;font-style:normal}p.tagline{font-size:.87rem;color:#c1cede;margin:14px 0 23px}.course-picker{display:flex;gap:8px}.course-picker button{flex:1;text-align:left;padding:12px 10px}.course-picker b{font-size:.74rem;font-weight:650}.course-picker span{font-size:.59rem;margin-top:5px;line-height:1.4}.record-line{display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-size:.55rem;color:#a3b7ce;letter-spacing:.05em}.record-line strong{font-size:.75rem;color:#dfc7ff}.instructions{font-size:.66rem;line-height:1.7;color:#9fb3cd;margin:17px 0}.instructions b{color:#d9e8f2;font-weight:500}details{font-size:.65rem;color:#a6bad0;line-height:1.6;margin-top:12px}summary{cursor:pointer;min-height:32px;display:flex;align-items:center;color:#bacbdc}summary:before{content:"＋";margin-right:5px}details[open] summary:before{content:"−"}.menu-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;border-top:1px solid #ffffff15;padding-top:10px;gap:8px}.menu-footer button{font-size:.6rem;padding:8px;min-height:36px}.menu-footer span{font-size:.43rem;letter-spacing:.07em;color:#8aa1b9;text-align:right;max-width:180px}.compact h2{font-size:2rem;letter-spacing:-.045em;margin:10px 0}.compact p{font-size:.8rem;line-height:1.6;color:#abbfd5}.row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.row>button,.row>.file-button{flex:1;white-space:nowrap;font-size:.7rem}.row .primary{width:auto}.result-time{display:block;color:#a3ffe3;font-size:3.1rem;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:-.06em}#new-best{color:#f3dd99;font-weight:600}dialog{width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 28px);background:#111d33;color:#d5e3ef;border:1px solid #7eacc74a;border-radius:12px;padding:20px}dialog::backdrop{background:#050818c9}dialog p{font-size:.75rem;line-height:1.6;color:#aebfd0}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{font-size:1.1rem}.dialog-head button{font-size:1.3rem}label{font-size:.7rem;margin-right:10px}select{font-size:.75rem}textarea{display:block;width:100%;height:40dvh;min-height:140px;resize:vertical;background:#081426;border:1px solid #38516a;border-radius:6px;color:#b8e7e1;font:12px/1.5 ui-monospace,monospace;padding:12px;margin-top:14px}#load-error{color:#ffb9ba;margin:8px 0;min-height:1em}.file-button{display:flex;align-items:center;justify-content:center;margin:0}input[type=file]{display:none}@media(min-width:900px){#controls{max-width:1000px;left:50%;transform:translate(-50%);bottom:35px}.energy-block{max-width:220px}.telemetry strong{font-size:2rem}.panel{padding:32px;width:460px}h1{font-size:4rem}}@media(max-height:600px){.panel{top:55%;max-height:calc(100dvh - 90px);padding:20px}.telemetry{margin-top:3px}.telemetry strong{font-size:1.1rem}.telemetry small,.statusline{display:none}.progress{margin-top:4px}.topline{height:38px}#callout{top:27%;font-size:.65rem}#controls{bottom:18px}#stick{width:76px;height:76px}#nub{left:20px;top:20px}#boost{width:64px;height:64px}.pedals{flex-direction:row}h1{font-size:2.7rem}.eyebrow{margin-bottom:7px}#hud{padding-top:8px}}@media(max-width:350px){.panel{padding:20px}h1{font-size:3.2rem}#controls{padding:0 14px;gap:9px}#stick{width:86px;height:86px}#nub{left:25px;top:25px}.wordmark i{display:none}.label{font-size:.46rem}#ghost-status{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}#impact{box-shadow:inset 0 0 30px #fc567a}}
