:root{--ink:#f4f1ea;--muted:#9aa3b5;--paper:#12151c;--panel:#0c0e14db;--gold:#f5c518;--cyan:#2ee6d6;--red:#f35;--line:#2a3140;--shadow:0 22px 50px #00000073}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:radial-gradient(circle at 12% 0,#3a2410 0%,#0000 32%),radial-gradient(circle at 90% 8%,#12343a 0%,#0000 34%),linear-gradient(#0a0c11 0%,#151821 100%);margin:0;font-family:Rajdhani,sans-serif}#app{flex-direction:column;align-items:center;min-height:100vh;padding:16px 14px 28px;display:flex}.hud{width:min(1100px,100%);box-shadow:var(--shadow);background:#12151ceb;border:1px solid #3a4254;border-radius:14px;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:14px;margin-bottom:10px;padding:10px 16px;display:grid}.hud-block{flex-direction:column;min-width:72px;display:flex}.hud-block.wide{min-width:160px}.hud-block.cash strong{color:var(--gold)}.label{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:12px}.hud strong,.bank{font-family:Teko,sans-serif;font-size:34px;line-height:1}.bar{background:#232833;border-radius:99px;height:12px;margin-top:6px;overflow:hidden}.bar i{transform-origin:0;background:linear-gradient(90deg,#f35,#f5c518 55%,#2ee6d6);width:100%;height:100%;display:block}.stage{width:min(1100px,100%);box-shadow:var(--shadow);background:#1b1f28;border:1px solid #3a4254;border-radius:18px;position:relative;overflow:hidden}#game{background:#1f6a38;width:100%;height:auto;display:block}#minimap{pointer-events:none;z-index:2;background:#080a0eb8;border:1px solid #d7c089;border-radius:10px;width:160px;height:108px;position:absolute;top:14px;right:14px}.panel,.sheet,.banner{text-align:center;background:linear-gradient(#080a0e8c,#080a0ec7);flex-direction:column;justify-content:center;align-items:center;padding:28px;display:flex;position:absolute;inset:0}.sheet{text-align:left;background:#0a0c10f0;justify-content:flex-start;align-items:stretch;padding:22px 22px 18px;overflow:auto}.panel.slim{background:#080a0eb8}.eyebrow{color:var(--gold);letter-spacing:.22em;text-transform:uppercase;margin:0 0 4px;font-size:13px}h1,h2,h3{letter-spacing:.03em;margin:0;font-family:Teko,sans-serif;font-weight:600}h1{text-transform:uppercase;font-size:clamp(64px,11vw,118px);line-height:.86}h2{font-size:56px;line-height:.9}h3{font-size:30px}.tagline{color:#d7dbe6;max-width:560px;margin:12px 0 0;font-size:20px;line-height:1.35}.payouts{gap:10px;margin:22px 0 20px;display:flex}.payouts div{background:#f5c51814;border:1px solid #4a3d18;border-radius:12px;min-width:92px;padding:10px 14px 8px}.payouts b{color:var(--muted);letter-spacing:.16em;font-size:12px;display:block}.payouts span{color:var(--gold);font-family:Teko,sans-serif;font-size:32px}.hint{color:var(--muted);margin:16px 0 0}button{letter-spacing:.04em;cursor:pointer;color:#161308;background:var(--gold);border:0;border-radius:12px;padding:10px 22px 8px;font-family:Teko,sans-serif;font-size:28px;box-shadow:0 4px #8a6d0c}button:hover{filter:brightness(1.05)}button:active{transform:translateY(2px);box-shadow:0 2px #8a6d0c}button:disabled{cursor:default;filter:grayscale(.4);opacity:.55;box-shadow:none}button.ghost{color:var(--ink);background:#2a3140;box-shadow:0 4px #151920}.row-btns{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}.sheet-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.bank{color:var(--gold);font-size:54px}.garage-grid{grid-template-columns:340px 1fr 1fr;gap:14px;display:grid}.preview-wrap,.card,.customize,.track-card{border:1px solid var(--line);background:#161a22;border-radius:14px}.preview-wrap{text-align:center;padding:10px}#preview{background:#0e1218;border-radius:10px;width:100%;height:auto}.preview-cap{color:var(--muted);margin:8px 0 4px}.stack{flex-direction:column;gap:14px;display:flex}.card{padding:14px 16px 16px}.card p{color:var(--muted);margin:6px 0 12px}.card-top,.opt-row,.sheet-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.card-top span{color:var(--cyan)}.pips{gap:6px;margin-bottom:12px;display:flex}.pips i{background:#2a3140;border-radius:99px;width:18px;height:8px}.pips i.on{background:var(--gold)}.customize{padding:14px 16px 16px}.customize h3{margin-bottom:10px}.opt-row{border-top:1px solid #232833;padding:8px 0}.opt-row>span{color:var(--muted);min-width:64px}.swatches,.chips{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.swatch,.chip{appearance:none;box-shadow:none;border:2px solid #3a4254;padding:0;font-family:Rajdhani,sans-serif;font-size:14px;font-weight:700}.swatch{border-radius:50%;width:26px;height:26px}.chip{color:var(--ink);background:#232833;border-radius:999px;padding:4px 10px 3px}.swatch.on,.chip.on{border-color:var(--gold);box-shadow:0 0 0 2px #f5c51840}.tracks{grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0;display:grid}button.track-card{cursor:pointer;text-align:left;width:100%;color:var(--ink);box-shadow:none;background:#161a22;padding:12px 14px;font-family:Rajdhani,sans-serif;font-size:16px;display:block}button.track-card strong{font-family:Teko,sans-serif;font-size:28px;font-weight:600;display:block}.track-card.on{border-color:var(--gold)}.track-card.locked{opacity:.5;cursor:default}.track-card small{color:var(--muted);display:block}.banner strong{color:var(--gold);text-shadow:0 10px #3a2e06;font-family:Teko,sans-serif;font-size:140px}.board{width:min(420px,100%);margin:16px 0 0;padding:0;list-style:none}.board li{background:#161a22e6;border-radius:10px;justify-content:space-between;margin-bottom:6px;padding:8px 12px;display:flex}.board li.you{border:1px solid var(--gold)}.touchbar{pointer-events:none;z-index:3;justify-content:space-between;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.touchbar button{pointer-events:auto;-webkit-user-select:none;user-select:none;touch-action:none;min-width:72px;min-height:64px}.steer,.pedals{gap:8px;display:flex}.brake{background:#ff8a9a}.go{background:var(--cyan)}[hidden]{display:none!important}@media (max-width:900px){.hud{grid-template-columns:1fr 1fr}.garage-grid,.tracks{grid-template-columns:1fr}h1{font-size:64px}h2{font-size:42px}.bank{font-size:40px}}
