.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078A8}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:black}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(/_next/static/media/layers.ef6db872.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(/_next/static/media/layers-2x.9859cd12.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(/_next/static/media/marker-icon.d577052a.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255,255,255,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;box-sizing:border-box;background:rgba(255,255,255,.8);text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:white;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678)}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}*,: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{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;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%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{border-width:0}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inline{display:inline}.hidden{display:none}.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))}.rounded{border-radius:.25rem}.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)}.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:#eef4f2;--teal-100:#d7e6e1;--teal-200:#aecdc5;--teal-300:#7fb1a5;--teal-400:#3f8b7c;--teal-500:#1f6b5d;--teal-600:#155e54;--teal-700:#104b43;--teal-800:#0c3a34;--teal-900:#0a2b27;--sand-50:#fafbfa;--sand-100:#f4f6f4;--sand-200:#edf1ef;--sand-300:#d7ded9;--ink-900:#17201b;--ink-700:#2b352f;--ink-500:#5f6b65;--amber-500:#d97706;--amber-600:#b45f06;--blue-500:#2563eb;--slate-400:#94a3b8;--green-600:#237a3b;--gold-700:#a16207;--red-600:#b42318;--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:#c4cdc7;--primary:var(--teal-600);--primary-hover:var(--teal-700);--primary-soft:var(--teal-50);--on-primary:#ffffff;--route-active:var(--teal-600);--route-alt:var(--slate-400);--saving:var(--green-600);--fuel:var(--amber-500);--warning:var(--gold-700);--danger:var(--red-600);--danger-soft:#fff1f0;--focus:var(--blue-500);--font-sans:ui-sans-serif,system-ui,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:1rem;--text-md:1.0625rem;--text-lg:1.1875rem;--text-xl:1.5rem;--text-2xl:1.9375rem;--text-3xl:2.4375rem;--leading-tight:1.1;--leading-snug:1.25;--leading-normal:1.5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-pill:999px;--shadow-1:0 1px 2px rgb(10 43 39/5%),0 2px 4px rgb(10 43 39/5%);--shadow-2:0 2px 6px rgb(10 43 39/7%),0 8px 18px rgb(10 43 39/7%);--shadow-3:0 10px 24px rgb(10 43 39/12%);--shadow-4:0 18px 40px rgb(10 43 39/18%);--ease-standard:cubic-bezier(0.2,0,0,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--dur-fast:140ms;--dur-base:240ms;--dur-slow:420ms;--page-max:1240px;--flow-max:820px;--glass-bg:rgb(255 255 255/84%);--glass-bg-strong:rgb(255 255 255/93%);--glass-border:rgb(255 255 255/65%);--glass-blur:16px;--overlay-width:392px}*{box-sizing:border-box}body,html{min-height:100%;background:var(--background);color:var(--ink);font-family:var(--font-sans)}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=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:3px solid rgb(37 99 235/45%);outline-offset:2px}.metric-tile strong,.station-facts dd,.station-price,.stop-card-facts dd,.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;margin:0}.app-main{flex:1 1 auto;min-height:0}.planner{position:relative;width:100%;height:calc(100vh - 52px);min-height:560px;overflow:hidden}.planner-map{position:absolute;inset:0;width:100%;height:100%;background:#dce7e1}.planner-map.leaflet-container{font-family:var(--font-sans)}.planner-top{position:absolute;z-index:600;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--glass-bg);box-shadow:var(--shadow-2);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));pointer-events:auto}.planner-brand{display:grid;gap:2px;pointer-events:auto}.planner-kicker{margin:0;color:var(--primary);font-size:var(--text-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.planner-title{margin:0;font-size:var(--text-md);font-weight:800;line-height:var(--leading-snug);letter-spacing:-.01em}.planner-top .ghost-button{pointer-events:auto}.planner-overlay{position:absolute;z-index:550;top:84px;left:var(--space-4);bottom:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);width:min(var(--overlay-width),calc(100% - 32px));overflow-y:auto;padding-right:2px}.glass-panel{display:grid;gap:var(--space-4);border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:var(--glass-bg);padding:var(--space-5);box-shadow:var(--shadow-3);backdrop-filter:blur(var(--glass-blur)) saturate(1.1);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.1)}@media (prefers-reduced-motion:no-preference){.glass-panel{animation:panel-in var(--dur-base) var(--ease-out) both}}@keyframes panel-in{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.glass-panel.is-leaving{pointer-events:none}@media (prefers-reduced-motion:no-preference){.glass-panel.is-leaving{animation:panel-out var(--dur-base) var(--ease-standard) both}}.glass-panel.is-revived{animation:none}@keyframes panel-out{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-10px)}}.glass-panel-head{display:grid;gap:var(--space-3)}.step-eyebrow{margin:0;color:var(--primary);font-size:var(--text-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.glass-panel-title{margin:0;font-size:var(--text-lg);line-height:var(--leading-snug);letter-spacing:-.01em}.glass-panel-body{display:grid;gap:var(--space-3)}.panel-help{font-size:var(--text-sm)}.panel-help,.panel-note{margin:0;color:var(--muted);line-height:var(--leading-snug)}.panel-note{border-radius:var(--radius-sm);background:var(--surface-raised);padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.panel-warning{display:grid;gap:var(--space-1);border:1px solid #f0dfa8;border-left:4px solid var(--warning);border-radius:var(--radius-sm);background:#fdf7e7;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 #f5b5ae;border-left:4px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger)}.panel-actions{display:flex;gap:var(--space-2)}.panel-actions .primary-button{flex:1 1 auto}.ghost-button,.primary-button,.text-button{border-radius:var(--radius-sm);font-weight:800;cursor:pointer;transition: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(--primary);background:var(--primary);color:var(--on-primary);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-1)}.primary-button:hover{border-color:var(--primary-hover);background:var(--primary-hover);box-shadow:var(--shadow-2)}.primary-button:disabled{cursor:wait;opacity:.64;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);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.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)}.text-button:hover{text-decoration:underline}.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-sm);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(--primary);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-input:focus-visible{outline:none}.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)}.route-summary{display:grid;gap:var(--space-2);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg-strong);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-2);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.route-summary-line{display:flex;align-items:center;gap:var(--space-2)}.route-dot{flex:0 0 auto;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line-strong)}.route-dot-a{background:var(--primary)}.route-dot-b{background:var(--ink)}.route-summary-label{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.route-summary-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:2px}.route-summary-tag{border-radius:var(--radius-pill);background:var(--primary-soft);padding:2px var(--space-3);color:var(--primary);font-size:var(--text-xs);font-weight:800}.toll-toggle{display:flex;align-items:center;gap:var(--space-3);width:100%;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-3);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.toll-toggle.is-on{border-color:var(--primary);background:var(--primary-soft)}.toll-toggle:disabled{cursor:wait;opacity:.7}.toll-toggle-track{flex:0 0 auto;position:relative;width:46px;height:26px;border-radius:var(--radius-pill);background:var(--line-strong);transition:background var(--dur-base) var(--ease-standard)}.toll-toggle.is-on .toll-toggle-track{background:var(--primary)}.toll-toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-1);transition:transform var(--dur-base) var(--ease-out)}.toll-toggle.is-on .toll-toggle-thumb{transform:translateX(20px)}@media (prefers-reduced-motion:reduce){.toll-toggle-thumb,.toll-toggle-track{transition:none}}.toll-toggle-text{display:grid;gap:1px}.toll-toggle-text strong{font-size:var(--text-sm);font-weight:800}.toll-toggle-text small{color:var(--muted);font-size:var(--text-xs)}.alt-card,.alt-cards{display:grid;gap:var(--space-2)}.alt-card{width:100%;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-3);text-align:left;transition:border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}button.alt-card{cursor:pointer}button.alt-card:hover{border-color:var(--primary);box-shadow:var(--shadow-1)}.alt-card.is-selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 2px var(--primary)}.alt-card.is-empty,.alt-card.is-unavailable{border-style:dashed;background:var(--surface-raised)}.alt-card-name{font-weight:800}.alt-card-roads{margin-top:calc(-1 * var(--space-1));color:var(--muted);font-size:var(--text-xs)}.alt-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.alt-tag{border-radius:var(--radius-pill);background:var(--surface-raised);padding:1px var(--space-2);color:var(--primary);font-size:var(--text-xs);font-weight:800}.alt-card.is-selected .alt-tag{background:#fff}.alt-card-metrics{display:flex;gap:var(--space-4);color:var(--ink);font-weight:700}.alt-card-distance{color:var(--muted);font-weight:600}.alt-card-note{color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-snug)}.routes-loading{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-4) 0;color:var(--muted);text-align:center}.routes-loading p{margin:0;font-size:var(--text-sm)}.selected-route-chip{display:grid;gap:2px;border:1px solid var(--primary);border-radius:var(--radius-md);background:var(--primary-soft);padding:var(--space-3)}.selected-route-flag{color:var(--primary);font-size:var(--text-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.selected-route-chip strong{font-size:var(--text-md)}.selected-route-chip span{color:var(--muted);font-size:var(--text-sm)}.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:800}.vehicle-fuel-control>label small{color:var(--muted);font-size:11px;font-weight:600;text-align:right}.vehicle-control input[type=range]{width:100%;accent-color:var(--primary)}.vehicle-control select{min-height:46px;width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:var(--space-2) var(--space-3)}.vehicle-profile-picker{display:grid;gap:var(--space-3)}.vehicle-profile-heading{display:grid;gap:2px}.vehicle-profile-eyebrow{color:var(--primary);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.vehicle-profile-heading>strong{font-size:var(--text-md);line-height:var(--leading-snug)}.vehicle-profile-heading p{margin:0;color:var(--muted);font-size:var(--text-xs)}.vehicle-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.vehicle-profile-card{position:relative;display:grid;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:0;color:var(--ink);text-align:left;cursor:pointer;box-shadow:var(--shadow-1);transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.vehicle-profile-card:hover{border-color:var(--teal-300);transform:translateY(-2px);box-shadow:var(--shadow-2)}.vehicle-profile-card.is-selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 2px var(--primary),var(--shadow-2)}.vehicle-profile-art{display:block;aspect-ratio:1.55;overflow:hidden;border-bottom:1px solid var(--line);background:#f4f5ed}.vehicle-profile-art img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 58%;object-position:center 58%;transition:transform var(--dur-base) var(--ease-out)}.vehicle-profile-card.is-selected .vehicle-profile-art img,.vehicle-profile-card:hover .vehicle-profile-art img{transform:scale(1.035)}.vehicle-profile-copy{display:grid;gap:1px;padding:var(--space-2) var(--space-3) var(--space-3)}.vehicle-profile-copy strong{font-size:var(--text-sm);font-weight:850}.vehicle-profile-copy small{color:var(--muted);font-size:11px;font-weight:600}.vehicle-profile-check{position:absolute;top:var(--space-2);right:var(--space-2);display:grid;width:24px;height:24px;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--primary);color:#fff;font-size:var(--text-xs);font-weight:900;box-shadow:var(--shadow-2)}.vehicle-estimate-summary{display:grid;gap:var(--space-3);overflow:hidden;border:1px solid var(--teal-200);border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary-soft) 0,#fffaf2 100%);padding:var(--space-3);box-shadow:var(--shadow-1);animation:estimate-in var(--dur-base) var(--ease-out) both}@keyframes estimate-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.vehicle-estimate-head{display:grid;gap:2px}.vehicle-estimate-status{display:flex;align-items:center;gap:var(--space-1);color:var(--primary);font-size:11px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.vehicle-estimate-status>span{display:grid;width:17px;height:17px;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-size:10px}.vehicle-estimate-head>strong{font-size:var(--text-md)}.vehicle-estimate-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin:0}.vehicle-estimate-metrics>div{min-width:0;border:1px solid rgb(174 205 197/70%);border-radius:var(--radius-sm);background:rgb(255 255 255/72%);padding:var(--space-2)}.vehicle-estimate-metrics dt{color:var(--muted);font-size:10px;font-weight:700}.vehicle-estimate-metrics dd{margin:1px 0 0;font-size:var(--text-sm);font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap}.vehicle-estimate-summary>p,.vehicle-setup-hint{margin:0;color:var(--muted);font-size:11px;line-height:var(--leading-snug)}.vehicle-setup-hint{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-raised);padding:var(--space-2) var(--space-3);text-align:center}.vehicle-manual-details{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:rgb(255 255 255/72%)}.vehicle-manual-details summary{display:flex;min-height:44px;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--primary);font-size:var(--text-sm);font-weight:800;cursor:pointer;list-style:none}.vehicle-manual-details summary::-webkit-details-marker{display:none}.vehicle-manual-details summary small{margin-left:auto;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase}.vehicle-manual-details summary:after{content:"›";color:var(--primary);font-size:var(--text-lg);line-height:1;transform:rotate(90deg);transition:transform var(--dur-fast) var(--ease-out)}.vehicle-manual-details[open] summary{border-bottom:1px solid var(--line)}.vehicle-manual-details[open] summary:after{transform:rotate(-90deg)}.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-sm);background:var(--surface);color:var(--ink);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.segmented-option:hover{border-color:var(--primary)}.segmented-option.is-selected{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.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-sm);background:var(--surface);color:var(--primary);font-size:var(--text-lg);font-weight:800;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.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-sm);background:var(--surface);color:var(--ink);text-align:center;font-weight:700}@media (prefers-reduced-motion:reduce){.vehicle-manual-details summary:after,.vehicle-profile-art img,.vehicle-profile-card{transition:none}.vehicle-estimate-summary{animation:none}}.results-head,.results-panel{gap:var(--space-3)}.results-head{display:flex;align-items:flex-start;justify-content:space-between}.results-head h2{margin:0}.results-alt-select{display:grid;gap:var(--space-1);font-size:var(--text-sm);font-weight:700;color:var(--ink)}.results-alt-select select{min-height:40px;width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:var(--space-2) var(--space-3);font-weight:600}.results-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.metric-tile{display:grid;gap:2px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-2) var(--space-3)}.metric-tile span{color:var(--muted);font-size:var(--text-xs)}.metric-tile strong{font-size:var(--text-md);letter-spacing:-.01em}.recalc-menu{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--space-2) 0}.recalc-title{color:var(--muted);font-size:var(--text-sm);font-weight:700}.planner-stops{display:grid;gap:var(--space-3)}.planner-stops-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.planner-stops-head h3{margin:0;font-size:var(--text-md)}.planner-stops-head span{color:var(--muted);font-size:var(--text-sm)}.stop-cards{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.stop-card{display:grid;grid-template-columns:30px minmax(0,1fr);gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-3)}.stop-card-rank{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--fuel);color:#fff;font-weight:800}.stop-card-body{display:grid;gap:var(--space-1);min-width:0}.stop-card-body strong{font-size:var(--text-md)}.stop-card-address{color:var(--muted);font-size:var(--text-sm);overflow-wrap:anywhere}.stop-card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1) var(--space-3);margin:var(--space-1) 0 0}.stop-card-facts dt{color:var(--muted);font-size:var(--text-xs)}.stop-card-facts dd{margin:0;font-weight:700}.population-density-fact{grid-column:1/-1}.population-density-badge{--density-accent:var(--teal-400);display:inline-grid;gap:1px;width:-moz-fit-content;width:fit-content;max-width:100%;border:1px solid var(--teal-200);border-left:3px solid var(--density-accent);border-radius:var(--radius-sm);background:var(--teal-50);padding:5px 9px;line-height:var(--leading-snug)}.population-density-badge.is-low{--density-accent:var(--ink-500);border-color:var(--line-strong);background:var(--surface-raised)}.population-density-badge.is-high{--density-accent:var(--teal-700);border-color:var(--teal-300);background:var(--teal-100)}.population-density-label{color:var(--ink);font-size:var(--text-xs);font-weight:800}.population-density-value{color:var(--muted);font-size:10px;font-weight:600}.price-forecast-box{display:inline-grid;gap:2px;width:-moz-fit-content;width:fit-content;max-width:100%;margin-top:var(--space-2);border:1px solid #eadcc4;border-radius:var(--radius-sm);background:#fffaf2;padding:6px 10px}.price-forecast-main{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:var(--space-2)}.price-forecast-main span{color:var(--gold-700);font-size:11px;font-weight:800;line-height:var(--leading-snug)}.price-forecast-main strong{color:var(--ink);font-size:var(--text-sm);font-weight:800;line-height:var(--leading-tight);text-align:right;white-space:nowrap}.price-forecast-support{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);color:var(--muted);font-size:11px;font-weight:600;line-height:var(--leading-snug)}.no-stops-note{display:grid;gap:var(--space-1);border:1px solid #badbcc;border-left:4px solid var(--saving);border-radius:var(--radius-md);background:#edf8f1;padding:var(--space-3)}.no-stops-note strong{color:var(--saving)}.disclaimer{margin:0;color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-normal)}.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-pin{position:relative;width:34px;height:34px;border-radius:50% 50% 50% 0;--marker-rest-transform:rotate(-45deg);border:2px solid #fff;box-shadow:0 3px 8px rgb(0 0 0/32%)}.map-pin span{position:absolute;inset:0;display:grid;place-items:center;transform:rotate(45deg);color:#fff;font-size:var(--text-sm);font-weight:900}.map-pin-origin{background:var(--primary)}.map-pin-destination{background:var(--ink)}.map-stop{display:grid;width:28px;height:28px;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--fuel);color:#fff;font-size:var(--text-sm);font-weight:800;box-shadow:0 2px 7px rgb(0 0 0/30%)}.route-line{transition:opacity var(--dur-base) var(--ease-standard)}.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{display:grid;gap:var(--space-3);padding:var(--space-4) var(--space-4) 0}.stations-view-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;max-width:var(--page-max);margin:0 auto}.stations-view-title{margin:0;font-size:var(--text-xl);font-weight:800;letter-spacing:-.01em}.app-shell{display:grid;width:100%;gap:var(--space-4);max-width:var(--page-max);margin:0 auto;padding:var(--space-2) 0 var(--space-10);grid-template-columns:430px minmax(0,1fr)}.app-footer{border-top:1px solid var(--line);padding:var(--space-3) var(--space-4);color:var(--muted);font-size:var(--text-xs)}.app-footer p{max-width:var(--page-max);margin:0 auto}.left-column,.right-column{display:grid;gap:var(--space-4);align-content:start}.station-shell{align-items:start}.result-panel,.tool-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:var(--space-5);box-shadow:var(--shadow-1)}.result-panel h2,.tool-panel h2{margin:0;font-size:var(--text-lg);line-height:var(--leading-snug);letter-spacing:-.01em}.result-panel h3,.tool-panel h3{margin:0;font-size:var(--text-md);line-height:var(--leading-snug)}.muted-text,.panel-subtitle{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.station-form{display:grid;gap:var(--space-4)}.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:800}.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{min-height:44px;width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:var(--space-2) var(--space-3);transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.field-control input:hover,.field-control select:hover,.form-grid input:hover,.form-grid select:hover{border-color:var(--primary)}.checkbox-control{display:flex;grid-column:1/-1;align-items:center;gap:var(--space-3);min-height:44px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:var(--space-2) var(--space-3);color:var(--ink);font-size:var(--text-sm);font-weight:700}.checkbox-control input{width:18px;height:18px;accent-color:var(--primary)}.field-error{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:600}.error-message,.field-error{color:var(--danger);line-height:var(--leading-snug)}.error-message{margin:0;border:1px solid #f5b5ae;border-left:4px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-soft);padding:var(--space-3);font-size:var(--text-sm)}.location-card{display:grid;gap:var(--space-1);width:100%;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-3);color:var(--ink);text-align:left}.static-location-card{cursor:default}.location-card span{color:var(--primary);font-size:var(--text-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.location-card strong{overflow-wrap:anywhere;font-size:var(--text-md);line-height:var(--leading-snug)}.location-card small{color:var(--muted);font-size:var(--text-xs)}.result-panel{min-height:120px}.compact-panel{min-height:auto}.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{max-height:620px;margin-top:var(--space-3);overflow:auto}.station-list,.station-row{display:grid;gap:var(--space-3)}.station-row{grid-template-columns:34px minmax(0,1fr);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-3);transition:box-shadow var(--dur-fast) var(--ease-standard)}.station-row:hover{box-shadow:var(--shadow-1)}.station-rank{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--route-active);color:#fff;font-size:var(--text-xs);font-weight:900}.station-row h3{margin:0 0 var(--space-1);font-size:var(--text-md);line-height:var(--leading-snug)}.station-row-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:start}.station-price{text-align:right;white-space:nowrap}.station-row p{margin:0 0 var(--space-2);color:var(--muted);font-size:var(--text-xs);line-height:var(--leading-snug)}.station-row strong{display:block;color:var(--ink);font-size:var(--text-lg);line-height:var(--leading-tight)}.station-row small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:var(--leading-snug)}.station-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin:var(--space-2) 0 0}.station-facts dt{color:var(--muted);font-size:11px;line-height:var(--leading-snug)}.station-facts dd{margin:0;color:var(--ink);font-size:var(--text-xs);font-weight:800}.map-frame{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:#dce7e1;box-shadow:var(--shadow-3)}.map-frame .map-shell{cursor:crosshair}.map-picker-panel{position:absolute;z-index:500;top:var(--space-3);left:56px;display:grid;width:min(390px,calc(100% - 68px));gap:var(--space-3);border:1px solid rgb(215 222 217/92%);border-radius:var(--radius-md);background:rgb(255 255 255/96%);padding:var(--space-3);box-shadow:var(--shadow-3);backdrop-filter:blur(8px)}.map-center-summary{display:grid;gap:2px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft);padding:var(--space-2)}.map-center-summary span{color:var(--primary);font-size:11px;font-weight:900}.map-center-summary strong{overflow-wrap:anywhere;font-size:var(--text-sm);line-height:var(--leading-snug)}.map-center-summary small{color:var(--muted);font-size:11px}.map-search{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:var(--space-2)}.map-search input{min-width:0;padding:var(--space-2) var(--space-3)}.map-search button,.map-search input{min-height:38px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface)}.map-search button{color:var(--muted);font-weight:700;cursor:pointer;transition:color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.map-search button:hover{border-color:var(--primary);color:var(--primary)}.map-search button:disabled{cursor:not-allowed;opacity:.55}.map-search-status{color:var(--muted)}.map-search-error,.map-search-status{margin:0;font-size:var(--text-xs);line-height:var(--leading-snug)}.map-search-error{color:var(--danger)}.map-search-results{display:grid;gap:var(--space-2);max-height:230px;overflow:auto}.map-search-results button{display:grid;gap:3px;width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:var(--space-2);color:var(--ink);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.map-search-results button:hover{border-color:var(--primary);background:var(--primary-soft)}.map-search-results strong{overflow-wrap:anywhere;font-size:var(--text-xs);line-height:var(--leading-snug)}.map-search-results span{color:var(--muted);font-size:11px}.leaflet-station-marker{display:grid;width:28px;height:28px;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--route-active);color:#fff;font-size:var(--text-sm);font-weight:800;box-shadow:0 2px 7px rgb(0 0 0/30%)}.leaflet-center-marker{width:18px;height:18px;border:3px solid #fff;border-radius:50%;background:var(--fuel);box-shadow:0 2px 7px rgb(0 0 0/30%)}.map-popup{display:grid;gap:3px;max-width:240px}.consent-banner{position:fixed;z-index:1000;left:var(--space-3);bottom:var(--space-3);right:auto;display:flex;width:min(760px,calc(100vw - 24px));max-width:760px;gap:var(--space-3);align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--ink);padding:var(--space-3);color:#fff;box-shadow:var(--shadow-4)}.consent-banner p{max-width:520px;margin:0;font-size:var(--text-sm);line-height:var(--leading-snug)}.consent-banner div{display:flex;gap:var(--space-2)}.consent-banner button{min-height:38px;border:1px solid rgb(255 255 255/45%);border-radius:var(--radius-sm);background:transparent;padding:var(--space-2) var(--space-3);color:#fff;font-weight:800;cursor:pointer}.consent-banner button.is-primary{border-color:#fff;background:#fff;color:var(--ink)}.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){.planner-overlay{width:calc(100% - 32px)}.app-shell,.form-grid,.results-metrics,.station-facts,.stop-card-facts{grid-template-columns:1fr}.map-picker-panel{position:relative;top:auto;left:auto;width:100%}}