/* Compact calculator layout and user-selectable colour schemes. */
.toast{top:var(--toast-top,max(16px,env(safe-area-inset-top)));bottom:auto!important;display:flex;align-items:flex-start;gap:14px;width:max-content;max-width:min(480px,calc(100vw - 32px));background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:14px 12px 14px 18px;font-size:13px;font-weight:500;line-height:1.6;box-shadow:0 8px 28px #0003}
#toast-message{min-width:0;align-self:center;overflow-wrap:anywhere}
#toast-close{position:relative;flex:0 0 28px;display:grid;place-items:center;width:28px;height:28px;padding:0;border-radius:8px;color:var(--muted)}
#toast-close::before{content:"";position:absolute;inset:-8px;border-radius:8px}
#toast-close svg{width:16px;height:16px}
#toast-close:hover{background:var(--bg);color:var(--ink)}
.cf-favourite-prompt{background:var(--paper);max-height:calc(100dvh - max(24px,env(safe-area-inset-top)) - max(24px,env(safe-area-inset-bottom)));border:2px solid var(--green)}.cf-favourite-success{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}.cf-favourite-success h2{font-size:22px;line-height:1.3}.cf-favourite-success svg{color:var(--green);width:28px;height:28px;flex:none}.cf-favourite-prompt p{margin:20px 0;font-size:16px;line-height:1.6;color:var(--ink)}.cf-favourite-prompt-actions{display:flex;gap:12px}.cf-favourite-prompt-actions button{flex:1;min-height:48px;font-size:14px;margin:0}.cf-favourite-prompt-actions .primary{background:var(--green);color:var(--paper)}@media(max-width:360px){.cf-favourite-prompt-actions{flex-direction:column}}
.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}
.brand-text{display:flex;flex-direction:column;gap:3px}.brand-text>span{line-height:1}.brand-text small{font-size:10px;line-height:1.4;letter-spacing:.1px;color:var(--muted);font-weight:450}.brand-mark{height:43px;width:38px}.top-inner{min-height:78px}.desktop-nav{gap:32px}.vehicle-strip{display:flex;align-items:center;gap:20px;padding:18px 0}.vehicle-strip .vehicle-chip{margin:0;min-width:0;padding:9px 13px;max-width:100%;gap:10px;border-radius:11px}.vehicle-strip .vehicle-icon{width:32px;height:32px}.vehicle-strip .vehicle-chip strong{font-size:14px;margin-bottom:0;overflow-wrap:anywhere}.vehicle-strip .vehicle-chip small{font-size:10px;display:block}.remembered-note{font-size:10px;color:var(--muted)}.duration-output{color:var(--green);font-size:16px;font-weight:650;font-variant-numeric:tabular-nums;background:#edf8f0;border:1px solid #cbe9d3;border-radius:8px;padding:8px 11px;white-space:nowrap}.duration-exact{display:flex;align-items:center;gap:9px;margin-top:14px;font-size:11px;color:var(--muted)}.duration-exact input{width:56px;min-height:37px;border:1px solid var(--line);border-radius:8px;padding:7px;text-align:center;color:var(--ink);background:var(--paper);font-size:16px}.duration-exact label:nth-of-type(2){margin-left:8px}
@keyframes charge-flow{from{background-position:0 0}to{background-position:36px 0}}#battery-added{background-color:var(--mint);background-image:repeating-linear-gradient(115deg,transparent 0 12px,#ffffff60 12px 22px,transparent 22px 33px);background-size:36px 100%;animation:charge-flow 1.6s linear infinite}
.inline-comparison{margin-top:24px}.inline-comparison .section-heading{align-items:flex-start}.inline-comparison .section-heading .micro{margin-top:7px}.inline-comparison .text-button{font-size:10px;white-space:nowrap;padding:0;min-height:30px}.inline-comparison .comparison-grid{gap:12px}.inline-comparison .tariff-card{border:1px solid var(--line);border-radius:12px;padding:17px;background:var(--bg);min-width:0}.tariff-title{display:flex;align-items:center;gap:7px}.tariff-title svg{width:15px;height:15px;color:var(--muted)}.tariff-title h3{font-size:11px}.inline-comparison .tariff-cost{display:block;font-size:29px;letter-spacing:-1px;font-weight:600;margin:18px 0 8px}.tariff-rate{font-size:10px;color:var(--muted);margin:0 0 10px}.tariff-difference{font-size:10px;color:var(--muted);line-height:1.5;margin:0}.inline-comparison .tariff-card.less{background:var(--bg);border-color:var(--line)}.less .tariff-difference,.less .tariff-cost{color:var(--green)}.vehicle-results{max-height:285px;overflow:auto;overscroll-behavior:contain;margin:12px 0;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.vehicle-result{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;width:100%;padding:13px;border-bottom:1px solid var(--line);min-height:64px}.vehicle-result:last-child{border-bottom:0}.vehicle-result:hover,.vehicle-result:focus-visible{background:var(--bg)}.vehicle-result strong{font-size:12px;overflow-wrap:anywhere}.vehicle-result span{font-size:10px;color:var(--muted)}.manual-vehicle{width:100%;font-size:12px}.catalogue-details{margin-top:14px}.catalogue-details summary,.vehicle-power summary{font-size:11px;color:var(--green);cursor:pointer;min-height:32px;line-height:32px}.vehicle-power{margin-top:14px}.vehicle-power .form-grid{margin-top:4px}#vehicle-form .text-button{font-size:11px;padding-top:0}#vehicle-welcome{margin-top:-10px}#vehicle-source{border-radius:9px;padding:11px;background:var(--bg);margin:4px 0 15px}dialog a{color:var(--green)}
[data-theme="dark"]{--bg:#101b1e;--paper:#19282c;--ink:#e6efeb;--muted:#a0b4ad;--line:#34474a;--green:#9ae6bb;--mint:#98dfb6;--dark:#142b2e}
[data-theme="dark"] .topbar,[data-theme="dark"] .icon-button,[data-theme="dark"] .vehicle-chip,[data-theme="dark"] dialog{background:var(--paper)}
[data-theme="dark"] .brand-mark{background:#28483f;color:#b9f5d0}[data-theme="dark"] .vehicle-icon,[data-theme="dark"] .speed-icon{background:#263b36;color:var(--green)}
[data-theme="dark"] .segmented{background:#101d20;border-color:var(--line)}[data-theme="dark"] .segmented [aria-pressed=true]{background:#2d4440;color:var(--mint);box-shadow:none}
[data-theme="dark"] .battery-inner{background:#243537;border-color:#49605b}[data-theme="dark"] #battery-start{background:#69827a}[data-theme="dark"] .battery-grid{background:repeating-linear-gradient(90deg,transparent 0%,transparent calc(10% - 2px),#17272b66 calc(10% - 2px),#17272b66 10%)}[data-theme="dark"] .battery-tip{background:#69827a}
[data-theme="dark"] .number-pill,[data-theme="dark"] .input-wrap,[data-theme="dark"] dialog input,[data-theme="dark"] dialog select{background:#132125;border-color:var(--line);color:var(--ink)}[data-theme="dark"] .number-pill.green,[data-theme="dark"] .duration-output{background:#254437;border-color:#47705a;color:#b9f5d0}
[data-theme="dark"] .presets button,[data-theme="dark"] .charger-option,[data-theme="dark"] .secondary{background:#1d3032;border-color:var(--line)}[data-theme="dark"] .presets button.selected,[data-theme="dark"] .charger-option[aria-pressed=true],[data-theme="dark"] .secondary:hover{background:#294c3c;border-color:#648e74;color:#b9f5d0}
[data-theme="dark"] input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right,#8fdbb0 var(--fill),#34474a var(--fill))}[data-theme="dark"] input[type=range]::-webkit-slider-thumb{background:#142b2e;border-color:#8fdbb0}[data-theme="dark"] .speed-row{border-color:var(--line)}[data-theme="dark"] .speed-row.selected .speed-icon{background:#294c3c}[data-theme="dark"] .speed-row.selected{color:#b9f5d0}
[data-theme="dark"] .primary{background:#8bd5ac;color:#102b20}[data-theme="dark"] .primary:hover{background:#b9f5d0}[data-theme="dark"] .install-step{background:#1e3630}[data-theme="dark"] .inline-comparison .tariff-card.less{background:var(--bg);border-color:var(--line)}[data-theme="dark"] .less .tariff-cost,[data-theme="dark"] .less .tariff-difference{color:#b9f5d0}
[data-theme="dark"] footer>span:first-child{color:var(--ink)}[data-theme="dark"] #offline-status{background:#223732;color:#b7cac0}[data-theme="dark"] .mobile-nav{background:#19282cf5;border-color:var(--line)}[data-theme="dark"] .mobile-nav button{color:#9fbbb0}[data-theme="dark"] .mobile-nav .active{color:#b9f5d0;background:#294337}[data-theme="dark"] .result-card{border:1px solid #3d6157}[data-theme="dark"] .step-label,[data-theme="dark"] .range-ends{color:var(--muted)}[data-theme="dark"] .skip{background:var(--paper)}
@media(max-width:740px){.top-inner{min-height:75px}.brand-text small{font-size:9px}.brand{font-size:23px}.brand-mark{width:33px;height:40px}.vehicle-strip{padding:14px 0}.vehicle-strip .vehicle-chip{width:100%;padding:10px 12px}.remembered-note{display:none}.inline-comparison{padding:20px;margin-top:20px}.inline-comparison .section-heading{display:block}.inline-comparison .text-button{margin-top:8px}.inline-comparison .comparison-grid{grid-template-columns:1fr 1fr;gap:9px}.inline-comparison .tariff-card{padding:14px 12px}.inline-comparison .tariff-cost{font-size:27px;margin:15px 0 9px}.tariff-title{gap:5px}.tariff-title h3{font-size:10px}.tariff-title svg{width:13px;height:13px}.tariff-rate,.tariff-difference{font-size:9px}.vehicle-results{max-height:28dvh}.vehicle-strip .vehicle-chip strong{font-size:13px}.duration-exact{gap:7px}.header-actions{gap:8px}.quiet span{display:none}.inline-comparison .micro{font-size:10px}}
@media(max-width:350px){.inline-comparison .comparison-grid{grid-template-columns:1fr}.vehicle-strip .vehicle-chip small{font-size:9px}}
@media(prefers-reduced-motion:reduce){#battery-added{animation:none}}
.time-pill input{width:55px;font-size:16px;font-variant-numeric:tabular-nums}.time-pill>span{font-size:10px;font-weight:450}.install-settings{display:block;margin:12px auto 0;font-size:12px}
@media(max-width:740px){.mobile-estimate{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:12px;padding:10px 18px}.mobile-estimate>div{flex-direction:column;align-items:flex-start;gap:3px}.mobile-estimate strong{font-size:20px;line-height:1.2}.mobile-estimate small{font-size:9px}.mobile-estimate button{font-size:10px;gap:4px}.header-actions{margin-left:auto}}
@media(max-width:350px){.mobile-estimate{gap:8px;padding-inline:14px}.mobile-estimate strong{font-size:18px}}

.rate-pill input{width:60px;font-size:16px}.rate-pill>span{font-size:11px}.rate-slider{margin-top:22px}

.presets{align-items:center}.charge-presets{margin:0 0 16px}.time-output{font-size:16px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;min-height:36px}.currency-label{display:flex;align-items:center;gap:7px;position:relative}.currency-label label{margin:0}.currency-help{position:relative;display:inline-flex}#currency-help{border:1px solid var(--muted);border-radius:50%;width:22px;height:22px;padding:0;font-size:12px;color:var(--muted)}#currency-tooltip{position:absolute;top:29px;left:-65px;width:220px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);box-shadow:0 5px 20px #0002;font-size:12px;line-height:1.5;z-index:5}

.currency-label{margin:15px 0 8px;height:13px}

.session-comparisons{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}.comparisons-heading{margin-bottom:20px}.comparisons-heading h2{font-size:21px;letter-spacing:-.5px}.comparisons-heading p{font-size:12px;line-height:1.6;color:var(--muted);margin:8px 0 0}.comparison-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.comparison-sections .inline-comparison{margin-top:0}.comparison-sections .comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-sections .inline-comparison .section-heading{display:block}.comparison-sections .inline-comparison .text-button{margin-top:8px}@media(max-width:740px){.comparison-sections{grid-template-columns:1fr;gap:20px}.session-comparisons{margin-top:25px;padding-top:22px}.comparisons-heading h2{font-size:19px}.comparisons-heading p{font-size:11px}}@media(max-width:350px){.comparison-sections .comparison-grid{grid-template-columns:1fr}}
/* Keep the session summary prominent and its action comfortable to tap. */
@media(max-width:740px){
  .mobile-estimate{min-height:94px;padding:16px 18px;gap:14px;box-shadow:0 -5px 22px #102d2026;border-top:1px solid #b9f5d044}
  .mobile-estimate>div{gap:6px}
  .mobile-estimate small{font-size:11px;line-height:1.3;color:#d4e6dc}
  .mobile-estimate strong{font-size:26px;line-height:1.15;font-weight:750}
  .mobile-estimate button{min-height:48px;padding:0 14px;border-radius:12px;background:#b9f5d0;color:#142b2e;font-size:13px;font-weight:700;gap:6px}
  .mobile-estimate svg{width:17px;height:17px}
  footer{padding-bottom:calc(205px + env(safe-area-inset-bottom))}
  .toast{bottom:calc(180px + env(safe-area-inset-bottom))}
}
@media(max-width:350px){
  .mobile-estimate{padding-inline:12px;gap:10px}
  .mobile-estimate strong{font-size:23px}
  .mobile-estimate button{padding-inline:11px;font-size:12px}
}

.result-card{scroll-margin-top:24px}

.efficiency-label{display:flex;align-items:center;gap:8px}.efficiency-label label{flex:1}.efficiency-help{position:relative;display:inline-flex}.efficiency-help button{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;font-size:13px;color:var(--green)}#vehicle-efficiency-note{position:absolute;right:0;bottom:calc(100% + 8px);width:230px;max-width:70vw;padding:12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 22px #0002;font-size:12px;line-height:1.5;z-index:5}
/* The help icon must not change the label or input row height. */
.efficiency-label{display:flow-root;position:relative}
.efficiency-label label{padding-right:20px}
.efficiency-help{position:absolute;right:0;top:14px}
.efficiency-help button{width:16px;height:16px;min-height:0;padding:0;font-size:10px;line-height:14px;display:grid;place-items:center}

.settings-section{border-top:1px solid var(--line);margin-top:22px;padding-top:12px}.settings-section>summary{cursor:pointer;padding:10px 0;font-size:14px;font-weight:650;color:var(--ink)}.settings-help-heading{display:flex;align-items:center;gap:8px;margin-top:24px}.settings-help-heading h3{margin:0}.settings-help{position:relative;display:inline-flex}.settings-help button{width:18px;height:18px;padding:0;border:1px solid var(--line);border-radius:50%;font-size:11px;line-height:16px;color:var(--green)}.settings-help [role=tooltip]{position:absolute;left:-160px;bottom:calc(100% + 8px);width:260px;max-width:75vw;padding:12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 22px #0002;font-size:12px;line-height:1.5;z-index:5}
.settings-help-heading{position:relative}.settings-help{position:static}.settings-help [role=tooltip]{left:0}

.saved-cars{display:grid;gap:10px;margin:16px 0}.saved-car{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.saved-car strong{display:block;font-size:14px;overflow-wrap:anywhere}.saved-car small{display:block;color:var(--muted);margin-top:6px}.saved-car>span:last-child{font-size:12px;flex-shrink:0}.saved-car[aria-pressed=true]{border:2px solid var(--green);background:var(--bg)}#garage-panel>.primary{width:100%}

.saved-car-row{display:flex;align-items:center;gap:8px}.saved-car-row .saved-car{flex:1;min-width:0}.remove-car{font-size:12px;min-height:44px;padding:8px;color:var(--muted);text-decoration:underline}.remove-car:hover{color:var(--ink)}.car-undo{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:var(--bg);border-radius:10px;font-size:13px}.car-undo span{overflow-wrap:anywhere}

.car-undo{opacity:1;transition:opacity .25s ease}.car-undo.fading{opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.car-undo{transition:none}}

.saved-car-actions{display:flex;align-items:center;gap:4px}.edit-car{font-size:12px;min-height:44px;padding:8px;color:var(--muted);text-decoration:underline}.edit-car:hover{color:var(--ink)}
@media(max-width:480px){.saved-car-row{flex-wrap:wrap;gap:0}.saved-car-row .saved-car{flex-basis:100%}.saved-car-actions{margin-left:auto}}

[data-range],.battery-handle{touch-action:pan-y pinch-zoom}.battery-inner{overflow:visible}.battery-handle{position:absolute;z-index:2;width:44px;height:44px;padding:0;transform:translateX(-50%);cursor:ew-resize;top:4px}.battery-handle:after{content:"";display:block;width:8px;height:28px;margin:auto;border:2px solid var(--paper);border-radius:5px;background:var(--green);box-shadow:0 1px 4px #0005}.battery-handle.start-handle{top:-13px}.battery-handle.end-handle{top:20px}.battery{margin:16px 0 22px}.battery-inner>div:not(.battery-grid){transition:none}

/* Invisible drag targets preserve the original battery artwork. */
.battery{margin:0}.battery-inner{overflow:hidden}.battery-handle.start-handle,.battery-handle.end-handle{top:4px;height:44px}.battery-handle:after{display:none}.battery-handle:focus-visible{outline:2px solid var(--green);outline-offset:-4px}

.result-top{justify-content:flex-start;position:relative}.estimate-help{flex-shrink:0}.estimate-help summary{display:grid;place-items:center;list-style:none;width:18px;height:18px;border:1px solid #b5c9c3;border-radius:50%;font-size:11px;line-height:1;color:#b5c9c3;cursor:pointer}.estimate-help summary::-webkit-details-marker{display:none}.estimate-help summary:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.estimate-tooltip{position:absolute;z-index:6;top:calc(100% + 8px);left:0;width:100%;max-width:330px;padding:14px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 22px #0004;font-size:13px;line-height:1.5}.estimate-tooltip p{margin:0 0 8px}.estimate-tooltip .text-button{font-size:13px;min-height:32px;color:var(--green);padding:0;text-decoration:underline}

html[data-input-method="pointer"] input:focus,html[data-input-method="pointer"] input:focus-visible,html[data-input-method="pointer"] .input-wrap:focus-within,html[data-input-method="pointer"] .battery-handle:focus-visible{outline:none}

@media(max-width:480px){.brand{font-size:22px;letter-spacing:-.8px}.top-inner{gap:12px}.header-actions{gap:4px}}

.privacy-page{max-width:780px;margin:0 auto;padding:36px 24px 60px;line-height:1.7;font-size:16px}.privacy-page h1{font-size:32px;line-height:1.2;margin:28px 0 12px}.privacy-page h2{font-size:20px;line-height:1.4;margin:32px 0 12px}.privacy-page a{text-decoration:underline;text-underline-offset:3px}.privacy-page li{margin-bottom:8px}.privacy-page .updated{color:var(--muted);font-size:14px}.privacy-page .privacy-summary{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}@media(max-width:480px){.privacy-page{padding:24px 20px 40px}}.privacy-page details{border-bottom:1px solid var(--line);padding:16px 0}.privacy-page summary{cursor:pointer;font-weight:600;line-height:1.5}.privacy-page summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}.privacy-page details p:last-child{margin-bottom:0}

.native-app .topbar{padding-top:env(safe-area-inset-top)}.native-app #clear-app-data{display:block;margin-top:18px;min-height:44px}

/* Map shares the normal app chrome and leaves all three calculators one tap away. */
.header-ev{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);white-space:nowrap;font-size:12px;font-weight:650;flex-shrink:0}.header-ev svg{width:19px;height:19px}.header-actions{flex-shrink:0}.map-app-preview{max-width:680px;margin:24px 0;padding:24px}.map-app-preview p{line-height:1.6}.map-app-preview .secondary{margin-top:12px}
.map-page footer{display:none}.map-mounted main,.map-mounted #page-map,.map-mounted #map-host{background:transparent}.map-mounted .topbar{position:relative;z-index:40;background:var(--paper)}.map-mounted .mobile-nav{background:var(--paper)}.map-mounted .charger-finder.cf-embedded{inset:auto 0;position:fixed;height:auto;padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left);z-index:20}.map-mounted .charger-finder.cf-embedded .cf-title>button{font-size:12px;padding:7px 9px}.map-mounted{overflow:hidden}
@media(min-width:741px) and (max-width:1080px){.desktop-nav{gap:14px}.top-inner{gap:14px}.brand{font-size:22px}.brand-text small{display:none}}
@media(max-width:740px){.top-inner{gap:8px;padding-left:12px;padding-right:12px}.header-actions{gap:6px}.header-actions .icon-button{width:44px;min-width:44px;height:44px}.header-ev{padding:8px}.brand{flex-shrink:0}}
@media(max-width:390px){.brand{font-size:20px}.brand-mark{width:28px;height:34px;margin-right:7px}.brand-text small{font-size:8px}}
@media(max-width:350px){.brand-mark{display:none}.brand{font-size:18px}.top-inner{gap:6px}.header-ev{gap:4px}}
@media(max-height:520px) and (min-width:600px){.map-mounted .top-inner{min-height:50px}.map-mounted .brand-text small{display:none}.map-mounted .brand-mark{height:32px}.map-mounted .mobile-nav{padding-top:2px;padding-bottom:calc(2px + env(safe-area-inset-bottom))}.map-mounted .mobile-nav button{flex-direction:row;min-height:44px}.map-mounted .charger-finder.cf-embedded header{max-height:none;padding:4px 12px;gap:2px 12px}.map-mounted .charger-finder .cf-title p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-mounted .charger-finder .cf-title h2{display:none}.map-mounted .charger-finder .cf-search{margin:0}.map-mounted .charger-finder .cf-location{margin:0}.map-mounted .charger-finder .cf-location button{padding:5px 8px}}

/* Selection is persistent; touch hover must never imitate it. */
@media(hover:hover) and (pointer:fine){.presets button:not(.selected):hover{border-color:var(--muted)}}
html[data-input-method="pointer"] .presets button:focus{outline:none}
.inline-comparison .tariff-card{cursor:default}
.inline-comparison .tariff-card.less .tariff-cost{color:var(--ink)}
footer a,footer button[data-dialog="about-dialog"]{color:var(--green);text-decoration:underline;text-underline-offset:3px}
#settings-dialog[open]{display:flex;flex-direction:column;overflow:hidden;padding:0}
#settings-dialog>.dialog-heading{flex-shrink:0;margin:0;padding:22px 24px 16px;border-bottom:1px solid var(--line)}
#settings-form{overflow-y:auto;min-height:0;padding:0 24px 20px;overscroll-behavior:contain}
.settings-actions{flex-shrink:0;padding:14px 24px;border-top:1px solid var(--line);background:var(--paper)}
.settings-actions .primary{margin:0;min-height:48px}
#unsaved-settings-dialog .secondary{width:100%;margin-top:12px}
#unsaved-settings-dialog>.text-button{display:block;margin:8px auto 0}
.estimate-undo{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:40;width:min(480px,calc(100vw - 36px));border:1px solid var(--line);background:var(--paper);box-shadow:0 6px 24px #0003}
@media(max-width:740px){.estimate-undo{bottom:calc(84px + env(safe-area-inset-bottom))}}
.energy-details{position:relative}
.energy-label{display:flex;align-items:center;gap:7px;min-width:0}
.energy-label .estimate-help{flex-shrink:0}
.energy-tooltip{top:auto;bottom:calc(100% + 8px);left:0;width:100%;max-width:none}

.inline-comparison .tariff-rate{margin:7px 0 0;line-height:1.5}
/* Dedicated charger comparison */
.cmp-controls,.cmp-option{padding:24px;margin-bottom:20px}.cmp-controls label,.cmp-option label{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;font-size:14px}.cmp-controls input,.cmp-controls select,.cmp-option input,.cmp-option select{width:100%;min-height:46px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit}.cmp-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cmp-result{padding:20px 0}.cmp-result strong{font-size:36px}.cmp-result p{margin-top:12px}.cmp-controls .segmented{margin-top:20px}.cmp-controls .micro{font-size:14px;line-height:1.5}#page-compare{padding-bottom:30px}@media(max-width:740px){.cmp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cmp-option{min-width:0;padding:14px 10px;display:flex;flex-direction:column}.cmp-option h2{font-size:18px}.cmp-option label{line-height:1.4;min-width:0;min-height:100px;justify-content:space-between}.cmp-option input,.cmp-option select{min-width:0;padding:10px 6px}.cmp-result{padding:10px 0;flex:1}.cmp-result strong{font-size:clamp(20px,6vw,30px);overflow-wrap:anywhere}.cmp-result p{font-size:14px;line-height:1.5}.cmp-option .secondary{width:100%;white-space:normal;min-height:48px;padding:10px 6px}.mobile-nav{grid-template-columns:repeat(4,1fr)}.cmp-controls input,.cmp-controls select,.cmp-option input,.cmp-option select{font-size:16px}}
.cmp-controls .form-grid label{justify-content:space-between}.cmp-controls .form-grid input{margin-top:auto}

/* Compare uses the same full-width charge controls as Calculate. */
.cmp-sliders .field-top label{display:block;margin:0;font-size:14px}.cmp-sliders .number-pill input{width:47px;min-height:0;padding:0;border:0;border-radius:0;background:transparent}.cmp-sliders input[type=range]{padding:0;border:0;min-height:0;touch-action:pan-y}.cmp-sliders .slider-field{margin-top:24px}.cmp-sliders .number-pill{flex-shrink:0}
[aria-label="Saved item filters"]{margin:0 0 24px;gap:8px;flex-wrap:wrap}[data-saved-filter][aria-pressed="true"]{background:var(--green);color:var(--paper);border-color:var(--green);box-shadow:inset 0 0 0 1px currentColor}
.saved-title{overflow-wrap:anywhere}.rename-comparison{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;width:40px;height:40px;padding:8px;margin-left:4px;border-radius:8px}.rename-comparison:hover{background:var(--line)}.rename-comparison svg{width:18px;height:18px}
[data-theme="dark"] [data-saved-filter][aria-pressed="true"]{background:#294c3c;border-color:#648e74;color:#b9f5d0;box-shadow:none}
#saved-comparison-name{display:block;width:100%;font:inherit;padding:12px;margin:12px 0 20px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}.rename-actions{display:flex;justify-content:flex-end;gap:12px}

/* Compact, consistently aligned option fields and a clear results boundary. */
.cmp-option label{min-height:0;justify-content:flex-start;gap:6px;margin-bottom:16px}.cmp-option h2{margin-bottom:16px}.cmp-option .cmp-result{border-top:1px solid var(--line);padding-top:20px;margin-top:4px}.cmp-summary-heading{display:flex;align-items:center;gap:8px;margin-bottom:16px}.cmp-summary-heading h2{margin:0}.cmp-estimate-help{position:relative;display:inline-flex;flex-shrink:0}.cmp-estimate-help button{width:24px;height:24px;padding:0;border:1px solid var(--line);border-radius:50%;font-size:13px;color:var(--green)}#cmp-estimate-tooltip{position:absolute;right:0;bottom:calc(100% + 8px);width:230px;max-width:70vw;padding:12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 22px #0002;font-size:14px;line-height:1.5;z-index:5}
.cmp-option:first-child{scroll-margin-top:16px}
.toast-fade{animation:toast-fade-out 5s linear forwards}
@keyframes toast-fade-out{0%,80%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.toast-fade{animation:none}}
@media(max-width:740px){.cmp-option label{min-height:0;justify-content:flex-start;gap:6px;margin-bottom:14px}.cmp-option .cmp-result{padding-top:16px}.cmp-summary-heading h2{font-size:20px}}
/* Shared heading rhythm and compact rename actions. */
#rename-comparison-dialog .rename-actions{align-items:center}
#rename-comparison-dialog .rename-actions button{display:flex;align-items:center;justify-content:center;flex:1;min-height:48px;margin:0;padding:12px 18px;line-height:1.4}
#page-compare{padding-bottom:0}
#page-compare .vehicle-strip{padding-top:0}
#page-compare .cmp-controls .segmented{margin-top:0}
#cmp-summary{margin-bottom:0}
@media(max-width:740px){main:has(#page-compare:not([hidden])) footer{padding-bottom:calc(90px + env(safe-area-inset-bottom))}}

/* Match Calculate's dark results surface in both appearance modes. */
.cmp-option .cmp-result,#cmp-summary{background:var(--dark);color:#edf8f3;border:1px solid #3d6157;border-radius:var(--radius)}
.cmp-option .cmp-result{padding:18px;margin:4px 0 16px}.cmp-result p,#cmp-summary>p{color:#afc3bd;line-height:1.6}.cmp-result strong{color:#edf8f3}.cmp-result p:last-child{margin-bottom:0}
#cmp-summary .cmp-estimate-help button{color:#b9f5d0;border-color:#648e74}
@media(max-width:740px){.cmp-option .cmp-result{padding:14px 10px;border-radius:12px}.cmp-result strong{font-size:clamp(20px,6vw,30px)}}

/* Results occupy their own aligned row beneath the two configuration cards. */
.cmp-grid>.cmp-option{margin-bottom:0}.cmp-grid>.cmp-result{display:flex;flex-direction:column;margin:0 0 20px;padding:22px;background:var(--dark);color:#edf8f3;border:1px solid #3d6157;border-radius:var(--radius);min-width:0}
.cmp-result h2{font-size:18px;margin:0 0 18px}.cmp-result dl{margin:0 0 20px;flex:1}.cmp-result dl>div{margin:0 0 16px}.cmp-result dt{font-size:14px;color:#afc3bd;margin-bottom:5px}.cmp-result dd{font-size:20px;font-weight:600;line-height:1.4;margin:0;overflow-wrap:anywhere}.cmp-result .secondary{width:100%;margin-top:auto;color:#edf8f3;border-color:#648e74;background:transparent;white-space:normal}
@media(max-width:740px){.cmp-grid>.cmp-result{padding:16px 10px}.cmp-result h2{font-size:16px}.cmp-result dd{font-size:18px}.cmp-result .secondary{min-height:48px;padding:10px 6px}}
/* EV vs Fuel shares vehicle selection, result surfaces and saved navigation. */
.mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.mobile-nav button{min-width:0;white-space:nowrap}
#page-fuel .vehicle-strip{padding-top:0}
.fuel-controls{padding:24px;margin-bottom:20px}.fuel-controls h2{margin:0 0 20px;font-size:20px}
.fuel-controls label{display:flex;flex-direction:column;gap:6px;font-size:14px;margin-bottom:16px}
.fuel-controls input,.fuel-controls select{width:100%;min-width:0;min-height:46px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit}
.fuel-controls .micro{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
.fuel-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.fuel-configs,.fuel-results{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fuel-result,.fuel-summary{padding:24px;background:var(--dark);color:#edf8f3;border:1px solid #3d6157;margin-bottom:20px;min-width:0}
.fuel-result h2,.fuel-summary h2{font-size:20px;margin:0 0 20px}.fuel-result dl{margin:0}.fuel-result dl>div{margin-bottom:18px}.fuel-result dt{font-size:14px;color:#afc3bd;margin-bottom:6px}.fuel-result dd{font-size:22px;line-height:1.4;font-weight:600;margin:0;overflow-wrap:anywhere}.fuel-summary p{color:#afc3bd;font-size:14px;line-height:1.6}.fuel-summary{margin-bottom:0}
@media(max-width:740px){.mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr));padding-inline:5px}.mobile-nav button{font-size:10px;padding-inline:2px}.fuel-fields{grid-template-columns:1fr 1fr;gap:12px}.fuel-fields>label:first-child{grid-column:1/-1}.fuel-configs{grid-template-columns:1fr;gap:0}.fuel-controls{padding:20px}.fuel-controls input,.fuel-controls select{font-size:16px}.fuel-results{gap:10px}.fuel-result{padding:18px 12px}.fuel-result dd{font-size:19px}.fuel-summary{padding:22px}main:has(#page-fuel:not([hidden])) footer{padding-bottom:calc(90px + env(safe-area-inset-bottom))}}

.fuel-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fuel-fields>label:first-child{grid-column:auto}.fuel-fields label{min-width:0}.fuel-summary .fuel-disclaimer{font-size:12px;line-height:1.5;color:#a0b4ad}
.fuel-distance-heading{position:relative;display:flex;align-items:center;gap:8px;margin-bottom:20px}.fuel-distance-heading h2{margin:0}.fuel-distance-help{display:inline-flex}.fuel-distance-help button{width:24px;height:24px;padding:0;border:1px solid var(--line);border-radius:50%;font-size:13px;color:var(--green)}#fuel-distance-tip{position:absolute;left:0;top:calc(100% + 8px);width:300px;max-width:100%;padding:12px;z-index:5;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:0 6px 22px #0002;font-size:14px;line-height:1.5}
/* Imported charger quotes remain explicit energy-only snapshots. */
#charger-selection-note { margin-top: 12px; overflow-wrap: anywhere; }
#find-calculator-charger { display: block; width: 100%; margin: 12px 0 16px; }
#find-calculator-charger.calculator-finder{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;text-align:left;border-color:var(--line);border-radius:14px;background:transparent}
.calculator-finder-icon{display:grid;place-items:center;width:32px;height:36px;border-radius:10px;background:var(--paper);color:var(--green)}
.calculator-finder-icon svg{width:19px;height:19px}
.calculator-finder-copy{min-width:0}
.calculator-finder-copy strong{display:block;font-size:13px;line-height:1.3}
.calculator-finder-copy small{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:400;line-height:1.4}
.calculator-finder-action{display:flex;align-items:center;gap:5px;border-radius:20px;padding:8px 10px;background:var(--green);color:var(--paper);font-size:11px;font-weight:700}
.calculator-finder-action svg{width:13px;height:13px}
@media(max-width:350px){#find-calculator-charger.calculator-finder{gap:7px;padding:10px}.calculator-finder-action{padding:8px}.calculator-finder-copy strong{font-size:12px}}
.cmp-find { width: 100%; margin: 8px 0 16px; }
.cmp-source { margin: 0 0 16px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; overflow-wrap: anywhere; }
.cmp-source p { margin: 8px 0; }
.cmp-fee-note { font-weight: 600; }
#charger-selection-note p { margin: 8px 0; }
.saved-cost small { display: block; font-size: 12px; font-weight: 400; line-height: 1.4; }
#charger-selection-note,.cmp-source { position:relative; }
#charger-selection-note>strong,.cmp-source>strong { display:block; padding-right:32px; }
.charger-remove { position:absolute; top:4px; right:4px; width:40px; height:40px; padding:0; font-size:26px; line-height:1; background:transparent; color:var(--ink); }
.charger-link { display:block; text-align:left; min-height:44px; }
#find-calculator-charger[hidden],#charger-options[hidden],#manual-charger-fields[hidden],.cmp-manual[hidden] { display:none!important; }
body:has(#charger-selection-note:not([hidden])) #find-calculator-charger { display:none; }
@media(max-width:740px){.cmp-source{padding-top:44px}.cmp-source>strong{padding-right:0}}
.finder-manual-hint { text-align:center; font-size:12px; color:var(--muted); margin:-6px 0 16px; }
#calculator-manual-hint{display:flex;align-items:center;gap:10px}
#calculator-manual-hint::before,#calculator-manual-hint::after{content:"";flex:1;min-width:0;border-top:1px solid var(--line)}
body:has(#charger-selection-note:not([hidden])) #calculator-manual-hint { display:none; }
#compare-this-session,#calculate-directions{width:100%;margin-top:12px}#calculate-directions[hidden]{display:none!important}
#charger-selection-note,.cmp-source{padding:16px;position:relative;text-align:left}
#charger-selection-note .charger-card-title,.cmp-source .charger-card-title{display:block;margin:0 36px 16px 0;padding:0;font-size:16px;line-height:1.4;text-align:left}
.charger-fact{margin:8px 0!important;line-height:1.5}.charger-price{font-weight:600}
.quote-info{display:inline-flex;align-items:center;justify-content:center;position:relative;width:28px;height:28px;min-height:28px;padding:0;border:0;border-radius:50%;font-size:10px;line-height:1;vertical-align:middle;color:var(--muted);background:transparent}.quote-info:before{content:"";position:absolute;inset:6px;border:1px solid var(--muted);border-radius:50%;pointer-events:none}
.charger-smallprint{font-size:12px!important;line-height:1.6;color:var(--muted)!important;margin:12px 0!important;font-weight:400}
.fee-link{display:inline;padding:0;min-height:0;font:inherit;color:inherit;text-decoration:underline;background:transparent;border:0;text-align:left}
.quote-tooltip{position:fixed;z-index:25000;width:260px;max-width:calc(100vw - 24px);padding:14px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 24px #0004;font-size:13px;line-height:1.6}
#charger-fees-dialog p{margin:14px 0;line-height:1.6}.cmp-result .charger-link{color:#afc3bd}
@media(max-width:740px){.cmp-source{padding:12px;padding-top:44px}.cmp-source .charger-card-title{margin-right:0}.fuel-controls .cmp-source{padding-top:16px}.fuel-controls .cmp-source .charger-card-title{margin-right:36px}}
.saved-title{position:relative;padding-right:44px;text-align:left;line-height:1.45}.saved-title .rename-comparison{position:absolute;top:0;right:0;margin:0}

.vehicle-connectors{margin:16px 0}.vehicle-connectors select{width:100%}.connector-confirm{display:flex;gap:10px;align-items:center;margin:12px 0;font-size:14px}.connector-confirm input{width:22px;height:22px;flex:none;accent-color:#17684e}

.vehicle-result .vehicle-version{color:var(--ink);font-weight:600}.vehicle-year-help,.vehicle-other-years{margin:12px 0}.vehicle-year-help summary,.vehicle-other-years summary{cursor:pointer;font-size:14px;line-height:1.6;padding:8px 0}.vehicle-other-years .vehicle-result{width:100%;margin:8px 0}.vehicle-version{overflow-wrap:anywhere}

#vehicle-form .vehicle-power,#vehicle-form .vehicle-connectors{margin:14px 0}
#vehicle-form .vehicle-power>summary,#vehicle-form .vehicle-connectors>summary{font-size:14px;font-weight:600;color:var(--green);cursor:pointer;min-height:44px;line-height:1.6;padding:10px 0;box-sizing:border-box}

/* Keep the desktop indicator below the label even when the flex row uses min-height. */
.desktop-nav .nav{min-height:78px}.vehicle-chip .vehicle-edit{display:flex;align-items:center;justify-content:center;align-self:center;flex:0 0 24px;margin-left:auto}.vehicle-edit svg{width:18px;height:18px}
@media(max-width:380px){.brand-mark{display:none}}
@media(max-width:350px){.top-inner{padding-left:8px;padding-right:8px}.brand{font-size:17px}}

/* Shared, non-interactive result decoration; background layers leave tooltips unclipped. */
.result-card,.cmp-grid>.cmp-result,#cmp-summary,.fuel-result,.fuel-summary{background-image:radial-gradient(circle at calc(100% - 30px) 0,transparent 0 139px,#a4e4bd0a 139px 140px,#a4e4bd06 140px 170px,#a4e4bd03 170px 200px,transparent 200px)}
/* Shared calculator spacing and controls. */
.calculator-input-sections{display:flex;flex-direction:column;gap:18px;min-width:0}
#page-calculator .battery-caption{display:flex;flex-wrap:wrap;gap:8px 12px}
#page-calculator #soc-summary{text-align:right;margin-left:auto;white-space:nowrap}
#page-calculator .battery-added-label{display:flex;justify-content:flex-end;align-items:center;gap:5px;font-size:10px;color:var(--muted);margin:10px 0 18px}
#page-calculator .battery-added-label i{display:inline-block;flex-shrink:0;width:7px;height:7px;border-radius:2px}
#page-calculator .controls .battery{margin-bottom:0}
.calculator-charging h2{font-size:16px;margin:0 0 16px}
.calculator-charging .charging-section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 14px;margin-bottom:20px}
.calculator-charging .charging-section-heading h2{margin:0}
.calculator-charging .charging-location-tabs{width:max-content;max-width:100%;flex:none;margin:0;padding:3px;gap:3px}
.calculator-charging .charging-location-tabs button{width:auto;min-height:34px;padding:6px 12px;gap:6px}
.calculator-charging .charger-type-label{margin:0 0 9px;font-size:12px;font-weight:600;color:var(--muted)}
.calculator-charging #charger-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.calculator-charging #charger-options[data-location="home"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.calculator-charging .charger-option{min-width:0;min-height:72px;padding:14px 12px;display:block;container-type:inline-size;container-name:charger-choice}
.calculator-charging .charger-option-content{display:grid;gap:5px;width:100%}
.calculator-charging .charger-option-content>svg{width:26px;height:26px;color:#74837b;margin-bottom:6px}
.calculator-charging .charger-option[aria-pressed=true] .charger-option-content>svg{color:var(--green)}
@container charger-choice (min-width:85px){.calculator-charging .charger-option-content{grid-template-columns:26px minmax(0,1fr);column-gap:10px;row-gap:5px}.calculator-charging .charger-option-content>svg{grid-column:1;grid-row:1 / span 2;align-self:center;margin-bottom:0}.calculator-charging .charger-option-content>strong,.calculator-charging .charger-option-content>small{grid-column:2}}
.calculator-charging .charger-option strong{font-size:13px;line-height:1.3}
.calculator-charging #charger-options[data-location="home"] strong{font-size:14px}
.calculator-charging .charger-option small{font-size:11px;line-height:1.35}
.calculator-charging .calculator-rate{margin-top:18px}
.rate-stepper{display:flex;align-items:center;gap:6px;flex-shrink:0}
.rate-stepper>button{position:relative;display:grid;place-items:center;width:22px;height:22px;min-height:22px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font-size:14px;line-height:1}
.rate-stepper>button::before{content:"";position:absolute;inset:-11px -3px;border-radius:50%}
.rate-stepper>button:disabled{opacity:.4;cursor:default}
.calculator-charging .rate-pill,.calculator-charging .power-pill{width:88px;flex-shrink:0;padding:0 7px}
.calculator-charging .rate-pill input,.calculator-charging .power-pill input{width:0;min-width:0;flex:1}
.calculator-charging .rate-pill>span,.calculator-charging .power-pill>span{flex-shrink:0;font-size:11px}
.calculator-charging #tariff-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:240px}
#calculator-manual-hint[hidden]{display:none}
@media(max-width:370px){.calculator-charging .calculator-rate .field-top{gap:8px;flex-wrap:wrap}.calculator-charging .charging-location-tabs button{padding-inline:5px;font-size:11px}.calculator-charging .charger-option{padding:12px 8px}.calculator-charging .charger-option strong{font-size:12px}.calculator-charging #charger-options[data-location="home"] strong{font-size:13px}}
#manual-charger-fields .charger-power-field{margin-top:0}
.charger-power-copy{min-width:0}
.charger-power-copy label{display:block}
#charger-power-note{margin:3px 0 0}
/* Preset rows must not force their parent cards wider than the viewport. */
.calculator-grid> *,.fuel-configs> *{min-width:0}
@media(max-width:740px){.calculator-grid{grid-template-columns:minmax(0,1fr)}}
/* Secondary Calculate presets use an outline rather than a selected fill. */
#page-calculator .presets button.selected{background:#fff;border-color:var(--green);color:var(--green)}
[data-theme="dark"] #page-calculator .presets button.selected{background:#1d3032}
/* Equal grid tracks keep wrapped presets the same width as the preceding row. */
#charge-presets,#duration-controls .presets,.cmp-sliders .presets{display:grid;width:100%;max-width:405px;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(70px,calc((100% - 21px)/4))),1fr))}
#charge-presets button,#page-calculator .presets button[data-minutes],.cmp-sliders .presets button{min-width:0;max-width:none;width:100%;white-space:nowrap}
.tariff-presets{display:grid;width:100%;max-width:455px;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(90px,calc((100% - 15px)/4))),1fr))}
.tariff-presets button{min-width:0;max-width:none;width:100%;white-space:nowrap}
.charger-option{min-height:0}
#page-compare>.intro,#page-fuel>.intro{padding:10px 0}
#page-compare h1,#page-fuel h1,#page-alerts h1,#page-saved h1{font-size:30px}
.tariff-presets+p.micro,.fuel-controls .tariff-presets+p.micro{margin-top:12px}
.fuel-controls .fuel-inline-field{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;flex-wrap:wrap}
.fuel-controls .fuel-inline-field>label{margin:0;min-width:0;min-height:0}
.fuel-controls .fuel-inline-field .fuel-number-pill{width:108px;flex-shrink:0;justify-content:flex-end;gap:6px;padding-inline:7px}
.fuel-controls .fuel-number-pill input{width:64px;min-width:0;flex:1}
.fuel-number-pill>span{font-size:11px;white-space:nowrap}
.page>.intro{padding:26px 0 18px}.page>.intro h1{margin-bottom:6px}.page>.intro .intro-copy{margin:0;line-height:1.5}
#page-compare h2,#page-fuel h2{font-size:16px;letter-spacing:-.35px;font-weight:650}
.cmp-option>h2,.fuel-controls>h2,.fuel-result h2,.fuel-summary h2{margin-bottom:16px}
.cmp-controls label,.cmp-option label,.fuel-controls label,.control-label{font-size:12px;font-weight:600}
.cmp-sliders .field-top label{font-size:12px}.cmp-sliders .slider-field{margin-top:14px}
.cmp-option .cmp-number-pill{width:100%;min-width:0;min-height:46px;padding:10px 8px;gap:4px}
.cmp-option .cmp-number-pill input{flex:1;width:0;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent}
.cmp-number-pill>span{flex-shrink:0;font-size:11px;white-space:nowrap}
.cmp-controls .micro,.fuel-controls .micro{font-size:11px}.cmp-result dt,.fuel-result dt{font-size:12px}.cmp-result dd,.fuel-result dd{font-size:20px}
.cmp-result p,#cmp-summary>p,.fuel-summary p{font-size:12px}.cmp-summary-heading,.fuel-distance-heading{margin-bottom:14px}
.cmp-option .charger-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cmp-option .charger-option{padding:12px 8px;min-width:0;min-height:0}.cmp-option .charger-option strong{font-size:10px;overflow-wrap:anywhere}
.fuel-fields{grid-template-columns:minmax(110px,160px) minmax(0,300px);align-items:end;gap:16px}.fuel-fields>label{margin-bottom:0}.fuel-fields .segmented{margin-bottom:0}.toggle-field{min-width:0;margin-bottom:16px}.fuel-fields .toggle-field{margin-bottom:0}.control-label{display:block;margin-bottom:6px}.toggle-field .segmented{margin-top:0}.toggle-field .segmented button{width:auto;flex:1;min-width:0;padding:8px}
.fuel-controls .field-top label{display:block;margin:0}.fuel-controls .number-pill{flex-shrink:0}.fuel-controls .number-pill input{width:60px;min-height:34px;padding:6px 0;border:0;border-radius:0;background:transparent;text-align:right;font-size:16px}
.fuel-controls input[type=range]{padding:0;border:0;min-height:0;touch-action:pan-y}.fuel-controls .rate-slider .micro{margin-top:8px}.fuel-controls .charger-grid{margin-bottom:20px}.fuel-controls .tariff-presets{flex-wrap:wrap}
@media(max-width:740px){.page>.intro{padding:22px 0 16px}.fuel-fields{grid-template-columns:minmax(85px,110px) minmax(0,1fr);gap:12px}.fuel-fields .segmented{gap:2px;padding:3px}.fuel-fields .segmented button{font-size:11px;padding:8px 4px;min-height:44px}.cmp-result dd,.fuel-result dd{font-size:18px}.cmp-option .charger-grid{gap:6px}.cmp-option .charger-option{padding:10px 6px}.fuel-controls input{font-size:16px}}
@media(max-width:360px){.fuel-fields{grid-template-columns:1fr}.fuel-fields>label{max-width:120px}.fuel-fields .toggle-field{width:100%}}

.fuel-fields input{min-height:55px}
@media(max-width:740px){.fuel-fields input{min-height:52px}}
@media(max-width:380px){.fuel-controls .charger-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.charger-return-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px}.charger-return-top[hidden]{display:none}.charger-return-top span{font-size:13px;color:var(--muted)}.charger-return{display:block;margin:12px 0}

/* The website mirrors the app's navigation while keeping Alerts promotional. */
.alerts-comparison-modes{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.alerts-comparison-modes button{flex:1;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font-size:13px;font-weight:650}.alerts-comparison-modes [aria-current=page]{border:2px solid var(--green);color:var(--green)}
nav [data-page=alerts] .alerts-nav-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none}nav [data-page=alerts] .alerts-nav-icon svg{display:block}.desktop-nav [data-page=alerts]{display:flex;align-items:center;gap:5px}.desktop-nav [data-page=alerts] svg{width:17px;height:17px}
.web-alerts-page{max-width:960px;margin:0 auto;padding-bottom:32px}.web-alerts-page>.intro{padding:26px 0 18px}.web-alerts-page .map-app-preview{margin-top:24px}.app-preview-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}.app-preview-actions .secondary{margin-top:0}.app-access-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid var(--green);border-radius:9px;color:var(--green);text-decoration:none;font-size:12px;font-weight:650}.app-access-link:hover{background:#edf8f0}
@media(min-width:741px){.web-alerts-page{max-width:none;margin:0}}
#app-download-dialog .primary.app-access-link{background:var(--green);color:var(--paper)}
@media(max-width:740px){.web-alerts-page>.intro{padding:22px 0 16px}.app-preview-actions>*{width:100%}.mobile-nav [data-page=alerts] .alerts-nav-icon svg{width:19px;height:19px}}

/* Settings information controls use consistent compact sizing. */
#currency-help{width:18px;height:18px;min-height:0;font-size:11px;line-height:16px;border-color:var(--line);color:var(--green)}
.currency-help{position:static}#currency-tooltip{left:0;top:calc(100% + 8px);width:260px;max-width:75vw;border-radius:10px}
.vehicle-results[hidden]{display:none}
#vehicle-dialog{width:min(620px,calc(100% - 32px));scroll-padding-top:96px}
#vehicle-dialog .dialog-heading{position:sticky;top:-24px;background:var(--paper);z-index:2;padding:8px 0;margin:-8px 0 8px}
#vehicle-dialog .dialog-heading .icon-button{width:44px;height:44px}
.desktop-nav [data-page=alerts] .alerts-nav-icon{position:absolute;top:20px;right:0}
.desktop-nav [data-page=alerts] .alerts-nav-icon svg{display:none}
#vehicle-dialog .vehicle-results{max-height:none;overflow:visible;border-radius:12px}
#vehicle-dialog .vehicle-result{padding:16px;gap:7px;min-height:64px}
#vehicle-dialog .vehicle-result strong{font-size:16px;line-height:1.4;width:100%}
#vehicle-dialog .vehicle-result span{font-size:13px;line-height:1.5}
#vehicle-dialog .vehicle-result strong span{float:right;font-size:22px}
#vehicle-dialog .vehicle-spec-count{font-size:13px;font-weight:400;color:var(--muted);line-height:1.5}
#vehicle-dialog .text-button,#vehicle-dialog summary{font-size:14px;min-height:44px;line-height:1.5;padding:10px 0}
#vehicle-dialog .micro{font-size:13px;line-height:1.5}
#vehicle-make{margin-bottom:0}
#vehicle-dialog .vehicle-model-result{min-height:48px;padding:10px 14px}
#vehicle-dialog .vehicle-model-result strong{display:flex;align-items:center;justify-content:space-between;gap:12px}
#vehicle-dialog [data-select-version-group] strong{display:block}
#vehicle-search-controls{margin-top:16px}
#vehicle-dialog .vehicle-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:36px;background:var(--paper);z-index:1;margin:0 0 16px}
#vehicle-dialog .vehicle-navigation[hidden]{display:none}
#vehicle-dialog .vehicle-navigation .text-button{flex:0 1 auto;text-align:left;margin:0;white-space:nowrap}
#vehicle-dialog .vehicle-navigation .text-button[hidden]{display:none}
#vehicle-search-panel>label:first-child{margin-top:0}
#vehicle-dialog #catalog-count{margin:16px 0 8px}
#vehicle-dialog #vehicle-shared-specs{margin:0 0 8px}
#vehicle-dialog #vehicle-version-count{margin:0 0 8px}
#vehicle-dialog .vehicle-results{margin:0 0 16px}
#vehicle-dialog .vehicle-generation-groups{border:0;background:transparent;border-radius:0}
#vehicle-dialog .vehicle-generation-group + .vehicle-generation-group{margin-top:24px}
#vehicle-dialog .vehicle-generation-group h3{font-size:16px;line-height:1.4;margin:0 0 6px}
#vehicle-dialog .vehicle-generation-group > .micro{margin:0 0 10px}
#vehicle-dialog .vehicle-choice-help{margin:4px 0 16px}
#vehicle-dialog .vehicle-choice-help summary{font-size:13px;line-height:1.5;color:var(--green);cursor:pointer;padding:8px 0}
#vehicle-dialog .vehicle-choice-help p{margin:4px 0 8px}
#vehicle-dialog .vehicle-secondary-details{margin:0;text-align:right;border:0;padding:0}
#vehicle-dialog .vehicle-secondary-details>summary{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:8px 0;font-size:12px;font-weight:400;color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer;list-style:none}
#vehicle-dialog .vehicle-secondary-details>summary::-webkit-details-marker{display:none}
#vehicle-dialog .vehicle-secondary-details>summary:hover{color:var(--ink)}
#vehicle-dialog .vehicle-secondary-details[open]>summary{text-decoration:none;color:var(--ink)}
#vehicle-dialog .vehicle-secondary-details p,#vehicle-dialog .vehicle-secondary-details div{text-align:left}
#vehicle-form>button[type=submit]{margin-bottom:8px}
#vehicle-family-title{font-size:22px;margin:0 0 8px}
.vehicle-confirm-summary h3{font-size:20px;line-height:1.4;margin:0 0 8px}
#vehicle-dialog .vehicle-shared-warning{margin:8px 0 16px}
.vehicle-confirm-summary dl{margin:16px 0}
.vehicle-confirm-summary dl>div{padding:12px 0;border-bottom:1px solid var(--line)}
.vehicle-confirm-summary dt{font-size:14px;color:var(--muted)}
.vehicle-confirm-summary dd{margin:6px 0 0;font-size:18px}
.vehicle-confirm-summary small{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:5px}
#vehicle-dialog .manual-vehicle{margin:18px 0;font-size:14px;min-height:48px}
@media(max-width:740px){#vehicle-dialog{--vehicle-top:max(32px,env(safe-area-inset-top));--vehicle-bottom:max(24px,env(safe-area-inset-bottom));box-sizing:border-box;width:calc(100% - 32px);max-width:620px;max-height:calc(100dvh - var(--vehicle-top) - var(--vehicle-bottom) - 16px);height:fit-content;inset:var(--vehicle-top) 0 var(--vehicle-bottom);margin:auto;border-radius:16px;padding:20px}#vehicle-dialog .dialog-heading{top:-20px}#vehicle-dialog .vehicle-navigation{top:40px}#vehicle-dialog .form-grid{grid-template-columns:1fr}}
.vehicle-strip .vehicle-icon.has-photo,.saved-car .vehicle-icon.has-photo{position:relative;display:block;width:140px;height:60px;min-width:0;min-height:0;flex:0 0 140px;background:transparent;border-radius:0;overflow:hidden}
.vehicle-strip .vehicle-icon,.saved-car .vehicle-icon{flex-shrink:0}
.vehicle-strip .vehicle-chip>.vehicle-icon+span{min-width:0;flex:1}
.vehicle-icon.has-photo>svg{display:none}
.vehicle-photo{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.vehicle-icon.has-photo+span{min-width:0;flex:1}
.saved-car{gap:10px;padding:10px 12px}
.saved-car .vehicle-icon{width:32px;height:32px}
.saved-car>.vehicle-copy{min-width:0;flex:1;flex-shrink:1}
.saved-car strong{font-size:14px;margin-bottom:0}
.saved-car small{font-size:10px;margin-top:0;overflow-wrap:anywhere}
@media(max-width:740px){.saved-car strong{font-size:13px}.saved-car small{font-size:9px}}
@media(max-width:740px){.vehicle-strip .vehicle-icon.has-photo,.saved-car .vehicle-icon.has-photo{width:clamp(90px,28vw,120px);height:clamp(40px,12vw,48px);flex-basis:clamp(90px,28vw,120px)}.vehicle-icon.has-photo+span small{overflow-wrap:anywhere}}
.vehicle-strip .vehicle-icon.has-photo{width:140px;height:60px;flex-basis:140px}
@media(max-width:740px){.vehicle-strip .vehicle-icon.has-photo{width:clamp(90px,28vw,120px);height:clamp(40px,12vw,52px);flex-basis:clamp(90px,28vw,120px)}}
.vehicle-strip .vehicle-chip strong{font-size:18px;line-height:1.25}
.vehicle-strip .vehicle-chip small{font-size:14px;line-height:1.35}
@media(max-width:380px){.vehicle-strip .vehicle-chip strong{font-size:clamp(15px,calc(5vw - 1px),18px)}.vehicle-strip .vehicle-chip small{font-size:clamp(12px,calc(3.333vw + 1.333px),14px)}}
.vehicle-strip .vehicle-chip .vehicle-specs{font-size:11px;line-height:1.4;margin-top:2px;overflow-wrap:anywhere}
.vehicle-spec-value{white-space:nowrap}

/* Shared charging flow on Compare and EV vs Fuel. */
.shared-charging .charging-option-title{font-size:12px;color:var(--muted);margin-bottom:12px}
.shared-charging .charging-section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 14px;margin-bottom:20px}
.shared-charging .charging-section-heading h2{font-size:16px;margin:0}
.shared-charging .charging-location-tabs{width:max-content;max-width:100%;flex:none;margin:0;padding:3px;gap:3px}
.shared-charging .charging-location-tabs button{width:auto;min-height:34px;padding:6px 12px;gap:6px}
.shared-charging .charger-type-label{margin:0 0 9px;font-size:12px;font-weight:600;color:var(--muted)}
.shared-charging .charger-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}
.shared-charging .charger-grid[data-location=home]{grid-template-columns:repeat(2,minmax(0,1fr))}
.shared-charging .charger-option{min-width:0;min-height:72px;padding:14px 12px;display:block;container-type:inline-size;container-name:charger-choice}
.shared-charging .charger-option-content{display:grid;gap:5px;width:100%}
.shared-charging .charger-option-content>svg{width:26px;height:26px;color:#74837b;margin-bottom:6px}
.shared-charging .charger-option[aria-pressed=true] .charger-option-content>svg{color:var(--green)}
@container charger-choice (min-width:85px){.shared-charging .charger-option-content{grid-template-columns:26px minmax(0,1fr);column-gap:10px;row-gap:5px}.shared-charging .charger-option-content>svg{grid-column:1;grid-row:1 / span 2;align-self:center;margin-bottom:0}.shared-charging .charger-option-content>strong,.shared-charging .charger-option-content>small{grid-column:2}}
/* Public labels need more room than the shorter Home choices. */
.calculator-charging #charger-options[data-location=public] .charger-option,.shared-charging .charger-grid[data-location=public] .charger-option{container-name:public-charger-choice}
.calculator-charging #charger-options[data-location=public] strong,#page-fuel .shared-charging .charger-grid[data-location=public] strong{font-size:clamp(10px,18cqi,13px);white-space:nowrap;overflow-wrap:normal}
.calculator-charging .charger-option-content>strong,.calculator-charging .charger-option-content>small,.shared-charging .charger-option-content>strong,.shared-charging .charger-option-content>small{min-width:0;max-width:100%;overflow-wrap:anywhere}
@container public-charger-choice (min-width:120px){.calculator-charging .charger-option-content,.shared-charging .charger-option-content{grid-template-columns:26px minmax(0,1fr);column-gap:10px;row-gap:5px}.calculator-charging .charger-option-content>svg,.shared-charging .charger-option-content>svg{grid-column:1;grid-row:1 / span 2;align-self:center;margin-bottom:0}.calculator-charging .charger-option-content>strong,.calculator-charging .charger-option-content>small,.shared-charging .charger-option-content>strong,.shared-charging .charger-option-content>small{grid-column:2}}
.shared-charging .charger-option strong{font-size:13px;line-height:1.3}
.shared-charging .charger-grid[data-location=home] strong{font-size:14px}
.shared-charging .charger-option small{font-size:11px;line-height:1.35}
.shared-charging .slider-field{margin-top:18px}
.shared-charging .field-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.shared-charging .field-top label{display:block;font-size:12px;font-weight:600;margin:0;min-height:0}
.shared-charging .charger-power-copy .micro{margin:3px 0 0;font-size:10px}
.shared-charging .rate-pill,.shared-charging .power-pill{width:88px;flex-shrink:0;padding:0 7px}
.shared-charging .rate-pill input,.shared-charging .power-pill input{width:0;min-width:0;flex:1;padding:0;border:0;background:transparent;min-height:0}
.shared-charging .rate-pill>span,.shared-charging .power-pill>span{flex-shrink:0;font-size:11px}
.shared-charging .charging-rate-presets{grid-template-columns:repeat(2,minmax(0,1fr));max-width:240px}
#page-fuel .presets button.selected{background:#fff;border-color:var(--green);color:var(--green)}
[data-theme=dark] #page-fuel .presets button.selected{background:#1d3032}
#page-compare .presets button.selected{background:#fff;border-color:var(--green);color:var(--green)}
[data-theme=dark] #page-compare .presets button.selected{background:#1d3032}
.shared-charging .charging-finder{display:grid;width:100%;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;margin:12px 0 16px;text-align:left;border-color:var(--line);border-radius:14px;background:transparent}
.shared-charging .charging-manual-hint{display:flex;align-items:center;gap:10px;text-align:center;font-size:12px;color:var(--muted);margin:-6px 0 16px}
.shared-charging .charging-manual-hint::before,.shared-charging .charging-manual-hint::after{content:"";flex:1;min-width:0;border-top:1px solid var(--line)}
@media(max-width:370px){.shared-charging .field-top{gap:8px;flex-wrap:wrap}.shared-charging .charging-location-tabs button{padding-inline:5px;font-size:11px}.shared-charging .charger-option{padding:12px 8px}.shared-charging .charger-option strong{font-size:12px}.shared-charging .charger-grid[data-location=home] strong{font-size:13px}.shared-charging .charging-finder{gap:7px;padding:10px}}
/* Keep the original toggle size; let the responsive heading wrap naturally. */
.calculator-charging .charging-section-heading,.shared-charging .charging-section-heading{container-type:inline-size;container-name:charging-heading;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.calculator-charging .charging-section-heading h2,#page-fuel .shared-charging .charging-section-heading h2{font-size:clamp(12px,calc(4cqi + 2px),16px);white-space:nowrap;line-height:1.3;min-width:0;flex:none}
.calculator-charging .charging-location-tabs,.shared-charging .charging-location-tabs{margin-left:auto}
.calculator-charging .charging-location-tabs button,.shared-charging .charging-location-tabs button{font-size:12px;padding-inline:12px;gap:6px;white-space:nowrap}
.calculator-charging .charging-location-tabs svg,.shared-charging .charging-location-tabs svg{width:16px;height:16px}
/* Compact only below the space needed by the full-size heading and switch. */
@container charging-heading (max-width:290px){
 .calculator-charging .charging-location-tabs button,.shared-charging .charging-location-tabs button{font-size:clamp(11px,calc(3.5cqi + 1.85px),12px);padding-inline:clamp(4px,calc(35cqi - 89.5px),12px);gap:clamp(4px,calc(7cqi - 14.3px),6px)}
 .calculator-charging .charging-location-tabs svg,.shared-charging .charging-location-tabs svg{width:clamp(12px,calc(10cqi - 13px),16px);height:clamp(12px,calc(10cqi - 13px),16px)}
}
