:root{--bg:#07090c;--panel:#10141a;--panel-2:#171c24;--line:#242b36;--text:#eef2f6;--muted:#8a94a3;--accent:#ff6a2b;--accent-2:#ffb02b;--go:#2bd47a;--danger:#ff3b4a;--radius:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}body{overscroll-behavior:none;min-height:100dvh}button{font:inherit;color:inherit;cursor:pointer}h1,h2{margin:0}.muted{color:var(--muted)}.small{font-size:.85rem}main{max-width:560px;padding:max(16px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));margin:0 auto}.home-header{padding:16px 0 8px}.brand{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;font-size:.8rem;font-weight:800}.home-header h1{letter-spacing:-.02em;font-size:2rem}.home-header p{margin:6px 0 0}.category{margin-top:26px}.category h2{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:.75rem}.cards{gap:10px;display:grid}.card{text-align:left;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:4px;min-height:76px;padding:18px;transition:border-color .15s,background .15s;display:flex}.card:hover,.card.selected{border-color:var(--accent);background:var(--panel-2)}.card-name{font-size:1.15rem;font-weight:700}.card-tagline{color:var(--muted);font-size:.9rem}.home>.small{margin-top:28px}.drive-header{align-items:center;gap:12px;display:flex}.back{border:1px solid var(--line);background:var(--panel);border-radius:50%;width:48px;height:48px;padding-bottom:4px;font-size:1.8rem;line-height:1}.drive-title{flex-direction:column;font-size:1.1rem;font-weight:700;display:flex}.readouts{background:radial-gradient(120% 90% at 50% 0%, #1a2130 0%, var(--panel) 70%);border:1px solid var(--line);text-align:center;border-radius:22px;margin:20px 0 16px;padding:22px 20px 20px}.speed{flex-direction:column;align-items:center;display:flex}.speed-value{font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-size:clamp(4.5rem,24vw,7rem);font-weight:800;line-height:.95}.speed-unit{color:var(--muted);letter-spacing:.12em;font-size:.85rem;font-weight:600}.primary{justify-content:center;align-items:baseline;gap:8px;min-height:3rem;margin-top:18px;display:flex}.primary-value{font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:800}.primary-unit{color:var(--muted);letter-spacing:.08em;font-weight:700}.gear{color:var(--accent-2);min-width:2.4em;margin-left:12px;font-size:2rem;font-weight:800}.gear.shifting{color:var(--text)}.secondary{color:var(--muted);letter-spacing:.1em;margin-top:10px;font-size:.85rem;font-weight:700}.bar{border:1px solid var(--line);background:#0b0e13;border-radius:6px;height:12px;margin-top:12px;position:relative;overflow:hidden}.bar-fill{transform-origin:0;background:linear-gradient(90deg, var(--go), var(--accent-2) 70%, var(--accent));position:absolute;inset:0}.bar-red{background:color-mix(in srgb, var(--danger) 35%, transparent);position:absolute;top:0;bottom:0;right:0}.bar.hot .bar-fill{background:var(--danger)}.bar-marker{background:var(--text);opacity:.8;width:3px;margin-left:-1px;position:absolute;top:-2px;bottom:-2px}.start{background:var(--go);color:#04110a;letter-spacing:.14em;border:none;border-radius:20px;width:100%;height:76px;font-size:1.5rem;font-weight:800}.start.running{background:var(--danger);color:#fff}.start:disabled{opacity:.6}.error{color:var(--danger)}.slider{margin-top:16px;display:block}.slider-label{color:var(--muted);justify-content:space-between;margin-bottom:6px;font-size:.9rem;display:flex}.slider-label b{color:var(--text);font-variant-numeric:tabular-nums}input[type=range]{width:100%;height:32px;accent-color:var(--accent)}.chips{scrollbar-width:none;gap:8px;margin:18px -16px 0;padding:0 16px 4px;display:flex;overflow-x:auto}.chips button,.segmented button{border:1px solid var(--line);background:var(--panel);white-space:nowrap;border-radius:999px;flex:none;padding:10px 14px;font-size:.9rem}.chips button[aria-pressed=true],.segmented button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--panel))}.demo{border:1px dashed var(--line);border-radius:var(--radius);margin-top:22px;padding:18px 16px}.demo-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.demo-head h2{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.segmented{gap:6px;display:flex}.pedals{grid-template-columns:1fr 1.4fr;gap:10px;margin-top:16px;display:grid}.pedal{border:1px solid var(--line);letter-spacing:.14em;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:14px;height:96px;font-weight:800}.pedal.gas{background:color-mix(in srgb, var(--go) 14%, var(--panel))}.pedal.brake{background:color-mix(in srgb, var(--danger) 14%, var(--panel))}.pedal.down{filter:brightness(1.6);transform:scale(.97)}.link{color:var(--accent-2);background:0 0;border:none;padding:12px 0 0;text-decoration:underline}.safety{color:var(--muted);text-align:center;margin-top:20px}.input-mode{margin-top:18px}.input-mode button{flex:1}.segmented button:disabled{opacity:.5;cursor:default}.gps-status{text-align:center;color:var(--muted);margin:-6px 0 14px;font-size:.9rem}.gps-status.ready{color:var(--go)}.gps-status.waiting,.gps-status.weak{color:var(--accent-2)}.gps-status.lost,.gps-status.denied,.gps-status.unavailable{color:var(--danger)}
