*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af}input::placeholder,textarea::placeholder{color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline{display:inline}.table{display:table}.grid{display:grid}.hidden{display:none}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-width:1px}.lowercase{text-transform:lowercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{color-scheme:light;--teal-50:#f4f4f5;--teal-200:#d5d3d4;--teal-300:#b3b2b7;--teal-400:#8e8e95;--teal-500:#5c5c66;--teal-700:#0f0f1c;--sand-50:#ffffff;--sand-100:#fafafa;--sand-200:#f2f1f1;--sand-300:#d5d3d4;--ink-900:#000d10;--ink-700:#2a2a33;--ink-500:#66666e;--ink-300:#a9a8ae;--amber-500:#bc7155;--amber-600:#a35d43;--slate-400:#8e8e95;--olive-rgb:63 74 38;--olive-700:rgb(var(--olive-rgb));--olive-800:#2f3a1c;--olive-600:#55662f;--olive-050:#eef0e7;--green-600:#000d10;--gold-700:#8f5a3e;--red-600:#9a3324;--background:var(--sand-50);--surface:#ffffff;--surface-soft:var(--sand-200);--surface-raised:var(--sand-100);--ink:var(--ink-900);--muted:var(--ink-500);--line:var(--sand-300);--line-strong:#8e8e95;--primary:var(--ink-900);--primary-soft:#f2f1f1;--on-primary:#ffffff;--action:var(--olive-700);--action-hover:var(--olive-800);--action-soft:var(--olive-050);--on-action:#ffffff;--route-active:var(--ink-900);--route-alt:var(--slate-400);--route-detour:var(--amber-500);--saving:var(--green-600);--fuel:var(--amber-500);--warning:var(--gold-700);--danger:var(--red-600);--danger-soft:#faf3f1;--focus-ring:var(--amber-600);--tone-saving-bg:#f5f5f5;--tone-saving-line:#d5d3d4;--tone-saving-line-soft:#e2e0e1;--tone-warning-bg:#fbf5f2;--tone-warning-line:#e4cabd;--tone-warm-bg:#fdf8f6;--tone-arrival-bg:#fbf6f3;--tone-arrival-line:#e6d0c5;--tone-forecast-bg:#fbf6f4;--tone-danger-line:#e0b3a9;--tone-info-bg:#f4f4f5;--tone-info-line:#d5d3d4;--tone-info-ink:#151623;--tone-open-bg:var(--olive-050);--tone-open-line:#bcc0b3;--tone-open-ink:var(--olive-800);--map-void:#e9e8e9;--marker-ring:#ffffff;--media-placeholder:#eceaeb;--media-scrim:rgb(0 13 16/20%);--summary-bg-end:#ffffff;--tag-bg:#f0f1f1;--tag-line:#dcdedf;--badge-bg:#f7f6f7;--badge-line:#c1c1c5;--alt-metric-line:#dedcdd;--route-metric-line:#d9d7d8;--fact-tile-bg:#f4f4f5;--export-panel-bg:#fafafa;--export-glow:transparent;--price-panel-bg:#fbf5f2;--hint-bg:#151623;--mobile-header-line:#d5d3d4;--popup-surface:#ffffff;--popup-edge:#d5d3d4;--popup-line:#d5d3d4;--popup-ink:#000d10;--popup-ink-soft:#3a3a42;--popup-ink-muted:var(--ink-500);--popup-close-ink:#151623;--popup-fact-bg:#f4f4f5;--popup-head-bg:#0f0f1c;--popup-head-ink:#ffffff;--popup-rank-bg:#22222d;--popup-rank-ink:#d9d9dc;--popup-open-ink:#000d10;--popup-open-dot:#bc7155;--font-sans:var(--font-inter-latin),var(--font-inter-ext),ui-sans-serif,system-ui,sans-serif;--text-xs:0.875rem;--text-sm:1.0625rem;--text-base:1.125rem;--text-md:1.25rem;--text-lg:1.4375rem;--text-xl:1.875rem;--text-2xl:2.3125rem;--text-3xl:3.25rem;--text-4xl:3.9375rem;--leading-tight:1;--leading-snug:1.09;--leading-normal:1.61;--tracking-lg:-0.01em;--tracking-display:-0.02em;--text-2xs:13px;--text-3xs:12.5px;--text-4xs:12px;--text-5xs:11px;--text-6xs:10.5px;--text-7xs:10px;--text-8xs:9px;--text-xs-px:14px;--text-sm-px:15px;--text-base-px:17px;--text-glyph-sm:16px;--text-glyph-lg:2.3125rem;--text-price:1.4375rem;--text-display-sm:1.4375rem;--text-hero:clamp(2.3125rem,12vw,var(--text-4xl));--space-1:4px;--space-2:8px;--space-3:13px;--space-4:16px;--space-5:22px;--space-6:26px;--space-8:34px;--space-10:38px;--space-12:52px;--space-16:68px;--radius-2xs:0;--radius-xs:0;--radius-sm:0;--radius-panel:0;--radius-md:0;--radius-badge:999px;--radius-popup:0;--radius-card:0;--radius-lg:0;--radius-pill:999px;--shadow-1:none;--shadow-2:none;--shadow-3:none;--shadow-4:none;--shadow-card:none;--shadow-control:none;--shadow-tile:none;--shadow-tag:none;--shadow-selection:none;--shadow-route-icon:none;--shadow-rank:none;--shadow-row:none;--shadow-row-selected:0 0 0 1px var(--ink-900);--shadow-price-panel:none;--shadow-action:none;--shadow-action-hover:none;--shadow-choice:none;--shadow-choice-hover:none;--shadow-marker:0 0 0 1px var(--ink-900);--shadow-pin:0 0 0 1px var(--ink-900);--shadow-map-marker:0 0 0 1px var(--ink-900);--shadow-popup:0 0 0 1px var(--ink-900);--shadow-overlay-bottom:none;--shadow-hint-ring:none;--ease-standard:ease;--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);--ease-drawer:cubic-bezier(0.32,0.72,0,1);--dur-press:160ms;--dur-fast:140ms;--dur-base:240ms;--dur-collapse:400ms;--glass-bg-strong:#ffffff;--glass-border:#8e8e95;--overlay-width:504px;--glass-tint-05:rgb(0 13 16/5%);--glass-tint-14:#242f31;--glass-tint-35:#fafafa;--glass-tint-45:#fafafa;--glass-tint-54:#fafafa;--glass-tint-74:#ffffff;--glass-tint-75:#ffffff;--glass-tint-76:#ffffff;--glass-tint-78:#ffffff;--glass-tint-82:#ffffff;--glass-tint-88:#ffffff;--glass-tint-90:#ffffff;--glass-tint-92:#ffffff;--glass-tint-94:#ffffff;--glass-tint-96:#ffffff;--glass-tint-97:#ffffff}*{box-sizing:border-box}::-moz-selection{background:var(--ink-900);color:#ffffff}::selection{background:var(--ink-900);color:#ffffff}body,html{min-height:100%;background:var(--background);color:var(--ink);font-family:var(--font-sans);scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin}body{margin:0;font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,summary{font:inherit}[role=button],[role=radio],[role=switch],a,button,label,summary{touch-action:manipulation}button{-webkit-user-select:none;-moz-user-select:none;user-select:none}select{--select-chevron-inset:16px;--select-chevron-room:42px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%232a2a33' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right var(--select-chevron-inset) center;background-repeat:no-repeat;background-size:12px 12px}input,textarea{caret-color:var(--ink-900)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--muted);opacity:1}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}[role=radio]:focus-visible,[role=switch]:focus-visible,[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.station-facts dd,.station-price,.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;margin:0}html:has(.planner,.station-shell),html:has(.planner,.station-shell) body{overscroll-behavior:none}.app-main{flex:1 1 auto;min-height:0}.home-shell{min-height:100%}.planner{--rail-gutter:var(--space-6);--rail-inset:var(--space-5);--map-frame:rail;position:relative;display:grid;width:100%;height:100dvh;min-height:560px;grid-template-columns:var(--rail-inset) var(--overlay-width) minmax(0,1fr);grid-template-rows:var(--rail-inset) auto minmax(0,1fr) var(--rail-inset);background:var(--surface);overflow:hidden}.planner-map{position:absolute;inset:0;background:var(--map-void)}.planner-map .maplibregl-map{font-family:var(--font-sans)}.map-canvas,.map-canvas.maplibregl-map{position:absolute;inset:0}.maplibregl-marker{cursor:pointer}.maplibregl-map .maplibregl-ctrl-bottom-left,.maplibregl-map .maplibregl-ctrl-bottom-right,.maplibregl-map .maplibregl-ctrl-top-left,.maplibregl-map .maplibregl-ctrl-top-right{z-index:500}.maplibregl-map .maplibregl-ctrl-bottom-left,.maplibregl-map .maplibregl-ctrl-bottom-right{padding-bottom:env(safe-area-inset-bottom,0)}.maplibregl-map .maplibregl-ctrl-bottom-left,.maplibregl-map .maplibregl-ctrl-top-left{padding-left:env(safe-area-inset-left,0)}.maplibregl-map .maplibregl-ctrl-bottom-right,.maplibregl-map .maplibregl-ctrl-top-right{padding-right:env(safe-area-inset-right,0)}.maplibregl-map .maplibregl-ctrl-group:not(:empty){border:1px solid var(--glass-border);border-radius:0;box-shadow:none}.maplibregl-map .maplibregl-ctrl-group button{position:relative}.maplibregl-map .maplibregl-ctrl-group button+button{border-top-color:var(--line)}.maplibregl-map .maplibregl-ctrl-group button:focus:focus-visible{border-radius:0;outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:none}@media (pointer:coarse){.maplibregl-map .maplibregl-ctrl-group button:after{position:absolute;inset:0 -8px;content:""}.maplibregl-map .maplibregl-ctrl-group button:first-child:after{top:-8px}.maplibregl-map .maplibregl-ctrl-group button:last-child:after{bottom:-8px}.map-credits-button:after{position:absolute;inset:-9px;content:""}}.map-left-out{top:50%;transform:translate(-50%,-50%)}.map-basemap-note,.map-left-out{position:absolute;z-index:500;left:50%;border-radius:var(--radius-sm);background:var(--glass-tint-92);padding:4px 10px;color:var(--muted);font-size:var(--text-2xs);box-shadow:var(--shadow-1)}.map-basemap-note{bottom:calc(var(--space-3) + env(safe-area-inset-bottom, 0px));transform:translateX(-50%)}body:has(.consent-banner) .map-basemap-note{bottom:calc(var(--space-3) + env(safe-area-inset-bottom, 0px) + var(--consent-banner-height, 0px) + var(--space-2))}.map-overlay-controls{position:absolute;z-index:500;top:10px;right:10px;display:grid;gap:var(--space-2)}.map-shell.has-overlay-controls .maplibregl-ctrl-top-right{top:39px}.map-view-toggle{position:relative;display:grid;width:31px;height:31px;place-items:center;border:1px solid var(--glass-border);border-radius:0;background:var(--surface);color:var(--ink-700);padding:0;cursor:pointer}.map-view-toggle:after{position:absolute;inset:-8px;content:""}.map-view-toggle svg{width:18px;height:18px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9}.map-credits{position:relative}.map-credits-button{position:relative;display:block;width:26px;height:26px;border:0;border-radius:var(--radius-pill);background:var(--glass-tint-92);color:var(--muted);padding:0;box-shadow:var(--shadow-1);cursor:pointer}.map-credits-button svg{display:block;width:18px;height:18px;margin:4px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-width:1.8}@media (hover:hover) and (pointer:fine){.map-credits-button:hover{color:var(--ink-700)}}.map-credits-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.map-credits-panel{position:absolute;right:0;bottom:calc(100% + var(--space-2));display:grid;width:252px;gap:var(--space-2);border-radius:var(--radius-sm);background:var(--glass-tint-96);padding:var(--space-3);box-shadow:var(--shadow-2);text-align:left}.map-credits-panel[hidden]{display:none}.maplibregl-ctrl-top-left .map-credits-panel,.maplibregl-ctrl-top-right .map-credits-panel{top:calc(100% + var(--space-2));bottom:auto}.maplibregl-ctrl-bottom-left .map-credits-panel,.maplibregl-ctrl-top-left .map-credits-panel{right:auto;left:0}.map-credits-panel p{margin:0;color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-normal)}.map-credits-panel a{color:inherit;text-decoration:underline;text-underline-offset:2px}@media (hover:hover) and (pointer:fine){.map-credits-panel a:hover{color:var(--ink-700)}}.map-credits-consent{border:0;border-top:1px solid var(--line);background:transparent;padding:var(--space-2) 0 0;color:var(--ink);font:inherit;font-size:var(--text-xs);font-weight:700;text-align:left;text-decoration:underline;text-underline-offset:2px;cursor:pointer}@media (hover:hover) and (pointer:fine){.map-credits-consent:hover{color:var(--ink-700)}}.map-credits-consent:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.map-shell.is-pickable,.planner-map.is-pickable{cursor:crosshair}.planner-bar{position:relative;z-index:620;display:grid;width:100%;grid-area:2/2;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-3);border:1px solid var(--line);border-bottom-color:var(--line-strong);background:var(--surface);padding:var(--space-3) var(--rail-gutter)}.planner-bar-home{display:grid;min-height:40px;place-items:center;border:0;background:transparent;padding:0;color:var(--ink);cursor:pointer}.planner-bar-logo{display:block;width:74px;height:32px}.planner-steps{display:grid;min-width:0}.planner-step-list{display:grid;margin:0;grid-auto-flow:column;grid-auto-columns:minmax(0,auto);align-items:center;justify-content:space-between;gap:var(--space-1);padding:0;list-style:none}.planner-step-list>li{display:grid;min-width:0}.planner-step{position:relative;display:flex;min-width:0;min-height:34px;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:transparent;padding:0 var(--space-2);color:var(--ink);font:inherit;font-size:var(--text-5xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.planner-step-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (hover:hover) and (pointer:fine){.planner-step:hover{border-color:var(--ink)}}.planner-step[aria-current=step]{border-color:var(--action);background:var(--action);color:var(--on-action)}.planner-step[aria-disabled=true]{border-color:transparent;background:transparent;color:var(--ink-300);cursor:default}.map-pick-hint{position:absolute;z-index:800;right:var(--space-5);bottom:var(--space-5);left:calc(var(--rail-inset) + var(--overlay-width) + var(--space-5));display:flex;max-width:520px;min-height:52px;align-items:center;gap:var(--space-3);margin-inline:auto;border:1px solid var(--glass-tint-35);border-radius:var(--radius-md);background:var(--hint-bg);padding:var(--space-2) var(--space-3);color:var(--on-primary);font-size:var(--text-sm);font-weight:700}.map-pick-dot{flex:0 0 auto;width:9px;height:9px;border:2px solid var(--marker-ring);border-radius:50%;box-shadow:var(--shadow-hint-ring)}.map-pick-text{flex:1 1 auto;min-width:0}.map-pick-cancel{flex:0 0 auto;min-height:40px;border:1px solid var(--glass-tint-35);border-radius:var(--radius-pill);background:transparent;color:inherit;padding:0 var(--space-3);font:inherit;font-weight:700;cursor:pointer}.planner-overlay{position:relative;z-index:550;display:flex;width:100%;max-height:100%;min-height:0;align-self:start;flex-direction:column;grid-area:3/2;border:1px solid var(--line);border-top:0;background:var(--surface);overflow-y:auto}.planner[data-stage=trip] .planner-overlay{overflow:visible}.step-active [tabindex="-1"]:focus{outline:none}.step-stack{position:sticky;z-index:2;top:0;display:grid;flex:0 0 auto;border-bottom:1px solid var(--line-strong);background:var(--surface);gap:0}.step-summary{display:grid;min-width:0;align-items:center;gap:0 var(--space-3);grid-template-columns:minmax(0,1fr) auto;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:var(--space-3) var(--rail-gutter);font:inherit;text-align:left;cursor:pointer}.step-summary:last-child{border-bottom:0}@media (hover:hover) and (pointer:fine){.step-summary:hover{background:var(--surface-raised)}}.step-summary-line{display:flex;min-width:0;align-items:baseline;gap:var(--space-2);overflow:hidden;white-space:nowrap}.step-summary-lead{overflow:hidden;color:var(--ink);font-size:var(--text-sm);font-weight:700;text-overflow:ellipsis}.step-summary-ends{display:flex;min-width:0;align-items:baseline;gap:var(--space-1)}.step-summary-place{min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis}.step-summary-place:last-child{max-width:50%;flex-shrink:0}.step-summary-arrow{flex:0 0 auto}.step-summary-detail{flex:0 0 auto;color:var(--muted);font-size:var(--text-xs)}.step-summary-detail:before{margin-right:var(--space-2);content:"·"}.step-summary-edit{display:grid;min-height:24px;flex:0 0 auto;place-items:center;border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--muted);padding:0 var(--space-3);font-size:var(--text-5xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}@media (hover:hover) and (pointer:fine){.step-summary:hover .step-summary-edit{border-color:var(--action);background:var(--action);color:var(--on-action)}}.step-summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.step-active{position:relative;display:flex;min-height:0;flex:1 0 auto;flex-direction:column}.planner[data-collapse] .planner-map{transform:translateY(var(--collapse-shift,0))}.planner[data-collapse=run] .planner-map{transform:none}@media (prefers-reduced-motion:no-preference){.planner[data-collapse=run] .planner-map{transition:transform var(--dur-collapse) var(--ease-out)}.step-stack .step-summary{animation:step-fold var(--dur-collapse) var(--ease-out) both}}@media (prefers-reduced-motion:no-preference) and (min-width:901px){.step-stack .step-summary{animation-duration:var(--dur-base)}}@media (prefers-reduced-motion:reduce){.glass-panel,.step-stack .step-summary{animation:panel-fade .15s ease-out both}}@keyframes panel-fade{0%{opacity:0}}@keyframes step-fold{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.glass-panel{position:relative;display:grid;width:100%;flex:1 0 auto;gap:var(--space-5);grid-template-rows:1fr auto;border:0;background:transparent;padding:var(--space-5) var(--rail-gutter) 0}@media (prefers-reduced-motion:no-preference){.glass-panel{animation:panel-in .2s cubic-bezier(.23,1,.32,1) both}}@keyframes panel-in{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}.glass-panel>.glass-panel-head{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.glass-panel-head{display:grid;align-content:start;gap:var(--space-3)}.glass-panel-title{margin:0;font-size:var(--text-2xl);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-lg)}.glass-panel-body{display:grid;min-height:0;align-content:start;gap:var(--space-4)}.panel-foot{position:sticky;z-index:2;bottom:0;display:flex;align-items:center;gap:var(--space-3);border-top:1px solid var(--line);background:var(--surface);padding:var(--space-4) 0 var(--space-5)}.panel-foot>.primary-button{flex:1 1 auto;min-width:0}.sheet{display:flex;width:100%;flex:1 0 auto;flex-direction:column;padding:var(--space-5) var(--space-6) 0}.trip-fields{border:1px solid var(--line-strong);background:var(--surface);grid-template-columns:minmax(0,1fr) 52px}.trip-field,.trip-fields{position:relative;display:grid;gap:0}.trip-field{min-height:96px;align-items:center;grid-template-columns:minmax(0,1fr) 48px;padding-left:var(--space-5)}.trip-field[data-endpoint=origin]{grid-area:1/1}.trip-fields .trip-field:has(.trip-locate){grid-template-columns:minmax(0,1fr) 44px 48px}.trip-field[data-endpoint=destination]{border-top:1px solid var(--line);grid-area:2/1}.trip-fields .typeahead{position:static;gap:var(--space-2)}.trip-fields .typeahead-status,.trip-map-pick span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.trip-fields .typeahead-status[data-error]{position:absolute;z-index:30;top:calc(100% + 6px);right:-1px;left:-1px;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-3);color:var(--danger);font-size:var(--text-sm);box-shadow:var(--shadow-2)}.trip-fields .typeahead-label{color:var(--muted);font-size:var(--text-5xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.trip-fields .typeahead-field{min-height:0;border:0;border-radius:0;background:transparent;padding:0}.trip-fields .typeahead-input,.trip-fields .typeahead-line{font-size:var(--text-sm)}.trip-fields .typeahead-input{min-height:48px}.trip-fields .typeahead-icon{width:13px;height:13px;border:2px solid var(--muted);border-radius:50%;font-size:0}.trip-field[data-endpoint=destination] .typeahead-icon{border-color:var(--primary);border-radius:2px}.trip-fields .typeahead-list{position:absolute;z-index:30;top:calc(100% + 6px);right:-1px;left:-1px;max-height:44dvh;border-color:var(--line-strong)}.trip-swap{display:grid;width:40px;height:40px;align-self:center;justify-self:center;place-items:center;grid-area:1/2/3/3;border:0;border-radius:50%;background:var(--surface);color:var(--muted);padding:0;cursor:pointer}.trip-map-pick{min-height:0;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);padding:0;font:inherit;cursor:pointer}.trip-locate,.trip-map-pick{display:grid;width:40px;height:40px}.trip-locate{place-items:center;justify-self:center;border:0;border-radius:50%;background:transparent;color:var(--muted);padding:0;cursor:pointer}.trip-locate svg{width:19px;height:19px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.trip-locate,.trip-map-pick,.trip-swap{transition:transform var(--dur-press) var(--ease-out),background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}@media (hover:hover) and (pointer:fine){.trip-locate:hover,.trip-map-pick:hover,.trip-swap:hover{color:var(--ink)}}.trip-map-pick[aria-pressed=true]{background:var(--action-soft);color:var(--action)}.trip-map-pick svg,.trip-swap svg{width:19px;height:19px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}@media (pointer:coarse){.trip-locate,.trip-map-pick,.trip-swap{position:relative}.trip-locate:after,.trip-map-pick:after,.trip-swap:after{position:absolute;inset:-4px;content:""}}.trip-foot{display:grid;align-items:stretch;grid-template-columns:minmax(0,1fr)}.trip-foot>.primary-button{flex:0 0 auto;min-height:52px;font-size:var(--text-base)}.route-foot>.switch{flex:0 0 auto}.route-foot>.route-retry{flex:1 1 auto;min-width:0}.vehicle-foot{flex-direction:column;align-items:stretch}.panel-foot .primary-button[aria-disabled=true]{cursor:wait;opacity:.8;box-shadow:none}@media (min-width:901px){.planner .step-summary-ends{flex:1 1 auto}}.panel-warning{display:grid;gap:var(--space-1);border:1px solid var(--tone-warning-line);border-left:4px solid var(--warning);border-radius:var(--radius-sm);background:var(--tone-warning-bg);color:var(--warning)}.panel-error,.panel-warning{margin:0;padding:var(--space-3);font-size:var(--text-sm);line-height:var(--leading-snug)}.panel-error{border:1px solid var(--tone-danger-line);border-left:4px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger)}.panel-error-code{display:block;margin-top:var(--space-1);font-size:var(--text-xs);opacity:.75}.ghost-button,.primary-button,.text-button{border-radius:var(--radius-pill);font-weight:700;cursor:pointer;transition:transform var(--dur-press) var(--ease-out),background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.primary-button{min-height:46px;width:100%;border:1px solid var(--action);background:var(--action);color:var(--on-action);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-1)}@media (hover:hover) and (pointer:fine){.primary-button:hover{border-color:var(--action-hover);background:var(--action-hover);box-shadow:var(--shadow-2)}}.primary-button:disabled{cursor:wait;opacity:.8;box-shadow:none}.ghost-button{min-height:42px;border:1px solid var(--glass-border);background:var(--glass-bg-strong);color:var(--primary);padding:var(--space-2) var(--space-4);box-shadow:var(--shadow-2)}@media (hover:hover) and (pointer:fine){.ghost-button:hover{border-color:var(--primary);background:var(--primary-soft)}}.text-button{border:0;background:transparent;color:var(--primary);font-size:var(--text-sm);padding:var(--space-1) var(--space-2)}@media (hover:hover) and (pointer:fine){.text-button:hover{text-decoration:underline}}@media (prefers-reduced-motion:no-preference){.locate-me-button:active:not(:disabled),.segmented-option:active,.stepper button:active:not(:disabled),.trip-locate:active,.trip-map-pick:active,.trip-swap:active{transform:scale(.95)}.ghost-button:active:not(:disabled),.primary-button:active:not(:disabled){transform:scale(.98)}}.typeahead{display:grid;gap:var(--space-1);position:relative}.typeahead-label{color:var(--ink);font-size:var(--text-sm);font-weight:700}.typeahead-field{display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);padding:0 var(--space-3);transition:border-color var(--dur-fast) var(--ease-standard)}.typeahead-field:focus-within{border-color:var(--primary)}.typeahead-icon{color:var(--ink-900);font-size:var(--text-md)}.typeahead-input{flex:1 1 auto;min-width:0;min-height:46px;border:0;background:transparent;color:var(--ink);outline:none}.typeahead-control{position:relative;display:flex;min-width:0;flex:1 1 auto;align-self:stretch;align-items:center}.typeahead-control .typeahead-input{width:100%;text-overflow:ellipsis}.typeahead-control[data-shows-lines] .typeahead-input{color:transparent}.typeahead-lines{position:absolute;inset:0;display:grid;min-width:0;align-content:center;gap:2px;pointer-events:none}.typeahead-line,.typeahead-line-detail{overflow:hidden;line-height:var(--leading-snug);text-overflow:ellipsis;white-space:nowrap}.typeahead-line{color:var(--ink)}.typeahead-line-detail{color:var(--muted);font-size:var(--text-xs)}.typeahead-input:focus-visible{outline:none}.trip-field:has(.typeahead-input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:-2px}.typeahead-spinner{width:16px;height:16px;border:2px solid var(--line-strong);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.typeahead-status{margin:0;min-height:16px;color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-snug)}.typeahead-list{position:relative;z-index:1;display:grid;gap:2px;max-height:264px;margin:0;padding:var(--space-1);list-style:none;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-2)}.typeahead-option{display:grid;gap:1px;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);cursor:pointer}.typeahead-option strong{font-size:var(--text-sm);font-weight:700;overflow-wrap:anywhere}.typeahead-option span{color:var(--muted);font-size:var(--text-xs)}.typeahead-option.is-active{background:var(--primary-soft)}.typeahead-option.is-active strong{color:var(--primary)}.switch{position:relative;display:inline-flex;min-height:44px;align-items:center;gap:var(--space-2);color:var(--ink);font-size:var(--text-sm);font-weight:700;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch>.switch-input{position:absolute;z-index:1;inset:0;width:100%;height:100%;min-height:0;margin:0;border:0;padding:0;opacity:0;cursor:inherit}.switch-track{position:relative;width:40px;height:24px;flex:0 0 auto;border-radius:var(--radius-pill);background:var(--line-strong);transition:background var(--dur-fast) ease}.switch-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-1);transition:transform var(--dur-fast) var(--ease-out)}.switch-input:checked+.switch-track{background:var(--action)}.switch-input:checked+.switch-track>.switch-thumb{transform:translateX(16px)}.switch-input:focus-visible+.switch-track{outline:2px solid var(--focus-ring);outline-offset:2px}.switch-input:disabled+.switch-track,.switch-input:disabled~.switch-label{opacity:.5}.switch:has(.switch-input:disabled){cursor:default}.switch-label{line-height:1.2}@media (prefers-reduced-motion:reduce){.switch-thumb,.switch-track{transition:none}}@media (forced-colors:active){.planner-step-list .planner-step[aria-current=step]{border-color:Highlight;background:Highlight;color:HighlightText;forced-color-adjust:none}.switch-track{border:1px solid CanvasText}.switch-thumb{background:CanvasText;forced-color-adjust:none}.switch-input:checked+.switch-track{background:Highlight;forced-color-adjust:none}.switch-input:checked+.switch-track>.switch-thumb{background:HighlightText}}.routing-source-badge{display:inline-flex;min-height:20px;align-items:center;border:1px solid var(--badge-line);border-radius:var(--radius-pill);background:var(--badge-bg);padding:2px 7px;color:var(--muted);font-size:var(--text-4xs);font-weight:700;line-height:1;letter-spacing:.01em;white-space:nowrap}.vehicle-form{display:grid;gap:var(--space-5)}.vehicle-control{display:grid;gap:var(--space-2)}.vehicle-control>label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);color:var(--ink);font-size:var(--text-sm);font-weight:700}.vehicle-control output{color:var(--primary);font-weight:700}.vehicle-control input[type=range]{width:100%;accent-color:var(--action)}.vehicle-control select{min-height:46px;width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background-color:var(--surface);color:var(--ink);padding:var(--space-2) var(--select-chevron-room) var(--space-2) var(--space-3)}.vehicle-manual-fields{display:grid;gap:var(--space-4);padding:var(--space-3)}.segmented-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.segmented-option{min-height:46px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:transform var(--dur-press) var(--ease-out),border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}@media (hover:hover) and (pointer:fine){.segmented-option:hover{border-color:var(--primary)}}.segmented-option.is-selected{border-color:var(--action);background:var(--action);color:var(--on-action)}.stepper{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;gap:var(--space-2)}.stepper button{min-height:46px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--primary);font-size:var(--text-lg);font-weight:700;cursor:pointer;transition:transform var(--dur-press) var(--ease-out),border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}@media (hover:hover) and (pointer:fine){.stepper button:hover{border-color:var(--primary);background:var(--primary-soft)}}.stepper input{min-height:46px;width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);text-align:center;font-weight:700}@media (prefers-reduced-motion:reduce){.route-export-link{transition:none}}.results-panel{gap:var(--space-3)}.route-export-link{display:grid;min-width:0;min-height:58px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--glass-tint-90);color:var(--primary);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-1);transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}@media (hover:hover) and (pointer:fine){.route-export-link:hover{border-color:var(--primary);background:var(--primary-soft);box-shadow:var(--shadow-2)}}.route-export-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.marker-pop{--marker-pop-scale:0.5;opacity:0;transform:var(--marker-rest-transform,) scale(var(--marker-pop-scale))}@media (prefers-reduced-motion:no-preference){.marker-pop{transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}}.marker-pop.is-in{--marker-pop-scale:1;opacity:1}.map-stop{display:grid;width:28px;height:28px;place-items:center;border:2px solid var(--marker-ring);border-radius:50%;background:var(--fuel);color:var(--on-primary);font-size:var(--text-sm);font-weight:700;box-shadow:var(--shadow-map-marker)}.loader{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .85s linear infinite}@media (prefers-reduced-motion:reduce){.loader,.typeahead-spinner{animation-duration:2s}}@keyframes spin{to{transform:rotate(1turn)}}.stations-view{min-height:100%}.mobile-station-map-header{display:none}.station-shell{--rail-gutter:var(--space-6);--rail-inset:var(--space-5);--map-frame:rail;position:relative;display:grid;width:100%;height:100dvh;min-height:560px;grid-template-columns:var(--rail-inset) var(--overlay-width) minmax(0,1fr);grid-template-rows:var(--rail-inset) auto minmax(0,1fr) var(--rail-inset);background:var(--surface);overflow:hidden}.station-bar-title{display:flex;min-height:34px;align-items:center;justify-self:end;margin:0;color:var(--ink);font-size:var(--text-5xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.station-shell[data-mobile-stage=results] .station-form,.station-shell[data-mobile-stage=results] .station-location-hub{display:none}@media (prefers-reduced-motion:no-preference){.station-shell .station-results-panel:not([hidden]){animation:station-stage-in .2s var(--ease-out) both}}@keyframes station-stage-in{0%{opacity:0;transform:translateY(8px)}}.station-shell[data-searching] .map-station-marker{opacity:.4}.station-shell .left-column{position:relative;z-index:550;display:grid;width:100%;max-height:100%;min-height:0;align-self:start;align-content:start;gap:var(--space-5);grid-area:3/2;border:1px solid var(--line);border-top:0;background:linear-gradient(var(--surface),var(--surface));padding:var(--space-5) var(--rail-gutter);overflow-y:auto}.station-shell .right-column{position:absolute;inset:0}.station-shell .map-frame,.station-shell .map-shell{height:100%}.station-shell .map-shell{min-height:0;border:0;border-radius:0;box-shadow:none}.station-shell .tool-panel{border:0;border-radius:0;background:transparent;padding:0;box-shadow:none}.tool-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:var(--space-5);box-shadow:var(--shadow-1)}.tool-panel h2{font-size:var(--text-lg);letter-spacing:-.01em}.tool-panel h2,.tool-panel h3{margin:0;line-height:var(--leading-snug)}.tool-panel h3{font-size:var(--text-md)}.station-form{display:grid;gap:var(--space-4)}.station-location-hub{display:grid;gap:var(--space-3)}.station-place-fields{grid-template-columns:minmax(0,1fr)}.station-place-fields .trip-field{min-height:72px}.station-place-fields .typeahead{gap:0}.station-place-fields .typeahead-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.station-locate-button{display:inline-flex;width:100%;min-height:48px;align-items:center;justify-content:center;gap:var(--space-2);border-color:var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--primary);box-shadow:var(--shadow-choice);font:inherit;font-size:var(--text-sm);font-weight:700}@media (hover:hover) and (pointer:fine){.station-locate-button:hover{border-color:var(--primary);background:var(--primary-soft);box-shadow:var(--shadow-choice-hover)}}.locate-me-button[aria-busy=true]{cursor:progress;opacity:.55}.station-search-button{display:grid;min-height:56px;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:var(--space-3);border-color:transparent;border-radius:var(--radius-pill);background:var(--action);box-shadow:var(--shadow-action);text-align:left}@media (hover:hover) and (pointer:fine){.station-search-button:hover{border-color:transparent;background:var(--action-hover);box-shadow:var(--shadow-action-hover)}}.station-search-button-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--glass-tint-14)}.station-locate-button svg,.station-search-button-icon svg{width:20px;height:20px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.station-search-button-arrow{width:20px;height:20px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:0;padding:0;border:0}.form-grid legend{grid-column:1/-1;margin-bottom:2px;color:var(--ink);font-weight:700}.station-filters{display:grid;gap:var(--space-4);margin:0;border:0;padding:0}.station-filters>.switch{justify-self:start}.station-filter-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2) var(--space-3)}.station-filter-row>label{color:var(--ink);font-size:var(--text-sm);font-weight:700}.station-fuel-control select{width:min(220px,100%)}.station-radius-control output{color:var(--primary);font-weight:700}.station-radius-control input[type=range]{grid-column:1/-1;width:100%;margin:0;accent-color:var(--action)}@media (pointer:coarse){.station-radius-control input[type=range],input[type=range]{height:44px;margin-block:-14px}}.field-control{display:grid;gap:var(--space-2);color:var(--muted);font-size:var(--text-sm)}.field-control>strong{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);color:var(--ink);font-weight:700}.field-control input,.field-control select,.form-grid input,.form-grid select,.station-fuel-control select{min-height:44px;width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background-color:var(--surface);color:var(--ink);padding:var(--space-2) var(--space-5);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.field-control select,.form-grid select,.station-fuel-control select{padding-right:var(--select-chevron-room)}@media (hover:hover) and (pointer:fine){.field-control input:hover,.field-control select:hover,.form-grid input:hover,.form-grid select:hover,.station-fuel-control select:hover{border-color:var(--primary)}}.field-error{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:700}.error-message,.field-error{color:var(--danger);line-height:var(--leading-snug)}.error-message{margin:0;border:1px solid var(--tone-danger-line);border-left:4px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-soft);padding:var(--space-3);font-size:var(--text-sm)}.loading-state{display:grid;min-height:180px;place-items:center;align-content:center;gap:var(--space-3);color:var(--muted);text-align:center}.loading-state p{margin:0}.compact-loading{min-height:90px}.station-list{--list-ring-room:1px;display:grid;gap:14px;margin:calc(var(--space-3) - var(--list-ring-room)) calc(var(--list-ring-room) * -1) calc(var(--list-ring-room) * -1);contain:paint;padding:var(--list-ring-room)}.station-results-heading{position:relative;display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"count edit" "search edit";align-items:center;gap:2px var(--space-3);border:2px solid var(--action);background:var(--action-soft);padding:9px 9px 9px calc(var(--space-4) - 1px);transition:border-color var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard)}.station-results-heading h2{grid-area:count;min-width:0;margin:0;outline:0;font-size:var(--text-sm);font-weight:700;line-height:1.25;text-wrap:balance}.station-results-search{grid-area:search;min-width:0;color:var(--olive-600);font-size:var(--text-xs);font-weight:600;line-height:1.35}.station-results-search>span{white-space:nowrap}.station-modify-search{display:grid;grid-area:edit;border:0;background:transparent;padding:0;color:var(--action);font:inherit;cursor:pointer}.station-modify-search:after{position:absolute;inset:0;content:""}.station-modify-search>span{display:inline-flex;min-height:46px;align-items:center;gap:6px;border:1px solid var(--action);border-radius:var(--radius-pill);background:var(--action);padding:0 var(--space-4) 0 14px;color:var(--on-action);font-size:var(--text-xs);font-weight:700;transition:background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),transform .16s var(--ease-out)}.station-modify-search svg{width:18px;height:18px;flex:none;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.station-modify-search:focus-visible{outline:0}.station-results-heading:has(.station-modify-search:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.station-modify-search:active>span{border-color:var(--action-hover);background:var(--action-hover);transform:scale(.97)}@media (hover:hover) and (pointer:fine){.station-results-heading:hover{border-color:var(--action-hover)}.station-results-heading:hover .station-modify-search>span{border-color:var(--action-hover);background:var(--action-hover)}}.station-row{position:relative;display:grid;gap:3px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);padding:11px 14px 12px;box-shadow:var(--shadow-row);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.station-row.is-selected,.station-row.is-selected:hover{border-color:var(--ink-900);box-shadow:var(--shadow-row-selected)}@media (hover:hover) and (pointer:fine){.station-row:hover{border-color:var(--line-strong)}}.station-card-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3)}.station-card-title-line{display:flex;min-width:0;align-items:flex-start;gap:7px}.station-top-star{flex:none;width:17px;height:17px;margin-top:2px;pointer-events:none}.station-top-star svg{display:block;width:100%;height:100%;overflow:visible}.station-top-star path{fill:var(--price-color);stroke:var(--ink-900);stroke-width:1.6;stroke-linejoin:round}.plan-stop-name,.station-card-title-line h3{min-width:0;flex:0 1 auto;margin:0;color:var(--ink);font-size:var(--text-sm);font-weight:700;line-height:1.2}.station-name{display:-webkit-box;overflow:hidden;overflow-wrap:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:2}.station-card-title-line .station-hours-tag{margin-top:1px}.station-hours-tag{flex:none;height:19px;border:1px solid var(--tone-open-line);border-radius:var(--radius-badge);background:var(--tone-open-bg);padding:0 7px;color:var(--tone-open-ink);font-size:var(--text-5xs);font-weight:700;line-height:1;letter-spacing:.01em;font-variant-numeric:tabular-nums}.station-best-price-badge,.station-hours-tag{display:inline-flex;align-items:center;white-space:nowrap}.station-best-price-badge{min-height:20px;border:1px solid var(--tone-saving-line);border-radius:var(--radius-pill);background:var(--tone-saving-bg);padding:2px 7px;color:var(--saving);font-size:var(--text-5xs);font-weight:700;letter-spacing:.02em}.station-price-panel{display:grid;justify-items:end;margin:0;gap:4px;text-align:right}.station-price{color:var(--ink);font-size:var(--text-price);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-lg);white-space:nowrap}.station-facts{display:flex;flex-wrap:wrap;align-items:center;margin:0;color:var(--muted);font-size:var(--text-4xs);font-weight:600;line-height:1.35}.station-facts>div{display:inline-flex;align-items:center}.station-facts>div+div:before{margin:0 6px;content:"·";content:"·"/""}.station-facts dd{min-width:0;gap:4px;margin:0}.price-trend,.station-facts dd{display:inline-flex;align-items:center}.price-trend{--trend-ink:var(--ink-700);flex-wrap:wrap}.price-trend.is-up{--trend-ink:var(--red-600)}.price-trend.is-down{--trend-ink:var(--olive-700)}.price-trend-term{color:var(--muted);font-weight:inherit}.price-trend .price-trend-value{display:inline-flex;align-items:center;gap:3px;margin:0 0 0 5px;color:var(--trend-ink);white-space:nowrap}.price-trend-mark{width:1.05em;height:1.05em;flex:0 0 auto;fill:currentcolor}.price-trend-change{font-weight:700}.station-address{display:-webkit-box;min-width:0;margin:0;overflow:hidden;color:var(--muted);font-size:var(--text-4xs);line-height:1.35;overflow-wrap:break-word;hyphens:auto;-webkit-box-orient:vertical;-webkit-line-clamp:1}.station-select{border:0;background:transparent;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.station-select:after{position:absolute;z-index:0;inset:0;border-radius:var(--radius-card);content:""}.station-select:focus-visible{outline:0}.station-select:focus-visible:after{outline:2px solid var(--focus-ring);outline-offset:-2px}.station-card-actions{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:0 var(--space-4);margin-top:3px}.station-action{position:relative;z-index:1;display:inline-flex;min-height:32px;align-items:center;gap:5px;border:0;background:transparent;padding:0;color:var(--action);font:inherit;font-size:var(--text-4xs);font-weight:700;text-decoration:none;cursor:pointer}@media (hover:hover) and (pointer:fine){.station-action:hover{text-decoration:underline;text-underline-offset:2px}}.station-action.is-done{color:var(--saving)}.station-action svg{width:15px;height:15px;flex:none;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.maplibregl-map .station-popup-shell .maplibregl-popup-content{border:1px solid var(--popup-edge);border-radius:var(--radius-popup);background:var(--popup-surface);padding:14px;color:var(--ink);line-height:1.3;box-shadow:var(--shadow-popup)}.maplibregl-map .station-popup-shell .maplibregl-popup-close-button{top:2px;right:2px;width:28px;height:28px;border-radius:50%;color:var(--muted);font-size:var(--text-glyph-sm)}.station-row.is-popup{overflow:visible;gap:5px;border:0;background:transparent;padding:0;box-shadow:none}.station-row.is-popup .station-card-header{grid-template-columns:minmax(0,1fr);gap:2px;padding-right:22px}.station-row.is-popup .station-price-panel{justify-items:start;text-align:left}.station-row.is-popup .station-address{-webkit-line-clamp:2}.station-row.is-popup .station-name{display:block}@media (prefers-reduced-motion:reduce){.station-modify-search:active>span{transform:none}}@media (min-width:901px){.station-results-panel .station-card-header{align-items:start}}.map-frame,.map-shell{position:relative}.map-shell{width:100%;min-height:clamp(380px,46vh,560px);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--map-void);box-shadow:var(--shadow-3)}.map-frame .map-shell{cursor:crosshair}.map-station-marker{--price-ring:var(--ink-900);--marker-size:var(--station-dot-size,18px);position:relative;width:var(--marker-size);height:var(--marker-size);border:max(1.5px,calc(var(--marker-size) / 9)) solid var(--price-ring);border-radius:50%;background:var(--price-color)}@media (prefers-reduced-motion:no-preference){.map-station-marker{transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-standard)}}.map-station-marker:after{position:absolute;top:50%;left:50%;width:max(100%,28px);height:max(100%,28px);border-radius:50%;content:"";transform:translate(-50%,-50%)}@media (pointer:coarse){.map-station-marker:after{width:max(100%,40px);height:max(100%,40px)}}.map-station-marker.is-best{--marker-size:var(--station-star-size,30px);border-color:transparent;background:transparent}.map-station-marker.is-best svg{display:block;width:100%;height:100%;overflow:visible}.map-station-marker.is-best path{fill:var(--price-color);stroke:var(--price-ring);stroke-width:1.6;stroke-linejoin:round}.map-station-marker.is-selected{border-width:max(2px,calc(var(--marker-size) / 6));box-shadow:0 0 0 2px var(--marker-ring),0 0 0 4px var(--price-ring);transform:scale(1.35)}.map-station-marker.is-best.is-selected{border-width:2px;transform:scale(1.2)}.map-station-radar{position:absolute;top:50%;left:50%;width:var(--station-dot-size,18px);height:var(--station-dot-size,18px);pointer-events:none;transform:translate(-50%,-50%)}.map-station-marker.is-best~.map-station-radar{width:var(--station-star-size,30px);height:var(--station-star-size,30px)}.map-station-radar>span{position:absolute;inset:0;border:3px solid var(--ink-900);border-radius:50%;box-shadow:0 0 0 1.5px var(--marker-ring),inset 0 0 0 1.5px var(--marker-ring);opacity:0;animation:station-radar .64s cubic-bezier(.25,.6,.4,1) both}.map-station-radar>span:nth-child(2){animation-delay:.14s}.map-station-radar>span:nth-child(3){animation-delay:.28s}.maplibregl-marker.is-pinging>.map-station-marker.is-selected{box-shadow:0 0 0 10px transparent,0 0 0 16px transparent}.maplibregl-marker.is-pinging:has(>.map-station-radar)>.map-station-marker.is-selected{animation:station-ring-settle .3s .48s var(--ease-out) both}@keyframes station-radar{0%{opacity:1;transform:scale(1)}60%{opacity:.75}to{opacity:0;transform:scale(3.6)}}@keyframes station-ring-settle{0%{box-shadow:0 0 0 10px transparent,0 0 0 16px transparent}to{box-shadow:0 0 0 2px var(--marker-ring),0 0 0 4px var(--price-ring)}}@media (prefers-reduced-motion:reduce){.map-station-radar{display:none}}.maplibregl-marker:has(>.map-station-marker.is-best){z-index:1}.maplibregl-marker:has(>.map-station-marker.is-selected){z-index:2}.map-frame .maplibregl-popup{z-index:3}.map-center-marker{width:18px;height:18px;border:3px solid var(--marker-ring);border-radius:50%;background:var(--fuel);box-shadow:var(--shadow-map-marker)}.planner-map .maplibregl-popup{z-index:3}.consent-banner{position:fixed;z-index:1000;right:max(var(--space-3),env(safe-area-inset-right,0px));bottom:calc(var(--space-3) + env(safe-area-inset-bottom, 0px));display:flex;width:min(560px,calc(100vw - 560px));flex-wrap:wrap;gap:var(--space-3) var(--space-4);align-items:center;border-radius:var(--radius-md);background:var(--ink);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);color:var(--on-primary);box-shadow:var(--shadow-4)}.consent-banner p{flex:1 1 220px;margin:0;font-size:var(--text-sm);line-height:1.4}.consent-banner div{display:flex;flex:0 0 auto;gap:var(--space-2);margin-left:auto}.consent-banner button{min-height:44px;border:1px solid var(--glass-tint-45);border-radius:var(--radius-pill);background:transparent;padding:var(--space-2) var(--space-4);color:var(--on-primary);font-weight:700;cursor:pointer}.consent-banner button.is-primary{border-color:var(--surface);background:var(--surface);color:var(--ink)}.consent-banner :focus-visible{outline-color:var(--surface)}.status-page{display:grid;min-height:100vh;min-height:100dvh;place-content:center;justify-items:center;gap:var(--space-6);padding:var(--space-8) var(--space-4);text-align:center}.status-page-logo{width:168px;height:auto;color:var(--ink)}.status-page h1{margin:0;font-size:var(--text-lg);line-height:var(--leading-snug);letter-spacing:var(--tracking-lg)}.status-page-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.status-page :is(.primary-button,.ghost-button){display:inline-flex;width:auto;align-items:center;justify-content:center;text-decoration:none}.route-placeholder{display:grid;gap:var(--space-3);max-width:760px;margin:0 auto;padding:var(--space-12) var(--space-4)}.route-placeholder h1{margin:0;font-size:var(--text-xl);line-height:var(--leading-snug)}.route-placeholder p{margin:0;color:var(--muted)}@media (max-width:900px){:root{--mobile-header-row:56px;--mobile-header-block:calc(var(--mobile-header-row) + env(safe-area-inset-top));--mobile-sheet-max:min(38dvh,340px);--mobile-sheet-collapsed:76px;--mobile-sheet-toggle:48px;--mobile-gutter-left:max(16px,env(safe-area-inset-left));--mobile-gutter-right:max(16px,env(safe-area-inset-right))}body,html{min-width:0;overflow-x:hidden}.home-shell{min-height:100dvh}.planner{display:block;height:100dvh;min-height:0;background:var(--surface)}.planner[data-layout=stack]{--map-frame:band;display:flex;flex-direction:column}.planner[data-layout=sheet]{--map-frame:sheet}.planner[data-layout=stack] .planner-bar{position:relative;order:0;flex:0 0 auto;background:var(--surface)}.planner[data-layout=stack] .planner-overlay{position:relative;z-index:1;top:auto;right:auto;bottom:auto;left:auto;order:1;flex:0 1 auto;width:100%;background:var(--surface);overflow-y:auto}.planner[data-layout=stack]:not([data-stage=trip]) .planner-overlay{max-height:60dvh;padding:0 0 var(--space-3)}.planner[data-layout=stack] .planner-map{position:relative;top:auto;right:auto;bottom:auto;left:auto;order:2;flex:1 1 auto;width:100%;height:auto;min-height:34dvh;visibility:visible;pointer-events:auto}.planner[data-layout=sheet] .planner-map{position:absolute;inset:0;height:100%;min-height:0}.planner[data-layout=stack][data-map-pick] .planner-overlay{display:none}.sheet{position:relative;display:flex;flex:0 1 auto;flex-direction:column;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--glass-tint-97);padding:0;box-shadow:var(--shadow-overlay-bottom);pointer-events:auto}.planner[data-map-pick] .sheet{visibility:hidden}.planner-bar{position:absolute;z-index:650;top:0;right:0;left:0;display:grid;height:calc(var(--mobile-header-row) + env(safe-area-inset-top));grid-template-columns:auto minmax(0,1fr) 40px;align-items:center;gap:var(--space-3);overflow:hidden;padding:env(safe-area-inset-top) var(--mobile-gutter-right) 0 var(--mobile-gutter-left);border:0;border-bottom:1px solid var(--mobile-header-line);background:var(--glass-tint-94)}.planner[data-layout=sheet] .planner-bar{background:var(--glass-tint-88)}.trip-foot>.primary-button{min-height:48px;font-size:var(--text-sm)}.planner[data-layout=stack]:not([data-stage=trip]) .step-active{padding:var(--space-3) var(--mobile-gutter-right) 0 var(--mobile-gutter-left)}.step-stack{position:static;grid-auto-flow:row;background:transparent}.step-summary{grid-template-columns:minmax(0,1fr) auto;gap:0 var(--space-2);border-right:0;border-bottom:1px solid var(--line);padding:var(--space-2) var(--mobile-gutter-right) var(--space-2) var(--mobile-gutter-left)}.step-summary:last-child{border-bottom:0}@media (hover:hover) and (pointer:fine){.step-summary:hover{background:transparent}}.step-summary-lead{font-size:var(--text-xs)}.step-summary-detail{font-size:var(--text-2xs)}.step-summary-edit{display:block;min-height:0;border:0;padding:0;font-size:var(--text-6xs)}@media (hover:hover) and (pointer:fine){.step-summary:hover .step-summary-edit{border-color:transparent;background:transparent;color:var(--muted)}}.planner-bar-home{display:grid;min-height:40px;place-items:center;border:0;background:transparent;padding:0;color:var(--primary);cursor:pointer}.planner-bar-logo{display:block;width:60px;height:26px}.planner-step-list{display:flex;align-items:center;justify-content:center;gap:var(--space-1)}.planner-step-list>li{display:flex}.planner-step{display:grid;min-height:0;place-items:center;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:transparent;padding:5px 9px;color:var(--muted);font:inherit;font-size:var(--text-2xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.planner-step:after{position:absolute;inset:-6px 0;content:""}@media (hover:hover) and (pointer:fine){.planner-step:hover{border-color:var(--line-strong)}}.planner-step-name{display:block}.planner-step[aria-current=step]{border-color:var(--action);background:var(--action);color:var(--on-action)}.planner-step[aria-disabled=true]{border-color:var(--line-strong);opacity:.4;color:var(--muted);cursor:default}.mobile-back-button{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--primary);text-decoration:none;cursor:pointer}.mobile-back-button span{margin-top:-3px;font-size:var(--text-glyph-lg);font-weight:700;line-height:1}.mobile-header-copy{display:grid;min-width:0;gap:1px}.mobile-header-copy h1,.mobile-header-copy p{margin:0}.mobile-header-copy p{color:var(--primary);font-size:var(--text-2xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.mobile-header-copy h1{overflow:hidden;font-size:var(--text-md);line-height:var(--leading-snug);text-overflow:ellipsis;white-space:nowrap}.mobile-header-brand{color:var(--primary);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.planner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;max-height:none;gap:0;border:0;padding:0;background:transparent;overflow-x:hidden;overscroll-behavior:contain}.planner[data-layout=sheet] .planner-overlay{top:auto;overflow:visible;pointer-events:none}.map-pick-hint{position:fixed;right:var(--mobile-gutter-right);bottom:calc(var(--space-4) + env(safe-area-inset-bottom));left:var(--mobile-gutter-left);max-width:none}.planner[data-map-pick] .planner-map{visibility:visible;pointer-events:auto}.planner[data-map-pick] .planner-overlay{visibility:hidden;pointer-events:none}.planner[data-layout=sheet] .planner-map .maplibregl-ctrl-top-right{top:calc(var(--mobile-header-block) + var(--space-2))}.glass-panel{width:100%;align-items:start;gap:var(--space-4);grid-template-columns:minmax(0,1fr);grid-template-rows:none;border:0;border-radius:0;background:transparent;padding:0;box-shadow:none}.glass-panel>.glass-panel-body,.glass-panel>.glass-panel-head,.glass-panel>.panel-foot{grid-area:auto}.glass-panel-body{align-content:start;gap:var(--space-4)}.trip-fields{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.trip-field{display:grid;min-height:0;gap:var(--space-2)}.trip-fields .typeahead{gap:0}.trip-fields .typeahead-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.trip-field[data-endpoint=destination],.trip-field[data-endpoint=origin]{grid-area:auto;border-top:0}.trip-map-pick{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface-raised);color:var(--primary);padding:0 var(--space-4);font:inherit;font-size:var(--text-xs);font-weight:700;cursor:pointer}.trip-map-pick[aria-pressed=true]{border-color:var(--action);background:var(--action-soft)}.trip-map-pick svg{width:18px;height:18px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.trip-swap{display:grid;width:44px;height:44px;grid-area:auto;place-items:center;justify-self:end;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--primary);padding:0;cursor:pointer}.trip-swap svg{width:20px;height:20px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transform:none}.panel-foot{position:static;display:flex;align-items:stretch;gap:var(--space-2);border-top:0;border-left:0;background:none;padding:0 0 calc(var(--space-2) + env(safe-area-inset-bottom))}.panel-foot>.primary-button{min-width:0;flex:1 1 auto}.planner[data-stage=trip] .panel-foot,.planner[data-stage=vehicle] .panel-foot{position:sticky;z-index:2;bottom:0;margin-top:var(--space-2);background:linear-gradient(to bottom,transparent,var(--surface) 24%);padding-top:var(--space-4)}.planner[data-stage=trip] .planner-overlay{flex:0 0 auto;overflow:visible;padding:14px var(--mobile-gutter-right) 16px var(--mobile-gutter-left)}.planner[data-stage=trip] .planner-map{min-height:140px}.planner[data-stage=trip][data-map-pick] .planner-map{position:fixed;z-index:800;inset:0;height:100dvh}.planner[data-stage=trip] .glass-panel,.planner[data-stage=trip] .glass-panel-body{gap:var(--space-3)}.planner[data-stage=trip] .trip-fields{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:0;border:1px solid var(--line-strong);background:var(--surface)}.planner[data-stage=trip] .trip-field{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:0;min-height:54px;padding-left:14px}.planner[data-stage=trip] .trip-field[data-endpoint=origin]{grid-area:1/1}.planner[data-stage=trip] .trip-field[data-endpoint=destination]{grid-area:2/1;border-top:1px solid var(--line)}.planner[data-stage=trip] .trip-field:has(.trip-locate){grid-template-columns:minmax(0,1fr) 44px 44px}.planner[data-stage=trip] .trip-swap{grid-area:1/2/3/3;width:44px;height:44px;align-self:center;justify-self:center;border:0;background:transparent;color:var(--muted)}.planner[data-stage=trip] .typeahead{position:relative;gap:0}.planner[data-stage=trip] .trip-map-pick span,.planner[data-stage=trip] .typeahead-label,.planner[data-stage=trip] .typeahead-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.planner[data-stage=trip] .typeahead-field{min-height:52px;border:0;border-radius:0;background:transparent;padding:0}.planner[data-stage=trip] .typeahead-input{min-height:52px;font-size:var(--text-base-px)}.planner[data-stage=trip] .typeahead-icon{width:10px;height:10px;border:2px solid var(--muted);border-radius:50%;font-size:0}.planner[data-stage=trip] .trip-field[data-endpoint=destination] .typeahead-icon{border-radius:2px;border-color:var(--primary)}.planner[data-stage=trip] .typeahead-list,.planner[data-stage=trip] .typeahead-status[data-error]{position:absolute;z-index:30;top:calc(100% + 6px);right:-90px;left:-14px;max-height:42dvh;border-color:var(--line-strong)}.planner[data-stage=trip] .trip-field:has(.trip-locate) .typeahead-list,.planner[data-stage=trip] .trip-field:has(.trip-locate) .typeahead-status[data-error]{right:-134px}.planner[data-stage=trip] .trip-locate,.planner[data-stage=trip] .trip-map-pick{display:grid;width:44px;height:44px;min-height:0;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);padding:0}.planner[data-stage=trip] .trip-map-pick[aria-pressed=true]{background:var(--action-soft);color:var(--action)}.planner[data-stage=trip] .panel-foot{position:static;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:var(--space-3);margin:0;background:none;padding:0}.vehicle-foot{flex-direction:column}.field-control input,.field-control select,.form-grid input,.form-grid select,.ghost-button,.primary-button,.route-export-link,.typeahead-input,.vehicle-control select{min-height:48px}.field-control input,.field-control select,.form-grid input,.form-grid select,.typeahead-input,.vehicle-control select{font-size:var(--text-base-px)}@media (prefers-reduced-motion:no-preference){.glass-panel{animation-name:mobile-panel-in}.planner[data-direction=back] .glass-panel{animation-name:mobile-panel-in-back}}@keyframes mobile-panel-in{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}@keyframes mobile-panel-in-back{0%{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:none}}.stations-view{min-height:100dvh;gap:0;padding:0}.station-shell{--map-frame:band;--mobile-header-row:48px;--mobile-header-block:calc(var(--mobile-header-row) + env(safe-area-inset-top));position:relative;display:grid;height:auto;min-height:100dvh;grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:var(--space-3);padding:0 max(16px,env(safe-area-inset-right)) var(--space-6) max(16px,env(safe-area-inset-left));overflow:visible}.station-shell .station-bar{display:none}.station-shell .left-column{z-index:auto;max-height:none;align-self:auto;gap:var(--space-4);grid-area:auto;border:0;background:transparent;padding:0;overflow:visible}.station-shell .right-column{position:static}.station-shell .map-frame{height:auto}.station-shell .map-shell{height:auto;min-height:clamp(380px,46vh,560px);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-3)}.station-shell[data-mobile-stage=map] .left-column{display:none}.station-shell[data-mobile-stage=search]{align-content:start}.station-shell[data-mobile-stage=search] .right-column{position:absolute;inset:0;width:100%;visibility:hidden;pointer-events:none}.station-shell[data-mobile-stage=map]{grid-template-rows:auto minmax(0,1fr);gap:0;padding:0}.station-shell[data-mobile-stage=map] .right-column,.station-shell[data-mobile-stage=results] .left-column,.station-shell[data-mobile-stage=results] .right-column{display:contents}.mobile-station-map-header{position:sticky;z-index:700;top:0;display:grid;min-height:var(--mobile-header-block);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:var(--space-2);margin:0 calc(0px - max(16px, env(safe-area-inset-right))) var(--space-4) calc(0px - max(16px, env(safe-area-inset-left)));padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));border-bottom:1px solid var(--line);background:var(--glass-tint-96);box-shadow:var(--shadow-1)}.mobile-station-map-header .mobile-header-brand{display:block;width:22px;height:22px;color:var(--primary)}.mobile-station-map-header .mobile-back-button{position:relative;width:36px;height:36px}.mobile-station-map-header .mobile-back-button:after{position:absolute;inset:-4px;content:""}.mobile-station-map-header .mobile-back-button svg{width:22px;height:22px;fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.station-shell[data-mobile-stage=map] .mobile-station-map-header{margin:0}.mobile-station-map-header h2{margin:0;font-size:var(--text-base);line-height:var(--leading-tight)}.station-place-fields{gap:0;border:1px solid var(--line-strong);background:var(--surface)}.station-place-fields .trip-field{grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:0;min-height:54px;padding-left:14px}.station-place-fields .typeahead-field{min-height:52px}.station-place-fields .typeahead-input{min-height:52px;font-size:var(--text-base-px)}.station-place-fields .typeahead-icon{width:10px;height:10px}.station-place-fields .trip-map-pick{display:grid;width:38px;height:38px;min-height:0;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);padding:0}.station-place-fields .trip-map-pick span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.station-shell .tool-panel{border-radius:var(--radius-md);padding:var(--space-4)}.station-shell[data-mobile-stage=search] .station-form{border:0;border-radius:0;padding:0;box-shadow:none}.station-shell[data-mobile-stage=search] .field-control input,.station-shell[data-mobile-stage=search] .field-control select,.station-shell[data-mobile-stage=search] .station-fuel-control select{border-radius:var(--radius-pill);background-color:var(--sand-50)}.station-shell[data-mobile-stage=search] .station-search-button{position:relative;z-index:1;margin-top:var(--space-1)}.station-shell[data-mobile-stage=map] .map-frame{min-height:0}.station-shell[data-mobile-stage=map] .map-shell{height:calc(100dvh - var(--mobile-header-block));min-height:0;border:0;border-radius:0}.station-shell[data-mobile-stage=results]{align-content:start}body:has(.station-shell),html:has(.station-shell){overflow-x:clip;overflow-anchor:none}.station-shell[data-mobile-stage=results] .mobile-station-map-header{margin-bottom:calc(0px - var(--space-3))}.station-shell[data-mobile-stage=results] .map-frame{position:sticky;z-index:650;top:var(--mobile-header-block);order:1;margin:0 calc(0px - var(--mobile-gutter-right)) 0 calc(0px - var(--mobile-gutter-left));background:var(--surface);padding:var(--space-2) var(--mobile-gutter-right) var(--space-2) var(--mobile-gutter-left)}.station-shell[data-mobile-stage=results] .map-shell{height:calc(100dvh * 2 / 5);min-height:0}.station-shell[data-mobile-stage=results][data-map-view=full]{padding-bottom:0}.station-shell[data-mobile-stage=results][data-map-view=full] .map-shell{height:calc(100dvh - var(--mobile-header-block) - 2 * var(--space-2))}.station-shell[data-mobile-stage=results][data-map-view=full] .station-results-panel{display:none}.station-results-panel{order:3}.station-shell[data-mobile-stage=results] .station-row{scroll-margin-top:calc(var(--mobile-header-block) + 100dvh * 2 / 5 + 3 * var(--space-2))}.station-shell[data-mobile-stage=results] .station-results-panel{border:0;background:transparent;padding:0;box-shadow:none}.station-action{min-height:46px}.form-grid{grid-template-columns:1fr}.route-export-link{min-height:58px}.consent-banner{right:max(12px,env(safe-area-inset-right));bottom:calc(var(--space-3) + env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));width:auto;padding:var(--space-3)}.consent-banner div{display:grid;flex:1 1 100%;grid-template-columns:repeat(2,minmax(0,1fr))}body:has(.landing-hero) .consent-banner{top:calc(var(--space-3) + env(safe-area-inset-top));bottom:auto}body:has(.consent-banner) .planner{height:calc(100dvh - var(--consent-banner-height, 0px) - var(--space-3) * 2 - env(safe-area-inset-bottom))}body:has(.consent-banner) .station-shell{padding-bottom:calc(var(--consent-banner-height, 0px) + var(--space-3) * 2 + env(safe-area-inset-bottom))}body:has(.consent-banner) .map-basemap-note{bottom:var(--space-3)}@media (max-height:650px){.planner[data-stage=vehicle] .planner-overlay{padding-top:calc(var(--mobile-header-block) + var(--space-2));padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}.planner[data-stage=vehicle] .glass-panel-body{gap:var(--space-3)}}}@media (max-width:340px){.station-card-header{grid-template-columns:minmax(0,1fr)}.station-price-panel{min-width:0}}