*{box-sizing:border-box;margin:0;padding:0}html,body{color:#fff;-webkit-user-select:none;user-select:none;background:#0b1530;width:100%;height:100%;font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;top:0;bottom:0;left:0;right:0}.hidden{display:none!important}#hud{pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.hud-tl{text-shadow:0 2px 4px #0009;position:absolute;top:18px;left:22px}.track-name{background:linear-gradient(90deg,#1f6fe5,#29b6ff);border-radius:12px;padding:3px 12px;font-size:15px;font-weight:700;display:inline-block}.lap{letter-spacing:1px;margin-top:6px;font-size:40px;font-style:italic;font-weight:900}.lap small{margin-left:4px;font-size:18px}.time{font-variant-numeric:tabular-nums;color:#ffe066;font-size:30px;font-style:italic;font-weight:900}.best{opacity:.9;margin-top:2px;font-size:14px}.hud-tr{flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;top:16px;right:18px}.rank{color:#ffd400;text-shadow:0 3px #c2410c,0 6px 10px #00000080;font-size:64px;font-style:italic;font-weight:900;line-height:1}.rank small{color:#fff;text-shadow:0 2px 4px #0009;font-size:26px}.board{min-width:170px;font-size:14px;list-style:none}.board li{background:#0814328c;border-radius:10px;align-items:center;gap:8px;margin-bottom:3px;padding:3px 10px;display:flex}.board li b{text-align:center;width:18px;font-style:italic}.board li i{border-radius:50%;width:10px;height:10px;display:inline-block}.board li.me{background:linear-gradient(90deg,#ffa014e6,#ff5a1fbf);font-weight:700}#minimap{background:#08143273;border:2px solid #ffffff40;border-radius:16px;width:200px;height:200px}.hud-br{position:absolute;bottom:16px;right:18px}.speedo{width:210px;height:210px;position:relative}.speedo canvas{width:210px;height:210px}.speed-num{text-align:center;text-shadow:0 2px 6px #000000b3;position:absolute;top:78px;left:0;right:0}.speed-num b{font-variant-numeric:tabular-nums;font-size:48px;font-style:italic;font-weight:900;display:block}.speed-num small{opacity:.85;font-size:14px}.hud-bl{position:absolute;bottom:18px;left:22px}.nitro-slots{gap:10px;margin-bottom:8px;display:flex}.nitro-slots i{background:#08143280;border:3px solid #ffffff80;border-radius:14px;width:58px;height:58px;position:relative}.nitro-slots i:after{content:"N₂O";color:#ffffff59;justify-content:center;align-items:center;font-size:16px;font-style:normal;font-weight:900;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.nitro-slots i.full{background:radial-gradient(circle at 40% 35%,#b4f0ff,#1f8fff 60%,#3b2bd6);border-color:#fff;animation:1s infinite alternate pulse;box-shadow:0 0 16px #29b6ff}.nitro-slots i.full:after{color:#fff}@keyframes pulse{to{box-shadow:0 0 26px #7ad7ff}}.gauge{background:#08143299;border:2px solid #ffffff8c;border-radius:10px;width:260px;height:18px;position:relative;overflow:hidden}.gauge-fill{background:linear-gradient(90deg,#ffd400,#ff8a1f,#ff3d3d);width:0%;height:100%;transition:width 80ms linear}.gauge span{text-shadow:0 1px 2px #000;font-size:12px;font-weight:700;position:absolute;top:-1px;right:8px}.keys{opacity:.8;background:#08143273;border-radius:8px;margin-top:10px;padding:4px 10px;font-size:12px}.center-msg{text-shadow:0 2px 6px #000;white-space:nowrap;font-size:26px;font-weight:900;position:absolute;top:22%;left:50%;transform:translate(-50%)}.tech-pop{color:#fff;white-space:nowrap;-webkit-text-stroke:2px #d8231f;text-shadow:0 0 12px #ffd400e6,0 4px #b91c1c;opacity:0;font-size:40px;font-style:italic;font-weight:900;position:absolute;top:58%;left:50%;transform:translate(-50%)}.tech-pop.show{animation:.9s ease-out forwards pop}@keyframes pop{0%{opacity:0;transform:translate(-50%)scale(1.8)}15%{opacity:1;transform:translate(-50%)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-30px)}}.warn{color:#ff3d3d;text-shadow:0 0 10px #000;font-size:30px;font-weight:900;position:absolute;top:34%;left:50%;transform:translate(-50%)}.countdown{color:#ffd400;-webkit-text-stroke:5px #b91c1c;text-shadow:0 10px 20px #00000080;font-size:160px;font-style:italic;font-weight:900;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.countdown.go{color:#5bff7a;-webkit-text-stroke-color:#0b7a2b}.countdown.tick{animation:.9s ease-out tick}@keyframes tick{0%{opacity:0;transform:translate(-50%,-50%)scale(2.2)}25%{opacity:1;transform:translate(-50%,-50%)scale(1)}}.speedlines{opacity:0;background:repeating-conic-gradient(#fff0 0deg 5deg,#ffffff38 5deg 5.6deg);transition:opacity .2s;animation:.4s linear infinite spin;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask:radial-gradient(circle,#0000 32%,#000 70%);mask:radial-gradient(circle,#0000 32%,#000 70%)}@keyframes spin{to{transform:rotate(6deg)}}.xp-hint{color:#b91c1c;opacity:0;background:radial-gradient(circle,#fff 0,#ffd400 45%,#ff8a1f 100%);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:38px;font-weight:900;display:flex;position:absolute;top:66%;left:50%;transform:translate(-50%);box-shadow:0 0 20px #ffd400}.xp-hint.show{opacity:1;animation:.18s infinite alternate blink}@keyframes blink{to{transform:translate(-50%)scale(1.15)}}#touch{pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}#touch button{pointer-events:auto;color:#fff;touch-action:none;background:#08143273;border:3px solid #ffffffb3;border-radius:50%;width:74px;height:74px;margin:6px;font-size:24px;font-weight:900}#touch button.on{background:#ffaa1ecc}.tl-pad{position:absolute;bottom:120px;left:16px}.tr-pad{grid-template-columns:repeat(3,86px);display:grid;position:absolute;bottom:30px;right:240px}.screen{z-index:20;justify-content:center;align-items:center;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.screen.show{display:flex}#loading{background:radial-gradient(circle at 50% 40%,#2b6cff,#0b1530 70%)}.load-box{text-align:center}.load-box p{opacity:.85;margin-top:14px}.logo-mini{color:#ffd400;-webkit-text-stroke:3px #c2410c;font-size:54px;font-style:italic;font-weight:900}#menu{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(#0a1e5059,#050c23d9)}.panel{background:#0c183cd1;border:2px solid #78beff73;border-radius:24px;width:min(880px,94vw);max-height:92vh;padding:28px 34px;overflow:auto;box-shadow:0 20px 60px #00000080}.title{text-align:center}.title h1{letter-spacing:2px;color:#ffd400;-webkit-text-stroke:4px #d8231f;text-shadow:0 8px #7a1010,0 14px 30px #0009;font-size:76px;font-style:italic;font-weight:900}.title h1 span{color:#fff;-webkit-text-stroke-color:#1f6fe5;text-shadow:0 8px #0c3a8a,0 14px 30px #0009}.title .sub{opacity:.85;margin-top:6px;font-size:16px}.btns{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:26px;display:flex}.btn{pointer-events:auto;cursor:pointer;color:#fff;background:linear-gradient(#ffb31f,#ff6a00);border:none;border-radius:16px;min-width:180px;padding:14px 26px;font-family:inherit;font-size:20px;font-weight:900;transition:transform 80ms;box-shadow:0 5px #b34700,0 10px 20px #00000059}.btn:hover{outline-offset:2px;outline:3px solid #fff;transform:translateY(-2px)}.btn:focus-visible{outline-offset:2px;outline:3px solid #fff;transform:translateY(-2px)}.btn:active{transform:translateY(2px);box-shadow:0 2px #b34700}.btn.blue{background:linear-gradient(#42a5ff,#1f5fe5);box-shadow:0 5px #0c3a8a,0 10px 20px #00000059}.btn.gray{background:linear-gradient(#7c89a8,#4a5573);box-shadow:0 5px #2a3350,0 10px 20px #00000059}.opts{grid-template-columns:110px 1fr;align-items:center;gap:12px 16px;margin-top:22px;font-size:16px;display:grid}.opts label{opacity:.9;font-weight:700}.seg{flex-wrap:wrap;gap:8px;display:flex}.seg button{cursor:pointer;color:#fff;background:#ffffff14;border:2px solid #ffffff4d;border-radius:10px;padding:7px 14px;font-family:inherit;font-size:15px}.seg button.on{background:#1f6fe5;border-color:#9fd0ff;font-weight:700}.seg button.color{border-radius:50%;width:34px;height:34px;padding:0}.seg button.color.on{outline:3px solid #fff}.opts input{color:#fff;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:10px;width:220px;padding:8px 12px;font-family:inherit;font-size:16px}h2{color:#ffd400;margin-bottom:14px;font-size:30px;font-style:italic;font-weight:900}.help-grid{grid-template-columns:1fr 1fr;gap:16px 26px;font-size:15px;line-height:1.65;display:grid}.help-grid h3{color:#7fd0ff;margin-bottom:4px;font-size:18px}kbd{color:#12204a;text-align:center;background:#f2f5ff;border-radius:6px;min-width:26px;margin:0 2px;padding:1px 7px;font-family:inherit;font-size:13px;font-weight:900;display:inline-block;box-shadow:0 2px #8a96b8}.tip{background:#ffc8281f;border:1px solid #ffc82873;border-radius:12px;margin-top:14px;padding:10px 14px;font-size:14px;line-height:1.6}table.res{border-collapse:collapse;width:100%;margin-top:8px;font-size:17px}table.res th,table.res td{text-align:left;white-space:nowrap;border-bottom:1px solid #ffffff1f;padding:8px 10px}table.res tr.me{background:linear-gradient(90deg,#ffa01473,#0000);font-weight:700}table.res td.rk{color:#ffd400;width:50px;font-size:24px;font-style:italic;font-weight:900}.stats{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.stats div{text-align:center;background:#ffffff12;border-radius:12px;flex:110px;padding:10px}.stats b{color:#ffd400;font-size:26px;display:block}.foot{text-align:center;opacity:.6;margin-top:18px;font-size:12px;line-height:1.6}@media (max-width:760px){.title h1{font-size:46px}.help-grid{grid-template-columns:1fr}.hud-tr .board,#minimap{display:none}.speedo,.speedo canvas{width:150px;height:150px}.speed-num{top:52px}.speed-num b{font-size:34px}.keys{display:none}.tr-pad{bottom:160px;right:12px}}
