*{box-sizing:border-box}#c{display:block;width:100vw;height:100vh}#loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 70% 20%,#2a4a2a,#0f1f0f 45%,#050a05);z-index:50;transition:opacity .6s ease,visibility .6s}#loading.out{opacity:0;visibility:hidden}.load-card{text-align:center;color:#eaffea}.load-card h1{margin:0;font-size:42px;letter-spacing:.12em;font-weight:900;text-shadow:0 4px 20px rgba(90,255,90,.4)}.load-card p{margin:4px 0 18px;letter-spacing:.45em;font-size:12px;opacity:.7}.bar{width:280px;height:6px;background:#ffffff1f;border-radius:999px;overflow:hidden;margin:0 auto 10px}#loadbar{width:0%;height:100%;background:linear-gradient(90deg,#6bff6b,#b6ff6b);transition:width .2s}#loadtext{font-size:12px;opacity:.8}#rendererInfo{display:block;margin-top:6px;font-size:11px;opacity:.5}#hud{position:fixed;inset:0;pointer-events:none;z-index:10}.hud-top{display:flex;gap:10px;padding:14px;flex-wrap:wrap}.hud-pill{background:#0a140ac7;backdrop-filter:blur(8px);border:1px solid rgba(120,255,120,.18);border-radius:12px;padding:8px 14px;min-width:92px}.hud-pill .label{display:block;font-size:10px;letter-spacing:.14em;color:#8fbf8f}.hud-pill .value{font-size:18px;font-weight:800;color:#fff}.hud-pill.cps{min-width:120px}.hud-bottom{position:absolute;left:14px;bottom:14px;display:flex;align-items:flex-end;gap:14px}.speedo{display:flex;gap:14px;align-items:flex-end}.speedo-dial{position:relative;width:132px;height:92px;background:#0a140ac7;border:1px solid rgba(120,255,120,.18);border-radius:16px;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px)}.dial-svg{position:absolute;inset:8px 8px auto;height:56px;width:calc(100% - 16px)}.speed-val{margin-top:18px;text-align:center;line-height:1}.speed-val span{font-size:28px;font-weight:900;color:#fff}.speed-val small{display:block;font-size:10px;letter-spacing:.12em;color:#9fbb9f}.gear{position:absolute;right:10px;bottom:8px;font-size:11px;font-weight:800;color:#6bff6b;background:#5aff5a1f;padding:2px 6px;border-radius:6px}#minimap{width:160px;height:160px;border-radius:16px;border:1px solid rgba(120,255,120,.18);background:#0a140ac7;backdrop-filter:blur(8px)}.notify{position:absolute;left:50%;top:22%;transform:translate(-50%);background:#6bff6b;color:#0a1a0a;font-weight:900;letter-spacing:.14em;padding:10px 18px;border-radius:999px;box-shadow:0 8px 30px #5aff5a66;transition:all .3s}.notify.hidden{opacity:0;transform:translate(-50%) translateY(10px) scale(.96);pointer-events:none}#touchControls{position:fixed;inset:auto 0 0;display:flex;justify-content:space-between;padding:12px;z-index:12;pointer-events:none}.touch-left,.touch-right{pointer-events:auto;display:flex;flex-direction:column;gap:8px;align-items:center}.touch-row{display:flex;gap:8px}.tbtn{width:54px;height:54px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:#141e148c;backdrop-filter:blur(8px);color:#fff;font-weight:800;font-size:18px;touch-action:manipulation;user-select:none}.tbtn:active{background:#5aff5a59;transform:scale(.96)}.tbtn.brake{width:120px;font-size:12px;letter-spacing:.08em;background:#ff5a5a38;border-color:#ff78784d}.tbtn.reset{width:120px;font-size:12px;height:38px}@media (min-width:900px){#touchControls{display:none}}.menu{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#050a059e;backdrop-filter:blur(10px);z-index:20;transition:opacity .35s,visibility .35s}.menu.hidden{opacity:0;visibility:hidden}.menu-card{background:radial-gradient(700px 400px at 50% 0%,#1e3d1e,#0f1f0f 55%,#0a160a);border:1px solid rgba(120,255,120,.18);border-radius:20px;padding:28px;text-align:center;color:#eaffea;width:min(480px,calc(100vw - 24px));box-shadow:0 20px 60px #00000080}.menu-card h2{margin:0;font-size:34px;letter-spacing:.08em}.menu-card p{opacity:.75;margin:8px 0 16px;font-size:14px}.menu-stats{font-size:13px;opacity:.9;margin-bottom:14px;min-height:18px}.cta{background:linear-gradient(180deg,#7aff7a,#3dd63d);color:#0a1a0a;border:none;padding:14px 26px;border-radius:999px;font-weight:900;letter-spacing:.08em;cursor:pointer;font-size:16px;box-shadow:0 8px 24px #5aff5a59}.cta:active{transform:scale(.98)}.controls-help{margin-top:16px;font-size:11px;opacity:.65;line-height:1.7}.controls-help kbd{background:#ffffff1f;padding:2px 6px;border-radius:6px;font-family:inherit;border:1px solid rgba(255,255,255,.12)}.renderer-badge{margin-top:10px;display:inline-block;padding:4px 10px;border-radius:999px;background:#ffffff14;font-size:11px}#positions{position:fixed;right:14px;top:86px;width:180px;background:#0a140ac7;backdrop-filter:blur(8px);border:1px solid rgba(120,255,120,.18);border-radius:14px;padding:10px;z-index:10;pointer-events:none}.pos-title{font-size:10px;letter-spacing:.16em;color:#8fbf8f;margin-bottom:8px}#posList{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}#posList li{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#dff0df;background:#ffffff0f;padding:6px 8px;border-radius:10px}#posList li.me{background:#5aff5a2e;border:1px solid rgba(90,255,90,.3);color:#fff}.dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
