.planner-route-battery-marker{pointer-events:none}.planner-route-battery-pill{background:var(--card);height:1.5rem;color:var(--foreground);box-shadow:0 1px 2px #00000029, 0 4px 10px #0000001f, 0 0 0 1px color-mix(in srgb, var(--border) 70%, transparent);font-family:var(--font-sans,"Inter 18pt", "Inter 18pt Fallback", sans-serif);font-variant-numeric:tabular-nums;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:.375rem;padding:0 .6875rem 0 .5rem;font-size:.75rem;font-weight:600;line-height:1;transition:opacity .14s ease-out;display:inline-flex}.planner-route-battery-pill svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;flex:none}.planner-route-battery-pill[data-kind=charge] svg{color:#059669}.planner-route-battery-pill[data-kind=arrival] svg{color:#1d4ed8}.dark .planner-route-battery-pill[data-kind=charge] svg{color:#34d399}.dark .planner-route-battery-pill[data-kind=arrival] svg{color:#8ab4f8}.planner-route-battery-marker[data-placed=false] .planner-route-battery-pill{opacity:0;visibility:hidden;transition:opacity .14s ease-out,visibility 0s linear .14s}@media (prefers-reduced-motion:reduce){.planner-route-battery-pill,.planner-route-battery-marker[data-placed=false] .planner-route-battery-pill{transition:none}}.battery-chart{--battery-chart-route:#1d4ed8;--battery-chart-ramp-high:#1d4ed8;--battery-chart-ramp-mid:#a21caf;--battery-chart-ramp-low:#be123c;--battery-chart-charge:#059669;--battery-chart-charge-text:#047857;--battery-chart-terrain:#0000000e;--battery-chart-terrain-edge:#00000029;--battery-chart-terrain-key:#0003;--battery-chart-grid:#00000012;--battery-chart-axis:#0003;--battery-chart-reserve:#00000085;--battery-chart-leader:#0000004d;--battery-chart-scrub:#00000073}.dark .battery-chart{--battery-chart-route:#8ab4f8;--battery-chart-ramp-high:#60a5fa;--battery-chart-ramp-mid:#e879f9;--battery-chart-ramp-low:#f43f5e;--battery-chart-charge-text:#6ee7b7;--battery-chart-terrain:#ffffff0f;--battery-chart-terrain-edge:#fff3;--battery-chart-terrain-key:#ffffff4d;--battery-chart-grid:#ffffff12;--battery-chart-axis:#ffffff3d;--battery-chart-reserve:#ffffff8c;--battery-chart-leader:#ffffff52;--battery-chart-scrub:#ffffff8c}.battery-chart-seg{background:color-mix(in oklab, var(--foreground) 6%, transparent);border-radius:999px;gap:2px;padding:2px;display:inline-flex}.battery-chart-seg-button{height:28px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:.75rem;font-weight:600;line-height:1rem;display:inline-flex}.battery-chart-seg-button[aria-pressed=true]{background:var(--card);color:var(--foreground);box-shadow:0 1px 2px #0000001a, 0 0 0 1px color-mix(in oklab, var(--foreground) 7%, transparent)}.battery-chart-seg-button:focus-visible,.battery-chart-legend-button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.battery-chart-card{padding:12px;box-shadow:0 1px 2px #0000000a,0 8px 24px -12px #0000002e}.battery-chart-plot{border-radius:10px;position:relative}.battery-chart-range{clip-path:inset(50%);white-space:nowrap;opacity:0;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.battery-chart-range:focus-visible+.battery-chart-plot{outline:2px solid var(--ring);outline-offset:4px}.battery-chart-svg{font-variant-numeric:tabular-nums;display:block;overflow:visible}.battery-chart-svg text{fill:var(--muted-foreground);font-size:11px}.battery-chart-grid{fill:none;stroke:var(--battery-chart-grid);stroke-width:1px}.battery-chart-base{fill:none;stroke:var(--battery-chart-axis);stroke-width:1px}.battery-chart-terrain{fill:var(--battery-chart-terrain)}.battery-chart-terrain-edge{fill:none;stroke:var(--battery-chart-terrain-edge);stroke-width:1px;stroke-linejoin:round}.battery-chart-svg .battery-chart-ytick{text-anchor:end}.battery-chart-svg .battery-chart-xtick{text-anchor:middle}.battery-chart-reserve{fill:none;stroke:var(--battery-chart-reserve);stroke-width:1px;stroke-dasharray:4 3}.battery-chart-target{fill:none;stroke:var(--battery-chart-reserve);stroke-width:1.6px;stroke-dasharray:.1 3.4;stroke-linecap:round}.battery-chart-line{fill:none;stroke:var(--battery-chart-route);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.battery-chart[data-ramp=true] .battery-chart-svg .battery-chart-line{stroke:var(--battery-chart-line-light)}.dark .battery-chart[data-ramp=true] .battery-chart-svg .battery-chart-line{stroke:var(--battery-chart-line-dark)}.battery-chart-rise{fill:none;stroke:var(--battery-chart-charge);stroke-width:3.5px;stroke-linecap:round}.battery-chart-rise-highlight{fill:none;stroke:var(--battery-chart-charge);stroke-width:11px;stroke-linecap:round;opacity:.18}.battery-chart-dot{fill:var(--battery-chart-route);stroke:var(--card);stroke-width:2px}.battery-chart[data-ramp=true] .battery-chart-dot,.battery-chart[data-ramp=true] .battery-chart-tip-key{fill:var(--battery-chart-point-light,var(--battery-chart-route))}.battery-chart[data-ramp=true] .battery-chart-tip-key{fill:none;stroke:var(--battery-chart-point-light,var(--battery-chart-route))}.dark .battery-chart[data-ramp=true] .battery-chart-dot{fill:var(--battery-chart-point-dark,var(--battery-chart-route))}.dark .battery-chart[data-ramp=true] .battery-chart-tip-key{stroke:var(--battery-chart-point-dark,var(--battery-chart-route))}.battery-chart-dot-charge{fill:var(--battery-chart-charge);stroke:var(--card);stroke-width:2px}.battery-chart-dot-hover{stroke-width:2.5px}.battery-chart-svg .battery-chart-annotation{paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-linejoin:round}.battery-chart-svg .battery-chart-value{fill:var(--foreground);paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-linejoin:round;font-size:12px;font-weight:600}.battery-chart-leader{fill:none;stroke:var(--battery-chart-leader);stroke-width:1px}.battery-chart-svg .battery-chart-callout-title{fill:var(--foreground);font-size:12px;font-weight:600}.battery-chart-svg .battery-chart-callout-soc{fill:var(--foreground);font-weight:600}.battery-chart-callout[data-anchor=end] text{text-anchor:end}.battery-chart-badge{fill:var(--card);stroke:var(--battery-chart-charge);stroke-width:2px}.battery-chart-svg .battery-chart-badge-text{fill:var(--battery-chart-charge-text);text-anchor:middle;font-weight:700}.battery-chart-lane{transition:opacity .15s}.battery-chart-lane[data-dimmed=true]{opacity:.15}.battery-chart-scrub{fill:none;stroke:var(--battery-chart-scrub);stroke-width:1px}.battery-chart-tip{fill:var(--popover);stroke:var(--border);stroke-width:1px;filter:drop-shadow(0 6px 14px #00000024)}.battery-chart-tip-key{fill:none;stroke:var(--battery-chart-route);stroke-width:2.5px;stroke-linecap:round}.battery-chart-tip-terrain-key{fill:var(--battery-chart-terrain-key)}.battery-chart-svg .battery-chart-tip-value{fill:var(--foreground);font-size:13px;font-weight:600}.battery-chart-svg .battery-chart-tip-title,.battery-chart-svg .battery-chart-tip-strong{fill:var(--foreground);font-size:12px;font-weight:600}.battery-chart-climb{fill:none;stroke:var(--battery-chart-leader);stroke-width:1px}.battery-chart-svg .battery-chart-climb-title,.battery-chart-svg .battery-chart-climb-text{paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-linejoin:round}.battery-chart-svg .battery-chart-climb-title{fill:var(--foreground);font-weight:600}.battery-chart-hit{fill:#0000;cursor:crosshair;touch-action:pan-y}.battery-chart-legend{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:8px 2px 0;font-size:.75rem;line-height:1rem;display:flex}.battery-chart-legend-item{align-items:center;gap:6px;display:inline-flex}.battery-chart-legend-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;margin:-4px -6px;padding:4px 6px;display:inline-flex}.battery-chart-legend-button:hover{background:color-mix(in oklab, var(--foreground) 6%, transparent)}.battery-chart-legend-button[aria-pressed=false]{text-decoration:line-through}.battery-chart-legend-terrain{fill:var(--battery-chart-terrain-key);stroke:var(--battery-chart-terrain-edge);stroke-width:1px}.battery-chart-legend-button[aria-pressed=false] .battery-chart-legend-terrain{fill:#0000}.battery-chart-note{color:var(--muted-foreground);margin:8px 2px 0;font-size:.6875rem;line-height:15px}.battery-chart-table{font-variant-numeric:tabular-nums;font-size:.75rem;line-height:1rem}.battery-chart-row{border-bottom:1px solid color-mix(in oklab, var(--border) 70%, transparent);grid-template-columns:minmax(0,1fr) 40px 52px 58px 44px;align-items:center;gap:8px;padding:7px 2px;display:grid}.battery-chart-head{color:var(--muted-foreground);padding-top:2px;font-weight:600}.battery-chart-num{text-align:right}.battery-chart-cell-role{color:var(--muted-foreground);font-size:.6875rem;display:block}.battery-chart-cell-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.battery-chart-strong{font-weight:600}@media (prefers-reduced-motion:reduce){.battery-chart-lane{transition:none}}.trip{--trip-drive:var(--primary);--trip-charge:#10b981;--trip-rail:var(--border)}.trip>*{animation:.36s cubic-bezier(.22,1,.36,1) both trip-section-in}.trip>:nth-child(2){animation-delay:60ms}.trip>:nth-child(n+3){animation-delay:.12s}.trip-bar-segment{background:var(--trip-drive);transform-origin:0;border-radius:999px;min-width:3px;animation:.42s cubic-bezier(.2,.8,.2,1) .16s both trip-bar-in}.trip-bar-segment[data-kind=charge]{background:var(--trip-charge)}.trip-timeline{position:relative}.trip-point,.trip-leg{grid-template-columns:.875rem minmax(0,1fr);column-gap:.5rem;display:grid;position:relative}.trip-point-dot{justify-content:center;display:flex;position:relative}.trip-point-dot:before,.trip-leg-line:before{content:"";background:var(--trip-rail);width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:50%}.trip-point:first-child .trip-point-dot:before{top:1.25rem}.trip-point:last-child .trip-point-dot:before{bottom:calc(100% - 1.25rem)}.trip-point-dot:after{content:"";z-index:1;border:2.5px solid var(--muted-foreground);background:var(--card);width:.75rem;height:.75rem;box-shadow:0 0 0 3px var(--background);border-radius:999px;margin-top:1rem;position:relative}.trip-point[data-kind=endpoint] .trip-point-dot:after{border-color:var(--primary)}.trip-point[data-kind=endpoint]:last-child .trip-point-dot:after{background:var(--primary);box-shadow:inset 0 0 0 3px var(--primary), inset 0 0 0 5px var(--card), 0 0 0 3px var(--background);border-width:0}.trip-point[data-kind=charge] .trip-point-dot:after{border-color:var(--trip-charge);width:.875rem;height:.875rem;margin-top:1rem}.trip-leg-line{position:relative}.trip-leg-line:before{background:repeating-linear-gradient(to bottom, var(--trip-drive) 0 6px, transparent 6px 10px);opacity:.55}.trip-endpoint,.trip-charge-card{box-shadow:0 0 0 1px color-mix(in oklab, var(--foreground) 7%, transparent), 0 1px 2px #0000000f, 0 6px 16px -8px #00000029;border-color:#0000;transition:box-shadow .16s}.trip-endpoint{background:color-mix(in oklab, var(--primary) 5%, var(--card))}.trip-charge-card{background:var(--card)}.trip-charge-card:before{content:"";background:var(--trip-charge);width:4px;position:absolute;inset:0 auto 0 0}@media (hover:hover){.trip-endpoint:hover,.trip-charge-card:hover{box-shadow:0 0 0 1px color-mix(in oklab, var(--foreground) 12%, transparent), 0 2px 4px #0000000f, 0 12px 28px -12px #00000047}}.dark .trip-endpoint,.dark .trip-charge-card{background:var(--muted);box-shadow:0 0 0 1px color-mix(in oklab, var(--foreground) 8%, transparent)}.trip-charge-card[data-selection=preferred]:before{background:#8b5cf6}.trip-charge-card[data-selection=required]:before{background:var(--primary)}.trip-point{animation:.32s ease-out both trip-point-in}.trip-point:nth-child(n+2){animation-delay:40ms}.trip-point:nth-child(n+4){animation-delay:80ms}.trip-point:nth-child(n+6){animation-delay:.12s}.trip-card-overlay{animation:.16s ease-out both trip-fade-in}.trip-battery{background:color-mix(in oklab, var(--foreground) 10%, transparent);border-radius:999px;height:6px;display:block;position:relative;overflow:hidden}.trip-battery-lg{width:100%;height:8px}.trip-battery-before,.trip-battery-after{border-radius:999px;position:absolute;inset:0 auto 0 0}.trip-battery-before{background:#059669}.trip-battery-after{background:#10b98173;background:lab(66.6921% -50.6677 17.059/.45)}.trip-battery-grow{transform-origin:0;animation:.6s cubic-bezier(.2,.8,.2,1) .16s both trip-bar-in}.trip-option{border-color:var(--border);transition:border-color .15s,background-color .15s,box-shadow .15s}@media (hover:hover){.trip-option:hover{border-color:color-mix(in oklab, var(--foreground) 25%, var(--border))}}.trip-option[aria-checked=true]{border-color:var(--primary);background:color-mix(in oklab, var(--primary) 6%, var(--card));box-shadow:inset 0 0 0 1px var(--primary)}.trip-option:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.trip-option-radio{border:1.5px solid color-mix(in oklab, var(--foreground) 30%, var(--border));border-radius:999px;flex-shrink:0;width:18px;height:18px;transition:border .15s}.trip-option[aria-checked=true] .trip-option-radio{border:5px solid var(--primary)}.trip-star{color:color-mix(in oklab, var(--muted-foreground) 55%, transparent);transition:color .12s,transform .12s}.trip-star[data-lit=true]{color:#f59e0b}.trip-star[data-lit=true] svg{fill:currentColor}.trip-star:active:not(:disabled){transform:scale(.88)}@keyframes trip-bar-in{0%{transform:scaleX(0)}}@keyframes trip-section-in{0%{opacity:0;transform:translateY(8px)}}@keyframes trip-point-in{0%{opacity:0;transform:translateY(6px)}}@keyframes trip-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.trip>*,.trip-bar-segment,.trip-battery-grow,.trip-point,.trip-card-overlay{animation:none!important}.trip-option,.trip-option-radio,.trip-star,.trip-endpoint,.trip-charge-card{transition:none!important}}@media (forced-colors:active){.trip-option[aria-checked=true]{outline:2px solid highlight}.trip-point-dot:after{border-color:canvastext}}.planner-route-alternative-marker{pointer-events:none}.planner-route-alternative-pill{pointer-events:auto;background:var(--card);height:1.5rem;color:var(--foreground);box-shadow:0 2px 6px -2px #0000002e, 0 0 0 1px var(--border);font-family:var(--font-sans,"Inter 18pt", "Inter 18pt Fallback", sans-serif);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:0;border-radius:999px;align-items:center;padding:0 .5rem;font-size:.75rem;font-weight:600;line-height:1;transition:opacity .14s ease-out,background-color .12s ease-out,box-shadow .12s ease-out;display:inline-flex;position:relative}.planner-route-alternative-pill:before{content:"";position:absolute;inset:-.5rem -.25rem}.planner-route-alternative-pill[data-placed=false]{opacity:0;visibility:hidden;transition:opacity .14s ease-out,visibility 0s linear .14s}.planner-route-alternative-pill[data-hovered=true]{background:color-mix(in srgb, var(--foreground) 6%, var(--card));box-shadow:0 4px 10px -3px #0000003d, 0 0 0 1px color-mix(in srgb, var(--foreground) 28%, transparent)}.planner-route-alternative-pill:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.planner-route-alternative-pill,.planner-route-alternative-pill[data-placed=false]{transition:none}}.trip-library-card{box-shadow:0 0 0 1px color-mix(in oklab, var(--foreground) 7%, transparent), 0 1px 2px #0000000d;transition:box-shadow .16s,transform .16s;animation:.26s ease-out both trip-library-in}@media (hover:hover){.trip-library-card:hover{box-shadow:0 0 0 1px color-mix(in oklab, var(--foreground) 12%, transparent), 0 10px 24px -14px #0000004d;transform:translateY(-1px)}}.trip-library-card:active{transform:scale(.995)}.trip-library-stops{padding-left:1.375rem;position:relative}.trip-library-stops:before{content:"";background:color-mix(in oklab, var(--primary) 35%, transparent);width:2px;position:absolute;top:.7em;bottom:.7em;left:4px}.trip-library-origin,.trip-library-destination{position:relative}.trip-library-origin:before,.trip-library-destination:before{content:"";border-radius:999px;width:10px;height:10px;position:absolute;top:.45em;left:-1.375rem}.trip-library-origin:before{background:var(--primary)}.trip-library-destination:before{border:2px solid var(--primary);background:var(--card)}.trip-library-meta{overflow:hidden}.trip-library-meta>span{flex-wrap:wrap;row-gap:2px;margin-left:-1em;display:flex}.trip-library-meta>span>:before{content:"·";text-align:center;width:1em;display:inline-block}.trip-library-confirm{animation:.18s ease-out both trip-library-in}@keyframes trip-library-in{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.trip-library-card,.trip-library-confirm{transition:none!important;animation:none!important}}
