@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700;800&display=swap";:root{--ink:#080c12;--paper:#edf1f4;--muted:#95a8b5;--blue:#9cddff;--red:#ff4054;--gold:#e3b37c;--glass:rgba(6,13,22,.52)}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:#080b10;color:var(--paper);font-family:Inter,system-ui,sans-serif}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:none;color:inherit}button:focus-visible{outline:2px solid #bcecff;outline-offset:4px}#viewport{position:absolute;inset:0}#viewport canvas{display:block;width:100%;height:100%}.hidden{display:none!important}.menu{position:absolute;inset:0;z-index:30;overflow:auto;background:#080d17}.menu-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,#050910fa,#050910e8 32%,#05091038 85%),linear-gradient(0deg,#050810 0%,transparent 33%),url(/art/key-art.png) center/cover no-repeat;filter:saturate(.7)}.menu-content{position:relative;margin-left:clamp(30px,8vw,140px);padding:clamp(45px,10vh,115px) 12px 45px 0;max-width:520px}.eyebrow{font-family:Barlow Condensed,sans-serif;font-size:14px;letter-spacing:.27em;font-weight:700;color:#b1c7d4;display:flex;align-items:center;gap:12px}.brand-mark{display:inline-block;width:29px;height:9px;transform:skew(-24deg);background:var(--red)}h1{font-family:Barlow Condensed,Impact,sans-serif;font-size:clamp(84px,13vw,170px);line-height:.82;letter-spacing:-.045em;font-weight:900;margin:42px 0 35px;text-shadow:0 6px 45px #030506}h1 span{color:#aebbc7}.menu-line{height:2px;width:90px;background:var(--red);margin-bottom:23px}.menu-copy{font-family:Barlow Condensed,sans-serif;font-weight:500;font-size:clamp(24px,3vw,34px);line-height:1.08;color:#c1cdd7;letter-spacing:.01em;margin:0 0 36px}.mode-picker{display:flex;gap:10px;margin:0 0 18px}.mode-picker button{width:48%;border:1px solid #445461;background:#0a111bbb;padding:16px 18px;text-align:left;font-family:Barlow Condensed,sans-serif;font-weight:700;letter-spacing:.08em;font-size:19px;border-radius:4px}.mode-picker button small{display:block;color:#9eacb9;font-family:Inter,sans-serif;letter-spacing:0;font-size:10px;font-weight:500;margin-top:5px}.mode-picker button.selected{border-color:#ccecff;background:#c6e3ff13;box-shadow:inset 0 2px #ccecff}.start{width:min(100%,450px);display:flex;justify-content:space-between;align-items:center;padding:17px 25px;border:0;border-radius:3px;color:#071018;background:#e7eff6;font-family:Barlow Condensed,sans-serif;font-weight:900;letter-spacing:.12em;font-size:24px;transition:background .2s}.start:hover{background:#a8e5ff}.start span{font-size:24px}.menu-hint{font-size:10px;line-height:2.3;color:#a0aab6;letter-spacing:.08em;margin-top:18px}.version{font-size:9px;letter-spacing:.25em;color:#607280;margin-top:36px}#hud{position:absolute;inset:0;pointer-events:none;z-index:6}.hud-top{position:absolute;inset:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;padding:20px clamp(18px,3vw,44px)}.race-rank{background:linear-gradient(90deg,#091421cd,#0a11139c);border-left:3px solid var(--red);padding:8px 18px 4px;min-width:114px}.tiny{font-size:10px;letter-spacing:.23em;color:#9bb0bf}.race-rank strong{font-family:Barlow Condensed,sans-serif;font-size:64px;font-weight:900;line-height:1}.race-rank .total{font-family:Barlow Condensed,sans-serif;color:#aec1cc;font-size:25px}.race-status{text-align:right;display:grid;gap:3px;align-items:center;font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:22px;letter-spacing:.06em;text-shadow:0 1px 16px #000;position:absolute;right:90px;top:20px}.race-status span:first-child{color:#d9efff;font-size:12px;letter-spacing:.18em}.race-status span:last-child{color:#adc4d5;font-size:18px}#pause{background:#0b1722aa;border:1px solid #8ba6b255;width:40px;height:40px;border-radius:4px;pointer-events:auto}.hud-bottom{position:absolute;bottom:22px;left:50%;transform:translate(-50%);text-align:center;min-width:180px}.speed-cluster{background:linear-gradient(0deg,#06111bae,transparent);padding:20px 22px 9px}.speed{font-family:Barlow Condensed,sans-serif;display:flex;gap:8px;align-items:baseline;justify-content:center}.speed strong{font-size:clamp(62px,8vw,110px);letter-spacing:-.04em;line-height:.83;font-weight:800;font-variant-numeric:tabular-nums}.speed small{font-weight:600;letter-spacing:.12em;font-size:15px;color:#c3d0d8}.meters{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.13em;font-weight:700;color:#b8c7d5;margin-top:13px}.meter{flex:1;height:5px;background:#3d55668a;transform:skew(-20deg);min-width:120px}.meter>div{height:100%;width:65%;background:linear-gradient(90deg,#f4fcff,#63b9fd);box-shadow:0 0 15px #7bd3ff66}.score{font-size:10px;letter-spacing:.12em;color:#e4c19d;margin-top:12px}.controls{position:absolute;bottom:23px;left:clamp(14px,3vw,52px);right:clamp(14px,3vw,52px);display:flex;justify-content:space-between;align-items:flex-end}.steer-controls,.action-controls{display:flex;gap:12px}.touch-button{pointer-events:auto;width:clamp(64px,7vw,88px);height:clamp(64px,7vw,88px);border:1.5px solid #a0b5c28a;border-radius:50%;background:radial-gradient(circle at 50% 25%,#54758e44,#081321b8 70%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:inset 0 1px 6px #ffffff1c,0 9px 30px #0008;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:53px;line-height:.7;font-family:Barlow Condensed,sans-serif;font-weight:500;transition:background .12s,transform .12s}.touch-button small{font-family:Inter,sans-serif;font-size:9px;font-weight:800;letter-spacing:.07em;line-height:1.8}.touch-button span{font-size:31px}.touch-button:active,.touch-button.active{background:#82d4ff75;border-color:#b5efff;transform:scale(.96)}#boost{border-color:#9edaffcc;color:#c2e9ff}#jump{border-color:#c8d3de88}#jump span{font-size:40px}.signal{position:absolute;top:13%;left:50%;transform:translate(-50%);padding:15px 34px 12px;min-width:130px;text-align:center;background:#091c2bcb;border:1px solid #a2d6ea99;box-shadow:0 0 55px #91ddf933}.signal-symbol{font-size:48px;line-height:1.1}.signal-target{border-color:#eac18b!important;box-shadow:0 0 55px #ffe1a355!important}.signal-target .signal-symbol{color:#f8e2b7}.signal-caption{font-family:Barlow Condensed,sans-serif;font-size:13px;letter-spacing:.1em;color:#cee2ec;margin-top:5px}.scan{position:absolute;top:32%;left:50%;transform:translate(-50%);border:1px solid #bcdef399;border-radius:30px;background:#0d233cbb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:9px 24px;letter-spacing:.1em;font-family:Barlow Condensed,sans-serif;font-size:20px;font-weight:800;pointer-events:auto}.scan span{font:700 10px Inter;margin-left:10px;color:#a9d8f4}.focus-stats{position:absolute;bottom:15%;right:32px;background:#0b1823ab;padding:10px 14px;font-size:10px;letter-spacing:.1em;color:#c4d4df}.race-message{position:absolute;top:29%;left:50%;transform:translate(-50%);font:700 45px Barlow Condensed,sans-serif;text-shadow:0 0 25px #030508,0 3px 8px #030508;white-space:nowrap;color:#d1e9f9}.results{position:absolute;inset:0;z-index:50;background:#03070dcf;display:grid;place-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.results-panel{background:linear-gradient(120deg,#102333,#070e15);border:1px solid #70889a44;padding:clamp(30px,5vw,55px);width:min(520px,92vw);box-shadow:0 20px 100px #000b}.results-panel h2{font:800 62px/.9 Barlow Condensed,sans-serif;margin:15px 0 24px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin:30px 0}.result-grid label{display:block;color:#95abbc;font-size:10px;letter-spacing:.13em;margin-bottom:6px}.result-grid strong{font:700 24px Barlow Condensed,sans-serif}.text-button{margin-top:18px;background:none;border:0;color:#acbcc7;font-size:12px;font-weight:700;letter-spacing:.15em}.load-overlay{position:absolute;inset:0;z-index:70;background:#060b12;display:grid;place-content:center;gap:16px;text-align:center;font:700 13px Inter;letter-spacing:.18em;color:#c1d4e0}.spinner{border:2px solid #466078;border-top-color:#bceaff;border-radius:50%;height:35px;width:35px;animation:spin 1s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:800px){.menu-backdrop{background:linear-gradient(90deg,#060b15ed,#060b15a0),url(/art/key-art.png) 60% center/cover}.menu-content{margin-left:26px;padding-top:12vh;margin-right:20px}h1{font-size:clamp(74px,19vw,126px)}.menu-copy{font-size:29px}.hud-top{padding:10px 14px}.race-rank{padding:6px 12px}.race-rank strong{font-size:48px}.race-status{top:12px;right:65px;font-size:16px}.race-status span:last-child{font-size:16px}.hud-bottom{bottom:20px}.speed strong{font-size:63px}.speed-cluster{padding:10px}.controls{bottom:19px;left:12px;right:12px}.steer-controls,.action-controls{gap:8px}.touch-button{width:64px;height:64px;font-size:40px}.touch-button span{font-size:26px}.touch-button small{font-size:8px}.focus-stats{right:12px;bottom:105px}.signal{top:14%;padding:8px 16px}.signal-symbol{font-size:35px}.scan{top:32%}}@media(max-width:600px)and (orientation:portrait){.speed-cluster{opacity:.9}.speed strong{font-size:51px}.hud-bottom{bottom:106px}.meters{margin-top:7px}.meter{min-width:80px}.score{font-size:8px}.controls{bottom:18px}.touch-button{width:clamp(59px,16vw,70px);height:clamp(59px,16vw,70px)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}*{transition:none!important}}
