.game-page{max-width:640px;margin:0 auto;padding:1rem;min-height:100dvh;display:flex;flex-direction:column}.back{text-decoration:none;color:var(--muted);font-size:.9rem}.hud{display:flex;justify-content:center;gap:2.5rem;margin:.5rem 0 1rem;font-size:1.3rem;font-variant-numeric:tabular-nums}.hud-item{display:flex;flex-direction:column;align-items:center}.hud-item[hidden]{display:none}.hud-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.muted{color:var(--muted);font-size:.85rem;text-align:center;margin:.2rem 0 0}.money-negative{color:var(--danger)}.stage{position:relative;width:100%;max-width:600px;aspect-ratio:16 / 9;margin:0 auto}.stage[hidden]{display:none}#game{width:100%;height:100%;display:block;background:#0c1118;border-radius:12px;touch-action:none}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:1rem;background:#0c1118db;border-radius:12px}.overlay[hidden]{display:none}.race-controls{display:flex;gap:.7rem;width:100%;max-width:600px;margin:1rem auto 0}.race-controls[hidden]{display:none}.gas-btn{flex:2;padding:1.1em;font-size:1.2rem;font-weight:700;letter-spacing:.04em;background:var(--accent-2);touch-action:none;-webkit-user-select:none;user-select:none}.gas-btn.held{background:#4d9950;transform:translateY(2px)}.nitro-btn{flex:1;padding:1.1em;font-size:1.1rem;font-weight:700;letter-spacing:.04em;background:#ffb74d;color:#2b1600;touch-action:none;-webkit-user-select:none;user-select:none}.nitro-btn.held{background:#f57c00;transform:translateY(2px)}.nitro-btn:disabled{opacity:.4;transform:none}.shift-btn{flex:1;padding:1.1em;font-size:1.1rem;font-weight:700;letter-spacing:.04em;background:#7986cb;touch-action:none;-webkit-user-select:none;user-select:none}.shift-btn:active{transform:translateY(2px)}.shift-btn:disabled{opacity:.4;transform:none}.garage{width:100%;max-width:600px;margin:0 auto}.garage[hidden]{display:none}.garage-header{text-align:center;margin-bottom:.5rem}.garage-header h1{margin:0 0 .3rem}.garage-stats{display:flex;justify-content:center;gap:2rem;font-size:1.1rem;font-variant-numeric:tabular-nums}.garage h2{font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:1.2rem 0 .5rem}.car-list{display:flex;flex-direction:column;gap:.6rem}.car-card{background:var(--panel);border-radius:12px;padding:.8rem 1rem;display:flex;flex-direction:column;gap:.4rem;border:2px solid transparent}.car-card.selected{border-color:var(--accent)}.car-card.locked{opacity:.6}.car-card-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.car-name{font-weight:600}.car-stats-line{font-size:.8rem;color:var(--muted)}.car-card button{padding:.45em .9em;font-size:.85rem}.car-card button:disabled{opacity:.4}.car-card-bottom{display:flex;gap:.5rem}.test-drive-btn{flex:1;padding:.4em .8em;font-size:.8rem;background:transparent;border:1px solid var(--muted);color:var(--muted)}.stunt-btn{flex:1;padding:.4em .8em;font-size:.8rem;background:transparent;border:1px solid #ba68c8;color:#ba68c8}.upgrade-list{display:flex;flex-direction:column;gap:.5rem}.upgrade-row{display:flex;align-items:center;justify-content:space-between;background:var(--panel);border-radius:10px;padding:.6rem .9rem;gap:.6rem}.upgrade-row-info{display:flex;flex-direction:column}.upgrade-row-name{font-weight:600;font-size:.9rem}.upgrade-row-detail{font-size:.75rem;color:var(--muted)}.upgrade-row button{padding:.45em .8em;font-size:.8rem;white-space:nowrap}.upgrade-row button:disabled{opacity:.4}.gearing-row{display:flex;gap:.5rem}.gearing-btn{flex:1;padding:.6em;font-size:.85rem;font-weight:600;background:var(--panel);border:2px solid transparent}.gearing-btn.selected{border-color:var(--accent)}.paint-list{display:flex;flex-wrap:wrap;gap:.6rem}.paint-swatch{width:2.2rem;height:2.2rem;border-radius:50%;border:3px solid transparent;padding:0}.paint-swatch.selected{border-color:var(--accent)}.paint-swatch.locked{opacity:.4}.paint-swatch:disabled{cursor:default}.bet-panel{background:var(--panel);border-radius:12px;padding:.8rem 1rem}.bet-label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.3rem}.bet-panel input{width:100%;font-size:1rem;padding:.5em;border-radius:8px;border:none;background:#0c1118;color:var(--text)}.race-btn{display:block;width:100%;padding:1em;font-size:1.15rem;margin:1.2rem 0 .5rem}.danger-zone{margin:2rem 0 1rem;padding-top:1rem;border-top:1px solid var(--panel);text-align:center}.delete-data-btn{width:100%;padding:.7em;font-size:.9rem;background:transparent;border:1px solid var(--danger);color:var(--danger)}
