@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:500;src:url(./chakra-petch-latin-500-normal-BR1ody1F.woff2)format("woff2"),url(./chakra-petch-latin-500-normal-CnUQnZ4D.woff)format("woff")}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(./chakra-petch-latin-700-normal-CnDBPjkL.woff2)format("woff2"),url(./chakra-petch-latin-700-normal-D1s_c2du.woff)format("woff")}@font-face{font-family:Share Tech Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./share-tech-mono-latin-400-normal-CCqdbj5z.woff2)format("woff2"),url(./share-tech-mono-latin-400-normal-15MgdvEM.woff)format("woff")}:root{--bg:#070b16;--panel:#080d1adb;--panel-solid:#0b1222;--line:#a0beff24;--text:#e8eef9;--muted:#8d9bb5;--amber:#ffb627;--amber-dim:#a5741a;--blue:#4aa3ff;--green:#3dff8a;--red:#ff4d5a;--gold:#ffd166;--flap-bg:#111622;--flap-fg:#ffcf4a;--display:"Chakra Petch", "Segoe UI", system-ui, sans-serif;--mono:"Share Tech Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--flap-size:clamp(14px, 1.55vw, 20px);--fc:calc(var(--flap-size) * .82 + 2px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--display);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;margin:0;overflow:hidden}canvas#game{width:100vw;height:100vh;height:100dvh;display:block;position:fixed;top:0;bottom:0;left:0;right:0}.hidden{display:none!important}button{color:inherit;font-family:inherit}#ui{pointer-events:none;z-index:10;position:fixed;top:0;bottom:0;left:0;right:0}.screen{pointer-events:auto;padding:calc(24px + var(--safe-t)) calc(28px + var(--safe-r)) calc(24px + var(--safe-b)) calc(28px + var(--safe-l));touch-action:pan-y;flex-direction:column;gap:18px;animation:.35s both screenIn;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.screen.dim{background:radial-gradient(120% 90% at 70% 40%,#05081240,#050812d1)}.screen.solid{background:linear-gradient(#050812e0,#050812f5)}@keyframes screenIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.logo{text-transform:uppercase;letter-spacing:.02em;font-weight:700;line-height:.86}.logo .l1,.logo .l2{font-size:clamp(44px,8.2vw,112px);display:block}.logo .l1{color:#fff;text-shadow:0 0 30px #4aa3ff73}.logo .l2{background:linear-gradient(#ffd166,#ff8a3d 60%,#ff4d5a);color:#0000;filter:drop-shadow(0 0 22px #ff8a3d73);-webkit-background-clip:text;background-clip:text}.logo .tag{letter-spacing:.26em;color:var(--muted);white-space:nowrap;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:16px;font-size:clamp(12px,1.4vw,16px);line-height:1.2;display:flex}.boot .logo .tag{justify-content:center}.stamp{border:2px solid var(--red);color:var(--red);letter-spacing:.14em;border-radius:4px;padding:4px 10px;font-size:clamp(11px,1.3vw,15px);font-weight:700;display:inline-block;transform:rotate(-4deg);box-shadow:inset 0 0 0 2px #ff4d5a40}.boot{text-align:center;background:radial-gradient(80% 60% at 50% 60%,#ff8a3d2e,#0000 70%),linear-gradient(#050814,#0a1124 60%,#1a1030);justify-content:center;align-items:center}.boot.has-art{background:radial-gradient(70% 60% at 50% 45%, #05081459, #050814e0), var(--boot-art) center / cover no-repeat, #050814}.boot.has-art .runway{display:none}.boot .press{letter-spacing:.4em;color:var(--amber);margin-top:42px;font-size:clamp(14px,1.6vw,18px);animation:1.4s steps(2,end) infinite blink}.boot .runway{transform-origin:bottom;opacity:.8;background:linear-gradient(90deg,#0000 2%,#ffffff14 2% 3%,#0000 3% 97%,#ffffff14 97% 98%,#0000 98%),#10141f;width:min(70vw,720px);height:38vh;position:absolute;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)perspective(300px)rotateX(58deg)}.boot .runway:before{content:"";background:repeating-linear-gradient(#e9ecef 0 40px,#0000 40px 90px);width:6px;height:300%;animation:.6s linear infinite dash;position:absolute;top:-100%;left:50%;transform:translate(-50%)}.boot .runway:after{content:"";background:repeating-linear-gradient(#0000 0 46px,#4aa3ffe6 46px 50px) 0/10px 100% no-repeat,repeating-linear-gradient(#0000 0 46px,#4aa3ffe6 46px 50px) 100%/10px 100% no-repeat;animation:.6s linear infinite dash;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes dash{0%{background-position-y:0;transform:translate(-50%)translateY(0)}to{transform:translate(-50%)translateY(90px)}}.boot .runway:after{animation:none}.boot .credits{bottom:calc(14px + var(--safe-b));color:var(--muted);letter-spacing:.2em;font-size:12px;position:absolute}@keyframes blink{50%{opacity:.25}}.menu{flex-direction:row;justify-content:space-between;align-items:center;gap:4vw}.menu .left{flex:40%;min-width:260px}.menu .right{flex:56%;max-width:860px}.board{border:1px solid var(--line);background:linear-gradient(#0b1120,#070b15);border-radius:10px;overflow:hidden;box-shadow:0 30px 80px #0000008c,inset 0 1px #ffffff0d}.board-head{background:linear-gradient(#1a2440,#111a30);border-bottom:2px solid #000;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.board-head h2{letter-spacing:.22em;align-items:center;gap:12px;margin:0;font-size:clamp(18px,2vw,26px);display:flex}.board-head h2 .ic{color:var(--amber);font-size:1.1em}.board-head .clock{font-family:var(--mono);color:var(--flap-fg);letter-spacing:.1em;font-size:clamp(16px,1.8vw,24px)}.board-cols,.board-row{grid-template-columns:var(--cols,92px 1fr 64px 140px);align-items:center;gap:12px;padding:0 18px;display:grid}.board-cols{letter-spacing:.24em;color:var(--muted);border-bottom:1px solid var(--line);padding-top:10px;padding-bottom:8px;font-size:11px}.board-row{cursor:pointer;text-align:left;width:100%;min-height:52px;font:inherit;color:inherit;background:0 0;border:0;border-bottom:1px solid #ffffff0a;outline:none;transition:background .15s;position:relative}.board-row:last-child{border-bottom:0}.board-row:hover,.board-row.sel{background:linear-gradient(90deg,#ffb62729,#ffb62705)}.board-row:focus-visible{background:linear-gradient(90deg,#ffb62729,#ffb62705)}.board-row.sel:before,.board-row:hover:before{content:"";background:var(--amber);border-radius:0 3px 3px 0;width:4px;position:absolute;top:8px;bottom:8px;left:0}.board-row:focus-visible:before{content:"";background:var(--amber);border-radius:0 3px 3px 0;width:4px;position:absolute;top:8px;bottom:8px;left:0}.board-row.locked{opacity:.45}.flap{font-family:var(--mono);font-size:var(--flap-size);gap:2px;display:inline-flex}.flap .c{text-align:center;background:var(--flap-bg);width:.82em;color:var(--flap-fg);border-radius:2px;padding:3px 0 2px;line-height:1.15;display:inline-block;position:relative;box-shadow:inset 0 -1px #0009,0 1px #ffffff0a}.flap .c:after{content:"";background:#000000bf;height:1px;position:absolute;top:50%;left:0;right:0}.flap.white .c{color:#f1f4fa}.flap.green .c{color:var(--green)}.flap.red .c{color:var(--red)}.flap.blue .c{color:#8fc6ff}.status-blink .c{animation:1.2s steps(2,end) infinite blink}.board-foot{color:var(--muted);letter-spacing:.12em;border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;font-size:12px;display:flex}.chip{border:1px solid var(--line);letter-spacing:.16em;cursor:pointer;color:var(--text);background:#ffffff0a;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:inline-flex}.chip:hover{border-color:var(--amber);color:var(--amber);outline:none}.chip:focus-visible{border-color:var(--amber);color:var(--amber);outline:none}.chip.install{color:var(--green);border-color:#3dff8a80}.btn{-webkit-appearance:none;appearance:none;letter-spacing:.16em;cursor:pointer;text-transform:uppercase;color:var(--text);background:#ffffff0d;border:1px solid #ffffff29;border-radius:8px;padding:13px 22px;font-size:15px;font-weight:700;transition:transform .1s,background .15s,border-color .15s}.btn:hover{border-color:var(--amber);background:#ffb6271a;outline:none}.btn:focus-visible{border-color:var(--amber);background:#ffb6271a;outline:none}.btn:active{transform:scale(.97)}.btn.primary{color:#1a1000;background:linear-gradient(#ffc23d,#ff8f1f);border-color:#0000;box-shadow:0 8px 26px #ff8f1f59}.btn.primary:hover{filter:brightness(1.08);box-shadow:0 0 0 3px #ffffffd9,0 8px 26px #ff8f1f73}.btn.primary:focus-visible{filter:brightness(1.08);box-shadow:0 0 0 3px #ffffffd9,0 8px 26px #ff8f1f73}.btn-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spacer{flex:1}.screen-title{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.screen-title h1{letter-spacing:.12em;margin:0;font-size:clamp(26px,3.4vw,44px)}.screen-title .sub{color:var(--muted);letter-spacing:.24em;font-size:13px}.hangar{justify-content:space-between}.hangar-panel{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;flex-direction:column;gap:14px;width:min(440px,100%);padding:22px;display:flex}.hangar-main{flex:1;justify-content:space-between;align-items:center;gap:20px;display:flex}.plane-class{color:var(--amber);letter-spacing:.3em;font-size:12px}.plane-name{letter-spacing:.04em;font-size:clamp(30px,3.6vw,48px);font-weight:700;line-height:1}.plane-blurb{color:#b9c5da;margin:0;font-size:14px;line-height:1.5}.stats{gap:9px;display:grid}.stat{letter-spacing:.16em;color:var(--muted);grid-template-columns:96px 1fr 22px;align-items:center;gap:10px;font-size:12px;display:grid}.stat .bar{grid-template-columns:repeat(10,1fr);gap:3px;display:grid}.stat .bar i{transform-origin:0;background:#ffffff14;border-radius:2px;height:10px}.stat .bar i.on{background:linear-gradient(90deg,#4aa3ff,#6fe7ff);animation:.3s both barIn;box-shadow:0 0 8px #4aa3ff80}.stat.weight .bar i.on{background:linear-gradient(90deg,#ffb627,#ff7a3d);box-shadow:0 0 8px #ff8c3273}.stat b{color:var(--text);text-align:right}@keyframes barIn{0%{transform:scaleX(0)}}.liveries{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.livery{cursor:pointer;border:2px solid #fff3;border-radius:50%;width:42px;height:42px;padding:0;position:relative;overflow:hidden}.livery span{position:absolute;top:0;bottom:0;left:0;right:0}.livery.sel{border-color:var(--amber);box-shadow:0 0 0 3px #ffb6274d}.livery-name{color:var(--muted);letter-spacing:.18em;font-size:12px}.arrows{gap:10px;display:flex}.arrow{border-radius:50%;place-items:center;width:56px;height:56px;padding:0;font-size:22px;display:grid}.plane-index{font-family:var(--mono);color:var(--muted);letter-spacing:.2em}.tracks-main{flex-wrap:wrap;flex:1;align-items:flex-start;gap:22px;display:flex}.tracks-main .board{flex:520px}.preview{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;flex:0 340px;gap:12px;padding:18px;display:flex}.preview canvas{aspect-ratio:1.6;border:1px solid var(--line);background:radial-gradient(circle,#4aa3ff14,#0000 70%);border-radius:8px;width:100%}.preview.has-art{background:linear-gradient(180deg, #0a102240, #0a1022bf 26%, var(--panel-solid) 56%), var(--art) center top / 100% auto no-repeat, var(--panel-solid)}.preview.has-art h3{text-shadow:0 2px 6px #000c}.preview.has-art canvas{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#060a16b8}.preview h3{letter-spacing:.06em;margin:0;font-size:22px}.preview p{color:#b9c5da;margin:0;font-size:14px;line-height:1.5}.kv{grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px;display:grid}.kv span:nth-child(odd){color:var(--muted);letter-spacing:.16em;align-self:center;font-size:11px}.diff-EASY{color:var(--green)}.diff-MEDIUM{color:var(--amber)}.diff-HARD{color:var(--red)}.settings-grid{gap:14px;width:100%;max-width:760px;display:grid}.setting{background:var(--panel);border:1px solid var(--line);border-radius:10px;grid-template-columns:200px 1fr;align-items:center;gap:16px;padding:14px 18px;display:grid}.setting label{letter-spacing:.18em;color:var(--muted);font-size:13px}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg button{border:1px solid var(--line);letter-spacing:.14em;cursor:pointer;background:#ffffff08;border-radius:6px;padding:9px 14px;font-size:13px}.seg button.on{border-color:var(--amber);color:#1a1000;background:var(--amber);font-weight:700}.seg button:focus-visible{outline-offset:2px;outline:2px solid #fff}input[type=range]{width:100%;accent-color:var(--amber);height:28px}.howto-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px}.card h3{letter-spacing:.16em;color:var(--amber);margin:0 0 10px;font-size:15px}.card p,.card li{color:#c3cee2;font-size:14px;line-height:1.55}.card ul{margin:0;padding-left:18px}.keys{grid-template-columns:auto 1fr;align-items:center;gap:8px 14px;font-size:13px;display:grid}kbd{font-family:var(--mono);white-space:nowrap;background:#1b2338;border:1px solid #2c3754;border-bottom-width:3px;border-radius:5px;padding:2px 8px;font-size:12px}.results .board{align-self:center;width:100%;max-width:1000px}.results .board-row{cursor:default;min-height:46px}.results .board-row.me{background:linear-gradient(90deg,#ffd1662e,#0000)}.badges{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.badge{letter-spacing:.16em;color:#1a1000;background:linear-gradient(#ffd166,#ff9f1c);border-radius:6px;padding:8px 14px;font-size:13px;font-weight:700;animation:.5s cubic-bezier(.2,1.6,.4,1) both pop}@keyframes pop{0%{opacity:0;transform:scale(.4)}}.podium-msg{text-align:center;letter-spacing:.1em;margin:0;font-size:clamp(28px,4.6vw,60px);font-weight:700}.podium-msg.win{background:linear-gradient(#fff3c4,#ffb627);color:#0000;filter:drop-shadow(0 0 30px #ffb62780);-webkit-background-clip:text;background-clip:text}.laps-line{text-align:center;color:var(--muted);font-family:var(--mono);letter-spacing:.08em}.pause{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#04070fb3;justify-content:center;align-items:center}.pause .stack{flex-direction:column;gap:12px;width:min(340px,90vw);display:flex}.pause h1{text-align:center;letter-spacing:.3em;margin:0 0 10px}#hud{pointer-events:none;z-index:5;font-family:var(--display);position:fixed;top:0;bottom:0;left:0;right:0}.hud-tl{left:calc(20px + var(--safe-l));top:calc(16px + var(--safe-t));position:absolute}.hud-posbox{text-shadow:0 3px 12px #0009;font-weight:700;line-height:.9}.hud-posbox #hud-pos{color:#fff;font-size:clamp(52px,7vw,88px);display:inline-block}.hud-posbox sup{color:var(--gold);vertical-align:top;margin-left:2px;font-size:clamp(16px,2vw,26px)}.hud-posbox .of{color:var(--muted);margin-left:4px;font-size:clamp(16px,2vw,24px)}.hud-posbox.bump #hud-pos{animation:.35s bump}@keyframes bump{40%{color:var(--gold);transform:scale(1.25)}}.hud-lap{letter-spacing:.2em;color:#dfe7f5;text-shadow:0 2px 8px #000;margin-top:4px;font-size:clamp(16px,1.8vw,22px)}.hud-lap b{color:#fff;font-size:1.3em}.hud-lap .of{color:var(--muted)}.hud-tr{right:calc(20px + var(--safe-r));top:calc(16px + var(--safe-t));flex-direction:column;align-items:flex-end;gap:3px;display:flex;position:absolute}.hud-timer{text-shadow:0 2px 8px #000;align-items:baseline;gap:10px;display:flex}.hud-timer .k{letter-spacing:.24em;color:var(--muted);font-size:11px}.hud-timer .v{font-family:var(--mono);color:#fff;text-align:right;min-width:7.4ch;font-size:clamp(16px,1.7vw,22px)}.hud-timer.best .v{color:var(--gold)}.hud-standings{flex-direction:column;align-items:flex-end;gap:2px;margin-top:10px;display:flex}.hud-standings .row{letter-spacing:.1em;background:#0508128c;border-radius:4px;align-items:center;gap:8px;min-width:120px;padding:3px 10px 3px 8px;font-size:12px;display:flex}.hud-standings .row .p{color:var(--muted);width:14px}.hud-standings .row .n{text-align:right;flex:1}.hud-standings .row.me{color:#1a1000;background:#ffd166d9;font-weight:700}.hud-standings .row.me .p{color:#4a3600}.hud-standings .row .f{color:var(--green)}.hud-map{left:calc(16px + var(--safe-l));bottom:calc(16px + var(--safe-b));background:radial-gradient(circle,#05091499,#05091440 70%,#0000 72%);border-radius:50%;width:clamp(120px,15vw,190px);height:clamp(120px,15vw,190px);position:absolute}.hud-br{right:calc(16px + var(--safe-r));bottom:calc(14px + var(--safe-b));flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute}.hud-speedo-wrap{width:clamp(140px,16vw,210px);height:clamp(140px,16vw,210px);position:relative}.hud-speedo{width:100%;height:100%}.hud-speed{flex-direction:column;align-items:center;line-height:1;display:flex;position:absolute;bottom:18%;left:0;right:0}#hud-speed-val{font-family:var(--mono);color:#fff;text-shadow:0 0 10px #000c;font-size:clamp(22px,2.6vw,34px)}#hud-speed-unit{letter-spacing:.3em;color:var(--muted);margin-top:2px;font-size:10px}.hud-boost{flex-direction:column;align-items:center;gap:4px;display:flex}.hud-boost .lbl{letter-spacing:.3em;color:var(--muted);font-size:10px}.hud-boost .cells{gap:5px;display:flex}.hud-boost .cell{--fill:0;background:#ffffff1a;border:1px solid #ffffff26;border-radius:3px;width:clamp(38px,4.4vw,56px);height:14px;position:relative;overflow:hidden}.hud-boost .cell:before{content:"";transform-origin:0;transform:scaleX(var(--fill));background:linear-gradient(90deg,#ff6a00,#ffb627);position:absolute;top:0;bottom:0;left:0;right:0}.hud-boost .cell.full{border-color:#ffb627;box-shadow:0 0 12px #ff9628cc}.hud-boost.active .cells{animation:.1s linear infinite shake}@keyframes shake{50%{transform:translate(1px)}}.hud-flags{left:50%;bottom:calc(26px + var(--safe-b));gap:10px;display:flex;position:absolute;transform:translate(-50%)}.flag{opacity:0;letter-spacing:.24em;border-radius:4px;padding:5px 12px;font-size:13px;font-weight:700;transition:all .2s;transform:translateY(8px)}.flag.show{opacity:1;transform:none}.flag.drift{color:#001326;background:#4aa3ffd9}.flag.draft{color:#0b1a2e;background:#c8e6ffd9}.hud-msg{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:24%;left:0;right:0}.msg{letter-spacing:.14em;color:#fff;text-shadow:0 0 18px #000c,0 2px #0009;font-size:clamp(20px,2.6vw,34px);font-weight:700;transition:opacity .35s,transform .35s;animation:.3s cubic-bezier(.2,1.5,.4,1) both msgIn}.msg.out{opacity:0;transform:translateY(-12px)}.msg.gold{color:var(--gold)}.msg.bad{color:#ff6b6b}.msg.blue{color:#8fd0ff}.msg.boost{color:#ffa53d}.msg.warn{color:#ffd84d}@keyframes msgIn{0%{opacity:0;transform:scale(.5)}}.hud-lappop{text-align:center;letter-spacing:.12em;opacity:0;color:#fff;text-shadow:0 0 40px #4aa3ffcc;font-size:clamp(40px,7vw,96px);font-weight:700;position:absolute;top:38%;left:0;right:0}.hud-lappop.show{animation:2s both lapPop}@keyframes lapPop{0%{opacity:0;letter-spacing:.5em;transform:scale(1.6)}15%{opacity:1;letter-spacing:.12em;transform:scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-20px)}}.hud-radio{left:50%;bottom:calc(70px + var(--safe-b));border:1px solid var(--line);border-left:3px solid var(--green);max-width:min(640px,70vw);font-family:var(--mono);opacity:0;color:#d7f5e3;background:#050914cc;border-radius:6px;padding:8px 14px;font-size:clamp(12px,1.3vw,15px);transition:all .3s;position:absolute;transform:translate(-50%,10px)}.hud-radio.show{opacity:1;transform:translate(-50%)}.hud-radio .who{color:var(--green);margin-right:10px;font-weight:700}.hud-radio{align-items:center;gap:12px;padding-left:8px;display:flex}.hud-radio .face{aspect-ratio:1;object-fit:cover;border:2px solid var(--green);background:#0b1f16;border-radius:50%;flex:none;width:clamp(34px,3.6vw,46px)}.hud-radio .face.mono{color:var(--green);letter-spacing:.04em;place-items:center;font-size:.8em;font-weight:700;display:grid}.hud-radio.pilot{border-left-color:var(--amber)}.hud-radio.pilot .who{color:var(--amber)}.hud-radio.pilot .face{border-color:var(--amber)}.hud-radio.pilot .face.mono{color:var(--amber);background:#2a1c08}.hud-count{flex-direction:column;align-items:center;gap:14px;display:none;position:absolute;top:18%;left:50%;transform:translate(-50%)}.hud-count.show{display:flex}.hud-count .lamps{background:#0a0e18;border:2px solid #222b3d;border-radius:40px;gap:14px;padding:12px 16px;display:flex;box-shadow:0 10px 30px #0009}.hud-count .lamps i{background:#2a0d0f;border-radius:50%;width:clamp(28px,3.4vw,44px);height:clamp(28px,3.4vw,44px);transition:all .1s;box-shadow:inset 0 -4px 8px #0009}.hud-count.step-1 .lamps i:first-child,.hud-count.step-2 .lamps i:nth-child(-n+2),.hud-count.step-3 .lamps i{background:#ff2a35;box-shadow:0 0 22px #ff2a35,inset 0 -4px 8px #0000004d}.hud-count.step-4 .lamps i{background:#2dff7a;box-shadow:0 0 26px #2dff7a}.hud-count .label{letter-spacing:.08em;text-shadow:0 0 30px #000000e6;font-size:clamp(44px,7vw,92px);font-weight:700}.hud-count.step-0 .label{letter-spacing:.4em;color:var(--amber);font-size:clamp(18px,2.4vw,30px)}.hud-count.step-4 .label{color:var(--green);animation:.5s goPulse}@keyframes goPulse{0%{transform:scale(1.8)}}.hud-wrong{color:#fff;letter-spacing:.3em;background:#ff283cd9;border-radius:6px;padding:10px 26px;font-size:clamp(20px,3vw,36px);font-weight:700;animation:.6s steps(2,end) infinite blink;display:none;position:absolute;top:30%;left:50%;transform:translate(-50%)}.hud-wrong.show{display:block}.hud-title{left:calc(20px + var(--safe-l));opacity:0;border-left:4px solid var(--amber);background:linear-gradient(90deg,#050812d9,#0000);padding:8px 18px;transition:all .6s;position:absolute;bottom:28%;transform:translate(-30px)}.hud-title.show{opacity:1;transform:none}.hud-title .flight{font-family:var(--mono);color:var(--amber);letter-spacing:.2em;font-size:14px}.hud-title .name{letter-spacing:.04em;font-size:clamp(28px,4vw,52px);font-weight:700}.hud-title .meta{color:var(--muted);letter-spacing:.2em;font-size:13px}.hud-tags{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.hud-tags .tag{letter-spacing:.12em;white-space:nowrap;will-change:transform;align-items:center;gap:5px;font-size:11px;font-weight:700;display:flex;position:absolute;top:0;left:0}.hud-tags .tag .p{background:var(--c);color:#000;border-radius:3px;padding:1px 5px}.hud-tags .tag .n{color:#fff;text-shadow:0 1px 4px #000}.hud-cam{left:50%;top:calc(14px + var(--safe-t));letter-spacing:.3em;color:var(--muted);opacity:0;font-size:12px;transition:all .3s;position:absolute;transform:translate(-50%)}.hud-cam.show{opacity:1}.hud-fps{font-family:var(--mono);color:var(--green);font-size:11px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.hud-pause{left:50%;top:calc(10px + var(--safe-t));pointer-events:auto;border:1px solid var(--line);letter-spacing:-2px;cursor:pointer;background:#05091499;border-radius:50%;width:44px;height:44px;font-size:14px;display:none;position:absolute;transform:translate(-50%)}body.touch-mode .hud-pause{display:block}body.touch-mode .hud-cam{top:calc(60px + var(--safe-t))}.touch{z-index:6;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.touch-steer{left:calc(16px + var(--safe-l));bottom:calc(18px + var(--safe-b));pointer-events:auto;touch-action:none;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;width:min(44vw,340px);height:150px;display:flex;position:absolute}.touch-steer .track{background:#05091473;border:1px solid #ffffff2e;border-radius:40px;width:100%;height:76px;position:relative}.touch-steer .knob{background:radial-gradient(circle at 35% 30%,#ffffff80,#ffffff26);border:2px solid #ffffff80;border-radius:50%;width:70px;height:70px;margin:-35px 0 0 -35px;position:absolute;top:50%;left:50%}.touch-steer span{letter-spacing:.3em;color:#ffffff80;font-size:10px}.touch-btns{right:calc(16px + var(--safe-r));bottom:calc(18px + var(--safe-b));pointer-events:auto;grid-template-columns:1fr 1fr;gap:12px;display:grid;position:absolute}.tbtn{letter-spacing:.12em;touch-action:none;background:#05091480;border:2px solid #ffffff59;border-radius:50%;width:clamp(68px,10vw,90px);height:clamp(68px,10vw,90px);font-size:12px;font-weight:700}.tbtn.on{filter:brightness(1.4);transform:scale(.94)}.tbtn.boost{background:radial-gradient(circle,#ff8c1ebf,#ff5a0059);border-color:#ffb627;grid-column:1/span 2;justify-self:end;width:clamp(80px,12vw,110px);height:clamp(80px,12vw,110px)}.tbtn.drift{background:#4aa3ff66;border-color:#4aa3ff}.tbtn.brake{background:#ff4d5a59;border-color:#ff4d5a}.tbtn.gas{background:#3dff8a4d;border-color:#3dff8a}body.touch-mode .hud-br{right:50%;bottom:calc(6px + var(--safe-b));transform-origin:bottom;transform:translate(50%)scale(.72)}body.touch-mode .hud-standings,body.touch-mode .kbd-hint{display:none}body.touch-mode .hud-map{bottom:auto;top:calc(120px + var(--safe-t));width:110px;height:110px}body.touch-mode .hud-radio{bottom:auto;top:calc(64px + var(--safe-t))}.loading{z-index:20;background:radial-gradient(80% 70%,#0d1530,#04060d);place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.loading-card{z-index:1;text-align:center;flex-direction:column;gap:14px;width:min(480px,86vw);display:flex;position:relative}.loading:before,.loading:after{content:"";opacity:0;pointer-events:none;transition:opacity .6s;position:absolute;top:0;bottom:0;left:0;right:0}.loading.has-art:before{opacity:1;background:var(--art) center / cover no-repeat;animation:16s ease-out both kenburns}.loading.has-art:after{opacity:1;background:radial-gradient(70% 60% at 50% 55%,#04060d8c,#04060de6)}.loading.has-art .loading-tip,.loading.has-art .loading-label{text-shadow:0 1px 3px #000}@keyframes kenburns{0%{transform:scale(1.12)}to{transform:scale(1)}}.loading-title{letter-spacing:.6em;color:var(--amber);font-size:14px;animation:1.2s steps(2,end) infinite blink}.loading-track{letter-spacing:.06em;font-size:clamp(24px,3.4vw,40px);font-weight:700}.loading .bar{background:#ffffff1a;border-radius:3px;height:6px;overflow:hidden}#loading-bar{background:linear-gradient(90deg,#4aa3ff,#6fe7ff);width:0;height:100%;transition:width .25s;box-shadow:0 0 12px #4aa3ff}.loading-label{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;font-size:12px}.loading-tip{color:#b9c5da;min-height:3em;font-size:14px;line-height:1.5}.rotate{z-index:40;letter-spacing:.2em;color:var(--muted);text-align:center;background:#050814;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:30px;font-size:14px;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.rotate-icon{color:var(--amber);font-size:64px;animation:2s ease-in-out infinite spin}@keyframes spin{50%{transform:rotate(90deg)}}@media (orientation:portrait) and (pointer:coarse){body.in-race .rotate{display:flex}}.toast{left:50%;bottom:calc(20px + var(--safe-b));z-index:50;border:1px solid var(--line);opacity:0;pointer-events:none;letter-spacing:.06em;background:#121a2e;border-radius:8px;padding:12px 18px;font-size:14px;transition:all .3s;position:fixed;transform:translate(-50%,30px)}.toast.show{opacity:1;transform:translate(-50%)}@media (max-width:900px){.menu{flex-direction:column;justify-content:flex-start;align-items:stretch}.menu .left{flex:none;min-width:0}.board-cols,.board-row{--cols:calc(var(--fc) * 6) 1fr calc(var(--fc) * 9)!important}.board-cols .gate,.board-row .gate{display:none}.hangar-main{flex-direction:column;align-items:stretch}.setting{grid-template-columns:1fr;gap:8px}.results .board-cols .hide-sm,.results .board-row .hide-sm{display:none}}@media (max-height:520px){.screen{padding-top:calc(12px + var(--safe-t));padding-bottom:calc(12px + var(--safe-b));gap:10px}.logo .l1,.logo .l2{font-size:clamp(36px,7vw,64px)}.board-row{min-height:40px}.board-head{padding:8px 14px}.hangar-panel{gap:8px;padding:14px}.plane-blurb{display:none}}@media (max-height:760px){.preview{gap:8px;padding:14px}.preview canvas{aspect-ratio:2}.preview p{font-size:13px;line-height:1.4}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}
