:root{--lime:#caff3d;--red:#ef4c53;--ink:#071118;--panel:rgba(6,20,28,.86);--line:rgba(255,255,255,.15);color-scheme:dark}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:#18252a;color:#fff;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;touch-action:none}button,select{font:inherit;color:inherit}button{border:0;cursor:pointer}#game{display:block;width:100%;height:100%;touch-action:none}.hidden{display:none!important}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:0 7px 24px #0007;backdrop-filter:blur(8px)}
#hud{position:fixed;inset:0;pointer-events:none;padding:max(6px,env(safe-area-inset-top)) max(7px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left))}.topbar{position:absolute;top:max(6px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(680px,calc(100% - 14px));height:54px;border-radius:15px;display:flex;align-items:center;gap:9px;padding:6px 8px;pointer-events:auto}.coach{min-width:0;flex:1}.coach b,.coach small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coach b{font-size:12px}.coach small{font-size:9px;color:#aebdc4;margin-top:2px}.road-sign{width:39px;height:39px;flex:0 0 39px;border-radius:50%;border:5px solid #e53f45;background:#fff;color:#111;display:grid;place-items:center;font-weight:1000;font-size:13px}.meters{min-width:43px;text-align:center}.meters b{display:block;font-size:20px;line-height:19px}.meters small{font-size:7px;color:#aab9c0}.gear{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:var(--lime);color:#081006;font-weight:1000;font-size:18px}.mini{width:34px;height:34px;border-radius:9px;background:#152b34;font-weight:900}.notice{position:absolute;top:66px;left:50%;transform:translateX(-50%);max-width:min(390px,70vw);background:#081a22dd;border-left:4px solid var(--lime);border-radius:9px;padding:7px 10px;font-size:10px;font-weight:800;box-shadow:0 6px 18px #0007}.notice.error{border-left-color:var(--red)}
.left-controls{position:absolute;left:max(8px,env(safe-area-inset-left));bottom:max(8px,env(safe-area-inset-bottom));pointer-events:auto}.steer-row,.signal-row{display:flex;gap:6px}.signal-row{justify-content:center;margin-top:5px}.drive-btn{width:68px;height:68px;border-radius:20px;background:#102832dd;border:1px solid var(--line);font-size:24px;box-shadow:0 7px 20px #0007;touch-action:none}.drive-btn.active,.pedal.active{transform:translateY(4px);filter:brightness(1.2)}.small-btn{width:38px;height:30px;border-radius:9px;background:#102832e8;font-size:13px;touch-action:none}.small-btn.active{background:var(--lime);color:#071006}
.pedals{position:absolute;right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:7px;pointer-events:auto}.pedal{width:63px;height:78px;border-radius:15px 15px 21px 21px;background:#aa3439e8;border:1px solid #ffffff1d;box-shadow:0 7px 20px #0008;touch-action:none;font-weight:900}.pedal span{font-size:8px;writing-mode:vertical-rl;transform:rotate(180deg)}.pedal.gas{height:94px;background:#6e9e20e8;color:#f4ffd7}.pedal.clutch{background:#263b45e8}.car-tools{position:absolute;left:50%;bottom:7px;transform:translateX(-50%);display:flex;padding:4px;gap:3px;border-radius:10px;pointer-events:auto}.car-tools button,.gearbox button{background:#142a33;border-radius:7px;padding:7px;font-size:8px;font-weight:900;touch-action:none}.car-tools button.active,.gearbox button.active{background:var(--lime);color:#071006}.gearbox{position:absolute;right:80px;bottom:110px;border-radius:10px;padding:5px;display:grid;grid-template-columns:repeat(3,28px);gap:3px;pointer-events:auto}.gearbox button{padding:6px 2px}.gearbox span{grid-column:1/-1;text-align:center;font-size:7px;color:#9fb0b8}
.overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at 70% 25%,#245464dd,#03090dec);overflow:auto}.sheet{width:min(760px,100%);padding:25px;border:1px solid var(--line);border-radius:27px;background:#071820f7;box-shadow:0 30px 90px #000}.sheet.compact{width:min(420px,100%)}.logo{font-size:20px;font-weight:1000}.logo span{color:var(--lime)}.kicker{font-size:9px;font-weight:1000;letter-spacing:.15em;color:var(--lime);margin:18px 0 5px}.sheet h1{font-size:clamp(36px,7vw,64px);line-height:.91;letter-spacing:-.06em;margin:5px 0 14px}.sheet h2{font-size:30px;margin:4px 0 10px}.sheet>p:not(.kicker){color:#afc0c7;line-height:1.45}.options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.options label{background:#10252e;border-radius:13px;padding:8px}.options b{display:block;font-size:8px;color:#91a5ae;margin-bottom:5px}.options select{width:100%;border:0;background:#172f39;border-radius:8px;padding:8px;font-weight:800}.primary,.secondary{width:100%;padding:12px;border-radius:12px;font-weight:1000}.primary{background:var(--lime);color:#071006}.secondary{background:#132a34;margin-top:6px}.desktop{display:block;text-align:center;color:#738b96;font-size:9px;margin-top:9px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0}.stats div{background:#10242d;border-radius:11px;padding:10px;text-align:center}.stats b,.stats span{display:block}.stats span{font-size:8px;color:#8fa3ac}.fail-icon{font-size:42px}
@media(max-width:700px){.topbar{left:7px;right:7px;transform:none;width:auto}.coach{max-width:33vw}.coach small{display:none}.topbar{gap:5px}.mini{width:30px}.drive-btn{width:60px;height:60px}.pedal{width:53px;height:69px}.pedal.gas{height:82px}.car-tools{bottom:4px}.car-tools button{padding:6px 5px;font-size:7px}.gearbox{right:68px;bottom:95px}.options{grid-template-columns:1fr}.sheet{padding:18px}.desktop{display:none}.notice{top:64px;max-width:52vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(max-height:430px){.sheet h1{font-size:36px}.sheet>p:not(.kicker){font-size:11px}.options{margin:10px 0}.overlay{align-items:start}.sheet{margin:auto}.drive-btn{height:55px}.pedal{height:62px}.pedal.gas{height:74px}}
