@font-face{font-family:Bangers;font-style:normal;font-display:swap;font-weight:400;src:url(./bangers-latin-400-normal-DeHY8Ncq.woff2) format("woff2"),url(./bangers-latin-400-normal-BAEm-Pv0.woff) format("woff")}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(./anton-latin-400-normal-Byf51wtH.woff2) format("woff2"),url(./anton-latin-400-normal-AUNGEG_V.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(./inter-latin-400-normal-CyCys3Eg.woff) format("woff")}:root{font-family:Inter,Arial,sans-serif;color:#fff;background:#101d1f;font-synthesis:none;--yellow: #ffd400;--red: #ff3b30;--blue: #1e90ff;--orange: #ff8a00;--dark: #101d1f;--panel: rgba(12, 25, 37, .94);--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}html,body,#app{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overscroll-behavior:none}.credits-button{margin-top:14px;min-height:40px;padding:8px 16px;border:1px solid var(--yellow);color:var(--yellow);background:var(--panel);font:16px Anton,sans-serif;cursor:pointer}.credits-button:focus-visible{outline:3px solid white;outline-offset:3px}.credits-copy{font-size:14px;line-height:1.45}.credits-copy p{margin:0 0 12px}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}[hidden]{display:none!important}#canvas-host,#canvas-host canvas{position:absolute;inset:0;display:block;width:100%;height:100%}#canvas-host{z-index:0}#canvas-host,#canvas-host canvas,.touch-controls{touch-action:none;-webkit-touch-callout:none}.sitelock-screen{display:grid;place-items:center;font-size:18px}.boost-speed-lines{position:fixed;inset:0;z-index:1;overflow:hidden;pointer-events:none}.boost-speed-line{position:absolute;display:block;transform-origin:left center;clip-path:polygon(0 50%,100% 0,100% 100%);pointer-events:none}.boost-speed-line[hidden]{display:none}.loading-screen{position:absolute;inset:0;z-index:10;display:grid;align-content:center;justify-items:center;gap:14px;background:linear-gradient(140deg,#1e90ff,#101d1f 74%);text-align:center}.loading-screen strong{font:48px/1 Bangers,Impact,sans-serif;color:var(--yellow);text-shadow:4px 5px #101820}.loading-screen span{font:18px Anton,sans-serif;letter-spacing:.12em}.loading-error span{max-width:580px;padding:0 24px;color:#ffe5aa}.menu-screen{position:absolute;z-index:2;inset:0;display:flex;align-items:center;padding:4vw 5.2vw;pointer-events:none;background:linear-gradient(90deg,rgba(8,17,27,.72),rgba(8,17,27,.32) 36%,transparent 66%)}.menu-card{width:min(40vw,720px);min-width:390px;padding:clamp(22px,2.3vw,42px);background:linear-gradient(110deg,#0c1825f2,#0c1825c4);border-left:8px solid var(--yellow);box-shadow:12px 14px #03091259;pointer-events:auto;clip-path:polygon(0 0,100% 0,100% 93%,94% 100%,0 100%)}.game-logo{position:relative;display:flex;flex-direction:column;width:fit-content;max-width:100%;transform:skew(-7deg);font-family:Bangers,Impact,sans-serif;font-weight:400;line-height:.76;letter-spacing:.015em;-webkit-text-stroke:1.5px #101820;filter:drop-shadow(5px 7px 0 #101820)}.game-logo:after{position:absolute;right:-22px;bottom:5px;z-index:-1;width:112%;height:22%;content:"";background:linear-gradient(90deg,#ff3b30,#ff8a00);transform:skew(-20deg) rotate(-4deg)}.logo-car{color:var(--yellow);font-size:clamp(62px,7.2vw,118px)}.logo-fighting{color:#fff;font-size:clamp(54px,6.2vw,100px)}.logo-simulator{align-self:flex-end;margin-top:8px;padding:7px 13px 5px;color:#101820;background:var(--yellow);font:20px/1 Anton,sans-serif;letter-spacing:.04em;-webkit-text-stroke:0}.menu-tagline{margin:clamp(20px,2.1vw,34px) 0 14px;color:#fff;font:700 clamp(11px,.85vw,15px) "Inter",sans-serif;letter-spacing:.12em;text-shadow:0 2px 5px #000}.menu-actions{display:grid;gap:clamp(8px,.75vw,13px);width:min(100%,440px)}.menu-button{display:flex;align-items:center;justify-content:space-between;min-height:clamp(43px,4.3vh,56px);padding:9px 17px;border:0;text-align:left;font:23px/1 Anton,sans-serif;letter-spacing:.03em;clip-path:polygon(0 0,100% 0,96% 100%,0 100%);transition:transform .12s ease,filter .12s ease}.menu-button:hover,.menu-button:focus-visible{transform:translate(5px);filter:brightness(1.15);outline:2px solid white;outline-offset:2px}.menu-button.primary{min-height:clamp(54px,6vh,76px);padding-left:22px;color:#101820;background:var(--yellow);box-shadow:inset 0 -5px #e99a00;font-size:clamp(30px,2.4vw,42px)}.menu-button.primary span{font-size:.7em}.menu-button.secondary{color:#fff;background:#102738;box-shadow:inset 5px 0 #1e90ff}.best-button b{color:var(--yellow)}.countdown{position:absolute;z-index:4;top:45%;left:50%;transform:translate(-50%,-50%) skew(-8deg);color:var(--yellow);font:clamp(84px,13vw,200px)/.9 "Anton",Impact,sans-serif;text-shadow:7px 8px #101820,12px 13px #e94d25}.crash-callout{position:absolute;z-index:4;top:24%;left:50%;max-width:80vw;padding:.08em .32em;transform:translate(-50%) rotate(-5deg) skew(-7deg);color:var(--yellow);white-space:nowrap;pointer-events:none;font:clamp(46px,7vw,112px)/.95 "Bangers",Impact,sans-serif;-webkit-text-stroke:2px #101820;text-shadow:5px 6px #101820,9px 10px #e64a22;filter:drop-shadow(5px 7px 0 rgba(0,0,0,.4))}.crash-callout:before{position:absolute;z-index:-1;inset:8% -5%;content:"";background:#101820;clip-path:polygon(0 32%,11% 22%,5% 0,35% 15%,92% 2%,88% 25%,100% 29%,90% 57%,98% 82%,57% 80%,12% 100%,17% 72%)}.crash-callout.punch{animation:crash-callout-punch .2s ease-out both}@keyframes crash-callout-punch{0%{transform:translate(-50%) rotate(-11deg) skew(-7deg) scale(.7)}65%{transform:translate(-50%) rotate(-3deg) skew(-7deg) scale(1.1)}to{transform:translate(-50%) rotate(-5deg) skew(-7deg) scale(1)}}.game-hud{--hud-health-track-width:max(130px,14vw);position:absolute;z-index:3;inset:0;display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:start;gap:2vw;padding:clamp(14px,2.2vh,24px) clamp(18px,2.2vw,42px);pointer-events:none}.health-panel{display:grid;grid-template-columns:auto var(--hud-health-track-width) auto;align-items:center;gap:10px;width:fit-content;min-width:245px;padding:7px 13px 8px;background:var(--panel);box-shadow:5px 6px #00000052;clip-path:polygon(0 0,100% 0,96% 100%,0 100%)}.player-panel{border-top:4px solid #2bc75b}.bot-panel{justify-self:end;grid-template-columns:max-content var(--hud-health-track-width);min-width:205px;border-top:4px solid var(--red)}.panel-label{padding:2px 6px;background:#172b3b;font:17px/1 Anton,sans-serif;transform:skew(-7deg)}.health-panel>b{font:25px/1 Anton,sans-serif}.health-meter{width:var(--hud-health-track-width);height:17px;padding:3px;background:#07111b;transform:skew(-8deg)}.health-meter span{display:block;width:100%;height:100%}.player-health-fill{background:#18d64e;box-shadow:0 0 8px #18d64e8c}.bot-health-fill{background:#ff3b30;box-shadow:0 0 8px #ff3b308c}.match-result{position:absolute;z-index:4;inset:0;display:grid;place-items:center;padding:20px;background:#050b12b8}.result-card{display:grid;justify-items:center;gap:clamp(10px,1.5vh,18px);width:min(690px,92vw);max-height:94vh;padding:clamp(22px,3vw,42px);overflow:auto;background:linear-gradient(145deg,#0e2232fa,#08131ffa);border-top:7px solid var(--yellow);box-shadow:12px 14px #0000006b;clip-path:polygon(0 0,100% 0,100% 94%,95% 100%,0 100%)}.match-result h2{margin:0;color:var(--yellow);font:clamp(48px,7vw,90px)/.9 "Anton",sans-serif;text-shadow:5px 6px #101820}.result-score{display:grid;justify-items:center}.result-score span{color:#bcd6e6;font:15px/1 Inter,sans-serif;letter-spacing:.16em}.result-score strong{color:#fff;font:clamp(52px,7vw,88px)/1 "Anton",sans-serif;text-shadow:4px 5px #07111b}.result-best{padding:7px 18px;color:#101820;background:var(--yellow);font:clamp(24px,3vw,38px)/1 "Bangers",sans-serif;transform:rotate(-2deg)}.result-best-punch{animation:result-best-punch .22s ease-out both}@keyframes result-best-punch{0%{transform:rotate(-5deg) scale(.55)}70%{transform:rotate(1deg) scale(1.12)}to{transform:rotate(-2deg) scale(1)}}.result-stats{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:7px 10px;width:min(100%,510px)}.result-stats div{display:flex;justify-content:space-between;align-items:baseline;padding:7px 11px;background:#102738;border-left:3px solid var(--blue)}.result-stats span{color:#bad0dc;font:12px/1 Inter,sans-serif;letter-spacing:.08em}.result-stats b{color:#fff;font:21px/1 Anton,sans-serif}.result-actions{display:grid;grid-template-columns:1.25fr 1fr;gap:10px;width:min(100%,510px)}.result-actions .menu-button{width:100%}.match-clock{display:grid;justify-items:center;min-width:116px;padding:5px 19px 8px;background:var(--panel);box-shadow:4px 5px #0000004d;transform:skew(-7deg)}.match-clock>b{font:clamp(27px,2.5vw,40px)/1 "Anton",sans-serif}.match-clock>span{margin-top:3px;color:var(--yellow);font:15px/1 Anton,sans-serif;letter-spacing:.1em}.match-clock strong{color:#fff}.match-clock #score-value{display:inline-block}.score-punch{animation:score-punch .16s ease-out}@keyframes score-punch{45%{color:var(--yellow);transform:scale(1.28) rotate(-3deg)}}.combo-area{margin-top:3px;padding:3px 9px;color:#101820;background:linear-gradient(90deg,var(--yellow),var(--orange));font:20px/1 Bangers,sans-serif;letter-spacing:.03em;box-shadow:3px 4px #08121c}.combo-punch{animation:combo-punch .18s ease-out}.combo-max{color:#fff;background:linear-gradient(90deg,#ff3b30,#ff8a00);font-size:24px}.combo-out{animation:combo-out .14s ease-in forwards}@keyframes combo-punch{0%{transform:scale(.65) rotate(-5deg)}65%{transform:scale(1.17) rotate(2deg)}to{transform:scale(1)}}@keyframes combo-out{to{opacity:0;transform:translateY(-6px) scale(.85)}}.score-popups{position:absolute;z-index:4;top:38%;left:50%;display:grid;justify-items:center;gap:3px;transform:translate(-50%);pointer-events:none}.score-popup{color:#fff;font:clamp(28px,3.5vw,50px)/1 "Anton",sans-serif;-webkit-text-stroke:1px #101820;text-shadow:3px 4px #101820;animation:score-popup .75s ease-out both}@keyframes score-popup{0%{opacity:0;transform:translateY(12px) scale(.65)}18%{opacity:1;transform:translateY(0) scale(1.12)}55%{opacity:1;transform:translateY(-4px) scale(1)}to{opacity:0;transform:translateY(-28px) scale(.92)}}.boost-panel{position:absolute;right:clamp(22px,3vw,58px);bottom:clamp(20px,3.4vh,42px);display:grid;justify-items:center;gap:5px}.boost-gauge{--boost-progress: 100%;width:clamp(100px,10vw,154px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:conic-gradient(from -90deg,var(--yellow) var(--boost-progress),#243848 0);filter:drop-shadow(5px 7px 0 rgba(0,0,0,.42))}.boost-gauge:before{grid-area:1 / 1;width:83%;height:83%;border:5px solid #111d29;border-radius:50%;content:"";background:#101d2d}.boost-gauge-core{z-index:1;grid-area:1 / 1;display:grid;justify-items:center;align-content:center;gap:1px}.boost-flame{color:var(--orange);font-size:clamp(25px,2.8vw,42px);text-shadow:0 0 14px rgba(255,104,0,.7)}.boost-gauge-core b{color:#fff;font:clamp(17px,1.6vw,24px)/1 "Anton",sans-serif}.boost-gauge[data-state=active]{background:conic-gradient(from -90deg,#ff7a00 var(--boost-progress),#243848 0)}.boost-gauge[data-state=charging]{background:conic-gradient(from -90deg,#1e90ff var(--boost-progress),#243848 0)}.boost-status{min-width:94px;padding:4px 8px;color:#101820;background:var(--yellow);text-align:center;font:14px/1 Anton,sans-serif;letter-spacing:.04em}.boost-status.is-charging{color:#fff;background:#155e9e}.boost-status.is-active{color:#101820;background:#ff8a00}.modal-backdrop{position:absolute;z-index:6;inset:0;display:grid;place-items:center;padding:24px;background:#050b12b3}.modal-card{position:relative;width:min(620px,90vw);max-height:min(86vh,760px);overflow:auto;padding:clamp(26px,3vw,46px);color:#fff;background:var(--panel);border-top:7px solid var(--yellow);box-shadow:11px 13px #00000061;clip-path:polygon(0 0,100% 0,100% 96%,96% 100%,0 100%)}.modal-card h2{margin:0 0 24px;color:var(--yellow);font:clamp(34px,4vw,54px)/1 "Anton",sans-serif;text-shadow:3px 4px #070d13}.modal-close{position:absolute;top:13px;right:18px;border:0;color:#fff;background:transparent;font:38px/1 Inter,sans-serif}.controls-grid{display:grid;grid-template-columns:minmax(155px,1fr) 1.2fr;gap:12px 18px;align-items:center;font-size:15px}.controls-grid b{color:var(--yellow);font:19px/1 Anton,sans-serif}.how-to-copy{margin-top:28px;padding:15px 18px;background:#112c3e;border-left:5px solid var(--orange)}.how-to-copy strong{color:var(--orange);font:25px/1 Anton,sans-serif}.how-to-copy p{margin:10px 0 0;font-size:15px;line-height:1.45}.volume-settings{display:grid;gap:20px}.volume-control{display:grid;gap:9px}.volume-control>span{display:flex;justify-content:space-between;gap:20px;font:18px/1 Anton,sans-serif}.volume-control>span b{color:var(--yellow)}.volume-control input{width:100%;accent-color:var(--yellow)}.touch-setting{display:flex;gap:10px;align-items:center;margin-top:22px;font-size:15px}.best-score-copy{font-size:17px}.telemetry{position:absolute;z-index:9;top:12px;right:12px;padding:12px 15px;white-space:pre;font:12px/1.45 Consolas,monospace;background:#000000d1;color:#d5ffca;pointer-events:none}.pause-button{position:absolute;z-index:5;top:max(82px,calc(var(--safe-top) + 72px));right:max(24px,calc(var(--safe-right) + 16px));padding:9px 16px;border:2px solid var(--yellow);color:#fff;background:var(--panel);font:17px/1 Anton,sans-serif;touch-action:manipulation}.pause-overlay{position:absolute;z-index:5;inset:0;display:grid;place-items:center;padding:14px;background:#050b12a6}.pause-card{display:grid;gap:10px;width:min(440px,90vw);max-height:92vh;overflow:auto;padding:24px;background:var(--panel);border-top:6px solid var(--yellow);box-shadow:10px 12px #0000004d}.pause-card h2{margin:0;color:var(--yellow);font:42px/1 Anton,sans-serif}.pause-card p{margin:0 0 4px;line-height:1.4}.pause-card button:disabled{opacity:.5;cursor:default}.first-match-guide{position:absolute;z-index:3;left:max(20px,calc(var(--safe-left) + 12px));bottom:max(24px,calc(var(--safe-bottom) + 16px));width:min(420px,53vw);padding:12px 36px 12px 15px;border-left:4px solid var(--yellow);background:var(--panel);box-shadow:4px 5px #0000004d}.first-match-guide strong{color:var(--yellow);font:18px/1.2 Anton,sans-serif}.first-match-guide p{margin:7px 0 0;font-size:13px;line-height:1.45}.first-match-guide button{position:absolute;top:3px;right:5px;min-width:30px;min-height:30px;border:0;color:#fff;background:transparent;font-size:24px}.opponent-indicator{position:absolute;z-index:3;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:2px;pointer-events:none}.opponent-indicator span{color:var(--yellow);font-size:30px;line-height:1;text-shadow:2px 3px #07111b}.opponent-indicator b{padding:3px 7px;color:#fff;background:var(--panel);font:13px/1 Anton,sans-serif}#app.match-suspended #hud *,#app.match-suspended #crash-callout,#app.match-suspended #score-popups *{animation-play-state:paused!important}.touch-controls{position:absolute;z-index:4;inset:0;pointer-events:none}.touch-steering,.touch-pedals{position:absolute;bottom:max(12px,var(--safe-bottom));display:grid;gap:8px;pointer-events:none}.touch-steering{left:max(12px,var(--safe-left))}.touch-pedals{right:max(12px,var(--safe-right))}.touch-controls button{min-height:56px;padding:6px;border:2px solid #688399;border-radius:9px;color:#fff;background:#0c1925e6;font:16px/1 Anton,sans-serif;touch-action:none;-webkit-touch-callout:none;pointer-events:auto}.touch-controls button:active,.touch-controls button.is-held{background:#245579;border-color:#fff}.touch-controls .touch-boost{position:relative;display:grid;align-content:center;gap:6px;width:112px;min-height:96px;padding-bottom:18px;color:#101820;background:var(--orange);border-color:var(--yellow)}.touch-boost small{font:11px/1 Anton,sans-serif}.touch-boost:after{position:absolute;content:"";left:8px;right:8px;bottom:8px;height:6px;border-radius:3px;background:linear-gradient(to right,var(--boost-fill, var(--yellow)) var(--boost-progress, 100%),#243848 0)}.touch-controls .touch-boost[data-state=charging]{--boost-fill:var(--blue);color:#fff;background:#155e9e;border-color:var(--blue)}.touch-controls .touch-boost[data-state=active]{--boost-fill:white}.touch-controls .touch-boost.is-held{background:#ffb12b;border-color:#fff}.touch-controls .touch-recover{min-height:44px;font-size:14px}.touch-joystick{position:relative;width:176px;height:128px;border-radius:12px;border:1px solid #68839966;background:#0c19252e;touch-action:none;pointer-events:auto}.touch-joystick-base{position:absolute;left:var(--joystick-x, 88px);top:var(--joystick-y, 64px);width:96px;height:96px;transform:translate(-50%,-50%);border:2px solid #688399;border-radius:50%;background:#0c1925b3;pointer-events:none}.touch-joystick-knob{position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(calc(-50% + var(--knob-x, 0px)),calc(-50% + var(--knob-y, 0px)));border:2px solid #91a9b6;border-radius:50%;background:#245579}.touch-joystick.is-held .touch-joystick-base{border-color:var(--yellow)}.touch-joystick.is-held .touch-joystick-knob{border-color:#fff;background:#3276a6}.touch-guide{display:none}.touch-enabled .touch-guide{display:block}.touch-enabled .keyboard-guide{display:none}.touch-enabled .pause-button{min-height:44px}.touch-enabled .game-hud{padding-top:max(12px,var(--safe-top));padding-left:max(14px,var(--safe-left));padding-right:max(14px,var(--safe-right))}.touch-enabled .boost-panel{display:none}.touch-enabled .first-match-guide{left:calc(196px + var(--safe-left));bottom:calc(130px + var(--safe-bottom));width:min(350px,calc(100vw - 220px - var(--safe-left) - var(--safe-right)))}.rotate-prompt{position:absolute;z-index:12;inset:0;display:grid;place-content:center;padding:24px;text-align:center;background:#101d1f}.rotate-prompt strong{color:var(--yellow);font:36px/1 Bangers,sans-serif}.rotate-prompt p{line-height:1.5}@media(max-width:1280px){.menu-card{width:44vw;min-width:360px}.game-hud{--hud-health-track-width:max(110px,12vw);grid-template-columns:1fr auto 1fr}.health-panel{min-width:220px;grid-template-columns:auto var(--hud-health-track-width) auto;gap:7px}}@media(max-height:760px){.menu-card{padding:20px 26px}.logo-car{font-size:clamp(56px,6.4vw,88px)}.logo-fighting{font-size:clamp(48px,5.5vw,76px)}.menu-tagline{margin:14px 0 10px}.menu-actions{gap:7px}.menu-button{min-height:38px;font-size:20px}.menu-button.primary{min-height:48px;font-size:32px}}@media(max-width:950px){.game-hud{--hud-health-track-width:80px;gap:12px;padding:12px 16px}.health-panel{min-width:165px;grid-template-columns:auto var(--hud-health-track-width) auto;gap:5px;padding:6px 8px}.bot-panel{min-width:190px;grid-template-columns:max-content var(--hud-health-track-width)}.health-panel>b{font-size:21px}.panel-label{font-size:14px}.match-clock{min-width:105px;padding:5px 10px}.match-clock>span{font-size:13px}.first-match-guide strong{font-size:16px}.first-match-guide p{font-size:12px}.pause-button{top:max(70px,calc(var(--safe-top) + 60px));min-height:40px}}@media(max-height:520px){.menu-card{min-width:310px;padding:14px 20px}.logo-car{font-size:50px}.logo-fighting{font-size:44px}.logo-simulator{margin-top:6px;padding:5px 10px;font-size:16px}.menu-tagline{margin:12px 0 8px;font-size:10px}.menu-button{min-height:35px;font-size:18px}.menu-button.primary{min-height:42px;font-size:27px}.pause-card{gap:7px;padding:17px 22px}.pause-card h2{font-size:34px}.pause-card p{font-size:13px}.result-card{padding:17px 24px;gap:8px}.result-score strong{font-size:44px}.result-stats{gap:5px 8px}.result-stats div{padding:5px 8px}.result-stats b{font-size:18px}.first-match-guide{padding:9px 32px 9px 12px}.first-match-guide p{margin-top:5px}.modal-card{padding:22px}.modal-card h2{margin-bottom:18px;font-size:32px}.controls-grid{font-size:13px;gap:8px 12px}.controls-grid b{font-size:16px}.how-to-copy{margin-top:14px;padding:10px 12px}.how-to-copy p{font-size:13px}}@media(max-width:700px){.game-hud{--hud-health-track-width:64px;gap:8px;padding:10px 12px}.health-panel{min-width:130px;grid-template-columns:auto var(--hud-health-track-width) auto;gap:4px}.bot-panel{min-width:174px;grid-template-columns:max-content var(--hud-health-track-width)}.panel-label{padding:2px 4px;font-size:12px}.health-panel>b{font-size:18px}.match-clock{min-width:88px;padding:5px 8px}.match-clock>b{font-size:24px}.touch-controls button{min-height:50px;font-size:14px}.touch-enabled .first-match-guide{bottom:calc(126px + var(--safe-bottom))}}.upgrade-panel{position:absolute;z-index:15;inset:0;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:20px max(18px,var(--safe-right)) 20px max(18px,var(--safe-left));background:#050b12f5}.upgrade-header{display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(900px,100%);margin:0 auto}.upgrade-header h2{margin:0;color:var(--yellow);font:clamp(23px,4vw,42px)/1 "Anton",sans-serif}.upgrade-exit{min-height:44px;padding:8px;color:#c1d8e5;background:#102738;border:1px solid #56778b;font:12px Inter,sans-serif;cursor:pointer}.upgrade-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:min(900px,100%);margin:0 auto}.upgrade-card{min-width:0;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px 12px;border:3px solid #91a9b6;border-radius:8px;background:linear-gradient(145deg,#183548,#0a1928);color:#fff;cursor:pointer;text-align:center}.upgrade-card:focus-visible{outline:3px solid white;outline-offset:3px}.upgrade-card strong{font:clamp(19px,2.8vw,30px)/1.08 "Anton",sans-serif}.upgrade-rarity{font:700 12px Inter,sans-serif;letter-spacing:.12em}.upgrade-effects{display:grid;gap:6px;color:var(--yellow);font:clamp(14px,2vw,21px)/1.15 "Anton",sans-serif}.upgrade-description{color:#c0d6e2;font:12px/1.3 Inter,sans-serif}.rarity-rare{border-color:#49baf8}.rarity-epic{border-color:#d187ff}@media(max-height:520px){.upgrade-panel{gap:12px;padding-top:12px;padding-bottom:12px}.upgrade-card{min-height:190px;padding:12px 8px;gap:10px}}@media(max-width:700px){.upgrade-cards{gap:9px}.upgrade-header{gap:8px}.upgrade-card{min-height:190px;gap:10px;padding:12px 7px}.upgrade-description,.upgrade-rarity{font-size:11px}}.round-intro{position:absolute;z-index:4;top:24%;left:50%;transform:translate(-50%);display:grid;gap:8px;width:90%;text-align:center;pointer-events:none;text-shadow:3px 4px #08121c}.round-intro span{color:#fff;font:22px/1 Anton,sans-serif}.round-intro strong{color:var(--yellow);font:clamp(30px,6vw,62px)/1 "Anton",sans-serif}.champion-intro{animation:champion-pulse .4s ease-out}.ko-feedback{position:absolute;z-index:5;top:58px;right:clamp(108px,calc(20vw + 8px),178px);color:var(--yellow);font:38px/1 Bangers,sans-serif;text-shadow:3px 4px #08121c;pointer-events:none}.ko-punch,.round-cleared .result-title{animation:round-punch .28s ease-out}.championship-complete .result-card{position:relative;border-color:#ffd65a;animation:gold-pulse .65s ease-out}.championship-complete .result-card:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:repeating-conic-gradient(from 8deg,transparent 0deg 18deg,#ffd65a55 19deg 24deg,transparent 25deg 45deg);animation:gold-rays .65s ease-out both}.championship-complete .result-title{color:#ffd65a;font-size:clamp(28px,5vw,54px)}.result-card button:disabled{opacity:.5;cursor:default}.upgrade-status{min-height:18px;margin:0;text-align:center;color:var(--yellow);font:clamp(14px,2vw,20px)/1.2 "Anton",sans-serif}.upgrade-card{position:relative;perspective:700px}.upgrade-back{display:none;font:64px/1 Anton,sans-serif;color:#a8c9dc}.upgrade-card.is-concealed>:not(.upgrade-back){visibility:hidden}.upgrade-card.is-concealed .upgrade-back{display:block;position:absolute}.upgrade-card.is-concealed{border-color:#56778b;background:linear-gradient(145deg,#203c51,#0a1928)}.upgrade-card.is-revealed{animation:card-flip .26s ease-out}.upgrade-card.rarity-rare.is-revealed{box-shadow:0 0 15px #49baf866;animation:card-flip .26s ease-out,rare-pulse .3s ease-out .26s}.upgrade-card.rarity-epic.is-revealed{box-shadow:0 0 23px #d187ff88;animation:card-flip .26s ease-out,epic-pulse .4s ease-out .26s}.upgrade-card.upgrade-selected{animation:selection-punch .4s ease-out;box-shadow:0 0 20px #ffde7299}.upgrade-dimmed{opacity:.35}.championship-unavailable .upgrade-panel *,.championship-unavailable .round-intro,.championship-unavailable .ko-feedback,.championship-unavailable .result-card,.championship-unavailable .result-card:before,.championship-unavailable .result-title{animation-play-state:paused!important}@keyframes round-punch{40%{transform:scale(1.08)}}@keyframes champion-pulse{40%{filter:brightness(1.5)}}@keyframes gold-pulse{35%{box-shadow:0 0 45px #ffd65a99}}@keyframes gold-rays{0%{opacity:0}25%{opacity:1}to{opacity:0}}@keyframes card-flip{0%{transform:rotateY(90deg)}to{transform:rotateY(0)}}@keyframes rare-pulse{45%{box-shadow:0 0 24px #49baf8aa}}@keyframes epic-pulse{45%{box-shadow:0 0 32px #d187ffcc}}@keyframes selection-punch{40%{transform:scale(1.07)}to{transform:scale(1)}}@media(max-height:360px){.upgrade-panel{gap:8px}.upgrade-header h2{font-size:23px}.round-intro{top:22%;gap:5px}.round-intro span{font-size:16px}.ko-feedback{top:59px;font-size:30px}}.garage-open .modal-card{width:min(580px,94vw);padding:20px 28px;max-height:94vh;overflow:hidden}.garage-open .modal-card h2{margin:0 0 12px;font-size:32px}.garage-open .modal-close{min-width:44px;min-height:44px;top:4px;right:8px}.garage-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#c1d8e5;font-size:12px}.garage-summary b{color:var(--yellow);font:20px Anton,sans-serif;white-space:nowrap}.garage-carousel{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:12px;margin:14px 0}.garage-carousel button{min-height:48px;border:1px solid #688399;border-radius:5px;background:#102738;color:#fff;font-size:22px}.garage-car{display:grid;justify-items:center;gap:5px;text-align:center}.garage-car h3{margin:0;font:36px/1 Anton,sans-serif;color:var(--yellow)}.garage-car>span{font-size:11px;color:#c1d8e5}.garage-car>b{font:16px Anton,sans-serif}.garage-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin:12px 0}.garage-stats>div{display:flex;justify-content:space-between;gap:8px;align-items:center;font:12px Inter,sans-serif}.garage-stats b{display:flex;gap:3px}.garage-stats i{width:15px;height:8px;background:#28485c}.garage-stats i.filled{background:var(--yellow)}#garage-select{width:100%;justify-content:center;min-height:44px;font-size:24px}#garage-select:disabled{background:#28485c;color:#c1d8e5;box-shadow:none}.result-progress{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px 16px;text-align:center;font:14px/1.2 Inter,sans-serif}.result-progress b{color:var(--yellow);font-family:Anton,sans-serif}.result-progress>span{width:100%;color:#c1d8e5;font-size:12px}.unlock-banner{width:100%;padding:5px;border:1px solid var(--yellow);color:#fff;background:#28485c;font:16px/1.15 Anton,sans-serif}.unlock-punch .unlock-banner{animation:car-unlock-punch .8s ease-out both}.championship-unavailable .unlock-banner{animation-play-state:paused!important}@keyframes car-unlock-punch{0%{transform:scale(.9)}20%{transform:scale(1.03);box-shadow:0 0 14px #ffbb0080}to{transform:scale(1);box-shadow:none}}@media(prefers-reduced-motion:reduce){.unlock-punch .unlock-banner{animation:none}}@media(max-height:520px){.garage-open{padding:8px}.garage-open .modal-card{padding:12px 20px}.garage-open .modal-card h2{margin-bottom:6px;font-size:25px}.garage-carousel{margin:8px 0;gap:8px}.garage-car{gap:3px}.garage-car h3{font-size:28px}.garage-stats{margin:8px 0;gap:6px 18px}.result-progress{font-size:12px;gap:3px 12px}.unlock-banner{font-size:13px;padding:3px}}@media(max-height:360px){.touch-enabled .first-match-guide{bottom:calc(116px + var(--safe-bottom));padding:6px 32px 6px 10px}.touch-enabled .first-match-guide strong{font-size:14px}.touch-enabled .first-match-guide p{margin-top:4px;font-size:11px;line-height:1.3}.garage-open .modal-card{padding:10px 20px}.garage-carousel{margin:6px 0}.menu-actions{grid-template-columns:1fr 1fr;gap:6px}.menu-actions .primary{grid-column:span 2}.menu-actions .secondary{min-height:38px;font-size:15px;padding:6px 10px}.result-card{padding:9px 18px;gap:5px;max-height:96vh}.match-result h2{font-size:30px}.result-score strong{font-size:32px}.result-stats div{padding:3px 6px}.result-stats b{font-size:15px}.result-best{font-size:18px;padding:3px 8px}}@media(prefers-reduced-motion:reduce){.upgrade-card,.round-intro,.ko-feedback,.result-title,.result-card,.result-card:before{animation:none!important}}.championship-complete .result-card>*{position:relative;z-index:1}.upgrade-card.upgrade-selected:after{content:"";position:absolute;inset:2px;border:2px solid var(--yellow);pointer-events:none;animation:family-accent .4s ease-out}.selected-armour:after{border-color:#76d6ff!important;border-radius:12px;box-shadow:inset 0 0 12px #76d6ff99}.selected-bumper:after{border-color:#ff9d36!important;clip-path:polygon(0 35%,35% 35%,45% 0,60% 30%,100% 15%,80% 65%,100% 100%,50% 80%,10% 100%);background:#ff9d3633}.selected-turbo:after{border:0!important;background:linear-gradient(0deg,transparent,#66dcff88,transparent);animation-name:turbo-accent!important}.selected-grip:after{inset:10px!important;border-color:#adff83!important;animation-duration:.2s!important}.upgrade-card.selected-heavyweight{animation:weight-punch .4s ease-out}@keyframes family-accent{0%{opacity:0;transform:scale(.94)}35%{opacity:1}to{opacity:0;transform:scale(1.03)}}@keyframes turbo-accent{0%{opacity:0;transform:translateY(20%)}35%{opacity:1}to{opacity:0;transform:translateY(-20%)}}@keyframes weight-punch{30%{transform:translateY(5px) scale(1.04)}60%{transform:translateY(-2px)}to{transform:none}}.championship-unavailable .upgrade-selected:after{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.upgrade-selected:after{animation:none!important;opacity:.65}}.menu-screen{padding:calc(4vw + var(--safe-top)) calc(5.2vw + var(--safe-right)) calc(4vw + var(--safe-bottom)) calc(5.2vw + var(--safe-left))}.game-hud{padding:calc(clamp(14px,2.2vh,24px) + var(--safe-top)) calc(clamp(18px,2.2vw,42px) + var(--safe-right)) calc(clamp(14px,2.2vh,24px) + var(--safe-bottom)) calc(clamp(18px,2.2vw,42px) + var(--safe-left))}.touch-enabled .game-hud{padding:calc(12px + var(--safe-top)) calc(14px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(14px + var(--safe-left))}.match-result{grid-template-columns:minmax(0,1fr);padding:calc(20px + var(--safe-top)) calc(20px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(20px + var(--safe-left))}.result-card{max-width:100%;max-height:100%}.modal-backdrop{grid-template-columns:minmax(0,1fr);padding:calc(24px + var(--safe-top)) calc(24px + var(--safe-right)) calc(24px + var(--safe-bottom)) calc(24px + var(--safe-left))}.modal-card{max-width:100%;max-height:100%}.garage-open{padding:calc(8px + var(--safe-top)) calc(8px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(8px + var(--safe-left))}.garage-open .modal-card{min-width:0;max-width:100%;max-height:100%;overflow:auto}.pause-overlay{padding:calc(14px + var(--safe-top)) calc(14px + var(--safe-right)) calc(14px + var(--safe-bottom)) calc(14px + var(--safe-left))}.pause-card{max-width:100%;max-height:100%}.upgrade-panel{padding:calc(20px + var(--safe-top)) calc(18px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(18px + var(--safe-left))}.touch-steering,.touch-pedals{bottom:calc(12px + var(--safe-bottom))}.touch-steering{left:calc(12px + var(--safe-left))}.touch-pedals{right:calc(12px + var(--safe-right))}@media(max-width:950px){.game-hud{padding:calc(12px + var(--safe-top)) calc(16px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(16px + var(--safe-left))}}@media(max-width:700px){.game-hud{padding:calc(10px + var(--safe-top)) calc(12px + var(--safe-right)) calc(10px + var(--safe-bottom)) calc(12px + var(--safe-left))}}@media(max-height:520px){.upgrade-panel{padding-top:calc(12px + var(--safe-top));padding-bottom:calc(12px + var(--safe-bottom))}}@media(max-height:360px){.menu-screen{padding-top:calc(8px + var(--safe-top));padding-bottom:calc(8px + var(--safe-bottom))}.match-result{padding-top:calc(6px + var(--safe-top));padding-bottom:calc(6px + var(--safe-bottom))}.garage-open .modal-card{padding:6px 20px}.garage-open .modal-card h2{margin-bottom:2px;font-size:23px}.garage-carousel{margin:0}.garage-stats{margin:4px 0;gap:2px 18px}}
