:root{color-scheme:dark;--bg:#0b100f;--panel:#131b19;--panel2:#1b2521;--line:#2b3831;--text:#eef4ef;--muted:#a1b1a6;--green:#b7ed79;--blue:#73bdfa;--orange:#ffbb77;font:14px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 75% 0,#17231c,transparent 48%),var(--bg);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button,input,select,summary{min-height:44px}button{border-radius:9px;border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:10px 16px}button:hover{border-color:#759166;background:#243529}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}a{color:var(--green)}[hidden]{display:none!important}.skip{position:absolute;left:15px;top:-100px;z-index:100;padding:12px;background:#000}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}header{display:flex;align-items:center;justify-content:space-between;padding:0 4%;height:88px;border-bottom:1px solid var(--line);gap:20px;background:#0d1412e8}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font-size:15px;letter-spacing:1.3px;white-space:nowrap}.brand b{font-weight:500;color:var(--green)}.brand small{display:block;font-size:8px;letter-spacing:2px;color:var(--muted);margin-top:3px}.brand-mark{font-size:33px;color:var(--green);border:1px solid #496534;border-radius:11px;width:40px;height:44px;text-align:center;line-height:40px}nav{display:flex;align-items:center;gap:5px;height:100%}nav button{background:none;border:0;color:var(--muted);font-size:13px;padding:10px 15px}nav button.active{background:#263625;color:var(--green)}.demo-badge{font-size:8px;letter-spacing:1px;border:1px solid #43523f;border-radius:20px;padding:8px 11px;color:#b9c5b5;white-space:nowrap}main{max-width:1510px;padding:0 4%;margin:auto}.intro,.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:40px 0 28px}.eyebrow{font-size:9px;letter-spacing:2.4px;color:var(--green);margin:0 0 14px;font-weight:600}h1{font-size:clamp(32px,3.5vw,48px);font-weight:500;line-height:1.16;letter-spacing:-1.9px;margin:0 0 16px}h1 span{color:var(--green)}h2{font-size:21px;line-height:1.35;letter-spacing:-.45px;font-weight:500;margin:0 0 12px}h3{font-size:15px;font-weight:500}.subtle{color:var(--muted);font-size:13px}.caption{color:var(--muted);font-size:11px;line-height:1.6}.intro-actions{display:flex;gap:12px;align-items:center}.primary{background:var(--green);border-color:var(--green);color:#182211;font-size:12px;font-weight:650}.primary:hover{background:#ccff91;color:#182211;border-color:#ccff91}.secondary{background:#17211b;font-size:12px}.danger{background:#38231e;color:#ffc0a4}.wide{width:100%}.panel{background:linear-gradient(125deg,#17201c,#121a17);border:1px solid var(--line);border-radius:16px;padding:26px;min-width:0}.home-grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:20px}.vehicle-hero{display:flex;flex-direction:column;justify-content:space-between;min-height:385px}.vehicle-hero h2{font-size:23px;max-width:250px}.vehicle-top{display:flex;justify-content:space-between;gap:14px}.vehicle-symbol{font-size:30px;color:var(--green)}.battery-ring{width:148px;height:148px;position:relative;margin:14px 0;display:grid;place-items:center}.battery-ring svg{position:absolute;width:148px;height:148px}.battery-ring .ring-content{text-align:center}.ring-content strong{font-size:36px;letter-spacing:-1px;font-weight:500;line-height:1}.ring-content small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.vehicle-stats{display:flex;gap:24px}.vehicle-stats strong{display:block;font-weight:500;font-size:19px}.vehicle-stats small{color:var(--muted);font-size:10px}.vehicle-hero .caption{margin-bottom:0}.panel-head{display:flex;justify-content:space-between;align-items:start;gap:14px}.panel-head .eyebrow{margin-bottom:7px}.panel-head h2{font-size:17px}.tag{font-size:10px;padding:6px 10px;border:1px solid #3e4c3e;border-radius:20px;color:#b7cbb4;white-space:nowrap}.tag.blue{color:#afd7f8;border-color:#3e576a}.map-card{padding-bottom:16px;overflow:hidden}.map-area{height:300px;position:relative;overflow:hidden}.map-area:not(.real-road-map) svg{width:100%;height:100%;display:block}.map-legend{display:flex;gap:24px;color:#a4b9ad;font-size:10px}.map-legend span:first-child{color:var(--blue)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:13px;overflow:hidden;margin:20px 0}.metric{background:#141d18;padding:20px 24px}.metric small{display:block;color:var(--muted);font-size:10px;margin-bottom:8px}.metric strong{display:block;font-size:29px;font-weight:500;letter-spacing:-1px}.metric em{font-size:10px;font-style:normal;color:var(--muted)}.metric:last-child strong{color:var(--green)}.home-bottom{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.next-charger{display:flex;align-items:center;gap:15px}.charge-icon{width:45px;height:45px;border-radius:12px;background:#283c22;color:var(--green);font-size:27px;display:grid;place-items:center}.next-info{display:flex;gap:24px;margin:22px 0}.next-info strong{display:block;font-size:25px;font-weight:500}.next-info small{color:var(--muted);font-size:10px}.journey-grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:22px;align-items:start}.form-panel{padding:24px}.form-panel h2{margin-bottom:23px}label{display:block;font-size:11px;color:#bfcbc2;margin-bottom:16px}label small{float:right;color:var(--muted);font-size:10px}input,select{width:100%;display:block;margin-top:6px;background:#0f1713;border:1px solid #344339;border-radius:8px;padding:11px 12px;font-size:12px;color:var(--text)}input[type=checkbox]{width:17px;min-height:17px;height:17px;margin:0;accent-color:var(--green)}.two,.three{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.three{grid-template-columns:repeat(3,1fr)}fieldset{border:0;padding:0;margin:0 0 18px;min-width:0}legend{font-size:11px;color:#c4cfc4;padding:0 0 10px}.mode-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mode-buttons button{font-size:11px;padding:10px 4px}.mode-buttons button.active,.subnav .active{border-color:#718b53;background:#2b3e24;color:var(--green)}details{border-top:1px solid var(--line);margin:16px 0;padding-top:5px}summary{cursor:pointer;padding:10px 0;font-size:12px;color:#b5c5b7}.check{display:flex;align-items:center;gap:10px;min-height:32px}.journey-results>.map-area{height:300px;padding:4px}.result-title{display:flex;justify-content:space-between;align-items:center;margin:24px 0 12px}.result-title h2{margin:0}.trip-breakdown{display:flex;gap:20px;color:var(--muted);font-size:11px;flex-wrap:wrap}.stop{margin:10px 0;padding:0;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.stop summary{display:flex;align-items:center;gap:13px;padding:17px;color:var(--text);list-style:none}.stop summary::-webkit-details-marker{display:none}.stop summary .stop-title{flex:1;min-width:0}.stop-title strong{display:block;font-size:13px;font-weight:500}.stop-title small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.stop-soc{color:var(--green);font-size:13px}.stop-cost{font-size:15px;text-align:right;min-width:65px}.stop-cost small{font-size:10px;color:var(--muted);display:block}.stop-body{padding:0 20px 20px;font-size:12px;color:var(--muted)}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}td,th{padding:10px 5px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:500;font-size:10px}.arrival{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#253920;border:1px solid #4d653c;border-radius:10px;padding:18px;margin:16px 0;color:#d2ebbd}.arrival small{color:#b6c8a6}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.comparison-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.compare-card{padding:15px 10px;min-width:0;text-align:left}.compare-card strong{display:block;font-size:12px;color:var(--green)}.compare-card span{font-size:18px;display:block;margin:10px 0}.compare-card small{font-size:10px;color:var(--muted);display:block}.compare-card.active{border-color:var(--green)}.context-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.context-grid .panel{padding:20px}.context-grid svg{width:100%;height:100px}.weather-value{font-size:27px;color:var(--green)}.station-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.station-card{padding:22px}.station-card h2{font-size:17px;min-height:46px}.station-card .price{font-size:27px;color:var(--green);margin:12px 0}.price small{font-size:11px;color:var(--muted)}.station-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:12px 0}.amenities{font-size:11px;color:#becbb8;min-height:36px}.score-badge{float:right;width:42px;height:42px;border:1px solid #719947;border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:17px}.filters{display:grid;grid-template-columns:1fr 1fr 2fr;gap:20px;align-items:start}.filters button{grid-column:1/-1;justify-self:start}.filters label,.filters fieldset{margin:0}.checks{display:flex;flex-wrap:wrap;gap:8px 17px}.checks label{display:flex;align-items:center;gap:7px;min-height:30px;font-size:11px}.notice{border:1px solid #4a5141;background:#242a20;color:#c5ccb5;padding:14px 18px;border-radius:9px;font-size:12px}.assistant{max-width:950px;margin:auto}.lissy-orb{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;font-size:50px;color:var(--green);background:radial-gradient(circle,#3a562c,#17291b);border:1px solid #6b9451}.message{max-width:85%;padding:16px 20px;margin:20px 0;border-radius:12px;line-height:1.8;font-size:13px;white-space:pre-wrap}.assistant-message{background:#1e2b23;border:1px solid #354538}.user-message{margin-left:auto;background:#324628;color:#e5f6d7}.message small{display:block;font-size:10px;color:var(--muted);margin-top:9px}#chat{min-height:180px;max-height:500px;overflow:auto}.quick-questions{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.quick-questions button{font-size:11px}#chat-form{display:flex;gap:12px}#chat-form input{margin:0;flex:1;min-width:0}.subnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.subnav button{font-size:12px}.selected-card{border-color:#7aa558}.premium{max-width:800px}.premium-price{font-size:45px;letter-spacing:-1px;color:var(--green);margin:24px 0 10px}.profile-page form{margin-top:20px}.empty{text-align:center;padding:40px;color:var(--muted);border:1px dashed var(--line);border-radius:12px}.error{padding:15px;background:#38251d;border:1px solid #885943;color:#ffcdad;border-radius:9px;font-size:12px}#global-status{position:sticky;top:12px;z-index:10;background:#2a4328;border:1px solid #719e50;color:#e4f6d1;border-radius:8px;padding:12px;margin-top:15px;font-size:12px}.history-row{border-bottom:1px solid var(--line);padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.score-row{display:grid;grid-template-columns:100px 1fr 35px;align-items:center;gap:15px;font-size:12px;margin:12px 0}progress{width:100%;height:9px;accent-color:var(--green)}dialog{border:1px solid #4d6543;border-radius:16px;background:#152019;color:var(--text);padding:32px;max-width:620px;width:calc(100% - 32px);max-height:85vh;overflow:auto}dialog::backdrop{background:#030a08b8;backdrop-filter:blur(5px)}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;padding:25px 0;margin-top:42px;font-size:9px;color:var(--muted);letter-spacing:.5px}.green{color:var(--green)}.muted{color:var(--muted)}@media(max-width:1150px){header{padding:0 3%;gap:12px}.demo-badge{display:none}nav button{padding:10px 12px}.intro-actions{flex-direction:column;align-items:stretch}.home-grid{grid-template-columns:280px 1fr}.station-grid{grid-template-columns:repeat(2,1fr)}.journey-grid{grid-template-columns:290px 1fr}.metric{padding:18px 14px}.metric strong{font-size:24px}.stop-soc{display:none}.comparison-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){header{height:75px;padding:0 5%}nav{position:fixed;bottom:0;left:0;right:0;height:70px;background:#111b16f5;z-index:20;justify-content:space-around;border-top:1px solid #42533a;backdrop-filter:blur(10px);gap:0}nav button{font-size:20px;min-width:54px;padding:5px 7px;border-radius:8px}nav button span{display:block;font-size:9px;line-height:1.8}main{padding:0 5%}.intro,.section-heading{padding:30px 0 24px;align-items:start}.intro{display:block}.intro-actions{flex-direction:row;flex-wrap:wrap;margin-top:20px}.intro-actions button{flex:1}h1{font-size:37px;letter-spacing:-1.3px}.home-grid,.journey-grid,.home-bottom{grid-template-columns:1fr}.vehicle-hero{min-height:270px;display:grid;grid-template-columns:1fr 140px;gap:10px}.vehicle-top{grid-column:1}.vehicle-hero .battery-ring{grid-column:2;grid-row:1/3;align-self:center;margin:0}.vehicle-hero .caption{grid-column:1/-1}.vehicle-symbol{display:none}.vehicle-hero h2{font-size:20px}.vehicle-stats{gap:20px}.map-card{padding:20px}.map-area{height:265px}.map-card .panel-head .tag{display:none}.map-legend{font-size:9px;gap:12px}.metrics{grid-template-columns:repeat(2,1fr);gap:1px}.metric strong{font-size:29px}.station-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.filters fieldset{grid-column:1/-1}.context-grid{grid-template-columns:1fr}.three{grid-template-columns:1fr}.section-heading .tag{white-space:normal;max-width:110px}.section-heading h1{font-size:32px}.subnav{gap:6px}.subnav button{padding:8px 12px;font-size:11px}.panel{padding:22px}.station-card h2{min-height:0}.message{max-width:95%}.lissy-orb{width:55px;height:55px;font-size:30px}.assistant{padding:16px}#chat-form button{padding:8px 13px}.arrival{font-size:12px}.arrival small{font-size:10px}.history-row{flex-wrap:wrap}footer{padding-bottom:95px;font-size:8px}footer>span:last-child{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.real-road-map{background:#17231d;isolation:isolate;border-radius:12px;z-index:0}.real-road-map .leaflet-tile-pane{filter:brightness(.68) saturate(.65)}.real-road-map .leaflet-control-attribution{background:#101b17ed;color:#d4ded6;font-size:9px;max-width:100%;white-space:normal}.real-road-map .leaflet-control-attribution a{color:#b7ed79}.real-road-map .leaflet-bar a{background:#18281e;color:#e5efd9;min-width:38px;min-height:38px;line-height:38px}.demo-charge-pin{background:#283d21;border:2px solid #b7ed79;border-radius:8px;color:#c5f79b;text-align:center;line-height:22px;font-size:20px;box-shadow:0 2px 7px #0008}.real-road-map .map-fit{background:#18281eea;color:#e5efd9;padding:8px 12px;font-size:11px}.road-loading{padding:25px;color:#b9c6b6}.map-error{position:absolute;left:55px;right:12px;bottom:45px;z-index:800;background:#382c1de8;color:#ffdaad;padding:10px;border-radius:7px;font-size:11px;pointer-events:none}.car-premium-features{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}.car-premium-features article{border:1px solid #47613a;border-radius:12px;padding:20px;background:#1c2c1b}.car-premium-features h3{font-size:21px;margin:0 0 12px}.car-premium-features p{font-size:12px;color:#bbcab2}.map-area.real-road-map{padding:0}.real-road-map .leaflet-tooltip{background:#16271f;color:#eef5e7;border-color:#5f7c50;font-size:11px}@media(max-width:760px){.car-premium-features{grid-template-columns:1fr}.real-road-map .leaflet-control-attribution{font-size:8px}.home-grid .map-area{height:320px}}
.real-road-map .leaflet-control-attribution svg{width:12px;height:8px;display:inline;vertical-align:baseline}.real-road-map .leaflet-control-attribution{line-height:1.5;padding:2px 5px}.real-road-map canvas{max-width:none}

#live-home{margin-top:20px}#vehicle-live .metrics{grid-template-columns:repeat(2,1fr)}#vehicle-live .metric strong{font-size:24px}#vehicle-live input{max-width:650px}
@media(max-width:760px){input,select,textarea{font-size:16px}header{padding-top:env(safe-area-inset-top);height:calc(75px + env(safe-area-inset-top))}nav{height:calc(70px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}footer{padding-bottom:calc(95px + env(safe-area-inset-bottom))}dialog{max-height:calc(90dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))}main{padding-left:max(5%,env(safe-area-inset-left));padding-right:max(5%,env(safe-area-inset-right))}}
.weather-control{max-width:210px;background:#10211e;padding:6px;border-radius:8px;color:#fff}.weather-control small{display:block;max-width:190px;white-space:normal;font-size:11px}.weather-pin{background:#163e55;color:#fff;border:2px solid #98d7ef;border-radius:8px;text-align:center;font:600 13px/26px sans-serif}
.language-picker{display:flex;align-items:center;gap:6px;margin-left:12px}.language-picker select{width:115px;padding:6px;font-size:16px}header{flex-wrap:wrap}.language-picker span{font-size:18px}
header{height:auto;min-height:88px;padding-top:12px;padding-bottom:12px}@media(max-width:760px){header{height:auto;min-height:75px;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:12px}.language-picker{margin-left:0}}

#tariff-wallet .three{align-items:center} #tariff-wallet input[type=checkbox]{width:auto} #tariff-wallet .panel{min-width:0;overflow-wrap:anywhere} #wallet-form{max-width:640px} #wallet-form textarea{width:100%;box-sizing:border-box} #wallet-form label{display:block;margin-bottom:12px}

#vehicle-catalog .panel{min-width:0;overflow-wrap:anywhere} #personal-vehicle-form{max-width:640px} #personal-vehicle-form label{display:block;margin-bottom:12px} #personal-vehicle-form input[type=checkbox]{width:auto}

#model-results{max-height:500px;overflow-y:auto;margin:16px 0;overscroll-behavior:contain} #vehicle-model-select{width:100%;margin-top:6px} #vehicle-catalog #model-results .panel{margin:0} #vehicle-catalog #model-results{gap:10px}

.map-choices{padding:12px 0;display:flex;flex-wrap:wrap;gap:10px}.map-choices label{flex:1;min-width:140px}.map-choices p{width:100%;margin:0}.map-key{font-size:12px}.demo-charge-pin.map-pin-favorite{background:#ffd45f;color:#302300;border:3px solid white;font-size:24px;box-shadow:0 0 0 3px #8c6600}.demo-charge-pin.map-pin-cheap{background:#58c9ff;color:#082b40;border:2px solid white}.demo-charge-pin.map-pin-planned{background:#b7ed79;color:#173014;border:2px solid white}.demo-charge-pin.map-pin-other{background:#364e43;color:white}.demo-charge-pin{display:flex;align-items:center;justify-content:center}

.currency-panel{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.currency-panel label{display:flex;align-items:center;gap:8px}.currency-panel select{width:90px}.currency-panel p{margin:0}.currency-panel details{width:100%;color:var(--muted)}

.legal-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px} #privacy-dialog input[type=checkbox]{width:auto} #privacy-dialog button{margin:6px 0}

.place-picker{max-width:min(92vw,700px)}.place-picker form{display:grid;gap:16px;min-width:0}.place-picker select{width:100%;min-width:0;max-width:100%}.overview-station-search input{min-width:0;max-width:100%}

.waypoint-control{min-width:0}.waypoint-control [hidden]{display:none!important}#add-waypoint{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--green)}#add-waypoint span{font-size:24px;line-height:1}.waypoint-input-row{display:flex;align-items:center;gap:8px}.waypoint-input-row input{flex:1;min-width:0}.waypoint-input-row button{flex:none;min-width:44px;min-height:44px;font-size:22px}

button[data-saved="true"]{background:var(--green);color:#10251f;opacity:1}

.navigation-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.navigation-home>.map-area{height:clamp(340px,58dvh,720px);width:100%;margin-bottom:12px}.navigation-home .section-heading{padding:20px 0 14px}.navigation-home .journey-grid{display:block}.navigation-home .form-panel{margin-bottom:18px}.navigation-home .journey-results{min-width:0}.navigation-lissy{padding:10px 0 18px}.navigation-lissy p{margin:6px 0;overflow-wrap:anywhere}.navigation-lissy #navigation-lissy-answer{max-height:24dvh;overflow:auto;white-space:pre-wrap}.booked-tariff{display:flex;gap:10px;align-items:center;margin:10px 0}.booked-tariff input[type=checkbox]{width:auto;flex:none}#journey-tariffs{min-width:0;margin:16px 0;padding:12px;border:1px solid var(--line);border-radius:12px}#journey-tariffs legend{font-weight:600}#wallet-plan-select{min-width:0;width:100%}#profile>.section-heading{flex-wrap:wrap;gap:12px}@media(max-width:760px){.navigation-home>.map-area{height:52dvh;min-height:290px}.navigation-toolbar button{min-height:44px}.navigation-home h1{font-size:30px}}

.wallet-tariff-option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:9px;padding:12px;min-height:48px;cursor:pointer;margin-bottom:8px;font-size:14px}.wallet-tariff-option input[type=radio]{width:20px;height:20px;min-height:20px;margin:0;flex:0 0 20px;accent-color:var(--green)}.wallet-tariff-option:has(input:checked){border-color:var(--green);background:#263b20;color:var(--green)}.wallet-tariff-option:focus-within{outline:2px solid var(--green);outline-offset:2px}

#wallet-search-matches{margin:12px 0 20px}#wallet-search-matches button{display:block;width:100%;text-align:left;margin:8px 0;white-space:normal}#wallet-reset-filters{margin:0 10px 12px 0}

.profile-entry{display:grid;grid-template-columns:1fr auto;gap:6px 16px;width:100%;text-align:left;margin:10px 0;padding:18px;min-height:64px}.profile-entry>span:first-child{font-weight:600;overflow-wrap:anywhere}.profile-entry small{grid-column:1;color:var(--muted)}.profile-entry>span:last-child{grid-column:2;grid-row:1/3;font-size:26px;align-self:center}.profile-entry:hover,.profile-entry:focus-visible{border-color:var(--green)}.profile-actions{max-width:460px}.profile-actions h2{overflow-wrap:anywhere}

.navigation-guidance{margin:16px 0;border:1px solid #73bdfa;padding:20px}.navigation-instruction{font-size:clamp(1.25rem,3vw,2rem);font-weight:700;line-height:1.35;min-height:2.7em}.navigation-soc{display:block;max-width:220px;margin:12px 0}.navigation-guidance .button-row{flex-wrap:wrap;gap:10px}.navigation-guidance button{min-height:48px}.navigation-next{font-weight:600}

.preferred-provider-pin{display:flex;align-items:center;justify-content:center;border:2px solid white;border-radius:9px;background:#173047;color:white;font:bold 11px/1.1 sans-serif;box-shadow:0 2px 6px #0008;text-align:center}.preferred-provider-pin span{padding:2px;overflow:hidden;max-height:30px}.preferred-provider-pin.provider-enbw{background:#ffd500;color:#073b76;font-size:14px}.preferred-map-legend{max-width:260px;background:#122738ee;color:#fff;padding:7px 10px;border-radius:7px;font:12px/1.4 sans-serif}

/* Driving home: only the map and compact controls, with drawers for editing. */
body.map-focus{overflow:hidden;padding:0}body.map-focus>header,body.map-focus footer,body.map-focus #journey>.section-heading{display:none}body.map-focus main{padding:0;max-width:none}body.map-focus #journey{position:fixed;inset:0;height:100dvh;isolation:isolate}body.map-focus #journey-map{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;border-radius:0;padding:0}body.map-focus #journey-map:not(.real-road-map){display:flex;align-items:center;justify-content:center;flex-direction:column;padding:100px 25px;background:#14232c}body.map-focus .navigation-toolbar{position:absolute;top:max(16px,env(safe-area-inset-top));right:16px;z-index:1100;margin:0;gap:8px}body.map-focus .navigation-toolbar button{background:#10232ff2;border:1px solid #718899;border-radius:14px;min-width:48px;height:48px;box-shadow:0 3px 14px #0004}body.map-focus .navigation-toolbar button[aria-pressed=false]{opacity:.65}body.map-focus .navigation-toolbar button[aria-pressed=true]{border-color:#b7ed79;color:#b7ed79}.map-trip-summary{display:none}body.map-focus .map-trip-summary{display:block;position:absolute;left:18px;bottom:max(38px,env(safe-area-inset-bottom));z-index:1000;background:#10232ff2;padding:16px 20px;border-radius:16px;max-width:min(480px,calc(100vw - 36px));box-shadow:0 6px 24px #0005}body.map-focus .map-trip-distance{font-size:24px}body.map-focus .map-trip-time{font-size:18px;color:#c5d9e9}body.map-focus .map-trip-stop{margin:7px 0 0}body.map-focus .gps-panel{position:absolute;top:80px;right:16px;z-index:1050;padding:8px 12px;max-width:300px;background:#10232fee;border-radius:14px}body.map-focus .gps-panel>.caption{display:none}body.map-focus .gps-status{font-size:11px;margin:3px}body.map-focus .gps-panel button{font-size:11px;padding:6px;min-height:36px}body.map-focus .navigation-lissy{position:absolute;right:16px;bottom:40px;z-index:1000;max-width:310px;padding:10px;border-radius:14px;background:#10232fee}body.map-focus .navigation-lissy p{font-size:12px}body.map-focus #navigation-lissy-status{display:none}body.map-focus #navigation-lissy-answer{max-height:120px}body.map-focus .navigation-lissy button{font-size:11px;min-height:36px}body.map-focus .journey-results,body.map-focus #trip-live{display:none}body.map-focus .show-journey-details .journey-results{display:block;position:absolute;top:145px;right:16px;bottom:180px;width:min(460px,calc(100vw - 32px));overflow:auto;z-index:1200;background:#10232ff5;border-radius:16px;padding:15px}body.map-focus #navigation-planner{position:absolute;top:78px;left:16px;bottom:165px;overflow:auto;width:min(420px,calc(100vw - 32px));z-index:1250;background:#13232cf5}body.map-focus .navigation-guidance{position:absolute;top:16px;left:65px;z-index:1000;padding:12px;margin:0;width:min(450px,calc(100vw - 420px));background:#10232ff2;border-radius:16px}body.map-focus .navigation-guidance>h2,body.map-focus .navigation-guidance>.caption,body.map-focus .navigation-next{display:none}body.map-focus .navigation-instruction{font-size:20px;min-height:0;margin:6px 0}body.map-focus .navigation-guidance button{font-size:11px;padding:7px;min-height:36px}body.map-focus .navigation-soc{margin:4px;font-size:11px;max-width:140px}body.map-focus .navigation-soc input{min-height:30px;padding:3px 8px}body.map-focus .preferred-map-legend{max-width:200px;font-size:10px;margin-bottom:155px}body.map-focus #global-status{position:fixed;top:170px;left:20px;z-index:1500;max-width:360px}body.map-focus .leaflet-top.leaflet-right{top:145px}@media(max-width:760px){body.map-focus .navigation-toolbar{left:12px;right:12px;justify-content:flex-end}body.map-focus .navigation-toolbar button{padding:7px;min-width:42px;font-size:12px}body.map-focus .navigation-guidance{top:150px;left:12px;width:calc(100vw - 24px)}body.map-focus .gps-panel{top:72px;right:12px;max-width:calc(100vw - 75px)}body.map-focus .map-trip-summary{left:12px;bottom:36px;max-width:calc(100vw - 24px);width:calc(100vw - 24px)}body.map-focus .navigation-lissy{bottom:145px;right:12px;max-width:240px}body.map-focus .navigation-lissy p:empty{display:none}body.map-focus .preferred-map-legend{margin-bottom:235px}body.map-focus .show-journey-details .journey-results{bottom:145px;top:140px}}

 .preferred-provider-pin.provider-ionity{background:#fff;color:#8d146e}.preferred-provider-pin.provider-aral{background:#074baa;color:white}.preferred-provider-pin.provider-tesla{background:#d71920;color:white}.preferred-provider-pin.provider-fastned{background:#ffdc00;color:#172e21}

body.map-focus .navigation-toolbar button{color:#eef6ff;font-size:22px}body.map-focus .navigation-toolbar #navigation-plan-toggle{font-size:13px}body.map-focus .navigation-guidance .primary{color:#142019;background:#b7ed79}body.map-focus .navigation-toolbar button[aria-pressed=true]{color:#b7ed79}

.preferred-provider-pin{border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible;color:#173047!important;display:block!important}.preferred-provider-pin>span{display:flex;justify-content:center;align-items:center;width:88px;height:40px;max-height:none;border:2px solid #fff;border-radius:12px;background:#fff;color:#173047;font:800 13px/1 system-ui;letter-spacing:.2px;box-shadow:0 3px 10px #0007;padding:6px;overflow:visible}.preferred-provider-pin:after{content:"";position:absolute;left:37px;top:38px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:9px solid #fff;filter:drop-shadow(0 2px 2px #0004)}.preferred-provider-pin.provider-enbw>span{background:#ffdc00;color:#063778}.preferred-provider-pin.provider-ionity>span{background:#fff;color:#8c176f}.preferred-provider-pin.provider-aral>span{background:#0756ae;color:#fff}.preferred-provider-pin.provider-tesla>span{background:#fff;color:#cb181f}.preferred-provider-pin.provider-fastned>span{background:#ffdc00;color:#173b2c}body.map-focus .navigation-toolbar button{display:flex;align-items:center;justify-content:center;background:#102635;color:#fff;box-shadow:0 2px 8px #0005}body.map-focus .navigation-toolbar svg{width:24px;height:24px;flex:none}.preferred-map-legend button{font-size:11px;min-height:30px;padding:3px 8px}

body.map-focus .navigation-toolbar #navigation-lissy-toggle,body.map-focus .navigation-toolbar [data-go=lissy]{font-size:13px;gap:8px;white-space:nowrap;padding:10px 13px}body.map-focus #navigation-details-toggle{display:grid;place-items:center;padding:0;min-width:48px;width:48px;color:#fff}body.map-focus #navigation-details-toggle svg{display:block;width:28px;height:28px;margin:0}body.map-focus .gps-panel .gps-use{display:none}@media(max-width:760px){body.map-focus .navigation-toolbar{gap:5px;flex-wrap:wrap}body.map-focus .navigation-toolbar #navigation-lissy-toggle,body.map-focus .navigation-toolbar [data-go=lissy]{font-size:12px;padding:8px}.map-focus .gps-panel{top:125px}.map-focus .navigation-guidance{top:210px}}

/* Compact operator badges, with the original EnBW wordmark. */
.preferred-provider-pin>span{position:absolute;left:6px;top:4px;width:48px;height:24px;border-radius:6px;font-size:9px;letter-spacing:0;padding:2px;gap:1px;white-space:nowrap;overflow:hidden}
.preferred-provider-pin:after{left:26px;top:27px;border-left-width:4px;border-right-width:4px;border-top-width:6px}
.preferred-provider-pin.provider-enbw>span{background:#fff;color:#003b70}
.preferred-provider-pin img{display:block;width:38px;height:10px;object-fit:contain;min-width:0}
body.map-focus .navigation-toolbar #navigation-voice-toggle{font-size:12px;gap:7px;padding:8px 11px;opacity:1}
.real-road-map{touch-action:none}

.station-details{margin:10px 0;color:#173047;font:13px/1.5 system-ui}.station-details strong{display:block;font-size:17px}.station-details ul{padding-left:18px;margin:7px 0}.station-details p{margin:6px 0}.station-details small{display:block;color:#465765}.leaflet-popup-content{max-height:min(430px,60dvh);overflow:auto}

body.map-focus .navigation-toolbar #navigation-station-search{font-size:12px;padding:8px 11px}.navigation-traffic{border-top:1px solid #405360;margin-top:10px;padding-top:6px;font-size:12px;max-height:160px;overflow:auto}.navigation-traffic p{margin:4px 0}.navigation-traffic small{display:block;color:#c5d9e9;font-size:10px;line-height:1.4}

.charging-preferences{max-width:640px;margin-bottom:18px}.charging-preferences input[type=range]{width:100%;accent-color:var(--green);padding:0}.charging-preferences output{font-size:22px;color:var(--green);font-weight:700}.power-scale{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}

.power-scale{position:relative;height:24px;display:block}.power-scale span{position:absolute;top:0;transform:translateX(-50%)}.power-scale span:first-child{left:0;transform:none}.power-scale span:nth-child(2){left:22.414%}.power-scale span:nth-child(3){left:48.276%}.power-scale span:last-child{right:0;transform:none}

body.map-focus .map-search-status{position:absolute;top:135px;right:16px;z-index:1200;max-width:min(380px,calc(100vw - 32px));background:#102635;color:#fff;padding:12px;border-radius:12px;font-size:12px}@media(max-width:760px){body.map-focus .map-search-status{top:205px}}

.map-search-status button{display:block;width:100%;margin-top:8px;text-align:left;font-size:12px;white-space:normal}

/* Station details never pan the map or cover the turn instruction. */
.station-info-sidebar{position:fixed;right:16px;top:210px;bottom:30px;width:320px;max-width:calc(100vw - 32px);z-index:1300;display:flex;flex-direction:column;background:#fff;color:#173047;border:1px solid #ccd6de;border-radius:14px;box-shadow:0 5px 24px #0005;overflow:hidden}
.station-info-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid #dce3e9;flex:none}
.station-info-heading h2{font-size:17px;margin:0}.station-info-close{color:#173047;background:#eef3f6;border:0;font-size:26px;padding:0;width:44px;min-height:44px}
.station-info-body{padding:16px;overflow:auto;overscroll-behavior:contain;min-height:0;font-size:13px}.station-info-body>div>strong{font-size:18px}.station-info-body button{display:block;width:100%;margin-top:10px}.station-info-body a{color:#075b9d}.station-info-sidebar .station-details{margin:14px 0}.station-info-sidebar:focus{outline:none}
@media(max-width:760px){.station-info-sidebar{right:8px;top:330px;bottom:160px;width:280px;max-width:75vw;min-height:130px}.station-info-heading{padding:4px 10px}.station-info-body{padding:10px}}
.map-trip-summary[data-traffic=minor] .map-trip-distance,.map-trip-summary[data-traffic=minor] .map-trip-time,.traffic-route-button[data-traffic=minor]{color:#ffb454}.map-trip-summary[data-traffic=severe] .map-trip-distance,.map-trip-summary[data-traffic=severe] .map-trip-time,.traffic-route-button[data-traffic=severe]{color:#ff737b}.map-trip-summary [role=button]{cursor:pointer}.map-trip-summary [role=button]:focus-visible{outline:2px solid white;outline-offset:3px}.traffic-route-button{font-size:12px;width:100%;text-align:left;background:#172d3b}.traffic-info-sidebar{z-index:1301}

/* One compact journey card: progress, vehicle readings and guidance. */
body.map-focus .map-trip-summary .navigation-guidance{position:static;inset:auto;width:auto;margin:10px 0 0;padding:10px 0 0;border:0;border-top:1px solid #71889955;border-radius:0;box-shadow:none;background:transparent}
body.map-focus .map-trip-summary{max-height:55dvh;overflow:auto;width:min(440px,calc(100vw - 36px))}
body.map-focus .map-trip-summary .navigation-instruction{font-size:18px}
body.map-focus .map-vehicle-data{font-size:13px;color:#c5d9e9;margin:8px 0}
body.map-focus .navigation-guidance [hidden]{display:none!important}
body.map-focus .navigation-toolbar #navigation-voice-toggle{font-size:13px}

.gps-help{font-size:12px;max-height:45dvh;overflow:auto}.gps-help summary{cursor:pointer;font-weight:600}.gps-help p{line-height:1.45}

.route-alternative-picker{background:#10232ff2;padding:10px;border-radius:12px;max-width:320px;margin-bottom:36px}.route-alternative-picker button{display:block;width:100%;font-size:12px;margin:5px 0;min-height:44px}.route-alternative-picker button[aria-pressed=true]{border:2px solid #73bdfa}.route-alternative-picker p{font-size:11px;margin:6px;color:#d8e5ef}@media(max-width:760px){.route-alternative-picker{max-width:230px;margin-bottom:350px}}


.map-follow{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:#102635;color:#fff;border:1px solid #718899;border-radius:12px;box-shadow:0 3px 12px #0005;cursor:pointer}
.map-follow[aria-pressed=true]{color:#b7ed79;border-color:#b7ed79}.map-follow:disabled{opacity:.55;cursor:default}.map-follow:focus-visible{outline:3px solid #73bdfa;outline-offset:2px}

/* Keep the five main actions aligned in one accessible row. */
body.map-focus .navigation-toolbar{flex-wrap:nowrap;align-items:center;}
body.map-focus .navigation-toolbar button{white-space:nowrap;flex-shrink:0;}
@media(max-width:760px){
 body.map-focus .navigation-toolbar{left:12px;right:12px;gap:4px;justify-content:flex-end;}
 body.map-focus .navigation-toolbar button{height:44px;min-height:44px;border-radius:12px;}
 body.map-focus .navigation-toolbar #navigation-station-search,
 body.map-focus .navigation-toolbar #navigation-settings-toggle,
 body.map-focus .navigation-toolbar #navigation-details-toggle{width:44px;min-width:44px;padding:0;}
 body.map-focus .navigation-toolbar svg,
 body.map-focus .navigation-toolbar #navigation-details-toggle svg{width:22px;height:22px;}
 body.map-focus .navigation-toolbar #navigation-plan-toggle{min-width:0;padding:6px 8px;font-size:12px;flex-shrink:1;}
 body.map-focus .navigation-toolbar #navigation-voice-toggle{min-width:60px;padding:6px;gap:4px;font-size:12px;}
 body.map-focus .leaflet-top.leaflet-left{top:72px;}
}
@media(max-width:360px){
 body.map-focus .navigation-toolbar{gap:3px;}
 body.map-focus .navigation-toolbar #navigation-plan-toggle{font-size:11px;padding:6px 4px;}
 body.map-focus .navigation-toolbar #navigation-voice-toggle{font-size:11px;gap:3px;}
 body.map-focus .navigation-toolbar svg,
 body.map-focus .navigation-toolbar #navigation-details-toggle svg{width:20px;height:20px;}
}

/* A single visual convention for the map toolbar's toggles. */
body.map-focus .navigation-toolbar button{background:#26343e;border-color:#74818c;color:#edf3f7;opacity:1;}
body.map-focus .navigation-toolbar button[aria-pressed=true],
body.map-focus .navigation-toolbar button[aria-expanded=true]{background:#29442b;border-color:#b7ed79;color:#c9fa9a;box-shadow:0 0 0 1px #b7ed79;}
body.map-focus .navigation-toolbar button:disabled{opacity:.5;}
body.map-focus .navigation-toolbar{z-index:1400;}
body.map-focus #profile.map-settings-open{display:block;position:fixed;inset:76px 12px max(12px,env(safe-area-inset-bottom));z-index:1350;overflow:auto;overscroll-behavior:contain;background:#13232c;border:1px solid #718899;border-radius:16px;padding:16px;}
.comfort-preferences{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;padding:12px;border:1px solid #718899;border-radius:12px}.comfort-preferences legend{font-weight:700}.comfort-preferences label{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;margin:0;background:#26343e;border:1px solid #74818c;border-radius:10px;color:#edf3f7;cursor:pointer}.comfort-preferences label:has(input:checked){background:#29442b;border-color:#b7ed79;color:#c9fa9a}.comfort-preferences input{width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:#b7ed79}.comfort-preferences .caption{flex-basis:100%;margin:6px 0 0}

/* Forms own the map surface while open; background cards must not intercept taps. */
body.map-focus:has(#navigation-planner:not([hidden]),#profile.map-settings-open) .station-info-sidebar,
body.map-focus:has(#navigation-planner:not([hidden]),#profile.map-settings-open) .map-trip-summary,
body.map-focus:has(#navigation-planner:not([hidden]),#profile.map-settings-open) .navigation-guidance,
body.map-focus:has(#navigation-planner:not([hidden]),#profile.map-settings-open) .gps-panel,
body.map-focus:has(#navigation-planner:not([hidden]),#profile.map-settings-open) .navigation-lissy,
body.map-focus:has(#navigation-planner:not([hidden]),#profile.map-settings-open) .map-search-status{display:none;}
@media(max-width:760px){
 body.map-focus #journey{top:var(--visible-top,0px);bottom:auto;height:var(--visible-height,100dvh);}
 body.map-focus #navigation-planner{top:72px;left:12px;right:12px;bottom:8px;width:auto;max-height:none;margin:0;overscroll-behavior:contain;scroll-padding:16px;background:#13232c;}
 body.map-focus #profile.map-settings-open{top:calc(var(--visible-top,0px) + 72px);bottom:auto;height:calc(var(--visible-height,100dvh) - 80px);margin:0;scroll-padding:16px;}
 body.map-focus #global-status{position:static;max-width:none;}
 dialog{position:fixed;top:calc(var(--visible-top,0px) + 8px);bottom:auto;margin:0 auto;max-height:calc(var(--visible-height,100dvh) - 16px);padding:20px;overscroll-behavior:contain;scroll-padding:16px;}
 dialog .two{grid-template-columns:1fr;}
 dialog input,dialog select{min-width:0;max-width:100%;}
 #navigation-planner input,#navigation-planner select,dialog input,dialog select{scroll-margin:16px;}
 body:has(dialog[open]){overflow:hidden;}
}
body.map-focus .legal-links{display:none;}
@media(max-width:760px){
 select{appearance:none;-webkit-appearance:none;min-height:44px;padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,#a1b1a6 50%),linear-gradient(135deg,#a1b1a6 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat;}
}

/* Quiet map: compact controls, explanations on demand. */
body.map-focus .gps-panel:has(.gps-help[hidden]){display:none;}
body.map-focus .gps-panel{top:72px;left:12px;right:auto;max-width:calc(100% - 84px);padding:0 10px;}
.gps-disclosure>summary{min-height:44px;padding:10px 0;}
.gps-disclosure[open]{max-height:45dvh;overflow:auto;}
body.map-focus .preferred-map-legend{display:none;}
body.map-focus .leaflet-top.leaflet-right{top:72px;right:12px;}
body.map-focus .leaflet-right .leaflet-control{margin-right:0;}
body.map-focus .map-fit{width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;border-radius:12px;}
body.map-focus .map-search-status{top:72px;left:12px;right:72px;max-width:none;max-height:35dvh;overflow:auto;padding:8px 12px;font-size:12px;}
body.map-focus .map-search-status details{margin:6px 0 0;padding:0;}
body.map-focus:has(#navigation-planner:not([hidden]),#profile.map-settings-open) .leaflet-control-container{visibility:hidden;}

body.map-focus #navigation-lissy-status{display:block;font-size:12px;margin:0;}
body.map-focus .navigation-lissy{bottom:max(36px,env(safe-area-inset-bottom));left:12px;right:72px;max-width:340px;max-height:30dvh;overflow:auto;}
body.map-focus:has(.map-trip-summary:not([hidden])) .navigation-lissy{bottom:180px;}

/* Shared appearance for every map control, including Leaflet controls. */
body.map-focus .navigation-toolbar button,
body.map-focus .real-road-map .map-follow,
body.map-focus .real-road-map .map-fit{
 background:#26343e;color:#f4f7fa;border:1px solid #74818c;
 border-radius:12px;height:44px;min-height:44px;
 font-family:inherit;font-size:12px;font-weight:600;line-height:1.2;
 box-shadow:0 2px 8px #0005;
}
body.map-focus .navigation-toolbar #navigation-plan-toggle,
body.map-focus .navigation-toolbar #navigation-voice-toggle{
 font-family:inherit;font-size:12px;font-weight:600;line-height:1.2;
}
body.map-focus .navigation-toolbar button:not(:disabled),
body.map-focus .real-road-map .map-follow:not(:disabled),
body.map-focus .real-road-map .map-fit:not(:disabled){opacity:1;}
body.map-focus .navigation-toolbar button[aria-pressed=true],
body.map-focus .navigation-toolbar button[aria-expanded=true],
body.map-focus .real-road-map .map-follow[aria-pressed=true]{
 background:#26343e;color:#f4f7fa;border-color:#b7ed79;
 box-shadow:0 2px 8px #0005,inset 0 0 0 1px #b7ed79;
}
body.map-focus .navigation-toolbar svg,
body.map-focus .navigation-toolbar #navigation-details-toggle svg,
body.map-focus .real-road-map .map-follow svg,
body.map-focus .real-road-map .map-fit svg{
 display:block;width:22px;height:22px;opacity:1;stroke-width:1.8;
}

/* Keep screen controls upright; only the map is projected by WebGL. */
.real-road-map>.map-perspective-canvas{position:absolute;inset:0;z-index:450;background:#17231d;}
.perspective-active>.leaflet-pane{visibility:hidden;}
.perspective-marker{border:0;background:transparent;padding:0;cursor:pointer;}
.perspective-marker>img,.perspective-marker>div{display:block;}
body.map-focus .real-road-map .map-perspective[aria-pressed=true]{border-color:#b7ed79;box-shadow:0 2px 8px #0005,inset 0 0 0 1px #b7ed79;}
.real-road-map .map-error{z-index:850;}
.maplibregl-popup-content{background:#26343e;color:#f4f7fa;}

/* Driving view: one compact maneuver card; full trip data lives behind i. */
body.map-focus .map-trip-summary{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;width:auto;min-width:180px;max-width:calc(100vw - 24px);padding:10px 14px;max-height:32dvh;}
body.map-focus .map-trip-summary .map-trip-distance,
body.map-focus .map-trip-summary .map-trip-time{font-size:14px;font-weight:600;line-height:1.3;}
body.map-focus .map-trip-summary .navigation-guidance{order:-1;flex:0 0 100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 6px;padding:0;border:0;}
body.map-focus .map-trip-summary .navigation-guidance .button-row{order:2;margin:0 0 0 auto;gap:4px;}
body.map-focus .map-trip-summary .navigation-guidance .navigation-voice{width:40px;min-width:40px;min-height:40px;padding:8px;}
.navigation-voice svg{display:block;width:22px;height:22px;}
.navigation-turn{display:flex;align-items:center;gap:10px;}
.navigation-turn-icon{display:flex;}
.navigation-turn-icon svg{width:40px;height:40px;}
.navigation-turn-distance{font-size:22px;line-height:1.2;white-space:nowrap;}
.navigation-turn-exit{font-size:11px;}
.navigation-turn-exit:empty{display:none;}
body.map-focus .map-trip-summary .navigation-instruction:not(.sr-only){font-size:13px;font-weight:500;max-width:300px;margin:3px 0;}
body.map-focus .map-trip-summary .navigation-instruction.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);margin:-1px;}
body.map-focus .navigation-audio:empty{display:none;}
body.map-focus:has(.navigation-guidance[data-active=true]) .route-alternative-picker{display:none;}
body.map-focus:has(.map-trip-summary:not([hidden])) .navigation-lissy{bottom:150px;}

/* Position, overview and perspective: a single stack at the lower left. */
body.map-focus .leaflet-bottom.leaflet-left{left:12px;bottom:max(36px,env(safe-area-inset-bottom));display:flex;flex-direction:column-reverse;gap:10px;}
body.map-focus .leaflet-bottom.leaflet-left>.leaflet-control{float:none;margin:0;}
body.map-focus .map-trip-summary{left:auto;right:12px;max-width:calc(100vw - 84px);min-width:0;}
body.map-focus .navigation-lissy{left:72px;right:12px;}
.navigation-turn{display:grid;grid-template-columns:40px auto;column-gap:8px;row-gap:0;}
.navigation-turn-exit{grid-column:2;}

.planned-stop-provider>span{width:84px;height:30px;gap:4px;padding:3px 5px;border-radius:9px;}
.planned-stop-provider:after{left:35px;top:28px;}
.planned-stop-number{display:grid;place-items:center;flex:none;width:18px;height:20px;border-radius:5px;background:#173047;color:#fff;font:700 11px/1 system-ui;}
.planned-stop-brand{font:700 10px/1.1 system-ui;overflow:hidden;text-overflow:ellipsis;}
.planned-stop-provider img{flex:none;}

.journey-results .weather-control{max-width:none;background:transparent;padding:12px 0;border-top:1px solid var(--line);}
.journey-results .weather-control small{max-width:none;}

/* Traffic colour applies equally to remaining distance and estimated arrival. */
body.map-focus .map-trip-summary[data-traffic=clear] .map-trip-distance,body.map-focus .map-trip-summary[data-traffic=clear] .map-trip-time{color:#75d993;}
body.map-focus .map-trip-summary[data-traffic=minor] .map-trip-distance,body.map-focus .map-trip-summary[data-traffic=minor] .map-trip-time{color:#ffb454;}
body.map-focus .map-trip-summary[data-traffic=severe] .map-trip-distance,body.map-focus .map-trip-summary[data-traffic=severe] .map-trip-time{color:#8b1e2d;background:#ffe8eb;border-radius:4px;padding:1px 3px;}
body.map-focus .map-trip-summary[data-traffic=unknown] .map-trip-distance,body.map-focus .map-trip-summary[data-traffic=unknown] .map-trip-time{color:#c5d9e9;}

/* EV Travel Live: distinct sources share existing typography and buttons. */
.ev-live{margin-top:1rem;padding:.85rem;border:1px solid var(--line,#35483d);border-radius:.75rem;min-width:0;background:var(--panel,#131b19);color:var(--text,#eef4ef)}
.ev-live-heading{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}
.ev-live-heading h3{margin:0;font-size:1rem}
.ev-live-badge{font-size:.7rem;padding:.25rem .5rem;border-radius:1rem;background:#25392d;color:#cde7ce}
.ev-live-official,.ev-live-community{margin:.65rem 0;padding:.7rem;border-radius:.65rem}
.ev-live-official{background:#152b37;border-left:3px solid #63bce2}
.ev-live-community{background:#253020;border-left:3px solid #b5d86f}
.ev-live p{margin:.35rem 0;overflow-wrap:anywhere}
.ev-live small{display:block;line-height:1.45;color:var(--muted,#a1b1a6)}
.ev-live strong{font-size:13px}
.panel .station-details{color:var(--text,#eef4ef)}
.panel .station-details>small{color:var(--muted,#a1b1a6)}
.ev-live-report{padding:.55rem 0;border-top:1px solid #435440}
.ev-live-report button{margin-top:.45rem}
.ev-live .button-row{display:flex;flex-wrap:wrap;gap:.45rem;margin:.65rem 0}
.ev-live-form{padding:.75rem;margin:.6rem 0;background:#18251e;border-radius:.6rem;display:grid;gap:.65rem}
.ev-live-form[hidden]{display:none}
.ev-live-form input,.ev-live-form select{width:100%;min-width:0;font-size:16px}
.ev-live-form fieldset{min-width:0;border:1px solid #435440;border-radius:.5rem;display:grid;gap:.6rem}
.ev-live-form fieldset[hidden]{display:none}
.ev-live-risk{border:1px solid #d9ae61;border-radius:.65rem;background:#332b1b;padding:.85rem;margin:.7rem 0}
.ev-live-risk[hidden]{display:none}
.ev-live-risk p{overflow-wrap:anywhere}
.ev-live-proposal{border-top:1px solid #806a3c;margin-top:.7rem;padding-top:.7rem}
.ev-live-risk .button-row{display:flex;flex-wrap:wrap;gap:.5rem}
@media(max-width:480px){.ev-live .button-row button{flex:1 1 130px}.ev-live-official,.ev-live-community{padding:.6rem}.ev-live-form{padding:.6rem}}

.place-suggestions{margin:6px 0 12px;padding:6px;border:1px solid #718899;border-radius:10px;background:#10232f;color:#f4f7fa;max-height:260px;overflow:auto;position:relative;z-index:5}.place-suggestions[hidden]{display:none}.place-suggestions [role=option]{display:block;width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere;background:transparent;color:inherit;border:0;border-radius:6px;padding:10px;min-height:44px}.place-suggestions [role=option]:hover,.place-suggestions [aria-selected=true]{background:#28483e;color:#c8f895}.place-suggestions small{display:block;padding:6px;font-size:11px}

/* Keep battery input baselines aligned when labels wrap on phones. */
#route-form .two:has(input[name="startSoc"]){grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
#route-form .two:has(input[name="startSoc"])>label{display:flex;flex-direction:column;min-width:0}
#route-form .two:has(input[name="startSoc"])>label>input{margin-top:auto;width:100%;min-width:0}

/* Fit station information to the visible phone viewport and let its body scroll. */
.station-info-body{flex:1 1 auto;touch-action:pan-y;overflow-wrap:anywhere;-webkit-overflow-scrolling:touch}
.station-info-heading h2{min-width:0;overflow-wrap:anywhere}
.station-info-close{flex:0 0 44px;touch-action:manipulation}
.perspective-marker,.leaflet-marker-icon{touch-action:manipulation}
@media(max-width:760px){
 .station-info-sidebar{top:auto;bottom:calc(12px + env(safe-area-inset-bottom));right:8px;left:8px;width:auto;max-width:none;min-height:0;max-height:calc(var(--visible-height,100dvh) - 120px);height:min(60dvh,520px)}
 .station-info-body{padding:14px}
}

/* EV Travel: responsive, map-first planning interface. */
:root{color-scheme:light;--bg:#f3f5f8;--panel:#fff;--panel2:#f5f7fa;--line:#dce3eb;--text:#20334a;--muted:#627389;--green:#137f60;--blue:#2264dc;--orange:#99600c;font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
body{background:var(--bg);color:var(--text)}
header{background:#fff;border-color:var(--line);height:76px}a{color:var(--blue)}
.brand{color:var(--text);letter-spacing:.6px}.brand b,.brand-mark{color:var(--green)}.brand-mark{border-color:#c8e4d8;background:#f0faf5}.brand small{color:var(--muted)}
nav button{color:var(--muted)}nav button.active{background:#eaf1ff;color:#215dc9}
button{background:#fff;color:var(--text);border-color:var(--line);border-radius:12px;touch-action:manipulation}
button:hover{background:#eef4ff;border-color:#a5bce7}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#2264dc}
.primary{background:#2264dc;border-color:#2264dc;color:#fff;font-size:14px;font-weight:650}.primary:hover{background:#194fb4;border-color:#194fb4;color:#fff}
.secondary{background:#f4f7fb;color:#334c6b;font-size:13px}.danger{background:#fff0ed;color:#a43722;border-color:#f0c6bb}
.panel,.metric,.station-card,.assistant,dialog{background:#fff;color:var(--text);border-color:var(--line);box-shadow:0 2px 10px #16345506}
input,select,textarea{background:#f8fafc;color:var(--text);border:1px solid #d8e0ea;border-radius:10px;min-height:48px}input::placeholder{color:#7d8ca0}label{color:#465b73}
fieldset,details{border-color:var(--line)}summary{color:var(--text)}.caption,.subtle{color:var(--muted)}.eyebrow{color:var(--green)}
h1{font-size:clamp(28px,3vw,40px);font-weight:650;letter-spacing:-1.1px}h2{font-weight:650}.tag,.tag.blue{color:#3f658b;border-color:#d3e1ee;background:#f3f7fc}
.subnav{display:flex;flex-wrap:wrap;gap:6px;padding:6px;background:#e9eef5;border-radius:14px;margin-bottom:22px}.subnav button{border:0;background:transparent;color:#52667f}.subnav button.active{background:#fff;color:#215dc9;box-shadow:0 1px 5px #233f6915}
.notice{background:#eff5fc;border-color:#d2e2f4;color:#365b80}.error{background:#fff1ed;color:#9e3824;border-color:#f0c4b8}#global-status{background:#edf8f0;color:#225c3a;border-color:#a8d8b8}
.currency-panel{padding:20px;border-radius:16px;margin:16px 0}.currency-panel select{background-color:#f8fafc}.legal-links a{color:var(--muted)}
.comfort-preferences{border-color:var(--line);background:#f8fafc}.comfort-preferences label{background:#fff;color:var(--text);border-color:var(--line)}.comfort-preferences label:has(input:checked){background:#e9f5ef;color:#116248;border-color:#83bda5}
.map-identity{display:none}
body.map-focus .map-identity{display:flex;position:absolute;top:18px;left:20px;z-index:1100;align-items:center;gap:10px;padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 24px #18365415;pointer-events:none}
.map-identity-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#e9f6ef;color:#137f60;font-size:26px;font-weight:700}.map-identity strong{display:block;font-size:15px;letter-spacing:-.3px}.map-identity small{display:block;font-size:10px;color:var(--muted)}
body.map-focus .navigation-toolbar{top:20px;right:20px;gap:8px;padding:6px;border:1px solid var(--line);border-radius:18px;background:#ffffffed;box-shadow:0 4px 24px #18365415}
body.map-focus .navigation-toolbar button,body.map-focus .real-road-map .map-follow,body.map-focus .real-road-map .map-fit{background:#fff;color:#304963;border:1px solid #dce3eb;border-radius:12px;box-shadow:none;height:46px;min-height:46px;font-size:13px}
body.map-focus .navigation-toolbar #navigation-plan-toggle{padding:10px 18px;background:#2264dc;color:#fff;border-color:#2264dc;font-size:14px}
body.map-focus .navigation-toolbar button[aria-pressed=true],body.map-focus .navigation-toolbar button[aria-expanded=true],body.map-focus .real-road-map .map-follow[aria-pressed=true]{background:#e9f5ef;color:#12694e;border-color:#8dc7af;box-shadow:inset 0 0 0 1px #8dc7af}
body.map-focus .navigation-toolbar #navigation-plan-toggle[aria-expanded=true]{background:#eaf1ff;color:#215dc9;border-color:#adc5f3;box-shadow:none}
body.map-focus #navigation-planner{top:98px;bottom:20px;left:20px;width:390px;border:1px solid #dce3eb;border-radius:20px;background:#fff;padding:24px;box-shadow:0 8px 40px #17355520;scrollbar-width:thin;scrollbar-color:#c2cfdd transparent}
#navigation-planner>h2{font-size:24px;margin:0 0 18px;letter-spacing:-.6px}
#route-form{display:flex;flex-direction:column;gap:14px}#route-form>label,#route-form>.two>label{margin:0}#route-form>label.check{font-size:12px;background:#f3f8f5;border:1px solid #d9eadd;padding:10px 12px;border-radius:12px;gap:8px}
#route-form label input,#route-form label select{margin-top:6px}#route-form .two{gap:12px}#route-form .two:has(input[name=startSoc])>label{font-size:12px;font-weight:600}#route-form .two:has(input[name=startSoc])>label>input{margin-top:8px;font-size:20px;font-weight:600;padding:12px;color:#20334a}
#route-form .route-addresses{position:relative;padding:14px 14px 14px 36px;border:1px solid #d9e3ee;border-radius:16px;background:#f8fafc}
.route-addresses>label{position:relative;display:block;font-size:11px;font-weight:650;letter-spacing:.3px;margin:0 0 12px}.route-addresses>label:last-of-type{margin-bottom:0}.route-addresses>label:before{content:'';position:absolute;left:-20px;top:31px;width:9px;height:9px;border:2px solid #2264dc;border-radius:50%;background:#fff}.route-addresses>label:last-of-type:before{border-radius:3px;border-color:#137f60;background:#137f60}
#route-form .route-addresses input{background:#fff;font-size:16px;min-height:48px;margin-top:4px}#route-form .waypoint-control{margin:0 0 12px}#route-form .waypoint-control>button{min-height:38px;font-size:12px;background:transparent;border-style:dashed;padding:6px 10px}
#route-form>#navigation-go-home{align-self:flex-start;background:#edf7f1;color:#16694f;border-color:#c7e4d5;font-size:13px;padding:8px 12px;min-height:40px}
#journey-tariffs{margin:0;background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:0 12px}#journey-tariffs summary{font-size:13px;font-weight:600;padding:12px 0}#journey-tariffs label{min-height:44px}
#route-form>details{border:1px solid var(--line);border-radius:12px;padding:0 12px;background:#fff}#route-form>details>summary{padding:12px 0;font-size:13px}#calculate{min-height:52px;border-radius:14px;font-size:15px;margin-top:6px}
body.map-focus #profile.map-settings-open{top:98px;left:20px;right:auto;bottom:20px;width:min(680px,calc(100vw - 40px));height:auto;background:#f5f7fa;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 8px 40px #17355520}
body.map-focus #profile .section-heading{padding:0 0 20px}body.map-focus #profile .section-heading h1{font-size:28px;margin-bottom:6px}body.map-focus #profile .section-heading .tag{display:none}
body.map-focus .show-journey-details .journey-results{top:98px;bottom:20px;left:20px;right:auto;width:390px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 40px #17355520}
body.map-focus .map-trip-summary{background:#fff;color:#20334a;border:1px solid var(--line);border-radius:18px;padding:16px 20px;box-shadow:0 6px 28px #17355520;right:20px;bottom:24px;max-width:420px;gap:4px 8px}
body.map-focus .map-trip-summary .map-trip-distance,body.map-focus .map-trip-summary .map-trip-time{color:#20334a;font-size:16px;font-weight:650}
body.map-focus .map-trip-summary .navigation-instruction:not(.sr-only){color:#52667f;max-width:340px}.navigation-turn-distance{color:#20334a;font-weight:700}.navigation-turn-icon{color:#2264dc}
body.map-focus .gps-panel,body.map-focus .map-search-status,body.map-focus .navigation-lissy{background:#fff;color:#334c6b;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 18px #18365412}
body.map-focus .gps-panel{top:100px;left:auto;right:20px;max-width:260px}body.map-focus .map-search-status{top:100px;left:20px;right:auto;width:390px;max-height:55dvh}
body.map-focus .leaflet-top.leaflet-right{top:190px;right:20px}body.map-focus .leaflet-bottom.leaflet-left{left:20px;bottom:24px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 18px #18365415;gap:4px}
body.map-focus .navigation-lissy{left:auto;right:20px;bottom:24px;max-width:360px}body.map-focus:has(.map-trip-summary:not([hidden])) .navigation-lissy{bottom:190px}
.station-info-sidebar{background:#fff;border-color:var(--line);color:var(--text);box-shadow:0 8px 40px #17355524;top:100px;bottom:24px;right:20px;width:360px;border-radius:20px}.station-info-heading{padding:14px 18px}.station-info-heading h2{font-size:17px}.station-info-close{background:#f0f4f8}.station-info-body{font-size:14px;padding:18px}.station-info-body .station-details{color:#334c6b}.station-info-body>div>strong{font-size:21px;line-height:1.3}.station-info-body small{color:#627389}
.stop-card{border-color:var(--line);border-radius:14px;background:#fff}.stop-number{background:#eaf1ff;color:#2264dc}.stop-soc{color:#137f60}.timeline:before{background:#d9e3f0}.stop-top h3{color:#20334a}.arrival{background:#edf7f1;color:#16694f;border-color:#c7e4d5}
.maplibregl-popup-content{background:#fff;color:#20334a}.place-suggestions{background:#fff;color:#20334a;border-color:#c6d6eb;box-shadow:0 8px 24px #17355520}.place-suggestions button{background:#fff;color:#20334a}.place-suggestions button:hover,.place-suggestions button[aria-selected=true]{background:#edf3ff;color:#215dc9}
@media(min-width:761px) and (max-width:1100px){body.map-focus .map-identity small{display:none}body.map-focus #navigation-planner,body.map-focus .show-journey-details .journey-results{width:350px}body.map-focus .navigation-toolbar #navigation-plan-toggle{padding:10px 12px}}
@media(max-width:760px){
 header{height:72px}nav{background:#fffffff5;border-color:var(--line)}.panel{padding:20px}main{padding:0 16px}h1{font-size:30px}.section-heading{padding:24px 0 18px}.subnav{flex-wrap:nowrap;overflow-x:auto}.subnav button{flex-shrink:0;min-height:44px}
 body.map-focus .map-identity{top:calc(var(--visible-top,0px) + max(8px,env(safe-area-inset-top)));left:12px;padding:0;background:transparent;border:0;box-shadow:none;gap:6px;height:36px;background:#ffffffeb;border-radius:12px;padding-right:10px}body.map-focus .map-identity-mark{width:32px;height:32px;font-size:23px}body.map-focus .map-identity strong{font-size:13px}.map-identity small{display:none}
 body.map-focus .navigation-toolbar{top:calc(max(8px,env(safe-area-inset-top)) + 44px);left:12px;right:12px;justify-content:space-between;gap:4px;padding:5px;border-radius:16px}body.map-focus .navigation-toolbar #navigation-plan-toggle{flex:1;font-size:13px;padding:8px 10px}body.map-focus .navigation-toolbar #navigation-voice-toggle{font-size:12px;padding:6px;min-width:62px}body.map-focus .navigation-toolbar #navigation-station-search,body.map-focus .navigation-toolbar #navigation-settings-toggle,body.map-focus .navigation-toolbar #navigation-details-toggle{width:44px;min-width:44px}
 body.map-focus #navigation-planner,body.map-focus #profile.map-settings-open,body.map-focus .show-journey-details .journey-results{top:126px;bottom:0;left:0;right:0;width:auto;height:auto;max-height:none;border-radius:24px 24px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom));background:#fff;border:1px solid var(--line);box-shadow:0 -6px 35px #17355520;scroll-padding:20px}
 body.map-focus #navigation-planner:before{content:'';display:block;width:38px;height:4px;background:#d0d9e4;border-radius:4px;margin:-12px auto 16px}body.map-focus #navigation-planner>h2{font-size:24px}
 body.map-focus #profile.map-settings-open{top:calc(var(--visible-top,0px) + 126px);height:calc(var(--visible-height,100dvh) - 126px);bottom:auto;background:#f5f7fa}
 body.map-focus .map-trip-summary{left:76px;right:12px;bottom:max(18px,env(safe-area-inset-bottom));max-width:none;width:auto;padding:14px;max-height:34dvh;border-radius:18px}.navigation-turn-distance{font-size:24px}body.map-focus .map-trip-summary .map-trip-distance,body.map-focus .map-trip-summary .map-trip-time{font-size:14px}
 body.map-focus .leaflet-bottom.leaflet-left{left:12px;bottom:max(18px,env(safe-area-inset-bottom))}body.map-focus .leaflet-top.leaflet-right{top:190px;right:12px}
 body.map-focus .gps-panel{top:120px;left:12px;right:72px;max-width:none;font-size:11px}.gps-disclosure>summary{font-size:12px}
 body.map-focus .map-search-status{top:120px;left:12px;right:72px;width:auto;max-height:45dvh}
 body.map-focus .navigation-lissy{left:76px;right:12px;bottom:max(18px,env(safe-area-inset-bottom));max-width:none}body.map-focus:has(.map-trip-summary:not([hidden])) .navigation-lissy{bottom:190px}
 .station-info-sidebar{top:auto;bottom:0;left:0;right:0;width:auto;max-width:none;max-height:calc(var(--visible-height,100dvh) - 126px);height:min(64dvh,580px);border-radius:24px 24px 0 0}.station-info-heading{padding:16px 20px}.station-info-body{padding:16px 20px calc(24px + env(safe-area-inset-bottom))}
 select{background-color:#f8fafc;background-image:linear-gradient(45deg,transparent 50%,#627389 50%),linear-gradient(135deg,#627389 50%,transparent 50%)}
}
@media(max-height:520px) and (orientation:landscape){body.map-focus .map-identity{display:none}body.map-focus .navigation-toolbar{top:8px;left:auto;right:12px;width:auto}body.map-focus #navigation-planner,body.map-focus #profile.map-settings-open,body.map-focus .show-journey-details .journey-results{top:70px;left:12px;right:auto;bottom:8px;width:min(390px,60vw);height:auto;border-radius:18px;padding:20px}body.map-focus .gps-panel{top:72px;left:auto;right:72px;max-width:240px}.station-info-sidebar{top:70px;bottom:8px;left:auto;right:12px;width:min(390px,60vw);height:auto;border-radius:18px}}
body.map-focus .navigation-toolbar #navigation-details-toggle{color:#304963}
#journey-vehicle-info{padding:12px 14px;border:1px solid #d9e3ee;border-radius:12px;background:#f8fafc;font-size:13px;font-weight:600}
#journey-vehicle-info p{margin:0}
.stop{border-color:var(--line);background:#fff;border-radius:14px}.stop summary{padding:16px}.stop-title strong{font-size:14px;font-weight:650}.stop-title small{font-size:12px}.stop-body{font-size:13px;line-height:1.6}
@media(max-width:1150px){.stop-soc{display:block}}
@media(max-width:760px){select{background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat}}
.real-road-map .leaflet-tile-pane{filter:none}
.real-road-map{background:#edf1f5}

/* Station details own a bounded viewport; map cards cannot cover their content. */
.station-info-sidebar:not([hidden]){display:flex;z-index:1600;top:calc(var(--visible-top,0px) + 12px);bottom:auto;height:calc(var(--visible-height,100dvh) - 24px);max-height:calc(var(--visible-height,100dvh) - 24px);min-height:0}
.station-info-sidebar .station-info-heading{flex:0 0 auto;min-height:64px}
.station-info-sidebar .station-info-body{flex:1 1 0;min-height:0;overflow-x:hidden;overflow-y:auto;touch-action:pan-y;overscroll-behavior:contain;padding-bottom:calc(32px + env(safe-area-inset-bottom))}
@media(max-width:760px){.station-info-sidebar:not([hidden]){left:8px;right:8px;width:auto;max-width:none;top:calc(var(--visible-top,0px) + 8px);height:calc(var(--visible-height,100dvh) - 16px);max-height:calc(var(--visible-height,100dvh) - 16px);border-radius:20px}}

body.map-focus .map-trip-summary .navigation-stop{display:block;min-height:44px;padding:9px 12px;font-size:12px;font-weight:650;background:#fff0ed;color:#a43722;border:1px solid #efbdaf;white-space:normal}
body.map-focus .map-trip-summary .navigation-guidance .button-row{flex-wrap:wrap;align-items:center}
body.map-focus .map-trip-summary{overflow-y:auto;overscroll-behavior:contain}

/* Night mode follows the saved choice or the system colour scheme. */
html[data-theme=dark]{color-scheme:dark;--bg:#101923;--panel:#172431;--panel2:#203140;--line:#34495c;--text:#e7eef7;--muted:#a6b7c9;--green:#70d5ae;--blue:#8cb8ff;--orange:#f4b96f}
html[data-theme=dark] body{background:var(--bg);color:var(--text)}
html[data-theme=dark] header,html[data-theme=dark] nav{background:#14212f;border-color:var(--line)}
html[data-theme=dark] .panel,html[data-theme=dark] dialog,html[data-theme=dark] .metric,html[data-theme=dark] .station-card,html[data-theme=dark] .assistant,html[data-theme=dark] .stop{background:var(--panel);color:var(--text);border-color:var(--line)}
html[data-theme=dark] button,html[data-theme=dark] .secondary{background:#243748;color:var(--text);border-color:#405870}html[data-theme=dark] button:hover{background:#2b455e;border-color:#7395b7}html[data-theme=dark] .primary{background:#316eda;color:#fff;border-color:#5288e4}html[data-theme=dark] .primary:hover{background:#407de7}
html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background-color:#111d29;color:var(--text);border-color:#405870}html[data-theme=dark] input::placeholder{color:#94a8be}html[data-theme=dark] label{color:#c2d0df}
html[data-theme=dark] .subnav{background:#101d2a}html[data-theme=dark] .subnav button{background:transparent;color:#b3c3d6}html[data-theme=dark] .subnav button.active,html[data-theme=dark] nav button.active{background:#284969;color:#c8dfff}
html[data-theme=dark] .notice,html[data-theme=dark] .tag,html[data-theme=dark] .tag.blue{background:#21384e;color:#b6d5f8;border-color:#41627f}html[data-theme=dark] .error,html[data-theme=dark] .danger{background:#452822;color:#ffd4c8;border-color:#936052}html[data-theme=dark] #global-status{background:#183d32;color:#b5ebd2;border-color:#397d65}
html[data-theme=dark] .brand-mark{background:#163e32;border-color:#397d65}html[data-theme=dark] .brand{color:var(--text)}
html[data-theme=dark] .comfort-preferences,html[data-theme=dark] #journey-tariffs,html[data-theme=dark] #route-form>details,html[data-theme=dark] #journey-vehicle-info,html[data-theme=dark] #route-form .route-addresses{background:#111e2b;color:var(--text);border-color:#344d64}
html[data-theme=dark] #route-form .route-addresses input{background:#1c2d3e;color:var(--text)}html[data-theme=dark] #route-form>label.check{background:#17372e;color:#b3e6ce;border-color:#315d4d}
html[data-theme=dark] #route-form .two:has(input[name=startSoc])>label>input{color:var(--text)}html[data-theme=dark] #route-form>#navigation-go-home{background:#193d31;color:#a6e6c9;border-color:#397d65}html[data-theme=dark] .route-addresses>label:before{background:#182b40;border-color:#8cb8ff}html[data-theme=dark] .route-addresses>label:last-of-type:before{background:#70d5ae;border-color:#70d5ae}
html[data-theme=dark] .comfort-preferences label{background:#243748;color:var(--text)}html[data-theme=dark] .comfort-preferences label:has(input:checked){background:#204b3a;color:#b9efd7;border-color:#65af90}
html[data-theme=dark] body.map-focus .map-identity,html[data-theme=dark] body.map-focus .navigation-toolbar,html[data-theme=dark] body.map-focus #navigation-planner,html[data-theme=dark] body.map-focus #profile.map-settings-open,html[data-theme=dark] body.map-focus .show-journey-details .journey-results,html[data-theme=dark] body.map-focus .map-trip-summary,html[data-theme=dark] body.map-focus .gps-panel,html[data-theme=dark] body.map-focus .map-search-status,html[data-theme=dark] body.map-focus .navigation-lissy,html[data-theme=dark] body.map-focus .leaflet-bottom.leaflet-left{background:#172431;color:var(--text);border-color:#34495c;box-shadow:0 6px 24px #0005}
html[data-theme=dark] body.map-focus .map-identity-mark{background:#204b3a;color:#a3e9ca}
html[data-theme=dark] body.map-focus .navigation-toolbar button,html[data-theme=dark] body.map-focus .navigation-toolbar #navigation-details-toggle,html[data-theme=dark] body.map-focus .real-road-map .map-follow,html[data-theme=dark] body.map-focus .real-road-map .map-fit{background:#243748;color:var(--text);border-color:#405870}
html[data-theme=dark] body.map-focus .navigation-toolbar #navigation-plan-toggle{background:#316eda;color:#fff;border-color:#5288e4}html[data-theme=dark] body.map-focus .navigation-toolbar #navigation-plan-toggle[aria-expanded=true]{background:#284969;color:#c8dfff;border-color:#5b82af}
html[data-theme=dark] body.map-focus .navigation-toolbar button[aria-pressed=true],html[data-theme=dark] body.map-focus .navigation-toolbar button[aria-expanded=true],html[data-theme=dark] body.map-focus .real-road-map .map-follow[aria-pressed=true]{background:#204b3a;color:#b9efd7;border-color:#65af90}
html[data-theme=dark] body.map-focus .map-trip-summary .map-trip-distance,html[data-theme=dark] body.map-focus .map-trip-summary .map-trip-time,html[data-theme=dark] .navigation-turn-distance{color:var(--text)}html[data-theme=dark] body.map-focus .map-trip-summary .navigation-instruction:not(.sr-only){color:#becbdc}html[data-theme=dark] .navigation-turn-icon{color:#8cb8ff}
html[data-theme=dark] body.map-focus .map-trip-summary .navigation-stop{background:#452822;color:#ffd4c8;border-color:#936052}
html[data-theme=dark] .station-info-sidebar{background:#172431;color:var(--text);border-color:#405870}html[data-theme=dark] .station-info-heading{border-color:#34495c}html[data-theme=dark] .station-info-close{background:#243748;color:var(--text)}html[data-theme=dark] .station-info-body .station-details,html[data-theme=dark] .station-details,html[data-theme=dark] .stop-title strong{color:var(--text)}html[data-theme=dark] .station-info-body small,html[data-theme=dark] .station-details small{color:#b1c1d3}html[data-theme=dark] .station-info-body a{color:#8cb8ff}
html[data-theme=dark] .arrival{background:#193d31;color:#a6e6c9;border-color:#397d65}html[data-theme=dark] .maplibregl-popup-content,html[data-theme=dark] .place-suggestions,html[data-theme=dark] .place-suggestions button{background:#172b3d;color:var(--text);border-color:#405870}html[data-theme=dark] .place-suggestions button:hover,html[data-theme=dark] .place-suggestions button[aria-selected=true]{background:#284969;color:#d3e6ff}
/* Filter only the basemap: station markers, controls and route colours stay intact. */
html[data-theme=dark] .real-road-map .leaflet-tile-pane{filter:invert(.9) hue-rotate(180deg) brightness(.85) saturate(.65)}
#theme-preferences{margin-bottom:16px}#theme-preferences label{display:block}#theme-preferences select{width:100%;margin-top:8px}

/* One top menu: no detached brand badge; stop is the main action during a trip. */
body.map-focus .navigation-toolbar{top:max(12px,env(safe-area-inset-top))}
body.map-focus .navigation-toolbar #navigation-plan-toggle[data-action=stop]{background:#ac372b;color:#fff;border-color:#ac372b;box-shadow:none}
body.map-focus #navigation-planner,body.map-focus .show-journey-details .journey-results{top:84px}
body.map-focus #profile.map-settings-open{top:84px}
body.map-focus .map-trip-summary{padding:10px 14px;max-height:28dvh}
body.map-focus .map-trip-summary .navigation-guidance{gap:4px 8px;margin-bottom:4px}
@media(max-width:760px){
 body.map-focus .navigation-toolbar{top:max(8px,env(safe-area-inset-top));left:12px;right:12px}
 body.map-focus #navigation-planner,body.map-focus .show-journey-details .journey-results{top:78px}
 body.map-focus #profile.map-settings-open{top:calc(var(--visible-top,0px) + 78px);height:calc(var(--visible-height,100dvh) - 78px)}
 body.map-focus .gps-panel,body.map-focus .map-search-status{top:78px}
 body.map-focus .leaflet-top.leaflet-right{top:140px}
 body.map-focus .map-trip-summary{padding:10px 12px}
}
html[data-theme=dark] body.map-focus .navigation-toolbar #navigation-plan-toggle[data-action=stop]{background:#783329;color:#ffe8e0;border-color:#c87b69}

/* Sheet affordance: pull the handle down or tap it to dismiss the information. */
.info-drag-handle,body.map-focus .map-trip-summary>.info-drag-handle{display:flex;align-items:center;justify-content:center;flex:0 0 auto;align-self:stretch;width:100%;min-height:28px;margin:0;padding:8px 12px;border:0;border-radius:12px 12px 0 0;background:transparent;box-shadow:none;cursor:grab;touch-action:none;user-select:none}
body.map-focus .map-trip-summary>.info-drag-handle{order:-2;flex-basis:100%;margin-top:-6px}
.info-drag-handle>span{display:block;width:44px;height:5px;border-radius:8px;background:#8a99a8;pointer-events:none}
.info-drag-handle:active{cursor:grabbing;background:transparent}
.info-drag-handle:focus-visible{outline:2px solid #237af5;outline-offset:-3px}
html[data-theme=dark] .info-drag-handle>span{background:#b1c1d3}

.garage-vehicle-card{margin:12px 0;border:1px solid #dbe3ec;border-radius:18px;overflow:hidden;background:#f7f9fc}
.garage-vehicle-photo{margin:0;padding:12px;background:#f7f9fc;color:#52677b;min-width:0}
.garage-vehicle-photo img{display:block;width:100%;height:170px;object-fit:contain;border-radius:10px;background:#edf1f5}
.garage-vehicle-photo figcaption{margin-top:8px;font-size:10px;line-height:1.5;color:#64748b;overflow-wrap:anywhere}
.garage-vehicle-photo figcaption a{color:inherit;text-decoration:underline}
.garage-vehicle-placeholder{display:flex;align-items:center;justify-content:center;height:170px;background:linear-gradient(135deg,#edf2f7,#e4eaf1);border-radius:10px;color:#647b92}
.garage-vehicle-placeholder svg{width:min(240px,90%);height:100px}
.garage-vehicle-card .profile-entry{margin:0;width:100%;border:0;border-radius:0;background:transparent}
html[data-theme=dark] .garage-vehicle-card,html[data-theme=dark] .garage-vehicle-photo{background:#1b2b3b;border-color:#34495c;color:#b5c8dc}
html[data-theme=dark] .garage-vehicle-placeholder{background:#243748;color:#98afc5}
html[data-theme=dark] .garage-vehicle-photo figcaption{color:#b1c1d3}
@media(min-width:900px){#personal-vehicles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.garage-vehicle-card{margin:0}}

/* The gear opens one clear menu; its entries lead to the existing subpages. */
#profile.profile-menu-root .subnav{display:flex;flex-direction:column;align-items:stretch;overflow:visible;gap:8px;padding:0;background:transparent}
#profile.profile-menu-root .subnav button{text-align:left;min-height:52px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel,#fff);color:var(--text,#20334a)}
#profile.profile-menu-root .profile-page,#profile.profile-menu-root .profile-menu-back{display:none!important}
#profile:not(.profile-menu-root) .subnav{display:none}
.profile-menu-back{margin-bottom:16px}
html[data-theme=dark] #profile.profile-menu-root .subnav button{background:#243748}

#profile .profile-menu-back{position:sticky;top:0;z-index:4;min-height:44px;background:var(--panel,#fff);box-shadow:0 2px 8px #17355512}
.dialog-back{display:block;margin:0 0 12px;min-height:44px}
html[data-theme=dark] #profile .profile-menu-back{background:#243748}

/* Community surfaces follow the selected theme, including Android WebView. */
.ev-live-official{background:#e9f4fb;border-left-color:#247da3;color:var(--text)}
.ev-live-community{background:#edf5e8;border-left-color:#568735;color:var(--text)}
.ev-live-form{background:#f0f5f2;color:var(--text)}
.ev-live-risk{background:#fff4df;color:var(--text);border-color:#b9832c}
.ev-live-official p,.ev-live-community p,.ev-live-risk p{color:inherit}
.ev-live-form fieldset,.ev-live-report{border-color:var(--line)}
html[data-theme=dark] .ev-live-official{background:#172f3b;border-left-color:#63bce2}
html[data-theme=dark] .ev-live-community{background:#273323;border-left-color:#b5d86f}
html[data-theme=dark] .ev-live-form{background:#20332c}
html[data-theme=dark] .ev-live-risk{background:#3b3020;border-color:#d9ae61}
