@font-face{font-family:Russo One;font-style:normal;font-display:swap;font-weight:400;src:url(./russo-one-latin-400-normal-BfOuQF9V.woff2)format("woff2"),url(./russo-one-latin-400-normal-CosRecV9.woff)format("woff")}@font-face{font-family:"Exo 2 Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(./exo-2-cyrillic-ext-wght-normal-Duf7tWJ7.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Exo 2 Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(./exo-2-cyrillic-wght-normal-DINSYtDx.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Exo 2 Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(./exo-2-vietnamese-wght-normal-DlPkZmYr.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Exo 2 Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(./exo-2-latin-ext-wght-normal-B5pmZ151.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Exo 2 Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(./exo-2-latin-wght-normal-CQ1lLIdm.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Exo 2 Variable";font-style:italic;font-display:swap;font-weight:100 900;src:url(./exo-2-cyrillic-ext-wght-italic-6Op8ybTq.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Exo 2 Variable";font-style:italic;font-display:swap;font-weight:100 900;src:url(./exo-2-cyrillic-wght-italic-Cgb-vJY8.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Exo 2 Variable";font-style:italic;font-display:swap;font-weight:100 900;src:url(./exo-2-vietnamese-wght-italic-D8eDGxys.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Exo 2 Variable";font-style:italic;font-display:swap;font-weight:100 900;src:url(./exo-2-latin-ext-wght-italic-BdagksOR.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Exo 2 Variable";font-style:italic;font-display:swap;font-weight:100 900;src:url(./exo-2-latin-wght-italic-9qdPE589.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0b0d12;--panel:#141821;--panel-2:#1b2130;--line:#262d3d;--text:#eef1f7;--muted:#8a93a6;--danger:#ff3b30;--ok:#30d158;--warn:#ffd60a;--car:#0a84ff;--radius:18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);height:100%;color:var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0}#app{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex}button{font:inherit;color:inherit}.icon{flex:none;width:1.25em;height:1.25em}.btn{border:1px solid var(--line);background:var(--panel-2);min-height:40px;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:#3a4357}.btn:focus-visible,.btn-pad:focus-visible,.throttle:focus-visible,.chip:focus-visible{outline:2px solid var(--car);outline-offset:2px}.btn-primary{background:var(--car);color:#fff;border-color:#0000}.btn-sm{min-height:34px;color:var(--muted);font-size:.85rem}.btn-stop{background:var(--danger);color:#fff;letter-spacing:.08em;border-color:#0000}.topbar{justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.brand{letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:10px;font-size:1.1rem;font-weight:800;display:flex}.brand em{color:var(--muted);text-transform:lowercase;font-style:normal;font-weight:400}.brand-mark{clip-path:polygon(0 100%,40% 0,100% 0,60% 100%);background:linear-gradient(135deg,#0a84ff,#bf5af2);border-radius:6px;width:22px;height:22px}.top-actions{gap:8px;display:flex}.garage{scrollbar-width:none;gap:8px;padding:0 16px 8px;display:flex;overflow-x:auto}.garage[hidden]{display:none}.chip{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:8px;min-height:36px;padding:0 14px 0 10px;display:inline-flex}.chip:disabled{opacity:.5;cursor:not-allowed}.chip.is-active{border-color:var(--car);background:color-mix(in srgb, var(--car) 18%, var(--panel))}.chip-dot{background:var(--car);width:10px;height:10px;box-shadow:0 0 8px var(--car);border-radius:50%}.chip.is-disconnected .chip-dot,.chip.is-reconnecting .chip-dot{background:var(--muted);box-shadow:none}.chip-batt{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.stage{flex:1;min-height:0;padding:0 16px 16px;display:flex}.empty{text-align:center;max-width:440px;margin:auto}.empty h1{margin:24px 0 8px;font-size:1.6rem}.empty p{color:var(--muted);margin:0 0 24px;line-height:1.5}.empty p.warn{color:var(--text);background:color-mix(in srgb, var(--warn) 12%, transparent);border:1px solid color-mix(in srgb, var(--warn) 40%, transparent);border-radius:12px;padding:12px 14px}.empty-actions{flex-direction:column;align-items:center;gap:12px;display:flex}.empty-track{border:14px solid var(--panel-2);border-radius:60px;width:200px;height:110px;margin:0 auto;position:relative}.empty-car{background:var(--car);width:18px;height:10px;box-shadow:0 0 12px var(--car);offset-path:inset(-12px round 66px);border-radius:4px;animation:3s linear infinite lap;position:absolute}@keyframes lap{to{offset-distance:100%}}.cockpit{flex:1;grid-template:"dash dash"minmax(0,1fr)"steer pedals""arms arms""brake brake""footer footer"/1fr 108px;gap:12px;width:100%;max-width:1100px;min-height:0;margin:0 auto;display:grid;position:relative}.dash{background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--car) 14%, var(--panel)), var(--panel) 70%);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;grid-area:dash;justify-content:center;align-items:center;gap:8px;min-height:0;padding:12px;display:flex;overflow:hidden}.gauge{flex:1;justify-content:center;width:min(100%,300px);min-height:60px;max-height:260px;display:flex;position:relative}.gauge-svg{max-width:100%;height:100%}.gauge-track,.gauge-value{fill:none;stroke-width:14px;stroke-linecap:round}.gauge-track{stroke:var(--panel-2)}.gauge-value{stroke:var(--car);filter:drop-shadow(0 0 6px var(--car));transition:stroke-dashoffset .25s ease-out}.gauge-tick{stroke:var(--line);stroke-width:2px}.gauge-target{stroke:var(--text);stroke-width:3px;stroke-linecap:round;transition:transform .15s}.gauge-readout{flex-direction:column;justify-content:center;align-items:center;padding-top:8%;display:flex;position:absolute;inset:0}.speed-num{font-variant-numeric:tabular-nums;font-size:clamp(2.2rem,9vmin,3.6rem);font-weight:800;line-height:1}.speed-unit{color:var(--muted);letter-spacing:.1em;font-size:.8rem}.speed-target{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:6px;font-size:.75rem}.telemetry{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:.85rem;display:flex}.telemetry-item{align-items:center;gap:6px;display:inline-flex}.telemetry-item.is-low{color:var(--danger)}.led{background:var(--ok);border-radius:50%;width:8px;height:8px}.led.is-connecting,.led.is-reconnecting{background:var(--warn)}.led.is-disconnected{background:var(--danger)}.combat{grid-template-columns:1fr 1fr;gap:6px 12px;width:min(100%,360px);display:grid}.meter{flex-direction:column;gap:3px;display:flex}.meter-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.65rem}.meter-bar{background:var(--panel-2);border-radius:4px;height:8px;overflow:hidden}.meter-fill{width:100%;height:100%;transition:width .15s;display:block}.is-armor .meter-fill{background:var(--ok)}.is-energy .meter-fill{background:var(--warn)}.target-line{text-align:center;color:var(--muted);grid-column:1/-1;min-height:1.2em;font-size:.8rem}.target-line.has-target{color:var(--danger);font-weight:700}.cockpit.is-down .dash{box-shadow:inset 0 0 0 2px var(--danger)}.cockpit.is-down .is-armor .meter-fill{background:var(--danger)}.cockpit.is-shielded .dash{box-shadow:inset 0 0 0 2px #64d2ff,0 0 18px #64d2ff59}.arms{grid-area:arms;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.weapon{--cd:0;border:1px solid var(--line);background:var(--panel);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:52px;padding:4px;display:flex;position:relative;overflow:hidden}.weapon:after{content:"";height:calc(var(--cd) * 100%);pointer-events:none;background:#00000073;position:absolute;inset:0 0 auto}.weapon:active{transform:scale(.96)}.weapon.is-off{opacity:.55}.weapon-name{font-size:.85rem;font-weight:700}.weapon-cost{color:var(--muted);font-size:.7rem}.weapon.is-blaster{border-color:color-mix(in srgb, var(--danger) 50%, var(--line))}.weapon.is-missile{border-color:color-mix(in srgb, #ff9f0a 50%, var(--line))}.weapon.is-pulse{border-color:color-mix(in srgb, #bf5af2 50%, var(--line))}.weapon.is-shield{border-color:color-mix(in srgb, #64d2ff 50%, var(--line))}.track-info{color:var(--muted);align-items:center;gap:8px;font-size:.8rem;display:flex}.steps{gap:6px;padding:0 16px 10px;display:flex;overflow-x:auto}.step{border:1px solid var(--line);background:var(--panel);min-height:40px;color:var(--muted);white-space:nowrap;cursor:pointer;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:600;display:inline-flex}.step.is-active{color:var(--text);border-color:var(--car);background:color-mix(in srgb, var(--car) 18%, var(--panel))}.step:disabled{opacity:.45;cursor:default}.step-n{background:var(--panel-2);border-radius:50%;place-items:center;width:22px;height:22px;font-size:.8rem;display:inline-grid}.screen{flex-direction:column;gap:12px;width:100%;max-width:760px;margin:0 auto;padding-bottom:8px;display:flex}.screen-head h1{margin:4px 0;font-size:1.35rem}.screen-head p{color:var(--muted);margin:0;font-size:.9rem}.screen-head .warn{color:var(--text);background:color-mix(in srgb, var(--warn) 12%, transparent);border:1px solid color-mix(in srgb, var(--warn) 40%, transparent);border-radius:12px;margin-top:8px;padding:10px 12px}.screen-actions{flex-wrap:wrap;gap:8px;display:flex}.screen-foot{padding:10px 0 calc(4px + env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--bg) 30%);justify-content:flex-end;gap:8px;display:flex;position:sticky;bottom:0}.screen-foot .btn-lg{flex:1;justify-content:center}.stage-stack{overflow-y:auto}.empty-card{border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);text-align:center;padding:18px}.empty-card p{margin:0}.car-cards{flex-direction:column;gap:10px;display:flex}.car-card{background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--car);border-radius:var(--radius);grid-template-columns:84px 1fr;gap:12px;padding:12px;display:grid}.car-card.is-disconnected{opacity:.6}.avatar{border:2px solid var(--car);background:var(--panel-2);cursor:pointer;border-radius:18px;width:84px;height:84px;padding:0;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.car-card-main{flex-direction:column;gap:8px;min-width:0;display:flex}.car-card-title{align-items:center;gap:8px;display:flex}.car-card-title strong{font-size:1.05rem}.car-card-meta{color:var(--muted);margin-left:auto;font-size:.8rem}.car-card .driver{width:100%}.card-swatches{flex-wrap:wrap;gap:3px;display:flex}.card-swatches .swatch{width:24px;height:24px}.card-swatches .swatch:disabled{opacity:.4}.car-card-actions{flex-wrap:wrap;gap:6px;display:flex}.car-card-actions .btn{min-height:34px;padding:0 9px;font-size:.8rem}.goal-bar{background:color-mix(in srgb, var(--warn) 14%, var(--panel));border:1px solid color-mix(in srgb, var(--warn) 45%, transparent);border-radius:12px;width:100%;max-width:1100px;margin:0 auto;padding:8px 12px;font-size:.88rem;font-weight:700}.levels{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.level{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:12px;display:grid}.level.is-locked{opacity:.5}.level.is-done{border-color:color-mix(in srgb, var(--ok) 50%, var(--line))}.level-n{background:var(--panel-2);border-radius:50%;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.level.is-done .level-n{background:var(--ok);color:#04210d}.level-body p{color:var(--muted);margin:2px 0 0;font-size:.85rem}.level-body .level-meta{font-size:.75rem}.car-record{color:var(--muted);margin:0;font-size:.78rem}.awards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.sheet .awards{margin:12px 16px 0}.awards li{background:var(--panel);border:1px solid var(--line);border-radius:12px;grid-template-columns:auto 1fr;grid-template-areas:"icon title""icon name""icon value";column-gap:10px;padding:10px 12px;display:grid}.award-icon{grid-area:icon;align-self:center;font-size:1.6rem}.award-title{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;grid-area:title;font-size:.72rem}.awards strong{grid-area:name}.award-value{color:var(--muted);font-variant-numeric:tabular-nums;grid-area:value;font-size:.8rem}.track-stage{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);height:min(46vh,340px);position:relative;overflow:hidden}.track-summary{color:var(--muted);margin:0;font-size:.9rem}.scan-row,.race-settings{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scan-row .driver{flex:1;min-width:120px}.drive-bar{width:100%;max-width:1100px;margin:0 auto}.mini-avatar{object-fit:cover;border:2px solid var(--car);border-radius:8px;grid-area:dot;width:32px;height:32px}.standings li.is-winner{border-color:#ffd60a;box-shadow:0 0 14px #ffd60a40}.standings .race-armor{grid-column:2/-1}.cockpit.is-race .car-footer,.cockpit.is-race .telemetry{display:none}.cockpit.is-race{grid-template-rows:auto auto auto auto;grid-template-areas:"dash dash""steer pedals""arms arms""brake brake"}.cockpit.is-race .dash{flex-flow:wrap;padding:8px 12px}.cockpit.is-race .gauge{flex:0 0 110px;height:96px;min-height:0}.cockpit.is-race .speed-num{font-size:1.8rem}.cockpit.is-race .speed-target{display:none}.cockpit.is-race .combat{flex:1;min-width:180px}.cockpit.is-race .throttle{min-height:200px}.cockpit.is-race .lane{min-height:120px}.cockpit.is-race .brake{min-height:84px}.cockpit.is-race .weapon{min-height:64px}.cockpit.is-tilt .lane{display:none}.cockpit.is-race.is-pad{grid-template:"dash""pad"minmax(0,1fr)/1fr}@media (orientation:landscape) and (width>=640px){.cockpit.is-race{grid-template:"steer dash pedals""steer arms pedals""steer brake pedals"minmax(0,1fr)/minmax(0,1fr) minmax(0,1.1fr) 150px}.cockpit.is-race.is-pad{grid-template:"dash pad"minmax(0,1fr)/minmax(0,1fr) minmax(0,1.6fr)}}@media (orientation:landscape) and (pointer:coarse){body:has(.cockpit.is-race) .steps{display:none}body:has(.cockpit.is-race) .topbar{padding-top:4px;padding-bottom:4px}.cockpit.is-race,.cockpit.is-race:not(.is-pad){grid-template:"brake dash pedals""brake steer pedals"minmax(0,1fr)"brake arms pedals"/112px minmax(0,1fr) 132px;gap:8px}.cockpit.is-race .brake{writing-mode:vertical-rl;height:100%;min-height:0;transform:rotate(180deg)}.cockpit.is-race .throttle{min-height:0}.cockpit.is-race .dash{flex-wrap:nowrap;padding:6px 10px}.cockpit.is-race .gauge{flex-basis:84px;height:70px}.cockpit.is-race .speed-num{font-size:1.4rem}.cockpit.is-race .steer{grid-template-rows:auto;align-content:center}.cockpit.is-race .tilt-bar{flex-direction:row;align-items:center;padding:8px}.cockpit.is-race .tilt-label{display:none}.cockpit.is-race .tilt-track{flex:1;height:44px}.cockpit.is-race .tilt-actions{flex-direction:column;gap:4px}.cockpit.is-race .tilt-actions .btn{min-height:28px;padding:0 8px;font-size:.75rem}.cockpit.is-race .tilt-dot{width:32px;height:32px}.cockpit.is-race.is-touch .uturn{display:none}.cockpit.is-race .weapon{min-height:52px}}.rotate-hint{display:none}@media (orientation:portrait){.cockpit.is-race.is-touch:not(.is-portrait-ok):not(.is-pad) .rotate-hint{z-index:3;text-align:center;border-radius:var(--radius);background:#0b0d12f0;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex;position:absolute;inset:0}}.rotate-hint p{max-width:28ch;margin:0}.rotate-phone{border:4px solid var(--text);border-radius:12px;width:54px;height:92px;animation:2.4s ease-in-out infinite rotate-phone}@keyframes rotate-phone{0%,20%{transform:rotate(0)}55%,to{transform:rotate(-90deg)}}.tilt-bar{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);flex-direction:column;grid-column:1/-1;gap:8px;padding:12px;display:flex}.cockpit:not(.is-tilt) .tilt-track{display:none}.tilt-label{color:var(--muted);text-align:center;font-size:.8rem}.tilt-track{background:linear-gradient(90deg, color-mix(in srgb, var(--car) 25%, var(--panel-2)), var(--panel-2) 30%, var(--panel-2) 70%, color-mix(in srgb, var(--car) 25%, var(--panel-2)));border-radius:28px;height:56px;position:relative}.tilt-mark{background:var(--line);width:2px;position:absolute;top:8px;bottom:8px}.tilt-mark.is-left{left:20%}.tilt-mark.is-right{left:80%}.tilt-dot{background:var(--car);width:40px;height:40px;box-shadow:0 0 12px var(--car);border-radius:50%;transition:left 80ms linear;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tilt-dot.is-hot{outline:3px solid #fff}.tilt-actions{justify-content:center;gap:8px;display:flex}.sheet{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);width:min(440px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text);padding:0;overflow-y:auto}.sheet::backdrop{background:#0009}.sheet-head{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 0;display:flex}.sheet-head h2{margin:0;font-size:1.15rem}.sheet-body{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:12px 16px;display:flex}.sheet-body p{margin:0}.sheet .warn{color:var(--text);background:color-mix(in srgb, var(--warn) 12%, transparent);border:1px solid color-mix(in srgb, var(--warn) 40%, transparent);border-radius:12px;padding:10px 12px}.qr{aspect-ratio:1;background:#fff;border-radius:12px;width:min(240px,70vw);padding:8px}.qr svg{width:100%;height:100%;display:block}.room-code strong{letter-spacing:.2em;font-variant-numeric:tabular-nums;font-size:1.4rem}.guest-list{text-align:left;flex-direction:column;gap:6px;width:100%;margin:0;padding:0;list-style:none;display:flex}.guest-list li{background:var(--panel-2);border-radius:10px;padding:8px 12px;font-size:.9rem}.guest-list .muted{color:var(--muted);text-align:center}.sheet-join{border-top:1px solid var(--line);color:var(--muted);padding:12px 16px 16px;font-size:.85rem}.sheet-join p{margin:0 0 8px}.join-row{gap:8px;display:flex}.code-input{border:1px solid var(--line);background:var(--panel-2);min-width:0;color:var(--text);font:inherit;letter-spacing:.15em;text-transform:uppercase;border-radius:10px;flex:1;padding:10px 12px;font-size:1rem}.room-tag{letter-spacing:.08em;color:var(--muted);font-size:.85rem;font-weight:700}.stage-stack{flex-direction:column;gap:8px}.guest-race{background:var(--panel);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;width:100%;max-width:1100px;margin:0 auto;padding:8px 12px;font-size:.85rem;display:flex}.guest-race:empty{display:none}.guest-race-text{flex:1;font-weight:700}.mini-lights{gap:4px;display:flex}.mini-lights[hidden]{display:none}.mini-lights .bulb{width:16px}.sheet-map{background:var(--panel-2);border-radius:12px;height:min(42vh,280px);margin:12px 16px 0;position:relative;overflow:hidden}.standings{flex-direction:column;gap:6px;margin:0;padding:12px 16px 16px;list-style:none;display:flex}.standings li{background:var(--panel-2);border-left:4px solid var(--car);border-radius:10px;grid-template-columns:2.2em auto 1fr auto;grid-template-areas:"pos dot name laps""pos dot name time";align-items:center;gap:0 8px;padding:8px 10px;display:grid}.standings li.is-me{outline:2px solid var(--car)}.standings .chip-dot{grid-area:dot}.pad-panel{display:none}.cockpit.is-pad{grid-template:"dash""pad"minmax(0,1fr)"footer"/1fr}.cockpit.is-pad .steer,.cockpit.is-pad .pedals,.cockpit.is-pad .arms,.cockpit.is-pad .brake{display:none}.cockpit.is-pad .pad-panel{flex-direction:column;grid-area:pad;gap:8px;min-height:0;display:flex}.cockpit.is-pad .gauge{max-height:200px}.pad-text{color:var(--muted);text-align:center;margin:0;font-size:.8rem}.pad-map{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex:1;min-height:180px;position:relative;overflow:hidden}.map-car.is-me circle{r:.18;stroke-width:.05px}@media (orientation:landscape) and (width>=640px){.cockpit.is-pad{grid-template:"dash pad"minmax(0,1fr)"footer footer"/minmax(0,1fr) minmax(0,1.4fr)}}.chip-race{font-weight:700}.race{flex-direction:column;flex:1;gap:12px;width:100%;max-width:1100px;min-height:0;margin:0 auto;display:flex}.race-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.race-title{margin:0;font-size:1.3rem}.race-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.laps{align-items:center;gap:4px;display:inline-flex}.laps-num{text-align:center;font-variant-numeric:tabular-nums;min-width:5.5em;font-size:.9rem}.race-body{flex:1;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:12px;min-height:0;display:grid}.race-stage{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-height:240px;position:relative;overflow:hidden}.race-map{justify-content:center;align-items:center;padding:12px;display:flex;position:absolute;inset:0}.map-svg{width:100%;height:100%}.map-edge,.map-road,.map-center{fill:none;stroke-linejoin:round;stroke-linecap:round}.map-edge{stroke:#3a4256;stroke-width:.42px}.map-road{stroke:#232a3a;stroke-width:.36px}.map-center{stroke:#ffffff40;stroke-width:.015px;stroke-dasharray:.08 .08}.map-start{stroke:#fff;stroke-width:.06px;stroke-dasharray:.06 .06}.map-car circle{stroke:#fff;stroke-width:.03px;filter:drop-shadow(0 0 .06px #000c)}.map-car text{fill:var(--text);text-anchor:middle;paint-order:stroke;stroke:var(--bg);stroke-width:.04px;font-size:.17px;font-weight:700}.map-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;display:flex}.map-empty p{max-width:30ch;margin:0}.lights{background:#05060a;border-radius:14px;gap:10px;padding:10px 14px;display:none;position:absolute;top:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000080}.lights.is-on{display:flex}.bulb{aspect-ratio:1;background:#2a0b0b;border:2px solid #1a1d27;border-radius:50%;width:clamp(26px,7vmin,44px)}.bulb.is-lit{background:radial-gradient(circle at 40% 35%,#ff8a80,#ff1a1a 55%,#a00000);box-shadow:0 0 18px #ff2a2a}.race-banner{color:#1a1200;opacity:0;pointer-events:none;white-space:nowrap;background:linear-gradient(135deg,#ffd60a,#ff9f0a);border-radius:14px;padding:12px 22px;font-size:1.2rem;font-weight:800;transition:opacity .3s,transform .3s;position:absolute;bottom:18px;left:50%;transform:translate(-50%,20px)}.race-banner.is-visible{opacity:1;transform:translate(-50%)}.race-side{flex-direction:column;gap:10px;min-height:0;display:flex;overflow-y:auto}.race-table{flex-direction:column;gap:8px;display:flex}.race-row{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--car);border-radius:12px;grid-template-columns:2.2em auto 1fr auto;grid-template-areas:"pos dot name laps""pos driver driver time""pos armor armor armor";align-items:center;gap:4px 8px;padding:10px 12px;display:grid}.race-row.is-winner{border-color:#ffd60a;box-shadow:0 0 16px #ffd60a40}.race-row.is-off{opacity:.5}.race-row .chip-dot{grid-area:dot}.race-pos{text-align:center;grid-area:pos;font-size:1.3rem;font-weight:800}.race-name{grid-area:name;font-weight:700}.race-laps{font-variant-numeric:tabular-nums;grid-area:laps;font-weight:700}.race-time{color:var(--muted);font-variant-numeric:tabular-nums;grid-area:time;font-size:.75rem}.race-time.is-rough{color:var(--danger);font-weight:700}.race-hint p{margin:4px 0 0}.driver{border:1px solid var(--line);background:var(--panel-2);min-width:0;color:var(--text);font:inherit;border-radius:8px;grid-area:driver;padding:6px 8px;font-size:.85rem}.race-armor{background:var(--panel-2);border-radius:2px;grid-area:armor;height:4px;overflow:hidden}.race-armor span{background:var(--ok);height:100%;display:block}.race-hint{color:var(--muted);margin:0;font-size:.8rem}@media (width<=760px){.race-body{grid-template-rows:minmax(220px,1fr) auto;grid-template-columns:1fr}.race-side{overflow:visible}}.btn-pad{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-weight:700;transition:transform 60ms,background .1s;display:flex}.btn-pad:active{background:var(--panel-2);transform:scale(.96)}.btn-pad .icon{width:34px;height:34px}.btn-pad span{color:var(--muted);font-size:.75rem;font-weight:600}.steer{grid-area:steer;grid-template-rows:1fr auto;grid-template-columns:1fr 1fr;gap:12px;display:grid}.lane{min-height:96px}.lane:active{background:color-mix(in srgb, var(--car) 30%, var(--panel))}.uturn{flex-direction:row;grid-column:1/-1;gap:10px;min-height:52px}.uturn .icon{width:22px;height:22px}.pedals{flex-direction:column;grid-area:pedals;gap:8px;display:flex}.throttle{border-radius:var(--radius);background:repeating-linear-gradient(to top, transparent 0 calc(10% - 1px), var(--line) calc(10% - 1px) 10%), var(--panel);border:1px solid var(--line);cursor:ns-resize;touch-action:none;flex:1;min-height:110px;position:relative;overflow:hidden}.throttle-fill{background:linear-gradient(to top, color-mix(in srgb, var(--car) 60%, transparent), var(--car));border-top:3px solid #fff;height:0;transition:height .12s;position:absolute;inset:auto 0 0}.throttle.is-dragging .throttle-fill{transition:none}.throttle-label{writing-mode:vertical-rl;letter-spacing:.3em;color:#ffffff80;pointer-events:none;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex;position:absolute;inset:0;transform:rotate(180deg)}.pedal-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.btn-pad.small{min-height:48px}.btn-pad.small .icon{width:24px;height:24px}.brake{background:color-mix(in srgb, var(--danger) 85%, #000);color:#fff;letter-spacing:.25em;border-color:#0000;grid-area:brake;min-height:68px;font-size:1.2rem}.brake:active{background:var(--danger)}.car-footer{flex-wrap:wrap;grid-area:footer;justify-content:space-between;align-items:center;gap:12px;display:flex}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{background:var(--c) content-box;cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;padding:2px}.swatch[aria-checked=true]{border-color:var(--text)}.overlay{display:none}.cockpit.is-blocked .overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:var(--radius);z-index:2;background:#0b0d12b8;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay-card{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px;display:flex}.overlay-card p{margin:0}.overlay-actions{gap:8px;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--car);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{left:50%;bottom:calc(20px + env(safe-area-inset-bottom));opacity:0;pointer-events:none;z-index:10;background:#2a3142;border-radius:12px;max-width:calc(100% - 32px);padding:12px 18px;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,20px);box-shadow:0 8px 30px #0006}.toast.is-visible{opacity:1;transform:translate(-50%)}@media (orientation:landscape) and (width>=640px){.cockpit{grid-template:"steer dash pedals"minmax(0,1fr)"steer arms pedals""steer brake pedals""footer footer footer"/minmax(0,1fr) minmax(0,1.1fr) 140px}.lane{min-height:0}}@media (height<=480px) and (orientation:landscape){.topbar{padding:6px 16px}.car-footer .swatch{width:22px;height:22px}.brake{min-height:52px}}@media (width<=420px){.brand em,.btn-label{display:none}.topbar{padding:10px 12px}.stage,.garage{padding-left:12px;padding-right:12px}.btn{padding:0 12px}.brake{min-height:60px}}@media (height<=700px) and (orientation:portrait){.lane{min-height:72px}.uturn{min-height:44px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}:root{--bg:#05060a;--panel:#10131eeb;--panel-2:#1a2032;--line:#2b3450;--text:#f5f7ff;--muted:#8f99b8;--accent:#ff6b00;--accent-2:#ffd000;--cyan:#00e0ff;--danger:#ff2d55;--ok:#2bff88;--radius:14px;--display:"Russo One", "Exo 2 Variable", system-ui, sans-serif;font-family:"Exo 2 Variable",Segoe UI,system-ui,sans-serif}body{background:radial-gradient(ellipse 80% 50% at 50% -10%, #ff6b0029, transparent 70%), radial-gradient(ellipse 60% 40% at 50% 110%, #00e0ff14, transparent 70%), repeating-linear-gradient(45deg, #090b12 0 3px, #06070c 3px 6px), var(--bg)}h1,h2,.display{font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;font-weight:400}.btn{text-transform:uppercase;letter-spacing:.04em;background:linear-gradient(#232b42,#171d2e);border:1px solid #36405f;border-radius:6px;font-weight:700;transition:transform 80ms,filter .15s,box-shadow .15s;transform:skew(-10deg)}.btn:active{transform:skew(-10deg)scale(.96)}.btn:hover{filter:brightness(1.15)}.btn-ghost{background:#ffffff0a}.btn-primary{background:linear-gradient(100deg, var(--accent), var(--accent-2));color:#140800;font-family:var(--display);border-color:#0000;font-weight:400;box-shadow:0 0 22px #ff6b0073,inset 0 -3px #0003}.btn-primary:disabled{filter:grayscale()brightness(.6);box-shadow:none}.btn-stop{color:#fff;font-family:var(--display);background:linear-gradient(100deg,#ff2d55,#ff5a1f);border-color:#0000;font-weight:400;box-shadow:0 0 16px #ff2d5573}.btn-lg{min-height:58px;padding:0 28px;font-size:1.15rem}.btn:disabled{opacity:.5;cursor:default}.topbar{gap:10px}.brand{font-family:var(--display);letter-spacing:.03em;font-style:italic;font-weight:400}.brand-mark{background:linear-gradient(135deg, var(--accent), var(--accent-2));box-shadow:0 0 12px #ff6b0099}.titlebar{align-items:center;gap:12px;padding:0 16px 8px;display:flex}.titlebar[hidden]{display:none}.back{cursor:pointer;background:#ffffff0d;border:1px solid #36405f;border-radius:6px;place-items:center;width:44px;height:40px;font-size:1.4rem;display:grid;transform:skew(-10deg)}.screen-title{font-family:var(--display);text-transform:uppercase;background:linear-gradient(90deg,#fff,#c9d3ff);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(1.2rem,4.5vw,1.7rem);font-style:italic}.trophies{font-family:var(--display);color:var(--accent-2);background:#ffd0001f;border:1px solid #ffd00066;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex;transform:skew(-10deg)}.car-card,.level,.standings li,.awards li,.track-stage,.goal-bar,.guest-race,.dash,.btn-pad,.weapon,.throttle,.sheet{border-radius:var(--radius)}.screen-head h1{font-style:italic}.driver{background:#121726;border-color:#36405f;border-radius:6px;font-weight:600}body:has(.home) .topbar .brand{visibility:hidden}.home{flex:1;grid-template-columns:1fr;grid-template-areas:"logo""hero""menu";align-content:center;gap:14px;width:100%;max-width:1100px;margin:0 auto;padding-bottom:12px;display:grid}@media (orientation:landscape) and (width>=640px){.home{grid-template-columns:1.1fr 1fr;grid-template-areas:"logo hero""menu hero";align-items:center;column-gap:28px}}.home-logo{line-height:.9;font-family:var(--display);flex-direction:column;grid-area:logo;font-style:italic;display:flex;transform:skew(-6deg)}@media (orientation:portrait){.home-logo{align-items:center}}.home-logo-a{background:linear-gradient(#fff 20%,#aab6e0);color:#0000;filter:drop-shadow(0 4px #00000080);-webkit-background-clip:text;background-clip:text;font-size:clamp(2.6rem,10vmin,4.6rem)}.home-logo-b{letter-spacing:.32em;background:linear-gradient(90deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.4rem,5vmin,2.2rem)}.hero-car{flex-direction:column;grid-area:hero;align-items:center;gap:6px;display:flex}.hero-platform{aspect-ratio:1;background:radial-gradient(circle, color-mix(in srgb, var(--car) 45%, transparent) 0%, transparent 68%);cursor:pointer;border:0;border-radius:50%;width:clamp(150px,38vmin,260px);padding:0;animation:4s ease-in-out infinite float;position:relative}.hero-platform:after{content:"";background:radial-gradient(ellipse, color-mix(in srgb, var(--car) 60%, transparent), transparent 70%);filter:blur(4px);border-radius:50%;height:16%;position:absolute;bottom:-6%;left:8%;right:8%}.hero-platform img{object-fit:cover;border:3px solid var(--car);width:68%;height:68%;box-shadow:0 0 34px color-mix(in srgb, var(--car) 70%, transparent);border-radius:24px;position:absolute;inset:16%}.hero-platform.is-empty span{color:var(--muted);border:3px dashed #4a5578;border-radius:50%;place-items:center;font-size:3rem;display:grid;position:absolute;inset:22%}@keyframes float{50%{transform:translateY(-8px)}}.hero-name{font-family:var(--display);text-transform:uppercase;font-size:clamp(1.4rem,5vmin,2rem);font-style:italic}.hero-stats{color:var(--muted);font-size:.85rem;font-weight:600}.home-menu{grid-area:menu;grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.menu-race{flex-direction:column;grid-column:1/-1;gap:0;min-height:82px;line-height:1}.menu-race span{font-size:clamp(1.8rem,7vmin,2.6rem)}.menu-race small{letter-spacing:.3em;font-family:"Exo 2 Variable",sans-serif;font-size:.75rem;font-weight:800}.menu-tile{text-align:left;cursor:pointer;background:linear-gradient(160deg,#20283e,#121726);border:1px solid #36405f;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;min-height:88px;padding:10px 12px;transition:transform .1s,border-color .15s;display:flex;transform:skew(-6deg)}.menu-tile:active{transform:skew(-6deg)scale(.96)}.menu-tile:hover{border-color:var(--accent)}.menu-tile:disabled{opacity:.45}.menu-tile strong{font-family:var(--display);text-transform:uppercase;font-size:.95rem;font-weight:400}.menu-tile small{color:var(--muted);font-size:.72rem}.menu-icon{font-size:1.5rem}.menu-tile.is-campaign{border-color:#ffd00080}.menu-tile.is-multi{border-color:#00e0ff80}.car-cards{scroll-snap-type:x mandatory;scrollbar-width:none;flex-direction:row;gap:14px;padding:6px 2px 10px;overflow-x:auto}.car-card{scroll-snap-align:center;border-left-width:1px;border-top:4px solid var(--car);background:linear-gradient(180deg, color-mix(in srgb, var(--car) 16%, #141927), #0f131e 60%);flex:0 0 min(320px,84vw);grid-template-columns:1fr;justify-items:stretch}.car-card .avatar{width:128px;height:128px;box-shadow:0 0 26px color-mix(in srgb, var(--car) 55%, transparent);border-radius:24px;justify-self:center}.car-card-title strong{font-family:var(--display);text-transform:uppercase;font-size:1.2rem;font-style:italic;font-weight:400}.empty-card{flex:1}.setup>.screen-foot .btn{white-space:nowrap}.setup .race-settings .laps-num{font-family:var(--display);font-size:1.1rem}@media (orientation:landscape) and (width>=640px){.screen.setup{grid-template-columns:1.3fr 1fr;grid-template-areas:"head head""map info""map scan""map settings""map foot";align-content:start;column-gap:18px;max-width:1100px;display:grid}.setup>.screen-head{grid-area:head}.setup>.track-stage{grid-area:map;height:auto;min-height:220px}.setup>.track-summary{grid-area:info}.setup>.scan-row{grid-area:scan}.setup>.race-settings{grid-area:settings}.setup>.screen-foot{flex-direction:column;grid-area:foot;align-items:stretch;position:static}}.levels{position:relative}.levels:before{content:"";background:linear-gradient(180deg, var(--accent-2), var(--accent) 40%, #2b3450 60%);border-radius:2px;width:4px;position:absolute;top:20px;bottom:20px;left:31px}.level{background:linear-gradient(90deg,#171d2e,#10141f);position:relative}.level-n{z-index:1;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);width:44px;height:44px;font-family:var(--display);background:#2b3450;border-radius:0;font-size:1.1rem;position:relative}.level.is-open .level-n{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#140800;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{filter:brightness(1.3)}}.level-body strong{font-family:var(--display);text-transform:uppercase;font-style:italic;font-weight:400}.results{max-width:900px}.results-head{text-align:center}.results-head h1{background:linear-gradient(180deg, #fff 30%, var(--accent-2));color:#0000;filter:drop-shadow(0 3px #00000080);-webkit-background-clip:text;background-clip:text;margin:4px 0;font-size:clamp(1.8rem,7vmin,2.8rem);font-style:italic}.results.is-lost .results-head h1{background:linear-gradient(#fff 30%,#ff7a8f);-webkit-background-clip:text;background-clip:text}.results-head p{color:var(--muted);margin:0}.podium{grid-template-columns:repeat(3,1fr);align-items:end;gap:10px;padding-top:8px;display:grid}.podium-step{flex-direction:column;align-items:center;gap:4px;animation:.5s ease-out both rise;display:flex}.podium-step.is-p1{animation-delay:.25s}.podium-step.is-p3{animation-delay:.1s}.podium-avatar{aspect-ratio:1;object-fit:cover;border:3px solid var(--car);width:clamp(56px,16vmin,92px);box-shadow:0 0 22px color-mix(in srgb, var(--car) 60%, transparent);border-radius:18px}.is-p1 .podium-avatar{width:clamp(72px,20vmin,116px)}.podium-name{font-family:var(--display);text-transform:uppercase;font-size:.95rem;font-style:italic;font-weight:400}.podium-time{color:var(--muted);font-size:.72rem}.podium-block{width:100%;font-family:var(--display);color:#0000008c;border-radius:10px 10px 0 0;place-items:start center;padding-top:8px;font-size:2rem;display:grid}.is-p1 .podium-block{background:linear-gradient(#ffe066,#c99700);height:clamp(90px,20vmin,140px)}.is-p2 .podium-block{background:linear-gradient(#e8eefc,#8e9bb8);height:clamp(64px,14vmin,100px)}.is-p3 .podium-block{background:linear-gradient(#f0a46b,#9b5a2a);height:clamp(46px,10vmin,72px)}.podium-step.is-empty .podium-block{opacity:.15}:is(body:has(.hud) .topbar,body:has(.hud) .titlebar){display:none}.stage:has(.hud){padding:0}.hud{--pad:max(12px, env(safe-area-inset-left));touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(ellipse 70% 60% at 50% 120%, color-mix(in srgb, var(--car) 22%, transparent), transparent 70%), repeating-linear-gradient(90deg, transparent 0 46px, #ffffff06 46px 47px);flex:1;width:100%;min-height:0;position:relative;overflow:hidden}.hud-fx{pointer-events:none;z-index:5;position:absolute;inset:0}.hud.is-down .hud-fx{box-shadow:inset 0 0 90px 30px #ff1e3c8c}.hud.is-shielded .hud-fx{box-shadow:inset 0 0 70px 20px #00e0ff73}.hud-fx.is-hit{animation:.45s ease-out hit}@keyframes hit{0%{box-shadow:inset 0 0 120px 50px #ff1e3cbf}to{box-shadow:inset 0 0 #ff1e3c00}}.hud-tl{top:10px;left:var(--pad);z-index:3;flex-direction:column;gap:4px;min-width:150px;display:flex;position:absolute}.hud-pos{font-family:var(--display);text-shadow:0 0 18px color-mix(in srgb, var(--car) 70%, transparent);font-style:italic;line-height:.9}.hud-pos-n{background:linear-gradient(180deg, #fff 30%, var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(3rem,11vmin,5.4rem)}.hud-pos-of{color:var(--muted);font-size:clamp(1.1rem,3.6vmin,1.7rem)}.hud-lap{font-family:var(--display);letter-spacing:.06em;font-size:clamp(.85rem,2.8vmin,1.1rem);font-style:italic}.hud-bars{flex-direction:column;gap:4px;width:min(190px,32vw);display:flex}.hud-bar{background:#ffffff1a;border-radius:4px;height:7px;overflow:hidden;transform:skew(-20deg)}.hud-bar span{height:100%;transition:width .15s;display:block}.hud-bar.is-armor span{background:linear-gradient(90deg,#2bff88,#c6ff3d)}.hud-bar.is-energy span{background:linear-gradient(90deg, var(--accent-2), var(--accent))}.hud-target{color:#ff5f7a;min-height:1em;font-size:.78rem;font-weight:700}.hud-goal{z-index:3;max-width:40%;color:var(--accent-2);text-align:center;background:#ffd00024;border:1px solid #ffd00080;border-radius:6px;padding:6px 14px;font-size:.8rem;font-weight:800;position:absolute;top:10px;left:50%;transform:translate(-50%)skew(-10deg)}.hud-pause{top:10px;right:calc(var(--pad) + min(34vw, 300px) + 10px);z-index:4;cursor:pointer;background:#0a0c14b3;border:1px solid #36405f;border-radius:50%;width:42px;height:42px;font-size:1rem;position:absolute}.hud-map{top:10px;right:var(--pad);z-index:3;cursor:pointer;background:#080a12bf;border:1px solid #36405f;border-radius:12px;width:min(34vw,300px);height:min(36vh,190px);padding:0;position:absolute;overflow:hidden}.hud-map .race-map{padding:6px;inset:0}.hud-count{z-index:4;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:none;position:absolute;inset:0}.hud-count.is-on{display:flex}.hud-bulbs{background:#020305;border-radius:14px;gap:10px;padding:10px 14px;display:none;box-shadow:0 10px 40px #0009}.hud-count.has-bulbs .hud-bulbs{display:flex}.hud-bulb{aspect-ratio:1;background:#2a0b0b;border:2px solid #191b25;border-radius:50%;width:clamp(28px,7vmin,48px)}.hud-bulb.is-lit{background:radial-gradient(circle at 40% 35%,#ff9a8a,#ff1a1a 55%,#a00000);box-shadow:0 0 22px #ff2a2a}.hud-count-text{font-family:var(--display);text-shadow:0 4px #00000080,0 0 30px #ff6b0099;font-size:clamp(2rem,9vmin,4.4rem);font-style:italic}.hud-count.is-small .hud-count-text{font-size:clamp(1.4rem,6vmin,2.6rem)}.hud-count.is-go .hud-count-text{background:linear-gradient(180deg, #fff, var(--ok));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(4rem,22vmin,10rem);animation:1.3s ease-out both go}@keyframes go{0%{opacity:0;transform:scale(.4)}20%{opacity:1;transform:scale(1.15)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}.hud-brake,.hud-gas{z-index:3;cursor:pointer;touch-action:none;border-radius:18px;justify-content:center;align-items:flex-end;display:flex;position:absolute;bottom:12px;overflow:hidden}.hud-brake{left:var(--pad);background:repeating-linear-gradient(0deg,#ffffff0f 0 6px,#0000 6px 18px),linear-gradient(#ff2d5559,#ff2d55b3);border:2px solid #ff2d55cc;width:min(24vw,190px);height:min(52%,260px);box-shadow:0 0 24px #ff2d5559}.hud-brake:active{background:linear-gradient(#ff2d55,#b0102e);transform:scale(.97)}.hud-gas{right:var(--pad);background:repeating-linear-gradient(0deg,#ffffff0f 0 6px,#0000 6px 18px),#ffffff0d;border:2px solid #2bff88b3;width:min(17vw,140px);height:min(62%,300px);box-shadow:0 0 24px #2bff8840}.hud-gas-fill{background:linear-gradient(#c6ff3dd9,#2bff8859);border-top:3px solid #fff;height:0;transition:height .12s;position:absolute;inset:auto 0 0}.hud-gas.is-pressed .hud-gas-fill{transition:none}.hud-pedal-label{font-family:var(--display);letter-spacing:.12em;text-shadow:0 2px 6px #000000b3;margin-bottom:12px;font-size:1rem;font-style:italic;position:relative}.hud-weapons{z-index:3;right:calc(var(--pad) + min(17vw, 140px) + 12px);grid-template-columns:repeat(2,auto);gap:10px;display:grid;position:absolute;bottom:12px}.hud-weapon{--cd:0;aspect-ratio:1;background:conic-gradient(#000000a6 calc(var(--cd) * 1deg), transparent 0), radial-gradient(circle at 50% 35%, #2b3555, #10141f);cursor:pointer;touch-action:none;border:2px solid #ffffff40;border-radius:50%;align-content:center;place-items:center;gap:0;width:clamp(58px,13vmin,76px);display:grid;position:relative;box-shadow:0 6px 18px #00000080}.hud-weapon:active{transform:scale(.92)}.hud-weapon.is-off{filter:grayscale(.6)brightness(.7)}.hud-weapon-icon{font-size:clamp(1.2rem,4.5vmin,1.6rem);line-height:1}.hud-weapon-name{text-transform:uppercase;letter-spacing:.04em;font-size:.6rem;font-weight:800}.hud-weapon.is-blaster{border-color:#ff5f7a}.hud-weapon.is-missile{border-color:var(--accent)}.hud-weapon.is-pulse{border-color:#c06bff}.hud-weapon.is-shield{border-color:var(--cyan)}.hud-center{z-index:3;left:calc(var(--pad) + min(24vw, 190px) + 12px);right:calc(var(--pad) + min(17vw, 140px) + 12px + 2 * clamp(58px, 13vmin, 76px) + 22px);grid-template-rows:auto auto;grid-template-columns:auto 1fr auto;place-items:center;gap:6px;display:grid;position:absolute;bottom:12px}.hud-speed{align-items:center;gap:10px;display:flex}.hud-wheel{color:#dfe5ff;filter:drop-shadow(0 0 8px #0009);width:clamp(54px,15vmin,84px);transition:transform 80ms linear}.hud-wheel.is-hot{color:var(--accent-2)}.hud-speed-read{flex-direction:column;line-height:1;display:flex}.hud-speed-n{font-family:var(--display);text-shadow:0 0 16px color-mix(in srgb, var(--car) 70%, transparent);font-size:clamp(2.2rem,10vmin,4rem);font-style:italic}.hud-speed-unit{color:var(--muted);letter-spacing:.1em;font-size:.75rem;font-weight:800}.hud-speed-sub{color:var(--muted);font-size:.7rem}.hud-lane{cursor:pointer;touch-action:none;background:#ffffff0f;border:1px solid #36405f;border-radius:14px;width:clamp(54px,12vmin,72px);height:clamp(54px,12vmin,72px);font-size:1.4rem}.hud.is-tilt .hud-lane{visibility:hidden}.hud-tilt-actions{grid-column:1/-1;gap:6px;display:flex}.hud:not(.is-tilt) .hud-tilt-actions .hud-mini:not(:last-child){display:none}.hud-mini{text-transform:uppercase;cursor:pointer;background:#0a0c1499;border:1px solid #36405f;border-radius:6px;padding:4px 10px;font-size:.7rem;font-weight:800;transform:skew(-10deg)}.hud.is-pad .hud-brake,.hud.is-pad .hud-gas,.hud.is-pad .hud-weapons,.hud.is-pad .hud-lane,.hud.is-pad .hud-tilt-actions{display:none}.hud.is-pad .hud-map{top:10px;bottom:10px;left:calc(var(--pad) + min(24vw, 190px) + 16px);right:calc(var(--pad) + 60px);width:auto;height:auto}@media (orientation:portrait){.hud.is-pad .hud-map{top:150px;bottom:150px;left:var(--pad);right:var(--pad)}}.hud.is-pad .hud-center{left:0;right:0}.hud.is-pad .hud-pause{right:var(--pad)}@media (orientation:portrait){.hud-map{width:44vw;height:22vh}.hud-pause{right:calc(var(--pad) + 44vw + 10px)}.hud-brake{width:28vw;height:34%}.hud-gas{width:22vw;height:46%}.hud-weapons{right:var(--pad);grid-template-columns:repeat(4,auto);bottom:calc(46% + 24px)}.hud-center{left:calc(var(--pad) + 28vw + 8px);right:calc(var(--pad) + 22vw + 8px);grid-template-columns:auto auto}.hud-center .hud-speed{flex-direction:column;grid-area:1/1/auto/-1}.hud-center .hud-lane{grid-row:2}.hud-goal{max-width:90%;top:auto;bottom:calc(46% + 110px)}.hud.is-touch:not(.is-portrait-ok):not(.is-pad) .hud-rotate{z-index:6;text-align:center;background:#05060af0;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex;position:absolute;inset:0}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.screen>*{animation:.35s ease-out both rise}.screen>:nth-child(2){animation-delay:40ms}.screen>:nth-child(3){animation-delay:80ms}.screen>:nth-child(4){animation-delay:.12s}.screen-spectate>*{animation:none}.car-place{color:var(--muted);background:#ffffff0f;border:1px solid #36405f;border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.car-place.is-track{color:#7dffb0;background:#30d1581a;border-color:#30d15880}.car-place.is-charger{color:#8fd8ff;background:#0a84ff1f;border-color:#0a84ff80}.car-place.is-off{color:#ffb4a8;background:#ff3b3024;border-color:#ff3b3099;animation:1.2s ease-in-out infinite place-blink}@keyframes place-blink{50%{opacity:.55}}.hero-car .car-place{align-self:center}.hud.is-off-track:after{content:"";z-index:2;pointer-events:none;animation:1.2s ease-in-out infinite place-blink;position:absolute;inset:0;box-shadow:inset 0 0 0 4px #ff3b30cc,inset 0 0 80px #ff3b3059}.browser-banner{border:1px solid color-mix(in srgb, var(--accent-2) 55%, transparent);background:color-mix(in srgb, var(--accent-2) 12%, #0b0d12);border-radius:14px;margin:0 16px 10px;padding:12px 14px}.browser-banner p{margin:0 0 10px;font-size:.9rem}.browser-banner-actions{flex-wrap:wrap;gap:8px;display:flex}body:has(.hud) .browser-banner{display:none}body:has(.hud) .toast{top:calc(62px + env(safe-area-inset-top));max-width:min(34vw,340px);padding:8px 14px;font-size:.85rem;bottom:auto;transform:translate(-50%,-20px)}body:has(.hud) .toast.is-visible{transform:translate(-50%)}@media (orientation:portrait){body:has(.hud) .toast{max-width:calc(100% - 32px);top:210px}}@media (orientation:landscape) and (height<=500px){.topbar{padding:6px 16px}.titlebar{padding-bottom:4px}.screen-title{font-size:1.1rem}.back{width:36px;height:36px}.setup>.screen-head{display:none}.screen.setup{grid-template-areas:"map info""map scan""map settings""map foot";row-gap:8px}.setup>.track-stage{height:calc(100dvh - 120px);min-height:0}.setup>.screen-foot{flex-direction:row}.setup>.screen-foot .btn{flex:1;padding-inline:10px}.results{grid-template-columns:1.2fr 1fr;grid-template-areas:"head head""podium awards""foot foot";gap:6px 18px;display:grid}.results-head{grid-area:head}.results-head h1{margin:0;font-size:1.4rem}.results>.podium{grid-area:podium;padding-top:0}.results>.awards{grid-area:awards;align-self:start;max-height:calc(100dvh - 200px);overflow-y:auto}.results>.screen-foot{grid-area:foot;padding-top:2px;position:static}.results>.screen-foot .btn-lg{padding-block:10px}.podium-avatar{border-radius:12px;width:48px}.is-p1 .podium-avatar{width:62px}.is-p1 .podium-block{height:70px}.is-p2 .podium-block{height:50px}.is-p3 .podium-block{height:36px}.podium-block{padding-top:4px;font-size:1.4rem}}
