:root { color-scheme: dark; --bg:#030504; --panel:#0a0d0c; --panel-2:#111614; --line:#313a36; --text:#f7faf8; --muted:#919b97; --lime:#32f34e; --orange:#ff8a3d; --metal:#cbd1cf; }
* { box-sizing:border-box; }
html { background:#020806; }
body { margin:0; background:radial-gradient(circle at 50% -8%, #14351c 0, #070a08 31%, transparent 54%),linear-gradient(180deg,#050706,var(--bg)); color:var(--text); font-family:"DM Sans",sans-serif; min-height:100vh; }
button { font:inherit; color:inherit; }
.app-shell { width:min(100%, 540px); margin:auto; min-height:100vh; padding:calc(18px + env(safe-area-inset-top)) 18px calc(96px + env(safe-area-inset-bottom)); }
.topbar { display:flex; align-items:center; gap:11px; }
.brand-mark { width:52px;height:52px;border:0;border-radius:50%;display:grid;place-items:center;filter:drop-shadow(0 0 9px #32f34e35);flex:0 0 auto; }
.brand-mark img { width:100%;height:100%;object-fit:contain;display:block; }
.brand-copy { display:flex; flex-direction:column; line-height:1.05; }
.brand-copy strong { font-family:"Space Mono";letter-spacing:-1px;font-size:14px; }
.brand-copy em { color:var(--lime);font-style:normal;display:block;font-size:10px;letter-spacing:1.4px;margin-top:4px; }
.brand-copy small { margin-top:5px;color:var(--muted);font-size:8px;letter-spacing:1.4px; }
.connection-pill { margin-left:auto;border:1px solid var(--line);background:#0c1714;padding:9px 12px;border-radius:100px;font-size:11px;display:flex;align-items:center;gap:7px;cursor:pointer; }
.status-dot { width:7px;height:7px;border-radius:50%;background:#71817b;box-shadow:0 0 0 3px #71817b1f; }
.connection-pill.connected .status-dot { background:var(--lime);box-shadow:0 0 0 3px #b9f52b24,0 0 12px #b9f52b90; }
.update-banner{margin-top:14px;padding:13px;border:1px solid #6d8734;background:#1b2717;border-radius:13px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.update-banner[hidden]{display:none}.update-banner div{display:flex;flex-direction:column}.update-banner .eyebrow{margin:0 0 3px}.update-banner strong{font-size:12px}.update-banner small{color:var(--muted);font-size:8px;margin-top:2px}.update-banner button{border:0;border-radius:8px;background:var(--lime);color:#102006;padding:9px;font:700 8px "Space Mono"}.update-banner button:disabled{opacity:.6}
.hero { display:flex;align-items:flex-end;justify-content:space-between;padding:43px 3px 23px; }
.eyebrow { color:var(--lime);font-family:"Space Mono";font-size:9px;font-weight:700;letter-spacing:2px;margin:0 0 10px; }
h1 { font-size:43px;letter-spacing:-2.5px;line-height:.91;margin:0;font-weight:600; }
h1 span { color:#688077;font-weight:400; }
.engine-state { display:flex;align-items:center;gap:10px;padding-bottom:3px; }
.engine-state div { display:flex;flex-direction:column; }
.engine-state small { color:var(--muted);font-size:8px;letter-spacing:1.5px; }
.engine-state strong { font-family:"Space Mono";font-size:12px;margin-top:3px; }
.pulse-ring { width:26px;height:26px;border:1px solid #41554f;border-radius:50%;display:grid;place-items:center; }
.pulse-ring i { width:8px;height:8px;background:#6d7b76;border-radius:50%; }
.pulse-ring.live { border-color:#b9f52b60;animation:pulse 1.6s infinite; }.pulse-ring.live i{background:var(--lime)}
@keyframes pulse { 50%{box-shadow:0 0 0 7px transparent} 0%,100%{box-shadow:0 0 0 1px #b9f52b30} }
.primary-grid { display:grid;grid-template-columns:1.08fr .92fr;gap:10px; }
.gauge-card,.metric-card,.diagnostics-card,.capabilities-card { background:linear-gradient(145deg,#14221f,#0d1815);border:1px solid var(--line);border-radius:18px; }
.gauge-card { min-height:245px;padding:17px;overflow:hidden; }
.card-heading { display:flex;justify-content:space-between;color:#a1b1ab;font:700 9px "Space Mono";letter-spacing:1px; }.card-heading small{color:#62766f;font-size:8px}
.dial { --value:0; width:164px;height:164px;margin:19px auto -15px;border-radius:50%;position:relative;background:conic-gradient(from 220deg,var(--lime) calc(var(--value)*1%),#273732 calc(var(--value)*1%) 78%,transparent 78%);display:grid;place-items:center; }
.dial::after { content:"";position:absolute;inset:8px;border-radius:50%;background:#111e1a; }
.dial-inner { position:relative;z-index:1;text-align:center;display:flex;flex-direction:column; }.dial-inner strong{font:700 34px "Space Mono";letter-spacing:-2px}.dial-inner small{font-size:8px;color:var(--muted);letter-spacing:1px}
.scale { display:flex;justify-content:space-between;color:#60736c;font:8px "Space Mono"; }
.speed-card { display:flex;flex-direction:column; }
.speed-value { margin-top:23px;display:flex;align-items:baseline;gap:6px; }.speed-value strong{font:700 57px "Space Mono";letter-spacing:-5px}.speed-value span{font:9px "Space Mono";color:var(--muted)}
.speed-bars { height:48px;display:flex;gap:3px;align-items:end;margin:8px 0 15px; }
.speed-bars i { flex:1;min-width:2px;border-radius:2px;background:#2a3a35;transition:.25s; }.speed-bars i.on{background:var(--lime)}
.gear-row { margin-top:auto;border-top:1px solid var(--line);padding-top:11px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font:8px "Space Mono";letter-spacing:1px; }.gear-row strong{color:var(--lime);font-size:18px}
.metrics-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px; }
.metric-card { padding:14px;min-width:0; }.metric-card>span{font:700 7px "Space Mono";color:var(--muted);letter-spacing:.7px}.metric-card>div:nth-of-type(2){margin-top:10px}.metric-card strong{font:700 21px "Space Mono"}.metric-card small{font:8px "Space Mono";color:var(--muted);margin-left:2px}
.metric-icon { color:var(--lime);font:700 16px "Space Mono";float:right; }.temp .metric-icon{color:var(--orange)}
.electrical[data-status="normal"]{border-color:#3b8f55}.electrical[data-status="caution"]{border-color:#d99738}.electrical[data-status="critical"]{border-color:#e35353}.electrical[data-status="caution"] .metric-icon{color:#f4a340}.electrical[data-status="critical"] .metric-icon{color:#f05d5e}
.meter { height:3px;background:#263732;margin-top:9px;border-radius:5px;overflow:hidden}.meter i{display:block;height:100%;width:0;background:var(--lime);transition:.3s}.temp .meter i{background:var(--orange)}
.diagnostics-card { margin-top:10px;padding:17px; }
.capabilities-card{margin-top:10px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:12px}.capabilities-card>div:first-child{display:flex;flex-direction:column}.capabilities-card .eyebrow{margin-bottom:5px}.capabilities-card strong{font-size:14px}.capabilities-card small{font-size:9px;color:var(--muted);margin-top:3px}.capabilities-card>button{align-self:center;border:1px solid #446052;background:#192924;border-radius:9px;padding:9px 10px;color:var(--lime);font:700 8px "Space Mono";cursor:pointer}.sensor-chips{grid-column:1/-1;display:flex;gap:5px;overflow:hidden}.sensor-chips span{flex:none;padding:5px 7px;background:#1d2d28;border-radius:6px;color:#91a39c;font:7px "Space Mono"}.sensor-list{margin-top:14px;max-height:55vh;overflow:auto}.sensor-row{display:grid;grid-template-columns:1fr auto;gap:3px;padding:11px 2px;border-bottom:1px solid var(--line)}.sensor-row strong{font-size:12px}.sensor-row span{font:9px "Space Mono";color:var(--lime)}.sensor-row small{font-size:9px;color:var(--muted)}
.diagnostic-summary { display:flex;align-items:center;gap:13px; }.check-icon{width:38px;height:38px;border:1px solid #436a44;background:#172c1b;color:var(--lime);border-radius:12px;display:grid;place-items:center;font-size:17px}.diagnostic-summary>div:last-child{display:flex;flex-direction:column}.diagnostic-summary small{font:700 8px "Space Mono";color:var(--muted);letter-spacing:1px}.diagnostic-summary strong{font-size:15px;margin-top:3px}.diagnostic-summary p{font-size:10px;color:#71857d;margin:2px 0 0}
.scan-button { width:100%;margin-top:15px;border:1px solid #385046;background:#1b2c27;border-radius:10px;padding:12px 13px;text-align:left;font:700 9px "Space Mono";letter-spacing:1px;cursor:pointer}.scan-button span{float:right;color:var(--lime);font-size:16px}
.ai-button{margin-top:7px;background:#1c2618;border-color:#50662d}.analysis-report{margin-top:16px}.analysis-report .urgency{display:inline-block;padding:5px 8px;border-radius:6px;background:#40301c;color:#ffc36b;font:700 8px "Space Mono";text-transform:uppercase}.analysis-report p{color:#b0beb9;font-size:12px;line-height:1.55}.analysis-report h3{font-size:11px;margin:17px 0 7px;color:var(--lime);text-transform:uppercase;letter-spacing:1px}.analysis-report ul{padding-left:18px;color:#b0beb9;font-size:11px;line-height:1.5}.analysis-report .limitations{font-size:9px;color:var(--orange);border-top:1px solid var(--line);padding-top:10px}
.codes-list { border-top:1px solid var(--line);margin-top:14px;padding-top:5px}.code-row{padding:11px 2px;border-bottom:1px solid #21332e;display:flex;gap:12px;justify-content:space-between}.code-row>div{display:grid;gap:4px}.code-row strong{font:700 10px "Space Mono"}.code-row span,.code-row small{color:var(--muted);font-size:9px}.scan-evidence{padding:10px 2px;color:#91a49c;font:700 8px "Space Mono";line-height:1.5}
.anomaly-list{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}.anomaly-row{border-left:3px solid var(--orange);padding:8px 10px;margin:6px 0;background:#241b14;border-radius:3px 8px 8px 3px}.anomaly-row.critical{border-color:#ff5448;background:#281312}.anomaly-row strong{display:flex;justify-content:space-between;font-size:11px}.anomaly-row strong span{font:8px "Space Mono";text-transform:uppercase;color:var(--orange)}.anomaly-row p{font-size:9px;color:#b5c0bc;margin:4px 0 0;line-height:1.4}
.quick-actions { display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.quick-actions button{border:1px solid var(--line);background:#0d1815;border-radius:14px;padding:13px;text-align:left;display:flex;gap:10px;align-items:center;cursor:pointer}.action-icon{width:29px;height:29px;border-radius:9px;background:#21322d;color:var(--lime);display:grid;place-items:center;font-size:10px}.quick-actions button>span:last-child{display:flex;flex-direction:column}.quick-actions strong{font-size:11px}.quick-actions small{color:var(--muted);font-size:8px;margin-top:2px}.quick-actions button.recording .action-icon{color:#ff604d;animation:pulse 1s infinite}
.console-launch{width:100%;margin-top:10px;border:1px solid var(--line);background:transparent;border-radius:12px;padding:12px 14px;text-align:left;color:var(--muted);font:700 8px "Space Mono";letter-spacing:1px;cursor:pointer}.console-launch span{float:right;color:var(--lime);font-size:16px}.console-card pre{height:260px;overflow:auto;background:#050a08;border:1px solid var(--line);border-radius:10px;padding:12px;color:#a8d7bd;font:10px/1.55 "Space Mono";white-space:pre-wrap}.console-command{display:flex;gap:7px}.console-command input{min-width:0;flex:1;background:#09110f;border:1px solid var(--line);border-radius:9px;color:var(--text);padding:11px;font:11px "Space Mono";text-transform:uppercase}.console-command button{border:0;border-radius:9px;background:var(--lime);color:#102006;font:700 9px "Space Mono";padding:0 15px}.console-warning{display:block;color:var(--orange);font-size:9px;margin-top:10px}
.voice-launch-card{margin-top:10px}.voice-launch-card>button{width:100%;border:1px solid #526c2e;background:#172217;border-radius:14px;padding:14px;text-align:left;display:flex;gap:11px;align-items:center}.voice-launch-card button>span:last-child{display:flex;flex-direction:column}.voice-launch-card strong{font-size:12px}.voice-launch-card small{color:var(--muted);font-size:9px;margin-top:2px}.voice-messages{height:300px;overflow:auto;margin:16px 0 12px;padding:12px;background:#08110e;border:1px solid var(--line);border-radius:13px}.voice-message{max-width:88%;margin-bottom:10px;padding:10px 12px;border-radius:12px;background:#172620}.voice-message.driver{margin-left:auto;background:#26351a}.voice-message strong{font:700 8px "Space Mono";color:var(--lime);letter-spacing:.7px}.voice-message p{font-size:12px;line-height:1.45;margin:5px 0 0;color:#c4d0cc}.voice-listen{width:100%;border:1px solid #5f7d30;background:#1c2a18;border-radius:13px;padding:14px;display:flex;gap:10px;align-items:center;justify-content:center;color:var(--lime)}.voice-listen.listening{animation:pulse 1s infinite;background:#2d361b}.voice-listen strong{font:700 9px "Space Mono";letter-spacing:.5px}
.diagnostics-export{width:100%;margin-top:8px;border:1px solid var(--line);background:#14231f;border-radius:9px;padding:10px;color:var(--lime);font:700 8px "Space Mono"}
.bottom-nav { position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,540px);height:78px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);background:#07110ff2;border-top:1px solid var(--line);backdrop-filter:blur(18px)}.bottom-nav button{border:0;background:none;color:#60736d;font-size:8px;display:flex;flex-direction:column;gap:4px;align-items:center;cursor:pointer}.bottom-nav button span{font-size:19px}.bottom-nav button.active{color:var(--lime)}
dialog { width:min(calc(100% - 28px),500px);border:0;padding:0;border-radius:22px;background:#111d1a;color:var(--text);box-shadow:0 24px 80px #000b }dialog::backdrop{background:#020604c9;backdrop-filter:blur(5px)}.dialog-card{padding:25px;position:relative}.dialog-card h2{font-size:27px;margin:0}.dialog-copy{color:var(--muted);font-size:13px;line-height:1.5}.close-button{position:absolute;right:16px;top:15px;border:0;background:none;font-size:28px;color:var(--muted);cursor:pointer}.dialog-action{width:100%;border:1px solid var(--line);background:#15231f;border-radius:13px;padding:14px;margin-top:10px;display:flex;align-items:center;gap:13px;text-align:left;cursor:pointer}.dialog-action.primary{border-color:#597a2b}.dialog-action>span{font-size:19px;color:var(--lime)}.dialog-action div{display:flex;flex-direction:column}.dialog-action small{color:var(--muted);font-size:10px;margin-top:3px}.connection-message{font-size:11px;color:var(--orange);min-height:16px;margin-top:12px}.paired-devices{display:grid;gap:6px;margin-top:8px}.paired-devices button{border:1px solid #385046;background:#0b1613;border-radius:10px;padding:10px;text-align:left}.paired-devices button strong{display:block;font-size:11px}.paired-devices button small{color:var(--muted);font:8px "Space Mono"}
.history-list{display:grid;gap:8px;max-height:55vh;overflow:auto}.history-row{border:1px solid var(--line);border-radius:12px;padding:12px}.history-row>strong{font-size:12px}.history-row>small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.history-stats{display:flex;gap:12px;margin:9px 0;color:#a9bab4;font:8px "Space Mono"}.history-row button{border:1px solid #426051;background:#16251f;color:var(--lime);border-radius:7px;padding:7px 9px;font:700 8px "Space Mono"}.history-empty{color:var(--muted);font-size:12px;padding:25px 0;text-align:center}
.trip-chart{display:block;width:100%;height:120px;background:#08110e;border-radius:8px;margin-top:10px}.chart-legend{display:flex;gap:11px;margin-top:6px;font:7px "Space Mono"}.chart-legend span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px}.chart-legend .rpm::before{background:#b9f52b}.chart-legend .coolant::before{background:#ff8a3d}.chart-legend .voltage::before{background:#6eb8ff}
.toast{position:fixed;z-index:10;left:50%;bottom:92px;transform:translate(-50%,20px);background:#edf8ee;color:#102016;padding:10px 16px;border-radius:100px;font-size:11px;font-weight:700;opacity:0;pointer-events:none;transition:.25s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:390px){.app-shell{padding-left:12px;padding-right:12px}.gauge-card{padding:14px;min-height:225px}.dial{width:145px;height:145px}.speed-value strong{font-size:50px}.metric-card{padding:11px}.metric-card strong{font-size:18px}}
.sensor-link{cursor:pointer;transition:border-color .2s,transform .2s}.sensor-link:active{transform:scale(.985)}.sensor-link:hover{border-color:#4a665c}.estimate-tag{font:700 6px "Space Mono";color:#d7aa62;margin-top:8px;letter-spacing:.6px}.gear-row small{color:#d7aa62;font-size:6px;margin-left:3px}
.sensor-list .sensor-row{width:100%;grid-template-columns:1fr auto;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.sensor-row canvas{grid-column:1/-1;width:100%;height:34px;background:#09120f;border-radius:6px;margin-top:5px}.sensor-live{align-self:start}
.graph-pid{display:block;color:var(--muted);font:9px "Space Mono";margin-top:5px}.graph-reading{display:flex;align-items:baseline;gap:7px;margin:18px 0 10px}.graph-reading>strong{font:700 42px "Space Mono";letter-spacing:-2px}.graph-reading>span{color:var(--muted);font:10px "Space Mono"}.graph-reading>em{margin-left:auto;border-radius:6px;padding:5px 7px;background:#213120;color:var(--lime);font:normal 700 7px "Space Mono"}.graph-reading>em[data-status="caution"]{background:#3b2818;color:#ffae58}.live-sensor-graph{display:block;width:100%;height:230px;background:#08110e;border:1px solid var(--line);border-radius:12px}.graph-stats{margin-top:9px;color:#9fb0aa;font:8px "Space Mono";word-spacing:10px}.graph-range{margin:13px 0 4px;color:#d9e3df;font-size:11px}.graph-source{margin:0;color:var(--muted);font-size:9px;line-height:1.45}
.vehicle-profile-bar{width:100%;margin-top:12px;border:1px solid var(--line);background:#0d1815;border-radius:12px;padding:10px 12px;display:flex;align-items:center;text-align:left}.vehicle-profile-bar>span{display:flex;flex-direction:column;min-width:0}.vehicle-profile-bar small{font:7px "Space Mono";color:var(--muted);letter-spacing:1px}.vehicle-profile-bar strong{font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vehicle-profile-bar em{margin-left:auto;color:var(--lime);font:normal 700 7px "Space Mono";text-transform:uppercase}.vehicle-profile-bar>b{margin-left:8px;color:#dbe6e1;font:700 7px "Space Mono"}.setup-card label{display:flex;flex-direction:column;gap:6px;margin-top:11px;color:#96a9a2;font:700 8px "Space Mono";letter-spacing:.7px}.setup-card label>small{float:right;color:#667a72}.setup-card select,.setup-card input{width:100%;border:1px solid var(--line);border-radius:9px;background:#09120f;color:var(--text);padding:11px;font:12px "DM Sans"}.profile-confidence{margin-top:13px;padding:10px;border-radius:9px;background:#19251d;display:flex;flex-direction:column}.profile-confidence span{color:var(--lime);font:700 8px "Space Mono";text-transform:uppercase}.profile-confidence small{color:var(--muted);font-size:8px;margin-top:3px}.setup-save{width:100%;margin-top:14px;border:0;border-radius:10px;background:var(--lime);color:#102006;padding:13px;font:700 9px "Space Mono"}
.vehicle-context-card{margin:0 0 12px;padding:13px;background:linear-gradient(135deg,#17251f,#101a17);border:1px solid #365146;border-radius:15px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center}.vehicle-context-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#b9f52b;color:#102006;font:700 10px "Space Mono";box-shadow:0 0 18px #b9f52b18}.vehicle-context-copy{min-width:0;display:flex;flex-direction:column}.vehicle-context-copy>span{font:700 7px "Space Mono";letter-spacing:1.2px;color:#8ca099}.vehicle-context-copy>strong{margin-top:3px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vehicle-context-copy>small{margin-top:3px;color:#71857d;font-size:8px}.vehicle-context-copy i{color:var(--lime);font-style:normal;font-weight:700}.vehicle-context-card>button{border:1px solid #668538;background:#202d1b;color:var(--lime);border-radius:8px;padding:9px 10px;font:700 7px "Space Mono"}.setup-heading{display:flex;align-items:center;gap:11px}.setup-heading .eyebrow{margin-bottom:4px}.setup-heading h2{font-size:24px}.setup-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 9px}.setup-fields .setup-wide{grid-column:1/-1}.setup-card label{margin-top:10px}.bottom-nav button{border-radius:10px;transition:.2s}.bottom-nav button.active{background:#17251f;color:var(--lime);box-shadow:inset 0 0 0 1px #31483f}.bottom-nav button.active span{filter:drop-shadow(0 0 5px #b9f52b80)}
@media(max-width:370px){.setup-fields{grid-template-columns:1fr}.setup-fields .setup-wide{grid-column:auto}.vehicle-context-copy>small{display:none}}
.recording-strip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:14px 0;padding:14px 16px;border:1px solid #263a34;border-radius:16px;background:#0b1714}.recording-strip .recording-dot{width:10px;height:10px;border-radius:50%;background:#64736e}.recording-strip.active{border-color:#b9f52b66}.recording-strip.active .recording-dot{background:#ff5555;box-shadow:0 0 0 6px #ff55551c;animation:pulse 1.5s infinite}.recording-strip div{display:flex;flex-direction:column;gap:3px}.recording-strip small{color:#8da099}.recording-strip button,.history-actions button{border:1px solid #40534c;background:#12231e;color:#dce7e3;border-radius:9px;padding:9px 11px;font:700 10px 'Space Mono',monospace}.fuel-trend-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.fuel-trend-summary div{padding:12px;background:#0b1714;border:1px solid #263a34;border-radius:12px;display:flex;flex-direction:column;gap:6px}.fuel-trend-summary small{color:#8da099;font:700 9px 'Space Mono',monospace}.fuel-trend-summary strong{font-size:14px}.data-settings{margin:16px 0;padding:14px;border:1px solid #263a34;border-radius:14px;display:grid;gap:12px}.data-settings label{display:grid;gap:6px;font:700 10px 'Space Mono',monospace}.data-settings .consent-toggle{grid-template-columns:auto 1fr;align-items:start;line-height:1.5}.data-settings input[type=checkbox]{width:18px;height:18px;accent-color:#b9f52b}.data-settings>small{color:#8da099;line-height:1.5}.history-actions{display:flex;flex-wrap:wrap;gap:7px}.history-actions button:last-child{color:#ff8b8b;border-color:#603d3d}@media(max-width:560px){.recording-strip{grid-template-columns:auto 1fr}.recording-strip button{grid-column:1/-1}.fuel-trend-summary{grid-template-columns:1fr}}
.topbar{padding-bottom:12px;border-bottom:1px solid #39413e}.hero{position:relative;overflow:hidden;border-radius:0 0 20px 20px}.hero:before{content:"";position:absolute;width:190px;height:190px;right:-55px;top:-54px;background:url('assets/every-kei-car-ai-logo.png') center/contain no-repeat;opacity:.085;pointer-events:none}.gauge-card,.metric-card,.capabilities-card,.diagnostics-card,.voice-launch-card,.recording-strip,.vehicle-context-card{background:linear-gradient(145deg,#111614,#070a09 62%,#0c110e);border-color:#39423e;box-shadow:inset 0 1px 0 #ffffff0a,0 12px 35px #00000030}.vehicle-context-card{border-color:#32f34e4d}.vehicle-context-icon{background:linear-gradient(145deg,#78ff42,#08d947);box-shadow:0 0 18px #32f34e55}.setup-save{background:linear-gradient(135deg,#75ff3a,#04df4a);box-shadow:0 6px 22px #20ec4930}.scan-button{color:#dce6e2;background:linear-gradient(145deg,#17201d,#0d1311);border-color:#3b4b45;box-shadow:inset 0 1px 0 #ffffff0a,0 5px 14px #00000030;transition:background .18s,border-color .18s,transform .18s}.scan-button span{color:#8edb68}.scan-button.ai-button{background:linear-gradient(145deg,#181e19,#0e1210);border-color:#465044}.scan-button:hover,.scan-button:focus-visible{background:#1a2621;border-color:#66806f}.scan-button:active{transform:translateY(1px);background:#111a17}.bottom-nav{background:linear-gradient(180deg,#111513f5,#050706fa);border-color:#4a5350}.bottom-nav button.active{background:linear-gradient(180deg,#16251a,#0a110c);box-shadow:inset 0 0 0 1px #32f34e70,0 0 16px #32f34e18}.dial{filter:drop-shadow(0 0 14px #32f34e20)}.connection-pill.connected .status-dot{background:#32f34e;box-shadow:0 0 0 3px #32f34e24,0 0 12px #32f34e90}.eyebrow,.brand-copy em{background:linear-gradient(90deg,#20e95b,#9aff28);background-clip:text;-webkit-background-clip:text;color:transparent}.dialog-card{background:linear-gradient(155deg,#111513,#050706);border:1px solid #47504d}.card-heading,.metric-card>span,.diagnostic-summary small{letter-spacing:1.2px}.recording-strip.active{border-color:#32f34e70}@media(max-width:370px){.brand-mark{width:45px;height:45px}.brand-copy strong{font-size:12px}.connection-pill{padding:8px 9px}}
.official-download-link{margin-top:9px;padding:12px 14px;border:1px solid #32f34e45;border-radius:11px;display:flex;justify-content:space-between;color:#dfe8e3;text-decoration:none;background:#0a100c;font:700 8px "Space Mono";letter-spacing:.8px}.official-download-link span{color:var(--lime)}
.battery-reliability{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#09120f}.battery-reliability span{color:#9bada6;font-size:9px}.battery-reliability button{border:1px solid #52715e;border-radius:8px;background:#13231b;color:var(--lime);padding:8px;font:700 7px "Space Mono"}
.app-update-settings{margin-top:14px;padding:15px;border:1px solid #32f34e45;border-radius:14px;background:linear-gradient(145deg,#101711,#070a08)}.update-settings-heading{display:flex;align-items:center;gap:11px}.update-settings-heading>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#17301c;color:var(--lime);font-size:18px}.update-settings-heading div{display:flex;flex-direction:column;gap:4px}.update-settings-heading strong{font:700 9px "Space Mono";letter-spacing:1px}.update-settings-heading small,.app-update-settings p{color:var(--muted);font-size:9px}.app-update-settings p{line-height:1.5;margin:12px 0}.app-update-settings button{width:100%;border:0;border-radius:9px;padding:11px;background:linear-gradient(135deg,#75ff3a,#04df4a);color:#061007;font:700 8px "Space Mono"}.app-update-settings button:disabled{opacity:.55}.app-update-settings>a{display:block;margin-top:11px;text-align:center;color:#a9b5b0;font:700 8px "Space Mono";text-decoration:none}

/* Standard app screens: routine navigation is in-page; dialogs remain for focused actions. */
.navigation-page[open]{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:calc(16px + env(safe-area-inset-top)) 16px calc(92px + env(safe-area-inset-bottom));border:0;border-radius:0;background:linear-gradient(180deg,#07100d,#020504);box-shadow:none;overflow:auto;z-index:4}
.navigation-page::backdrop{background:transparent;backdrop-filter:none}
.navigation-page>.dialog-card{width:min(100%,960px);min-height:100%;margin:0 auto;padding:58px 22px 30px;border:0;background:transparent;box-shadow:none}
.navigation-page .close-button{position:fixed;z-index:2;left:max(18px,calc((100% - 960px)/2 + 22px));right:auto;top:calc(16px + env(safe-area-inset-top));width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:#111b18;font-size:0}
.navigation-page .close-button::after{content:'←';font-size:19px;color:var(--text)}
.navigation-page .sensor-list{max-height:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}
.navigation-page .sensor-row{padding:14px;border:1px solid var(--line);border-radius:12px;background:#0b1311}
.navigation-page .raw-sensor{cursor:default}.navigation-page .raw-sensor span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e7b85c}.navigation-page .raw-sensor small{grid-column:1/-1}
.navigation-page .history-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.navigation-page .history-row{margin:0}
body.navigation-open{overflow:hidden}

/* v1.8 interface system */
:root{--surface:#101513;--surface-raised:#151b18;--surface-soft:#0b100e;--border:#29322e;--primary:#43e85c;--warning:#f4a340;--danger:#f05d5e;--radius:16px}
body{background:#070a08;font-size:16px}
.app-shell{width:min(100%,680px);padding-left:20px;padding-right:20px}
.topbar{position:sticky;top:0;z-index:3;margin:calc(-18px - env(safe-area-inset-top)) -20px 0;padding:calc(14px + env(safe-area-inset-top)) 20px 13px;background:#080c0af2;border-color:var(--border);backdrop-filter:blur(18px)}
.brand-mark{width:42px;height:42px}.brand-copy strong{font-size:13px}.brand-copy small{letter-spacing:.8px}.connection-pill{min-height:44px;padding:10px 13px;background:var(--surface);border-color:var(--border)}
.hero{padding:30px 2px 20px}.hero:before{display:none}.hero h1{font-size:38px;line-height:1}.hero h1 span{color:#93a19b}.engine-state{padding:9px 11px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.vehicle-context-card,.gauge-card,.metric-card,.capabilities-card,.diagnostics-card,.voice-launch-card,.recording-strip{background:var(--surface);border:1px solid var(--border);box-shadow:none;border-radius:var(--radius)}
.vehicle-context-card{padding:14px}.vehicle-context-icon{background:var(--primary);box-shadow:none}.vehicle-context-card>button,.capabilities-card>button{min-height:44px;background:transparent;border-color:#486150}
.gauge-card{min-height:230px;padding:18px}.dial{filter:none;background:conic-gradient(from 220deg,var(--primary) calc(var(--value)*1%),#27302c calc(var(--value)*1%) 78%,transparent 78%)}.dial::after{background:var(--surface)}
.metric-card{min-height:116px;padding:16px}.metric-card strong{font-size:24px}.metric-icon{color:var(--primary)}
.scan-button,.quick-actions button,.voice-launch-card>button,.console-launch,.official-download-link{min-height:48px;background:var(--surface);border-color:var(--border);box-shadow:none}
.scan-button.ai-button,.voice-launch-card>button{background:#102016;border-color:#31533a}.quick-actions{grid-template-columns:1fr 1fr}
.recording-strip{position:relative}.recording-strip.active{border-color:#b94d4d}.recording-strip.active .recording-dot{background:var(--danger)}
.bottom-nav{width:min(100%,680px);height:76px;grid-template-columns:repeat(5,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#0b0f0deb;border-color:var(--border);backdrop-filter:blur(24px)}
.bottom-nav button{min-width:0;min-height:52px;justify-content:center;gap:3px;border-radius:12px;color:#86938d;font-size:9px;font-weight:600}.bottom-nav button span{font-size:18px;line-height:18px}.bottom-nav button.active{background:#18221c;color:var(--primary);box-shadow:none}.bottom-nav button.active span{filter:none}
.navigation-page[open]{background:#080b09;padding-left:18px;padding-right:18px}.navigation-page>.dialog-card{width:min(100%,900px);padding:64px 4px 28px}.navigation-page .close-button{left:max(18px,calc((100% - 900px)/2));border-color:var(--border);background:var(--surface)}
.navigation-page .dialog-card h2{font-size:30px;letter-spacing:-.7px}.navigation-page .dialog-copy{max-width:650px;color:#98a49f}
.sensor-filter-bar{display:flex;gap:7px;margin:18px 0 12px;overflow-x:auto;padding-bottom:3px}.sensor-filter-bar button{flex:none;min-height:40px;padding:0 15px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:#93a09a;font-size:12px}.sensor-filter-bar button.active{color:#071008;background:var(--primary);border-color:var(--primary);font-weight:700}
.sensor-setup-panel{margin-bottom:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.sensor-setup-panel>summary{display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:12px 15px;cursor:pointer;list-style:none}.sensor-setup-panel>summary span{display:grid;gap:3px}.sensor-setup-panel>summary strong{font-size:13px}.sensor-setup-panel>summary small{color:var(--muted);font-size:10px}.sensor-setup-panel>summary b{font-size:24px;color:var(--muted);transition:transform .2s}.sensor-setup-panel[open]>summary b{transform:rotate(90deg)}.sensor-setup-panel .pid-discovery-card{margin:0;border-width:1px 0 0;border-radius:0;background:var(--surface-soft)}
.navigation-page .sensor-list{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:10px}.sensor-group{padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.navigation-page .sensor-row{min-height:76px;background:var(--surface-soft);border-color:var(--border)}
.history-row,.analytics-card,.health-categories,.analytics-explanation,.compare-control,.data-settings,.app-update-settings{background:var(--surface);border-color:var(--border);box-shadow:none}.history-actions button{min-height:42px}
.voice-messages{height:min(48vh,440px);background:var(--surface-soft);border-color:var(--border)}.voice-listen{min-height:56px;background:#122219;border-color:#3d6245}.voice-controls button{min-height:44px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #43e85c66;outline-offset:2px}
@media(max-width:430px){.app-shell{padding-left:14px;padding-right:14px}.topbar{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.brand-copy small{display:none}.primary-grid{grid-template-columns:1fr 1fr}.gauge-card{min-height:218px;padding:14px}.dial{width:138px;height:138px}.speed-value strong{font-size:48px}.bottom-nav button{font-size:8px}}
.pid-discovery-card{grid-column:1/-1;margin:12px 0;padding:15px;border:1px solid #395148;border-radius:14px;background:#09130f}.pid-discovery-card h3{margin:0 0 7px;color:var(--lime);font:700 10px "Space Mono"}.pid-discovery-card>p,.pid-discovery-card>small{color:var(--muted);font-size:9px;line-height:1.5}.pid-discovery-actions{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.pid-discovery-actions button{border:1px solid #50705f;border-radius:9px;background:#14231b;color:#dce9e4;padding:9px;font:700 7px "Space Mono"}.pid-discovery-actions button:first-child{border-color:var(--lime);color:var(--lime)}.pid-discovery-card progress{width:100%;height:8px;accent-color:var(--lime)}.pid-discovery-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.pid-discovery-summary div{display:grid;gap:3px;padding:8px;border:1px solid var(--line);border-radius:9px;text-align:center}.pid-discovery-summary strong{color:var(--lime);font:700 15px "Space Mono"}.pid-discovery-summary small{color:var(--muted);font:6px "Space Mono"}@media(max-width:480px){.pid-discovery-summary{grid-template-columns:repeat(2,1fr)}}
@media (orientation:landscape) and (min-width:700px){.bottom-nav{grid-template-rows:repeat(5,minmax(62px,1fr))}.navigation-page[open]{left:88px;width:calc(100% - 88px)}}

@media (orientation:landscape) and (min-width:700px){
  .app-shell{width:min(100%,1280px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);grid-template-rows:auto auto auto auto auto auto auto auto;gap:10px 14px;margin:0 auto;padding:14px 18px 24px 106px}
  .topbar,.update-banner,.hero,.vehicle-context-card{grid-column:1/-1}
  .topbar{grid-row:1}.update-banner{grid-row:2}.hero{grid-row:3;padding:18px 3px 10px}.vehicle-context-card{grid-row:4;margin:0}
  .primary-grid{grid-column:1;grid-row:5 / span 3}.metrics-grid{grid-column:1;grid-row:8;margin-top:0}
  .capabilities-card{grid-column:2;grid-row:5;margin-top:0}.recording-strip{grid-column:2;grid-row:6;margin:0}.diagnostics-card{grid-column:2;grid-row:7 / span 2;margin-top:0}
  .quick-actions{grid-column:1;grid-row:9;margin-top:0}.voice-launch-card{grid-column:2;grid-row:9;margin-top:0}.console-launch{grid-column:1;grid-row:10;margin-top:0}.official-download-link{grid-column:2;grid-row:10;margin-top:0}
  .gauge-card{min-height:225px}.dial{width:150px;height:150px;margin-top:12px}.hero h1{font-size:34px}.hero h1 br{display:none}.hero h1 span{margin-left:8px}
  .bottom-nav{left:0;top:0;bottom:0;transform:none;width:88px;height:100dvh;padding:18px 10px;grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(70px,1fr));border-top:0;border-right:1px solid var(--line)}
  .bottom-nav button{justify-content:center;font-size:9px}.bottom-nav button span{font-size:22px}
  .navigation-page[open]{left:88px;width:calc(100% - 88px);padding:18px 20px 24px}
  .navigation-page>.dialog-card{padding-top:62px}
  .navigation-page .close-button{left:max(112px,calc((100% - 872px)/2 + 22px))}
  .navigation-page .setup-fields{grid-template-columns:repeat(3,1fr)}.navigation-page .setup-fields .setup-wide{grid-column:auto}
}

@media (orientation:landscape) and (min-width:1000px){
  .primary-grid{grid-template-columns:1fr 1fr}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .navigation-page .sensor-list{grid-template-columns:repeat(3,1fr)}
}

/* v2.11 lightweight modern instrument cluster */
.drive-data-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.drive-data-strip[hidden]{display:none}.drive-data-strip>div{display:grid;gap:5px;padding:9px 11px;border-radius:10px;background:#080d0b}.drive-data-strip small{color:var(--muted);font:700 7px "Space Mono";letter-spacing:1px}.drive-data-strip strong{color:#edf5f0;font:700 13px "Space Mono"}.drive-data-strip #liveGpsState.live{color:var(--primary)}
.primary-grid{gap:12px}.gauge-card{border-color:#34413b;background:radial-gradient(circle at 50% 45%,#17211d,#090d0b 72%)}.rpm-card .dial{width:min(44vw,190px);height:min(44vw,190px);box-shadow:0 0 34px #43e85c12}.speed-card{justify-content:center;text-align:center}.speed-card .card-heading,.speed-card .gear-row{text-align:left}.speed-value{justify-content:center;margin-top:28px}.speed-value strong{font-size:clamp(62px,16vw,92px);line-height:.9}.speed-bars{height:34px}.metric-card{background:linear-gradient(155deg,#121916,#090d0b)}
@media(max-width:430px){.drive-data-strip{grid-template-columns:repeat(3,1fr);padding:7px;gap:5px}.drive-data-strip>div{padding:8px 6px}.drive-data-strip strong{font-size:10px}.primary-grid{grid-template-columns:1fr 1.12fr}.gauge-card{min-height:235px}.rpm-card .dial{width:148px;height:148px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(orientation:landscape) and (min-width:700px){.hero{display:none}.vehicle-context-card{grid-row:3}.drive-data-strip{grid-column:1/-1;grid-row:4;margin:0}.primary-grid{grid-row:5 / span 3}.metrics-grid{grid-row:8;grid-template-columns:repeat(5,minmax(0,1fr))}.rpm-card .dial{width:min(25vh,190px);height:min(25vh,190px)}.speed-value strong{font-size:clamp(70px,9vw,112px)}}

.voice-status{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.voice-status span,.voice-watches span{border:1px solid #385046;border-radius:999px;padding:5px 8px;color:#a9bbb5;font:700 7px "Space Mono"}.voice-watches{display:flex;gap:5px;overflow:auto;margin-top:8px}.voice-watches small{color:var(--muted);font-size:9px}.voice-controls{display:grid;grid-template-columns:2fr 1fr 1fr;gap:6px;margin-top:8px}.voice-controls button{border:1px solid #40534c;background:#12231e;color:#dce7e3;border-radius:9px;padding:9px 6px;font:700 7px "Space Mono"}.voice-controls button.active{border-color:var(--lime);color:var(--lime)}

.history-export-current{display:grid;gap:7px;margin:12px 0 16px;padding:12px;border:1px solid #31463f;border-radius:12px;background:#0b1714}.history-export-current button{border:1px solid #b9f52b88;background:#17291f;color:#dfffa0;border-radius:9px;padding:11px;font:700 10px "Space Mono",monospace}.history-export-current button:disabled{opacity:.55}.history-export-current small{color:#8da099;line-height:1.45}
.analytics-tabs{display:flex;gap:6px;overflow-x:auto;margin:16px 0;padding-bottom:6px}.analytics-tabs button{flex:none;border:1px solid #344740;border-radius:999px;background:#0a1411;color:#8fa19a;padding:8px 10px;font:700 7px "Space Mono"}.analytics-tabs button.active{border-color:var(--lime);color:var(--lime);background:#17251b}.trip-analytics-content{display:grid;gap:14px}.analytics-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px}.analytics-card{display:flex;flex-direction:column;gap:5px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#0a1210}.analytics-card small{color:#8da099;font:700 7px "Space Mono"}.analytics-card strong{font:700 16px "Space Mono"}.analytics-card span{color:#788c84;font-size:8px}.health-categories,.analytics-explanation,.compare-control{padding:14px;border:1px solid var(--line);border-radius:13px;background:#09120f}.health-categories h3,.analytics-explanation h3{margin:0 0 10px;color:var(--lime);font:700 10px "Space Mono"}.health-categories>div{display:grid;grid-template-columns:1fr auto;gap:3px;padding:10px 0;border-bottom:1px solid var(--line)}.health-categories>div:last-child{border:0}.health-categories span{color:var(--lime);font:700 10px "Space Mono"}.health-categories small{grid-column:1/-1;color:var(--muted)}.event-timeline{display:grid;gap:8px}.event-timeline article{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;padding:12px;border-left:3px solid #66836f;border-radius:8px;background:#0b1512}.event-timeline article.caution{border-color:var(--orange)}.event-timeline time{grid-row:1/3;color:var(--muted);font:8px "Space Mono"}.event-timeline strong{text-transform:uppercase;font:700 9px "Space Mono"}.event-timeline p{margin:0;color:#abbab5;font-size:10px}.trip-sensor-table{display:grid;gap:5px}.trip-sensor-table>div{display:grid;grid-template-columns:minmax(130px,1.4fr) 1.2fr .7fr 1fr;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:9px;background:#09120f;font-size:9px}.trip-sensor-table strong{display:grid;gap:3px}.trip-sensor-table strong small{color:var(--muted);font:6px "Space Mono"}.trip-sensor-table .table-head{color:var(--muted);font:700 7px "Space Mono"}.analytics-explanation p,.compare-control p{color:#aab9b4;font-size:11px;line-height:1.5}.analytics-explanation button,.compare-control button{margin:6px 6px 0 0;border:1px solid #5b793b;border-radius:9px;background:#17271c;color:var(--lime);padding:10px;font:700 8px "Space Mono"}.compare-control label{display:grid;gap:7px;color:var(--muted);font:700 8px "Space Mono"}.compare-control select{padding:11px;border:1px solid var(--line);border-radius:9px;background:#07100d;color:var(--text)}.comparison-list{display:grid;gap:6px;margin-top:12px}.comparison-list>div{display:grid;grid-template-columns:1fr auto auto;gap:9px;padding:10px;border-bottom:1px solid var(--line);font-size:9px}.comparison-list em{color:var(--lime);font-style:normal}@media(max-width:520px){.trip-sensor-table>div{grid-template-columns:1fr 1fr}.trip-sensor-table .table-head{display:none}}
.danger-action{width:100%;margin-top:14px;border:1px solid #8d4141;border-radius:10px;background:#2a1111;color:#ff9696;padding:12px;font:700 9px "Space Mono"}.unavailable-sensors{grid-column:1/-1;margin-top:12px;border:1px solid #4a4235;border-radius:12px;padding:12px}.unavailable-sensors summary{color:#d8aa64;font:700 9px "Space Mono";cursor:pointer}.sensor-row.unavailable{opacity:.72;cursor:default}.sensor-row.unavailable span{color:#d8aa64}
.sensor-group{display:grid;gap:7px;align-content:start}.sensor-group h3{margin:5px 2px;color:var(--lime);font:700 10px "Space Mono";letter-spacing:1px;text-transform:uppercase}.sensor-group .sensor-row{box-sizing:border-box}

.capabilities-card .live-performance{color:var(--lime);font-family:"Space Mono",monospace;letter-spacing:.25px}

.analysis-reference-summary{display:grid;gap:7px;margin-top:14px}.analysis-reference{padding:10px 12px;border:1px solid #385046;border-radius:11px;background:#0a1512}.analysis-reference strong{display:block;color:var(--lime);font:700 9px "Space Mono";letter-spacing:.7px}.analysis-reference small{display:block;margin-top:4px;color:#aab9b4;font-size:10px;line-height:1.4}.analysis-scope-options{display:grid;gap:8px;margin:17px 0}.analysis-scope-options label{display:flex;gap:11px;padding:12px;border:1px solid #30443d;border-radius:12px;background:#0b1613;cursor:pointer}.analysis-scope-options label:has(input:checked){border-color:#71a43a;background:#132019}.analysis-scope-options label:has(input:disabled){opacity:.42;cursor:not-allowed}.analysis-scope-options input{margin-top:3px;accent-color:var(--lime)}.analysis-scope-options span{display:grid;gap:3px}.analysis-scope-options strong{font-size:12px}.analysis-scope-options small{color:var(--muted);font-size:10px;line-height:1.35}.analysis-session-field{display:grid;gap:6px;margin:10px 0}.analysis-session-field>span{color:#91a39d;font:700 9px "Space Mono";letter-spacing:1px}.analysis-session-field select{width:100%;padding:12px;border:1px solid #385046;border-radius:10px;background:#091310;color:#e1ebe7}.analysis-scope-card .setup-save{width:100%;margin-top:15px}
.trip-map{display:block;width:100%;height:170px;margin:10px 0;border:1px solid var(--border);border-radius:12px;background:#09110e}.trip-share-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.trip-share-controls label{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);display:grid;gap:7px}.trip-share-controls label>span{font:700 9px "Space Mono";color:#94a29c}.trip-share-controls select{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px;background:#090e0c;color:var(--text)}.trip-share-toggle{grid-template-columns:auto 1fr;align-items:start}.trip-share-toggle input{width:18px;height:18px;accent-color:var(--primary)}.trip-share-toggle span{display:grid;gap:3px}.trip-share-toggle strong{color:var(--text);font-size:11px}.trip-share-toggle small{color:var(--muted);font-size:9px;line-height:1.35}.trip-share-preview{display:block;width:min(100%,420px);height:auto;max-height:58vh;object-fit:contain;margin:0 auto;border:1px solid var(--border);border-radius:16px;background:#060a08}.trip-share-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.trip-share-actions button{border:1px solid #40534c;border-radius:10px;padding:12px;background:#111b17;color:var(--text);font:700 9px "Space Mono"}.trip-share-actions .primary{background:var(--primary);border-color:var(--primary);color:#061007}.trip-share-status{display:block;margin-top:10px;color:var(--muted);font-size:9px;text-align:center}@media(max-width:520px){.trip-share-controls{grid-template-columns:1fr}}
.trip-review-map,.trip-trends{padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.trip-section-heading h3{margin:0;color:var(--text);font-size:16px}.trip-section-heading small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.45}.trip-map.analytics-map{height:260px;margin-bottom:0}.trip-trend-filters{display:flex;gap:7px;overflow-x:auto;margin:13px 0;padding-bottom:4px}.trip-trend-filters button{flex:none;border:1px solid #3a4a44;border-radius:999px;padding:8px 11px;background:#0a1210;color:#9aa9a3;font:700 9px "Space Mono",monospace}.trip-trend-filters button.active{border-color:var(--primary);background:#17251b;color:var(--primary)}.trip-trend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.trip-trend-card{min-width:0;padding:12px;border:1px solid #2f3c37;border-radius:12px;background:#080f0d}.trip-trend-card header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px}.trend-color{width:11px;height:11px;border-radius:50%;background:var(--trend-color);box-shadow:0 0 9px var(--trend-color)}.trip-trend-card header div{display:grid;gap:2px;min-width:0}.trip-trend-card header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.trip-trend-card header small,.trip-trend-card header em{color:var(--muted);font:700 8px "Space Mono",monospace;font-style:normal}.trip-trend-card canvas{display:block;width:100%;height:120px;margin-top:9px;border-radius:8px;background:#060b09}.trip-trend-card footer{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:7px}.trip-trend-card footer span{overflow:hidden;color:#9faea8;font:700 8px "Space Mono",monospace;white-space:nowrap}.trip-trend-card footer span:nth-child(2){text-align:center}.trip-trend-card footer span:last-child{text-align:right}@media(max-width:700px){.trip-trend-grid{grid-template-columns:1fr}.trip-map.analytics-map{height:220px}}@media(orientation:landscape) and (min-width:900px){.trip-trend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.navigation-page>.trip-analytics-card{width:min(100%,1400px);max-width:100%;box-sizing:border-box}.trip-analytics-content{container-type:inline-size;width:100%;max-width:100%;min-width:0;overflow:clip}.trip-analytics-content *{box-sizing:border-box;min-width:0}.trip-map-stage{position:relative;width:100%;height:clamp(220px,42vw,430px);margin-top:10px;overflow:hidden;border:1px solid var(--border);border-radius:13px;background:#09110e}.trip-map-stage>[hidden]{display:none!important}.trip-map-stage .analytics-map,.trip-map-3d{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;border-radius:0}.trip-map-stage .analytics-map{z-index:1}.trip-map-3d{z-index:2;background:#09110e;opacity:0;transition:opacity .2s}.trip-map-3d.ready{opacity:1}.trip-map-privacy{display:block;margin-top:9px;color:#8f9e98;font-size:10px;line-height:1.45}.trip-map-3d .maplibregl-ctrl-group{background:#111916}.trip-map-3d .maplibregl-ctrl button{filter:invert(.86)}.trip-map-3d .maplibregl-popup-content{background:#111916;color:#eef5f1;border-radius:8px}.trip-map-3d .maplibregl-popup-tip{border-top-color:#111916}.trip-trend-grid{grid-template-columns:1fr}.trip-trend-card canvas{height:clamp(112px,24vw,165px)}.trip-trend-card header strong{white-space:normal;overflow:visible}.trip-trend-card header em{white-space:nowrap}.trip-trend-card footer{grid-template-columns:repeat(3,minmax(0,1fr))}.trip-trend-card footer span{white-space:normal;overflow-wrap:anywhere;line-height:1.35}.analytics-tabs{max-width:100%;overscroll-behavior-inline:contain}.trip-sensor-table>div>*{overflow-wrap:anywhere}@container (min-width:620px){.trip-trend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (min-width:980px){.trip-trend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:430px){.trip-review-map,.trip-trends{padding:10px}.trip-trend-card{padding:10px}.trip-trend-card footer{grid-template-columns:1fr}.trip-trend-card footer span,.trip-trend-card footer span:nth-child(2),.trip-trend-card footer span:last-child{text-align:left}.trip-map-stage{height:clamp(210px,70vw,300px)}}
.trip-route-overlay{position:absolute;inset:0;z-index:5;width:100%;height:100%;pointer-events:none}
/* Trip reports, social sharing, and destructive confirmations */
.trip-route-name{display:block;font-size:clamp(1.05rem,3.6vw,1.35rem);line-height:1.25;margin-bottom:.35rem;overflow-wrap:anywhere}
.quick-actions button:only-child{grid-column:1/-1}
.share-social-action{border-color:#3b82f6!important;background:linear-gradient(135deg,#12243c,#102b22)!important;color:#eef7ff!important}
.mechanic-report{display:grid;gap:14px;margin-top:18px}.mechanic-confidence{align-self:center;border:1px solid #365348;border-radius:999px;color:#9eb0a7;font-size:.74rem;padding:7px 10px;text-transform:uppercase}.mechanic-verdict{background:#101a16;border:1px solid #315044;border-radius:16px;padding:16px}.mechanic-verdict small{color:#75f04a;display:block;font-size:.72rem;letter-spacing:.12em;margin-bottom:6px}.mechanic-verdict strong{font-size:clamp(1.15rem,4vw,1.55rem)}.mechanic-findings{display:grid;gap:10px}.mechanic-findings article{background:#0d1411;border:1px solid #263a33;border-left:4px solid #688078;border-radius:14px;padding:14px}.mechanic-findings article.attention{border-left-color:#ff6b6b}.mechanic-findings article.observe{border-left-color:#f5b84b}.mechanic-findings article.normal{border-left-color:#67f04c}.mechanic-findings header{align-items:center;display:flex;gap:10px;justify-content:space-between}.mechanic-findings header span{color:#9bada4;font-size:.68rem;letter-spacing:.1em}.mechanic-findings p{color:#edf4f0;margin:9px 0 5px}.mechanic-findings small,.mechanic-disclaimer{color:#91a098;line-height:1.5}.mechanic-checks,.mechanic-limitations{background:#101713;border-radius:14px;padding:14px}.mechanic-checks ul,.mechanic-limitations ul{margin:8px 0 0;padding-left:20px}.mechanic-disclaimer{border-top:1px solid #26352f;margin:0;padding-top:12px}
.delete-confirm-card{max-width:520px}.delete-trip-details{background:#101713;border:1px solid #2b4037;border-radius:14px;display:grid;gap:5px;padding:14px}.delete-trip-details span{color:#91a098}.delete-warning{color:#f0aaa7;line-height:1.5}.delete-confirm-actions{display:grid;gap:10px;grid-template-columns:1fr 1.4fr}.delete-confirm-actions button{min-height:52px}.delete-confirm-actions #confirmDeleteTrip{background:#3b1717;border-color:#a44646;color:#ffb7b7}.voice-mode-guide{background:#101914;border:1px solid #2c443a;border-radius:14px;display:grid;gap:5px;padding:13px}.voice-mode-guide strong{color:#75f04a;font-size:.75rem;letter-spacing:.1em}.voice-mode-guide small{color:#9aa9a2;line-height:1.45}
.permission-actions{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:12px}.permission-actions button{min-height:50px}
@media(max-width:520px){.delete-confirm-actions,.permission-actions{grid-template-columns:1fr}.mechanic-report .trip-section-heading{align-items:flex-start;flex-direction:column}.mechanic-confidence{align-self:flex-start}}
.connection-stages{list-style:none;margin:14px 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.connection-stages li{padding:9px 6px;border:1px solid var(--border,#34443e);border-radius:9px;color:#7f918a;text-align:center;font:700 8px 'Space Mono',monospace}.connection-stages li.active{border-color:#e4bd48;color:#f4d970;background:#2a2412}.connection-stages li.done{border-color:#32f34e;color:#8eff91;background:#102617}.connection-stages li.failed{border-color:#ff6464;color:#ff9191;background:#2b1414}.connection-recovery-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.connection-recovery-actions button,.reliability-settings button{min-height:44px;border:1px solid var(--border,#34443e);border-radius:9px;background:#111a17;color:#dce7e3;font:700 8px 'Space Mono',monospace}@media(max-width:390px){.connection-stages{grid-template-columns:repeat(2,1fr)}.connection-recovery-actions{grid-template-columns:1fr}}
.active-trip-row{border-color:#59d84e;box-shadow:0 0 0 1px rgba(89,216,78,.12)}.active-trip-row .trip-route-name{color:#8ff879}.trip-live-note{margin:12px 0 0;color:#9fb0a8;font-size:11px;line-height:1.5}
.live-drive-map-card{margin:18px 0;padding:14px;border:1px solid #355047;border-radius:18px;background:#0b1310}.live-drive-map-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.live-drive-map-card>header strong{display:block;font-size:clamp(17px,4vw,24px)}.live-drive-map-card>header span{flex:none;border:1px solid #496158;border-radius:999px;padding:7px 10px;color:#a9b7b1;font:700 9px "Space Mono",monospace}.live-drive-map-card>header span.live{border-color:#65df50;color:#82f36d}.live-drive-map-stage{position:relative;width:100%;height:clamp(240px,56vw,440px);overflow:hidden;border:1px solid #33453f;border-radius:15px;background:#07100c}.live-drive-street-map,.live-drive-map-stage canvas{position:absolute;inset:0;width:100%;height:100%}.live-drive-street-map{z-index:1}.live-drive-map-stage canvas{z-index:2;pointer-events:none}.live-drive-street-map.ready+canvas{background:transparent}.live-drive-map-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px}.live-drive-map-metrics span{padding:9px 6px;border-radius:9px;background:#07100c;color:#b8c5c0;text-align:center;font:700 9px "Space Mono",monospace}.live-drive-map-card>small{display:block;margin-top:9px;color:#8f9e98;font-size:10px;line-height:1.45}@media(max-width:520px){.live-drive-map-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(orientation:landscape) and (max-height:700px){.live-drive-map-stage{height:min(58vh,390px)}}
.live-drive-street-map.ready+canvas{display:none}.live-car-marker{display:grid;width:34px;height:34px;place-items:center;border:3px solid #f4fff1;border-radius:50%;background:#51e343;color:#07100c;box-shadow:0 2px 12px #000,0 0 14px #63ff57}.live-car-marker span{display:block;font-size:18px;line-height:1;transform:translateY(-1px)}
