*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}body,html{color:#fff;background-color:#0b1116;width:100%;height:100%;font-family:Rajdhani,sans-serif;overflow:hidden}#canvas-container{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}#canvas-container canvas{display:block;width:100%!important;height:100%!important}#hud{z-index:10;pointer-events:none;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:20px;display:flex;position:absolute;top:0;left:0}.hud-panel{pointer-events:auto;-webkit-backdrop-filter:blur(12px);background:#0f171ec7;border:1px solid #ffffff1f;border-radius:12px;box-shadow:0 8px 32px #00000073}.top-left{flex-direction:column;gap:12px;min-width:220px;padding:14px 20px;display:flex;position:absolute;top:20px;left:20px}.stat-row{gap:15px;display:flex}.stat-box{flex-direction:column;display:flex}.stat-box .label{letter-spacing:1.5px;color:#8da4b8;font-size:13px;font-weight:700}.stat-box .value{color:#fff;font-family:Chakra Petch,sans-serif;font-size:30px;font-weight:700;line-height:1}.stat-box .value.gold{color:#fc0;text-shadow:0 0 12px #fc06}.timer-box{border-top:1px solid #ffffff1a;flex-direction:column;gap:4px;padding-top:8px;display:flex}.timer-row{justify-content:space-between;font-family:Chakra Petch,monospace;font-size:15px;display:flex}.timer-lbl{color:#8da4b8;font-weight:600}.timer-val{letter-spacing:1px;font-weight:700}.timer-val.highlight{color:#00e5ff}.hud-center-top{flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:20px;left:50%;transform:translate(-50%)}.badge{letter-spacing:1px;color:#00e5ff;background:#0a141ed9;border:1px solid #00e5ff66;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:700;box-shadow:0 0 15px #00e5ff40}.badge-webgpu{color:#0f8;border-color:#0f8;box-shadow:0 0 15px #00ff884d}.nav-container{flex-direction:column;align-items:center;display:flex}.nav-arrow{color:#fa0;text-shadow:0 0 15px #fa0c;font-size:32px;transition:transform 50ms ease-out}.nav-label{letter-spacing:1.5px;color:#fa0;font-size:11px;font-weight:700}.top-right{flex-direction:column;align-items:center;gap:10px;padding:12px;display:flex;position:absolute;top:20px;right:20px}.minimap-wrapper{background:#060c12e6;border:1px solid #ffffff26;border-radius:8px;width:160px;height:160px;position:relative;overflow:hidden}#minimap-canvas{width:160px;height:160px;display:block}.minimap-compass{color:#f34;font-size:12px;font-weight:800;position:absolute;top:6px;right:8px}.quick-actions{grid-template-columns:1fr 1fr;gap:6px;width:100%;display:grid}.hud-btn{color:#e0e8f0;cursor:pointer;letter-spacing:.5px;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;padding:6px 8px;font-size:12px;font-weight:700;transition:all .2s}.hud-btn:hover{color:#00e5ff;background:#fff3;border-color:#00e5ff}.race-banner{color:#fd4;letter-spacing:2px;text-shadow:0 0 20px #fa09;opacity:1;pointer-events:none;background:#0a1016e0;border:2px solid #fa0;border-radius:8px;padding:12px 36px;font-family:Chakra Petch,sans-serif;font-size:26px;font-weight:700;transition:opacity .35s,transform .35s;position:absolute;top:28%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 35px #000c}.race-banner.fade-out{opacity:0;transform:translate(-50%,-70%)}.countdown-overlay{color:#0f8;text-shadow:0 0 40px #0f8c,0 0 80px #0f86;pointer-events:none;font-family:Chakra Petch,sans-serif;font-size:110px;font-weight:700;animation:.5s ease-in-out infinite alternate pulse;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse{0%{transform:translate(-50%,-50%)scale(1)}to{transform:translate(-50%,-50%)scale(1.1)}}.bottom-right{flex-direction:column;gap:12px;min-width:250px;padding:16px 24px;display:flex;position:absolute;bottom:24px;right:24px}.boost-meter-container{flex-direction:column;gap:4px;display:flex}.boost-header{letter-spacing:1px;justify-content:space-between;font-size:11px;font-weight:700;display:flex}.boost-label{color:#00e5ff}.boost-key{color:#8da4b8}.boost-track{background:#ffffff1a;border-radius:4px;width:100%;height:8px;overflow:hidden}.boost-fill{background:linear-gradient(90deg,#00b0ff,#0fc);height:100%;transition:width 80ms ease-out;box-shadow:0 0 10px #0fc}.speedo-cluster{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.gear-badge{background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;flex-direction:column;align-items:center;padding:4px 14px;display:flex}.gear-badge .sub{color:#8da4b8;letter-spacing:1px;font-size:10px;font-weight:700}.gear-num{color:#fa0;font-family:Chakra Petch,sans-serif;font-size:28px;font-weight:700}.speed-readout{align-items:baseline;gap:6px;display:flex}.speed-num{color:#fff;text-shadow:0 0 15px #ffffff40;font-family:Chakra Petch,sans-serif;font-size:60px;font-weight:700;line-height:1}.speed-unit{color:#8da4b8;font-size:16px;font-weight:700}.rpm-bar-container{flex-direction:column;gap:4px;display:flex}.rpm-track{background:#ffffff1a;border-radius:3px;width:100%;height:6px;overflow:hidden}.rpm-fill{background:linear-gradient(90deg,#0f8,#fc0 70%,#f23 90%);height:100%;transition:width 50ms ease-out}.rpm-labels{color:#71889c;justify-content:space-between;font-family:Chakra Petch,monospace;font-size:10px;display:flex}.rpm-labels .redline{color:#f34;font-weight:700}.touch-controls{pointer-events:none;justify-content:space-between;align-items:flex-end;display:none;position:absolute;bottom:20px;left:20px;right:20px}@media (width<=900px),(pointer:coarse){.touch-controls{display:flex}.bottom-right{min-width:180px;padding:10px 16px;bottom:140px;right:15px}.speed-num{font-size:42px}}.touch-left,.touch-right{pointer-events:auto;gap:12px;display:flex}.touch-right{flex-direction:column;align-items:flex-end}.touch-row{gap:10px;display:flex}.touch-btn{backdrop-filter:blur(10px);color:#fff;touch-action:manipulation;background:#ffffff26;border:2px solid #ffffff40;border-radius:14px;justify-content:center;align-items:center;width:64px;height:64px;font-size:22px;font-weight:700;display:flex}.touch-btn:active{background:#ffffff59;transform:scale(.95)}.touch-btn.small{width:58px;height:48px;font-size:13px}.touch-btn.gas{color:#0f8;background:#00ff8840;border-color:#0f8}.touch-btn.brake{color:#f34;background:#ff324640;border-color:#f34}.touch-btn.boost{color:#00e5ff;background:#00b4ff4d;border-color:#00e5ff;width:58px;height:48px;font-size:13px}.modal-overlay{backdrop-filter:blur(10px);z-index:100;pointer-events:auto;background:#050a0fc7;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.modal-card{text-align:center;background:#141e28f2;border:1px solid #fff3;border-radius:16px;flex-direction:column;align-items:center;gap:20px;width:90%;max-width:480px;padding:36px 48px;display:flex;box-shadow:0 16px 48px #000000b3}.modal-title{color:#fc0;letter-spacing:1px;font-family:Chakra Petch,sans-serif;font-size:38px;font-weight:700}.modal-subtitle{letter-spacing:2px;color:#8da4b8;font-size:16px;font-weight:700}.results-grid{gap:30px;margin:10px 0;display:flex}.res-item{flex-direction:column;gap:4px;display:flex}.res-label{letter-spacing:1px;color:#8da4b8;font-size:12px;font-weight:700}.res-value{font-family:Chakra Petch,monospace;font-size:26px;font-weight:700}.res-value.highlight{color:#0f8}.modal-action-btn{color:#04121a;cursor:pointer;letter-spacing:1.5px;background:linear-gradient(135deg,#00b0ff,#0fc);border:none;border-radius:30px;padding:14px 36px;font-family:Chakra Petch,sans-serif;font-size:18px;font-weight:700;transition:transform .2s,box-shadow .2s;box-shadow:0 0 20px #0fc6}.modal-action-btn:hover{transform:scale(1.04);box-shadow:0 0 30px #00ffccb3}.modal-action-btn.secondary{color:#fff;box-shadow:none;background:#ffffff26;padding:10px 28px;font-size:15px}.controls-list{text-align:left;flex-direction:column;gap:10px;width:100%;font-size:15px;display:flex}.ctrl-row{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding-bottom:6px;display:flex}kbd{color:#00e5ff;background:#ffffff1f;border:1px solid #ffffff40;border-radius:4px;padding:3px 8px;font-family:monospace;font-weight:700}.hidden{display:none!important}
