/* Map first. Scope the driving hierarchy separately from the parked workspace. */
.nft[data-screen=drive] .nft-drive{grid-template-columns:minmax(165px,22%) minmax(0,1fr);gap:18px}
.nft-driving-instruments{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;min-width:0;min-height:0}
.nft[data-screen=drive] .nft-speed-panel{min-height:0;padding:4px 8px;align-items:center;text-align:center}
.nft[data-screen=drive] .nft-speed{flex-direction:row;align-items:baseline;gap:8px;margin:4px 0}
.nft[data-screen=drive] .nft-speed b{font-size:48px;line-height:1;letter-spacing:-.045em}
.nft[data-screen=drive] .nft-speed span{font-size:16px;margin:0}
.nft[data-screen=drive] .nft-speed-panel>p{font-size:11px;line-height:1.3;min-height:0;max-width:none;margin:2px 0 0}
.nft[data-screen=drive] .nft-vehicle-glance{min-height:0;padding:10px;border-radius:16px}
.nft[data-screen=drive] .nft-panel-head{justify-content:center}
.nft[data-screen=drive] .nft-model{min-height:0}
.nft[data-screen=drive] .nft-model-caption{font-size:12px;margin-top:4px}
.nft[data-screen=drive] .nft-model-caption small,.nft[data-screen=drive] .nfi-caption{display:none!important}
.nft[data-screen=drive] .nfi-bearing strong{font-size:22px}
.nft[data-screen=drive] .nfi-bearing small{font-size:10px;margin-top:2px}
.nft[data-screen=drive] .nft-glance{grid-column:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:10px}
.nft[data-screen=drive] .nft-mini-map{grid-column:1;grid-row:1;min-height:0}
.nft-driving-status{grid-column:1;grid-row:2;min-width:0;border:1px solid #46605d;border-radius:12px;background:#19373d;overflow:hidden}
.nft-driving-notice{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:2px 12px;padding:7px 12px;border-bottom:1px solid #46605d;color:#c7d9d3;line-height:1.3}
.nft-driving-notice strong{font-size:13px;font-weight:600}
.nft-driving-notice>span{font-size:11px}
.nft-driving-status[data-tone=warning]{border-color:#f1aa3e}
.nft-driving-status[data-tone=warning] .nft-status-readings{display:none}
.nft-driving-status[data-tone=warning] .nft-driving-notice{background:#f1aa3e;color:#122e34;padding-block:9px}
.nft-driving-status[data-tone=warning] .nft-driving-notice strong{font-size:18px}
.nft-driving-status[data-tone=warning] .nft-driving-notice>span{font-size:14px;font-weight:600}
.nft-status-readings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:9px 0}
.nft-status-readings>div{padding:0 12px;min-width:0}
.nft-status-readings>div+div{border-left:1px solid #46605d}
.nft-status-readings dt{font-size:11px;color:#bdd0ca}
.nft-status-readings dd{font-size:20px;line-height:1.3;font-weight:600;margin:1px 0;font-variant-numeric:tabular-nums}
.nft .nft-status-readings small{font-size:10px;color:#bdd0ca}
.nft-sim-controls select{font:inherit;color:#f4f6f2;background:#19373d;border:1px solid #82988f;border-radius:8px;min-height:48px;padding:8px;max-width:100%}
.nft-sim-controls select:focus-visible{outline:3px solid #f1aa3e;outline-offset:2px}
@media(min-width:680px) and (max-height:550px){
 .nft[data-screen=drive] .nft-drive{gap:12px}
 .nft-driving-instruments{gap:6px}
 .nft[data-screen=drive] .nft-speed b{font-size:40px}
 .nft[data-screen=drive] .nft-speed-panel{padding:0 4px}
 .nft[data-screen=drive] .nft-vehicle-glance{padding:6px 8px}
 .nft[data-screen=drive] .nft-panel-head{display:none}
 .nft[data-screen=drive] .nft-panel-head:has(.nft-heading){display:flex}
 .nft[data-screen=drive] .nft-panel-head:has(.nft-heading)>.nft-eyebrow{display:none}
 .nft[data-screen=drive] .nft-model-caption{font-size:10px;margin-top:2px}
 .nft[data-screen=drive] .nfi-bearing strong{font-size:18px}
 .nft[data-screen=drive] .nft-glance{gap:6px}
 .nft[data-screen=drive] .nft-mini-map .nft-map-canvas{min-height:70px}
 .nft-driving-notice{padding:4px 10px}
 .nft-driving-notice strong{font-size:12px}
 .nft-driving-notice>span{font-size:10px}
 .nft-status-readings{padding:5px 0}
 .nft-status-readings dd{font-size:16px}
 .nft-status-readings dt{font-size:10px}
 .nft .nft-status-readings small{font-size:9px}
 .nft-driving-status[data-tone=warning] .nft-driving-notice{padding:4px 10px}
 .nft-driving-status[data-tone=warning] .nft-driving-notice strong{font-size:16px}
 .nft-driving-status[data-tone=warning] .nft-driving-notice>span{font-size:12px}
}
@media(max-width:679px){
 .nft[data-screen=drive] .nft-drive{height:auto;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:14px}
 .nft-driving-instruments{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);grid-template-rows:180px;gap:12px}
 .nft[data-screen=drive] .nft-speed-panel{justify-content:center}
 .nft[data-screen=drive] .nft-speed b{font-size:40px}
 .nft[data-screen=drive] .nft-speed-panel>p{max-width:110px;line-height:1.5}
 .nft[data-screen=drive] .nft-glance{grid-column:1;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}
 .nft[data-screen=drive] .nft-mini-map{min-height:280px}
 .nft[data-screen=drive] .nft-mini-map .nft-map-canvas{min-height:225px}
 .nft-status-readings>div{padding:0 8px}
 .nft-status-readings dd{font-size:16px}
 .nft .nft-status-readings small{font-size:9px}
 .nft-driving-notice{padding:8px}
}
/* The homepage device has a 1000×520 virtual screen; it is not a phone viewport. */
.simulation-display .nft[data-screen=drive] .nft-drive{height:412px;grid-template-columns:190px minmax(0,1fr);gap:18px}
.simulation-display .nft-driving-instruments{gap:14px}
.simulation-display .nft[data-screen=drive] .nft-speed-panel{padding:10px 4px}
.simulation-display .nft[data-screen=drive] .nft-speed b{font-size:48px}
.simulation-display .nft[data-screen=drive] .nft-speed-panel>p{font-size:12px}
.simulation-display .nft[data-screen=drive] .nft-vehicle-glance{padding:14px 10px}
.simulation-display .nft[data-screen=drive] .nft-panel-head{display:flex}
.simulation-display .nft[data-screen=drive] .nfi-bearing strong{font-size:24px}
.simulation-display .nft[data-screen=drive] .nft-model-caption{font-size:13px}
.simulation-display .nft-status-readings{padding:10px 0}
.simulation-display .nft-status-readings dd{font-size:22px}
.simulation-display .nft-status-readings dt{font-size:12px}
.simulation-display .nft .nft-status-readings small{font-size:11px}
.simulation-display .nft-driving-notice{padding:8px 12px}
.simulation-display .nft-driving-notice strong{font-size:15px}
.simulation-display .nft-driving-notice>span{font-size:12px}

.nft-map-warning{flex:none;padding:12px 20px;background:#f1aa3e;color:#122e34;font:600 20px/1.4 system-ui,sans-serif}
.nft-map-warning[hidden]{display:none}
@media(max-height:550px){.nft-map-warning{padding:8px 14px;font-size:16px}}
/* Do not repeat heading/GPS detail beneath the map during normal travel. */
.nft[data-screen=drive] .nft-navigation-caption[data-trip-state=driving] [data-trip-fix]{display:none}
.nft[data-screen=drive] .nft-navigation-caption [data-trip-fix]{color:#46635c}
@media(min-width:680px) and (max-height:420px){
 .nft .nft-status-readings small{display:none}
 .nft[data-screen=drive] .nft-map-caption{padding:5px 10px}
}

.nft[data-screen=drive] .nfv-vehicle{height:100%;max-height:100%;max-width:100%}
