:root{--bg:#f5f7fa;--panel:#fff;--text:#19243b;--muted:#667188;--border:#dce2eb;--accent:#087f78;--soft:#e0f2ee;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Arial,Helvetica,sans-serif}html[data-theme=dark]{--bg:#0b111b;--panel:#111925;--text:#edf1fa;--muted:#a4aec1;--border:#293449;--accent:#ff526e;--soft:#34202c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;background:var(--panel);border:1px solid var(--border);cursor:pointer;touch-action:manipulation;border-radius:12px;min-height:44px;padding:10px 14px}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button[aria-pressed=true]{color:var(--accent);background:var(--soft)}a{color:var(--accent)}input,select,textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:10px;width:100%;min-height:44px;padding:12px;font-size:16px}input[type=range]{accent-color:var(--accent);cursor:pointer;padding:0}input[type=checkbox]{width:22px;height:22px;min-height:0;accent-color:var(--accent)}input[type=color]{padding:4px}small,.muted{color:var(--muted);font-size:12px;line-height:1.5}small{display:block}h2{margin:0;font-size:20px}h3{margin:20px 0 12px;font-size:16px}.dashboard{height:100dvh}.topbar{height:calc(64px + env(safe-area-inset-top));padding:calc(4px + env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 4px max(12px, env(safe-area-inset-left));border-bottom:1px solid var(--border);z-index:20;background:var(--panel);justify-content:space-between;align-items:center;display:flex;position:relative}.brand{color:var(--accent);background:0 0;border:0;padding:0 8px;font-size:43px;line-height:1}.fullscreen-toggle{background:0 0;border:0;place-items:center;width:44px;height:44px;padding:10px;display:grid;position:absolute;left:50%;transform:translate(-50%)}.top-actions{align-items:center;gap:8px;display:flex}.fullscreen-toggle{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.fullscreen-toggle svg{pointer-events:none}.fullscreen-toggle[data-held=true]{background:var(--soft);color:var(--accent);outline:2px solid var(--accent)}.install-sr-hint{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.install-dialog{width:min(400px,100vw - 32px);max-height:80dvh;color:var(--text);background:0 0;border:0;padding:0}.install-dialog::backdrop{background:#00000073}.install-dialog>section{padding:22px}.install-dialog h2{margin:0 0 16px;font-size:20px}.install-dialog ol{margin:0;padding-left:22px;line-height:1.55}.install-dialog li+li{margin-top:12px}.install-dialog p{color:var(--muted);font-size:13px;line-height:1.5}.install-dialog button{width:100%;margin-top:18px}.soc-toggle{background:0 0;border:0;font-size:18px;font-weight:700}.appearance-toggle{border-radius:50%;width:46px;height:46px;padding:3px}.view-emblem{background:conic-gradient(#172338 0 33%, #416747 33% 66%, #dde8ca 66%);border-radius:50%;width:36px;height:36px;display:block;position:relative;overflow:hidden}.view-emblem:after{content:"";clip-path:polygon(50% 50%,100% 79%,100% 100%,0 100%,0 79%);background:#355a40 url(/api/budapest-imagery/10/566/358.webp) 50%/cover;position:absolute;inset:0}.layer-tile{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.map-area{inset:calc(64px + env(safe-area-inset-top)) 0 0;position:absolute;overflow:hidden}.map-canvas,.map-loading{position:absolute;inset:0}.map-loading{color:var(--muted);place-items:center;display:grid}.surface{background:var(--panel);border:1px solid var(--border);border-radius:18px;box-shadow:0 8px 28px #0002}.map-readings{z-index:3;max-width:calc(100% - 70px);position:absolute;top:10px;left:10px}.map-readings[data-color-map=true]{border-radius:16px 16px 8px 8px;width:290px;overflow:hidden;box-shadow:0 2px 8px #0003}.map-readings[data-color-map=true] .weather-info{border-radius:0}.map-readings[data-color-map=true] .temperature-toggle,.map-readings[data-color-map=true] .elevation-toggle{flex:1;justify-content:center}.weather-info{color:#15233a;z-index:2;background:#58cebc;border-radius:24px;align-items:center;height:30px;font-size:12px;display:flex;overflow:hidden}.weather-info button{background:var(--panel);border:0;border-radius:50%;width:30px;height:30px;min-height:30px;padding:4px;font-family:Georgia,serif;font-style:italic;font-weight:700}.weather-info span{padding:0 10px}.layers-toggle{font-weight:700;position:absolute;top:10px;right:10px}.layers-panel{z-index:8;width:min(330px,100vw - 20px);max-height:calc(100% - 145px);padding:16px;position:absolute;top:62px;right:10px;overflow:auto}.mode-switch{gap:6px;display:flex}.mode-switch button{flex:1;padding:8px}.check{align-items:center;gap:10px;padding:10px 0;font-size:14px;display:flex}.row{flex-wrap:wrap;gap:8px;display:flex}.row>label{flex:1;min-width:70px}.row button{flex:1}.category-options{grid-template-columns:1fr 1fr;display:grid}.appearance-panel{z-index:30;filter:drop-shadow(0 10px 15px #0004);width:310px;height:260px;position:fixed;top:72px;right:8px}.view-tile{background:0 0;border:0;border-radius:0;min-height:0;padding:0;position:absolute;inset:0;overflow:hidden}.view-tile.light{clip-path:polygon(0 0,100% 0,100% 100%,44% 100%);bottom:56%;right:50%}.view-tile.dark{clip-path:polygon(0 0,100% 0,56% 100%,0 100%);bottom:56%;left:50%}.view-tile.satellite{clip-path:polygon(22% 0,78% 0,50% 100%);top:44%}.view-tile.satellite span{background:#355a40 url(/api/budapest-imagery/10/566/358.webp) 50%/cover}.view-tile span{background:repeating-linear-gradient(21deg,#0000 0 30px,#fff9 31px 36px,#0000 37px 60px),repeating-linear-gradient(105deg,#0000 0 30px,#fff9 31px 36px,#0000 37px 60px),linear-gradient(65deg,#cfddad 0 34%,#91c9df 35% 42%,#e8e1ca 43%);position:absolute;inset:0}.view-tile.dark span{background:repeating-linear-gradient(21deg,#0000 0 30px,#697587 31px 36px,#0000 37px 60px),repeating-linear-gradient(105deg,#0000 0 30px,#697587 31px 36px,#0000 37px 60px),linear-gradient(65deg,#243b34 0 34%,#295171 35% 42%,#172638 43%)}.view-tile svg{fill:none;stroke:#0000;stroke-width:1.7px;width:100%;height:100%;position:absolute;inset:0}.view-tile[aria-pressed=true] svg,.view-tile:focus-visible svg{stroke:var(--accent)}.soc-panel{z-index:30;text-align:center;width:82px;padding:14px;position:fixed;top:72px;right:64px}.soc-panel strong{color:var(--accent);font-size:22px}.soc-panel input{writing-mode:vertical-lr;direction:rtl;width:40px;height:150px;margin-top:12px}.locate[data-mode=free]{color:#778395;background:var(--panel)}.locate[data-mode=top]{color:#fff;background:#1688df;border-color:#1688df}.locate[data-mode=course],.locate[data-mode=gyro]{color:#fff;background:#7940e8;border-color:#7940e8}.locate{z-index:4;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:50%;width:48px;height:48px;padding:0;font-size:27px;position:absolute;bottom:58px;right:10px}.planner-stack{bottom:max(10px, env(safe-area-inset-bottom));z-index:15;pointer-events:none;flex-direction:column;align-items:center;gap:7px;width:max-content;max-width:calc(100vw - 20px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.planner-stack>*{pointer-events:auto}.planner{border-radius:28px;flex-shrink:0;align-items:stretch;max-width:100%;display:flex;overflow:hidden;box-shadow:0 4px 20px #0003}.planner button{white-space:nowrap;color:#152038;border:0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;gap:9px;min-height:52px;display:flex}.planner .from,.planner .from-gps{background:#28cdb9}.planner .from{max-width:190px;padding-right:8px}.planner .from-gps{border-left:1px solid #0002;padding:10px;font-size:22px}.planner .via{background:#ea46b1;padding:10px 14px;font-size:22px}.planner .to{background:#ffa038;max-width:190px}.planner .plan,.planner .range{color:#fff;background:#713de8;font-weight:700}.planner .plan{padding:6px 15px;font-size:27px}.planner .range{padding:10px 14px}.city-window{text-overflow:ellipsis;max-width:145px;display:block;overflow:hidden}.city-window>span{text-overflow:ellipsis;display:block;overflow:hidden}.city-placeholder{animation:.25s ease-out city-in}.search-panel{width:min(520px,100vw - 20px);padding:10px;overflow:hidden}.panel-title{align-items:center;gap:8px;padding:4px 0 12px;display:flex}.panel-title>strong,.panel-title>h2{flex:1}.panel-title button{background:0 0;border:0;padding:8px;font-size:14px}.panel-title button:last-child{flex:none;width:44px;font-size:25px}.search-results{overscroll-behavior:contain;max-height:min(38dvh,300px);overflow:auto}.search-results>button{text-align:left;border:0;border-radius:10px;width:100%;min-height:58px;padding:10px 12px;display:block}.search-results>button:hover,.search-results>button[aria-selected=true]{background:var(--soft)}.search-results strong,.favorite-row strong{font-size:14px;display:block}.search-results p{margin:5px;font-size:13px}.search-input{border-top:1px solid var(--border);gap:6px;padding-top:8px;display:flex}.search-input input{flex:1;min-width:0}.search-input button{font-size:24px}.toast{align-items:center;gap:8px;max-width:520px;padding:4px 10px;font-size:13px;display:flex}.toast button{background:0 0;border:0}.route-summary{align-items:center;width:min(500px,100vw - 20px);padding:0 6px;display:flex}.summary-main{background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0;font-size:12px;display:flex}.route-summary>button:not(.summary-main){background:0 0;border:0;width:38px;min-height:42px;padding:4px;font-size:22px}.journey-panel{width:min(520px,100vw - 20px);max-height:40dvh;padding:12px;overflow:auto}.journey-panel h3{margin:0 0 8px}.journey-panel p{font-size:13px}.result-row,.favorite-row{border-bottom:1px solid var(--border);align-items:center;gap:4px;display:flex}.result-row>button:first-child,.favorite-row>button:first-child{text-align:left;background:0 0;border:0;flex:1;min-width:0}.result-row>button:last-child{min-width:44px}.favorite-row>button:not(:first-child){width:44px;padding:6px}.radius-panel{width:min(350px,100vw - 20px);padding:15px}.radius-panel label{font-size:14px}.radius-panel input{margin-top:8px;display:block}.via-strip{gap:5px;max-width:100%;padding:3px;display:flex;overflow:auto}.via-strip button{white-space:nowrap;min-height:32px;font-size:12px}.sheet{border:1px solid var(--border);width:min(560px,100vw - 20px);max-height:86dvh;color:var(--text);background:var(--panel);border-radius:22px;margin:auto;padding:0;position:fixed;overflow:hidden;box-shadow:0 24px 70px #0005}.sheet[open]{flex-direction:column;display:flex}.sheet::backdrop{background:#0005}.sheet>.panel-title{border-bottom:1px solid var(--border);flex:none;padding:10px 16px}.sheet-body{overscroll-behavior:contain;min-height:0;padding:16px;overflow:auto}.sheet-body>button{margin:3px}.sheet label:not(.check){margin-bottom:12px;font-size:14px;display:block}.sheet input:not([type=checkbox]),.sheet select,.sheet textarea{margin-top:6px}.sheet .field{border-bottom:1px solid var(--border);grid-template-columns:1fr 120px;align-items:center;gap:8px;padding:10px 0;display:grid}.field input{margin:0!important}.field output{color:var(--accent);grid-column:2;font-size:12px}.sheet form>button{margin:6px 8px 6px 0}.sheet details{border:1px solid var(--border);border-radius:12px;margin:16px 0;padding:0 12px}.sheet summary{cursor:pointer;padding:16px 0;font-size:14px}.drawing-canvas{touch-action:none;z-index:10;width:100%;height:100%;position:absolute;inset:0}.drawing-toolbar{z-index:25;width:min(460px,100vw - 20px);padding:10px;position:fixed;top:75px;left:50%;transform:translate(-50%)}.drawing-toolbar p{margin:0 0 10px;font-size:13px}.drawing-toolbar button{margin-right:5px;font-size:13px}.primary{background:var(--accent);color:var(--panel);border:0;font-weight:700}.info-panel{z-index:30;width:min(330px,100vw - 20px);padding:15px;font-size:13px;position:fixed;top:110px;left:10px}.fatal{padding:40px}.maplibregl-ctrl-bottom-left{bottom:62px}.maplibregl-ctrl-bottom-right{font-size:10px}.maplibregl-canvas:focus-visible{outline:none}@keyframes city-in{0%{opacity:.2;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){:not(.layer-palette[data-motion=on],.layer-palette[data-motion=on] *){animation:none!important}*{scroll-behavior:auto!important}}@media (max-width:560px){.topbar{height:calc(58px + env(safe-area-inset-top));padding:calc(3px + env(safe-area-inset-top)) max(7px, env(safe-area-inset-right)) 3px max(7px, env(safe-area-inset-left))}.map-area{top:calc(58px + env(safe-area-inset-top))}.planner-stack{max-width:calc(100vw - 12px);bottom:max(6px, env(safe-area-inset-bottom))}.planner button{gap:5px;min-height:50px;padding:8px;font-size:13px}.planner .from,.planner .to{flex:1;min-width:0;padding:8px}.city-window{max-width:90px}.planner .via{padding:8px 10px}.planner .from-gps{padding:7px}.planner .plan{padding:7px 10px}.planner .range{padding:7px 10px;font-size:12px}.appearance-panel{width:285px;height:250px;top:66px}.soc-panel{top:66px;right:55px}.sheet{border:0;border-radius:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh}.sheet-body{padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.sheet .field{grid-template-columns:minmax(0,1fr) 110px}.search-panel{width:calc(100vw - 12px)}.summary-main{gap:8px;padding:9px 6px;font-size:11px}.sheet>.panel-title{padding-top:max(10px, env(safe-area-inset-top))}}.weather-info button{color:var(--text)}.map-overlays{z-index:4;scrollbar-width:thin;gap:6px;width:min(350px,100vw - 20px);max-height:calc(100% - 175px);display:grid;position:absolute;top:62px;left:10px;overflow-y:auto}.overlay-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.overlay-heading>button{background:0 0;border:0;flex-shrink:0;min-width:38px;min-height:38px;padding:6px 10px}.heatmap-legend{padding:7px 12px 12px}.heatmap-legend strong{font-size:13px}.density-ramp{background:linear-gradient(90deg,#7752dd,#b04cc6,#ed7599,#ffba75,#fff2ae);border-radius:5px;height:7px;margin:5px 0}.density-labels{margin-bottom:7px;font-size:10px}.heatmap-legend small{margin-top:4px;font-size:11px}.layers-toggle{z-index:9}.elevation-panel{max-height:min(48dvh,440px);padding:14px 18px;overflow-y:auto}.elevation-heading,.elevation-reading,.elevation-metrics{justify-content:space-between;align-items:center;gap:12px;display:flex}.elevation-heading h3{margin:0;font-size:15px}.elevation-heading button{min-height:28px;padding:4px 10px}.elevation-metrics{flex-wrap:wrap;margin:10px 0;font-size:12px}.elevation-panel svg{color:#2ba980;width:100%;height:86px;display:block}.elevation-panel>input{width:100%;min-height:24px;margin:0}.elevation-reading{font-size:11px}.elevation-reading button{min-height:30px;padding:4px 10px;font-size:11px}.elevation-panel details{font-size:11px;line-height:1.5}.elevation-panel summary{cursor:pointer}.route-summary{width:min(640px,100vw - 20px)}.route-summary>button.elevation-toggle:not(.summary-main){white-space:nowrap;flex-shrink:0;width:auto;padding:4px 10px;font-size:11px}@media (max-width:600px){.route-summary{flex-wrap:wrap}.route-summary>button.elevation-toggle:not(.summary-main){order:3;width:100%;min-height:28px;padding:4px}}.weather-strip{padding:0 4px;overflow:hidden}.weather-strip-row{align-items:center;gap:4px;min-height:50px;display:flex}.weather-strip-row>button{background:0 0;border:0;flex:0 0 44px;width:44px;min-height:44px;padding:0}.weather-strip-row .weather-play{color:var(--accent,#b493ff);font-size:19px}.weather-strip-label{flex:1;gap:2px;min-width:0;display:grid}.weather-strip-label strong{white-space:nowrap;font-size:12px}.weather-strip-label strong a{color:var(--muted);margin-left:4px;font-size:9px;font-weight:400}.weather-strip-label>span,.weather-strip-label>a{color:var(--muted);font-size:10px}.weather-current{font-variant-numeric:tabular-nums;font-size:12px;font-weight:650}.weather-cloud-icon{text-align:center;flex:0 0 44px;font-size:24px}.weather-strip-message{justify-content:space-between;align-items:center;gap:6px;padding:2px 8px 6px;font-size:11px;display:flex}.weather-strip-message button{min-height:30px;padding:3px 8px;font-size:11px}@media (max-width:560px){.map-overlays{width:calc(100% - 20px)}.weather-strip-row{min-height:48px}.heatmap-legend{max-width:285px}}.weather-autoplay{padding-left:10px}.info-panel{max-height:min(65dvh,480px);overflow-y:auto}.info-panel a{color:inherit}.layers-toggle{border-radius:50%;place-items:center;width:44px;height:44px;padding:10px;display:grid}.layers-toggle svg{width:24px;height:24px}.layers-panel.layer-palette{--tile-surface:#edf2f8;z-index:15;border:1px solid var(--border);background:linear-gradient(150deg,color-mix(in srgb,var(--panel) 94%,#9aafce),var(--panel) 65%);width:min(330px,100vw - 20px);max-height:calc(100% - 78px);color:var(--text);overscroll-behavior:contain;scrollbar-width:thin;border-radius:26px;padding:14px;box-shadow:0 20px 60px #07122245,inset 0 1px #ffffff40}html[data-theme=dark] .layer-palette{--tile-surface:#182332;box-shadow:0 20px 60px #0008,inset 0 1px #ffffff0c}.layer-grid{perspective:800px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.layer-tile{--scene-top:color-mix(in srgb,var(--tile-color) 48%,#fff);--scene-face:color-mix(in srgb,var(--tile-color) 85%,#617f95);--scene-side:color-mix(in srgb,var(--tile-color) 45%,#17283d);--scene-ground:color-mix(in srgb,var(--tile-color) 12%,var(--tile-surface));--scene-ground-side:color-mix(in srgb,var(--tile-color) 10%,var(--tile-surface));border:1px solid color-mix(in srgb,var(--tile-color) 13%,var(--border));background:linear-gradient(145deg,color-mix(in srgb,var(--tile-color) 5%,var(--tile-surface)),var(--tile-surface));min-width:0;min-height:106px;color:var(--text);text-shadow:none;box-shadow:0 4px 0 color-mix(in srgb,var(--border) 70%,var(--bg)),0 7px 14px #0712220c,inset 0 1px 0 #ffffff36;isolation:isolate;border-radius:17px;flex-direction:column;justify-content:flex-end;padding:0;transition:background .24s,border-color .24s,box-shadow .24s;display:flex;position:relative}.layer-tile:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(145deg,#ffffff12,#0000 45%);position:absolute;inset:0}.layer-tile:after{content:"";background:var(--tile-color);height:2px;box-shadow:0 0 12px var(--tile-color);opacity:0;pointer-events:none;border-radius:2px;transition:opacity .24s;position:absolute;bottom:-1px;left:27%;right:27%}.layer-tile[aria-pressed=true]{background:linear-gradient(145deg,color-mix(in srgb,var(--tile-color) 15%,var(--tile-surface)),var(--tile-surface));border-color:color-mix(in srgb,var(--tile-color) 65%,var(--border));color:var(--text);box-shadow:0 4px 0 color-mix(in srgb,var(--tile-color) 28%,var(--bg)),0 8px 18px color-mix(in srgb,var(--tile-color) 10%,transparent),inset 0 1px 0 #ffffff45}.layer-tile[aria-pressed=true]:after{opacity:.85}.layer-art{width:100%;height:75px;color:var(--tile-color);pointer-events:none;place-items:center;display:grid;position:relative}.layer-scene{filter:saturate(.85);opacity:.95;width:118px;height:78px;transition:filter .25s,opacity .25s;display:block;overflow:visible}.layer-tile:is([aria-pressed=true],:hover,:focus-visible) .layer-scene{filter:saturate(1.05);opacity:1}.layer-caption{pointer-events:none;justify-content:space-between;align-items:center;gap:4px;width:100%;padding:2px 10px 11px;display:flex}.layer-label{white-space:nowrap;font-size:11px;font-weight:650;line-height:1.2}.layer-tile:focus-visible{outline:2px solid var(--tile-color);outline-offset:4px}.layer-tile:disabled{cursor:not-allowed;opacity:.45}.layer-modes{perspective:800px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:13px;display:grid}.layer-modes .layer-tile{border-radius:15px;min-height:87px}.layer-modes .layer-scene{width:85px;height:60px}.layer-modes .layer-caption{justify-content:center;padding:0 4px 10px}.layer-modes .layer-label{font-size:10px}.layer-mode-indicator{background:var(--muted);opacity:.3;border-radius:50%;width:4px;height:4px;position:absolute;top:8px;right:8px}.layer-tile[aria-pressed=true] .layer-mode-indicator{background:var(--tile-color);box-shadow:0 0 8px var(--tile-color);opacity:1}.charger-layer-row{grid-column:1/-1;align-items:stretch;gap:9px;display:flex}.charger-layer-row .layer-tile[data-scene=charger]{flex-direction:row;flex:1;align-items:center;min-height:86px}.charger-layer-row .layer-tile[data-scene=charger] .layer-art{flex:none;width:106px;height:78px}.charger-layer-row .layer-tile[data-scene=charger] .layer-scene{width:112px}.charger-layer-row .layer-tile[data-scene=charger] .layer-caption{flex-direction:column;align-items:flex-start;gap:8px;padding:5px 8px 5px 0}.charger-layer-row .layer-label{font-size:12px}.charger-layer-row .charger-settings{flex:none;width:69px;min-height:86px}.charger-settings .layer-art{height:61px}.charger-settings .layer-scene{width:68px;height:57px}.charger-settings .layer-caption{justify-content:center;padding:0 3px 10px}.charger-settings .layer-label{color:var(--muted);font-size:10px}.charger-control{--tile-color:#4de0bc;--scene-top:color-mix(in srgb,var(--tile-color) 48%,#fff);--scene-face:color-mix(in srgb,var(--tile-color) 85%,#617f95);--scene-side:color-mix(in srgb,var(--tile-color) 45%,#17283d);--scene-ground:color-mix(in srgb,var(--tile-color) 12%,var(--tile-surface));--scene-ground-side:color-mix(in srgb,var(--tile-color) 10%,var(--tile-surface));border:1px solid color-mix(in srgb,var(--tile-color) 24%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--tile-color) 7%,var(--tile-surface)),var(--tile-surface));box-shadow:0 4px 0 color-mix(in srgb,var(--border) 70%,var(--bg)),inset 0 1px 0 #ffffff25;border-radius:20px;grid-column:1/-1;padding:0 10px 9px;transition:background .3s,border-color .3s,box-shadow .3s;position:relative;container-type:inline-size}.charger-control[data-enabled=true]{border-color:color-mix(in srgb,var(--tile-color) 60%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--tile-color) 15%,var(--tile-surface)),var(--tile-surface));box-shadow:0 4px 0 color-mix(in srgb,var(--tile-color) 28%,var(--bg)),0 0 22px #4de0bc0c,inset 0 1px 0 #ffffff38}.charger-presets{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;display:grid}.charger-presets button{border:1px solid color-mix(in srgb,var(--muted) 14%,transparent);background:color-mix(in srgb,var(--bg) 45%,transparent);min-width:0;min-height:36px;color:var(--muted);isolation:isolate;border-radius:10px;flex-direction:row;justify-content:center;align-items:center;gap:2px;padding:3px 2px;display:flex;position:relative}.charger-presets button[aria-pressed=true]{color:#153a35;background:0 0;border-color:#89f3d166}.charger-presets strong{z-index:1;font-variant-numeric:tabular-nums;font-size:clamp(13px,5.2cqi,18px);line-height:1.1;position:relative}.charger-presets small{z-index:1;opacity:.85;font-size:clamp(8px,2.8cqi,10px);font-weight:600;position:relative}.charger-preset-selection{background:linear-gradient(140deg,#adf6df,#4fd5b0);border-radius:9px;position:absolute;inset:0;box-shadow:0 2px 6px #1f806733,inset 0 1px #ffffffe0}.charger-control button:focus-visible{outline:2px solid var(--tile-color);outline-offset:2px}.layer-grid>.layer-tile{min-height:90px}.layer-grid>.layer-tile .layer-art{height:60px}.layer-grid>.layer-tile .layer-scene{width:102px;height:67px}.layer-grid>.layer-tile[data-scene=terrain]{flex-direction:row;grid-column:1/-1;align-items:center;min-height:66px}.layer-grid>.layer-tile[data-scene=terrain] .layer-art{flex:none;width:115px}.layer-grid>.layer-tile[data-scene=terrain] .layer-caption{padding:8px 14px 8px 0}.layer-grid>.layer-tile[data-scene=terrain] .layer-label{font-size:12px}.layer-palette .layer-art{animation:5s ease-in-out infinite layer-art-breathe;animation-delay:var(--scene-delay,0s)}.layer-palette[data-motion=on] .layer-tile{transition:background .24s,border-color .24s,box-shadow .24s}.layer-modes .layer-tile{min-height:80px}.layer-modes .layer-art{height:55px}.layer-tile[data-scene=bike]{--scene-delay:-.9s}.layer-tile[data-scene=foot]{--scene-delay:-1.8s}.layer-tile[data-scene=buildings]{--scene-delay:-1.1s}.layer-tile[data-scene=rain]{--scene-delay:-.8s}.layer-tile[data-scene=cloud]{--scene-delay:-2.3s}.layer-tile[data-scene=ruler]{--scene-delay:-3.1s}.layer-tile[data-scene=terrain]{--scene-delay:-1.7s}.layer-tile:before{animation:6s ease-in-out infinite layer-surface-breathe;animation-delay:var(--scene-delay,0s)}.layer-tile .scene-cloud{animation:5s ease-in-out infinite layer-cloud-drift}.layer-tile .scene-car-lights{animation:4s ease-in-out infinite layer-headlights}@keyframes layer-art-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes layer-surface-breathe{0%,to{opacity:.4}50%{opacity:1}}@keyframes layer-headlights{0%,to{opacity:.65}50%{opacity:1;filter:drop-shadow(0 0 2px #d8f9ff)}}@keyframes charger-density-breathe{0%,to{transform:scale(.94)}50%{transform:scale(1.08)}}.layer-tile:is([aria-pressed=true],:hover,:focus-visible):not(:disabled) .scene-object{animation:3.5s ease-in-out infinite layer-object-float}.layer-tile:is([aria-pressed=true],:hover,:focus-visible):not(:disabled) .scene-flow{animation:2.4s linear infinite layer-path-flow}.layer-tile:is([aria-pressed=true],:hover,:focus-visible):not(:disabled) .scene-cloud{animation:4s ease-in-out infinite layer-cloud-drift}.layer-tile:is([aria-pressed=true],:hover,:focus-visible):not(:disabled) .scene-raindrop{animation:1.25s linear infinite layer-rain-fall}.layer-tile:is([aria-pressed=true],:hover,:focus-visible):not(:disabled) .scene-ring{transform-box:fill-box;transform-origin:50%;animation:2.8s ease-out infinite layer-ring-pulse}.layer-tile:is([aria-pressed=true],:hover,:focus-visible):not(:disabled) .scene-hotspot{animation:2.8s ease-in-out infinite layer-hotspot-glow}.layer-tile[aria-pressed=true] .scene-building{animation:2.8s ease-in-out infinite layer-building-rise}.scene-building:nth-child(2){animation-delay:-.7s}.scene-building:nth-child(3){animation-delay:-1.4s}.layer-tile:is([aria-pressed=true],:hover,:focus-visible):not(:disabled) .scene-charge{animation:1.5s ease-in-out infinite layer-hotspot-glow}.layer-tile:is([aria-pressed=true],:hover,:focus-visible):not(:disabled) .scene-measure{animation:2.5s ease-in-out infinite layer-measure}.charger-settings:is(:hover,:focus-visible) .scene-gear{transform-box:fill-box;transform-origin:50%;animation:8s linear infinite layer-gear-turn}@keyframes layer-object-float{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}@keyframes layer-path-flow{to{stroke-dashoffset:-26px}}@keyframes layer-cloud-drift{0%,to{transform:translate(-2px)}50%{transform:translate(3px)translateY(-1px)}}@keyframes layer-rain-fall{0%{opacity:0;transform:translate(1px,-3px)}25%{opacity:1}80%{opacity:1}to{opacity:0;transform:translate(-3px,10px)}}@keyframes layer-ring-pulse{0%{opacity:.7;transform:scale(.8)}to{opacity:0;transform:scale(1.25)}}@keyframes layer-hotspot-glow{0%,to{opacity:.6}50%{opacity:1}}@keyframes layer-building-rise{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes layer-measure{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes layer-gear-turn{to{transform:rotate(360deg)}}@media (max-height:760px) and (min-width:700px){.layers-panel.layer-palette{padding:12px}.layer-modes{margin-bottom:10px}.layer-modes .layer-tile{min-height:72px}.layer-modes .layer-art{height:48px}.layer-modes .layer-scene{width:74px;height:52px}.layer-grid .layer-tile{min-height:90px}.layer-grid .layer-art{height:59px}.layer-grid .layer-scene{width:102px;height:67px}.charger-layer-row .layer-tile[data-scene=charger],.charger-layer-row .charger-settings{min-height:72px}.charger-layer-row .layer-tile[data-scene=charger] .layer-art{height:65px}.charger-settings .layer-art{height:48px}.charger-settings .layer-scene{width:60px;height:49px}}.network-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.network-grid[hidden]{display:none}.charger-preview-sheet .network-disclosure{border:1px solid color-mix(in srgb,var(--accent) 60%,transparent);color:#fff;background:#101a27c7;border-radius:14px;justify-content:center;align-items:center;gap:6px;width:fit-content;min-height:44px;margin:0 auto;padding:8px 10px;font-size:14px;font-weight:600;display:flex;box-shadow:0 2px 8px #0003}.network-disclosure svg{pointer-events:none;flex:none}.network-disclosure[aria-expanded=true] svg{transform:rotate(180deg)}.network-disclosure:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.network-choice{text-align:left;border:2px solid var(--border);align-items:center;gap:10px;min-height:76px;padding:10px;font-size:13px;display:flex}.network-choice[aria-pressed=true]{border-color:var(--accent);background:var(--soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.network-choice:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.network-logo{color:#703ee6;background:#fff;border-radius:12px;flex:none;place-items:center;width:44px;height:44px;font-size:30px;display:grid}.network-logo img{object-fit:contain;width:36px;height:36px}.power-range{max-width:380px;margin:4px auto 0}.power-arc{aspect-ratio:330/205;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:relative}.power-arc svg{width:100%;height:100%;display:block;overflow:visible}.power-track,.power-selected{fill:none;stroke-width:10px;stroke-linecap:round}.power-track{stroke:var(--border)}.power-selected{stroke:var(--accent)}.power-tick{fill:var(--panel)}.power-arc .power-thumb{touch-action:none;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;min-height:44px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.power-thumb span{background:var(--accent);border:3px solid var(--panel);width:23px;height:23px;box-shadow:0 0 0 2px var(--accent),0 3px 8px #0004;pointer-events:none;border-radius:50%}.power-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.power-endpoints{color:var(--text);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:4px;margin:-4px 0 0;display:grid;position:relative}.power-endpoints output{text-align:center;white-space:nowrap;font-size:16px;font-weight:700}.power-endpoints output small{font-size:11px;font-weight:400}.sheet.charger-preview-sheet{--text:#fff;--muted:#e4eaf3;--accent:#b899ff;--border:#8291a5;--panel:#101a27;box-shadow:none;z-index:50;height:auto;max-height:100dvh;color:var(--text);text-shadow:0 1px 3px #000,0 0 5px #000,0 0 10px #000;background:0 0;border-color:#0000;margin:0 auto;inset:0 0 auto}.charger-preview-sheet::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.charger-preview-sheet>.sheet-body{background:0 0;border-color:#0000;padding-bottom:12px}.charger-preview-sheet>.panel-title{background:#101a27;border-color:#8291a54d;gap:8px;padding:10px 12px}.charger-preview-sheet .panel-title h2{letter-spacing:-.8px;min-width:0;margin:0;font-size:clamp(24px,7.4vw,36px);line-height:1.15}.charger-preview-sheet .network-choice,.charger-preview-sheet .network-choice[aria-pressed=true]{background:0 0}.charger-preview-sheet .network-choice[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 0 8px #101a27}.charger-preview-sheet .network-logo{text-shadow:none}.charger-preview-sheet .panel-title button{color:#ff666e;width:44px;height:44px;text-shadow:none;background:#101a27;flex:none;font-size:32px}.dashboard[data-charger-preview=true]>.topbar,.dashboard[data-charger-preview=true]>.bottom-navigation,.dashboard[data-charger-preview=true]>.planner-stack,.dashboard[data-charger-preview=true]>.map-area>:not(.map-canvas):not(.map-overlays),.dashboard[data-charger-preview=true] .maplibregl-control-container{visibility:hidden}.appearance-orbit{flex:none;width:54px;height:54px;position:relative}.appearance-orbit .appearance-toggle{place-items:center;width:54px;height:54px;display:grid}.appearance-orbit .view-emblem{width:44px;height:44px}.sky-orb{background:radial-gradient(circle at 30% 25%,#fff 0%,#7de4ff 23%,#9d6dff 53%,#ff93c0 80%,#734dc9);border:2px solid #edf3ff;border-radius:50%;width:26px;height:26px;min-height:26px;padding:0;animation:9s linear infinite sky-orb-colors;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px #d2bbff8c}@keyframes sky-orb-colors{to{filter:hue-rotate(360deg)}}@media (prefers-reduced-motion:reduce){.sky-orb{animation:none}}.charger-form fieldset{border:0;min-width:0;margin:0;padding:0}.charger-form .field{margin:12px 0}.charger-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.charger-connector{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.8fr) auto;align-items:center;gap:8px;display:grid}.charger-form input,.charger-form select,.charger-form textarea{width:100%;min-width:0}.charger-form input[type=checkbox]{flex:none;width:22px}.charger-form textarea{min-height:90px}.charger-form .check{align-items:flex-start}.station-diagnostics{font-size:13px}.station-diagnostics button{margin:8px 4px 0 0}.map-compass svg{width:100%;height:100%;display:block}.compass-track{fill:none;stroke:#bacadd;stroke-width:.7px;opacity:.5}.compass-tick{fill:none;stroke:#a7bbc9;stroke-width:1px}.compass-north{fill:#ff797f}.compass-cardinal{fill:#edf5ff;text-anchor:middle;dominant-baseline:central;font-size:11px;font-weight:700}.compass-cardinal.north{fill:#ff858c}.compass-mode{fill:#8095a8}.map-compass[data-mode=top] .compass-mode{fill:#efb568}.map-compass[data-mode=course] .compass-mode{fill:#c196ff}.map-compass[data-mode=gyro] .compass-mode{fill:#efa4db}.map-compass[data-held=true] .compass-track{stroke:#6cf4c7;stroke-width:2px;stroke-dasharray:295;animation:1.5s linear compass-hold}@keyframes compass-hold{0%{stroke-dashoffset:295px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.map-compass[data-held=true] .compass-track{animation:none}}.map-area{bottom:calc(var(--navigation-height) + env(safe-area-inset-bottom))}.planner-stack{bottom:calc(var(--navigation-height) + env(safe-area-inset-bottom) + 10px)}.bottom-navigation{z-index:16;min-height:var(--navigation-height);padding:4px max(8px,env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));color:#edf5ff;background:#101a27;border-top:1px solid #b8c9de26;grid-template-columns:minmax(0,1fr) 132px minmax(0,1fr);align-items:center;gap:8px;display:grid;position:fixed;bottom:0;left:0;right:0}.endpoint{align-items:center;width:100%;min-width:0;max-width:360px;display:flex}.origin{justify-self:end}.endpoint button{background:0 0;border:0;min-height:44px;padding:6px}.endpoint-address{text-align:left;flex-direction:column;flex:1;align-items:flex-start;gap:4px;min-width:0;display:flex}.endpoint-address small{color:#a8b9cb;font-size:10px}.endpoint-address strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;display:block;overflow:hidden}.origin .endpoint-address strong{color:#55dec9}.destination .endpoint-address strong{color:#ffbd6d}.endpoint .endpoint-extra{color:#cbb9ff;flex:0 0 44px;width:44px;font-size:24px}.compass-module{justify-content:center;align-items:center;gap:4px;display:flex}.map-compass{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;color:#edf5ff;background:0 0;border:0;border-radius:50%;flex:0 0 48px;width:48px;height:48px;min-height:48px;padding:0}.compass-reading{text-align:center;font-variant-numeric:tabular-nums;flex-direction:column;gap:4px;width:36px;display:flex}.compass-reading small{color:#a8b9cb;font-size:11px}.compass-reading strong{font-size:12px}.compass-cardinal{font-size:18px}.route-actions .plan{font-size:14px}.route-actions button{min-height:44px}.route-profile{color:#edf1fa;background:#101c2bef;width:min(720px,100vw - 20px);padding:8px 10px;overflow:hidden}.profile-heading{justify-content:space-between;align-items:center;display:flex}.profile-heading button{background:0 0;border:0;min-height:44px;padding:3px 5px}.profile-heading button:first-child{text-align:left;flex-direction:column;align-items:flex-start;gap:4px;display:flex}.profile-heading strong{font-size:14px}.profile-heading small,.profile-status{color:#a8bacb;font-size:11px}.profile-heading button:last-child{width:44px;font-size:22px}.profile-zoom{align-items:center;gap:2px;display:flex}.profile-zoom span{color:#a8bacb;flex:1;font-size:10px}.profile-zoom button{background:#233047;border:0;min-width:36px;min-height:32px;padding:3px 8px}.profile-viewport{touch-action:none;scrollbar-width:thin;scrollbar-color:#7b61b7 transparent;overflow:auto hidden}.profile-chart{height:205px;position:relative}.profile-chart svg{max-width:none;display:block}.profile-station{color:#aaffdf;background:#183d3d;border:1px solid #4acead;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:52px;height:48px;min-height:44px;padding:4px 1px;display:flex;position:absolute;top:3px;transform:translate(-50%)}.profile-station strong,.profile-station small{font-size:10px}.profile-station[data-state=reserve]{color:#ffd78e;background:#483818;border-color:#e6ae53}.profile-station[data-state=unreachable]{color:#ffb6bf;background:#462934;border-color:#dc8290}.profile-station[data-selected=true]{box-shadow:0 0 0 2px #c2a6ff}.profile-caption{justify-content:space-between;align-items:center;gap:4px;font-size:10px;display:flex}.profile-caption button{background:0 0;border:0;min-height:30px;padding:3px 7px;font-size:10px}.profile-status{margin:3px 0;line-height:1.4}.profile-details{overscroll-behavior:contain;border-top:1px solid #74869c40;max-height:28dvh;padding-top:8px;overflow:auto}.profile-details h3{margin:14px 0 8px;font-size:14px}.profile-key{gap:10px;font-size:10px;display:flex}.profile-key span:first-child{color:#aaffdf}.profile-key span:nth-child(2){color:#ffd78e}.profile-key span:last-child{color:#ffb6bf}.profile-target{flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0;font-size:12px;display:flex}.profile-target input{width:65px;min-height:40px;padding:6px}.profile-target button{min-height:44px;margin-left:auto}.profile-focus,.profile-leg{background:#213148;border-radius:12px;margin:8px 0;padding:10px;font-size:12px}.profile-focus p,.profile-leg p{margin:6px 0}.profile-focus small,.profile-leg small{color:#b7c7d9;line-height:1.5}.profile-focus button{background:#7452bb;width:100%;min-height:44px;margin-top:10px;display:block}.profile-candidates{gap:8px;padding:4px 0 10px;display:flex;overflow:auto}.profile-candidates button{text-align:left;flex-direction:column;gap:5px;min-width:170px;max-width:200px;padding:9px;font-size:11px;display:flex}.profile-candidates strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.profile-candidates span{color:#aaffdf}.profile-candidates [data-state=reserve] span{color:#ffd78e}.profile-candidates [data-state=unreachable] span,.profile-warning{color:#ffb6bf}.profile-note{color:#a8bacb;font-size:10px;line-height:1.5}.route-profile.is-expanded{max-height:calc(100dvh - 260px);overflow-y:auto}.navigation-plan{z-index:1;color:#fff;background:#713de8;border:1px solid #aa81ff;border-radius:24px 24px 17px 17px;min-width:142px;min-height:46px;padding:9px 19px;font-size:14px;font-weight:700;position:absolute;top:-15px;left:50%;transform:translate(-50%);box-shadow:0 -4px 14px #0003,inset 0 1px #ffffff40}.navigation-plan:hover{color:#fff;background:#824ff1}.profile-heading>div{flex-direction:column;gap:4px;padding:4px 6px;display:flex}.profile-planning-controls{border-bottom:1px solid #74869c40;align-items:center;gap:10px;padding:8px 4px 10px;display:flex}.profile-planning-controls label{color:#cfdaea;flex:1;min-width:0;margin:0;font-size:12px}.profile-planning-controls input{width:100%;height:30px;min-height:30px;margin:2px 0 0}.profile-planning-controls button{color:#fff;background:#713de8;border:0;flex:none;min-height:42px;font-weight:700}@media (max-width:700px){:root{--navigation-height:112px}.bottom-navigation{grid-template-columns:minmax(0,1fr) 108px minmax(0,1fr);align-items:end;padding-top:29px}.bottom-navigation>.map-compass,.bottom-navigation>.compass-module{align-self:end;margin-bottom:0}.navigation-plan{top:-13px}.dashboard[data-planner-open=true] .map-area{bottom:50dvh}.dashboard[data-planner-open=true] .planner-stack{bottom:calc(var(--navigation-height) + env(safe-area-inset-bottom));gap:0;width:100%;max-width:100%}.dashboard[data-planner-open=true] .route-profile{width:100%;height:calc(50dvh - var(--navigation-height) - env(safe-area-inset-bottom));overscroll-behavior:contain;background:#101c2bf7;border-bottom:0;border-radius:20px 20px 0 0;max-height:none;padding:10px 14px 20px;overflow-y:auto;box-shadow:0 -7px 22px #0005}.dashboard[data-planner-open=true] .route-profile.is-expanded{max-height:none}.dashboard[data-planner-open=true] .profile-details{max-height:none;overflow:visible}.dashboard[data-planner-open=true] .route-summary{display:none}}@media (max-width:600px){.endpoint{flex-direction:column;align-items:stretch}.endpoint-address{justify-content:center;padding:3px 6px}.endpoint .endpoint-extra{flex-basis:44px;align-self:center;height:44px;min-height:44px}}.search-attribution{color:var(--muted);padding:0 4px 8px;font-size:10px;display:block}.dashboard[data-search-open=true]>.planner-stack{bottom:calc(var(--navigation-height) + env(safe-area-inset-bottom));gap:0;width:100%;max-width:100%}.dashboard[data-search-open=true]>.map-compass-dock{bottom:calc(var(--navigation-height) + env(safe-area-inset-bottom) + var(--search-height,110px) + 10px)}.dashboard[data-search-open=true]>.bottom-navigation{background:var(--panel)}.search-panel.search-dock{border:0;border-top:1px solid var(--border);background:var(--panel);border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-height:calc(100dvh - 230px);padding:0;display:flex;box-shadow:0 -6px 24px #0002}.search-entry{width:100%;max-width:800px;padding:4px max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left));flex:none;margin:auto}.search-heading{align-items:center;gap:6px;min-height:40px;display:flex}.search-heading>strong{flex:1;padding-left:3px;font-size:13px;font-weight:650}.search-heading button{min-height:36px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:5px 8px;font-size:12px;display:flex}.search-heading .search-close{width:36px;padding:8px}.search-dock svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.search-heading .search-favorites-toggle[aria-expanded=true]{color:var(--accent);background:var(--soft)}.search-heading .search-favorites-toggle svg{width:16px;height:16px}.search-chevron{transition:transform .25s}.search-favorites-toggle[aria-expanded=true] .search-chevron{transform:rotate(180deg)}.search-dock .search-input{border:0;gap:8px;padding:0;position:relative}.search-dock .search-input input{background:var(--bg);border-radius:15px;height:48px;padding:10px 12px 10px 39px;font-size:16px}.search-magnifier{color:var(--muted);pointer-events:none;position:absolute;top:14px;left:12px}.search-dock .search-gps{width:48px;height:48px;color:var(--accent);background:var(--soft);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:15px;flex:0 0 48px;place-items:center;padding:10px;display:grid;box-shadow:inset 0 1px #ffffff20}.search-dock .search-gps svg{width:27px;height:27px}.search-gps .gps-center{fill:currentColor;stroke:none}.search-matches{border-bottom:1px solid var(--border);width:100%;max-width:800px;min-height:0;margin:0 auto;padding:8px 12px 0;overflow:auto}.search-matches[hidden]{display:none}.search-dock .search-results{max-height:27dvh}.search-dock .search-results p:empty{display:none}.search-dock .search-results>button{background:var(--bg);border-radius:12px;margin-bottom:5px}.search-dock .search-results>button[aria-selected=true],.search-dock .search-results>button:hover{background:var(--soft)}.search-favorites-reveal{opacity:0;flex-shrink:1;grid-template-rows:0fr;min-height:0;display:grid}.search-favorites-reveal[data-open=true]{opacity:1;grid-template-rows:1fr}.search-favorites-clip{min-height:0;overflow:hidden}.favorites-band{background:var(--bg);border-bottom:1px solid var(--border);width:100%;max-width:800px;margin:auto;padding:6px 12px 12px}.favorites-band-heading{justify-content:space-between;align-items:center;gap:8px;min-height:34px;display:flex}.favorites-band-heading strong{color:var(--muted);font-size:12px;font-weight:500}.favorites-band-heading button{width:36px;min-height:36px;color:var(--muted);background:0 0;border:0;padding:0;font-size:22px}.favorites-band-content{overscroll-behavior:contain;max-height:26dvh;overflow:auto}.favorites-band-content>.row{gap:6px}.favorites-band-content>.row button{background:var(--panel);flex:1;min-height:42px;padding:7px;font-size:11px}.favorites-band-content>p{color:var(--muted);text-align:center;margin:16px 0 8px;font-size:13px}.favorites-band h3{color:var(--muted);margin:12px 3px 6px;font-size:12px}.favorites-band .favorite-row{border:1px solid var(--border);background:var(--panel);border-radius:12px;margin-bottom:6px;padding:2px}.favorites-band .favorite-row strong{font-size:13px}@keyframes search-dock-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.search-panel.search-dock{animation:none}.search-favorites-reveal,.search-chevron{transition:none}}.data-load{position:absolute;top:50%;left:64px;transform:translateY(-50%)}.data-load-toggle{background:0 0;border:0;align-items:center;gap:4px;max-width:105px;min-height:44px;padding:4px;font-size:11px;display:flex}.data-load-toggle[data-loading=true]{-webkit-text-decoration:underline dotted var(--accent);text-decoration:underline dotted var(--accent);text-underline-offset:5px}.data-load-toggle[data-warning=true]{color:#d89e39}.data-load-panel{width:min(355px,100vw - 20px);max-height:65dvh;padding:15px;font-size:12px;line-height:1.5;position:fixed;top:50px;left:-54px;overflow-y:auto}.data-load-panel>strong{font-size:15px}.data-source{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:9px 0;display:flex}.data-source small{color:var(--muted);flex-basis:100%}.data-load-panel>button{width:100%;min-height:44px;margin:7px 0}.data-load-panel>small{color:var(--muted);display:block}.appearance-panel .sky-orb{z-index:2;width:48px;height:48px;min-height:48px;top:44%;box-shadow:0 0 0 5px #101a27,0 3px 16px #0008}.compass-module{position:relative}.compass-notice{--notice-color:#e2e8ef;--notice-glow:#c8def230;white-space:nowrap;pointer-events:none;color:var(--notice-color);border:1px solid color-mix(in srgb,var(--notice-color) 45%,transparent);letter-spacing:.015em;text-shadow:0 0 12px var(--notice-glow);box-shadow:0 3px 12px #0004,0 0 16px var(--notice-glow),inset 0 1px 0 #ffffff18;background:linear-gradient(155deg,#303946f5,#111c2bf5 55%,#26303bf5);border-radius:18px;padding:11px 18px;font-size:clamp(16px,4.5vw,19px);font-weight:700;position:absolute;bottom:calc(100% + 22px);left:50%;transform:translate(-50%)}.compass-notice[data-mode=top]{--notice-color:#f5c179;--notice-glow:#e5a04b38;background:linear-gradient(155deg,#584330f5,#2c2119f5 55%,#443022f5)}.compass-notice[data-mode=course]{--notice-color:#d2afff;--notice-glow:#b281f53b;background:linear-gradient(155deg,#403052f5,#211a32f5 55%,#352843f5)}.compass-notice[data-mode=gyro]{--notice-color:#f2afe0;--notice-glow:#ed99d63b;background:linear-gradient(125deg,#442b44f5,#182a42f5);animation:1.8s ease-in-out infinite alternate compass-gyro-notice}@keyframes compass-gyro-notice{to{color:#99d8ff;text-shadow:0 0 12px #88caff55;border-color:#99d8ff88;box-shadow:0 3px 12px #0004,0 0 16px #88caff38,inset 0 1px #ffffff18}}@media (prefers-reduced-motion:reduce){.compass-notice[data-mode=gyro]{animation:none}}.compass-notice:empty{display:none}html[data-theme=dark] .charger-preview-sheet{--accent:#ff526e;--soft:#34202c}html[data-theme=dark] .endpoint .endpoint-extra,html[data-theme=dark] .network-logo{color:var(--accent)}html[data-theme=dark] .profile-station[data-selected=true]{box-shadow:0 0 0 2px var(--accent)}html[data-theme=dark] .profile-planning-controls button,html[data-theme=dark] .profile-focus button{color:#fff;background:#ac2042}html[data-theme=dark] .profile-viewport{scrollbar-color:var(--accent) var(--bg)}html[data-theme=dark] .compass-notice[data-mode=course]{--notice-color:#ff8fa4;--notice-glow:#ff526e38;background:linear-gradient(155deg,#492532f5,#211620f5 55%,#34202cf5)}.map-compass svg{pointer-events:none}.compass-center{fill:#192636;stroke:#b6c7dc77;stroke-width:1px}.compass-degrees{fill:#edf5ff;font-variant-numeric:tabular-nums;text-anchor:middle;dominant-baseline:central;font-size:18px;font-weight:750}.map-compass{flex-basis:68px;width:68px;height:68px;min-height:68px}.navigation-plan{isolation:isolate;background:linear-gradient(145deg,#6840d4,#7850e6 58%,#6741ce);border-color:#a98cff88;transition:background .2s,box-shadow .2s;overflow:hidden;box-shadow:0 -3px 12px #0003,inset 0 1px #fff3}.navigation-plan>span{z-index:1;text-shadow:0 1px 3px #341469;position:relative}.navigation-plan-route{opacity:.28;pointer-events:none;width:calc(100% - 14px);height:calc(100% - 6px);position:absolute;inset:3px 7px}.navigation-plan-route path{fill:none;stroke:#e5d7ff;stroke-width:2px;stroke-linecap:round;stroke-dasharray:3 8;animation:3s linear infinite navigation-route-flow}@keyframes navigation-route-flow{to{stroke-dashoffset:-22px}}.navigation-plan[aria-expanded=true]{background:linear-gradient(145deg,#5634bd,#6840d4)}@media (prefers-reduced-motion:reduce){.navigation-plan-route path{animation:none}}@media (max-width:700px){.planner-stack.has-route-summary{width:100%;max-width:100%;bottom:calc(var(--navigation-height) + env(safe-area-inset-bottom) + 32px)}.route-summary{width:100%;min-height:54px;padding:2px max(10px,env(safe-area-inset-right)) 2px max(10px,env(safe-area-inset-left));background:#101a27;border-radius:0;box-shadow:0 -3px 12px #0003}.summary-main{text-align:center;grid-template-columns:1fr 1.25fr 1fr;align-items:center;gap:6px;min-height:48px;padding:2px 4px;display:grid}.summary-metric{white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;display:flex}.summary-metric small{color:#a8b9cb;font-size:9px;line-height:1.1}.summary-metric strong{color:#edf5ff;font-size:11px;line-height:1.15}.summary-metric em{color:#c7d2e0;font-size:9px;font-style:normal;line-height:1.1}.route-summary>button:not(.summary-main){color:#edf5ff;flex:none;width:32px;font-size:20px}}html:not([data-theme=dark]) .bottom-navigation{color:#19243b;background:#f8fafc;border-top-color:#d4dce8}html:not([data-theme=dark]) .endpoint-address small{color:#65738a}html:not([data-theme=dark]) .origin .endpoint-address strong{color:#087c69}html:not([data-theme=dark]) .destination .endpoint-address strong{color:#a45a07}html:not([data-theme=dark]) .endpoint .endpoint-extra{color:#703ee6}html:not([data-theme=dark]) .compass-track{stroke:#8c9db5}html:not([data-theme=dark]) .compass-tick{stroke:#8495ad}html:not([data-theme=dark]) .compass-cardinal{fill:#273a55}html:not([data-theme=dark]) .compass-cardinal.north{fill:#c84251}html:not([data-theme=dark]) .compass-center{fill:#fff;stroke:#a5b4c9}html:not([data-theme=dark]) .compass-degrees{fill:#24344d}html:not([data-theme=dark]) .route-profile,html:not([data-theme=dark]) .dashboard[data-planner-open=true] .route-profile{color:#19243b;background:#f8fafc;border-color:#d4dce8}html:not([data-theme=dark]) .profile-heading small,html:not([data-theme=dark]) .profile-status,html:not([data-theme=dark]) .profile-zoom span,html:not([data-theme=dark]) .profile-note{color:#566780}html:not([data-theme=dark]) .profile-planning-controls label{color:#31435d}html:not([data-theme=dark]) .profile-planning-controls,html:not([data-theme=dark]) .profile-details{border-color:#d8e0eb}html:not([data-theme=dark]) .profile-zoom button{color:#24344d;background:#e8edf5}html:not([data-theme=dark]) .profile-viewport{scrollbar-color:#aa8ce4 #e8edf5}html:not([data-theme=dark]) .profile-chart svg text{fill:#52647d}html:not([data-theme=dark]) .profile-chart svg line[stroke=\#b6cde21c]{stroke:#cbd5e3}html:not([data-theme=dark]) .profile-chart svg line[stroke=\#b5a0ee]{stroke:#7654bb}html:not([data-theme=dark]) .profile-chart svg polyline{stroke:#118c77}html:not([data-theme=dark]) .profile-chart svg polygon{fill:#38b99b}html:not([data-theme=dark]) .profile-chart svg circle{fill:#164c75}html:not([data-theme=dark]) .profile-station{color:#095e49;background:#e2f6ee;border-color:#55b596}html:not([data-theme=dark]) .profile-station[data-state=reserve]{color:#794b0c;background:#fff2d9;border-color:#d59938}html:not([data-theme=dark]) .profile-station[data-state=unreachable]{color:#8d2838;background:#ffe7ea;border-color:#d98d9a}html:not([data-theme=dark]) .profile-focus,html:not([data-theme=dark]) .profile-leg{background:#e9eef6}html:not([data-theme=dark]) .profile-focus small,html:not([data-theme=dark]) .profile-leg small{color:#52647d}html:not([data-theme=dark]) .profile-focus button{color:#fff;background:#7047cc}html:not([data-theme=dark]) .profile-key span:first-child,html:not([data-theme=dark]) .profile-candidates span{color:#087c61}html:not([data-theme=dark]) .profile-key span:nth-child(2),html:not([data-theme=dark]) .profile-candidates [data-state=reserve] span{color:#9a630d}html:not([data-theme=dark]) .profile-key span:last-child,html:not([data-theme=dark]) .profile-candidates [data-state=unreachable] span,html:not([data-theme=dark]) .profile-warning{color:#a63346}html:not([data-theme=dark]) .route-summary{color:#19243b;background:#fff;border-color:#d4dce8}html:not([data-theme=dark]) .summary-metric small{color:#61718a}html:not([data-theme=dark]) .summary-metric strong{color:#19243b}html:not([data-theme=dark]) .summary-metric em{color:#52647d}html:not([data-theme=dark]) .route-summary>button:not(.summary-main){color:#263b57}.weather-info{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.weather-info .temperature-toggle{width:auto;min-width:70px;color:inherit;font:inherit;background:0 0;border-radius:0;align-items:center;gap:4px;padding:0 10px;display:flex}.weather-info .elevation-toggle{width:auto;min-width:62px;color:inherit;font:inherit;font-variant-numeric:tabular-nums;background:#ffffff38;border-left:1px solid #15233a33;border-radius:0;align-items:center;gap:4px;padding:0 9px;display:flex}.weather-info .temperature-toggle,.weather-info .elevation-toggle{transition:background-color .15s,color .15s;position:relative}.weather-info .temperature-toggle[aria-pressed=true],.weather-info .elevation-toggle[aria-pressed=true]{box-shadow:inset 0 -3px}.weather-info .reading-reset-feedback{background:inherit;color:inherit;place-items:center;padding:0;font-size:10px;display:grid;position:absolute;inset:0}.interactive-color-scale{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background-color:#2563eb;width:100%;height:30px;position:relative}.color-scale-handle{color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000,0 0 3px #000;white-space:nowrap;cursor:grab;touch-action:none;background:0 0;border:0;border-radius:4px;min-width:24px;height:30px;min-height:30px;padding:0 3px;font-size:9px;font-weight:700;position:absolute;top:0}.color-scale-handle:hover,.color-scale-handle:focus-visible{outline-offset:-1px;background:#ffffff30;outline:1px solid #fff9}.color-scale-handle[data-dragging=true]{z-index:2;cursor:grabbing;background:#10243baa;box-shadow:inset 0 -2px #fff}.scale-placeholder{color:#fff;align-items:center;height:100%;padding:0 5px;font-size:9px;display:flex}.elevation-key,.temperature-key{font-variant-numeric:tabular-nums;width:100%;height:25px;font-size:9px;font-weight:700;display:flex}.elevation-key-scale,.temperature-key-scale{color:#fff;text-shadow:0 1px 3px #000,0 0 3px #000;background-color:#2563eb;flex:1;justify-content:space-between;align-items:center;gap:2px;min-width:0;padding:0 4px;display:flex}.elevation-key-scale span,.temperature-key-scale span{white-space:nowrap}.elevation-crosshair{z-index:2;pointer-events:none;border:2px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #172638,0 1px 5px #0007}.elevation-crosshair:after{content:"";background:#172638;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.station-storage-settings{border:1px solid var(--border);border-radius:14px;margin:18px 0;padding:14px}.station-storage-settings p{font-size:13px;line-height:1.5}.station-storage-settings select{width:100%;min-height:44px}.station-storage-settings small{margin:10px 0;display:block}:root{--navigation-height:80px}.bottom-navigation{min-height:var(--navigation-height);padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr) 92px;align-items:center;gap:6px;display:grid}.route-point,.route-via{min-width:0;color:inherit;background:0 0;border:0}.route-point{text-align:left;align-items:center;gap:6px;padding:2px;display:flex}.route-point-icon,.route-via>span{color:#7be4d5;background:#193942;border:1px solid #3dbbaf80;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:22px;line-height:1;display:grid}.route-point.destination .route-point-icon{color:#ffc77d;background:#3e3028;border-color:#e8ad6b88}.route-point-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.route-point-copy small,.route-via small{color:#a8b9cb;font-size:10px}.route-point-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.route-via{flex-direction:column;align-items:center;gap:2px;padding:0;display:flex}.route-via>span{border-color:color-mix(in srgb,var(--accent) 55%,transparent);width:36px;height:36px;color:var(--accent);background:var(--soft);font-size:27px;font-weight:300}.navigation-plan{z-index:auto;background:linear-gradient(145deg,#0d938f,#087784);border-color:#5cd7cf;border-radius:14px;width:100%;min-width:0;min-height:44px;padding:8px 4px;font-size:12px;position:relative;top:auto;left:auto;transform:none;box-shadow:0 2px 9px #0003,inset 0 1px #ffffff40}.navigation-plan:hover,.navigation-plan[aria-expanded=true]{background:linear-gradient(145deg,#087784,#126a93)}.navigation-plan:disabled{opacity:.55;cursor:wait}.navigation-plan>span{text-shadow:none}.map-compass-dock{z-index:14;right:max(10px,env(safe-area-inset-right));bottom:calc(var(--navigation-height) + 12px + env(safe-area-inset-bottom));width:76px;height:76px;position:fixed}.map-compass-dock .compass-module,.map-compass-dock .map-compass{flex-basis:76px;width:76px;height:76px;min-height:76px}.map-compass-dock .map-compass{--compass-rim-light:#718495;--compass-rim-mid:#344656;--compass-rim-dark:#111923;background:#172330;border-radius:50%;padding:0;transition:box-shadow .2s;box-shadow:0 5px 10px #0006,0 1px 2px #0008,inset 0 1px 1px #fff5}.map-compass-dock .map-compass[data-held=true]{box-shadow:0 2px 5px #0007,0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.map-compass-dock .map-compass .compass-cardinal{fill:#d5e4ed;text-shadow:0 1px 2px #000;font-size:12px}.map-compass-dock .map-compass .compass-cardinal.north{fill:#ff6a81}.map-compass-dock .map-compass .compass-degrees{fill:#f1f8ff;font-size:17px;font-weight:650}.map-compass-dock .map-compass .compass-center{fill:#10202b;stroke:#7093a46b;stroke-width:.8px;filter:drop-shadow(0 2px 2px #0008)}.map-compass-dock .map-compass .compass-tick{stroke:#a3bdca;stroke-width:.65px}.map-compass-dock .map-compass .compass-track{opacity:.7;stroke:#fff2;stroke-width:.6px}.map-compass-dock .map-compass[data-held=true] .compass-track{stroke:var(--accent);stroke-width:2px;stroke-dasharray:100;animation:1.5s linear compass-reset-ring}.compass-needle{filter:drop-shadow(2px 3px 2px #0009)}.compass-fluid{transform-origin:50px 50px;animation:7s ease-in-out infinite alternate compass-liquid}.compass-glass{animation:9s ease-in-out infinite alternate compass-reflection}@keyframes compass-liquid{0%{transform:rotate(-7deg)translateY(-1px)}to{transform:rotate(7deg)translateY(2px)}}@keyframes compass-reflection{0%{opacity:.65}to{opacity:1}}@keyframes compass-reset-ring{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.compass-fluid,.compass-glass,.map-compass-dock .map-compass[data-held=true] .compass-track{animation:none}}.map-compass-dock .compass-notice{padding:8px 10px;font-size:13px;bottom:calc(100% + 6px);left:auto;right:0;transform:none}.dashboard:has(.route-summary) .map-compass-dock{bottom:calc(var(--navigation-height) + 72px + env(safe-area-inset-bottom))}.dashboard[data-planner-open=true] .map-compass-dock{bottom:calc(50dvh + 8px)}.navigation-status{--navigation-accent:#67d5be;z-index:16;left:10px;right:10px;bottom:calc(var(--navigation-height) + 8px + env(safe-area-inset-bottom));color:#eef7fb;background:#101c2bf5;border-radius:18px;flex-direction:column;gap:0;padding:0;display:flex;position:fixed;box-shadow:0 4px 18px #0004}.navigation-metrics{grid-template-columns:1fr 1fr 1fr;align-items:center;gap:12px;width:100%;padding:12px 16px 10px;display:grid}.navigation-eta,.navigation-arrival{font-variant-numeric:tabular-nums;flex-direction:column;gap:4px;display:flex}.navigation-eta strong,.navigation-arrival strong{font-size:22px;line-height:1}.navigation-eta span,.navigation-arrival span{color:#c0d2dc;font-size:10px}.navigation-speed{border-right:1px solid #ffffff30;flex:none;align-items:center;gap:5px;padding-right:10px;display:flex}.navigation-speed strong{font-variant-numeric:tabular-nums;font-size:28px}.navigation-speed span{font-size:9px;line-height:1.3}.navigation-next{flex-wrap:wrap;align-items:center;gap:4px 12px;width:100%;min-width:0;padding:0 16px 10px;display:flex}.navigation-next>strong{flex:1}.navigation-next>span{width:100%}.navigation-next strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.navigation-next span,.navigation-next small{color:#c0d2dc;font-size:10px}.navigation-next small{color:#67d5be}.navigation-warning{color:#fff4df;background:#382c20;border:1px solid #edb45a;border-radius:14px;flex-direction:column;gap:7px;padding:12px;font-size:12px;line-height:1.35;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;right:0;box-shadow:0 4px 14px #0004}.navigation-warning span{color:#f3ddbd}.navigation-warning>div{gap:7px;display:flex}.navigation-warning button{color:#382c20;background:#fff4df;border:0;border-radius:8px;flex:1;min-height:36px;padding:5px;font-size:11px;font-weight:700}.navigation-warning button:last-child{color:#fff;background:#118b85}.dashboard[data-navigating=true] .map-compass-dock{bottom:calc(var(--navigation-height) + var(--navigation-panel-height,252px) + env(safe-area-inset-bottom))}.navigation-profile{border-top:1px solid var(--border);width:100%;padding:10px 16px 12px}.navigation-profile-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.navigation-profile-heading>span{letter-spacing:.1em;font-size:10px;font-weight:700}.navigation-profile-heading small{letter-spacing:0;color:var(--muted);margin-top:4px;font-size:10px;font-weight:400;display:block}.navigation-altitude{flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:5px;display:flex}.navigation-altitude strong{color:var(--navigation-accent);font-variant-numeric:tabular-nums;font-size:19px}.navigation-altitude span{color:var(--muted);font-size:10px}.navigation-terrain-chart{height:76px;color:var(--navigation-accent);margin:4px 0;position:relative}.navigation-terrain-chart svg{width:100%;height:100%;display:block;overflow:visible}.navigation-terrain-grid{fill:none;stroke:var(--border);stroke-width:1px;vector-effect:non-scaling-stroke}.navigation-terrain-past{stroke:var(--muted)}.navigation-height-max,.navigation-height-min{color:var(--muted);background:var(--panel);pointer-events:none;border-radius:4px;padding:1px 3px;font-size:9px;position:absolute;right:0}.navigation-height-max{top:0}.navigation-height-min{bottom:6px}.navigation-terrain-empty{text-align:center;min-height:76px;color:var(--muted);place-items:center;font-size:12px;display:grid}.navigation-distance{justify-content:space-between;gap:10px;font-size:11px;display:flex}.navigation-distance strong{font-variant-numeric:tabular-nums;font-size:15px}.navigation-distance>span:last-child strong{color:var(--navigation-accent)}.navigation-progress-track{background:var(--border);border-radius:4px;height:3px;margin-top:9px;overflow:hidden}.navigation-progress-track>span{background:var(--navigation-accent);height:100%;transition:width 1s linear;display:block}.gps-simulator{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:16px}.gps-simulator-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.gps-simulator-heading>strong{font-size:16px}.gps-simulator-heading>span{background:var(--soft);color:var(--accent);border-radius:20px;padding:4px 8px;font-size:10px;font-weight:700}.gps-simulator>p{color:var(--muted);font-size:12px;line-height:1.5}.gps-simulator-toggle{justify-content:space-between;align-items:center;gap:12px;font-weight:700;display:flex}.gps-simulator-toggle input{width:20px;height:20px;min-height:20px;accent-color:var(--accent)}.gps-simulator-speed{justify-content:space-between;align-items:baseline;gap:8px;margin-top:16px;font-size:12px;display:flex}.gps-simulator-speed output{white-space:nowrap;color:var(--accent)}.gps-simulator-speed strong{font-variant-numeric:tabular-nums;font-size:26px}.gps-simulator input[type=range]{accent-color:var(--accent);cursor:pointer;background:0 0;border:0;margin:4px 0 0;padding:0}.gps-simulator-scale{color:var(--muted);justify-content:space-between;font-size:10px;display:flex}.gps-simulator-actions{gap:6px;margin:14px 0 10px;display:flex}.gps-simulator-actions button{justify-content:center;align-items:center;gap:5px;padding:8px;font-size:11px;display:flex}.gps-simulator-actions button:not(:last-child){flex:1}.gps-simulator-actions svg{flex:none;width:18px;height:18px}.gps-simulator-actions .gps-simulator-play{background:var(--accent);color:var(--panel);border-color:var(--accent)}.gps-simulator>small{min-height:15px;color:var(--muted);font-size:11px;display:block}html:not([data-theme=dark]) .route-point-icon{color:#087c77;background:#e0f5f1;border-color:#55b6ae}html:not([data-theme=dark]) .route-point.destination .route-point-icon{color:#a45a07;background:#fff2df;border-color:#e8b978}html:not([data-theme=dark]) .route-via>span{color:var(--accent);background:var(--soft);border-color:#76b7af}html:not([data-theme=dark]) .route-point-copy small,html:not([data-theme=dark]) .route-via small{color:#65738a}html:not([data-theme=dark]) .map-compass-dock .map-compass{--compass-rim-light:#f6fcff;--compass-rim-mid:#adbcca;--compass-rim-dark:#5c7183;background:#b8c7d1;box-shadow:0 5px 12px #20304045,0 1px 2px #18273877,inset 0 1px 1px #fff}html:not([data-theme=dark]) .navigation-status{--navigation-accent:#087f78;color:#19243b;background:#f8fafcf5}html:not([data-theme=dark]) .navigation-eta span,html:not([data-theme=dark]) .navigation-arrival span{color:#52647d}html:not([data-theme=dark]) .navigation-speed{border-color:#bfcbda}html:not([data-theme=dark]) .navigation-next span{color:#52647d}html:not([data-theme=dark]) .navigation-next small{color:#07806b}@media (max-width:700px){:root{--navigation-height:80px}.bottom-navigation{grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr) 86px;align-items:center;padding-top:7px}.planner-stack.has-route-summary{bottom:calc(var(--navigation-height) + env(safe-area-inset-bottom))}.dashboard[data-planner-open=true] .route-profile{height:calc(50dvh - var(--navigation-height) - env(safe-area-inset-bottom))}.navigation-metrics{gap:8px;padding:10px 12px}.navigation-next{padding:0 12px 8px}.navigation-profile{padding:8px 12px 10px}.navigation-eta strong,.navigation-arrival strong{font-size:19px}.navigation-profile-heading small{display:none}.navigation-altitude{flex-direction:column;align-items:flex-end;gap:1px}}@media (max-height:500px){.navigation-terrain-chart,.navigation-terrain-empty{height:46px;min-height:46px}.navigation-profile-heading small,.navigation-altitude span{display:none}.dashboard[data-navigating=true] .map-compass-dock{bottom:calc(var(--navigation-height) + var(--navigation-panel-height,215px) + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.navigation-progress-track>span{transition:none}}@media (max-width:600px){.route-point{flex-direction:row;align-items:center}}.bottom-navigation{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,0fr);gap:0;transition:grid-template-columns .3s}.bottom-navigation[data-route-action=true]{grid-template-columns:repeat(4,minmax(0,1fr))}.bottom-navigation .route-point,.bottom-navigation .route-via{flex-direction:row;justify-content:center;align-items:center;width:100%;height:64px;padding:4px;display:flex}.bottom-navigation .route-point-icon,.bottom-navigation .route-via>span{border-radius:18px;width:56px;height:56px}.bottom-navigation svg{width:29px;height:29px}.route-action-slot{opacity:0;place-items:center;min-width:0;transition:opacity .2s;display:grid;overflow:hidden}.bottom-navigation[data-route-action=true] .route-action-slot{opacity:1}.route-action-slot .navigation-plan{border-radius:18px;place-items:center;width:56px;min-width:56px;height:56px;min-height:56px;padding:12px;display:grid}@media (prefers-reduced-motion:reduce){.bottom-navigation,.route-action-slot,.layer-tile{transition:none}}.dashboard[data-appearance-open=true]>.map-area{bottom:50dvh}.dashboard[data-appearance-open=true]>.bottom-navigation,.dashboard[data-appearance-open=true]>.planner-stack,.dashboard[data-appearance-open=true]>.navigation-status{display:none}.dashboard[data-appearance-open=true] .map-compass-dock{bottom:calc(50dvh + 10px)}.sheet.appearance-sheet{z-index:30;border:0;border-top:1px solid var(--border);background:var(--bg);border-radius:20px 20px 0 0;width:100%;max-width:100%;height:50dvh;max-height:50dvh;margin:0;inset:auto 0 0;box-shadow:0 -5px 24px #0002}.appearance-sheet>.panel-title{background:var(--panel);padding:8px 20px}.appearance-sheet .panel-title h2{font-size:18px}.appearance-sheet>.sheet-body{padding:12px max(20px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));scrollbar-gutter:stable}.appearance-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.appearance-view-switch{background:var(--panel);border:1px solid var(--border);border-radius:14px;gap:3px;padding:3px;display:flex}.appearance-view-switch button{border:0;min-height:36px;padding:7px 14px;font-size:13px}.appearance-live{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.appearance-live i{background:#18a17a;border-radius:50%;width:7px;height:7px}.appearance-reset{min-height:40px;margin-left:auto;font-size:12px}.appearance-sections{border-bottom:1px solid var(--border);gap:18px;margin:8px 0 12px;display:flex}.appearance-sections button{background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:10px 0;font-size:14px;font-weight:600}.appearance-sections button[aria-pressed=true]{border-bottom-color:var(--accent);background:0 0}.appearance-filter-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.appearance-groups{gap:6px;max-width:100%;padding:2px;display:flex;overflow-x:auto}.appearance-groups button{border-radius:20px;flex:none;min-height:36px;padding:7px 12px;font-size:12px}.appearance-sheet .appearance-filter-row input{flex:1;width:auto;min-width:150px;max-width:260px;min-height:36px;margin:0;padding:8px 12px;font-size:13px}.appearance-hint{color:var(--muted);margin:10px 0 14px;font-size:12px;line-height:1.5}.appearance-color-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));align-items:start;gap:12px;display:grid}.color-card{border:1px solid var(--border);background:var(--panel);border-radius:16px;min-width:0;padding:14px 16px 10px}.color-card[data-modified]{border-color:var(--accent)}.color-card-heading{align-items:center;gap:10px;display:flex}.color-swatch{background:repeating-conic-gradient(#94a3b8 0% 25%,#e2e8f0 0% 50%) 0 0/10px 10px;border:1px solid #8885;border-radius:10px;flex:none;width:36px;height:36px;overflow:hidden}.color-swatch>span{width:100%;height:100%;display:block}.color-card-copy{flex:1;min-width:0}.color-card-copy strong{overflow-wrap:anywhere;font-size:13px;line-height:1.4;display:block}.color-card-copy small{text-overflow:ellipsis;white-space:nowrap;font-size:10px;display:block;overflow:hidden}.color-reset{background:var(--bg);border:0;flex:none;width:36px;min-height:36px;padding:0;font-size:22px}.color-reset:disabled{cursor:default}.color-card-note{color:var(--muted);margin:8px 0 0;font-size:11px;line-height:1.4}.color-sliders{margin-top:8px}.appearance-sheet label.color-slider{grid-template-columns:70px minmax(0,1fr) 34px;align-items:center;gap:10px;min-height:40px;margin:0;font-size:11px;display:grid}.color-slider output{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.appearance-sheet .color-slider input{appearance:none;touch-action:pan-y;background-color:#0000;background-position:50%;background-repeat:no-repeat;background-size:100% 12px;border:0;border-radius:10px;width:100%;height:40px;min-height:40px;margin:0;padding:0}.color-slider input::-webkit-slider-thumb{appearance:none;background:var(--color-thumb);border:3px solid #fff;border-radius:50%;width:23px;height:23px;box-shadow:0 1px 4px #0007}.color-slider input::-moz-range-thumb{background:var(--color-thumb);border:3px solid #fff;border-radius:50%;width:17px;height:17px;box-shadow:0 1px 4px #0007}.appearance-settings-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.appearance-global-colors{align-content:start;gap:12px;display:grid}.appearance-global-colors .appearance-hint{margin:0}@media (max-width:700px){.appearance-sheet>.panel-title{padding:6px 12px}.appearance-sheet .panel-title h2{font-size:16px}.appearance-sheet>.sheet-body{padding:10px 12px calc(16px + env(safe-area-inset-bottom))}.appearance-toolbar{gap:6px}.appearance-view-switch button{padding:7px 10px}.appearance-live{display:none}.appearance-reset{padding:7px 9px}.appearance-sections{margin:4px 0 8px}.appearance-filter-row{gap:6px}.appearance-groups{width:100%}.appearance-sheet .appearance-filter-row input{max-width:none}.appearance-color-grid,.appearance-settings-grid{grid-template-columns:minmax(0,1fr);gap:10px}}html:not([data-theme=dark]) .locate[data-mode=course],html:not([data-theme=dark]) .locate[data-mode=gyro],html:not([data-theme=dark]) .planner .plan,html:not([data-theme=dark]) .navigation-plan,html:not([data-theme=dark]) .profile-planning-controls button{background:var(--accent);border-color:var(--accent)}html:not([data-theme=dark]) .network-logo,html:not([data-theme=dark]) .endpoint .endpoint-extra{color:var(--accent)}html:not([data-theme=dark]) .charger-preview-sheet{--accent:#53d6bd}html:not([data-theme=dark]) .planner .range{background:var(--accent)}.account-form{gap:18px;width:100%;display:grid}.account-heading h1{letter-spacing:-1px;margin:12px 0;font-size:28px;line-height:1.15}.account-heading p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.account-eyebrow{letter-spacing:1.8px;color:var(--accent);align-items:center;gap:8px;font-size:10px;font-weight:700;display:inline-flex}.account-eyebrow:before{content:"";width:5px;height:5px;box-shadow:0 0 12px color-mix(in srgb,var(--accent) 40%,transparent);background:currentColor;border-radius:50%}.account-form label{gap:8px;font-size:12px;font-weight:600;display:grid}.account-form input{background:color-mix(in srgb,var(--panel) 48%,transparent);border-color:color-mix(in srgb,var(--text) 14%,transparent);border-radius:17px;width:100%;min-height:54px;padding:12px 16px;font-size:16px;transition:background .2s,border-color .2s,box-shadow .2s;box-shadow:inset 0 1px 2px #00000004}.account-form input:focus-visible{background:color-mix(in srgb,var(--panel) 72%,transparent);border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent)}.account-form button{transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}.account-submit,.account-social,.account-switch,.account-guest{border-radius:17px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:54px;font-size:14px;font-weight:600;display:flex}.account-form .account-submit{color:#fff;border:1px solid color-mix(in srgb,var(--accent) 70%,white);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 88%,white),color-mix(in srgb,var(--accent) 84%,#062b34));box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 24%,transparent),inset 0 1px 0 #ffffff35}html[data-theme=dark] .account-form .account-submit{color:#210f17}.account-submit:hover:not(:disabled){box-shadow:0 12px 30px color-mix(in srgb,var(--accent) 32%,transparent),inset 0 1px 0 #ffffff50;transform:translateY(-2px)}.account-social{background:color-mix(in srgb,var(--panel) 40%,transparent);border-color:color-mix(in srgb,var(--text) 15%,transparent);box-shadow:inset 0 1px #ffffff20,0 4px 12px #00000004}.account-social:hover:not(:disabled){background:color-mix(in srgb,var(--panel) 65%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);transform:translateY(-2px);box-shadow:inset 0 1px #ffffff30,0 8px 18px #0000000a}.account-guest{color:#063b36;background:linear-gradient(135deg,#7edcc7e6,#48baa9d9);border:1px solid #96e5d5;box-shadow:0 8px 24px #26bba52b,inset 0 1px #fff6}.account-guest:hover:not(:disabled){background:linear-gradient(135deg,#97e8d6,#58cbb8);border-color:#b8f1e3;transform:translateY(-2px);box-shadow:0 12px 28px #26bba542,inset 0 1px #ffffff80}.account-form button:active:not(:disabled){transform:translateY(0)}.account-arrow{flex:none;width:20px;height:20px;transition:transform .2s}.account-submit:hover:not(:disabled) .account-arrow,.account-switch:hover:not(:disabled) .account-arrow,.account-guest:hover:not(:disabled) .account-arrow{transform:translate(3px)}.account-google-logo{flex:none;width:20px;height:20px}.account-switch{color:#583660;background:linear-gradient(135deg,#e2cde8c7,#c9aed5a6);border:1px solid #ac88b280;box-shadow:0 8px 22px #8650901a,inset 0 1px #fff6}.account-switch:hover:not(:disabled){background:linear-gradient(135deg,#ecdbf1,#d5bce0);border-color:#ba95c3;transform:translateY(-2px);box-shadow:0 12px 28px #8650902e,inset 0 1px #ffffff80}html[data-theme=dark] .account-switch{color:#f0dff6;background:linear-gradient(135deg,#79558094,#51375eb3);border-color:#b589c15c;box-shadow:0 8px 22px #9d65b026,inset 0 1px #e9c3fa30}html[data-theme=dark] .account-switch:hover:not(:disabled){background:linear-gradient(135deg,#8b629bbd,#644473cc);border-color:#c69bd780;box-shadow:0 12px 28px #9d65b03d,inset 0 1px #e9c3fa40}.account-divider{color:var(--muted);align-items:center;gap:12px;font-size:11px;display:flex}.account-divider:before,.account-divider:after{content:"";background:color-mix(in srgb,var(--text) 13%,transparent);flex:1;height:1px}.account-error{color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent);border-radius:14px;margin:0;padding:12px 14px;font-size:13px;line-height:1.5}.trip-history{margin-top:24px}.trip-history article{border-bottom:1px solid var(--border);gap:6px;padding:14px 0;display:grid}.trip-history article span{color:var(--muted);font-size:12px}.cache-status{border:1px solid var(--border);border-radius:16px;margin:12px 0;padding:16px}.cache-status h3{margin:0 0 8px;font-size:14px}.cache-status p{font-size:13px}.cache-status small{line-height:1.5;display:block}.cache-status button{margin-top:12px}.entry-screen{isolation:isolate;background:radial-gradient(ellipse at 25% 20%,color-mix(in srgb,var(--accent) 16%,var(--bg)),var(--bg));height:100dvh;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;position:relative;overflow:hidden auto}.entry-screen:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 15%,color-mix(in srgb,var(--bg) 28%,transparent) 100%),linear-gradient(180deg,color-mix(in srgb,var(--bg) 12%,transparent),transparent 30%,color-mix(in srgb,var(--bg) 25%,transparent));position:fixed;inset:0}.entry-map{z-index:-2;opacity:0;transition:opacity 1s;position:fixed;inset:0}.entry-map[data-loaded=true]{opacity:1}.entry-map .maplibregl-canvas{outline:none}.entry-map-status{bottom:max(16px,env(safe-area-inset-bottom));background:color-mix(in srgb,var(--panel) 85%,transparent);color:var(--muted);white-space:nowrap;border-radius:14px;margin:0;padding:8px 12px;font-size:11px;position:fixed;left:50%;transform:translate(-50%)}.entry-content{pointer-events:none;min-height:100%;padding:max(36px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(48px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex}.entry-content>*{pointer-events:auto}.entry-card{width:min(100%,420px);color:var(--text);-webkit-backdrop-filter:blur(28px)saturate(145%);backdrop-filter:blur(28px)saturate(145%);background:linear-gradient(145deg,#ffffffb3,#ffffff70);border:1px solid #ffffffa6;border-radius:32px;padding:34px 30px 22px;animation:.7s both entry-reveal;box-shadow:0 24px 80px #173b4c26,0 4px 16px #173b4c0a,inset 0 1px #fffc,inset 0 -1px #ffffff40}.entry-card .account-form{gap:16px}.entry-card .account-heading{isolation:isolate;text-align:center;border-radius:24px;margin:-12px -10px 6px;padding:26px 10px 24px;position:relative;overflow:hidden}.entry-card .account-heading:before,.entry-card .account-heading:after{content:"";z-index:-1;pointer-events:none;filter:blur(24px);opacity:.55;border-radius:50%;width:90%;height:140px;animation:9s ease-in-out infinite alternate account-glow-flow;position:absolute;top:0}.entry-card .account-heading:before{background:radial-gradient(#b58cca80,#0000 68%);left:-18%}.entry-card .account-heading:after{background:radial-gradient(#60d9c570,#0000 68%);animation-duration:12s;animation-direction:alternate-reverse;animation-delay:-5s;top:16px;right:-20%}.entry-card .account-eyebrow{border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);background:color-mix(in srgb,var(--panel) 24%,transparent);letter-spacing:1.5px;border-radius:20px;padding:7px 11px;font-size:9px}.entry-card .account-heading h1{letter-spacing:-1.1px;background:linear-gradient(110deg,#263849 15%,#74467e 40%,#126f65 65%,#263849 90%) 0 0/240% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;margin:16px 0 12px;font-size:30px;line-height:1.15;animation:14s ease-in-out infinite alternate account-title-flow}.entry-card .account-heading p{color:#4c5c6b;max-width:280px;margin:0 auto;font-size:13px;line-height:1.7}.entry-loading{color:var(--muted);margin:0;font-size:14px;line-height:1.6}html[data-theme=dark] .entry-card{-webkit-backdrop-filter:blur(22px)saturate(160%)brightness(1.15);backdrop-filter:blur(22px)saturate(160%)brightness(1.15);background:linear-gradient(135deg,#ffffff0b,#0000 45%),linear-gradient(145deg,#16233394,#0e182b52);border-color:#ffffff30;box-shadow:0 24px 80px #00000059,0 4px 16px #0000001a,inset 0 1px #ffffff26,inset 0 -1px #ffffff0a}html[data-theme=dark] .entry-map{filter:brightness(1.45)saturate(120%)}html[data-theme=dark] .entry-card .account-heading p{color:#c0cbd8}html[data-theme=dark] .entry-card .account-heading:before{background:radial-gradient(#c68be080,#0000 68%)}html[data-theme=dark] .entry-card .account-heading:after{background:radial-gradient(#55e4c880,#0000 68%)}html[data-theme=dark] .entry-card .account-heading h1{background-image:linear-gradient(110deg,#f7f0ff 15%,#e0baf0 40%,#a0f1de 65%,#f7f0ff 90%)}@keyframes entry-reveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes account-glow-flow{0%{opacity:.4;transform:translate(-5%,-8%)scale(.85)rotate(-12deg)}to{opacity:.85;transform:translate(12%,10%)scale(1.2)rotate(12deg)}}@keyframes account-title-flow{0%{background-position:0%}to{background-position:100%}}@media (max-width:480px){.entry-content{padding-top:max(28px,env(safe-area-inset-top));gap:20px}.entry-card{border-radius:28px;padding:28px 24px 18px}.entry-card .account-heading h1{font-size:28px}}@media (max-height:650px){.entry-content{padding-top:max(20px,env(safe-area-inset-top));gap:16px}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.entry-card,html[data-theme=dark] .entry-card{background:var(--panel)}}@media (prefers-reduced-motion:reduce){.entry-card,.entry-card .account-heading:before,.entry-card .account-heading:after,.entry-card .account-heading h1{animation:none}.entry-map,.account-form button,.account-form input,.account-arrow{transition:none}}.dashboard{--topbar-height:calc(64px + env(safe-area-inset-top));--map-bottom-space:calc(var(--navigation-height) + env(safe-area-inset-bottom))}.dashboard[data-planner-open=true],.dashboard[data-appearance-open=true]{--map-bottom-space:50dvh}.dashboard{--telemetry-panel-width:clamp(min(160px,50vw),var(--telemetry-width-preference,clamp(176px,42vw,260px)),min(600px,max(min(160px,50vw),calc(100vw - 140px))))}.dashboard>.map-area{top:var(--topbar-height);transition:left .3s cubic-bezier(.22,1,.36,1),right .3s cubic-bezier(.22,1,.36,1);left:0}.dashboard[data-telemetry-open=true]>.map-area{left:var(--telemetry-offset)}.telemetry-band{z-index:21;background:var(--panel);border-right:0 solid var(--border);width:0;transition:width .3s cubic-bezier(.22,1,.36,1);position:absolute;top:0;bottom:0;left:0;overflow:hidden;container:telemetry/size}.dashboard[data-telemetry-open=true]>.telemetry-band{width:var(--telemetry-panel-width)}.dashboard[data-telemetry-resizing=true]>.map-area,.dashboard[data-telemetry-resizing=true]>.telemetry-band{transition:none}.telemetry-resize-handle{top:calc(min(48px,8cqh) + env(safe-area-inset-top));z-index:2;cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;place-items:center;width:14px;display:grid;position:absolute;bottom:0;right:0}.telemetry-resize-handle:is(:hover,:focus-visible){background:0 0;outline:none}.map-telemetry-panel{width:var(--telemetry-panel-width);background:linear-gradient(165deg,color-mix(in srgb,var(--panel) 94%,var(--accent)),var(--panel) 65%);grid-template-rows:minmax(0,min(40px,9cqh)) minmax(0,1fr);gap:clamp(3px,1.2cqh,12px);height:100%;min-height:0;padding:clamp(4px,1.5cqh,14px) 18px clamp(4px,1.5cqh,14px) clamp(4px,1.5cqh,14px);display:grid;overflow:hidden}.map-telemetry-panel>*{min-width:0;min-height:0}.telemetry-heading{justify-content:space-between;align-items:center;gap:4px;display:flex;overflow:hidden}.telemetry-heading strong{font-size:clamp(10px,3.4cqh,18px)}.telemetry-heading button{width:clamp(24px,7cqh,36px);height:clamp(24px,7cqh,36px);min-height:0;color:var(--muted);background:0 0;border:0;flex:none;padding:0;font-size:clamp(18px,5cqh,25px)}.telemetry-workspace{grid-template-rows:minmax(0,1fr);min-height:0;display:grid;position:relative;overflow:visible}.telemetry-workspace[data-editing=true]{grid-template-rows:minmax(0,1fr)}.telemetry-modules-grid{flex-direction:column;gap:clamp(3px,1.1cqh,9px);width:100%;height:100%;min-height:0;margin:0;padding:0;display:flex}.telemetry-module{border:1px solid color-mix(in srgb,var(--metric-color) 22%,var(--border));background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--metric-color) 13%,transparent),transparent 75%),linear-gradient(160deg,color-mix(in srgb,var(--panel) 95%,var(--metric-color)),var(--panel));-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:16px;flex-shrink:1;flex-basis:0;width:100%;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff12,0 3px 8px #00000010;container:telemetry-card/size}.telemetry-module[data-selected=true],.telemetry-module:focus-visible{border-color:var(--metric-color);box-shadow:inset 0 0 0 1px var(--metric-color),0 0 16px color-mix(in srgb,var(--metric-color) 12%,transparent);outline:none}.telemetry-module-content{flex-direction:column;justify-content:center;align-items:flex-start;gap:clamp(1px,3cqh,8px);height:100%;padding:clamp(3px,5cqh,14px) clamp(7px,5cqw,18px);display:flex;position:relative;overflow:hidden}.telemetry-module-label{color:var(--muted);font-size:clamp(8px,min(14cqh,6cqw),18px);font-weight:600;line-height:1.1;position:relative}.telemetry-module-value{white-space:nowrap;align-items:baseline;gap:clamp(3px,2cqw,8px);max-width:100%;display:flex;position:relative}.telemetry-module-value strong{color:var(--metric-color);letter-spacing:-1px;font-variant-numeric:tabular-nums;font-size:clamp(14px,min(34cqh,25cqw),72px);font-weight:650;line-height:1}.telemetry-module-value>span{color:var(--text);font-size:clamp(10px,min(16cqh,9cqw),24px);line-height:1}.telemetry-module-detail{color:var(--muted);font-size:clamp(8px,min(9cqh,4.5cqw),13px);line-height:1.2;position:relative}.telemetry-module-art{fill:none;width:55%;height:85%;stroke:var(--metric-color);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;opacity:.14;pointer-events:none;position:absolute;top:5%;right:-3%}.telemetry-altitude-card{grid-template-rows:minmax(0,1fr) minmax(0,.72fr);height:100%;min-height:0;display:grid;overflow:hidden}.telemetry-altitude-chart{background:linear-gradient(#89b7ff0b,#0000);min-height:0;position:relative;overflow:hidden}.telemetry-altitude-caption{z-index:1;color:var(--text);pointer-events:none;justify-content:space-between;gap:4px;font-size:clamp(7px,min(7cqh,4.4cqw),13px);font-weight:600;display:flex;position:absolute;top:clamp(2px,3cqh,8px);left:8px;right:8px}.telemetry-altitude-caption small{color:var(--muted);white-space:nowrap;font-size:clamp(6px,min(6cqh,3.5cqw),10px)}.telemetry-altitude-chart svg{width:100%;height:calc(100% - clamp(13px,14cqh,26px));display:block;position:absolute;bottom:0;overflow:visible}.telemetry-altitude-grid{fill:none;stroke:var(--metric-color);stroke-opacity:.1;stroke-width:1px;vector-effect:non-scaling-stroke}.telemetry-altitude-ridge,.telemetry-altitude-ridge-glow{fill:none;stroke:var(--metric-color);stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.telemetry-altitude-ridge{stroke-width:2px}.telemetry-altitude-ridge-glow{stroke-width:7px;opacity:.12}.telemetry-altitude-cursor{stroke:var(--metric-color);stroke-opacity:.4;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.telemetry-altitude-dot-halo{fill:var(--metric-color);opacity:.18}.telemetry-altitude-dot{fill:var(--text);stroke:var(--metric-color);stroke-width:1px;vector-effect:non-scaling-stroke}.telemetry-altitude-distance{color:var(--muted);font-size:clamp(6px,min(6cqh,3.5cqw),10px);position:absolute;bottom:2px;left:8px}.telemetry-altitude-stats{border-top:1px solid color-mix(in srgb,var(--metric-color) 20%,transparent);background:color-mix(in srgb,var(--panel) 93%,var(--metric-color));grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);min-height:0;display:grid}.telemetry-altitude-stats>div{flex-direction:column;justify-content:center;align-items:center;gap:clamp(1px,2cqh,5px);min-width:0;min-height:0;padding:2px;display:flex;overflow:hidden}.telemetry-altitude-stats>div+div{border-left:1px solid color-mix(in srgb,var(--metric-color) 16%,transparent)}.telemetry-altitude-stats>div>span{color:var(--muted);font-size:clamp(6px,min(8cqh,4cqw),12px);line-height:1}.telemetry-altitude-stats strong{letter-spacing:-.5px;color:var(--metric-color);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:2px;font-size:clamp(9px,min(20cqh,8cqw),32px);font-weight:600;line-height:1;display:flex}.telemetry-altitude-stats strong small{letter-spacing:0;color:var(--muted);font-size:clamp(6px,min(9cqh,3.5cqw),12px);font-weight:500}.telemetry-altitude-current{background:linear-gradient(#89b7ff16,#0000)}.telemetry-altitude-current strong{color:var(--text);font-size:clamp(12px,min(25cqh,11cqw),42px)}@container telemetry-card (max-height:75px){.telemetry-altitude-caption small,.telemetry-altitude-distance{display:none}.telemetry-altitude-caption{font-size:7px;top:1px}.telemetry-altitude-chart svg{height:calc(100% - 9px)}}.telemetry-speed-backdrop{pointer-events:none;position:absolute;inset:0;overflow:hidden}.telemetry-speed-fill{clip-path:inset(calc((1 - var(--speed-fill)) * 100%) 0 0);background:var(--speed-gradient);opacity:.3;transition:clip-path .6s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.telemetry-speed-front{left:0;right:0;bottom:calc(var(--speed-fill) * 100% - 2px);background:var(--speed-color);height:3px;box-shadow:0 0 12px var(--speed-color);opacity:.85;transition:bottom .6s cubic-bezier(.22,1,.36,1),background .6s;position:absolute}.telemetry-module[data-speed=true] .telemetry-module-value strong{color:var(--speed-color)}.telemetry-speed-front[data-peak=true]{animation:.55s ease-out telemetry-speed-peak}@keyframes telemetry-speed-peak{0%{opacity:.3}35%{opacity:1;box-shadow:0 8px 24px var(--speed-color)}to{opacity:.85}}.telemetry-speed-cap{color:var(--muted);font-variant-numeric:tabular-nums;font-size:clamp(8px,min(9cqh,5cqw),13px);position:absolute;top:clamp(4px,5cqh,12px);right:clamp(7px,5cqw,18px)}.telemetry-module[data-speed=true] .telemetry-module-label{max-width:calc(100% - 64px)}.telemetry-speed-warning{color:#ff637c;font-size:clamp(8px,min(9cqh,5cqw),13px);font-weight:650;position:absolute;bottom:6px;right:8px}.telemetry-module[data-overspeed=true]{border-color:#ff637c}.telemetry-module[data-overspeed=true] .telemetry-speed-front{background:#ff637c;height:5px;bottom:calc(100% - 5px);box-shadow:0 0 12px #ff637c}.telemetry-module[data-warning-pulse=true]:after{content:"";border-radius:inherit;pointer-events:none;animation:1.4s ease-in-out infinite telemetry-speed-warning;position:absolute;inset:0;box-shadow:inset 0 0 26px #ff426b88,inset 0 0 0 2px #ff637c}@keyframes telemetry-speed-warning{0%,to{opacity:.3}50%{opacity:1}}.telemetry-module[data-configuring-speed=true]{min-height:min(180px,34cqh)}.telemetry-speed-settings{grid-template-rows:minmax(0,.7fr) minmax(0,1fr) minmax(0,1.6fr) minmax(0,.7fr);gap:clamp(2px,3cqh,7px);height:100%;padding:clamp(4px,6cqh,14px) 34px clamp(4px,6cqh,14px) 12px;display:grid;position:relative;overflow:hidden}.telemetry-speed-settings>strong{color:var(--metric-color);align-self:center;font-size:clamp(9px,min(12cqh,6cqw),16px)}.telemetry-speed-settings select{border:1px solid var(--border);background:var(--panel);width:100%;height:100%;min-height:0;color:var(--text);border-radius:8px;padding:2px 6px;font-size:clamp(9px,min(10cqh,6cqw),14px)}.telemetry-speed-settings-options{flex-direction:column;justify-content:center;gap:5px;min-height:0;display:flex}.telemetry-speed-settings-options>p{color:var(--muted);margin:0;font-size:clamp(9px,min(10cqh,6cqw),14px)}.telemetry-speed-settings-options>label{flex:1;align-items:center;gap:5px;min-width:0;min-height:0;font-size:clamp(8px,min(10cqh,5cqw),13px);display:flex}.telemetry-speed-settings label>div{align-items:center;gap:4px;min-width:0;height:100%;display:flex}.telemetry-speed-settings input{border:1px solid var(--border);background:var(--panel);width:100%;min-width:0;height:100%;min-height:0;color:var(--text);border-radius:6px;padding:2px 4px;font-size:clamp(10px,min(12cqh,6cqw),16px)}.telemetry-speed-settings .telemetry-pulse input{width:14px;height:14px;accent-color:var(--metric-color);flex:none;margin:0;padding:0}.telemetry-speed-settings>button{background:var(--soft);min-height:0;color:var(--accent);border:0;justify-self:end;padding:2px 8px;font-size:clamp(9px,min(10cqh,6cqw),14px)}@media (prefers-reduced-motion:reduce){.telemetry-speed-fill,.telemetry-speed-front{transition:none}.telemetry-speed-front[data-peak=true],.telemetry-module[data-warning-pulse=true]:after{animation:none}}.telemetry-module-grip{z-index:2;width:28px;height:28px;min-height:0;color:var(--metric-color);background:color-mix(in srgb,var(--panel) 85%,transparent);cursor:grab;touch-action:none;border:0;border-radius:7px;padding:0;font-size:22px;position:absolute;top:3px;right:4px}.telemetry-module-resize{z-index:2;cursor:ns-resize;touch-action:none;background:0 0;border:0;place-items:center;height:12px;min-height:0;padding:0;display:grid;position:absolute;bottom:0;left:18%;right:18%}.telemetry-module-resize[data-leading=true]{top:0;bottom:auto}.telemetry-module-resize span{background:var(--metric-color);opacity:.7;border-radius:4px;width:32px;height:3px}.telemetry-module-editor{z-index:70;width:max(112px,min(280px,calc(100vw - var(--telemetry-panel-width) - 20px)));max-height:min(680px,calc(100dvh - var(--top-panel-height,64px) - var(--map-bottom-space,80px) - 48px));border:1px solid var(--border);background:var(--panel);border-radius:16px;flex-direction:column;gap:14px;padding:14px;animation:.18s ease-out telemetry-editor-enter;display:flex;overflow-y:auto;box-shadow:0 14px 40px #0006}@keyframes telemetry-editor-enter{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.telemetry-module-editor:focus{outline:none}.telemetry-editor-arrow{fill:var(--panel)}.telemetry-layout-open{width:26px;height:26px;min-height:0;color:var(--muted);background:0 0;border:0;padding:0;font-size:18px;position:absolute;top:-30px;right:28px}.telemetry-card-choices{border:0;flex-direction:column;gap:9px;margin:0;padding:0;display:flex}.telemetry-card-choices legend{color:var(--muted);padding:0 0 8px;font-size:11px}.telemetry-card-choices label{cursor:pointer;align-items:center;gap:8px;font-size:12px;line-height:1.2;display:flex}.telemetry-card-choices input{appearance:auto;width:16px;height:16px;min-height:0;accent-color:var(--accent);flex:none;margin:0;padding:0}.telemetry-empty-layout{align-self:center;padding:8px;font-size:12px}.telemetry-archive{margin:18px 0}.telemetry-archive>article{border:1px solid var(--border);background:var(--soft);border-radius:14px;margin:8px 0;padding:8px}.telemetry-archive>article>button{background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:8px;display:flex}.telemetry-archive>article>button>span{color:var(--muted);font-size:12px}.telemetry-session-view{gap:10px;padding:6px 0;display:grid}.telemetry-archive-chart{border:1px solid var(--border);background:var(--panel);border-radius:12px;overflow:hidden}.telemetry-archive-chart>header{color:var(--metric-color);border-bottom:1px solid var(--border);padding:5px 9px;font-size:11px}.telemetry-archive-chart>svg{height:100px}.telemetry-archive-chart>div{color:var(--muted);grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:6px;font-size:10px;display:grid}.telemetry-archive-chart>div strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:12px;display:block}.telemetry-replay{color:var(--muted);flex-direction:column;gap:5px;font-size:12px;display:flex}.telemetry-replay input{width:100%;accent-color:var(--accent);margin:0;padding:0}.telemetry-module-editor .telemetry-editor-size{flex:none;height:28px}.telemetry-module-editor .telemetry-editor-actions{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));height:32px}.telemetry-module-editor .telemetry-speed-settings{border-top:1px solid var(--border);flex-direction:column;gap:10px;height:auto;padding:12px 0 0;display:flex;overflow:visible}.telemetry-module-editor .telemetry-speed-settings>strong{align-self:flex-start;font-size:12px}.telemetry-module-editor .telemetry-speed-settings select,.telemetry-module-editor .telemetry-speed-settings input[type=number]{height:32px;min-height:32px;font-size:12px}.telemetry-module-editor .telemetry-speed-settings-options>label,.telemetry-module-editor .telemetry-speed-settings-options>p{font-size:11px}.telemetry-module-editor .telemetry-speed-settings-options{gap:10px}.telemetry-module-editor .telemetry-speed-settings>button{display:none}.telemetry-card-title{border-bottom:1px solid color-mix(in srgb,var(--metric-color) 16%,transparent);letter-spacing:.2px;height:clamp(10px,12cqh,18px);color:var(--muted);background:color-mix(in srgb,var(--metric-color) 7%,transparent);align-items:center;padding:0 8px;font-size:clamp(7px,min(7cqh,4cqw),11px);font-weight:500;line-height:1;display:flex;position:relative}.telemetry-card-body{height:calc(100% - clamp(10px,12cqh,18px));position:relative;overflow:hidden}.telemetry-altitude-chart svg{height:100%}.telemetry-trend{width:100%;height:100%;display:block}.telemetry-speed-history{opacity:.85;flex:1;width:100%;min-height:0}.telemetry-module[data-speed=true] .telemetry-module-content{justify-content:flex-end;gap:2px;padding-top:2px}.telemetry-module[data-speed=true] .telemetry-module-value strong{font-size:clamp(14px,min(29cqh,25cqw),64px)}.telemetry-module[data-speed=true] .telemetry-speed-cap{z-index:1;font-size:clamp(7px,min(7cqh,4cqw),11px);top:2px}.telemetry-module[data-editing=true] .telemetry-speed-cap{display:block}.telemetry-editor-heading{justify-content:space-between;align-items:center;gap:4px;min-height:0;display:flex}.telemetry-editor-heading strong{font-size:clamp(10px,2.8cqh,13px)}.telemetry-editor-heading button{min-height:0;color:var(--accent);background:var(--soft);border:0;padding:3px 8px;font-size:12px}.telemetry-editor-data,.telemetry-editor-size{min-height:0;color:var(--muted);grid-template-columns:36px minmax(0,1fr);align-items:center;gap:5px;font-size:12px;display:grid}.telemetry-editor-data select{width:100%;height:100%;min-height:0;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:7px;padding:2px 5px;font-size:12px}.telemetry-editor-size input{width:100%;height:100%;min-height:0;accent-color:var(--accent);touch-action:pan-x;border:0;margin:0;padding:0}.telemetry-editor-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;min-height:0;display:grid}.telemetry-editor-actions button{background:var(--soft);border-radius:7px;height:100%;min-height:0;padding:0;font-size:18px}.telemetry-editor-actions button:disabled{cursor:default}@container telemetry-card (max-height:85px){.telemetry-module-detail{display:none}.telemetry-module-content{flex-direction:row;justify-content:space-between;align-items:center;gap:4px}.telemetry-module-value strong{font-size:clamp(13px,min(38cqh,20cqw),32px)}.telemetry-module[data-speed=true] .telemetry-module-content{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.telemetry-module-editor{animation:none}}@container telemetry (max-height:220px){.telemetry-module-label{display:none}}.dashboard[data-charger-preview=true]>.telemetry-band{visibility:hidden;pointer-events:none}.dashboard[data-charger-preview=true] .map-corner-toggle{display:none}.map-corner-toggle{z-index:9;clip-path:polygon(0 0,100% 0,0 100%);background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 88%,var(--accent)),var(--panel) 75%);width:56px;height:56px;min-height:0;color:var(--accent);touch-action:manipulation;border:0;border-radius:0;padding:0;transition:background .18s,color .18s;position:absolute;top:0;left:0}.map-corner-toggle svg{fill:none;pointer-events:none;width:100%;height:100%;display:block}.map-corner-edge{stroke:color-mix(in srgb,var(--accent) 40%,var(--border));stroke-width:2px}.map-corner-arrow{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;transform-origin:17px 17px;transition:transform .18s}.map-corner-toggle:is(:hover,:focus-visible){background:var(--accent);color:var(--panel);outline:none}.map-corner-toggle:active .map-corner-arrow{transform:translate(2px,-2px)}@media (prefers-reduced-motion:reduce){.map-corner-toggle,.map-corner-arrow,.telemetry-band,.dashboard>.map-area{transition:none}}.topbar{grid-template-columns:32px 292px minmax(32px,1fr) auto;gap:8px;display:grid}.topbar .brand{width:32px;padding:0}.topbar .fullscreen-toggle{justify-self:center;position:static;transform:none}.topbar-readings{align-items:center;gap:4px;min-width:0;display:flex}.topbar-readings>button{border:1px solid var(--border);font-variant-numeric:tabular-nums;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:var(--soft);width:71px;min-height:48px;color:var(--text);border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:2px 3px;font-size:11px;font-weight:650;display:flex;position:relative}.topbar-readings .temperature-toggle:not([aria-pressed=true]){color:#ecab70;background:color-mix(in srgb,#ecab70 7%,var(--panel))!important}.topbar-readings .elevation-toggle:not([aria-pressed=true]){color:#89c4c6;background:color-mix(in srgb,#89c4c6 7%,var(--panel))!important}html:not([data-theme=dark]) .topbar-readings .temperature-toggle:not([aria-pressed=true]){color:#9e4a1b}html:not([data-theme=dark]) .topbar-readings .elevation-toggle:not([aria-pressed=true]){color:#236f78}.topbar-readings>button[aria-pressed=true]{box-shadow:inset 0 -2px}.topbar-readings>button>span:not(.reading-reset-feedback){white-space:nowrap;justify-content:center;align-items:center;gap:3px;display:flex}.reading-graph{width:64px;height:25px;display:block}.topbar-readings .reading-reset-feedback{background:var(--panel);border-radius:inherit;place-items:center;font-size:9px;display:grid;position:absolute;inset:0}.layer-secondary{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.layer-grid:not(:has(.charger-control)) .layer-secondary{grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr))}.map-information-dock{bottom:10px;left:max(10px,env(safe-area-inset-left));z-index:15;align-items:center;gap:6px;display:flex;position:absolute}.map-info-toggle{border-radius:50%;width:38px;height:38px;min-height:38px;padding:0;font-family:Georgia,serif;font-size:19px;font-style:italic;font-weight:700;position:static}.map-information-dock .data-load{position:relative;inset:auto;transform:none}.map-information-dock .data-load-toggle{border:1px solid var(--border);background:var(--panel);border-radius:22px;max-width:160px;min-height:38px;padding:7px 12px;box-shadow:0 4px 14px #0002}.map-information-dock .data-load-panel{max-height:min(65dvh,calc(100dvh - var(--topbar-height) - var(--top-panel-height,0px) - var(--map-bottom-space) - 70px));position:absolute;top:auto;bottom:48px;left:-44px}.map-area .info-panel{max-height:min(65dvh,100% - 68px);position:absolute;top:58px;bottom:auto}.dashboard[data-charger-preview=true]>.map-area{inset:0}@media (max-width:900px){.layer-palette-body{display:block}.layer-secondary{scrollbar-width:thin;gap:8px;padding:3px 2px 8px;display:flex;overflow-x:auto}.layer-grid:not(:has(.charger-control)) .layer-secondary{scrollbar-width:thin;gap:8px;padding:3px 2px 8px;display:flex;overflow-x:auto}}@media (max-width:560px){.dashboard{--topbar-height:calc(58px + env(safe-area-inset-top))}.topbar{grid-template-columns:28px minmax(0,1fr) 32px auto;gap:4px}.topbar .brand{width:28px;font-size:39px}.topbar-readings>button{flex:1;width:0;min-width:0;font-size:10px}.reading-graph{width:100%;height:23px}.top-actions{gap:4px}.topbar .soc-toggle{padding:4px;font-size:16px}.map-readings[data-color-map=true]{border-radius:9px;width:min(270px,100% - 70px)}}@media (max-width:360px){.topbar{grid-template-columns:24px minmax(0,1fr) 28px auto;gap:3px;padding-inline:6px}.topbar-readings>button{padding-inline:1px;font-size:9px}.reading-graph{width:100%}.topbar .fullscreen-toggle{width:32px;padding:6px}.topbar .soc-toggle{font-size:14px}.topbar .appearance-toggle{width:40px;height:40px}.topbar .view-emblem{width:30px;height:30px}}.layer-tile[aria-pressed=false]{border-color:var(--border);background:var(--tile-surface)}.layer-tile[aria-pressed=false] .layer-scene{filter:grayscale();opacity:.45}.layer-tile[aria-pressed=false] .layer-label{color:var(--muted)}.layer-tile[aria-pressed=false]:is(:hover,:focus-visible) .layer-scene{filter:grayscale(.7);opacity:.7}.layer-tile[aria-pressed=true] .layer-scene{filter:saturate(1.15) drop-shadow(0 0 5px color-mix(in srgb,var(--tile-color) 22%,transparent));opacity:1}.charger-network-drawer{overflow:hidden}.charger-network-tiles{overscroll-behavior:contain;scrollbar-width:thin;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-height:226px;margin-bottom:8px;padding:2px 2px 9px;display:grid;overflow:auto}.charger-network-tiles>button{border:1px solid var(--border);background:var(--bg);min-width:0;min-height:65px;color:var(--muted);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:5px 2px;font-size:9px;line-height:1.2;display:flex}.charger-network-tiles>button>img{object-fit:contain;background:#fff;border-radius:8px;flex:none;padding:2px;transition:filter .3s,opacity .3s}.charger-network-tiles>button[aria-pressed=true]{color:var(--text);background:color-mix(in srgb,#4de0bc 10%,var(--tile-surface));border-color:#4de0bc99;box-shadow:inset 0 0 0 1px #4de0bc15}.charger-network-tiles>button[aria-pressed=false]>img{filter:grayscale();opacity:.5}.network-other-icon{color:#69cbb4;background:var(--soft);border-radius:8px;place-items:center;width:30px;height:30px;font-size:25px;display:grid}.charger-presets button:last-child strong{font-size:clamp(11px,4.8cqi,17px)}.charger-network-favorites-actions{z-index:2;flex-direction:column;gap:4px;width:calc(50% - 56px);display:flex;position:absolute;top:17px;left:10px}.charger-network-context,.charger-network-context[aria-pressed=true]{border:1px solid var(--border);background:var(--panel);width:100%;min-height:45px;color:var(--text);box-shadow:0 3px 0 color-mix(in srgb,var(--border) 70%,var(--bg)),inset 0 1px #ffffff25;border-radius:15px;justify-content:center;align-items:center;gap:5px;padding:7px;font-size:12px;font-weight:650;display:flex}.charger-network-context>svg{flex:none;width:18px;height:18px}.charger-network-context[aria-pressed=true]{background:color-mix(in srgb,#4de0bc 18%,var(--panel));color:var(--text);border-color:#79daba;box-shadow:0 3px #4de0bc44,0 0 15px #4de0bc1a,inset 0 1px #ffffff40}.charger-favorites-edit{border:1px solid var(--border);background:color-mix(in srgb,var(--panel) 80%,transparent);width:100%;min-height:29px;color:var(--muted);border-radius:20px;justify-content:center;align-items:center;gap:4px;padding:3px 5px;font-size:9px;display:flex}.charger-favorites-edit>svg{width:12px;height:12px}.charger-network-context.charger-network-all-context{z-index:2;flex-direction:column;width:calc(50% - 56px);min-height:74px;font-size:15px;position:absolute;top:19px;right:10px}.charger-network-all-context>svg{width:22px;height:22px}.network-logo-bubbles{pointer-events:none;background:radial-gradient(circle at 35% 28%,#ffffff16,#0000 70%);border-radius:50%;width:64px;height:64px;display:block;position:relative;overflow:hidden}.network-logo-bubble{will-change:transform;background:#fff;border-radius:50%;padding:1px;display:block;position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 1px 3px #0005}.network-logo-bubble>img{object-fit:contain;border-radius:50%;width:100%;height:100%;display:block}.network-logo-empty{color:var(--muted);place-items:center;font-size:35px;display:grid;position:absolute;inset:0}.charger-network-view{overflow:hidden}.charger-favorites-heading{justify-content:space-between;align-items:center;gap:6px;padding:3px 2px 9px;font-size:11px;display:flex}.charger-favorites-heading>output{color:var(--muted);white-space:nowrap;font-size:9px}.charger-favorites-footer{gap:8px;padding:0 2px 10px;display:flex}.charger-favorites-footer>button{border-radius:12px;flex:1;min-height:36px;font-size:11px}.charger-favorites-footer .charger-favorites-save{color:#143d33;background:linear-gradient(135deg,#a4efda,#56d4b3);border-color:#7ee4c6;font-weight:650}@media (max-width:360px){.charger-network-context{gap:3px;padding:5px;font-size:10px}.charger-network-context.charger-network-all-context{font-size:14px}}.dashboard{--telemetry-offset:0px}.dashboard[data-telemetry-open=true]:not([data-charger-preview=true]){--telemetry-offset:var(--telemetry-panel-width)}.dashboard>.topbar{margin-left:var(--telemetry-offset);transition:margin-left .3s cubic-bezier(.22,1,.36,1);container:top-controls/inline-size}.dashboard>.bottom-navigation{left:var(--telemetry-offset);transition:left .3s cubic-bezier(.22,1,.36,1),grid-template-columns .3s;container:bottom-controls/inline-size}.dashboard[data-telemetry-open=true]>.topbar{grid-template-columns:24px minmax(28px,1fr) auto;gap:2px;padding-inline:4px}.dashboard[data-telemetry-open=true]>.topbar .brand{width:24px;font-size:32px}.dashboard[data-telemetry-open=true]>.topbar .fullscreen-toggle{width:28px;height:36px;padding:5px}.dashboard[data-telemetry-open=true]>.topbar .top-actions{gap:0}.dashboard[data-telemetry-open=true]>.topbar .soc-toggle{min-width:0;padding:2px;font-size:clamp(10px,8cqw,18px)}.dashboard[data-telemetry-open=true]>.topbar .appearance-toggle{width:36px;height:36px}.dashboard[data-telemetry-open=true]>.topbar .view-emblem{width:28px;height:28px}.dashboard[data-telemetry-open=true]>.map-area>.map-corner-toggle{display:none}.dashboard[data-telemetry-open=true]>.planner-stack{left:calc(var(--telemetry-offset) + (100% - var(--telemetry-offset)) / 2);max-width:calc(100% - var(--telemetry-offset))}.dashboard[data-telemetry-open=true]:is([data-search-open=true],[data-planner-open=true])>.planner-stack{width:calc(100% - var(--telemetry-offset))}.dashboard[data-telemetry-open=true]>.navigation-status{left:calc(var(--telemetry-offset) + 10px)}.dashboard[data-telemetry-open=true]>.appearance-sheet{left:var(--telemetry-offset);width:calc(100% - var(--telemetry-offset))}.dashboard[data-telemetry-resizing=true]>:is(.topbar,.bottom-navigation){transition:none}.map-telemetry-panel{--telemetry-padding:clamp(4px,1.5cqh,14px);padding-top:env(safe-area-inset-top);padding-bottom:max(var(--telemetry-padding),env(safe-area-inset-bottom));grid-template-rows:minmax(0,min(48px,8cqh)) minmax(0,1fr)}.telemetry-heading{margin-left:calc(-1 * var(--telemetry-padding));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,var(--panel)),transparent);margin-right:-18px;position:relative;overflow:hidden}.telemetry-heading .telemetry-corner{background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 88%,var(--accent)),var(--panel));width:min(48px,8cqh);height:min(48px,8cqh);min-height:0;color:var(--accent);touch-action:manipulation;border:0;border-radius:0;padding:0;position:absolute;top:0}.telemetry-heading .telemetry-corner-settings{clip-path:polygon(0 0,100% 0,0 100%);left:0}.telemetry-heading .telemetry-corner-close{clip-path:polygon(0 0,100% 0,100% 100%);right:0}.telemetry-corner svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;width:100%;height:100%;display:block}.telemetry-heading .telemetry-corner:is(:hover,:focus-visible){background:var(--accent);color:var(--panel);outline:none}.telemetry-card-title{text-align:center;justify-content:center}.telemetry-module-content{text-align:center;align-items:center}.telemetry-module-value{justify-content:center}.telemetry-speed-card{grid-template-rows:minmax(0,1.8fr) minmax(0,1fr);gap:3px;height:100%;min-height:0;padding:clamp(2px,3cqh,8px) clamp(3px,3cqw,12px);display:grid}.speed-gauge{width:100%;height:100%;min-height:0;color:var(--muted);display:block;overflow:hidden}.speed-gauge-track,.speed-gauge-spectrum,.speed-gauge-ribbon{fill:none;stroke-linecap:round;stroke-linejoin:round}.speed-gauge-track{stroke:var(--muted);stroke-opacity:.12;stroke-width:15px}.speed-gauge-spectrum{stroke-width:10px;opacity:.18}.speed-gauge-ribbon{stroke-width:10px}.speed-gauge-shell{min-height:0;position:relative}.speed-gauge-value{text-align:center;letter-spacing:-1px;font-variant-numeric:tabular-nums;width:76%;font-size:clamp(14px,min(24cqh,25cqw),76px);font-weight:650;line-height:1;position:absolute;top:8%;left:0}.speed-gauge-clip{transition:width .5s cubic-bezier(.22,1,.36,1)}.speed-gauge-cursor{transition:transform .5s cubic-bezier(.22,1,.36,1),color .5s}.telemetry-speed-history{border-top:1px solid color-mix(in srgb,var(--metric-color) 15%,transparent)}.telemetry-speed-warning{text-align:center;background:color-mix(in srgb,var(--panel) 80%,transparent);width:100%;bottom:2px;left:0;right:auto}.topbar-readings .topbar-speed{color:#a9d6f0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:142px;padding:2px 0;display:grid}.topbar-readings .topbar-speed>.topbar-speed-live{flex-direction:column;gap:0;min-width:0;padding:0 3px;display:flex}.topbar-readings .topbar-speed>.topbar-speed-history{border-left:1px solid var(--border);background:linear-gradient(#89cffa0c,#0000);align-self:stretch;min-width:0;min-height:40px;padding:0 2px 10px 11px;display:block;position:relative}.topbar-speed-history .topbar-history-maximum,.topbar-speed-history .topbar-history-zero{color:var(--muted);font-size:7px;font-weight:500;line-height:1;position:absolute;left:1px}.topbar-history-maximum{top:3px}.topbar-history-zero{bottom:12px}.topbar-history-time{color:var(--muted);justify-content:space-between;gap:2px;font-size:7px;font-weight:500;line-height:1;display:flex;position:absolute;bottom:1px;left:3px;right:3px}.topbar-speed-history .telemetry-altitude-ridge{stroke-width:1.3px}.topbar-speed-history .telemetry-altitude-ridge-glow{stroke-width:4px}@media (max-width:560px){.topbar-readings .topbar-speed{flex:2;width:0}}.topbar-readings .speed-gauge-compact{height:26px}.topbar-readings .topbar-speed[data-overspeed=true]{color:#ff637c;box-shadow:inset 0 -3px #ff637c}.topbar-readings .topbar-speed[data-warning-pulse=true]:after{content:"";border-radius:inherit;pointer-events:none;animation:1.4s ease-in-out infinite telemetry-speed-warning;position:absolute;inset:0;box-shadow:inset 0 0 12px #ff426b88}.telemetry-module-editor{max-height:min(680px,calc(100dvh - 76px - env(safe-area-inset-top)))}@container telemetry-card (max-height:85px){.telemetry-module-content{justify-content:center}}@container bottom-controls (max-width:240px){.bottom-navigation .route-point,.bottom-navigation .route-via{padding:1px}.bottom-navigation .route-point-icon,.bottom-navigation .route-via>span,.route-action-slot .navigation-plan{border-radius:12px;width:min(40px,21cqw);min-width:0;height:40px;min-height:40px;padding:5px}.bottom-navigation svg{width:22px;height:22px}}@media (prefers-reduced-motion:reduce){.dashboard>:is(.topbar,.bottom-navigation),.speed-gauge-clip,.speed-gauge-cursor{transition:none}.topbar-speed[data-warning-pulse=true]:after{animation:none}}.dashboard[data-search-open=true]{--map-bottom-space:var(--search-height,calc(var(--navigation-height) + env(safe-area-inset-bottom)))}.dashboard[data-search-open=true]>.map-area{bottom:var(--map-bottom-space)}.dashboard[data-search-open=true]>:is(.map-compass-dock,.navigation-status){display:none}.dashboard[data-search-open=true]>.planner-stack,.dashboard[data-search-open=true][data-telemetry-open=true]>.planner-stack{left:var(--telemetry-offset);z-index:22;gap:0;width:auto;max-width:none;bottom:0;right:0;transform:none}.search-panel.search-dock{width:100%;max-height:none;box-shadow:none;pointer-events:none;background:0 0;border:0;border-radius:0;position:relative;overflow:visible}.search-dock .search-entry{width:100%;max-width:none;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:var(--panel);border-top:1px solid var(--border);pointer-events:auto;align-items:center;margin:0;display:grid;container:search-controls/inline-size}.search-dock .search-input{align-items:center;gap:6px;width:max-content;max-width:100%;margin:auto}.search-dock .search-field{flex:0 auto;min-width:0;position:relative}.search-dock .search-field[data-address-hidden=true]{min-height:44px}.search-dock .search-field[data-address-hidden=true] .search-matches{border-radius:12px;bottom:0}.search-dock .search-field[data-group-editing=true] .search-matches{max-height:var(--search-list-space);border-radius:12px;padding-top:6px;bottom:0}.search-dock .search-field[data-group-editing=true] .search-results-resize{display:none}.search-dock .search-measure{visibility:hidden;pointer-events:none;width:max-content;max-width:none;position:absolute}.search-dock .search-query-measure{white-space:pre;width:max-content;padding:0 52px 0 0;font-size:16px;display:block}.search-dock .search-result-size{width:max-content;min-width:96px;padding:0 12px}.search-dock .search-result-size strong{white-space:nowrap;font-size:13px;line-height:1.3;display:block}.search-dock .search-result-size small{white-space:nowrap;font-size:11px;line-height:1.3;display:block}.search-dock .search-input input{border-radius:12px;width:100%;height:44px;display:block}.search-dock .search-field[data-results-open=true] input{border-top-left-radius:0}.search-dock .search-input>button{background:var(--soft);width:40px;height:44px;min-height:44px;color:var(--muted);border:0;border-radius:12px;flex:0 0 40px;place-items:center;padding:8px;font-size:14px;display:grid}.search-dock .search-input .search-favorites-toggle[aria-expanded=true],.search-dock .search-input .search-gps{color:var(--accent)}.search-dock .search-input .search-gps svg{width:23px;height:23px}.search-dock .search-magnifier{top:12px}.search-dock .search-matches{--search-list-space:calc(100dvh - var(--topbar-height) - var(--top-panel-height,0px) - var(--map-bottom-space) - 32px);width:100%;max-width:100%;max-height:min(var(--search-list-height,144px),var(--search-list-space));border:1px solid var(--border);background:var(--panel);pointer-events:auto;border-radius:12px 12px 0 0;min-height:0;margin:0;padding:14px 3px 3px;position:absolute;bottom:calc(100% - 1px);left:0;overflow:hidden;transform:none;box-shadow:0 -4px 12px #0002}.search-dock .search-results{max-height:none;overflow:visible}.search-dock .search-results::-webkit-scrollbar{display:none}.search-dock .search-results-resize{cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;height:14px;position:absolute;top:0;left:0;right:0}.search-dock .search-results-resize:after{content:"";background:var(--muted);opacity:.4;border-radius:3px;width:32px;height:3px;margin:5px auto 0;display:block}.search-dock .search-results-resize:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.search-dock .search-results>button{border-radius:8px;grid-template-columns:minmax(0,1fr);gap:1px;min-height:34px;margin:0;padding:4px 9px;display:grid}.search-dock .search-results>button+button{margin-top:2px}.search-dock .search-results strong{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;line-height:1.3;overflow:hidden}.search-dock .search-results small{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.3;overflow:hidden}.search-dock .search-results .search-route-estimate{color:var(--accent);font-variant-numeric:tabular-nums}.search-dock .search-country{white-space:nowrap}.search-dock .search-country img{object-fit:contain;vertical-align:-2px;border-radius:1px;width:16px;height:12px;margin-right:4px;display:inline-block}.search-dock .search-favorites-reveal{pointer-events:auto;width:min(640px,100% - 16px);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.search-dock .favorites-band{border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:6px;box-shadow:0 4px 16px #0004}.search-dock .favorites-band-content{max-height:min(160px,24dvh)}@container search-controls (max-width:260px){.search-dock .search-input{gap:3px}.search-dock .search-input>button{flex-basis:28px;width:28px;padding:4px}.search-dock .search-input .search-gps,.search-dock .search-magnifier{display:none}.search-dock .search-input input{padding-left:8px}}@media (max-width:560px){.search-dock .search-results>button{grid-template-columns:minmax(0,1fr);gap:1px;padding:4px 8px}.search-dock .search-results strong{font-size:12px}.search-dock .search-results small{font-size:10px}}.search-dock .search-matches{flex-direction:column;display:flex}.search-tabs-band{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:3px;min-height:32px;padding:0 3px 3px;display:flex}.search-tabs-measure{gap:5px;width:max-content;max-width:680px;font-size:11px;display:flex;overflow:hidden}.search-tabs-measure span{white-space:nowrap;flex:none;padding:4px 8px}.search-favorite-tabs{scrollbar-width:none;flex:1;align-items:center;gap:3px;min-width:0;display:flex;overflow:auto}.search-favorite-tabs::-webkit-scrollbar{display:none}.search-tab-content::-webkit-scrollbar{display:none}.favorite-icon-grid::-webkit-scrollbar{display:none}.search-tabs-band button{min-height:30px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:7px;flex:none;justify-content:center;align-items:center;gap:5px;padding:4px 8px;font-size:11px;transition:background .18s,color .18s;display:flex}.search-tabs-band button[aria-selected=true]{background:var(--soft);color:var(--accent)}.search-tabs-band button:hover{background:var(--soft)}.search-tabs-band button svg{width:17px;height:17px}.search-tabs-band .search-tab-add{width:30px;color:var(--accent);padding:0;font-size:23px}.search-tabs-band .search-tab-edit{width:28px;padding:0;font-size:16px}.search-tab-content{overscroll-behavior:contain;scrollbar-width:none;flex:1;min-height:0;overflow:auto}.search-dock .favorites-band{max-width:none;box-shadow:none;background:0 0;border:0;border-radius:0;padding:6px 3px}.search-dock .favorites-band-content{max-height:none;overflow:visible}.search-dock .favorites-band .row>button{min-height:32px}.search-dock .favorites-band .favorite-row{align-items:center;display:flex}.search-dock .favorites-band .favorite-row>button:first-child{text-align:left;background:0 0;border:0;flex:1;min-width:0}.search-dock .favorites-band .favorite-row>button:not(:first-child){background:0 0;border:0;flex:none;width:30px;min-height:30px;padding:0}.search-dock .favorites-band .favorite-row strong,.search-dock .favorites-band .favorite-row small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.favorite-group-editor{gap:9px;padding:9px;font-size:11px;display:grid}.favorite-group-preview{color:var(--accent);justify-content:center;align-items:center;gap:8px;min-height:24px;display:flex}.favorite-group-preview svg{width:25px;height:25px}.favorite-group-editor label{color:var(--muted);gap:4px;min-width:0;display:grid}.search-dock .favorite-group-editor input:not([type=checkbox]),.favorite-group-editor select{border-radius:8px;width:100%;min-width:0;height:34px;min-height:34px;padding:5px 8px;font-size:12px}.favorite-group-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.favorite-icon-grid{scrollbar-width:none;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:4px;max-height:160px;display:grid;overflow:auto}.favorite-icon-grid button{background:var(--bg);border:1px solid var(--border);min-width:0;min-height:48px;color:var(--muted);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px;display:flex}.favorite-icon-grid button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--soft)}.favorite-icon-grid button svg{width:23px;height:23px}.favorite-icon-grid button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;overflow:hidden}.favorite-group-members{border:1px solid var(--border);border-radius:9px;min-width:0;margin:0;padding:7px}.favorite-group-members legend{color:var(--muted);padding:0 4px}.favorite-group-members label{flex-direction:row;align-items:center;gap:8px;min-height:30px;display:flex}.favorite-group-members input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--accent);flex:none;margin:0}.favorite-group-members span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.favorite-group-actions{background:var(--panel);justify-content:flex-end;align-items:center;gap:6px;padding:5px 0;display:flex;position:sticky;bottom:0}.favorite-group-actions button{min-height:32px;padding:5px 9px;font-size:11px}.favorite-group-actions .primary{color:var(--accent);background:var(--soft)}@media (prefers-reduced-motion:reduce){.search-tabs-band button{transition:none}}.search-tabs-band svg,.favorite-icon-grid svg,.favorite-group-preview svg{fill:currentColor;stroke:none}.search-history-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 34px;align-items:center;padding:3px;display:grid}.search-history-place{text-align:left;background:0 0;border:0;gap:2px;min-width:0;padding:5px 6px;display:grid}.search-history-place strong,.search-history-place small{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.search-history-place small{color:var(--muted);font-size:10px}.search-history-save{background:var(--soft);width:32px;min-height:32px;color:var(--accent);border:0;border-radius:9px;padding:6px}.search-history-folders{flex-wrap:wrap;grid-column:1/-1;gap:4px;padding:4px;display:flex}.search-history-folders button{min-height:30px;padding:4px 9px;font-size:11px}.search-history-saved{color:var(--accent);grid-column:1/-1;padding:3px 6px;font-size:10px}.search-history-list>p{text-align:center;color:var(--muted);font-size:12px}.search-home-actions{border-right:1px solid var(--border);flex:none;align-items:center;gap:1px;padding-right:3px;display:flex}.search-home-actions .search-home-edit{width:25px;padding:4px}.search-home-actions button[aria-pressed=true]{background:var(--soft);color:var(--accent)}.search-home-notice{color:var(--accent);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;margin:0;padding:8px;font-size:12px;display:flex}.search-home-notice small{color:var(--muted);font-size:10px;display:block}.search-home-notice button{min-height:28px;padding:3px 8px;font-size:11px}@container search-controls (max-width:420px){.search-tabs-band{flex-wrap:wrap}.search-favorite-tabs{flex-basis:100%;order:3}.search-tabs-band .search-tab-add{margin-left:auto}}.dashboard{--settings-panel-width:clamp(280px,24vw,340px);--settings-offset:0px}.dashboard[data-settings-open=true]:not([data-charger-preview=true]){--settings-offset:var(--settings-panel-width)}.dashboard>.map-area{right:var(--settings-offset)}.dashboard>.topbar{margin-right:var(--settings-offset);transition:margin-left .3s cubic-bezier(.22,1,.36,1),margin-right .3s cubic-bezier(.22,1,.36,1)}.dashboard>.bottom-navigation{right:var(--settings-offset);transition:left .3s cubic-bezier(.22,1,.36,1),right .3s cubic-bezier(.22,1,.36,1),grid-template-columns .3s}.dashboard[data-settings-open=true]>.planner-stack{left:calc(var(--telemetry-offset) + (100% - var(--telemetry-offset) - var(--settings-offset)) / 2);max-width:calc(100% - var(--telemetry-offset) - var(--settings-offset))}.dashboard[data-settings-open=true]:is([data-search-open=true],[data-planner-open=true])>.planner-stack{width:calc(100% - var(--telemetry-offset) - var(--settings-offset))}.dashboard[data-settings-open=true]>.appearance-sheet{left:var(--telemetry-offset);width:calc(100% - var(--telemetry-offset) - var(--settings-offset))}.settings-sidebar{z-index:22;width:var(--settings-panel-width);border-left:1px solid var(--border);background:var(--panel);min-height:0;padding-top:env(safe-area-inset-top);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-8px 0 28px #07122220}.settings-sidebar-heading{min-height:56px;color:var(--text);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,var(--panel)),transparent);flex:none;align-items:center;gap:9px;padding:0 56px 0 16px;display:flex;position:relative}.settings-sidebar-heading>svg{width:19px;height:19px;color:var(--accent);flex:none}.settings-sidebar-heading>strong{font-size:14px}.settings-sidebar-close{clip-path:polygon(0 0,100% 0,100% 100%);background:linear-gradient(225deg,color-mix(in srgb,var(--panel) 88%,var(--accent)),var(--panel));width:56px;height:56px;min-height:0;color:var(--accent);border:0;border-radius:0;padding:0;position:absolute;top:0;right:0}.settings-sidebar-close svg{fill:none;width:100%;height:100%}.settings-sidebar-close:is(:hover,:focus-visible){color:var(--panel);background:var(--accent);outline:none}.map-area>.map-settings-toggle{clip-path:polygon(0 0,100% 0,100% 100%);background:linear-gradient(225deg,color-mix(in srgb,var(--panel) 88%,var(--accent)),var(--panel) 75%);border-radius:0;width:56px;height:56px;padding:0;top:0;left:auto;right:0}.map-area>.map-settings-toggle svg{width:100%;height:100%}.dashboard[data-telemetry-open=true]>.map-area>.map-settings-toggle{display:block}.dashboard[data-settings-open=true]>.map-area>.map-settings-toggle{display:none}.settings-sidebar .layers-panel.layer-palette{width:100%;min-height:0;max-height:none;padding:4px 14px max(18px,env(safe-area-inset-bottom));box-shadow:none;border:0;border-radius:0;flex:1;position:relative;inset:auto;overflow:hidden auto}.settings-sidebar .layer-palette-body{flex-direction:column;gap:20px;max-width:none;margin:0;display:flex}.settings-sidebar .layer-modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin:0;display:grid}.settings-sidebar .layer-modes .layer-tile{min-height:78px}.settings-sidebar .layer-modes .layer-art{height:52px}.settings-sidebar .layer-modes .layer-scene{width:80px;max-width:100%;height:53px}.settings-sidebar .layer-modes .layer-caption{justify-content:center;padding:0 3px 9px}.settings-sidebar .layer-grid{flex-direction:column;gap:20px;width:100%;display:flex}.settings-sidebar .charger-control{width:100%;padding:10px}.charger-display-heading{margin:2px 2px 10px;font-size:14px}.charger-power-key{color:var(--muted);flex-wrap:wrap;gap:6px 12px;margin:0 2px 12px;font-size:10px;display:flex}.charger-power-key span{align-items:center;gap:5px;display:flex}.charger-power-key i{border-radius:50%;width:8px;height:8px}.charger-layer-toggles{border:1px solid var(--border);--charging-map-ground:color-mix(in srgb,var(--panel) 85%,#34836b);--charging-map-block:color-mix(in srgb,var(--panel) 76%,#739d8e);--charging-map-road:color-mix(in srgb,var(--panel) 60%,#a7cabf);--charging-map-river:color-mix(in srgb,var(--panel) 68%,#479cba);border-radius:14px;flex-direction:column;display:flex;position:relative;overflow:hidden}.charging-map-preview{width:100%;height:100%;position:absolute;inset:0}.charging-map-pins,.charging-map-density{transition:opacity .25s}.charger-layer-card{width:100%;height:134px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;flex-direction:column;flex:none;justify-content:space-between;padding:0;display:flex;position:relative}.charger-layer-card+.charger-layer-card{border-top:1px solid var(--border)}.charger-layer-card[aria-pressed]{color:var(--text);background:0 0}.charger-layer-title{background:color-mix(in srgb,var(--panel) 94%,transparent);align-items:center;gap:8px;width:100%;padding:10px;display:flex}.charger-layer-title>strong{flex:1;font-size:13px}.charger-layer-status{color:var(--muted);font-size:9px}.charger-layer-card[aria-pressed=true] .charger-layer-status{color:var(--tile-color)}.charger-layer-description{background:color-mix(in srgb,var(--panel) 90%,transparent);border-radius:6px;align-self:flex-start;max-width:100%;margin:0 6px 6px;padding:5px 9px;font-size:10px;line-height:1.4}.charger-layer-card[aria-pressed]:is(:hover,:focus-visible){background:color-mix(in srgb,var(--tile-color) 8%,transparent);outline:2px solid var(--tile-color);outline-offset:-2px}.charger-filter-heading{border-top:1px solid var(--border);flex-direction:column;gap:5px;margin:16px 2px 0;padding-top:14px;display:flex}.charger-filter-heading strong{font-size:12px}.charger-filter-heading small{color:var(--muted);font-size:11px;line-height:1.5}.charger-route-filter{gap:6px;margin:12px 2px;display:grid}.charger-route-filter label{gap:6px;font-size:12px;display:grid}.charger-route-filter select{width:100%;min-width:0;font-size:12px}.charger-route-filter small{color:var(--muted);font-size:11px;line-height:1.5}.charger-arrival-details{border:1px solid var(--border);border-radius:10px;padding:10px}.charger-layer-switch{background:color-mix(in srgb,var(--muted) 25%,var(--panel));border-radius:20px;flex:none;width:28px;height:16px;padding:3px;transition:background .2s;display:block}.charger-layer-switch>span{background:var(--muted);border-radius:50%;width:10px;height:10px;transition:transform .2s,background .2s;display:block}.charger-layer-card[aria-pressed=true] .charger-layer-switch{background:var(--tile-color)}.charger-layer-card[aria-pressed=true] .charger-layer-switch>span{background:#153a35;transform:translate(12px)}.charger-network-trigger{border:1px solid var(--border);background:var(--tile-surface);width:100%;min-height:66px;color:var(--text);text-align:left;border-radius:14px;align-items:center;gap:10px;margin-top:12px;padding:6px 8px;display:flex}.charger-network-trigger .network-logo-bubbles{border-radius:10px;flex:none;width:58px;height:50px;position:relative;inset:auto;overflow:hidden}.charger-network-trigger>span:nth-child(2){flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.charger-network-trigger strong{font-size:12px}.charger-network-trigger small{color:var(--muted);font-size:10px}.charger-network-trigger>svg{flex:none;width:18px;height:18px}.charger-network-trigger[aria-expanded=true]{border-color:var(--tile-color)}.charger-network-shortcuts{flex-direction:column;gap:8px;padding:12px 0;display:flex}.charger-network-shortcuts .charger-network-favorites-actions,.charger-network-shortcuts .charger-network-context,.charger-network-shortcuts .charger-favorites-edit{width:auto;position:static}.charger-network-shortcuts .charger-network-favorites-actions{flex-direction:row;flex:1;gap:6px;display:flex}.charger-network-shortcuts .charger-network-context{flex:1;min-height:36px;padding:6px 10px}.charger-network-shortcuts .charger-favorites-edit{min-height:36px}.charger-network-shortcuts .charger-network-context.charger-network-all-context{flex-direction:row;align-self:stretch;font-size:12px}.charger-network-help{color:var(--muted);margin:0 2px 10px;font-size:11px;line-height:1.5}.settings-sidebar .charger-network-tiles{grid-template-columns:repeat(3,minmax(0,1fr));max-height:none;overflow:visible}.settings-sidebar .charger-network-tiles>button{min-height:76px;font-size:10px;position:relative}.settings-sidebar .charger-network-tiles>button[aria-pressed=true]:after{content:"✓";color:#153a35;background:#4de0bc;border-radius:50%;width:14px;height:14px;font-size:10px;font-weight:750;position:absolute;top:3px;right:4px}.charger-power-heading{color:var(--muted);margin:14px 0 8px;font-size:10px;font-weight:650}.settings-sidebar .charger-presets button{flex-direction:column;gap:3px;min-height:44px}.settings-sidebar .layer-secondary{flex-direction:column;gap:10px;width:100%;padding:0 0 4px;display:flex;overflow:visible}.settings-sidebar .layer-grid:not(:has(.charger-control)) .layer-secondary{flex-direction:column;gap:10px;width:100%;padding:0 0 4px;display:flex;overflow:visible}.settings-sidebar .layer-secondary .layer-tile{flex-direction:row;flex:none;justify-content:flex-start;align-items:center;width:100%;height:auto;min-height:66px}.settings-sidebar .layer-secondary .layer-art{flex:none;width:86px;height:60px}.settings-sidebar .layer-secondary .layer-scene{width:90px;height:60px}.settings-sidebar .layer-secondary .layer-caption{flex-direction:row;justify-content:flex-start;padding:0 12px}.settings-sidebar .layer-secondary .layer-label{font-size:12px}.dashboard[data-charger-preview=true]>.settings-sidebar{visibility:hidden;pointer-events:none}@media (max-width:900px){.dashboard{--settings-panel-width:min(320px,calc(100vw - 56px))}.dashboard[data-settings-open=true]:not([data-charger-preview=true]){--settings-offset:0px}.settings-sidebar{box-shadow:-12px 0 40px #07122255}}@media (prefers-reduced-motion:reduce){.dashboard>:is(.map-area,.topbar,.bottom-navigation),.charger-layer-switch,.charger-layer-switch>span{transition:none}}.dashboard{--sidebar-heading-height:calc(var(--topbar-height) - env(safe-area-inset-top))}.map-telemetry-panel{grid-template-rows:var(--sidebar-heading-height) minmax(0,1fr)}.telemetry-heading,.settings-sidebar-heading{height:var(--sidebar-heading-height);min-height:var(--sidebar-heading-height);border-bottom:1px solid var(--border);background:var(--panel)}.telemetry-heading{justify-content:center}.telemetry-heading>strong{margin-inline:var(--sidebar-heading-height);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.settings-sidebar-heading{padding:0 var(--sidebar-heading-height);justify-content:center}.settings-sidebar-heading>strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.telemetry-heading .sidebar-corner,.settings-sidebar-heading .sidebar-corner{width:var(--sidebar-heading-height);height:var(--sidebar-heading-height);min-height:0;color:var(--accent);background:color-mix(in srgb,var(--panel) 94%,var(--accent));touch-action:manipulation;border:0;border-radius:0;padding:0;position:absolute;top:0}.sidebar-corner-settings{clip-path:polygon(0 0,100% 0,0 100%);left:0}.sidebar-corner-close{clip-path:polygon(0 0,100% 0,100% 100%);right:0}.sidebar-corner svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;width:100%;height:100%;display:block}.telemetry-heading .sidebar-corner:is(:hover,:focus-visible),.settings-sidebar-heading .sidebar-corner:is(:hover,:focus-visible){color:var(--panel);background:var(--accent);outline:none}.active-vehicle-picker{flex-direction:column;gap:6px;width:100%;padding-top:8px;display:flex}.active-vehicle-picker>span{color:var(--muted);font-size:10px;font-weight:650}.active-vehicle-picker select{border:1px solid var(--border);width:100%;min-height:40px;color:var(--text);background:var(--panel);border-radius:12px;padding:8px 10px;font-size:13px}.vehicle-settings-panel{overscroll-behavior:contain;width:100%;min-height:0;padding:4px 14px max(18px,env(safe-area-inset-bottom));background:var(--panel);color:var(--text);scrollbar-width:thin;flex:1;overflow:hidden auto}.vehicle-list{flex-direction:column;gap:6px;padding-top:12px;display:flex}.vehicle-list-row{border:1px solid var(--border);background:var(--soft);border-radius:12px;align-items:center;min-height:46px;display:flex;overflow:hidden}.vehicle-list-row[data-selected=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.vehicle-list-select,.vehicle-list-select[aria-pressed=true]{min-width:0;min-height:44px;color:var(--text);text-align:left;overflow-wrap:anywhere;background:0 0;border:0;border-radius:0;flex:1;padding:10px;font-size:13px;font-weight:650}.vehicle-list-delete{border:0;border-left:1px solid var(--border);width:44px;height:44px;color:var(--accent);background:0 0;border-radius:0;flex:none;justify-content:center;align-items:center;padding:11px;display:flex}.vehicle-list-delete svg{width:21px;height:21px}.vehicle-list-delete:is(:hover,:focus-visible){background:var(--soft)}.vehicle-delete-notice{justify-content:space-between;align-items:center;gap:8px;margin-top:10px;font-size:11px;display:flex}.vehicle-delete-notice span{overflow-wrap:anywhere;min-width:0}.vehicle-delete-notice button{background:var(--soft);min-height:36px;color:var(--accent);flex:none;padding:6px 8px;font-size:11px}.vehicle-empty{color:var(--muted);margin:12px 0;font-size:12px}.vehicle-add{border:1px dashed var(--border);width:100%;min-height:42px;color:var(--accent);background:0 0;margin-top:10px}.vehicle-form{border-top:1px solid var(--border);margin-top:16px;padding-top:4px}.vehicle-form h3{margin:12px 0;font-size:14px}.vehicle-form .field{margin:14px 0;font-size:12px}.vehicle-form .field>span{font-size:12px}.vehicle-form .field input:not([type=range]),.vehicle-form .field select{background:var(--soft);width:100%;min-height:40px}.vehicle-charging-rules{border-top:1px solid var(--border);margin-top:20px;padding-top:4px}.vehicle-form>p{color:var(--muted);font-size:11px;line-height:1.5}.vehicle-form-actions{padding:12px 0 max(12px,env(safe-area-inset-bottom));background:var(--panel);position:sticky;bottom:-18px}.vehicle-form-actions>p{color:var(--accent);margin:0 0 8px;font-size:11px}.vehicle-form-actions>button{width:100%;min-height:44px;color:var(--panel);background:var(--accent);font-weight:650}.telemetry-resize-handle{top:var(--topbar-height)}
