/* Independent cockpit layouts. One live instrument stays shared across views. */
:root{--glass:#13161dea;--accent:#3e7df3;--regen:#7ed6aa}
html[data-theme=light]{--glass:#fffffff0}
.viewbar{display:flex;align-items:center;justify-content:space-between;padding:9px 32px;gap:15px;border-bottom:1px solid var(--line);flex:none}
.layout-tabs{display:flex;gap:5px;background:var(--panel);padding:4px;border-radius:8px}
.layout-tabs button{font-size:12px;padding:9px 17px;color:var(--muted);border-radius:5px;min-height:34px}
.layout-tabs button[aria-pressed=true]{background:var(--surface-hover);color:var(--text)}
.view-actions{display:flex;gap:20px;align-items:center;font-size:12px;color:var(--muted)}
.view-actions button{min-height:36px}.view-actions button[aria-pressed=true]{color:var(--accent)}.view-actions span{color:var(--accent);margin-left:10px}
.cockpit-main{position:relative}.cluster-ring{display:none}.cockpit-module{margin:16px 0 0;display:flex;flex-wrap:wrap;gap:5px 12px;align-items:center;min-height:24px}.cockpit-module>span{font-size:9px;color:var(--muted);letter-spacing:1.3px}.cockpit-module strong{font-size:13px;font-weight:500}.cockpit-module small{font-size:11px;color:var(--muted)}
.energy-panel{padding:35px 42px;overflow:auto;background:var(--panel)}.energy-heading h2{font-size:30px;letter-spacing:-.9px;font-weight:500;margin:14px 0 9px}.energy-heading>p{font-size:14px;color:var(--muted)}
.charge-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:42px 0 35px}.charge-metrics strong{display:block;font-size:38px;letter-spacing:-1px;font-weight:400;font-variant-numeric:tabular-nums}.charge-metrics span{display:block;font-size:11px;color:var(--muted);margin-top:9px}
.charge-chart-head{display:flex;align-items:center;justify-content:space-between;margin:18px 0;gap:15px}.charge-chart-head strong{font-size:15px;font-weight:500}.charge-chart-head span{display:block;font-size:11px;color:var(--muted);margin-top:7px}.charge-chart-head select{width:135px;margin:0;height:38px;font-size:12px}#charge-chart{width:100%;height:auto;max-height:260px;stroke:none;fill:none;margin-bottom:18px}#charge-chart text{font-size:11px;fill:var(--muted);stroke:none}#charge-chart .curve{stroke:var(--accent);stroke-width:3;fill:none}#charge-chart .chart-grid{stroke:var(--line);stroke-width:1}.charge-chart-head+svg circle{fill:var(--accent)}
.layout-energy .navigation-panel{display:none}.layout-energy .cockpit-main{grid-template-columns:34% 1fr}
.layout-cluster .navigation-panel,.layout-map .navigation-panel{grid-area:1/1}.layout-cluster .cockpit-main,.layout-map .cockpit-main{display:grid;grid-template-columns:1fr}
.layout-cluster .instrument-panel{position:absolute;z-index:3;top:50%;left:30%;transform:translate(-50%,-50%);width:clamp(295px,34vw,410px);aspect-ratio:1;height:auto;padding:38px;border-radius:50%;background:var(--glass);backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:0 20px 60px #0003;display:flex}
.layout-cluster .cluster-ring{display:block;position:absolute;inset:5px;width:calc(100% - 10px);height:calc(100% - 10px);stroke-width:2;pointer-events:none;transform:rotate(90deg)}.ring-track{stroke:var(--line)}#cluster-arc{stroke:var(--accent);stroke-width:4;stroke-dasharray:78 100;stroke-linecap:round}
.layout-cluster .instrument-top{justify-content:center;min-height:32px}.layout-cluster .gear-row{padding:0;gap:23px;font-size:17px}.layout-cluster .limit-group{position:absolute;right:2px;top:0}.layout-cluster .limit-group>span{display:none}.layout-cluster .speed-limit{width:46px;height:46px;min-width:46px;font-size:22px}
.layout-cluster .speed-block{min-height:0;padding:14px 0 12px}.layout-cluster .speed-value{font-size:clamp(115px,13vw,165px);letter-spacing:-7px}.layout-cluster .speed-unit{margin-top:7px;font-size:14px}.layout-cluster .speed-source{font-size:10px;margin-top:13px;color:var(--muted)}
.layout-cluster .instrument-bottom{margin-top:12px;padding-top:13px;justify-content:center;gap:18px}.layout-cluster .battery-reading strong,.layout-cluster .range-reading strong{font-size:21px}.layout-cluster .range-reading{flex-direction:row}.layout-cluster .range-reading>span{font-size:10px}.layout-cluster .energy-bar,.layout-cluster .power-labels,.layout-cluster .connect-inline,.layout-cluster .cockpit-module{display:none}
.layout-cluster .maneuver-card,.layout-cluster .destination-button{left:57%;right:28px}.layout-cluster .trip-card,.layout-cluster .tesla-route-card{left:57%;right:90px}.layout-cluster .map-wash{opacity:.55}
.driver-right.layout-standard .instrument-panel,.driver-right.layout-energy .instrument-panel{order:2;border-right:0;border-left:1px solid var(--line)}.driver-right.layout-standard .cockpit-main{grid-template-columns:1fr 42%}.driver-right.layout-energy .cockpit-main{grid-template-columns:1fr 34%}
.driver-right.layout-cluster .instrument-panel{left:70%}.driver-right.layout-cluster .maneuver-card,.driver-right.layout-cluster .destination-button{left:28px;right:57%}.driver-right.layout-cluster .trip-card,.driver-right.layout-cluster .tesla-route-card{left:28px;right:57%}
.layout-map .instrument-panel{position:absolute;z-index:3;bottom:36px;left:24px;width:190px;padding:18px;border-radius:12px;background:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(15px)}.layout-map .speed-value{font-size:76px;letter-spacing:-4px}.layout-map .speed-block{min-height:90px;padding:0}.layout-map .speed-unit{font-size:12px;margin-top:5px}.layout-map .speed-source{font-size:9px;margin-top:9px}.layout-map .instrument-top,.layout-map .energy-bar,.layout-map .power-labels,.layout-map .connect-inline,.layout-map .cockpit-module{display:none}.layout-map .instrument-bottom{margin-top:15px;padding-top:12px;gap:8px}.layout-map .battery-reading strong,.layout-map .range-reading strong{font-size:16px}.layout-map .range-reading>span{font-size:9px}.layout-map .trip-card,.layout-map .tesla-route-card{left:240px;right:90px}.layout-map .range-reading{flex-direction:column}
.layout-focus .instrument-panel{border:0}.layout-focus .cockpit-main{grid-template-columns:1fr}.layout-focus .navigation-panel{display:none}.layout-focus .speed-value{font-size:clamp(170px,27vw,370px)}.layout-focus .instrument-bottom{justify-content:center;gap:50px}.layout-focus .speed-block{padding:0}.layout-focus .cockpit-module{justify-content:center}.layout-focus .connect-inline{text-align:center}
.hud-mode .cockpit-main{transform:scaleX(-1);background:#000}.hud-mode .navigation-panel,.hud-mode .energy-panel{display:none}.hud-mode .cockpit-main{display:grid;grid-template-columns:1fr}.hud-mode .instrument-panel{position:relative;left:auto;top:auto;transform:none;grid-area:auto;order:0!important;width:100%;height:100%;border:0;border-radius:0;background:#000;color:#fff;padding:30px;backdrop-filter:none;box-shadow:none;aspect-ratio:auto}.hud-mode .cluster-ring,.hud-mode .connect-inline{display:none}.hud-mode .speed-value{font-size:clamp(170px,27vw,370px)}.hud-mode .speed-block{flex:1}.hud-mode .instrument-bottom{justify-content:center;gap:50px}.hud-mode .cockpit-module{justify-content:center}.hud-mode .drive-exit{display:block}
.drive-mode .viewbar{display:none}
.setup-step{display:flex;gap:15px;margin:22px 0}.setup-number{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--surface);color:var(--accent);font-size:12px;flex:none}.setup-step h3{font-size:16px;font-weight:500;margin:3px 0 8px}.setup-step p{font-size:13px;color:var(--muted);line-height:1.65}.setup-step>div{flex:1}.setup-step input{font-variant-numeric:tabular-nums}.setup-step form{margin-top:15px}.setup-step .button-row{margin-top:14px}.setup-status{display:flex;gap:9px;align-items:center;font-size:13px;margin:18px 0;color:var(--muted)}.setup-status .status-dot{width:8px;height:8px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-metric{background:var(--surface);border-radius:8px;padding:20px}.detail-metric span{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}.detail-metric strong{font-size:25px;font-weight:500}.tires-grid{display:grid;grid-template-columns:1fr 70px 1fr;gap:18px;align-items:center;text-align:center;margin:28px 0}.tires-grid strong{display:block;font-size:24px;font-weight:500;margin:8px 0}.tires-grid span{display:block;font-size:11px;color:var(--muted)}.car-plan{grid-column:2;grid-row:1/3;width:55px;height:110px;border:2px solid var(--subtle);border-radius:24px;margin:auto;position:relative}.car-plan:after{content:'';position:absolute;inset:20px 6px 27px;border:1px solid var(--subtle);border-radius:10px}
@media(max-width:759px) and (orientation:portrait){.viewbar{padding:6px 12px;gap:4px}.layout-tabs{gap:0;padding:3px;flex:1;justify-content:space-between}.layout-tabs button{padding:8px 9px;font-size:11px}.view-actions{gap:0}.view-actions>button:last-child{display:none}.view-actions button{padding:0 10px}.cockpit-module{display:none}.layout-cluster .instrument-panel{top:43%;left:50%;width:270px;height:270px;min-height:0;padding:30px;display:flex;border:1px solid var(--line)}.layout-cluster .speed-value{font-size:110px}.layout-cluster .speed-source{margin-top:9px}.layout-cluster .instrument-bottom{padding-top:9px;margin-top:9px;gap:14px}.layout-cluster .instrument-bottom strong{font-size:17px}.layout-cluster .speed-limit{width:38px;height:38px;min-width:38px;font-size:18px;border-width:4px}.layout-cluster .navigation-panel{height:100%}.layout-cluster .maneuver-card,.layout-cluster .destination-button{left:12px;right:12px}.layout-cluster .trip-card,.layout-cluster .tesla-route-card{left:12px;right:68px}.layout-cluster .navigation-panel.routing .destination-button{display:none}.driver-right.layout-cluster .instrument-panel{left:50%}.layout-map .instrument-panel{bottom:110px;left:12px;width:125px;height:auto;min-height:0;display:flex;padding:12px}.layout-map .speed-value{font-size:54px}.layout-map .speed-block{min-height:70px}.layout-map .instrument-bottom{display:none}.layout-map .trip-card,.layout-map .tesla-route-card{left:12px;right:68px}.layout-focus .cockpit-main,.hud-mode .cockpit-main{display:flex}.layout-focus .instrument-panel,.hud-mode .instrument-panel{display:flex;flex:1;height:auto;min-height:0}.layout-focus .speed-value,.hud-mode .speed-value{font-size:clamp(155px,42vw,280px)}.layout-focus .instrument-top,.hud-mode .instrument-top{display:flex}.layout-focus .instrument-bottom,.hud-mode .instrument-bottom{display:flex;gap:30px}.layout-focus .speed-block,.hud-mode .speed-block{pointer-events:auto}.layout-energy .cockpit-main{display:flex}.layout-energy .instrument-panel{display:none}.energy-panel{padding:26px 20px;flex:1}.energy-heading h2{font-size:24px}.charge-metrics{grid-template-columns:1fr 1fr;gap:22px;margin:30px 0}.charge-metrics strong{font-size:34px}.driver-right.layout-standard .instrument-panel{order:0;border-left:0}.hud-mode .instrument-bottom{margin-top:auto}.hud-mode .limit-group{display:none}}
@media(max-height:600px) and (orientation:landscape){.viewbar{padding:4px 20px}.layout-tabs button{padding:5px 13px;min-height:28px}.layout-cluster .instrument-panel{width:clamp(200px,39vh,280px);padding:27px}.layout-cluster .speed-value{font-size:clamp(75px,15vh,110px)}.layout-cluster .gear-row{gap:16px;font-size:14px}.layout-cluster .speed-source{font-size:9px;margin-top:7px}.layout-cluster .speed-unit{font-size:11px;margin-top:5px}.layout-cluster .instrument-bottom{margin-top:8px;padding-top:9px;gap:12px}.layout-cluster .instrument-bottom strong{font-size:15px}.layout-cluster .battery-icon{width:22px;height:12px}.layout-cluster .range-reading>span{display:none}.layout-cluster .speed-limit{width:34px;height:34px;min-width:34px;font-size:17px;border-width:3px}.energy-panel{padding:20px 25px}.energy-heading h2{font-size:22px}.charge-metrics{margin:22px 0;gap:15px}.charge-metrics strong{font-size:27px}.cockpit-module{display:none}.layout-map .instrument-panel{width:125px;bottom:30px;padding:12px}.layout-map .speed-value{font-size:54px}.layout-map .speed-block{min-height:70px}.layout-map .instrument-bottom{display:none}.layout-map .trip-card,.layout-map .tesla-route-card{left:160px}}

.charge-instrument{display:none}.layout-energy .charge-instrument{display:flex;flex:1;flex-direction:column;justify-content:center;align-items:center;padding:25px 0}.layout-energy .charge-instrument strong{font-size:clamp(120px,16vw,210px);font-weight:400;letter-spacing:-8px;line-height:1}.layout-energy .charge-instrument span{font-size:17px;color:var(--muted);margin-top:15px}.layout-energy .charge-instrument small{font-size:11px;color:var(--subtle);letter-spacing:1px;margin-top:25px}.layout-energy .speed-block,.layout-energy .energy-bar,.layout-energy .power-labels,.layout-energy .limit-group{display:none}.hud-mode .charge-instrument{display:none}.hud-mode .speed-block{display:flex}

.app-shell.hud-mode .instrument-panel{position:relative;left:0;right:auto;top:auto;bottom:auto;transform:none;width:100%;height:100%;min-height:0;display:flex;flex-direction:column;border-radius:0;aspect-ratio:auto}.hud-mode .limit-group{position:static}.hud-mode .range-reading{flex-direction:row}.hud-mode .speed-value{color:#fff}

/* v1.2.0 · cockpit expansion inspired by modern driver displays, independently designed for InnoOS */
.viewbar{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(18px);min-height:54px}
.layout-tabs{max-width:calc(100vw - 255px);overflow-x:auto;scrollbar-width:none;white-space:nowrap;background:transparent;padding:0;gap:4px}
.layout-tabs::-webkit-scrollbar{display:none}
.layout-tabs button{flex:0 0 auto;border:1px solid transparent;padding:8px 14px;border-radius:999px;transition:background .18s,border-color .18s,color .18s}
.layout-tabs button[aria-pressed=true]{background:var(--surface);border-color:var(--line);box-shadow:inset 0 0 0 1px #ffffff05}
.instrument-panel,.navigation-panel,.energy-panel{transition:width .22s ease,transform .22s ease,opacity .22s ease,border-radius .22s ease}
.speed-value{transition:font-size .22s ease,transform .22s ease,color .2s ease}
.bold-text .speed-value,.bold-text .turn-distance,.bold-text .charge-metrics strong{font-weight:600}
.bold-text .maneuver-text strong,.bold-text .cockpit-module strong,.bold-text .instrument-bottom strong{font-weight:700}

.glance-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:14px}
.glance-row button{min-width:0;padding:9px 10px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 58%,transparent);border-radius:8px;text-align:left}
.glance-row span{display:block;font-size:8px;letter-spacing:1px;color:var(--subtle);margin-bottom:4px}
.glance-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;color:var(--muted)}
.glance-row button:hover{background:var(--surface)}

/* Standard: calm driver information with generous navigation. */
.layout-standard .cockpit-main{grid-template-columns:minmax(330px,38%) 1fr}
.layout-standard .instrument-panel{background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--surface) 22%,transparent),transparent 58%),var(--bg)}
.layout-standard .speed-value{font-size:clamp(150px,16vw,245px)}
.driver-right.layout-standard .cockpit-main{grid-template-columns:1fr minmax(330px,38%)}

