@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Inter:wght@500;600;700&display=swap";:root{font-family:Inter,Arial,sans-serif;color:#f7f5ef;background:#111718;font-synthesis:none}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{background:#111718}button{font:inherit;-webkit-tap-highlight-color:transparent}body:not(.lobby-open) .game-shell,body:not(.lobby-open) .hud,body:not(.lobby-open) .message,body:not(.lobby-open) .touch-controls{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}body:not(.lobby-open) .game-shell,body:not(.lobby-open) .touch-controls{touch-action:none}.game-shell,.game-shell canvas{position:fixed;inset:0;width:100%;height:100%}.game-shell canvas{display:block}.game-shell:after{content:"";position:fixed;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 47%,transparent 47%,rgba(2,5,6,.16) 74%,rgba(1,3,4,.62) 115%);opacity:0;transition:opacity .45s ease}body:before,body:after{content:"";position:fixed;left:0;z-index:8;width:100%;height:clamp(22px,5.5vh,54px);pointer-events:none;background:#030606;transform:scaleY(0);transition:transform .38s cubic-bezier(.22,1,.36,1)}body:before{top:0;transform-origin:top}body:after{bottom:0;transform-origin:bottom}body.cinematic-active:before,body.cinematic-active:after{transform:scaleY(1)}.cinematic-active .game-shell:after,.finish-cinematic .game-shell:after{opacity:1}.cinematic-active .hud,.cinematic-active .track-map,.cinematic-active .touch-controls{opacity:0}.hud,.track-map,.touch-controls{transition:opacity .28s ease}.hud{position:fixed;inset:0;pointer-events:none;z-index:3;padding:22px 24px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,rgba(7,13,14,.52) 0,transparent 17%,transparent 78%,rgba(6,9,10,.42) 100%)}.hud-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.event-lockup{display:flex;align-items:stretch;gap:10px}.flag{width:5px;background:#d92332;box-shadow:5px 0 #f4f1e8,10px 0 #168b55;margin-right:10px}.eyebrow{margin:0 0 1px;font:700 11px/1 Inter,sans-serif;letter-spacing:1.8px;color:#e3e3dc;text-transform:uppercase}.event-name{margin:0;font:800 27px/.95 Barlow Condensed,sans-serif;text-transform:uppercase}.event-sub{margin:4px 0 0;font:600 12px/1 Barlow Condensed,sans-serif;color:#d8ddd9;text-transform:uppercase;letter-spacing:.9px}.timer{text-align:right;min-width:160px}.timer-value{display:block;font:700 42px/.8 Barlow Condensed,sans-serif;font-variant-numeric:tabular-nums}.timer-penalty{display:block;margin-top:7px;color:#ff4050;font:700 18px/.9 Barlow Condensed,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.04em}.timer-penalty[hidden]{display:none}.timer-label{display:block;margin-top:9px;font:700 10px/1 Inter,sans-serif;letter-spacing:1.8px;color:#cdd2ce;text-transform:uppercase}.hud-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.telemetry{display:flex;align-items:flex-end;gap:18px}.instrument-cluster{--instrument-accent: #ed3140;--instrument-face: url(#tachFace);--instrument-glow: rgba(255,43,60,.55);--instrument-ring: rgba(224,231,227,.35);--instrument-ring-width: 2;--instrument-ring-dashes: 1 2.7;--instrument-needle: var(--instrument-accent);--instrument-needle-stroke: transparent;--instrument-needle-width: 1;position:relative;display:flex;align-items:flex-end;min-height:132px;padding:8px 18px 9px 7px;border:1px solid rgba(255,255,255,.18);border-radius:8px 3px 3px 8px;background:linear-gradient(105deg,rgba(255,255,255,.09),transparent 26%),linear-gradient(180deg,#171e1ee6,#070b0cc7);box-shadow:0 16px 32px #00000047,inset 0 1px #ffffff17;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.instrument-signature{position:absolute;z-index:2;top:8px;right:11px;color:#dce2de;font:800 8px/1 Inter,sans-serif;letter-spacing:1.25px;text-transform:uppercase}.tachometer{position:relative;width:164px;height:126px;flex:0 0 auto}.tachometer-dial{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 4px 7px rgba(0,0,0,.48))}.tachometer-face{fill:var(--instrument-face);stroke:#ffffff30;stroke-width:1.2}.tachometer-arc{fill:none;stroke:var(--instrument-ring);stroke-width:var(--instrument-ring-width);stroke-dasharray:var(--instrument-ring-dashes)}.tachometer-redline{fill:none;stroke:var(--instrument-accent);stroke-width:4;stroke-dasharray:18 82;stroke-dashoffset:-82;opacity:.78}.tachometer-ticks{fill:none;stroke:#dce2de;stroke-width:2.2;stroke-linecap:square}.tachometer-numerals{fill:#eef0eb;font:700 12px/1 Barlow Condensed,sans-serif;text-anchor:middle;font-variant-numeric:tabular-nums}.tachometer-caption{fill:#9ba6a0;font:700 7px/1 Inter,sans-serif;letter-spacing:1.15px;text-anchor:middle}.tachometer-needle{color:var(--instrument-needle);fill:currentColor;filter:drop-shadow(0 0 4px var(--instrument-glow));transform:rotate(-93deg);transform-box:view-box;transform-origin:100px 100px;transition:transform 70ms linear}.tachometer-needle-blade{fill:var(--instrument-needle);stroke:var(--instrument-needle-stroke);stroke-width:1.1;transform:scaleX(var(--instrument-needle-width));transform-box:fill-box;transform-origin:center}.tachometer-needle-cap{fill:#f5f0e7}.rpm-value{position:absolute;left:50%;bottom:3px;min-width:34px;padding:2px 4px 1px;transform:translate(-50%);border:1px solid rgba(255,255,255,.14);background:#080c0d;color:#dce3de;font:700 12px/1 Barlow Condensed,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.8px;text-align:center}.tachometer.at-redline .tachometer-face{stroke:#ff3745b3}.tachometer.at-redline .rpm-value{color:#fff;background:#b51929}.drive-readout{display:flex;align-items:flex-end;margin:0 0 10px -3px}.speed{display:flex;align-items:flex-end;gap:7px}.speed-value{font:800 70px/.72 Barlow Condensed,sans-serif;font-variant-numeric:tabular-nums;min-width:106px;text-align:right;text-shadow:0 2px 9px rgba(0,0,0,.45)}.speed-unit{font:700 10px/1 Inter,sans-serif;letter-spacing:1.5px;color:#d7dcd8;margin:0 10px 3px 0}.gear-wrap{box-sizing:border-box;width:54px;height:49px;border-left:1px solid rgba(255,255,255,.38);padding-left:12px}.gear-label{display:block;font:700 9px/1 Inter,sans-serif;letter-spacing:1.4px;color:#bac3be}.gear{display:block;font:800 34px/.9 Barlow Condensed,sans-serif}.instrument-cluster[data-instrument-style=rally]{--instrument-accent: #e72e3d;--instrument-face: #171c1b;background:linear-gradient(90deg,#138756 0 4px,#f4eee1 4px 8px,#d62c3b 8px 12px,transparent 12px) top 9px left 10px / 52px 3px no-repeat,linear-gradient(105deg,rgba(239,228,198,.13),transparent 30%),linear-gradient(180deg,#242a27f0,#080c0bd6);border-color:#e8dcbe52;border-radius:12px 4px 4px 12px}.instrument-cluster[data-instrument-style=rally] .instrument-signature{color:#eadfbd}.instrument-cluster[data-instrument-style=rally] .rpm-value{border-color:#e6d7b240;color:#eadfbd}.instrument-cluster[data-instrument-style=vintage-911]{--instrument-accent: #f18c23;--instrument-face: #171715;--instrument-ring: #e8dfc7;--instrument-ring-width: 1.5;--instrument-ring-dashes: 14 2;--instrument-needle: #efe7d5;--instrument-needle-stroke: #b91f2b;--instrument-needle-width: .48;border-color:#e4d6b666;border-radius:22px 7px 7px 22px;background:radial-gradient(circle at 24% 58%,rgba(235,217,176,.1),transparent 35%),#141513e8}.instrument-cluster[data-instrument-style=vintage-911] .tachometer-needle-cap{fill:#c72331}.instrument-cluster[data-instrument-style=vintage-911] .instrument-signature{color:#e9dcbf;font-style:italic}.instrument-cluster[data-instrument-style=vintage-m3]{--instrument-accent: #ef563f;--instrument-face: #111519;--instrument-ring: #79a9df;--instrument-ring-width: 2.8;--instrument-ring-dashes: 2 4;--instrument-needle: #f07132;--instrument-needle-width: .72;border-color:#6499d27a;border-radius:7px;background:linear-gradient(125deg,rgba(42,104,170,.24),transparent 38%),linear-gradient(180deg,#20272be8,#080c0fe8)}.instrument-cluster[data-instrument-style=vintage-m3] .instrument-signature{color:#86b4e6}.instrument-cluster[data-instrument-style=supercar]{--instrument-accent: #ffc800;--instrument-face: #140d0d;--instrument-glow: rgba(255,200,0,.58);--instrument-ring: #ffc800;--instrument-ring-width: 3;--instrument-ring-dashes: 22 2;--instrument-needle-width: 1.32;border-color:#ffc5006b;border-radius:2px;clip-path:polygon(0 13px,13px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%);background:linear-gradient(112deg,rgba(202,20,34,.22),transparent 37%),#070809e8}.instrument-cluster[data-instrument-style=supercar] .instrument-signature,.instrument-cluster[data-instrument-style=supercar] .gear{color:#ffc800}.instrument-cluster[data-instrument-style=supercar] .speed-value{font-style:italic}.instrument-cluster[data-instrument-style=gt-997]{--instrument-accent: #ff3848;--instrument-face: #12171a;--instrument-ring: #e8eef1;--instrument-ring-width: 1.4;--instrument-ring-dashes: 3 1.5;--instrument-needle: #ff3346;--instrument-needle-width: .62;border-color:#e1ebf057;border-radius:30px 5px 5px 30px;background:linear-gradient(110deg,rgba(255,255,255,.13),transparent 30%),#101518e8}.instrument-cluster[data-instrument-style=gt-997] .instrument-signature{color:#ff5360}.instrument-cluster[data-instrument-style=gt-488]{--instrument-accent: #ffdc35;--instrument-face: #250a0c;--instrument-ring: #ffdc35;--instrument-ring-width: 3.5;--instrument-ring-dashes: 30 2;--instrument-needle: #fff3b4;--instrument-needle-stroke: #d92732;--instrument-needle-width: 1.18;border-color:#ffcd2680;border-radius:4px 18px;background:linear-gradient(135deg,rgba(212,22,36,.34),transparent 45%),#10090aef}.instrument-cluster[data-instrument-style=gt-488] .instrument-signature,.instrument-cluster[data-instrument-style=gt-488] .gear{color:#ffdc35}.instrument-cluster[data-instrument-style=motorcycle]{--instrument-accent: #75e72d;--instrument-face: #101510;--instrument-glow: rgba(88,230,35,.62);--instrument-ring: #76ed32;--instrument-ring-width: 4;--instrument-ring-dashes: 6 2;--instrument-needle: #dcffca;--instrument-needle-width: .55;border-color:#71e92d66;border-radius:72px 15px 15px 72px;background:radial-gradient(circle at 30% 55%,rgba(85,211,30,.16),transparent 43%),#060a08e0}.instrument-cluster[data-instrument-style=motorcycle] .instrument-signature,.instrument-cluster[data-instrument-style=motorcycle] .gear,.instrument-cluster[data-instrument-style=motorcycle] .rpm-value{color:#83ef40}.instrument-cluster[data-instrument-style=motorcycle] .tachometer-arc{stroke:#7eef418c}.instrument-cluster[data-instrument-style=prototype]{--instrument-accent: #28d5ff;--instrument-face: #07131b;--instrument-glow: rgba(27,199,250,.68);--instrument-ring: #36d9ff;--instrument-ring-width: 1;--instrument-ring-dashes: 26 1;--instrument-needle: transparent;--instrument-needle-stroke: #5ae2ff;--instrument-needle-width: .4;border-color:#24caf46b;border-radius:3px 15px;background:linear-gradient(135deg,rgba(20,130,211,.3),transparent 42%),#050c12e8;box-shadow:0 16px 32px #00000047,inset 0 0 18px #21a8e71f}.instrument-cluster[data-instrument-style=prototype] .instrument-signature,.instrument-cluster[data-instrument-style=prototype] .gear{color:#62ddff}.instrument-cluster[data-instrument-style=prototype] .speed-value{text-shadow:0 0 10px rgba(48,191,255,.35)}.instrument-cluster[data-instrument-style=racing-start-plus]{--instrument-accent: #ef2f3b;--instrument-face: #111719;--instrument-glow: rgba(239,47,59,.62);--instrument-ring: #ff626c;--instrument-ring-width: 2.4;--instrument-ring-dashes: 1 3.3;--instrument-needle-width: .82;border-color:#ffffff6b;border-radius:15px 5px;background:linear-gradient(90deg,transparent 0 70%,rgba(239,47,59,.62) 70% 72%,transparent 72%),linear-gradient(145deg,rgba(255,255,255,.18),transparent 42%),#0c1112e6}.instrument-cluster[data-instrument-style=racing-start-plus] .instrument-signature,.instrument-cluster[data-instrument-style=racing-start-plus] .gear{color:#ff5b65}.instrument-cluster[data-instrument-style=racing-start-plus] .rpm-value{border-color:#ef2f3b59}.instrument-cluster[data-instrument-style=rs-mini]{--instrument-accent: #f2eee4;--instrument-face: #191a19;--instrument-ring: #d83b44;--instrument-ring-width: 3;--instrument-ring-dashes: 9 2;--instrument-needle: #f0ede5;--instrument-needle-stroke: #d52d38;--instrument-needle-width: .5;border-color:#f0eee173;border-radius:48px 12px 12px 48px;background:radial-gradient(circle at 24% 55%,rgba(231,224,203,.13),transparent 38%),#111513e8}.instrument-cluster[data-instrument-style=rs-mini] .instrument-signature{color:#e64049}.instrument-cluster[data-instrument-style=rs-308]{--instrument-accent: #2b9cff;--instrument-face: #09131d;--instrument-ring: #45a9ff;--instrument-ring-width: 2;--instrument-ring-dashes: 5 2;--instrument-needle: #eff8ff;--instrument-needle-width: .9;border-color:#359af280;border-radius:4px 16px 16px 4px;background:linear-gradient(105deg,rgba(20,112,203,.3),transparent 45%),#091017e8}.instrument-cluster[data-instrument-style=rs-308] .instrument-signature,.instrument-cluster[data-instrument-style=rs-308] .gear{color:#62b8ff}.instrument-cluster[data-instrument-style=group-n]{--instrument-accent: #ff3d46;--instrument-face: #0e1214;--instrument-glow: rgba(255,51,62,.64);border-color:#e0263080;border-radius:5px;background:linear-gradient(180deg,transparent 0 82%,rgba(218,34,44,.7) 82% 86%,transparent 86%),linear-gradient(120deg,rgba(255,255,255,.09),transparent 34%),#070b0ceb}.instrument-cluster[data-instrument-style=group-n] .instrument-signature{color:#f3eee6}.instrument-cluster[data-instrument-style=group-n] .gear,.instrument-cluster[data-instrument-style=group-n] .speed-unit{color:#ff555e}.instrument-cluster[data-instrument-style=group-n-civic]{--instrument-accent: #ef3340;--instrument-face: #17191a;--instrument-ring: #ef3340;--instrument-ring-width: 2.5;--instrument-ring-dashes: 12 2;--instrument-needle: #f6f3ea;--instrument-needle-stroke: #ef3340;--instrument-needle-width: .7;border-color:#ef33407a;border-radius:3px 13px;background:linear-gradient(145deg,rgba(239,51,64,.2),transparent 42%),#0d1113eb}.instrument-cluster[data-instrument-style=group-n-civic] .instrument-signature{color:#ff6570}.instrument-cluster[data-instrument-style=group-n-clio]{--instrument-accent: #ffd21f;--instrument-face: #111723;--instrument-ring: #307fd1;--instrument-ring-width: 3;--instrument-ring-dashes: 4 3;--instrument-needle: #ffd21f;--instrument-needle-width: .58;border-color:#ffd0237a;border-radius:14px 4px;background:linear-gradient(120deg,rgba(32,102,182,.32),transparent 44%),#0a1018eb}.instrument-cluster[data-instrument-style=group-n-clio] .instrument-signature,.instrument-cluster[data-instrument-style=group-n-clio] .gear{color:#ffd52c}.instrument-cluster[data-instrument-style=fiorino-metano]{--instrument-accent: #45d889;--instrument-face: #101b17;--instrument-ring: #70df9e;--instrument-ring-width: 2;--instrument-ring-dashes: 1 4;--instrument-needle: #e8fff1;--instrument-needle-stroke: #2cab69;--instrument-needle-width: .45;border-color:#43cf816b;border-radius:10px;background:linear-gradient(110deg,rgba(29,151,86,.25),transparent 38%),#0b1410e8}.instrument-cluster[data-instrument-style=fiorino-metano] .instrument-signature,.instrument-cluster[data-instrument-style=fiorino-metano] .gear{color:#72e5a5}.instrument-cluster[data-instrument-style=electric-model-3]{--instrument-accent: #5fd8ff;--instrument-face: #f2f5f4;--instrument-ring: #36bce8;--instrument-ring-width: 5;--instrument-ring-dashes: 38 5;--instrument-needle: #152930;--instrument-needle-width: .32;color:#0f252d;border-color:#7be1ffb8;border-radius:18px;background:linear-gradient(145deg,#fffffff5,#b8e1eae0);box-shadow:0 16px 32px #0000003d,inset 0 0 0 2px #ffffff8c}.instrument-cluster[data-instrument-style=electric-model-3] .instrument-signature,.instrument-cluster[data-instrument-style=electric-model-3] .gear,.instrument-cluster[data-instrument-style=electric-model-3] .speed-unit,.instrument-cluster[data-instrument-style=electric-model-3] .gear-label{color:#14576d}.instrument-cluster[data-instrument-style=electric-model-3] .speed-value{text-shadow:none}.instrument-cluster[data-instrument-style=electric-model-3] .tachometer-numerals,.instrument-cluster[data-instrument-style=electric-model-3] .tachometer-caption{fill:#173945}.instrument-cluster[data-instrument-style=electric-model-3] .rpm-value{color:#dffaff;background:#153844}.drift-meter{width:110px;margin-bottom:2px;opacity:0;transform:translateY(6px);transition:.16s ease}.drift-meter.active{opacity:1;transform:translateY(0)}.drift-label{font:800 13px/1 Barlow Condensed,sans-serif;letter-spacing:1px;color:#ffca3a}.drift-bar{margin-top:6px;width:100%;height:3px;background:#ffffff40}.drift-fill{height:100%;width:0;background:#ffca3a}.route-panel{width:210px}.route-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}.section{font:700 13px/1 Barlow Condensed,sans-serif;text-transform:uppercase}.distance{font:700 11px/1 Inter,sans-serif;color:#d7ddd9;font-variant-numeric:tabular-nums}.route-track{height:5px;background:#ffffff40;position:relative}.route-progress{height:100%;width:0;background:#e42835}.route-dots{position:absolute;inset:-3px 0;display:flex;justify-content:space-between}.route-dot{width:2px;height:11px;background:#ffffff6b}.message{position:fixed;left:50%;top:28%;transform:translate(-50%,-50%);z-index:4;text-align:center;pointer-events:none;opacity:0;transition:opacity .2s ease;text-shadow:0 2px 16px rgba(0,0,0,.55)}.message.show{opacity:1}.message-main{font:800 58px/.85 Barlow Condensed,sans-serif;text-transform:uppercase}.message-sub{margin-top:8px;font:700 12px/1 Inter,sans-serif;letter-spacing:2px;text-transform:uppercase}.message.race-start-message{top:34%;width:min(92vw,900px)}.message.race-start-message .message-main{font-size:clamp(50px,7vw,92px)}.message.race-start-message.countdown .message-main{font-size:clamp(112px,20vw,220px)}.message.race-start-message.countdown .message-sub{margin-top:14px;font-size:clamp(12px,1.5vw,17px)}.lobby-screen{position:fixed;inset:0;z-index:30;overflow:auto;color:#f7f5ef;background:#07100f}.lobby-screen[hidden]{display:none}.lobby-backdrop{position:fixed;inset:0;background:linear-gradient(125deg,#05120ffa,#080f10eb 52%,#05090af7),radial-gradient(circle at 16% 12%,rgba(26,163,101,.38),transparent 38%)}.lobby-backdrop:before,.lobby-backdrop:after{content:"";position:absolute;pointer-events:none}.lobby-backdrop:before{inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),repeating-linear-gradient(118deg,transparent 0 46px,rgba(255,255,255,.05) 47px 48px);background-size:64px 64px,64px 64px,auto;-webkit-mask-image:linear-gradient(90deg,#000,transparent 72%);mask-image:linear-gradient(90deg,#000,transparent 72%)}.lobby-backdrop:after{width:520px;height:520px;left:-180px;bottom:-250px;border:1px solid rgba(68,205,137,.14);border-radius:50%;box-shadow:0 0 0 75px #44cd8906,0 0 0 150px #44cd8905}.lobby-layout{position:relative;z-index:1;min-height:100%;display:grid;grid-template-rows:auto 1fr;gap:14px;align-items:start;width:min(1440px,100%);margin:auto;padding:22px clamp(24px,3.2vw,46px) 26px}.lobby-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px}.lobby-brand{display:flex;gap:15px;align-items:stretch}.lobby-brand .flag{min-height:58px}.lobby-brand h1{margin:3px 0 0;font:800 clamp(32px,3.4vw,50px)/.86 "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:-.025em}.event-meta{display:flex;flex-wrap:wrap;gap:7px 18px;margin-top:9px}.event-meta span{position:relative;color:#aab6b0;font:700 10px/1 Inter,sans-serif;letter-spacing:1.1px;text-transform:uppercase}.event-meta span+span:before{content:"";position:absolute;top:3px;left:-10px;width:3px;height:3px;border-radius:50%;background:#31c780}.lobby-tools{display:flex;align-items:center;gap:9px}.open-settings,.open-rankings{display:flex;flex:0 0 auto;align-items:center;gap:10px;padding:10px 14px 10px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#dce5e0;background:#ffffff0b;cursor:pointer;font:700 9px/1 Inter,sans-serif;letter-spacing:1.1px;text-transform:uppercase;transition:border-color .15s ease,background .15s ease,transform .15s ease}.open-settings svg,.open-rankings svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.open-settings:hover,.open-rankings:hover{border-color:#3fd58d;background:#27bd751a;transform:translateY(-1px)}.open-settings:focus-visible,.open-rankings:focus-visible,.close-settings:focus-visible,.close-rankings:focus-visible{outline:2px solid #8fe2b5;outline-offset:3px}.lobby-panel{position:relative;overflow:hidden;width:100%;padding:clamp(20px,2.1vw,29px);border:1px solid rgba(255,255,255,.17);border-radius:18px 4px;margin-top:0;background:linear-gradient(145deg,#172120f5,#090f0ff7);box-shadow:0 35px 90px #0000006b,inset 0 1px #ffffff12}.lobby-panel:before{content:"";position:absolute;top:0;right:0;width:112px;height:5px;background:linear-gradient(90deg,#168b55 0 33%,#f4f1e8 33% 66%,#d92332 66%)}.lobby-panel[hidden],.settings-panel[hidden],.rankings-panel[hidden]{display:none}.lobby-intro{display:flex;justify-content:space-between;align-items:end;gap:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.lobby-intro h2{margin:5px 0 3px;font:800 clamp(29px,2.8vw,40px)/.95 "Barlow Condensed",sans-serif;text-transform:uppercase}.lobby-intro>div>p:last-child{max-width:580px;margin:0;color:#8f9c96;font:500 12px/1.45 Inter,sans-serif}.starting-sequence{display:grid;justify-items:end;gap:7px;padding-bottom:2px}.starting-sequence>span{display:flex;gap:6px;padding:7px 9px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#0000002e}.starting-sequence i{width:10px;height:10px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:#26302d;box-shadow:inset 0 1px 3px #0009}.starting-sequence i:last-child{border-color:#3ad78e6b;background:#2bd184;box-shadow:0 0 12px #2bd18485}.starting-sequence small{color:#69766f;font:700 8px/1 Inter,sans-serif;letter-spacing:1.2px;text-transform:uppercase}.status-dot{display:inline-block;width:6px;height:6px;margin:0 4px 1px 0;border-radius:50%;background:#39d58c;box-shadow:0 0 0 4px #39d58c1a}.lobby-content{display:grid;grid-template-columns:minmax(480px,1.24fr) minmax(320px,.76fr);gap:clamp(24px,2.7vw,39px);padding:18px 0}.setup-column{display:grid;align-content:start;gap:14px;min-width:0;padding-left:clamp(22px,2.6vw,37px);border-left:1px solid rgba(255,255,255,.1)}.pilot-picker,.setting-picker,.category-picker,.car-picker{min-width:0;margin:0;padding:0;border:0}.pilot-picker legend,.setting-picker legend,.category-picker legend,.car-picker>legend{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:#c4cdc8;font:700 10px/1 Inter,sans-serif;letter-spacing:1.55px;text-transform:uppercase}.pilot-picker legend span,.setting-picker legend span,.category-picker legend span{display:grid;width:22px;height:22px;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;color:#67dba1;font-size:8px}.username-field{display:block}.username-field>span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.input-shell{display:flex;align-items:center;gap:11px;padding:0 14px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#ffffff09;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.input-shell:focus-within{border-color:#27bd75;background:#27bd750e;box-shadow:0 0 0 3px #27bd751c}.input-shell>i{display:grid;flex:0 0 auto;width:25px;height:25px;place-items:center;border-radius:50%;color:#dce5e0;background:#26312f;font:700 10px/1 Inter,sans-serif;font-style:normal}.username-field input{width:100%;min-width:0;padding:12px 0;border:0;outline:0;color:#fff;background:transparent;font:700 17px/1.1 Inter,sans-serif}.username-field input::placeholder{color:#77827d}.username-field>small{display:block;margin:5px 2px 0;color:#7c8983;font:500 9px/1.3 Inter,sans-serif}.setting-options{display:flex;gap:6px}.setting-option{flex:1;min-width:0;cursor:pointer}.setting-option input{position:absolute;opacity:0;pointer-events:none}.setting-option span{display:flex;min-height:42px;align-items:center;justify-content:center;gap:7px;padding:8px;border:1px solid rgba(255,255,255,.16);border-radius:9px;color:#cdd4d0;background:#ffffff06;font:700 11px/1.15 Barlow Condensed,sans-serif;letter-spacing:.45px;text-align:center;text-transform:uppercase;transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease}.setting-option span i{color:#89958f;font:400 15px/1 Inter,sans-serif;font-style:normal}.setting-option:hover span{border-color:#ffffff61;transform:translateY(-1px)}.setting-option input:focus-visible+span{outline:2px solid #8fe2b5;outline-offset:2px}.setting-option input:checked+span{border-color:#26bd75;color:#fff;background:#148e5659;box-shadow:inset 0 0 0 1px #55de9d1a}.setting-option input:checked+span i{color:#59dda0}.category-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.category-tabs button{flex:1;min-width:0;min-height:42px;padding:11px 10px;border:1px solid rgba(255,255,255,.16);border-radius:9px;color:#cdd4d0;background:#ffffff06;cursor:pointer;font:700 12px/1 Barlow Condensed,sans-serif;letter-spacing:.8px;text-transform:uppercase;transition:border-color .15s ease,background .15s ease,transform .15s ease}.category-tabs button:hover{border-color:#ffffff61;transform:translateY(-1px)}.category-tabs button.active{border-color:#26bd75;color:#fff;background:#148e5659}.category-tabs button:focus-visible{outline:2px solid #8fe2b5;outline-offset:2px}.category-description{min-height:14px;margin:7px 2px 0;color:#8a9690;font:500 9px/1.35 Inter,sans-serif}.car-picker{display:flex;flex-direction:column}.car-picker>legend{width:100%;justify-content:space-between}.carousel-hint{color:#77847e;font:700 8px/1 Inter,sans-serif;letter-spacing:1px;text-transform:uppercase}.car-carousel{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;border-radius:15px;touch-action:pan-y}.car-carousel:focus-visible{outline:2px solid #8fe2b5;outline-offset:4px}.carousel-arrow{position:absolute;z-index:3;top:50%;display:grid;width:40px;height:40px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff;background:#070d0db8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;transform:translateY(-50%)}.carousel-arrow svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.carousel-arrow.previous{left:14px}.carousel-arrow.next{right:14px}.carousel-arrow:hover:not(:disabled){border-color:#2ac57f;background:#1aa36533}.carousel-arrow:disabled{opacity:0;pointer-events:none}.car-preview{position:relative;min-width:0;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:#101819 center / cover no-repeat;box-shadow:0 18px 38px #00000038}.car-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 44%,rgba(3,7,7,.92) 100%);pointer-events:none}.car-preview img{display:block;width:100%;height:clamp(265px,37vh,350px);object-fit:cover;object-position:center;transition:transform .35s ease}.car-preview:hover img{transform:scale(1.015)}.car-preview img.is-contain{position:relative;object-fit:contain;background:#080e0f33;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.preview-badge{position:absolute;z-index:2;top:14px;left:14px;padding:7px 9px;border:1px solid rgba(95,224,161,.44);border-radius:999px;color:#8ee5b8;background:#072118bd;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font:700 8px/1 Inter,sans-serif;letter-spacing:1px;text-transform:uppercase}.preview-badge:before{content:"✓";margin-right:5px}.preview-race-number{position:absolute;z-index:2;top:14px;right:14px;min-width:52px;padding:7px 10px;border:2px solid rgba(255,255,255,.84);border-radius:8px;color:#111817;background:#f8f5e9f0;box-shadow:0 5px 16px #00000040;font:900 18px/1 Inter,sans-serif;letter-spacing:-.5px;text-align:center}.car-preview figcaption{position:absolute;z-index:1;inset:auto 19px 17px;display:grid;grid-template-columns:1fr auto;align-items:end}.car-year{grid-column:1 / -1;color:#75e5aa;font:700 9px/1 Inter,sans-serif;letter-spacing:1.4px;text-transform:uppercase}.car-name{margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:800 clamp(25px,2.6vw,37px)/.92 "Barlow Condensed",sans-serif;text-transform:uppercase}.car-count{color:#c5ceca;font:700 11px/1 Inter,sans-serif}.car-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:9px 0 0}.car-stat{min-width:0;padding:10px 11px 9px;border:1px solid rgba(255,255,255,.09);border-radius:8px 2px;background:#ffffff06}.car-stat dt{overflow:hidden;color:#7e8a84;font:700 7px/1 Inter,sans-serif;letter-spacing:.7px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.car-stat dd{margin:5px 0 0;font:800 21px/1 Barlow Condensed,sans-serif;font-variant-numeric:tabular-nums}.car-stat small{margin-left:4px;color:#a8b1ad;font:700 8px/1 Inter,sans-serif;text-transform:uppercase}.car-stat-meter{display:block;height:2px;margin-top:8px;overflow:hidden;border-radius:99px;background:#ffffff14}.car-stat-meter i{display:block;width:var(--stat-level);height:100%;border-radius:inherit;background:linear-gradient(90deg,#1ba765,#55dda0);box-shadow:0 0 8px #32cf855c}.lobby-actions{min-height:72px;display:grid;grid-template-columns:minmax(0,1fr) minmax(410px,570px);gap:22px;align-items:center;padding-top:15px;border-top:1px solid rgba(255,255,255,.1)}.selection-summary{min-width:0;display:flex;align-items:center;gap:11px}.summary-icon{display:grid;flex:0 0 auto;width:35px;height:35px;place-items:center;border:1px solid rgba(255,255,255,.17);border-radius:50%;color:#9ca7a2;background:#ffffff09;font-size:14px}.selection-summary.is-ready .summary-icon{border-color:#39d58c52;color:#69e2a5;background:#1e995e1a}.selection-summary>span:last-child{min-width:0}.selection-summary small{display:block;margin-bottom:4px;color:#68756f;font:700 8px/1 Inter,sans-serif;letter-spacing:1.2px;text-transform:uppercase}.selection-summary strong{display:block;overflow:hidden;color:#cbd3cf;font:600 10px/1.3 Inter,sans-serif;text-overflow:ellipsis;white-space:nowrap}.start-actions{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px}.start-race,.random-start,.restart-button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border:0;border-radius:10px;color:#fff;background:linear-gradient(135deg,#e12a39,#bd1725);box-shadow:0 10px 24px #cf1f2d38;cursor:pointer;font:800 16px/1 Barlow Condensed,sans-serif;letter-spacing:1.1px;text-transform:uppercase;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.start-race,.random-start{min-height:68px;align-self:center}.start-race span,.random-start span{text-align:left}.start-race small,.random-start small{display:block;margin-bottom:5px;color:#ffffffad;font:700 7px/1 Inter,sans-serif;letter-spacing:1.2px}.random-start{border:1px solid rgba(255,255,255,.17);color:#dce4e0;background:#ffffff0b;box-shadow:none}.start-race:hover,.random-start:hover,.restart-button:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 14px 28px #cf1f2d4d}.random-start:hover{border-color:#65e2a78c;background:#208a5c2e;box-shadow:0 12px 24px #0000002e}.start-race:focus-visible,.random-start:focus-visible{outline:2px solid #ff8d96;outline-offset:3px}.random-start:focus-visible{outline-color:#79e6b2}.start-arrow,.random-icon,.restart-button b{display:grid;flex:0 0 auto;width:36px;height:36px;place-items:center;border-radius:50%;background:#ffffff24}.random-icon{font-size:21px}.start-arrow svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.restart-button b{font-size:17px}.settings-panel,.rankings-panel{width:100%;min-height:min(610px,calc(100vh - 150px));padding:clamp(22px,2.6vw,36px);border:1px solid rgba(255,255,255,.17);border-radius:22px;background:linear-gradient(145deg,#172120f5,#090f0ff7);box-shadow:0 35px 90px #0000006b,inset 0 1px #ffffff12}.settings-heading{display:flex;align-items:center;gap:17px;padding-bottom:23px;border-bottom:1px solid rgba(255,255,255,.1)}.settings-heading h2{margin:6px 0 4px;font:800 clamp(30px,3vw,43px)/.95 "Barlow Condensed",sans-serif;text-transform:uppercase}.settings-heading>div>p:last-child{margin:0;color:#8f9c96;font:500 12px/1.45 Inter,sans-serif}.close-settings,.close-rankings{display:grid;flex:0 0 auto;width:43px;height:43px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:#f5f7f6;background:#ffffff09;cursor:pointer}.close-settings:hover,.close-rankings:hover{border-color:#3fd58d;background:#27bd751a}.close-settings svg,.close-rankings svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.rankings-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.1)}.ranking-filter{min-width:0}.ranking-filter[hidden]{display:none}.ranking-category-filter,.ranking-vehicle-filter{grid-column:span 3}.ranking-filter h3{margin:0 0 9px;color:#7f8c86;font:700 9px/1 Inter,sans-serif;letter-spacing:1.25px;text-transform:uppercase}.ranking-tabs{display:flex;flex-wrap:wrap;gap:7px}.ranking-tabs button{min-height:38px;padding:8px 13px;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#cbd3cf;background:#ffffff06;cursor:pointer;font:700 10px/1.15 Inter,sans-serif;transition:border-color .15s ease,background .15s ease,transform .15s ease}.ranking-tabs button:hover{border-color:#ffffff59;transform:translateY(-1px)}.ranking-tabs button.active{border-color:#26bd75;color:#fff;background:#148e5659}.ranking-tabs button:focus-visible{outline:2px solid #8fe2b5;outline-offset:2px}.rankings-results{padding-top:22px}.rankings-results>header{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.rankings-results h3{margin:0;font:800 25px/1 Barlow Condensed,sans-serif;text-transform:uppercase}.rankings-state{color:#75807a;font:700 8px/1 Inter,sans-serif;letter-spacing:1px;text-transform:uppercase}.rankings-table-scroll{overflow:auto;max-height:min(48vh,520px)}.rankings-results table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.rankings-results th{position:sticky;top:0;z-index:1;padding:9px 10px;color:#75807a;background:#101817;font:700 8px/1 Inter,sans-serif;letter-spacing:1px;text-align:left;text-transform:uppercase}.rankings-results td{padding:11px 10px;border-top:1px solid rgba(255,255,255,.09);color:#d9ddda;font:600 10px/1.2 Inter,sans-serif;white-space:nowrap}.rankings-results th:first-child,.rankings-results td:first-child{width:42px;color:#71dda6;text-align:center}.rankings-results th:last-child,.rankings-results td:last-child{text-align:right}.rankings-results td[colspan]{color:#8d9691;text-align:center}.audio-settings,.course-settings,.interface-settings,.controls-settings{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(360px,1.28fr);gap:clamp(34px,6vw,90px);align-items:center;max-width:1060px;margin:0 auto;padding:34px 20px}.course-settings,.interface-settings,.controls-settings{border-top:1px solid rgba(255,255,255,.1)}.audio-settings-copy,.course-settings-copy,.interface-settings-copy,.controls-settings-copy{display:flex;align-items:flex-start;gap:16px}.audio-settings-icon,.course-settings-icon,.interface-settings-icon,.controls-settings-icon{display:grid;flex:0 0 auto;width:48px;height:48px;place-items:center;border:1px solid rgba(73,219,146,.26);border-radius:14px;color:#62dfa1;background:#24b0691a}.audio-settings-icon svg,.course-settings-icon svg,.interface-settings-icon svg,.controls-settings-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.audio-settings-copy h3,.course-settings-copy h3,.interface-settings-copy h3,.controls-settings-copy h3{margin:7px 0 9px;font:800 clamp(25px,2.4vw,34px)/1 "Barlow Condensed",sans-serif;text-transform:uppercase}.audio-settings-copy>div>p:last-child,.course-settings-copy>div>p:last-child,.interface-settings-copy>div>p:last-child,.controls-settings-copy>div>p:last-child{max-width:420px;margin:0;color:#8c9993;font:500 12px/1.55 Inter,sans-serif}.control-schemes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.control-scheme{min-width:0;padding:17px 15px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#ffffff06}.control-scheme h4{display:flex;align-items:center;gap:8px;margin:0 0 13px;color:#dce5e0;font:800 12px/1 Inter,sans-serif;letter-spacing:1px;text-transform:uppercase}.control-scheme h4 span{display:grid;width:23px;height:23px;place-items:center;border-radius:7px;color:#61dfa0;background:#23b86e1f;font-size:12px}.control-bindings{display:grid;gap:8px;margin:0}.control-bindings>div{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px}.control-bindings dt{display:flex;flex:0 0 auto;align-items:center;gap:3px;color:#66736d}.control-bindings dd{min-width:0;margin:0;color:#929f98;font:600 8px/1.25 Inter,sans-serif;text-align:right}.control-bindings kbd{display:grid;min-width:22px;height:22px;padding:0 5px;place-items:center;border:1px solid rgba(255,255,255,.2);border-bottom-color:#ffffff14;border-radius:5px;color:#e5ece8;background:linear-gradient(#ffffff1a,#ffffff09);box-shadow:0 2px #00000061;font:800 8px/1 Inter,sans-serif}.control-bindings .wide-key{min-width:48px}.audio-controls{display:grid;gap:14px}.audio-control{padding:clamp(24px,3vw,35px);border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#ffffff06;box-shadow:inset 0 1px #ffffff09}.audio-control-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px}.audio-control-heading label{color:#cbd4cf;font:700 10px/1 Inter,sans-serif;letter-spacing:1.2px;text-transform:uppercase}.audio-volume-value{color:#75e5aa;font:800 22px/1 Barlow Condensed,sans-serif;font-variant-numeric:tabular-nums}.audio-control input[type=range]{--audio-volume: 50%;width:100%;height:24px;margin:0;appearance:none;cursor:pointer;background:transparent}.audio-control input[type=range]::-webkit-slider-runnable-track{height:7px;border-radius:999px;background:linear-gradient(90deg,#2bc47b var(--audio-volume),rgba(255,255,255,.13) var(--audio-volume))}.audio-control input[type=range]::-moz-range-track{height:7px;border-radius:999px;background:linear-gradient(90deg,#2bc47b var(--audio-volume),rgba(255,255,255,.13) var(--audio-volume))}.audio-control input[type=range]::-webkit-slider-thumb{width:22px;height:22px;margin-top:-7.5px;appearance:none;border:4px solid #e8fff3;border-radius:50%;background:#21b96f;box-shadow:0 0 0 4px #29c57c26,0 3px 10px #00000059}.audio-control input[type=range]::-moz-range-thumb{width:14px;height:14px;border:4px solid #e8fff3;border-radius:50%;background:#21b96f;box-shadow:0 0 0 4px #29c57c26,0 3px 10px #00000059}.audio-control input[type=range]:focus-visible{outline:none}.audio-control input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 5px #8fe2b56b,0 3px 10px #00000059}.audio-control input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 5px #8fe2b56b,0 3px 10px #00000059}.audio-range-labels{display:flex;justify-content:space-between;margin-top:8px;color:#6f7c76;font:700 8px/1 Inter,sans-serif;letter-spacing:1px;text-transform:uppercase}.course-toggle{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#ffffff06;cursor:pointer}.course-toggle>span{display:grid;gap:7px}.course-toggle strong{color:#cbd4cf;font:700 10px/1 Inter,sans-serif;letter-spacing:1.2px;text-transform:uppercase}.course-toggle small{color:#7f8c86;font:500 10px/1.4 Inter,sans-serif}.course-toggle input{position:absolute;width:1px;height:1px;opacity:0}.course-toggle i{position:relative;flex:0 0 auto;width:48px;height:26px;border-radius:999px;background:#ffffff24;transition:background .15s ease}.course-toggle i:after{content:"";position:absolute;top:4px;left:4px;width:18px;height:18px;border-radius:50%;background:#d6ddd9;transition:transform .15s ease,background .15s ease}.course-toggle input:checked+i{background:#21b96f}.course-toggle input:checked+i:after{background:#effff7;transform:translate(22px)}.course-toggle input:focus-visible+i{outline:2px solid #8fe2b5;outline-offset:3px}.lobby-open .hud,.lobby-open .message,.lobby-open .touch-controls,.lobby-open .track-map{visibility:hidden}.finish-screen{position:fixed;inset:0;z-index:20;display:grid;place-items:center;overflow:auto;color:#fff;background:#000;opacity:0;pointer-events:none;transition:opacity 1.2s cubic-bezier(.45,0,.55,1)}.finish-screen.is-fading{opacity:1}.finish-screen.is-complete{pointer-events:auto}.finish-card{width:min(1080px,calc(100% - 40px));padding:35px 0;opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease}.finish-kicker{margin:0;color:#aeb7b2;text-align:center;font:700 10px/1 Inter,sans-serif;letter-spacing:2px;text-transform:uppercase}.finish-time{display:block;margin:8px 0 4px;font:700 clamp(52px,8vw,100px)/.9 "Barlow Condensed",sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.025em;text-align:center}.finish-result-meta{margin:0 0 28px;color:#b8c1bc;text-align:center;font:600 12px/1.4 Inter,sans-serif}.finish-screen.is-complete .finish-card{opacity:1;transform:translateY(0)}.leaderboard{border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);padding:20px 0}.leaderboard-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:13px}.leaderboard-heading h2{margin:3px 0 0;font:800 28px/1 Barlow Condensed,sans-serif;text-transform:uppercase}.leaderboard-heading>span{color:#78827d;font:600 9px/1 Inter,sans-serif;text-transform:uppercase}.leaderboard-scroll{overflow-x:auto}.leaderboard table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.leaderboard th{padding:7px 10px;color:#75807a;font:700 9px/1 Inter,sans-serif;letter-spacing:1px;text-align:left;text-transform:uppercase;white-space:nowrap}.leaderboard td{padding:10px;border-top:1px solid rgba(255,255,255,.1);color:#d9ddda;font:600 11px/1.15 Inter,sans-serif;white-space:nowrap}.leaderboard th:first-child,.leaderboard td:first-child{width:35px;color:#77827c;text-align:center}.leaderboard th:last-child,.leaderboard td:last-child{text-align:right}.leaderboard tr.current-result td{color:#fff;background:#14975b38}.leaderboard tr.current-result td:first-child{color:#6de5a5}.restart-button{width:min(270px,100%);margin:24px auto 0}.finish-complete .game-shell,.finish-complete .hud,.finish-complete .message,.finish-complete .touch-controls,.finish-complete .track-map{visibility:hidden}@media(max-width:960px){.lobby-layout{display:block;padding:18px 18px calc(96px + env(safe-area-inset-bottom))}.lobby-topbar{margin-bottom:16px}.lobby-panel{margin-top:0}.lobby-content{grid-template-columns:minmax(0,1fr);gap:22px}.setup-column{padding:22px 0 0;border:0;border-top:1px solid rgba(255,255,255,.1)}.car-preview img{height:clamp(280px,43vh,360px)}.category-tabs{display:flex;gap:6px;padding:2px 0 5px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}.category-tabs button{flex:0 0 auto;min-width:112px}.lobby-actions{grid-template-columns:1fr;gap:14px}.start-actions{display:block;width:min(360px,100%);margin-left:auto}.start-race{position:fixed;z-index:40;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));width:min(360px,calc(100vw - 36px));border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 42px #8205128c,0 0 0 5px #050c0bb8}.settings-panel,.rankings-panel{margin-top:0}.control-schemes{grid-template-columns:1fr}}@media(max-height:820px)and (min-width:961px){.lobby-layout{gap:10px;padding-block:14px 18px}.lobby-brand .flag{min-height:50px}.lobby-brand h1{font-size:40px}.event-meta{margin-top:7px}.lobby-panel{padding:17px 24px}.lobby-intro{padding-bottom:11px}.lobby-intro h2{font-size:32px}.lobby-content{padding:13px 0}.setup-column{gap:10px}.pilot-picker legend,.setting-picker legend,.category-picker legend,.car-picker>legend{margin-bottom:6px}.username-field input{padding-block:9px}.username-field>small{display:none}.setting-option span{min-height:37px;padding-block:6px}.category-tabs button{padding-block:8px}.category-description{margin-top:5px}.car-preview img{height:clamp(235px,34vh,280px)}.car-stat{padding-block:8px 7px}.car-stat-meter{margin-top:6px}.lobby-actions{min-height:62px;padding-top:11px}.start-race,.random-start{min-height:58px;padding-block:13px}}.track-map{position:fixed;z-index:5;top:86px;right:24px;width:218px;padding:11px 12px 10px;border:1px solid rgba(255,255,255,.2);border-radius:8px 3px;color:#edf2ee;background:linear-gradient(155deg,#162622c7,#070c0ca6);box-shadow:0 8px 22px #0000002e;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);pointer-events:none}.track-map-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.track-map-heading span{font:800 10px/1 Inter,sans-serif;letter-spacing:1.3px;text-transform:uppercase}.track-map-heading small{color:#a9b8b0;font:700 8px/1 Inter,sans-serif;text-transform:uppercase}.track-map-viewport{height:126px;margin:5px 0 3px}.track-map-viewport svg{display:block;width:100%;height:100%;overflow:visible}.track-map-shadow,.track-map-route{fill:none;stroke-linecap:round;stroke-linejoin:round}.track-map-shadow{stroke:#0000008a;stroke-width:6}.track-map-route{stroke:#e2ede7d1;stroke-width:2.2}.track-map-endpoint{stroke:#050c0ad9;stroke-width:1.4}.track-map-endpoint.map-start,.track-map-legend .map-start{fill:#2bd184;background:#2bd184}.track-map-endpoint.map-finish,.track-map-legend .map-finish{fill:#ef3c49;background:#ef3c49}.track-map-marker{fill:#fff;stroke:#e52d3b;stroke-width:2.4;filter:drop-shadow(0 0 3px rgba(231,45,59,.85))}.track-map-marker-pulse{fill:#e82b3a21;stroke:#ff505c8c;stroke-width:1;transform-box:fill-box;transform-origin:center;animation:map-marker-pulse 1.5s ease-out infinite}.track-map-legend{display:flex;justify-content:space-between;color:#aebbb4;font:700 7px/1 Inter,sans-serif;letter-spacing:.8px;text-transform:uppercase}.track-map-legend span{display:flex;align-items:center;gap:5px}.track-map-legend i{display:block;width:6px;height:6px;border-radius:50%}@keyframes map-marker-pulse{70%,to{opacity:0;transform:scale(1.55)}}.touch-controls{--touch-control-size: 48px;display:none;position:fixed;inset:auto 0 calc(18px + env(safe-area-inset-bottom));z-index:6;padding:0 calc(18px + env(safe-area-inset-right)) 0 calc(18px + env(safe-area-inset-left));justify-content:space-between;pointer-events:none}.touch-group{display:grid;grid-template-columns:repeat(3,var(--touch-control-size));gap:7px;align-items:end}.touch-group.drive{grid-template-columns:repeat(2,var(--touch-control-size))}.touch-btn{pointer-events:auto;width:var(--touch-control-size);height:var(--touch-control-size);border:1px solid rgba(255,255,255,.45);border-radius:12px;color:#fff;background:#090e0e70;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;touch-action:none}.touch-btn:active,.touch-btn.pressed{background:#dd2331b3}.touch-btn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2.2}@media(max-width:720px){.hud{padding:14px 14px 84px}.hud-top{gap:8px}.event-lockup{min-width:0;max-width:185px;gap:7px}.event-lockup .flag{margin-right:7px}.event-name{font-size:20px}.event-lockup .eyebrow{font-size:9px;line-height:1.1;letter-spacing:1.4px}.event-sub{display:none}.timer{min-width:0;flex:0 0 142px}.timer-value{font-size:30px;white-space:nowrap}.timer-penalty{font-size:15px}.instrument-cluster{min-height:0;padding:10px 13px 9px;border-color:#ffffff3d;border-radius:10px;background:#070c0dd1;box-shadow:0 10px 24px #0000003d;clip-path:none}.tachometer,.instrument-signature{display:none}.drive-readout{align-items:center;margin:0}.instrument-cluster .speed-value{color:#fff!important;text-shadow:0 2px 9px rgba(0,0,0,.45)}.instrument-cluster .speed-unit,.instrument-cluster .gear-label{color:#cbd3cf!important}.instrument-cluster .gear{color:#fff!important}.speed-value{font-size:54px;min-width:82px}.speed-unit{margin:0 9px 3px 0;font-size:8px}.gear-wrap{width:43px;height:42px;padding-left:9px}.gear-label{font-size:7px;letter-spacing:1px}.gear{font-size:30px}.drift-meter{display:none}.hud-bottom{position:relative}.route-panel{position:absolute;right:0;bottom:0;width:76px;height:118px;padding-right:13px}.route-head{height:100%;margin:0;flex-direction:column;justify-content:space-between;align-items:flex-end;text-align:right}.section{max-width:64px;overflow:hidden;font-size:10px;line-height:1.15;text-overflow:ellipsis}.distance{max-width:62px;font-size:8px;line-height:1.35}.route-track{position:absolute;top:0;right:0;width:5px;height:100%}.route-progress{position:absolute;right:0;bottom:0;width:100%!important;height:var(--route-progress, 0%)}.route-dots{inset:0 -3px;flex-direction:column}.route-dot{width:11px;height:2px}.touch-controls{display:flex}.message-main{font-size:46px}.track-map{display:none!important}.track-map-heading small{display:none}.track-map-viewport{height:104px}.lobby-layout{display:block;padding:14px 12px calc(94px + env(safe-area-inset-bottom))}.lobby-topbar{align-items:flex-start;margin:0 4px 18px}.lobby-brand{margin:0 4px 18px}.lobby-topbar .lobby-brand{min-width:0;margin:0}.lobby-brand .flag{min-height:48px}.lobby-brand h1{font-size:32px}.event-meta{margin-top:9px}.event-meta span{font-size:8px}.event-meta span:last-child{display:none}.lobby-tools{gap:6px}.open-settings,.open-rankings{width:43px;height:43px;justify-content:center;padding:0}.open-settings span,.open-rankings span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.lobby-panel{padding:17px 15px 20px;border-radius:14px 3px;margin-top:0}.lobby-intro{align-items:start;padding-bottom:14px}.lobby-intro h2{margin-top:5px;font-size:28px}.lobby-intro>div>p:last-child{font-size:10px}.starting-sequence{display:none}.lobby-content{grid-template-columns:1fr;gap:20px;padding:17px 0}.setup-column{gap:17px;padding:19px 0 0;border:0;border-top:1px solid rgba(255,255,255,.1)}.setting-options{gap:5px}.setting-option span{min-height:40px;padding:7px 5px;font-size:10px}.direction-picker .setting-option span{font-size:9px}.category-tabs{gap:5px}.category-tabs button{min-width:104px;padding-inline:9px;font-size:11px}.carousel-hint{font-size:7px}.carousel-arrow{width:36px;height:36px}.carousel-arrow.previous{left:9px}.carousel-arrow.next{right:9px}.car-preview img{height:210px}.car-preview figcaption{grid-template-columns:minmax(0,1fr) auto}.car-year{grid-column:1;grid-row:1}.car-count{grid-column:2;grid-row:1}.car-name{grid-column:1 / -1;grid-row:2;font-size:24px}.car-stats{grid-template-columns:repeat(2,1fr);gap:6px}.lobby-actions{grid-template-columns:1fr;gap:14px}.start-actions{display:block;width:100%}.random-start{min-height:54px}.start-race{position:fixed;z-index:40;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));left:12px;width:auto;min-height:64px;border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 42px #8205128c,0 0 0 5px #050c0bb8}.selection-summary strong{font-size:9px;white-space:normal}.settings-panel,.rankings-panel{min-height:calc(100vh - 97px);margin-top:0;padding:19px 15px;border-radius:17px}.settings-heading{align-items:flex-start;gap:13px;padding-bottom:18px}.settings-heading h2{font-size:30px}.settings-heading>div>p:last-child{font-size:10px}.close-settings,.close-rankings{width:39px;height:39px}.rankings-filters{grid-template-columns:1fr;gap:17px;padding:20px 0}.ranking-category-filter,.ranking-vehicle-filter{grid-column:auto}.ranking-tabs{gap:5px}.ranking-tabs button{min-height:36px;padding:7px 9px;font-size:9px}.rankings-table-scroll{max-height:none}.rankings-results table{min-width:620px}.audio-settings,.course-settings,.interface-settings,.controls-settings{grid-template-columns:1fr;gap:28px;min-height:0;padding:34px 0 20px}.audio-settings-copy,.course-settings-copy,.interface-settings-copy,.controls-settings-copy{gap:12px}.audio-settings-icon,.course-settings-icon,.interface-settings-icon,.controls-settings-icon{width:42px;height:42px;border-radius:12px}.audio-settings-copy h3,.course-settings-copy h3,.interface-settings-copy h3,.controls-settings-copy h3{font-size:25px}.audio-settings-copy>div>p:last-child,.course-settings-copy>div>p:last-child,.interface-settings-copy>div>p:last-child,.controls-settings-copy>div>p:last-child{font-size:10px}.audio-control{padding:23px 18px}.course-toggle{padding:21px 18px}.finish-card{width:calc(100% - 28px);padding:24px 0}.finish-time{font-size:58px}.finish-result-meta{margin-bottom:20px;font-size:10px}.leaderboard{padding:15px 0}.leaderboard-heading{align-items:start}.leaderboard-heading>span{max-width:100px;line-height:1.4;text-align:right}.leaderboard table{min-width:760px}}@media(pointer:coarse){.touch-controls{--touch-control-size: clamp(58px, 16vw, 68px);display:flex}.touch-btn,.instrument-cluster,.track-map{-webkit-backdrop-filter:none;backdrop-filter:none}}@media(pointer:coarse)and (max-height:560px){.hud{padding:calc(10px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left))}.hud-top{gap:8px}.event-lockup{min-width:0;max-width:42vw;gap:7px}.event-lockup .flag{margin-right:7px}.event-name{font-size:19px}.event-lockup .eyebrow{font-size:8px;line-height:1.1;letter-spacing:1.2px}.event-sub,.timer-label{display:none}.timer{min-width:0}.timer-value{font-size:28px;white-space:nowrap}.timer-penalty{margin-top:5px;font-size:14px}.hud-bottom{position:static}.telemetry{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translate(-50%)}.instrument-cluster{min-height:0;padding:8px 11px 7px;border-radius:10px;background:#070c0dcc;clip-path:none}.tachometer,.instrument-signature,.drift-meter,.route-panel{display:none}.drive-readout{align-items:center;margin:0}.speed-value{min-width:58px;font-size:38px}.speed-unit{margin:0 7px 3px 0;font-size:7px}.gear-wrap{width:34px;height:32px;padding-left:7px}.gear-label{font-size:6px;letter-spacing:.8px}.gear{font-size:24px}.track-map{display:none!important}.touch-controls{--touch-control-size: clamp(58px, 9.5vh, 68px)}.message.race-start-message{top:38%;width:min(64vw,620px)}.message.race-start-message .message-main{font-size:clamp(28px,7vh,46px)}.message.race-start-message .message-sub{margin-top:6px;font-size:clamp(8px,2.3vh,11px);letter-spacing:1.2px}.message.race-start-message.countdown .message-main{font-size:clamp(72px,24vh,130px)}}@media(prefers-reduced-motion:reduce){body:before,body:after,.game-shell:after,.hud,.track-map,.touch-controls{transition:none}.track-map-marker-pulse{animation:none}.tachometer-needle,.car-preview img,.setting-option span,.category-tabs button,.start-race,.random-start,.open-settings,.open-rankings,.ranking-tabs button{transition:none}.finish-screen,.finish-card{transition-duration:.01ms}.finish-card{transform:none}}
