@import"https://fonts.googleapis.com/css2?family=Black+Han+Sans&family=Noto+Sans+SC:wght@500;700;900&display=swap";:root{font-family:Noto Sans SC,system-ui,sans-serif;color:#fff;font-synthesis:none;--yellow:#ffd83d;--red:#ed473d;--ink:#18314b;--panel:rgba(16,39,62,.88)}*{box-sizing:border-box}html,body,#game{width:100%;height:100%;margin:0;overflow:hidden}body{background:#78c9ed;user-select:none;-webkit-user-select:none}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible{outline:3px solid #fff;outline-offset:3px}canvas{display:block}#game canvas{width:100%;height:100%}.hidden{display:none!important}.vignette{position:fixed;inset:0;pointer-events:none;z-index:3;background:radial-gradient(circle at center,transparent 52%,rgba(14,41,61,.22) 120%)}.speed-lines{position:fixed;inset:-40%;z-index:4;pointer-events:none;opacity:0;transition:opacity .15s;background:repeating-conic-gradient(from 0deg at 50% 50%,#fff0 0deg 3deg,#ffffff40 3.15deg,#fff0 3.3deg);-webkit-mask-image:radial-gradient(circle,transparent 0 24%,#000 65%,transparent 74%);mask-image:radial-gradient(circle,transparent 0 24%,#000 65%,transparent 74%);transform:scale(1.5)}.speed-lines.active{opacity:.55;animation:speedPulse .18s linear infinite}@keyframes speedPulse{50%{transform:scale(1.56) rotate(.3deg)}}.screen{position:fixed;inset:0;z-index:20}.menu-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(110deg,rgba(24,83,121,.22),transparent 50%,rgba(24,83,121,.18));padding:26px;overflow:auto}.brand-wrap{text-align:center;filter:drop-shadow(0 5px 0 rgba(26,63,86,.13));position:relative}.eyebrow{font-size:11px;font-weight:900;letter-spacing:3px;display:flex;align-items:center;justify-content:center;gap:10px;text-shadow:0 1px 4px #316480}.eyebrow span{width:26px;height:2px;background:#fff}.logo{font-family:Black Han Sans,Arial Black,sans-serif;font-weight:900;line-height:.75;margin:19px 0 20px;transform:rotate(-3deg);letter-spacing:-4px}.logo span,.logo strong{display:block;-webkit-text-stroke:3px #fff;paint-order:stroke fill;filter:drop-shadow(0 6px 0 #173d59) drop-shadow(0 10px 6px rgba(20,55,79,.3))}.logo span{font-size:clamp(55px,8vw,90px);color:#ed483e;text-shadow:inset 0 -5px #b92729}.logo strong{font-size:clamp(63px,9.5vw,108px);color:#ffd633;letter-spacing:2px}.track-pill{display:inline-flex;align-items:center;gap:9px;background:#14324ac7;border:1px solid rgba(255,255,255,.35);border-radius:99px;padding:7px 9px 7px 14px;font-size:13px;font-weight:700;box-shadow:0 4px 16px #0d33492e}.track-pill b{background:#ffd83d;color:#203d54;border-radius:20px;padding:3px 9px;font-size:11px}.track-dot{width:7px;height:7px;border-radius:50%;background:#69e691;box-shadow:0 0 8px #69e691}.menu-card{width:min(510px,94vw);background:#f8fcfff2;color:var(--ink);border:1px solid #fff;border-radius:24px;margin-top:22px;padding:22px 25px 18px;box-shadow:0 18px 60px #0f3b5647,inset 0 -3px #1c425914;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.menu-card-head{display:flex;align-items:center;justify-content:space-between}.menu-card small{font-size:10px;font-weight:900;letter-spacing:2px;color:#ef5348}.menu-card h2{font-size:25px;margin:2px 0 0;font-weight:900;letter-spacing:-1px}.cup-badge{width:64px;height:64px;border-radius:18px;background:#fff1b6;border:2px solid #ffd44a;color:#a76b05;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px;font-weight:900;transform:rotate(4deg)}.cup-badge span{font-size:10px;color:#866b38;margin-top:2px}.section-label{font-size:11px;font-weight:700;color:#74899a;margin:17px 0 8px}.color-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.color-option{background:#eaf0f4;border:2px solid transparent;border-radius:13px;min-height:62px;display:flex;align-items:center;justify-content:center;gap:8px;color:#51697b;transition:.18s}.color-option:hover{transform:translateY(-2px);background:#f2f6f8}.color-option.active{border-color:var(--kart);color:var(--ink);background:#fff;box-shadow:0 3px 10px color-mix(in srgb,var(--kart) 20%,transparent)}.driver-face{width:25px;height:25px;border-radius:50%;background:var(--kart);border:5px solid color-mix(in srgb,var(--kart) 75%,#fff);position:relative}.driver-face:after{content:"";position:absolute;width:29px;height:9px;background:var(--kart);border-radius:50%;left:-7px;top:-5px;transform:rotate(-8deg)}.color-option b{font-size:12px}.primary-btn{width:100%;background:linear-gradient(#f55c4e,#df382f);border-radius:13px;padding:15px 18px;font-size:16px;font-weight:900;box-shadow:inset 0 2px #ffffff4d,0 4px #a92424,0 7px 15px #c6312833;display:flex;align-items:center;justify-content:center;gap:20px;transition:.12s;margin-top:18px}.primary-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.primary-btn:active{transform:translateY(3px);box-shadow:inset 0 2px #ffffff4d,0 1px #a92424}.primary-btn kbd{font-size:9px;letter-spacing:1px;background:#80161347;border:1px solid rgba(255,255,255,.25);border-radius:5px;padding:3px 6px}.quick-controls{display:flex;justify-content:center;gap:30px;margin-top:17px}.quick-controls>div{display:flex;align-items:center;gap:7px}.quick-controls p{font-size:10px;color:#718595;margin:0}.quick-controls kbd{font-family:inherit;background:#fff;border:1px solid #d7e0e6;border-bottom-width:3px;border-radius:5px;color:#4d6577;font-size:9px;font-weight:900;min-width:20px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.key-group{display:flex;gap:2px}.quick-controls .wide-key{font-size:7px;letter-spacing:.5px}.menu-footer{display:flex;align-items:center;gap:13px;font-size:10px;font-weight:700;letter-spacing:1px;margin-top:18px;text-shadow:0 1px 4px #32647d}.menu-footer i{width:3px;height:3px;background:#fff;border-radius:50%;opacity:.7}.hud{position:fixed;inset:0;z-index:10;pointer-events:none}.hud button{pointer-events:auto}.hud-top-left{position:absolute;top:26px;left:28px;display:flex;align-items:flex-start;gap:16px}.position-box{position:relative;filter:drop-shadow(0 4px 0 rgba(19,51,71,.35));line-height:.8;min-width:100px}.position-box strong{font-family:Black Han Sans,Arial Black,sans-serif;font-size:78px;font-weight:900;font-style:italic;-webkit-text-stroke:5px #fff;paint-order:stroke fill;color:#ffd735;letter-spacing:-4px}.position-box>span{font-family:Arial Black,sans-serif;font-size:25px;color:#fff;font-style:italic;margin-left:5px}.position-box small{position:absolute;bottom:-8px;left:8px;font-weight:900;font-size:15px;text-shadow:0 2px 3px #234}.lap-time-box{background:var(--panel);border:1px solid rgba(255,255,255,.2);border-radius:13px;padding:9px 15px;min-width:155px;box-shadow:0 5px 16px #112f4226;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lap-time-box>div:first-child{font-size:11px;color:#c4d3dd}.lap-time-box b{font-size:18px;color:#fff;margin-left:7px}.lap-time-box span{font-size:11px;margin-left:3px}.lap-time-box .time{font-size:20px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:.5px;margin-top:1px}.lap-time-box small{font-size:9px;color:#8fa8b8;font-variant-numeric:tabular-nums}.hud-top-right{position:absolute;right:24px;top:24px;display:flex;gap:8px}.icon-btn{width:40px;height:40px;border-radius:12px;background:#102a40b8;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.icon-btn:hover{background:#1b3e57e6}.icon-btn svg{width:21px;height:21px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-btn.muted svg{opacity:.4}.item-slot{position:absolute;left:29px;top:157px;width:89px;height:89px;border-radius:20px;background:linear-gradient(145deg,#f8fdfff0,#c1ddebe6);border:4px solid #fff;box-shadow:0 4px #527488,0 7px 20px #16354840;display:flex;align-items:center;justify-content:center;color:#24465c;transition:transform .2s}.item-slot.roulette{animation:itemShake .1s infinite}.item-slot.ready{animation:itemReady .35s}.item-slot.empty{opacity:.75}.item-roulette{font-family:Arial Black;font-size:48px;color:#5e7b8d;text-shadow:0 2px #fff}.item-icon{display:none;width:52px;height:52px;border-radius:50%;align-items:center;justify-content:center;font-size:24px;font-weight:900;color:#fff;border:3px solid rgba(255,255,255,.65);box-shadow:inset 0 -5px #0000001f,0 3px 8px #1f3b4c2e}.item-slot:not(.empty) .item-icon{display:flex}.item-slot:not(.empty) .item-roulette{display:none}.item-slot>span{position:absolute;right:-8px;bottom:-8px;background:#203f56;color:#fff;border:2px solid #fff;border-radius:7px;padding:2px 6px;font-size:10px;font-weight:900}.item-slot>small{position:absolute;top:94px;color:#fff;text-shadow:0 2px 4px #234;font-size:10px;white-space:nowrap;font-weight:700}.coin-box{position:absolute;left:32px;top:278px;display:flex;align-items:center;gap:8px;text-shadow:0 2px 3px #234}.coin-box b{font-size:21px;font-style:italic}.coin-icon{width:19px;height:25px;border-radius:50%;background:linear-gradient(90deg,#e4a815,#fff089 45%,#f4bd20 70%);border:2px solid #ffdf50;box-shadow:0 2px #ad7810}.minimap-wrap{position:absolute;right:23px;top:79px;width:180px;height:170px;opacity:.92}.minimap-wrap canvas{width:180px;height:150px;filter:drop-shadow(0 3px 2px rgba(22,47,65,.35))}.minimap-wrap>span{display:block;text-align:center;font-size:9px;font-weight:900;letter-spacing:2px;text-shadow:0 2px 3px #234}.speedometer{position:absolute;right:29px;bottom:23px;width:155px;height:105px;text-align:center;filter:drop-shadow(0 3px 2px rgba(22,47,65,.3))}.speedometer>div{position:absolute;inset:29px 0 0;z-index:2}.speedometer strong{font-family:Arial Black,sans-serif;font-size:44px;font-style:italic;letter-spacing:-3px;-webkit-text-stroke:2px #28485a;paint-order:stroke fill}.speedometer span{display:block;font-size:10px;font-weight:900;letter-spacing:2px;margin-top:-6px}.speedometer svg{position:absolute;inset:0;width:160px;height:90px;overflow:visible}.speed-track,.speed-arc{fill:none;stroke-width:7;stroke-linecap:round}.speed-track{stroke:#15324573}.speed-arc{stroke:#ffd83d;stroke-dasharray:188.5;stroke-dashoffset:188.5;transition:stroke-dashoffset .1s}.drift-meter{position:absolute;left:50%;bottom:35px;transform:translate(-50%);width:230px;text-align:center;opacity:0;transition:opacity .2s}.drift-meter.active{opacity:1}.drift-meter>span{font-size:10px;font-weight:900;letter-spacing:2px;text-shadow:0 2px 3px #234}.drift-meter>div{height:10px;padding:2px;background:#142f42a6;border:1px solid rgba(255,255,255,.5);border-radius:10px;margin-top:5px}.drift-meter i{display:block;width:0;height:100%;border-radius:8px;background:#52cfff;box-shadow:0 0 8px #52cfff;transition:background .2s}.race-message{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);font-family:Black Han Sans,Arial Black,sans-serif;font-size:clamp(68px,11vw,132px);font-style:italic;color:#ffd735;-webkit-text-stroke:7px #fff;paint-order:stroke fill;filter:drop-shadow(0 8px 0 #d54835) drop-shadow(0 13px 10px rgba(25,53,69,.35));white-space:nowrap}.race-message.pop{animation:messagePop .45s cubic-bezier(.2,1.7,.4,1)}.race-message.small{font-family:Noto Sans SC,sans-serif;font-size:30px;-webkit-text-stroke:0;color:#fff;filter:drop-shadow(0 3px 0 #d54835);background:#1b3a4ebf;border:2px solid rgba(255,255,255,.6);border-radius:14px;padding:11px 23px}.wrong-way{position:absolute;left:50%;top:28%;transform:translate(-50%);background:#e64438;padding:10px 20px;border-radius:10px;font-size:19px;font-weight:900;border:2px solid #fff;animation:wrongPulse .6s infinite alternate}@keyframes messagePop{0%{transform:translate(-50%,-50%) scale(.2) rotate(-12deg)}to{transform:translate(-50%,-50%) scale(1) rotate(-3deg)}}@keyframes itemShake{50%{transform:rotate(2deg) scale(1.03)}}@keyframes itemReady{50%{transform:scale(1.16) rotate(-5deg)}}@keyframes wrongPulse{to{transform:translate(-50%) scale(1.05)}}.overlay-screen{display:flex;align-items:center;justify-content:center;background:#0c22338c;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);padding:20px}.dialog-card{width:min(410px,94vw);background:#f8fcfff7;border:2px solid #fff;border-radius:25px;color:var(--ink);padding:30px;text-align:center;box-shadow:0 25px 80px #071c2b59}.dialog-card>small{font-size:10px;letter-spacing:3px;color:#e94d40;font-weight:900}.dialog-card h2{font-size:30px;margin:7px 0}.dialog-card p{font-size:13px;color:#74899a;margin:0 0 18px}.secondary-btn{width:100%;padding:13px;background:#e7eef2;color:#355166;border-radius:12px;font-weight:900;margin-top:12px}.secondary-btn:hover{background:#dce7ed}.text-btn{background:transparent;color:#7b8e9b;font-size:12px;margin-top:18px}.result-card{width:min(440px,94vw)}.result-position{font-family:Black Han Sans,Arial Black;font-size:94px;font-style:italic;line-height:1;color:#ffd338;-webkit-text-stroke:4px #df493b;paint-order:stroke fill;filter:drop-shadow(0 5px 0 #f3b92d);margin-top:12px}.result-position span{font-size:30px;margin-left:5px}.result-stats{display:grid;grid-template-columns:1fr 1fr 1fr;background:#eaf0f4;border-radius:13px;padding:13px 4px;margin:18px 0 4px}.result-stats>div{display:flex;flex-direction:column;gap:5px;border-right:1px solid #d2dfe6}.result-stats>div:last-child{border:0}.result-stats span{font-size:9px;color:#7b8f9d}.result-stats b{font-size:13px;font-variant-numeric:tabular-nums}.result-card .primary-btn{margin-top:17px}.touch-controls{position:fixed;inset:0;z-index:12;pointer-events:none}.touch-controls button{pointer-events:auto;touch-action:none;background:#132f4373;border:2px solid rgba(255,255,255,.55);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);font-weight:900;text-shadow:0 2px 2px #234}.touch-steer{position:absolute;left:20px;bottom:23px;display:flex;gap:10px}.touch-steer button{width:67px;height:67px;border-radius:18px;font-size:42px;line-height:1}.touch-actions{position:absolute;right:18px;bottom:22px;display:flex;align-items:flex-end;gap:9px}.touch-actions button{border-radius:50%;width:58px;height:58px;font-size:12px}.touch-actions .touch-gas{width:76px;height:76px;background:#eb46398c}.touch-actions .touch-drift{background:#2991cf80}.touch-controls button.pressed{background:#ffd334a6;transform:scale(.94)}@media(pointer:coarse),(max-width:700px){.touch-controls:not(.hidden){display:block}.menu-screen{justify-content:flex-start;padding-top:35px}.logo{margin:14px 0 16px}.logo span,.logo strong{-webkit-text-stroke-width:2px}.menu-card{padding:17px 19px;margin-top:16px}.menu-card h2{font-size:22px}.cup-badge{width:55px;height:55px}.quick-controls{gap:15px}.hud-top-left{top:15px;left:15px;gap:8px}.position-box{min-width:65px}.position-box strong{font-size:56px;-webkit-text-stroke-width:3px}.position-box>span{font-size:17px}.position-box small{font-size:10px}.lap-time-box{padding:7px 10px;min-width:120px}.lap-time-box .time{font-size:15px}.lap-time-box small{display:none}.lap-time-box b{font-size:15px}.item-slot{left:17px;top:117px;width:66px;height:66px;border-width:3px;border-radius:15px}.item-roulette{font-size:36px}.item-icon{width:40px;height:40px;font-size:18px}.item-slot>small{top:69px}.coin-box{left:19px;top:208px}.minimap-wrap{right:5px;top:58px;transform:scale(.7);transform-origin:top right}.hud-top-right{top:15px;right:14px}.icon-btn{width:34px;height:34px}.speedometer{right:16px;bottom:112px;transform:scale(.7);transform-origin:bottom right}.drift-meter{bottom:115px;width:180px}.race-message{top:36%}.menu-footer{margin-bottom:20px}.speed-lines{display:none}}@media(max-height:730px)and (min-width:701px){.menu-screen{justify-content:flex-start;padding-top:18px}.logo{margin:10px 0 14px}.logo span{font-size:52px}.logo strong{font-size:64px}.menu-card{margin-top:13px;padding:16px 23px}.menu-card h2{font-size:22px}.section-label{margin-top:10px}.primary-btn{margin-top:13px;padding:12px}.quick-controls,.menu-footer{margin-top:12px}}
