@font-face{font-family:Local Sans;src:local("Adwaita Sans"),local("Aptos"),local("Segoe UI Variable");font-display:swap}@font-face{font-family:Local Mono;src:local("Adwaita Mono"),local("Cascadia Mono"),local("SFMono-Regular");font-display:swap}:root{color-scheme:dark;font-family:Local Sans,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;font-kerning:normal;--ink: oklch(93% .01 250);--ink-soft: oklch(74% .015 250);--ink-faint: oklch(58% .015 250);--paper: oklch(16% .015 250);--paper-deep: oklch(13% .015 250);--surface: oklch(21% .018 250);--surface-high: oklch(26% .02 250);--volt: oklch(78% .16 235);--volt-deep: oklch(60% .18 245);--volt-halo: oklch(78% .16 235 / .3);--green: oklch(72% .17 155);--green-pale: oklch(32% .06 155);--amber: oklch(78% .14 75);--amber-pale: oklch(34% .05 75);--red: oklch(66% .19 25);--power-destination: oklch(68% .1 205);--power-fast: oklch(73% .16 150);--power-rapid: oklch(80% .14 80);--power-ultra: oklch(70% .2 335);--rule: oklch(30% .02 250);--rule-strong: oklch(42% .025 250);--focus: var(--volt);--shadow: oklch(5% .01 250 / .5);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-toggle: cubic-bezier(.65, 0, .35, 1);--z-map-overlay: 2;--z-search: 3;--z-rail: 4}*{box-sizing:border-box}html{min-width:20rem;background:var(--paper)}body{margin:0;min-width:20rem;min-height:100vh;color:var(--ink);background:var(--paper)}button,input,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{border:0}svg{width:1.25rem;height:1.25rem;flex:none}::selection{background:var(--volt);color:var(--paper-deep)}:focus-visible{outline:.1875rem solid var(--focus);outline-offset:.1875rem}.skip-link{position:fixed;z-index:999;inset:.5rem auto auto .5rem;padding:.75rem 1rem;color:var(--ink);background:var(--surface-high);border:1px solid var(--volt);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-shell-map{height:100vh;height:100dvh;min-height:0;overflow:hidden}.site-header{min-height:3.75rem;padding:.5rem max(1rem,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--rule);background:var(--paper)}.wordmark{display:inline-flex;align-items:center;gap:.625rem;color:var(--ink);text-decoration:none;line-height:.86}.brand-mark{width:2rem;height:2rem;display:grid;place-items:center;color:var(--paper-deep);border:1px solid var(--volt-deep);border-radius:50%;background:var(--volt);transform:rotate(-6deg)}.brand-mark svg{width:1.1rem;height:1.1rem;stroke-width:2.2}.brand-name{font-size:.95rem;font-weight:850;letter-spacing:-.045em;text-transform:uppercase}.brand-note{display:none;margin-left:.5rem;padding-left:1rem;border-left:1px solid var(--rule-strong);color:var(--ink-soft);font-family:Local Mono,monospace;font-size:.6rem;line-height:1.4;letter-spacing:.015em;text-transform:uppercase}.utility-nav{display:flex;align-items:center;gap:.25rem}.utility-nav a{min-height:2.75rem;padding:.75rem;display:inline-flex;align-items:center;gap:.4rem;color:var(--ink-soft);font-size:.8rem;font-weight:700;text-decoration:none}.utility-nav a:first-child{display:none}.utility-nav a:hover,.utility-nav a.active{color:var(--ink);background:var(--surface)}.utility-nav svg{width:1rem;height:1rem}.search-console{position:absolute;z-index:var(--z-search);top:.75rem;left:.75rem;width:min(34rem,calc(100% - 1.5rem))}.search-pill{width:100%;min-height:2.75rem;padding:0 .75rem;display:flex;align-items:center;gap:.5rem;border:1px solid var(--rule-strong);background:var(--surface);box-shadow:0 .5rem 1.5rem var(--shadow);text-align:left;cursor:pointer}.search-pill svg{width:1rem;height:1rem;color:var(--ink-soft)}.search-pill-place{min-width:0;flex:1;overflow:hidden;font-size:.82rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.search-pill-radius{flex:none;color:var(--ink-faint);font-family:Local Mono,monospace;font-size:.58rem;letter-spacing:.04em;text-transform:uppercase}.search-console-body{display:none;border:1px solid var(--rule-strong);background:var(--surface);box-shadow:0 .75rem 2rem var(--shadow)}.search-console.expanded .search-pill{display:none}.search-console.expanded .search-console-body{display:block}.search-primary{padding:.5rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem;align-items:center}.place-search{grid-column:1 / -1;min-width:0}.search-collapse{width:2.75rem;min-height:2.75rem;display:grid;place-items:center;border:1px solid var(--rule-strong);background:var(--surface);cursor:pointer}.search-collapse:hover{background:var(--surface-high)}.search-collapse svg{width:1rem;height:1rem;transform:rotate(180deg)}.filter-cell:not(.switch-filter){display:grid;gap:.4rem;color:var(--ink-soft);font-family:Local Mono,monospace;font-size:.68rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.search-field{position:relative;min-height:2.75rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;border:1px solid var(--rule-strong);background:var(--paper-deep)}.search-field:after{position:absolute;z-index:4;inset:0;content:"";border:.1875rem solid transparent;pointer-events:none}.search-field:focus-within:after{border-color:var(--focus)}.search-field>svg{margin-left:.7rem;color:var(--ink-soft)}.search-field input{min-width:0;height:100%;padding:0 .6rem;border:0;outline:0;background:transparent;font-size:.95rem}.search-field input::placeholder{color:var(--ink-faint);opacity:1}.radius-control{position:relative;align-self:stretch;min-width:6rem;border-left:1px solid var(--rule-strong);background:var(--surface)}.radius-trigger{width:100%;height:100%;min-height:2.625rem;padding:.25rem 1.5rem .25rem .5rem;display:grid;align-content:center;gap:.05rem;background:transparent;text-align:left;cursor:pointer}.radius-trigger>span{color:var(--ink-faint);font-family:Local Mono,monospace;font-size:.48rem;line-height:1;text-transform:uppercase}.radius-trigger strong{color:var(--ink);font-size:.72rem;font-weight:800;white-space:nowrap}.radius-trigger svg{position:absolute;top:50%;right:.45rem;width:.8rem;height:.8rem;color:var(--ink-soft);transform:translateY(-50%) rotate(180deg);transition:transform .15s var(--ease-out)}.radius-trigger[aria-expanded=true] svg{transform:translateY(-50%)}.radius-trigger:hover{background:var(--surface-high)}.search-field>button{align-self:stretch;min-width:3.75rem;padding:0 .7rem;color:var(--paper-deep);border-left:1px solid var(--volt-deep);background:var(--volt);font-size:.7rem;font-weight:850;text-transform:uppercase;cursor:pointer}.search-field>button:active{background:var(--volt-deep)}.place-suggestions{position:absolute;z-index:2;top:calc(100% + .25rem);left:0;width:min(28rem,calc(100vw - 2rem));max-height:min(18rem,50vh);overflow-y:auto;border:1px solid var(--rule-strong);background:var(--surface);box-shadow:0 1rem 2rem var(--shadow)}.place-suggestions button{width:100%;min-height:3.25rem;padding:.65rem .875rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:0;border-bottom:1px solid var(--rule);color:var(--ink);background:var(--surface);text-align:left;text-transform:none;cursor:pointer}.place-suggestions button:last-child{border-bottom:0}.place-suggestions button:hover,.place-suggestions button.active{background:var(--surface-high);box-shadow:inset .1875rem 0 0 var(--volt)}.place-suggestions button span{font-weight:750}.place-suggestions button small{color:var(--ink-faint);font-family:Local Mono,monospace;font-size:.58rem;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}.radius-options{position:absolute;z-index:3;top:calc(100% + .25rem);right:0;width:9rem;border:1px solid var(--rule-strong);background:var(--surface);box-shadow:0 1rem 2rem var(--shadow)}.radius-options button{width:100%;min-height:2.75rem;padding:.6rem .75rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid var(--rule);color:var(--ink);background:var(--surface);text-align:left;cursor:pointer}.radius-options button:last-child{border-bottom:0}.radius-options button:hover,.radius-options button:focus-visible,.radius-options button.active{background:var(--surface-high);box-shadow:inset .1875rem 0 0 var(--volt)}.radius-options button span{font-size:.75rem;font-weight:750}.radius-options button small{color:var(--ink-faint);font-family:Local Mono,monospace;font-size:.52rem;letter-spacing:.035em;text-transform:uppercase}.location-action{display:block}.location-button{position:relative;width:2.75rem;min-height:2.75rem;padding:0;display:grid;place-items:center;border:1px solid var(--rule-strong);background:var(--surface);cursor:pointer}.location-privacy{position:absolute;right:-.2rem;bottom:-.2rem;width:1rem;height:1rem;display:grid;place-items:center;color:var(--paper-deep);background:var(--volt)}.location-privacy svg{width:.65rem;height:.65rem;stroke-width:2.4}.location-button:hover,.location-button:active{background:var(--surface-high)}.location-button:disabled{cursor:wait;opacity:.6}.filter-toggle{width:100%;min-height:2.75rem;padding:0 .7rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--rule-strong);background:var(--surface);font-size:.76rem;font-weight:750;cursor:pointer}.filter-toggle:hover{background:var(--surface-high)}.filter-toggle svg{width:1rem;height:1rem}.filter-count{min-width:1.25rem;height:1.25rem;padding:0 .25rem;display:inline-grid;place-items:center;color:var(--paper-deep);background:var(--volt);border:1px solid var(--volt-deep);font-family:Local Mono,monospace;font-size:.6rem;line-height:1}.filter-region{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--ease-out)}.filter-region>div{min-height:0;overflow:hidden}.filter-region.open{grid-template-rows:1fr}.filter-panel{max-height:min(30rem,calc(100dvh - 17.5rem));overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--rule-strong) var(--paper-deep);scrollbar-width:thin;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule-strong);background:var(--paper-deep)}.filter-panel-heading{min-height:3rem;padding:.5rem .75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--rule-strong)}.filter-panel-heading>div:first-child{min-width:0;display:grid;gap:.1rem}.filter-panel-heading strong{font-size:.92rem;line-height:1.1;letter-spacing:-.02em;white-space:nowrap}.filter-panel-kicker,.filter-panel-status{color:var(--ink-faint);font-family:Local Mono,monospace;font-size:.58rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase}.filter-panel-status{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;white-space:nowrap}.filter-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--rule)}.filter-cell{min-width:0;min-height:0;padding:.55rem .75rem;background:var(--paper-deep)}.filter-cell:not(.switch-filter){grid-template-rows:auto auto;align-content:start}.filter-copy{min-width:0;display:grid;align-content:start;gap:.1rem}.filter-control{min-width:0;display:grid;gap:.25rem}.filter-grid select{width:100%;min-width:0;min-height:2.75rem;padding:.6rem 2rem .6rem .7rem;border:1px solid var(--rule-strong);border-radius:0;background:var(--surface);font-family:Local Sans,sans-serif;font-size:.84rem;text-transform:none}.filter-grid select:disabled{opacity:.45}.filter-grid label small{color:var(--ink-faint);font-family:Local Sans,sans-serif;font-size:.62rem;font-weight:500;letter-spacing:0;line-height:1.2;text-transform:none}.filter-name{color:var(--ink-soft);font-family:Local Mono,monospace;font-size:.62rem;font-weight:750;letter-spacing:.055em;text-transform:uppercase}.clear-filters{min-height:2rem;padding:.35rem .6rem;border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);font-family:Local Mono,monospace;font-size:.58rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase;cursor:pointer}.clear-filters:hover{color:var(--paper-deep);border-color:var(--volt);background:var(--volt)}.switch-filter{min-height:4.5rem;display:flex;align-items:center;justify-content:space-between;gap:.65rem;background:var(--paper-deep);cursor:pointer}.switch-copy{min-width:0;display:grid;gap:.18rem}.switch-copy .filter-name{color:var(--ink-soft)}.switch-filter:has(input:checked){background:var(--surface-high)}.switch-filter:has(input:checked) .filter-name{color:var(--volt)}.switch-copy strong{font-size:.92rem;line-height:1.15}.switch-copy small{color:var(--ink-faint)}.switch-filter input{position:absolute;opacity:0;pointer-events:none}.switch-track{flex:none;width:2.75rem;height:1.55rem;padding:.2rem;border:1px solid var(--rule-strong);background:var(--paper-deep);transition:background .15s var(--ease-toggle)}.switch-track:after{content:"";display:block;width:1.05rem;height:1.05rem;background:var(--ink-soft);transition:transform .15s var(--ease-toggle),background .15s var(--ease-toggle)}.switch-filter input:checked+.switch-track{border-color:var(--volt);background:var(--volt)}.switch-filter input:checked+.switch-track:after{background:var(--paper-deep);transform:translate(1.2rem)}.switch-filter input:focus-visible+.switch-track{outline:.1875rem solid var(--focus);outline-offset:.1875rem}.inline-error{margin:0;padding:.6rem .75rem;color:var(--red);border-top:1px solid var(--red);font-size:.78rem;line-height:1.45}.map-shell{--rail-width: min(26rem, 34vw);--sheet-peek: 4.25rem;position:relative;flex:1;min-height:0;overflow:hidden;background:var(--paper-deep)}.map-shell>.results-map,.map-shell>.map-skeleton{position:absolute;inset:0}.eyebrow{margin:0 0 .45rem;color:var(--ink-soft);font-family:Local Mono,monospace;font-size:.67rem;font-weight:700;line-height:1.4;letter-spacing:.055em;text-transform:uppercase}.eyebrow span{color:var(--volt)}h1,h2,h3,p{text-wrap:pretty}.viewport-list{--sheet-offset: calc(100% - var(--sheet-peek));position:absolute;z-index:var(--z-rail);inset:auto 0 0;height:min(85%,40rem);display:grid;grid-template-rows:auto auto minmax(0,1fr);border-top:1px solid var(--rule);background:var(--surface);box-shadow:0 -.75rem 2.5rem var(--shadow);transform:translateY(var(--sheet-offset));transition:transform .26s var(--ease-out)}.viewport-list.showing-detail{grid-template-rows:auto minmax(0,1fr)}.viewport-list.sheet-half{--sheet-offset: 45%}.viewport-list.sheet-full{--sheet-offset: 0px}.viewport-list.dragging{transition:none}.sheet-grabber{position:relative;min-height:var(--sheet-peek);padding:1.1rem 1rem .75rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;border-bottom:1px solid var(--rule);background:var(--surface);text-align:left;touch-action:none;cursor:grab}.sheet-grabber:active{cursor:grabbing}.sheet-bar{position:absolute;top:.45rem;left:50%;width:2.5rem;height:.25rem;background:var(--rule-strong);transform:translate(-50%)}.sheet-copy{min-width:0}.sheet-cue{display:none}.sheet-summary{min-width:0;font-size:.88rem;font-weight:800;letter-spacing:-.02em}.sheet-chevron{width:1.1rem;height:1.1rem;color:var(--ink-soft);transition:transform .26s var(--ease-out)}.viewport-list.sheet-full .sheet-chevron{transform:rotate(180deg)}.viewport-heading{padding:1rem 1rem .9rem;border-bottom:1px solid var(--rule)}.viewport-heading h1{margin:0;font-size:1.3rem;line-height:1.1;letter-spacing:-.04em;overflow-wrap:anywhere}.viewport-count{margin:.5rem 0 0;color:var(--ink-soft);font-family:Local Mono,monospace;font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.viewport-cap{margin:.75rem 0 0;padding:.6rem .7rem;color:var(--ink);background:var(--amber-pale);font-size:.74rem;line-height:1.45}.viewport-results{overflow:auto;overscroll-behavior:contain}.panel-footer{margin:0;padding:1rem;color:var(--ink-faint);font-family:Local Mono,monospace;font-size:.55rem;line-height:1.6;text-transform:uppercase}.ephemeral-notice{margin:.75rem 0 0;padding:.75rem;display:flex;gap:.6rem;align-items:flex-start;border:1px solid var(--rule-strong);background:var(--paper-deep);color:var(--ink-soft);font-size:.74rem;line-height:1.5}.ephemeral-notice svg{width:1rem;height:1rem;margin-top:.1rem}.location-list{display:grid;gap:.5rem;padding:.5rem}.location-card{position:relative;padding:.875rem 1rem 1rem;display:grid;gap:.7rem;border:1px solid var(--rule);background:var(--surface);transition:background .18s var(--ease-out),border-color .18s var(--ease-out)}.card-hit-area{position:absolute;inset:0;z-index:1;background:transparent;cursor:pointer}.location-card:hover{background:var(--surface-high);border-color:var(--rule-strong)}.location-card.selected{background:var(--surface-high);border-color:var(--rule-strong);box-shadow:inset .1875rem 0 0 var(--volt)}.location-card:has(.card-hit-area:focus-visible){outline:.1875rem solid var(--focus);outline-offset:-.1875rem}.card-hit-area:focus-visible{outline:0}.location-identity{min-width:0}.location-identity h2{margin:0 0 .25rem;font-size:1rem;line-height:1.18;letter-spacing:-.03em;overflow-wrap:anywhere}.place-line{margin:0;color:var(--ink-soft);font-size:.72rem;line-height:1.4}.shared-site-label{margin:.35rem 0 0;color:var(--volt);font-family:Local Mono,monospace;font-size:.58rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.card-stats{margin:0;padding:.7rem 0;display:grid;grid-template-columns:minmax(4rem,auto) minmax(0,1fr);gap:.65rem .9rem;border-block:1px solid var(--rule)}.card-stats>div{min-width:0}.stat-connectors{grid-column:1 / -1}.card-stats dt{margin:0 0 .2rem;color:var(--ink-faint);font-family:Local Mono,monospace;font-size:.55rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.card-stats dd{margin:0;min-width:0}.card-stats b{display:block;color:var(--volt);font-family:Local Mono,monospace;font-weight:800;line-height:1.05;letter-spacing:-.02em;overflow-wrap:anywhere}.stat-power b{font-size:1.35rem}.stat-price b{font-size:1.05rem}.stat-absent{color:var(--ink-faint);font-size:.68rem;line-height:1.3}.stat-connectors dd{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem}.connector-standard{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:700;white-space:nowrap}.stat-connectors .connector-standard svg{width:1.5rem;height:1.5rem;color:var(--ink-soft)}.card-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.3rem .75rem}.availability-chip{display:inline-flex;align-items:center;gap:.45rem;color:var(--ink-soft);font-size:.7rem}.availability-chip b{color:var(--ink)}.availability-chip i{flex:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--ink-faint)}.availability-chip.available i{background:var(--green);box-shadow:0 0 0 .18rem var(--green-pale)}.availability-chip.stale i{background:var(--amber);box-shadow:0 0 0 .18rem var(--amber-pale)}.card-freshness{color:var(--ink-faint);font-family:Local Mono,monospace;font-size:.58rem;letter-spacing:.04em;text-transform:uppercase}.maplibregl-canvas{filter:invert(1) hue-rotate(180deg) saturate(.55) brightness(.9) contrast(.95)}.charger-map-marker{width:3rem;height:3rem;padding:0;display:grid;place-items:center;color:var(--paper-deep);border:0;border-radius:50%;background:transparent;cursor:pointer}.charger-map-cluster{width:3.5rem;height:3.5rem;padding:0;display:grid;place-items:center;color:var(--paper-deep);border:0;border-radius:50%;background:transparent;cursor:zoom-in}.marker-badge{width:2.1rem;height:2.1rem;display:grid;place-items:center;border:.125rem solid var(--paper);border-radius:50%;background:var(--ink-faint);box-shadow:0 0 0 1px var(--rule-strong),0 .15rem .45rem var(--shadow);transition:transform .18s var(--ease-out),background .18s var(--ease-out),box-shadow .18s var(--ease-out)}.marker-badge svg{width:1.2rem;height:1.2rem}.cluster-badge{width:2.75rem;height:2.75rem;display:grid;grid-template-columns:auto auto;place-content:center;align-items:center;gap:.12rem;border:.125rem solid var(--paper);border-radius:50%;background:var(--ink-faint);box-shadow:0 0 0 1px var(--rule-strong),0 .15rem .55rem var(--shadow);transition:transform .18s var(--ease-out),background .18s var(--ease-out),box-shadow .18s var(--ease-out)}.cluster-badge svg{width:.7rem;height:.7rem;stroke-width:2.6}.cluster-badge strong{font-family:Local Mono,monospace;font-size:.66rem;font-weight:900;letter-spacing:-.05em}.charger-map-marker.power-unknown .marker-badge,.charger-map-cluster.power-unknown .cluster-badge{background:var(--ink-faint)}.charger-map-marker.power-destination .marker-badge,.charger-map-cluster.power-destination .cluster-badge{background:var(--power-destination)}.charger-map-marker.power-fast .marker-badge,.charger-map-cluster.power-fast .cluster-badge{background:var(--power-fast)}.charger-map-marker.power-rapid .marker-badge,.charger-map-cluster.power-rapid .cluster-badge{background:var(--power-rapid)}.charger-map-marker.power-ultra .marker-badge,.charger-map-cluster.power-ultra .cluster-badge{background:var(--power-ultra)}.charger-map-marker:hover,.charger-map-marker:focus-visible,.charger-map-cluster:hover,.charger-map-cluster:focus-visible{z-index:2;outline:0}.charger-map-marker:hover .marker-badge,.charger-map-marker:focus-visible .marker-badge,.charger-map-cluster:hover .cluster-badge,.charger-map-cluster:focus-visible .cluster-badge{transform:scale(1.08);box-shadow:0 0 0 .15rem var(--focus),0 .2rem .6rem var(--shadow)}.charger-map-marker.selected{z-index:3}.charger-map-marker.selected .marker-badge{background:var(--volt);box-shadow:0 0 0 .22rem var(--volt-halo),0 .2rem .6rem var(--shadow);transform:scale(1.14)}.charger-map-marker.selected:hover .marker-badge,.charger-map-marker.selected:focus-visible .marker-badge{transform:scale(1.2)}.maplibregl-canvas:focus-visible{outline:.1875rem solid var(--focus);outline-offset:-.1875rem}.maplibregl-ctrl-group{border-radius:0!important;box-shadow:none!important;border:1px solid var(--rule-strong);background:var(--surface)}.maplibregl-ctrl button{background-color:var(--surface)}.maplibregl-ctrl button:hover{background-color:var(--surface-high)}.maplibregl-ctrl-group button+button{border-top:1px solid var(--rule)}.maplibregl-ctrl button .maplibregl-ctrl-icon{filter:invert(1)}.maplibregl-ctrl-attrib{color:var(--ink-soft);background:#04080dd1!important;border-radius:0!important}.maplibregl-ctrl-attrib a{color:var(--ink-soft)}.maplibregl-ctrl-attrib-button{border-radius:0!important;filter:invert(1)}.map-shell .maplibregl-ctrl-bottom-right{bottom:var(--sheet-peek)}.map-legend{position:absolute;z-index:var(--z-map-overlay);left:.75rem;bottom:calc(var(--sheet-peek) + 2.4rem);padding:.55rem .7rem;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .65rem;max-width:calc(100% - 1.5rem);border:1px solid var(--rule-strong);background:var(--surface);font-family:Local Mono,monospace;font-size:.58rem;text-transform:uppercase}.legend-title{color:var(--ink-soft)}.legend-key{display:inline-flex;align-items:center;gap:.28rem;white-space:nowrap}.legend-dot{width:.55rem;height:.55rem;border-radius:50%}.legend-dot.power-unknown{background:var(--ink-faint)}.legend-dot.power-destination{background:var(--power-destination)}.legend-dot.power-fast{background:var(--power-fast)}.legend-dot.power-rapid{background:var(--power-rapid)}.legend-dot.power-ultra{background:var(--power-ultra)}.legend-dot.picked{background:var(--volt);box-shadow:0 0 0 .15rem var(--volt-halo)}.map-legend .radius-boundary{width:1rem;height:0;border-top:2px dashed var(--volt-deep)}.ad-placeholder{margin:1rem;padding:1rem;display:grid;gap:.4rem;border:1px dashed var(--rule-strong);color:var(--ink-faint);font-family:Local Mono,monospace;font-size:.58rem;line-height:1.5;text-transform:uppercase}.ad-placeholder p{margin:0}.detail-panel{--panel-inset: 1rem;display:block;padding:0 var(--panel-inset) max(2rem,env(safe-area-inset-bottom))}.detail-panel:focus{outline:0}.detail-back{position:sticky;z-index:1;top:0;margin:0 calc(var(--panel-inset) * -1) .75rem;padding:.3rem calc(var(--panel-inset) - .6rem);border-bottom:1px solid var(--rule);background:var(--surface)}.detail-back button{min-height:2.5rem;padding:.4rem .6rem;display:inline-flex;align-items:center;gap:.45rem;color:var(--ink-soft);background:transparent;font-size:.74rem;font-weight:750;cursor:pointer}.detail-back button:hover{color:var(--volt)}.detail-back svg{width:1rem;height:1rem;transform:rotate(180deg)}.detail-panel>h2{margin:.3rem 0 .5rem;font-size:1.5rem;line-height:1.08;letter-spacing:-.04em;overflow-wrap:anywhere}.detail-address{margin:0 0 1rem;color:var(--ink-soft);font-size:.85rem;line-height:1.5}.site-networks{margin:-.25rem 0 1rem;display:flex;flex-wrap:wrap;gap:.35rem}.site-networks span{padding:.3rem .45rem;color:var(--volt);border:1px solid var(--rule-strong);background:var(--paper-deep);font-family:Local Mono,monospace;font-size:.58rem;font-weight:750;text-transform:uppercase}.detail-freshness{display:flex;align-items:center;gap:.5rem;color:var(--ink-soft);font-family:Local Mono,monospace;font-size:.65rem;text-transform:uppercase}.detail-freshness>span{width:.5rem;height:.5rem;border-radius:50%;background:var(--green)}.detail-freshness.delayed>span{background:var(--amber)}.data-warning{margin:1rem 0;padding:.75rem;display:flex;gap:.6rem;color:var(--ink);background:var(--amber-pale);font-size:.78rem;line-height:1.4}.data-warning svg{width:1rem;height:1rem}.evse-list{margin-top:1.5rem;border-top:1px solid var(--rule)}.evse-row{padding:1rem 0;border-bottom:1px solid var(--rule)}.evse-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;margin-bottom:.8rem}.evse-heading h3{min-width:0;margin:0;overflow:hidden;font-size:.85rem;text-overflow:ellipsis;white-space:nowrap}.evse-heading h3 small{display:block;margin-bottom:.15rem;color:var(--volt);font-family:Local Mono,monospace;font-size:.55rem;letter-spacing:.04em;text-transform:uppercase}.evse-status{justify-self:end;color:var(--ink-soft);font-size:.72rem;white-space:nowrap}.status-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--ink-faint)}.status-dot.available{background:var(--green)}.status-dot.charging,.status-dot.occupied{background:var(--ink-soft)}.status-dot.outoforder{background:var(--red)}.evse-row.delayed .status-dot{background:var(--amber)}.evse-freshness{margin:-.45rem 0 .75rem 1.1rem;color:var(--ink-faint);font-family:Local Mono,monospace;font-size:.6rem;text-transform:uppercase}.connector-row{min-height:4rem;padding:.65rem 0 .65rem 1.1rem;display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;align-items:center;gap:.75rem;border-top:1px solid var(--rule);font-size:.75rem}.connector-face{width:2.75rem;height:2.75rem;display:grid;place-items:center;border:1px solid var(--rule-strong);background:var(--paper-deep)}.connector-face svg{width:2.15rem;height:2.15rem}.connector-row.power-unknown .connector-face,.connector-row.power-unknown .connector-power{color:var(--ink-faint)}.connector-row.power-destination .connector-face,.connector-row.power-destination .connector-power{color:var(--power-destination)}.connector-row.power-fast .connector-face,.connector-row.power-fast .connector-power{color:var(--power-fast)}.connector-row.power-rapid .connector-face,.connector-row.power-rapid .connector-power{color:var(--power-rapid)}.connector-row.power-ultra .connector-face,.connector-row.power-ultra .connector-power{color:var(--power-ultra)}.connector-copy{min-width:0;display:grid;gap:.2rem}.connector-copy strong{font-size:.82rem}.connector-copy>span{color:var(--ink-soft);overflow-wrap:anywhere}.connector-power{display:flex;align-items:center;gap:.25rem;white-space:nowrap}.connector-power svg{width:.8rem;height:.8rem}.detail-meta{margin:1.25rem 0;display:flex;justify-content:space-between;font-size:.78rem}.detail-meta span{color:var(--ink-soft)}.directions-link{min-height:3.25rem;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;color:var(--paper-deep);background:var(--volt);border:1px solid var(--volt-deep);font-size:.84rem;font-weight:800;text-decoration:none}.directions-link:hover{background:var(--volt-deep)}.detail-error{padding-top:2rem}.detail-error button,.state-message button{min-height:2.75rem;padding:.5rem 1rem;color:var(--paper-deep);border:1px solid var(--volt-deep);background:var(--volt);font-weight:750;cursor:pointer}.detail-skeleton{padding-top:2rem;display:grid;gap:1rem}.detail-skeleton span,.source-skeleton span{display:block;height:1.5rem;background:linear-gradient(90deg,var(--surface),var(--surface-high),var(--surface));background-size:200% 100%;animation:shimmer 1.2s linear infinite}.detail-skeleton span:nth-child(1){width:35%}.detail-skeleton span:nth-child(2){width:80%;height:2.5rem}.detail-skeleton span:nth-child(3){width:60%}.detail-skeleton span:nth-child(4){height:8rem}@keyframes shimmer{to{background-position:-200% 0}}.list-skeleton>div{min-height:8rem;padding:1.25rem 1rem;display:grid;gap:.8rem;border-bottom:1px solid var(--rule)}.list-skeleton span{display:block;width:35%;height:.8rem;background:var(--surface-high);animation:pulse 1.1s ease-in-out infinite alternate}.list-skeleton span:nth-child(2){width:70%;height:1.8rem}.list-skeleton span:nth-child(3){width:100%;height:3.25rem}@keyframes pulse{to{opacity:.4}}.map-skeleton{display:grid;place-items:center;background-image:linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);background-size:3rem 3rem;color:var(--ink-soft);font-family:Local Mono,monospace;font-size:.7rem;text-transform:uppercase}.state-message{max-width:40rem;padding:2rem 1rem}.state-message h2{margin:0 0 .75rem;font-size:1.3rem;letter-spacing:-.04em}.state-message>p:not(.eyebrow){color:var(--ink-soft);line-height:1.6}.state-message.error{color:var(--red)}.content-page{width:min(100% - 2rem,70rem);margin:0 auto;padding:3rem 0 5rem;flex:1}.content-page>h1{max-width:15ch;margin:1rem 0;font-size:clamp(2.5rem,10vw,5.5rem);line-height:.92;letter-spacing:-.075em}.content-page .lead{max-width:52ch;margin:1.5rem 0 3.5rem;color:var(--ink-soft);font-size:1.12rem;line-height:1.55}.page-kicker{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .65rem;color:var(--paper-deep);border:1px solid var(--volt-deep);background:var(--volt);font-family:Local Mono,monospace;font-size:.65rem;font-weight:700;text-transform:uppercase}.page-kicker svg{width:1rem;height:1rem}.privacy-ledger{border-top:1px solid var(--rule)}.privacy-ledger section{display:grid;grid-template-columns:2.5rem 1fr;gap:.5rem 1rem;padding:1.5rem 0;border-bottom:1px solid var(--rule)}.privacy-ledger section>span{grid-row:1 / 3;color:var(--ink-faint);font-family:Local Mono,monospace;font-size:.7rem}.privacy-ledger h2{margin:0;font-size:1.25rem;letter-spacing:-.035em}.privacy-ledger p{margin:0;color:var(--ink-soft);font-size:.9rem;line-height:1.55}.technical-note{margin-top:4rem;padding:1.5rem;background:var(--surface);border:1px solid var(--rule)}.technical-note .eyebrow{color:var(--volt)}.technical-note h2{margin:0 0 1.5rem;font-size:1.5rem}.technical-note code{display:block;padding:1rem;overflow-x:auto;color:var(--volt);background:var(--paper-deep);border:1px solid var(--rule-strong);font-family:Local Mono,monospace;font-size:.72rem;white-space:nowrap}.technical-note>p:last-child{margin:1.5rem 0 0;color:var(--ink-soft);font-size:.85rem;line-height:1.6}.policy-date{margin-top:2rem;color:var(--ink-faint);font-family:Local Mono,monospace;font-size:.62rem;text-transform:uppercase}.source-list{border-top:1px solid var(--rule)}.source-list article{position:relative;padding:1.5rem 0;display:grid;grid-template-columns:2rem 1fr;gap:1rem;border-bottom:1px solid var(--rule)}.source-index{color:var(--ink-faint);font-family:Local Mono,monospace;font-size:.65rem}.source-list h2{margin:0 0 .4rem;font-size:1.35rem}.source-list article p:not(.eyebrow){margin:0;color:var(--ink-soft);font-size:.85rem;line-height:1.5}.source-list dl{grid-column:2;margin:.5rem 0 0;display:grid;gap:0 .9rem}.source-list dl>div{padding-top:.55rem;border-top:1px solid var(--rule)}.source-list dt{color:var(--ink-faint);font-family:Local Mono,monospace;font-size:.6rem;text-transform:uppercase}.source-list dd{min-width:0;margin:.2rem 0 .65rem;font-size:.78rem}.source-health{display:inline-flex;align-items:center;gap:.4rem;font-weight:700}.source-health:before{width:.45rem;height:.45rem;content:"";background:var(--ink-faint)}.source-health[data-state=healthy]:before{background:var(--green)}.source-health[data-state=failed]{color:var(--red)}.source-health[data-state=failed]:before{background:var(--red)}.source-health[data-state=waiting]:before{background:var(--amber)}.source-poll-time{display:block;margin-top:.2rem;color:var(--ink-faint);font-family:Local Mono,monospace;font-size:.64rem}.source-empty{color:var(--ink-faint)}.source-list article>a{position:absolute;top:1.25rem;right:0;width:2.75rem;height:2.75rem;display:grid;place-items:center;border:1px solid var(--rule-strong)}.source-list article>a:hover{color:var(--paper-deep);border-color:var(--volt);background:var(--volt)}.source-method{margin-top:3rem;padding:1.25rem;border:1px dashed var(--rule-strong)}.source-method span{font-family:Local Mono,monospace;font-size:.62rem;text-transform:uppercase}.source-method p{max-width:65ch;margin:1rem 0 0;color:var(--ink-soft);font-size:.88rem;line-height:1.6}.source-skeleton{display:grid;gap:1rem}.source-skeleton span{height:7rem}footer{min-height:4rem;padding:1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;color:var(--ink-soft);background:var(--paper-deep);border-top:1px solid var(--rule);font-family:Local Mono,monospace;font-size:.58rem;text-transform:uppercase}@media(max-width:39.999rem){.map-shell{--sheet-peek: 4.75rem}.map-shell .maplibregl-ctrl-top-right{display:none}.sheet-grabber{padding-top:1.35rem}.sheet-bar{width:3.5rem;height:.3rem;background:var(--volt);box-shadow:0 0 0 .2rem var(--volt-halo)}.sheet-copy{display:grid;gap:.15rem}.sheet-cue{display:block;color:var(--volt);font-family:Local Mono,monospace;font-size:.56rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}}@media(min-width:40rem){.site-header{padding-inline:1.5rem}.brand-note,.utility-nav a:first-child{display:inline-block}.utility-nav a{display:inline-flex!important}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-grid .switch-filter{grid-column:1 / -1}.viewport-heading,.sheet-grabber,.list-skeleton>div,.state-message{padding-inline:1.5rem}.location-list{padding:.75rem 1.25rem 1.25rem}.detail-panel{--panel-inset: 1.5rem}.ad-placeholder{margin-inline:1.5rem}.content-page{padding-top:5rem}.privacy-ledger section{grid-template-columns:3rem minmax(12rem,.65fr) 1fr;align-items:baseline}.privacy-ledger section>span{grid-row:auto}.source-list article{grid-template-columns:2.5rem minmax(13rem,.8fr) minmax(23rem,1.2fr) 3rem;align-items:start}.source-list dl{grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.source-list .source-fact-wide{grid-column:1 / -1}.source-list article>a{position:static}}@media(min-width:64rem){.site-header{padding-inline:2rem}.search-console{top:1rem;left:1rem;width:min(34rem,calc(100% - var(--rail-width) - 2rem))}.search-console-body{display:block}.search-pill,.search-collapse{display:none}.search-primary{grid-template-columns:minmax(0,1fr) auto auto}.place-search{grid-column:auto}.filter-toggle{width:auto}.viewport-list{inset:0 0 0 auto;width:var(--rail-width);height:auto;grid-template-rows:auto minmax(0,1fr);border-top:0;border-left:1px solid var(--rule);box-shadow:-.75rem 0 2.5rem var(--shadow);transform:none}.viewport-list.showing-detail{grid-template-rows:minmax(0,1fr)}.sheet-grabber{display:none}.map-shell .maplibregl-ctrl-top-right,.map-shell .maplibregl-ctrl-bottom-right{right:var(--rail-width)}.map-shell .maplibregl-ctrl-bottom-right{bottom:0}.map-legend{bottom:.75rem}.detail-panel>h2{font-size:1.75rem}.content-page .lead{font-size:1.25rem}.technical-note{padding:2rem}}@media(pointer:coarse){.utility-nav a,.filter-toggle,.location-button,.clear-filters,.detail-back button,.filter-grid select{min-height:3rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:more){:root{--rule: var(--ink-faint);--rule-strong: var(--ink-soft)}}
