/* Map first: a compact peek by default, details on demand. */
.site-shell{width:100%;height:100dvh;min-height:0;border-radius:0}
#mapScreen{height:100%;min-height:0}.map-wrap,#map{background:#182431}
.map-header{top:max(8px,env(safe-area-inset-top));left:10px;right:10px;padding:6px 8px;min-height:58px;gap:8px}
.sort-wrap{top:calc(max(8px,env(safe-area-inset-top)) + 66px);padding:0 10px;background:none}.sort-wrap .sort-pills{gap:8px;scrollbar-width:none}.sort-pills::-webkit-scrollbar{display:none}.sort-pill{padding:9px 13px;min-height:44px;font-size:.8rem}
.search-area{top:calc(max(8px,env(safe-area-inset-top)) + 120px);min-height:44px;font-size:.8rem}
.map-theme-toggle{position:absolute;z-index:1006;right:12px;top:calc(max(8px,env(safe-area-inset-top)) + 176px);width:44px;height:44px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:1.35rem;box-shadow:var(--shadow)}
.station-sheet{left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;max-height:67%;padding:0 16px 18px;overscroll-behavior:contain;scroll-padding-bottom:18px}
.sheet-grip-button,.station-sheet.collapsed .sheet-grip-button{min-height:44px;padding:0;display:grid;place-items:center}.sheet-grip{width:40px;height:5px;background:#91a0ac;margin:0}
.station-sheet.collapsed{max-height:none;overflow:visible;padding:0 14px 10px}.station-sheet.collapsed .station-top{align-items:center;gap:8px}.station-sheet.collapsed .station-top>div{min-width:0;flex:1}.station-sheet.collapsed .station-name{display:block;font-size:.92rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.station-sheet.collapsed .station-distance,.station-sheet.collapsed .decision-grid{display:none}.station-sheet.collapsed .sheet-toggle{width:44px;height:44px;flex-basis:44px}.sheet-peek{display:none}.station-sheet.collapsed .sheet-peek{display:flex;flex-wrap:wrap;gap:3px 14px;font-size:.78rem;line-height:1.35;color:var(--muted);margin-top:0}.sheet-peek span{overflow-wrap:anywhere;min-width:0}
.bottom-nav{height:calc(56px + env(safe-area-inset-bottom));padding:4px 8px env(safe-area-inset-bottom);border-radius:0}.nav-item{min-height:48px;font-size:.7rem;gap:2px}.nav-item.active{color:var(--mint)}
.maplibregl-ctrl-bottom-right{bottom:calc(205px + env(safe-area-inset-bottom));right:8px}.maplibregl-ctrl-bottom-left{bottom:calc(190px + env(safe-area-inset-bottom))}.maplibregl-ctrl-attrib{max-width:100%;color:#253542;background:#f3f6f4!important}.time-pin-wrap.is-selected{z-index:100!important}.time-pin.selected{box-shadow:0 0 0 3px #84d4c1,0 6px 20px #0006}
#mapScreen .location-inline{position:absolute;z-index:1003;top:calc(max(8px,env(safe-area-inset-top)) + 170px);left:10px;right:68px;max-height:120px;overflow:auto;background:var(--panel);color:var(--ink)}#mapScreen:has(#locationStatusBar:not([hidden])) .search-area{top:calc(max(8px,env(safe-area-inset-top)) + 120px)}
html[data-theme=dark]{color-scheme:dark;--ink:#e7edf2;--muted:#b5c1cc;--bg:#141e29;--panel:#202c38;--panel-2:#293744;--line:#435461;--mint:#8bd4bf;--mint-strong:#b4e7d7;--mint-soft:#233e3c;--yellow:#f0cc88;--red:#f0aaaa;--blue:#9bc5eb;--shadow:0 8px 28px #0004}
html[data-theme=dark] body{background:var(--bg)}
html[data-theme=dark] :is(.map-header,.station-sheet,.bottom-nav,.sort-pill,.search-area,.car-panel,.feedback-dialog,.accessory-dialog,dialog,.optional-equipment,.vehicle-card,.connector-card,.equipment-card,.choice-card,.target-pill,.home-option,.home-secondary button,.route-summary,.route-stage,.route-form details,.route-results>details,.place-results button,.roundtrip-choice,.map-fallback-note,.toast){background:var(--panel);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(input,select,textarea,.region-select,.back-mini,.locate-btn,.icon-button,.secondary,.metric,.hours-row,.hours-row.unknown,.route-metrics div,.route-resume,.route-actions a,.route-actions button,.route-results>button,.place-search-row button,.car-icon,.spec,.feedback-input){background:var(--panel-2);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(.primary,.sort-pill.active){background:#75c5af;color:#102d26;border-color:#75c5af}html[data-theme=dark] .primary:hover{background:#94dbc6}html[data-theme=dark] #mapScreen .secondary{background:var(--panel-2);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(.vehicle-chip span,.demo-mini,.region-control .demo-mini,.station-distance,.metric span,.metric small,.gear-line,.cost-note,.status-copy span,.hours-row span:last-child,.hours-row strong,.route-copy,.route-form small,.route-stage p,.route-stage details,.route-status,.place-results button small,.detail-row span,.learning-card p,.route-metrics span){color:var(--muted)}
html[data-theme=dark] :is(.route-answer,.route-candidate a,.route-stage details a,.compat,.battery-value,.home-option svg,.ui-icon-use){color:var(--mint)!important}html[data-theme=dark] .compat[style*="a23e3e"]{color:var(--red)!important}html[data-theme=dark] .compat[style*="8a6414"]{color:var(--yellow)!important}
html[data-theme=dark] :is(.provisional-price,.time-pin .provisional-price,.route-provisional-price,.route-warning){color:#f0cc88!important;background:transparent}html[data-theme=dark] :is(.provisional-note,.route-notice){color:#f0cc88;background:#393323;border-color:#746342}html[data-theme=dark] :is(.route-error,.route-critical){color:#f0aaaa;background:#3b282d;border-color:#82565c}
html[data-theme=dark] .time-pin{background:#253644;color:#edf3f7}html[data-theme=dark] .time-pin::after{background:#253644}html[data-theme=dark] .time-pin span{color:#c5d0d8}html[data-theme=dark] .time-pin.selected,html[data-theme=dark] .time-pin.selected::after{background:#245b50;color:#fff}html[data-theme=dark] .time-pin.selected span{color:#edf9f5}
html[data-theme=dark] :is(.route-badge,.demo-pill,.home-option:first-child,.home-resume){background:var(--mint-soft);color:var(--mint);border-color:var(--line)}html[data-theme=dark] :is(.brand-mark,.car-icon svg){color:#d4e2df}html[data-theme=dark] .maplibregl-ctrl-group{background:#263644}html[data-theme=dark] .maplibregl-ctrl-group button{border-color:#435461}html[data-theme=dark] .maplibregl-ctrl-icon{filter:invert(1)}
@media(min-width:760px){body{padding:0}.site-shell{width:100%;height:100dvh;border-radius:0}.map-header{max-width:560px}.sort-wrap{max-width:560px}.search-area{left:285px}.station-sheet{max-width:410px;left:12px;bottom:calc(64px + env(safe-area-inset-bottom));border-radius:22px}.bottom-nav{left:12px;right:auto;bottom:8px;width:410px;border-radius:18px;height:56px;padding:4px}.station-sheet.collapsed{max-height:none}.map-theme-toggle{top:20px}#mapScreen .location-inline{max-width:480px}.maplibregl-ctrl-bottom-right{bottom:34px}.maplibregl-ctrl-bottom-left{left:auto;right:80px;bottom:0}}
@media(max-width:360px){.map-header{gap:5px;padding:6px}.region-control{min-width:88px}.region-select{max-width:98px}.vehicle-chip strong{font-size:.8rem}.station-sheet.collapsed .station-name{font-size:.85rem}.sort-pill{font-size:.76rem;padding:9px 11px}}
html[data-theme=dark] :is(.battery-hero,.car-summary,.resume-card,.feedback-card,.coverage-note,.support-content dl,.favorite-item,.report-station,.accessory-actions button){background:var(--panel-2);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(.resume-card span,.field-label,.battery-summary,.feedback-status,.support-content p,.support-content dd,.national-note,.national-results small,.legal-demo){color:var(--muted)}
html[data-theme=dark] :is(.national-dialog button,.national-dialog input){background:var(--panel-2);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(.support-content a,.accessory-card small){color:var(--mint)}
html[data-theme=dark] :is(.vehicle-card.selected,.connector-card.selected,.choice-card.selected,.equipment-card.selected){background:var(--mint-soft);border-color:var(--mint)}
html[data-theme=dark] :is(.target-pill.active,.selected .check,.connector-card.selected .connector-check,.resume-card button,.home-quick button){background:#75c5af;color:#102d26}
html[data-theme=dark] .car-icon{background:#e9efed;color:#1c3029}html[data-theme=dark] .car-icon svg{color:#1c3029}
html[data-theme=dark] :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #a7d5ff;outline-offset:3px}
/* National search replaces the visible region selector. */
.map-header{display:block;padding:6px 8px;min-height:0;border-radius:20px}
.map-search-row{display:flex;align-items:center;gap:6px;min-width:0}.map-place-form{display:flex;align-items:center;flex:1;min-width:0;background:var(--panel-2);border-radius:14px;border:1px solid var(--line)}.map-place-form input{min-width:0;width:100%;min-height:44px;padding:8px 4px 8px 12px;border:0;background:transparent;color:var(--ink);font-size:16px;outline-offset:0}.map-place-form button{flex:0 0 44px;width:44px;height:44px;border:0;background:transparent;color:var(--ink);font-size:1.4rem}
.map-car-context{display:flex;align-items:center;gap:10px;min-width:0;padding:4px 48px 0;font-size:.73rem;line-height:1.3;color:var(--muted)}.map-car-context strong{font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.map-car-context span{flex-shrink:0}
.map-place-suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:min(54dvh,420px);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:10px;z-index:10}.map-place-suggestions p{margin:0;padding:4px 4px 8px;font-size:.8rem;color:var(--muted);line-height:1.4}.map-place-suggestions button{display:block;width:100%;min-height:48px;padding:12px;text-align:left;background:var(--panel-2);color:var(--ink);border:1px solid var(--line);border-radius:12px;font:inherit;font-size:.88rem;overflow-wrap:anywhere}.map-place-suggestions strong,.map-place-suggestions small{display:block}.map-place-suggestions small{color:var(--muted);font-size:.75rem;margin-top:4px}
.sort-wrap{top:calc(max(8px,env(safe-area-inset-top)) + 88px)}#searchArea{display:none!important}
.map-theme-toggle{top:calc(max(8px,env(safe-area-inset-top)) + 146px)}#mapScreen .location-inline{top:calc(max(8px,env(safe-area-inset-top)) + 146px);font-size:.75rem;padding:8px}
.station-sheet.collapsed{padding:0 12px 6px;display:grid;grid-template-columns:minmax(0,1fr) 44px;column-gap:6px}.station-sheet.collapsed .sheet-grip-button{grid-column:1/-1;min-height:24px;height:24px;padding:0}.station-sheet.collapsed .station-top{display:contents}.station-sheet.collapsed .station-top>div{grid-column:1;grid-row:2;align-self:end}.station-sheet.collapsed .station-name{font-size:.86rem;line-height:1.3;max-width:100%}.station-sheet.collapsed .sheet-toggle{grid-column:2;grid-row:2/4;align-self:center}.station-sheet.collapsed .sheet-peek{grid-column:1;grid-row:3;font-size:.73rem;gap:2px 10px;line-height:1.3}.station-sheet.collapsed .sheet-expanded{display:none}.station-sheet.collapsed .decision-grid{display:none}.bottom-nav .nav-icon,.bottom-nav .nav-icon svg{width:20px;height:20px}.bottom-nav .nav-item{font-size:.65rem;min-height:44px}.bottom-nav{height:calc(50px + env(safe-area-inset-bottom));padding-top:2px;padding-bottom:env(safe-area-inset-bottom)}.station-sheet{bottom:calc(50px + env(safe-area-inset-bottom))}
@media(min-width:760px){.map-header{max-width:560px}.map-theme-toggle{top:20px}.station-sheet{bottom:64px}.bottom-nav{height:50px}.map-place-suggestions{max-height:60dvh}}
/* Unusable/undocumented points remain discoverable without obscuring useful choices. */
.time-pin-wrap.is-muted{width:44px;height:44px;display:grid;place-items:center;padding:0}.time-pin-wrap.is-muted .time-pin{width:16px;height:16px;min-width:16px;max-width:16px;padding:0;border-radius:50%;background:#738591;border:2px solid var(--status,#8494a0);box-shadow:0 0 0 3px #18243166}.time-pin-wrap.is-muted .time-pin strong,.time-pin-wrap.is-muted .time-pin span,.time-pin-wrap.is-muted .time-pin::after{display:none}.catalog-filter{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:var(--panel);color:var(--muted);font:inherit;font-size:.78rem;min-height:44px;white-space:nowrap}.catalog-filter[aria-pressed=true]{border-color:var(--mint);color:var(--mint)}.detail-row a,.cost-note a{color:var(--mint);text-decoration:underline}

/* Benchmark iteration: comparable options remain usable without WebGL/tiles. */
#homeScreen .home-eyebrow{margin:0;color:var(--mint);font-size:.77rem;font-weight:650;letter-spacing:.03em}
#homeScreen h1{font-size:clamp(2.1rem,5vw,3.25rem);line-height:1.06;max-width:16ch;margin:0}
.home-benefits{display:flex;gap:7px;flex-wrap:wrap}.home-benefits span{border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:.75rem;color:var(--muted)}
.home-help{border-top:1px solid var(--line);padding-top:12px;margin-top:4px;font-size:.84rem;line-height:1.55}.home-help summary{min-height:44px;cursor:pointer;font-weight:650}.home-help dl{margin:0}.home-help dt{font-weight:650;margin:10px 0 4px}.home-help dd{margin:0 0 14px;color:var(--muted)}
html[data-theme=dark] :is(.home-lead,.home-option small,.home-privacy){color:#b5c1cc}
html[data-theme=dark] .home-car{border-color:var(--line)}html[data-theme=dark] .home-car button{color:var(--mint)}
.station-view-toggle{position:absolute;z-index:1005;right:12px;top:calc(max(8px,env(safe-area-inset-top)) + 198px);min-height:44px;padding:8px 12px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;font-size:.8rem;box-shadow:var(--shadow)}
.station-list-panel{position:absolute;z-index:1001;inset:calc(max(8px,env(safe-area-inset-top)) + 145px) 0 calc(144px + env(safe-area-inset-bottom));overflow:auto;padding:14px 14px 28px;background:var(--bg);overscroll-behavior:contain}.station-list-panel[hidden]{display:none}.station-list-panel h2{font-size:1.15rem;margin:0 105px 8px 0}.station-list-panel>p{font-size:.8rem;line-height:1.45;color:var(--muted);max-width:52ch;margin:0 105px 14px 0}
.station-list-item{display:grid;gap:8px;text-align:left;width:100%;min-height:44px;border:1px solid var(--line);border-radius:16px;padding:16px;margin:0 0 10px;background:var(--panel);color:var(--ink);font:inherit;overflow-wrap:anywhere}.station-list-item>strong{font-size:.98rem;line-height:1.4}.station-list-item>span,.station-list-item small{font-size:.8rem;color:var(--muted);line-height:1.4}.station-list-values{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.station-list-values b{color:var(--ink)}.station-list-more{min-height:44px;background:var(--panel);color:var(--mint);border:1px solid var(--line);border-radius:12px;padding:12px;width:100%;font:inherit}
#mapScreen.list-view .map-theme-toggle,#mapScreen.list-view .map-fallback-note,#mapScreen.list-view .maplibregl-control-container{display:none}#mapScreen.list-view #locationStatusBar{position:relative;top:auto;left:auto;right:auto;z-index:1004;margin:140px 14px 0}#mapScreen.list-view:has(#locationStatusBar:not([hidden])) .station-list-panel{top:230px}
#fallbackPins{display:none!important}
@media(min-width:760px){.station-view-toggle{top:76px;right:12px}.station-list-panel{left:590px;right:12px;top:20px;bottom:20px;border:1px solid var(--line);border-radius:22px;padding-top:76px}#mapScreen.list-view:has(#locationStatusBar:not([hidden])) .station-list-panel{top:20px}#homeScreen{max-width:680px;margin:auto}.home-options{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.home-option,.station-list-item{transition:none}}

/* Identity iteration: compact app home, calm contrast, optional promotion in flow. */
#homeScreen{gap:12px;padding:20px 20px max(22px,env(safe-area-inset-bottom));scroll-padding-top:18px}
.home-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.home-wordmark{display:flex;align-items:center;gap:10px;font-size:1.1rem;letter-spacing:-.035em}.home-wordmark svg{width:38px;height:38px}.home-wordmark rect{fill:var(--mint-soft);stroke:var(--line)}.home-wordmark path{fill:none;stroke:var(--mint);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.home-beta{font-size:.68rem;letter-spacing:.04em;color:var(--muted);border:1px solid var(--line);padding:4px 8px;border-radius:999px}
#homeScreen .home-eyebrow{font-size:.72rem;margin:3px 0 0}#homeScreen h1{font-size:clamp(1.95rem,7.5vw,2.65rem);line-height:1.1;max-width:18ch;letter-spacing:-.045em}#homeScreen .home-lead{font-size:.92rem;line-height:1.5;max-width:45ch;margin:0 0 4px}
#homeScreen .home-car{padding:10px 12px;border:1px solid var(--line);border-radius:15px;background:var(--panel);min-height:52px;gap:8px}#homeScreen .home-car span{font-size:.8rem}#homeScreen .home-car button{font-size:.78rem;padding:0 4px;flex-shrink:0}
#homeScreen .home-options{gap:10px;margin:2px 0}.home-option{padding:16px;min-height:98px;border-radius:18px;gap:13px}.home-option strong{font-size:1.12rem;margin-bottom:4px}.home-option small{font-size:.8rem;line-height:1.4}.home-option svg{width:28px;height:28px}.home-option:hover{border-color:var(--mint)}.home-option:active{transform:translateY(1px)}
.home-secondary button{min-height:62px;font-size:.74rem}.home-quick label{font-size:.8rem}.home-quick input{font-size:16px}.home-quick button{font-size:.84rem}.home-help{font-size:.8rem}.home-privacy{font-size:.73rem}
.home-promotion{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:18px;padding:16px;background:var(--panel);margin-top:4px}.promotion-symbol{background:var(--mint-soft);border-radius:12px;padding:10px;flex-shrink:0}.promotion-symbol svg{width:22px;height:22px;fill:none;stroke:var(--mint);stroke-width:1.7;stroke-linejoin:round}.promotion-label{font-size:.65rem;color:var(--muted);letter-spacing:.04em}.home-promotion h2{font-size:.97rem;line-height:1.35;letter-spacing:-.02em;margin:5px 0 6px}.home-promotion p{font-size:.76rem;line-height:1.45;color:var(--muted);margin:0 0 7px}.home-promotion a{display:inline-flex;align-items:center;gap:7px;min-height:44px;color:var(--mint);font-size:.78rem;font-weight:650;text-decoration:underline;text-underline-offset:4px}.home-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.7rem;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}.home-footer a{color:var(--muted);min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
@media(min-width:760px){#homeScreen{max-width:760px;padding:32px 36px;gap:16px}.home-options{grid-template-columns:1fr 1fr}.home-option{min-height:114px}.home-promotion{max-width:100%}}
@media(max-width:350px){#homeScreen{padding-left:15px;padding-right:15px}#homeScreen h1{font-size:1.9rem}.home-promotion{gap:9px;padding:12px}.promotion-symbol{display:none}}
