:root{color-scheme:dark;font-family:"Segoe UI",system-ui,-apple-system,sans-serif;--cyan:#29e7f5;--gold:#ffd22a;--red:#ff405d;--panel:rgba(7,17,30,.91)}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#030710;color:#f5fbff;touch-action:none}button,select{font:inherit}button{color:inherit}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.game-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:radial-gradient(circle at 28% 0,#173650 0,transparent 35%),linear-gradient(145deg,#07101e,#02050b)}
.hud{min-height:64px;padding:8px clamp(8px,1.8vw,20px);display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);align-items:center;gap:12px;border-bottom:1px solid rgba(65,224,255,.25);background:linear-gradient(180deg,rgba(18,39,56,.98),rgba(7,17,29,.98));box-shadow:0 8px 30px #0009;z-index:10}
.brand{display:flex;align-items:center;gap:12px;min-width:0;color:#fff;text-decoration:none}.brand img{width:clamp(118px,15vw,190px);height:auto;filter:drop-shadow(0 3px 8px #000)}.brand>span{display:grid;border-left:1px solid #39eaff55;padding-left:12px}.brand strong{font-size:clamp(12px,1.5vw,20px);white-space:nowrap}.brand small{font-size:10px;color:#7ceaf0;font-weight:700;white-space:nowrap}
.hud__stats{display:flex;gap:7px}.hud__stats>span{min-width:70px;padding:6px 10px;display:grid;text-align:center;border:1px solid #7ccde044;border-radius:13px;background:linear-gradient(#2c4b61,#142938);box-shadow:inset 0 1px #d7faff3d,0 4px 10px #0005}.hud__stats small{font-size:8px;text-transform:uppercase;color:#7ddceb;font-weight:900;letter-spacing:.06em}.hud__stats strong{font-size:16px}.hud__buttons{justify-self:end;display:flex;gap:7px;align-items:center}.hud button,.language{height:42px;border:1px solid #6cddec55;border-radius:12px;background:linear-gradient(#29455a,#122737);box-shadow:inset 0 1px #fff3,0 4px 12px #0006}.icon-button{width:44px;display:grid;place-items:center;cursor:pointer}.icon-button svg{width:20px;fill:currentColor}.icon-button .sound-off{display:none}.icon-button[aria-pressed=false] .sound-on{display:none}.icon-button[aria-pressed=false] .sound-off{display:block}.language{display:grid;place-items:center;padding:0 5px}.language select{border:0;background:transparent;color:#fff;font-weight:900;outline:0}.language option{background:#152736}.restart{padding:0 14px;display:flex;gap:6px;align-items:center;font-weight:900;cursor:pointer}.restart:hover,.icon-button:hover{border-color:var(--cyan);transform:translateY(-1px)}
.stage{min-height:0;position:relative;overflow:hidden;background:#06101c}.stage::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 80px #0008;z-index:2}#renderer-host{position:absolute;inset:0;outline:none}#renderer-host canvas{display:block;width:100%;height:100%}
.race-hud{position:absolute;left:12px;right:12px;top:12px;display:flex;gap:9px;align-items:flex-start;z-index:4;pointer-events:none}.speed,.health,.weapon,.track-name{border:1px solid #72e8fa44;background:linear-gradient(145deg,#142b3bea,#07121eea);box-shadow:inset 0 1px #fff2,0 7px 22px #0008;backdrop-filter:blur(8px);border-radius:13px}.speed{width:82px;padding:7px 9px;display:flex;align-items:baseline;gap:4px}.speed strong{font-size:24px;font-style:italic}.speed small{font-size:8px;color:#75deea;font-weight:900}.health{width:140px;padding:8px 10px}.health>span,.track-name small,.weapon small{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#7ddfea}.health>div{height:8px;margin-top:5px;border-radius:9px;overflow:hidden;background:#02070b;box-shadow:inset 0 1px 3px #000}.health i{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#15df9a,#e9ef48);box-shadow:0 0 12px #2cf0a4}.weapon{display:flex;min-width:158px;align-items:center;padding:6px 9px;gap:8px}.weapon>span{font-size:24px;width:30px;text-align:center}.weapon>div{flex:1}.weapon strong,.track-name strong{display:block;font-size:12px}.weapon>b{font-size:19px;color:var(--gold)}.track-name{margin-left:auto;padding:7px 11px;min-width:126px}
.overlay{position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92%,580px);max-height:calc(100% - 28px);overflow:auto;padding:clamp(17px,3.1vw,32px);text-align:center;border:1px solid #54ebff88;border-radius:25px;background:radial-gradient(circle at 50% 0,#234e67 0,#10283eea 40%,#07121ef7 100%);box-shadow:inset 0 1px #fff4,0 0 0 5px #071522aa,0 20px 70px #000e,0 0 38px #1adff733}.overlay[hidden]{display:none}.overlay h1,.overlay h2{margin:5px 0 10px;font-size:clamp(27px,5vw,48px);line-height:1;text-shadow:0 3px #00101a,0 0 22px #39eaff66}.overlay p{margin:8px auto 16px;max-width:470px;color:#cde2ec;line-height:1.45}.eyebrow{font-size:11px!important;font-weight:1000;letter-spacing:.14em;color:var(--gold)!important}.primary{min-width:210px;padding:13px 25px;border:1px solid #fff8;border-radius:14px;background:linear-gradient(135deg,#08dce5,#1ca2ff);box-shadow:inset 0 1px #fff8,0 8px 20px #00b6d855;color:#001421;font-weight:1000;text-transform:uppercase;cursor:pointer}.primary:hover{filter:brightness(1.15);transform:translateY(-2px)}.primary:active{transform:translateY(1px)}
.loading-mark{height:70px;display:flex;justify-content:center;align-items:flex-end;gap:7px}.loading-mark i{display:block;width:22px;border-radius:5px 5px 2px 2px;background:linear-gradient(#46f5ff,#1181dd);box-shadow:inset 0 2px #fff9,0 0 20px #28e9ff}.loading-mark i:nth-child(1){height:38px;transform:skewY(-18deg)}.loading-mark i:nth-child(2){height:57px}.loading-mark i:nth-child(3){height:44px;transform:skewY(18deg)}.loading-bar{height:9px;margin:18px auto 8px;width:min(360px,90%);border-radius:10px;background:#02080d;overflow:hidden;box-shadow:inset 0 2px 4px #000}.loading-bar i{display:block;width:2%;height:100%;background:linear-gradient(90deg,#21dfe8,#ffd629);box-shadow:0 0 14px #44f0ff;transition:width .2s}
.start-card__topline{display:flex;justify-content:center;gap:10px;color:#67eff9;font-size:10px;letter-spacing:.13em;font-weight:1000}.start-card__topline b{color:var(--gold)}.vehicle-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:16px 0 8px}.vehicle-picker button{position:relative;aspect-ratio:1.25;border:1px solid #628da055;border-radius:12px;background:linear-gradient(#20394a,#0c1b27);cursor:pointer;overflow:hidden}.vehicle-picker button::before{content:"";position:absolute;inset:25% 14%;border-radius:45% 45% 30% 30%;background:var(--car-color);box-shadow:inset 0 6px #fff5,inset 0 -7px #0005,0 4px 12px var(--car-color)}.vehicle-picker button::after{content:"";position:absolute;left:28%;right:28%;top:30%;height:30%;border-radius:40%;background:#b9efff;box-shadow:0 0 8px #fff}.vehicle-picker button[aria-pressed=true]{border-color:var(--gold);box-shadow:0 0 0 2px #ffd52a77,0 0 19px #ffd52a55;transform:translateY(-2px)}.selected-car{display:flex;justify-content:center;gap:12px;margin:5px 0 16px}.selected-car span{font-size:11px;color:#87dce6}
.result-stats{display:flex;justify-content:center;gap:8px;margin:15px}.result-stats span{min-width:105px;padding:9px;border:1px solid #79e7f855;border-radius:12px;background:#081725}.result-stats small{display:block;font-size:8px;color:#70dfea;text-transform:uppercase;font-weight:900}.result-stats strong{font-size:23px;color:var(--gold)}#standings{list-style:none;padding:0;margin:10px auto 16px;max-width:380px;display:grid;gap:4px;text-align:left;counter-reset:pos}#standings li{display:flex;gap:8px;padding:6px 10px;border-radius:8px;background:#06131e;color:#bcd0da;font-size:12px}#standings li::before{counter-increment:pos;content:counter(pos) ".";color:#67eaf4;font-weight:900}#standings li.player{border:1px solid #ffd42c66;color:#fff;background:#3e3510}.finish-card h2{color:var(--gold)}
.countdown{position:absolute;z-index:7;left:50%;top:46%;transform:translate(-50%,-50%);font-size:min(23vw,170px);font-style:italic;font-weight:1000;color:#fff;text-shadow:0 6px #06101c,0 0 40px #32ecff;animation:countPulse .65s ease both}@keyframes countPulse{0%{opacity:0;transform:translate(-50%,-50%) scale(1.8)}50%{opacity:1}100%{transform:translate(-50%,-50%) scale(.75)}}
.event-banner{position:absolute;z-index:6;top:23%;left:50%;transform:translateX(-50%) skewX(-7deg);min-width:260px;padding:10px 20px;text-align:center;border:1px solid #fff8;background:linear-gradient(90deg,#fa336b,#ff9b21);box-shadow:0 0 30px #ff355999}.event-banner strong,.event-banner span{display:block}.event-banner strong{font-size:20px;font-style:italic}.event-banner span{font-size:10px;font-weight:900}.event-banner.pop{animation:eventPop .35s ease both}@keyframes eventPop{from{opacity:0;transform:translateX(-50%) skewX(-7deg) scale(.55)}to{opacity:1;transform:translateX(-50%) skewX(-7deg) scale(1)}}
.touch-controls{position:absolute;z-index:7;left:10px;right:10px;bottom:10px;justify-content:space-between;pointer-events:none}.touch-controls>div{display:flex;gap:8px;align-items:flex-end}.touch-controls button{width:60px;height:60px;border:1px solid #8ce9f588;border-radius:18px;background:linear-gradient(#25495bcf,#0c2434e8);box-shadow:inset 0 2px #fff4,0 5px 18px #0009;color:#fff;font-size:22px;font-weight:1000;pointer-events:auto;touch-action:none}.touch-controls button.active{transform:translateY(3px);filter:brightness(1.5)}.touch-controls .accelerate{height:78px;background:linear-gradient(#18d5b4dd,#087968ee)}.touch-controls .fire{background:linear-gradient(#ffba24dd,#dc4d10ee)}
.help{min-height:28px;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:6px 14px;border-top:1px solid #39dbe944;background:#07131f;color:#9bb5c2;font-size:10px}.help b{color:#64dbe4;font-size:9px;letter-spacing:.07em}
.vehicle-picker button{padding:0;background:radial-gradient(circle at 50% 30%,#315268,#0a1722 72%)}.vehicle-picker button::before,.vehicle-picker button::after{display:none}.vehicle-picker button img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 7px #000b);transition:transform .18s ease,filter .18s ease}.vehicle-picker button:hover img{transform:scale(1.08);filter:drop-shadow(0 5px 10px var(--car-color))}
@media (pointer:coarse),(max-width:900px){.touch-controls:not([hidden]){display:flex}.restart span:last-child{display:none}.hud{grid-template-columns:minmax(115px,1fr) auto auto;min-height:52px;padding:5px 7px;gap:6px}.brand>span{display:none}.brand img{width:120px}.hud__stats>span:nth-child(4){display:none}.hud__stats>span{min-width:45px;padding:4px 5px}.hud__stats small{font-size:6px}.hud__stats strong{font-size:12px}.hud__buttons{gap:4px}.hud button,.language{height:36px}.icon-button{width:36px}.restart{width:36px;padding:0;justify-content:center}.race-hud{top:6px;left:6px;right:6px;gap:5px}.track-name{display:none}.speed{width:65px;padding:5px}.speed strong{font-size:18px}.health{width:95px;padding:6px}.weapon{min-width:125px;margin-left:auto;padding:4px 6px}.weapon>span{font-size:19px;width:23px}.weapon strong{font-size:10px}.weapon b{font-size:15px}.overlay{width:min(94%,520px);padding:16px}.vehicle-picker{gap:4px}.help b{display:none}}
@media(max-width:560px){.hud__stats>span:nth-child(3){display:none}.hud__stats{gap:4px}.brand img{width:102px}.vehicle-picker{grid-template-columns:repeat(3,1fr)}.start-card{max-height:94%}.start-card p{font-size:12px;margin-bottom:8px}.start-card h1{font-size:28px}.vehicle-picker{margin:8px 0}.selected-car{margin-bottom:9px}.touch-controls button{width:53px;height:53px}.touch-controls .accelerate{height:66px}.help{font-size:9px}}
@media(max-height:600px) and (orientation:landscape){.hud{min-height:47px}.brand img{width:105px}.overlay{padding:12px;max-height:94%}.overlay h1{font-size:28px}.start-card p{display:none}.vehicle-picker{margin:7px 0}.touch-controls button{width:48px;height:48px}.touch-controls .accelerate{height:58px}.help{display:none}.game-shell{grid-template-rows:auto minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
