*{box-sizing:border-box}:root{--bg: #eef4f8;--panel: #ffffff;--ink: #26323d;--muted: #64748b;--brand: #e5484d;--accent: #2f7de1;--good: #1a9d55;--radius: 16px}body{margin:0;font-family:Avenir Next,Trebuchet MS,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink)}.app{max-width:1240px;margin:0 auto;padding:20px 24px 40px}header h1{margin:8px 0 2px;font-size:2.2rem;letter-spacing:.5px}.tagline{margin:0 0 18px;color:var(--muted);font-size:1.05rem}main{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:20px;align-items:start}@media (max-width: 980px){main{grid-template-columns:1fr}}.panel{background:var(--panel);border-radius:var(--radius);padding:18px 20px;box-shadow:0 2px 10px #14284614}.panel h2{margin:0 0 12px;font-size:1.15rem}.right-column{display:flex;flex-direction:column;gap:20px}.garage-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.budget-chip{background:#eaf3ff;color:var(--accent);font-weight:700;padding:6px 12px;border-radius:999px;font-size:.9rem}.budget-chip.budget-empty{background:#fff1f1;color:var(--brand)}.category{margin-top:14px}.category h3{margin:0 0 8px;font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.category-icon{margin-right:6px}.options{display:flex;flex-direction:column;gap:8px}.option{text-align:left;border:2px solid #e3e9f0;background:#fafcfe;border-radius:12px;padding:10px 12px;cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-template-areas:"name cost" "blurb cost";gap:2px 10px;font:inherit;color:inherit;transition:border-color .12s,transform 80ms}.option:hover:not(:disabled){border-color:#b9cdea}.option:active:not(:disabled){transform:scale(.99)}.option.selected{border-color:var(--accent);background:#eef6ff}.option:disabled{opacity:.45;cursor:not-allowed}.option-name{grid-area:name;font-weight:700}.option-blurb{grid-area:blurb;color:var(--muted);font-size:.85rem}.option-cost{grid-area:cost;align-self:center;font-weight:700;font-size:.85rem;color:var(--accent);white-space:nowrap}.stat-row{margin-bottom:10px}.stat-head{display:flex;justify-content:space-between;font-size:.95rem;margin-bottom:4px}.stat-label{color:var(--muted)}.stat-value{font-weight:700;font-variant-numeric:tabular-nums}.stat-bar{height:10px;border-radius:999px;background:#e8eef5;overflow:hidden}.stat-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#58b0ff,#2f7de1);transition:width .3s ease}.stat-footnote{color:var(--muted);font-size:.85rem;margin-top:8px}.track-tabs{display:flex;gap:8px;margin-bottom:8px}.track-tab{font:inherit;font-weight:700;border:2px solid #e3e9f0;background:#fafcfe;color:var(--ink);border-radius:999px;padding:8px 16px;cursor:pointer}.track-tab.active{border-color:var(--brand);background:#fff1f1;color:var(--brand)}.track-tagline{margin:0 0 12px;color:var(--muted);font-size:.95rem}.track-canvas-wrap{position:relative;border-radius:12px;overflow:hidden;line-height:0}.hud{position:absolute;top:10px;left:10px;display:flex;gap:8px;line-height:1.4}.hud span{background:#141e28b8;color:#fff;font-weight:700;font-size:.85rem;padding:4px 10px;border-radius:8px;font-variant-numeric:tabular-nums}.hud-playback{opacity:.8}.run-bar{display:flex;align-items:center;gap:14px;margin-top:14px;flex-wrap:wrap}.run-button{font:inherit;font-size:1.05rem;font-weight:800;color:#fff;background:linear-gradient(180deg,#ef5a5f,#d93a40);border:none;border-radius:12px;padding:12px 22px;cursor:pointer;box-shadow:0 3px 8px #d93a4059}.run-button:disabled{opacity:.6;cursor:wait}.times{display:flex;gap:8px;flex-wrap:wrap}.time-chip{padding:6px 12px;border-radius:999px;font-weight:700;font-size:.9rem;background:#eef2f7;color:var(--muted);font-variant-numeric:tabular-nums}.time-chip.best{background:#eefbf3;color:var(--good)}.time-chip.last{background:#fff7e8;color:#b97f10}.time-chip.last.beat{background:#eefbf3;color:var(--good)}.result-banner{margin-top:12px;padding:12px 14px;border-radius:12px;background:#f2f6fb;font-weight:600}.result-banner.win{background:#eafaf0;color:var(--good)}.result-banner.ghost-hint{color:var(--muted);font-weight:500}footer{margin-top:24px;text-align:center;color:var(--muted);font-size:.9rem}
