:root{--neon-a: #4de2ff;--neon-b: #ff5d8f;--neon-c: #c17bff;--sun: #ffe9a3;--ink: #12082a;--paper: #fdf6e3;--panel: rgba(24, 11, 46, .72);--ui-font: "Rajdhani", "Eurostile", "Bahnschrift", "DIN Alternate", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:#12082a;color:var(--paper);font-family:var(--ui-font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none}#app{position:fixed;inset:0}#viewport{position:absolute;inset:0;width:100%;height:100%;display:block}#app:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 55%,transparent 45%,rgba(20,6,40,.55) 100%),repeating-linear-gradient(to bottom,rgba(255,255,255,.022) 0 1px,transparent 1px 3px);z-index:5}#ui{position:absolute;inset:0;z-index:10;pointer-events:none;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.panel{background:var(--panel);border:1px solid rgba(255,255,255,.14);border-radius:14px;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);box-shadow:0 10px 40px #00000059}.label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.62;font-weight:600}.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.hud{position:absolute;inset:0;opacity:0;transition:opacity .4s ease}.hud.is-visible{opacity:1}.hud-top-left{position:absolute;top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));display:flex;gap:10px}.stat{padding:8px 14px 9px;min-width:92px}.stat .value{font-size:26px;font-weight:700;line-height:1.05;letter-spacing:.02em}.stat .value small{font-size:14px;opacity:.6;font-weight:600}.hud-top-right{position:absolute;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));text-align:right;padding:8px 14px 10px;min-width:168px}.hud-top-right .time{font-size:30px;font-weight:700;line-height:1.05}.hud-top-right .sub{font-size:13px;opacity:.72;margin-top:2px}.speedo{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));text-align:right;padding:10px 18px 12px}.speedo .num{font-size:clamp(44px,9vw,76px);font-weight:800;line-height:.9;letter-spacing:-.02em;text-shadow:0 0 22px rgba(77,226,255,.55)}.speedo .unit{font-size:13px;letter-spacing:.28em;opacity:.6}.speedo .bar{margin-top:8px;height:5px;width:168px;border-radius:3px;background:#ffffff24;overflow:hidden}.speedo .bar i{display:block;height:100%;width:0;border-radius:3px;background:linear-gradient(90deg,var(--neon-a),var(--neon-c),var(--neon-b));transition:width .06s linear}.drift{position:absolute;left:50%;transform:translate(-50%);bottom:max(96px,calc(env(safe-area-inset-bottom) + 96px));text-align:center;opacity:0;transition:opacity .18s ease}.drift.is-active{opacity:1}.drift .score{font-size:40px;font-weight:800;color:var(--sun);text-shadow:0 0 24px rgba(255,233,163,.7)}.drift .tag{font-size:12px;letter-spacing:.32em;text-transform:uppercase;opacity:.8}.minimap{position:absolute;left:max(16px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));width:168px;height:168px;padding:8px}.minimap canvas{width:100%;height:100%;display:block}.standings{position:absolute;top:96px;right:max(16px,env(safe-area-inset-right));padding:10px 12px;min-width:168px;font-size:13px}.standings .row{display:flex;justify-content:space-between;gap:10px;padding:2px 0;opacity:.75}.standings .row.me{opacity:1;color:var(--sun);font-weight:700}.overlay{position:absolute;inset:0;display:none;align-items:center;justify-content:center;flex-direction:column;text-align:center;pointer-events:auto;background:radial-gradient(ellipse at 50% 50%,#12082a73,#12082adb)}.overlay.is-open{display:flex}.title{font-size:clamp(36px,8vw,84px);font-weight:800;letter-spacing:.06em;line-height:.9;background:linear-gradient(180deg,var(--sun) 0%,var(--neon-b) 60%,var(--neon-c) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 30px rgba(255,93,143,.45))}.subtitle{margin-top:6px;font-size:13px;letter-spacing:.4em;text-transform:uppercase;opacity:.7}.btn{pointer-events:auto;margin-top:26px;padding:14px 34px;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);background:linear-gradient(120deg,var(--sun),var(--neon-b));border:none;border-radius:999px;cursor:pointer;box-shadow:0 8px 30px #ff5d8f73;transition:transform .12s ease,box-shadow .12s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 38px #ff5d8f99}.btn.ghost{background:transparent;color:var(--paper);border:1px solid rgba(255,255,255,.3);box-shadow:none;margin-left:10px}.controls-hint{margin-top:26px;display:flex;gap:26px;flex-wrap:wrap;justify-content:center;font-size:12px;letter-spacing:.14em;opacity:.68;text-transform:uppercase}.controls-hint b{display:block;font-size:16px;letter-spacing:.06em;margin-bottom:4px;color:var(--neon-a)}.countdown{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:clamp(90px,22vw,220px);font-weight:800;color:var(--sun);text-shadow:0 0 60px rgba(255,233,163,.8);opacity:0}.countdown.is-on{animation:pop 1s ease-out}@keyframes pop{0%{opacity:0;transform:scale(1.7)}22%{opacity:1;transform:scale(1)}to{opacity:1;transform:scale(1)}}.countdown.is-active{opacity:1}.countdown.is-go{animation:pop-out 1.1s ease-out}@keyframes pop-out{0%{opacity:0;transform:scale(1.7)}18%{opacity:1;transform:scale(1)}62%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.86)}}.toast{position:absolute;top:30%;left:50%;transform:translate(-50%);font-size:22px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sun);text-shadow:0 0 24px rgba(255,233,163,.7);opacity:0}.toast.is-on{animation:toast 1.8s ease-out}@keyframes toast{0%{opacity:0;transform:translate(-50%,14px)}18%{opacity:1;transform:translate(-50%)}78%{opacity:1}to{opacity:0;transform:translate(-50%,-14px)}}.results{padding:26px 30px;min-width:min(420px,88vw)}.results h2{margin:0 0 4px;font-size:34px;letter-spacing:.08em}.results table{width:100%;border-collapse:collapse;margin-top:16px;font-size:14px}.results td{padding:6px 4px;border-bottom:1px solid rgba(255,255,255,.1);text-align:left}.results td:last-child{text-align:right}.results tr.me td{color:var(--sun);font-weight:700}.touch{position:absolute;inset:0;display:none;pointer-events:none}.touch.is-on{display:block}.pad{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));width:84px;height:84px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:#180b2e80;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;pointer-events:auto;user-select:none;transition:transform .08s ease,background .08s ease}.pad.is-held{transform:scale(.93);background:#ff5d8f6b}.pad.left{left:max(20px,env(safe-area-inset-left))}.pad.right{left:calc(max(20px,env(safe-area-inset-left)) + 96px)}.pad.brake{right:calc(max(20px,env(safe-area-inset-right)) + 96px)}.pad.gas{right:max(20px,env(safe-area-inset-right));width:84px;height:84px;background:#4de2ff38}.pad.hand{right:calc(max(20px,env(safe-area-inset-right)) + 12px);bottom:calc(max(20px,env(safe-area-inset-bottom)) + 96px);width:64px;height:64px;font-size:12px;letter-spacing:.12em}.debug{position:absolute;left:50%;top:max(16px,env(safe-area-inset-top));transform:translate(-50%);font-size:11px;letter-spacing:.16em;opacity:.45}@media (max-width: 720px){.minimap{width:112px;height:112px;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 108px)}.standings{display:none}.speedo{bottom:calc(max(18px,env(safe-area-inset-bottom)) + 108px)}}.overlay.context-lost{background:#0c0618f0}.overlay.context-lost p{max-width:34ch;margin:.6rem auto 0;line-height:1.5;opacity:.86}.overlay.context-lost .sub{font-size:.82em;opacity:.6}.overlay.context-lost code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#ffffff1a;padding:.1em .35em;border-radius:3px}.item-slot{position:absolute;left:50%;transform:translate(-50%);bottom:max(18px,env(safe-area-inset-bottom));min-width:132px;padding:8px 16px 10px;text-align:center;transition:opacity .18s ease,border-color .18s ease,box-shadow .18s ease}.item-slot .item-name{font-size:20px;font-weight:700;letter-spacing:.1em;line-height:1.1;color:var(--paper)}.item-slot .item-key{margin-top:2px;font-size:10px;letter-spacing:.2em;opacity:.5;font-weight:700}.item-slot.is-empty{opacity:.42}.item-slot.is-empty .item-name{color:#fdf6e380}.item-slot.is-armed{border-color:#4de2ff8c;box-shadow:0 0 18px #4de2ff47,0 10px 40px #00000059}.item-slot.is-armed .item-name{color:var(--neon-a);text-shadow:0 0 12px rgba(77,226,255,.5)}.hit-flash{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .12s ease-out}.hit-flash.is-on{opacity:1;transition:opacity .06s ease-in}.hit-flash.from-left{background:linear-gradient(90deg,rgba(255,93,143,.42) 0%,rgba(255,93,143,.12) 18%,transparent 42%)}.hit-flash.from-right{background:linear-gradient(270deg,rgba(255,93,143,.42) 0%,rgba(255,93,143,.12) 18%,transparent 42%)}.drift{bottom:max(150px,calc(env(safe-area-inset-bottom) + 150px))}.widgets{position:absolute;left:max(16px,env(safe-area-inset-left));top:108px;width:232px;display:flex;flex-direction:column;gap:8px;pointer-events:none;z-index:3}.widgets>*{pointer-events:auto}.widget-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font:inherit;font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--paper);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.widget-chip:disabled{cursor:default}.chip-dot{width:8px;height:8px;border-radius:50%;background:#fdf6e352;flex:none}.widget-chip.is-connecting .chip-dot{background:var(--sun);animation:chip-pulse .9s ease-in-out infinite}.widget-chip.is-connected{border-color:#4de2ff80}.widget-chip.is-connected .chip-dot{background:var(--neon-a);box-shadow:0 0 10px #4de2ffb3}.chip-text{font-variant-numeric:tabular-nums}@keyframes chip-pulse{0%,to{opacity:.35}50%{opacity:1}}.widget{overflow:hidden}.widget-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;background:none;border:0;color:var(--paper);font:inherit;cursor:pointer}.widget-title{font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.62;font-weight:600}.widget-caret{font-size:10px;opacity:.5;transition:transform .18s ease}.widget.is-collapsed .widget-caret{transform:rotate(-90deg)}.widget.is-collapsed .widget-body{display:none}.lb-list{padding:0 8px 8px;display:flex;flex-direction:column;gap:1px}.lb-row{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:baseline;padding:3px 6px;border-radius:6px;font-size:12px}.lb-row.is-me{background:#4de2ff1f;box-shadow:inset 0 0 0 1px #4de2ff3d}.lb-rank{font-weight:700;opacity:.45;text-align:right;font-variant-numeric:tabular-nums}.lb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.lb-row.is-me .lb-name{color:var(--neon-a)}.lb-lap{font-weight:700;font-variant-numeric:tabular-nums;opacity:.9}.chat-feed{height:132px;overflow-y:auto;padding:0 12px 6px;display:flex;flex-direction:column;gap:3px;font-size:12px;line-height:1.35;overscroll-behavior:contain}.chat-feed>:first-child{margin-top:auto}.chat-feed::-webkit-scrollbar{width:6px}.chat-feed::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:3px}.chat-line{word-wrap:break-word;opacity:.92}.chat-who{font-weight:700;margin-right:5px}.chat-who:after{content:":";opacity:.45}.chat-line.is-sys{font-style:italic;opacity:.5;font-size:11px}.chat-form{display:flex;gap:6px;padding:7px 8px 8px;border-top:1px solid rgba(255,255,255,.09)}.chat-input{flex:1;min-width:0;padding:5px 8px;border-radius:7px;border:1px solid rgba(255,255,255,.14);background:#0a041699;color:var(--paper);font:inherit;font-size:12px}.chat-input::placeholder{color:#fdf6e359}.chat-input:focus{outline:none;border-color:#4de2ff8c;background:#0a0416d9}.chat-send{padding:5px 10px;border-radius:7px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:var(--paper);font:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer}.chat-send:hover{background:#ffffff1f}@media (max-width: 900px),(max-height: 620px){.widgets{width:190px}.chat-feed{height:96px}}.final-lap{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0}.final-lap.is-on{animation:final-lap 2.1s ease-out 1}.final-lap-text{font-size:clamp(34px,7vw,78px);font-weight:800;letter-spacing:.24em;text-indent:.24em;color:var(--paper);text-shadow:0 0 26px rgba(255,93,143,.75),0 0 70px rgba(193,123,255,.45)}@keyframes final-lap{0%{opacity:0;transform:scale(1.16)}14%{opacity:1;transform:scale(1)}72%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}.countdown:before{content:"";position:absolute;left:50%;top:50%;width:min(38vw,260px);height:min(38vw,260px);transform:translate(-50%,-50%);border-radius:50%;border:3px solid rgba(255,255,255,.14);background:radial-gradient(circle at 50% 42%,#ff5d8f6b,#180b2eb8 64%);box-shadow:inset 0 0 40px #ff5d8f61,0 0 56px #ff5d8f3d;z-index:-1}.garage{margin-top:22px;padding:16px 18px 18px;width:min(680px,calc(100vw - 40px));text-align:left}.car-rack{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:8px;margin-top:10px}.car-card{--accent: var(--neon-a);pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;font-family:inherit;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:10px;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}.car-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 60%,transparent)}.car-card.is-on{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 8px 26px color-mix(in srgb,var(--accent) 35%,transparent)}.car-art{width:100%;height:30px;fill:#ffffff57;transition:fill .14s ease}.car-card:hover .car-art,.car-card.is-on .car-art{fill:var(--accent)}.car-label{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fdf6e39e;white-space:nowrap}.car-card.is-on .car-label{color:var(--paper)}.car-name{margin-top:14px;font-size:19px;font-weight:700;letter-spacing:.16em}.car-tagline{margin-top:2px;font-size:13px;opacity:.66;min-height:2.6em}.car-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 18px;margin-top:10px}.car-stat{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.8}.car-stat>span{width:46px;flex:none}.car-stat>i{position:relative;flex:1;height:5px;border-radius:3px;background:#ffffff1a}.car-stat>i:before{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:#ffffff4d}.car-stat>i>b{position:absolute;top:0;bottom:0;border-radius:3px;background:linear-gradient(90deg,var(--neon-a),var(--neon-b))}.menu-actions{display:flex;align-items:center;gap:12px}.music-btn{margin-top:26px;padding:14px 22px}.music-btn.is-off{opacity:.55}.safe-notice{margin-top:18px;max-width:min(560px,calc(100vw - 40px));font-size:12px;line-height:1.5;opacity:.6}.safe-notice code{font-family:var(--mono-font, ui-monospace, monospace);opacity:.9}@media (max-width: 720px){.car-stats{grid-template-columns:1fr}.car-tagline{min-height:3.6em}}.car-cell{--accent: var(--neon-a);color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.1em}