/* Horizon: map fills the screen, instruments become a low floating driver shelf. */
.layout-horizon .cockpit-main{display:grid;grid-template-columns:1fr}
.layout-horizon .navigation-panel{grid-area:1/1}
.layout-horizon .instrument-panel{grid-area:1/1;z-index:3;align-self:end;justify-self:stretch;height:205px;margin:0 28px 28px;padding:18px 28px;border:1px solid #ffffff18;border-radius:22px;background:linear-gradient(90deg,color-mix(in srgb,var(--glass) 95%,transparent),color-mix(in srgb,var(--glass) 78%,transparent));backdrop-filter:blur(24px) saturate(1.15);box-shadow:0 26px 80px #0006;display:grid;grid-template-columns:160px minmax(220px,1fr) minmax(260px,1.25fr);grid-template-rows:1fr auto;column-gap:24px}
.layout-horizon .instrument-top{grid-column:1;grid-row:1;min-height:0;display:flex;align-items:flex-start}.layout-horizon .limit-group>span{display:none}.layout-horizon .gear-row{font-size:15px;gap:12px;padding-top:8px}.layout-horizon .speed-limit{height:44px;min-width:44px;border-width:4px;font-size:20px}
.layout-horizon .speed-block{grid-column:2;grid-row:1/3;padding:0;min-height:0;align-items:flex-start}.layout-horizon .speed-value{font-size:128px;letter-spacing:-7px}.layout-horizon .speed-unit{margin:2px 0 0 5px}.layout-horizon .speed-source{margin:9px 0 0 5px}
.layout-horizon .instrument-bottom{grid-column:3;grid-row:1;margin:0;padding:0 0 12px;border:0;align-self:end;justify-content:flex-start;gap:35px}
.layout-horizon .energy-bar{grid-column:1/2;grid-row:2;margin:0}.layout-horizon .power-labels{display:none}.layout-horizon .cockpit-module{grid-column:3;grid-row:2;margin:0;align-self:center}.layout-horizon .connect-inline,.layout-horizon .glance-row{display:none}
.layout-horizon .maneuver-card{left:auto;right:28px;width:min(430px,42vw)}.layout-horizon .destination-button{left:auto;right:28px;width:min(430px,42vw)}.layout-horizon .navigation-panel.routing .destination-button{left:auto}.layout-horizon .trip-card,.layout-horizon .tesla-route-card{left:28px;right:auto;width:min(520px,50vw);bottom:260px}

/* Ultra: distraction-reduced large type with a narrow navigation column. */
.layout-ultra .cockpit-main{grid-template-columns:minmax(0,62%) minmax(320px,38%)}
.layout-ultra .instrument-panel{border-right:1px solid var(--line);background:radial-gradient(circle at 50% 48%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 48%),var(--bg);padding:26px 5vw 24px}
.layout-ultra .speed-value{font-size:clamp(205px,27vw,390px);font-weight:300;letter-spacing:-15px}.layout-ultra .speed-block{padding:0}.layout-ultra .instrument-bottom{justify-content:center;gap:55px;margin-top:10px}.layout-ultra .cockpit-module{justify-content:center}.layout-ultra .glance-row{max-width:760px;width:100%;margin:12px auto 0}.layout-ultra .connect-inline{margin-top:12px}
.layout-ultra .navigation-panel .destination-button,.layout-ultra .navigation-panel .maneuver-card{left:16px;right:16px}.layout-ultra .navigation-panel.routing .destination-button{left:16px;right:16px}.layout-ultra .trip-card,.layout-ultra .tesla-route-card{left:16px;right:70px}
.driver-right.layout-ultra .instrument-panel{order:2;border-right:0;border-left:1px solid var(--line)}.driver-right.layout-ultra .cockpit-main{grid-template-columns:minmax(320px,38%) minmax(0,62%)}

/* Touring: information-rich but restrained, designed for long drives. */
.layout-touring .cockpit-main{grid-template-columns:minmax(360px,34%) 1fr}.layout-touring .instrument-panel{padding:24px 34px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 13%,transparent),transparent 40%),var(--bg)}
.layout-touring .speed-block{align-items:flex-start;padding-left:18px}.layout-touring .speed-value{font-size:clamp(145px,15vw,225px)}.layout-touring .speed-unit,.layout-touring .speed-source{margin-left:8px}.layout-touring .instrument-bottom{justify-content:flex-start;gap:38px}.layout-touring .cockpit-module{padding:12px 14px;border-radius:10px;background:var(--surface)}
.driver-right.layout-touring .instrument-panel{order:2;border-right:0;border-left:1px solid var(--line)}.driver-right.layout-touring .cockpit-main{grid-template-columns:1fr minmax(360px,34%)}

