.Button-module__ncaAda__button{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:.02em;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);display:inline-flex;position:relative;overflow:hidden}.Button-module__ncaAda__button>*{z-index:1;position:relative}.Button-module__ncaAda__fullWidth{width:100%}.Button-module__ncaAda__primary{background-color:var(--color-foreground);color:var(--color-background);border:1px solid var(--color-foreground)}.Button-module__ncaAda__primary:after{content:"";background-image:repeating-linear-gradient(0deg, transparent, transparent 3px, var(--weave-grid) 3px, var(--weave-grid) 4px), repeating-linear-gradient(90deg, transparent, transparent 3px, var(--weave-grid) 3px, var(--weave-grid) 4px), repeating-linear-gradient(45deg, var(--weave-light) 0px, var(--weave-light) 4px, var(--weave-strong) 4px, var(--weave-strong) 8px), repeating-linear-gradient(-45deg, var(--weave-light) 0px, var(--weave-light) 4px, var(--weave-strong) 4px, var(--weave-strong) 8px);background-blend-mode:normal, normal, overlay, normal;pointer-events:none;background-size:8px 8px;position:absolute;inset:0}.Button-module__ncaAda__primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.Button-module__ncaAda__outline{color:var(--color-text);border:1px solid var(--color-border);background-color:#0000}.Button-module__ncaAda__outline:hover:not(:disabled){background-color:var(--color-foreground);color:var(--color-background);border-color:var(--color-foreground)}.Button-module__ncaAda__outline:hover:not(:disabled):after{content:"";background-image:repeating-linear-gradient(0deg, transparent, transparent 3px, var(--weave-grid) 3px, var(--weave-grid) 4px), repeating-linear-gradient(90deg, transparent, transparent 3px, var(--weave-grid) 3px, var(--weave-grid) 4px), repeating-linear-gradient(45deg, var(--weave-light) 0px, var(--weave-light) 4px, var(--weave-strong) 4px, var(--weave-strong) 8px), repeating-linear-gradient(-45deg, var(--weave-light) 0px, var(--weave-light) 4px, var(--weave-strong) 4px, var(--weave-strong) 8px);background-blend-mode:normal, normal, overlay, normal;pointer-events:none;background-size:8px 8px;position:absolute;inset:0}.Button-module__ncaAda__ghost{color:var(--color-text);background-color:#0000;border:1px solid #0000}.Button-module__ncaAda__ghost:hover:not(:disabled){border-color:var(--color-border)}.Button-module__ncaAda__button:disabled{opacity:.3;cursor:not-allowed}.Button-module__ncaAda__spinner{width:1rem;height:1rem;animation:1s linear infinite Button-module__ncaAda__spin}@keyframes Button-module__ncaAda__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
.Input-module__zkXKvq__input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-md);transition:border-color var(--transition-fast);background-color:#0000;outline:none}.Input-module__zkXKvq__input:focus{border-color:var(--color-foreground)}.Input-module__zkXKvq__input:disabled{opacity:.3;cursor:not-allowed}.Input-module__zkXKvq__input::placeholder{color:var(--color-text-muted)}
.Card-module__xQoUGW__card{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:#0000}
.Badge-module__EwUTSG__badge{font-size:var(--font-size-xs);padding:.0625rem var(--spacing-sm);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;display:inline-block}
.Slider-module__FXmbMq__slider{appearance:none;background:var(--color-border);cursor:pointer;border-radius:0;outline:none;width:100%;height:1px}.Slider-module__FXmbMq__slider::-webkit-slider-thumb{appearance:none;border-radius:var(--radius-full);background:var(--color-foreground);cursor:pointer;border:2px solid var(--color-background);width:14px;height:14px}.Slider-module__FXmbMq__slider::-moz-range-thumb{border-radius:var(--radius-full);background:var(--color-foreground);cursor:pointer;border:2px solid var(--color-background);width:14px;height:14px}.Slider-module__FXmbMq__slider:disabled{opacity:.3;cursor:not-allowed}.Slider-module__FXmbMq__labels{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs);justify-content:space-between;display:flex}
.AddressInput-module__JwVWIW__wrapper{position:relative}.AddressInput-module__JwVWIW__dropdown{margin-top:var(--spacing-xs);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);z-index:50;position:absolute;top:100%;left:0;right:0;overflow:hidden}.AddressInput-module__JwVWIW__suggestion{padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text);transition:background-color var(--transition-fast);border-bottom:1px solid var(--color-border)}.AddressInput-module__JwVWIW__suggestion:last-child{border-bottom:none}.AddressInput-module__JwVWIW__suggestion:hover,.AddressInput-module__JwVWIW__suggestionHighlighted{background-color:var(--color-foreground);color:var(--color-background)}.AddressInput-module__JwVWIW__loading{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center}
.RouteForm-module__-g8MzW__form{gap:var(--spacing-xl);flex-direction:column;display:flex}.RouteForm-module__-g8MzW__fieldGroup{flex-direction:column;display:flex}.RouteForm-module__-g8MzW__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--spacing-xs);display:block}.RouteForm-module__-g8MzW__routeTypeToggle{margin-bottom:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:0;display:flex;overflow:hidden}.RouteForm-module__-g8MzW__toggleOption{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;color:var(--color-text-muted);transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;flex:1}.RouteForm-module__-g8MzW__toggleOption:not(:last-child){border-right:1px solid var(--color-border)}.RouteForm-module__-g8MzW__toggleOption:hover:not(.RouteForm-module__-g8MzW__toggleActive){color:var(--color-text)}.RouteForm-module__-g8MzW__toggleActive{background-color:var(--color-primary);color:var(--color-primary-foreground)}.RouteForm-module__-g8MzW__stopsList{gap:var(--spacing-xs);flex-direction:column;display:flex}.RouteForm-module__-g8MzW__stopRow{align-items:flex-start;gap:var(--spacing-xs);display:flex}.RouteForm-module__-g8MzW__stopNumber{width:20px;height:36px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.RouteForm-module__-g8MzW__stopInput{flex:1;min-width:0}.RouteForm-module__-g8MzW__stopControls{flex-shrink:0;gap:2px;display:flex}.RouteForm-module__-g8MzW__stopControlButton{font-size:var(--font-size-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted);transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;padding:4px 6px;line-height:1}.RouteForm-module__-g8MzW__stopControlButton:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text-muted)}.RouteForm-module__-g8MzW__stopControlButton:disabled{opacity:.3;cursor:default}.RouteForm-module__-g8MzW__addStopButton{margin-top:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px dashed var(--color-border);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-muted);transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;align-self:flex-start}.RouteForm-module__-g8MzW__addStopButton:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text-muted)}.RouteForm-module__-g8MzW__addStopButton:disabled{opacity:.5;cursor:default}.RouteForm-module__-g8MzW__labelRow{align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs);display:flex}.RouteForm-module__-g8MzW__labelRow .RouteForm-module__-g8MzW__label{margin-bottom:0}.RouteForm-module__-g8MzW__tooltip{width:16px;height:16px;font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);border:1px solid var(--color-border);cursor:help;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.RouteForm-module__-g8MzW__tooltip:after{content:attr(data-tip);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:.02em;text-transform:uppercase;color:var(--color-background);background-color:var(--color-foreground);border:1px solid var(--color-foreground);border-radius:var(--radius-sm);white-space:normal;pointer-events:none;opacity:0;width:max-content;max-width:220px;transition:opacity var(--transition-fast);z-index:10;line-height:1.4;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.RouteForm-module__-g8MzW__tooltip:hover:after{opacity:1}
.RouteInfo-module__KfmDMW__container{gap:var(--spacing-xl);flex-direction:column;display:flex}.RouteInfo-module__KfmDMW__emptyState{color:var(--color-text-muted);text-align:center;padding:var(--spacing-2xl) 0;font-size:var(--font-size-sm)}.RouteInfo-module__KfmDMW__statsGrid{grid-template-columns:1fr 1fr;display:grid}.RouteInfo-module__KfmDMW__statCell{text-align:center;padding:var(--spacing-md) var(--spacing-sm);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border)}.RouteInfo-module__KfmDMW__statCell:nth-child(2n){border-right:none}.RouteInfo-module__KfmDMW__statCell:nth-last-child(-n+2){border-bottom:none}.RouteInfo-module__KfmDMW__statLabel{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.RouteInfo-module__KfmDMW__statValue{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);margin-top:var(--spacing-2xs)}.RouteInfo-module__KfmDMW__statValueMuted{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-muted);margin-top:var(--spacing-2xs)}.RouteInfo-module__KfmDMW__statSub{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-2xs)}.RouteInfo-module__KfmDMW__elevUp{color:var(--color-marker-poi)}.RouteInfo-module__KfmDMW__elevDown{color:var(--color-text-muted)}.RouteInfo-module__KfmDMW__notesHeading{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--spacing-xs)}.RouteInfo-module__KfmDMW__notesText{font-size:var(--font-size-sm);color:var(--color-text);line-height:1.6}.RouteInfo-module__KfmDMW__googleMapsWrapper{position:relative}.RouteInfo-module__KfmDMW__googleMapsWrapper:after{content:attr(data-tip);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:.02em;text-transform:uppercase;color:var(--color-background);background-color:var(--color-foreground);border:1px solid var(--color-foreground);border-radius:var(--radius-sm);white-space:normal;pointer-events:none;opacity:0;width:max-content;max-width:220px;transition:opacity var(--transition-fast);z-index:10;line-height:1.4;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.RouteInfo-module__KfmDMW__googleMapsWrapper:hover:after{opacity:1}.RouteInfo-module__KfmDMW__waypointsSection{gap:var(--spacing-sm);flex-direction:column;display:flex}.RouteInfo-module__KfmDMW__waypointsHeading{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.RouteInfo-module__KfmDMW__waypointsList{gap:var(--spacing-sm);flex-direction:column;display:flex}.RouteInfo-module__KfmDMW__waypointContent{align-items:flex-start;gap:var(--spacing-sm);display:flex}.RouteInfo-module__KfmDMW__waypointIcon{margin-top:var(--spacing-2xs);flex-shrink:0;justify-content:center;align-items:center;display:flex}.RouteInfo-module__KfmDMW__waypointBody{flex:1;min-width:0}.RouteInfo-module__KfmDMW__waypointHeader{align-items:center;gap:var(--spacing-sm);display:flex}.RouteInfo-module__KfmDMW__waypointName{font-weight:var(--font-weight-medium);color:var(--color-text);font-size:var(--font-size-sm)}.RouteInfo-module__KfmDMW__waypointDescription{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-2xs);line-height:1.5}.RouteInfo-module__KfmDMW__waypointRoad{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-2xs);font-style:italic}.RouteInfo-module__KfmDMW__waypointsSectionHeader{align-items:center;gap:var(--spacing-sm);display:flex}.RouteInfo-module__KfmDMW__recalculating{font-size:var(--font-size-xs);color:var(--color-text-muted);animation:1.5s ease-in-out infinite RouteInfo-module__KfmDMW__pulse}@keyframes RouteInfo-module__KfmDMW__pulse{0%,to{opacity:1}50%{opacity:.4}}.RouteInfo-module__KfmDMW__waypointActions{gap:var(--spacing-2xs);margin-left:auto;display:flex}.RouteInfo-module__KfmDMW__waypointActionButton{width:1.5rem;height:1.5rem;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);font-size:var(--font-size-sm);transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.RouteInfo-module__KfmDMW__waypointActionButton:hover{color:var(--color-text);background-color:var(--color-border)}.RouteInfo-module__KfmDMW__waypointEditForm{gap:var(--spacing-xs);padding-top:var(--spacing-xs);flex-direction:column;display:flex}.RouteInfo-module__KfmDMW__waypointEditActions{gap:var(--spacing-xs);display:flex}
.StreamingStatus-module__IWh7Ca__container{bottom:var(--spacing-xl);z-index:10;position:absolute;left:50%;transform:translate(-50%)}.StreamingStatus-module__IWh7Ca__content{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);align-items:center;gap:var(--spacing-lg);white-space:nowrap;display:flex;box-shadow:0 4px 12px #00000026}.StreamingStatus-module__IWh7Ca__indicator{align-items:center;gap:var(--spacing-sm);display:flex}.StreamingStatus-module__IWh7Ca__dot{background-color:var(--color-text);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite StreamingStatus-module__IWh7Ca__pulse}@keyframes StreamingStatus-module__IWh7Ca__pulse{0%,to{opacity:1}50%{opacity:.3}}.StreamingStatus-module__IWh7Ca__statusText{font-size:var(--font-size-sm);color:var(--color-text)}.StreamingStatus-module__IWh7Ca__waypointCount{font-size:var(--font-size-xs);color:var(--color-text-muted)}.StreamingStatus-module__IWh7Ca__cancelButton{font-size:var(--font-size-sm);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0}.StreamingStatus-module__IWh7Ca__cancelButton:hover{color:var(--color-text);border-color:var(--color-text)}
.ThemeSwitcher-module__qoEbwW__button{border-radius:var(--radius-full);border:1px solid var(--color-border);width:2.25rem;height:2.25rem;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.ThemeSwitcher-module__qoEbwW__button:hover{color:var(--color-text);border-color:var(--color-text)}
.page-module__Xh1xWG__planningView{min-height:100dvh;padding:var(--spacing-xl);background-color:var(--color-background);flex-direction:column;justify-content:center;align-items:center;padding-bottom:0;animation:.3s page-module__Xh1xWG__fadeIn;display:flex;position:relative;overflow-x:hidden}.page-module__Xh1xWG__themeSwitcher{top:var(--spacing-xl);right:var(--spacing-xl);z-index:10;position:absolute}.page-module__Xh1xWG__carSilhouette{opacity:.08;pointer-events:none;width:600px;max-width:100%;margin-top:auto}[data-theme=dark] .page-module__Xh1xWG__carSilhouette{filter:invert()}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .page-module__Xh1xWG__carSilhouette{filter:invert()}}.page-module__Xh1xWG__planningForm{width:100%;max-width:600px;margin-top:auto;margin-bottom:auto}.page-module__Xh1xWG__planningHeader{text-align:center;margin-bottom:var(--spacing-3xl)}.page-module__Xh1xWG__planningTitle{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text);text-transform:uppercase;letter-spacing:.05em}.page-module__Xh1xWG__container{flex-direction:column;height:100dvh;animation:.3s page-module__Xh1xWG__fadeIn;display:flex}.page-module__Xh1xWG__body{flex:1;display:flex;overflow:hidden}.page-module__Xh1xWG__sidebar{background-color:var(--color-background);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:24rem;display:flex}.page-module__Xh1xWG__sidebarHeader{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.page-module__Xh1xWG__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text);text-transform:uppercase;letter-spacing:.05em}.page-module__Xh1xWG__planNewButton{font-size:var(--font-size-sm);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);background:0 0;position:relative;overflow:hidden}.page-module__Xh1xWG__planNewButton:hover{color:var(--color-background);border-color:var(--color-foreground);background-color:var(--color-foreground)}.page-module__Xh1xWG__planNewButton:hover:after{content:"";background-image:repeating-linear-gradient(0deg, transparent, transparent 3px, var(--weave-grid) 3px, var(--weave-grid) 4px), repeating-linear-gradient(90deg, transparent, transparent 3px, var(--weave-grid) 3px, var(--weave-grid) 4px), repeating-linear-gradient(45deg, var(--weave-light) 0px, var(--weave-light) 4px, var(--weave-strong) 4px, var(--weave-strong) 8px), repeating-linear-gradient(-45deg, var(--weave-light) 0px, var(--weave-light) 4px, var(--weave-strong) 4px, var(--weave-strong) 8px);background-blend-mode:normal, normal, overlay, normal;pointer-events:none;background-size:8px 8px;position:absolute;inset:0}.page-module__Xh1xWG__error{margin:var(--spacing-lg) var(--spacing-xl) 0;padding:var(--spacing-md);color:var(--color-error-text);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm)}.page-module__Xh1xWG__infoSection{padding:var(--spacing-xl);flex:1;overflow-y:auto}.page-module__Xh1xWG__main{flex:1;position:relative}@keyframes page-module__Xh1xWG__fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.page-module__Xh1xWG__planningView{padding:var(--spacing-lg);padding-top:var(--spacing-4xl);align-items:flex-start}.page-module__Xh1xWG__body{flex-direction:column}.page-module__Xh1xWG__sidebar{border-right:none;border-bottom:1px solid var(--color-border);flex-shrink:0;width:100%;max-height:50dvh;overflow-y:auto}.page-module__Xh1xWG__main{flex:1 1 0;min-height:0}.page-module__Xh1xWG__carSilhouette{width:80%;margin-top:0;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.page-module__Xh1xWG__planningForm{z-index:1;position:relative}}