/* Speedway: speed becomes a compact floating rail over a full map. */
.layout-speedway .cockpit-main{display:grid;grid-template-columns:1fr}.layout-speedway .navigation-panel{grid-area:1/1}.layout-speedway .instrument-panel{grid-area:1/1;z-index:4;align-self:end;margin:0 24px 24px;height:142px;padding:14px 22px;border:1px solid #ffffff16;border-radius:18px;background:var(--glass);backdrop-filter:blur(24px);box-shadow:0 22px 70px #0006;display:grid;grid-template-columns:145px 1fr 260px;grid-template-rows:1fr auto;gap:0 24px}
.layout-speedway .speed-block{grid-column:1;grid-row:1/3;align-items:flex-start;padding:0;min-height:0}.layout-speedway .speed-value{font-size:90px;letter-spacing:-5px}.layout-speedway .speed-unit{font-size:11px;margin:0 0 0 4px}.layout-speedway .speed-source{font-size:9px;margin:4px 0 0 4px}
.layout-speedway .instrument-top{grid-column:2;grid-row:1;min-height:0;align-items:center}.layout-speedway .limit-group>span{display:none}.layout-speedway .speed-limit{width:42px;min-width:42px;height:42px;border-width:4px;font-size:19px}.layout-speedway .gear-row{padding:0;font-size:15px}
.layout-speedway .energy-bar{grid-column:2;grid-row:2;margin:0 0 8px}.layout-speedway .power-labels{display:none}.layout-speedway .instrument-bottom{grid-column:3;grid-row:1;margin:0;padding:0;border:0;justify-content:flex-end;gap:22px}.layout-speedway .cockpit-module{grid-column:3;grid-row:2;margin:0;justify-content:flex-end}.layout-speedway .glance-row,.layout-speedway .connect-inline{display:none}
.layout-speedway .trip-card,.layout-speedway .tesla-route-card{bottom:190px}.layout-speedway .map-controls{bottom:190px}

/* Split: symmetric 50/50 for tablets mounted centrally. */
.layout-split .cockpit-main{grid-template-columns:1fr 1fr}.layout-split .instrument-panel{padding:28px 38px}.layout-split .speed-value{font-size:clamp(155px,18vw,270px)}.layout-split .glance-row{grid-template-columns:1fr 1fr}.layout-split .cockpit-module{padding-top:3px}
.driver-right.layout-split .instrument-panel{order:2;border-right:0;border-left:1px solid var(--line)}

.layout-cluster .glance-row,.layout-energy .glance-row,.hud-mode .glance-row{display:none}
.layout-energy .energy-panel{background:radial-gradient(circle at 76% 22%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 34%),var(--panel)}
.layout-energy .charge-metrics>div{padding:18px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 55%,transparent)}

.vehicle-hero{display:flex;align-items:center;gap:24px;padding:22px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 72%,transparent),transparent);margin:8px 0 20px}.vehicle-hero>div:last-child{min-width:0}.vehicle-hero strong{display:block;font-size:26px;font-weight:500;margin:7px 0}.vehicle-hero p{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.vehicle-outline{width:160px;height:72px;position:relative;flex:none}.vehicle-body{position:absolute;left:8px;right:8px;bottom:17px;height:31px;border:2px solid var(--muted);border-radius:26px 34px 12px 12px;transform:skewX(-4deg)}.vehicle-roof{position:absolute;width:78px;height:30px;left:43px;top:8px;border:2px solid var(--muted);border-bottom:0;border-radius:48px 48px 5px 5px;transform:skewX(-8deg)}.wheel{position:absolute;width:18px;height:18px;border:3px solid var(--text);border-radius:50%;bottom:8px;background:var(--panel)}.wheel-left{left:27px}.wheel-right{right:25px}

.gesture-coach{position:fixed;inset:0;z-index:90;background:#0009;display:grid;place-items:center;padding:24px;backdrop-filter:blur(10px)}.gesture-coach-card{width:min(520px,92vw);padding:30px;border:1px solid #ffffff18;border-radius:22px;background:var(--panel);box-shadow:0 30px 120px #0009}.gesture-coach-card>strong{display:block;font-size:24px;line-height:1.25;margin:14px 0 10px;letter-spacing:-.5px}.gesture-coach-card p{font-size:14px;line-height:1.65;color:var(--muted);margin-bottom:22px}.gesture-dots{display:flex;gap:7px;margin-bottom:24px}.gesture-dots span{height:3px;flex:1;border-radius:10px;background:var(--line)}.gesture-dots span:first-child{background:var(--accent)}

@media(max-width:1100px){
  .layout-tabs{max-width:calc(100vw - 150px)}
  .view-actions>button:last-child{display:none}
  .layout-horizon .instrument-panel{grid-template-columns:130px 190px 1fr;height:180px}.layout-horizon .speed-value{font-size:105px}.layout-horizon .trip-card,.layout-horizon .tesla-route-card{bottom:225px}
  .layout-speedway .instrument-panel{grid-template-columns:120px 1fr 210px}.layout-speedway .speed-value{font-size:76px}
  .glance-row{grid-template-columns:1fr 1fr}
}

@media(max-width:759px) and (orientation:portrait){
  .viewbar{overflow:hidden}.layout-tabs{max-width:none;flex:1;justify-content:flex-start;overflow-x:auto}.layout-tabs button{padding:8px 12px}.view-actions{flex:none}
  .glance-row{display:none}
  .layout-horizon .cockpit-main,.layout-speedway .cockpit-main{display:grid;grid-template-columns:1fr}.layout-horizon .navigation-panel,.layout-speedway .navigation-panel{grid-area:1/1;height:100%}
  .layout-horizon .instrument-panel{grid-area:1/1;align-self:end;margin:0 12px 92px;width:auto;height:150px;min-height:0;padding:12px 16px;display:grid;grid-template-columns:100px 1fr;grid-template-rows:1fr auto}.layout-horizon .speed-block{grid-column:1;grid-row:1/3}.layout-horizon .speed-value{font-size:76px;letter-spacing:-4px}.layout-horizon .instrument-top{grid-column:2;grid-row:1}.layout-horizon .instrument-bottom{grid-column:2;grid-row:2}.layout-horizon .cockpit-module,.layout-horizon .energy-bar{display:none}.layout-horizon .trip-card{bottom:255px}
  .layout-ultra .cockpit-main,.layout-touring .cockpit-main,.layout-split .cockpit-main{display:flex;flex-direction:column}.layout-ultra .instrument-panel,.layout-touring .instrument-panel,.layout-split .instrument-panel{height:44%;min-height:245px;flex:none;padding:17px 25px 14px}.layout-ultra .navigation-panel,.layout-touring .navigation-panel,.layout-split .navigation-panel{flex:1}.layout-ultra .speed-value,.layout-touring .speed-value,.layout-split .speed-value{font-size:clamp(105px,31vw,165px);letter-spacing:-7px}.layout-ultra .speed-block,.layout-touring .speed-block{align-items:center;padding:0}.layout-ultra .instrument-bottom,.layout-touring .instrument-bottom{gap:24px;margin-top:10px}.layout-ultra .cockpit-module,.layout-touring .cockpit-module{display:none}
  .layout-speedway .instrument-panel{grid-area:1/1;align-self:end;margin:0 12px 92px;height:112px;min-height:0;padding:10px 14px;display:grid;grid-template-columns:92px 1fr;grid-template-rows:1fr auto}.layout-speedway .speed-block{grid-column:1}.layout-speedway .speed-value{font-size:62px}.layout-speedway .instrument-top{grid-column:2}.layout-speedway .instrument-bottom,.layout-speedway .cockpit-module{display:none}.layout-speedway .energy-bar{grid-column:2}.layout-speedway .trip-card{bottom:225px}.layout-speedway .map-controls{bottom:160px}
  .vehicle-hero{padding:16px;gap:14px}.vehicle-outline{width:110px;transform:scale(.82);transform-origin:left center}.vehicle-hero strong{font-size:21px}
}

@media(max-height:600px) and (orientation:landscape){
  .glance-row{display:none}.layout-tabs{max-width:calc(100vw - 160px)}
  .layout-horizon .instrument-panel{height:112px;margin:0 16px 12px;padding:10px 16px;grid-template-columns:105px 145px 1fr}.layout-horizon .speed-value{font-size:68px;letter-spacing:-4px}.layout-horizon .speed-unit,.layout-horizon .speed-source{display:none}.layout-horizon .instrument-bottom{padding:0}.layout-horizon .cockpit-module{display:none}.layout-horizon .trip-card,.layout-horizon .tesla-route-card{bottom:142px}
  .layout-ultra .speed-value{font-size:clamp(125px,30vh,210px)}.layout-ultra .instrument-bottom{margin-top:0;padding-top:8px}.layout-ultra .cockpit-module,.layout-ultra .connect-inline{display:none}
  .layout-touring .speed-value,.layout-split .speed-value{font-size:clamp(100px,24vh,170px)}
  .layout-speedway .instrument-panel{height:96px;margin:0 16px 12px;padding:8px 14px;grid-template-columns:90px 1fr 190px}.layout-speedway .speed-value{font-size:58px}.layout-speedway .speed-unit,.layout-speedway .speed-source{display:none}.layout-speedway .cockpit-module{display:none}.layout-speedway .trip-card,.layout-speedway .tesla-route-card{bottom:126px}.layout-speedway .map-controls{bottom:126px}
}
/* Six charging metrics fit more cleanly as two balanced rows on wide screens. */
.layout-energy .charge-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:759px) and (orientation:portrait){.layout-energy .charge-metrics{grid-template-columns:1fr 1fr}}
