:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f6f8f5;--surface:#fff;--surface-strong:#eef7f2;--surface-muted:#fbfcfb;--surface-neutral:#f8faf9;--text:#10201c;--muted:#5d6f69;--subtle:#dbe6e0;--accent:#0f766e;--accent-strong:#0b5c55;--accent-soft:#cfeee7;--warning:#a15c11;--separator:#dbe6e0d6;--hover-soft:#0f766e14;--selected-surface:#f1f8f4;--selected-border:#0f766e;--selected-text:#0b5c55;--selected-soft:#0f766e1f;--primary-button-bg:#0f766e;--primary-button-hover:#0b5c55;--primary-button-active:#084c47;--primary-button-text:#fff;--control-disabled-bg:#e9efec;--control-disabled-border:#d8e3de;--control-disabled-text:#718079;--map-loading-bg:#e9f0ec;--marker-fill:#fff;--marker-border:#fff;--marker-shadow:#10201c3d;--pin-accent:#0f766e;--pin-selected-text:#fff;--ranked-pin-bg:#fff;--ranked-pin-border:#0f766e;--ranked-pin-text:#0b5c55;--rank-list-bg:#cfeee7;--rank-list-border:#99d9cf;--rank-list-text:#0b5c55;--rank-1-bg:#16a34a;--rank-2-bg:#4ade80;--rank-3-bg:#86efac;--rank-text:#052e16;--tooltip-bg:#052e16;--tooltip-text:#f0fdf4;--popup-positive-text:#14532d;--popup-positive-border:#86efac;--shadow:0 20px 50px #12261f24}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0f1715;--surface:#17211e;--surface-strong:#20302b;--surface-muted:#1a2622;--surface-neutral:#151f1c;--text:#eef7f2;--muted:#9fb3ad;--subtle:#31433d;--accent:#5eead4;--accent-strong:#99f6e4;--accent-soft:#5eead424;--warning:#fbbf24;--separator:#31433dd6;--hover-soft:#5eead41f;--selected-surface:#14b8a624;--selected-border:#5eead4;--selected-text:#99f6e4;--selected-soft:#5eead424;--primary-button-bg:#5eead4;--primary-button-hover:#99f6e4;--primary-button-active:#2dd4bf;--primary-button-text:#0f1715;--control-disabled-bg:#24312d;--control-disabled-border:#31433d;--control-disabled-text:#73847e;--map-loading-bg:#111c18;--marker-fill:#d9fff6;--marker-border:#d9fff6;--marker-shadow:#00000073;--pin-accent:#14b8a6;--pin-selected-text:#ecfeff;--ranked-pin-bg:#d9fff6;--ranked-pin-border:#14b8a6;--ranked-pin-text:#0f766e;--rank-list-bg:#1c332f;--rank-list-border:#2f6f66;--rank-list-text:#b7dcd5;--rank-1-bg:#115e59;--rank-2-bg:#0f766e;--rank-3-bg:#0d9488;--rank-text:#ecfeff;--tooltip-bg:#e6fff8;--tooltip-text:#0f1715;--popup-positive-text:#99f6e4;--popup-positive-border:#2f6f66;--shadow:0 20px 50px #00000057}*{box-sizing:border-box}html,body{height:100%;margin:0}@property --mobile-sheet-drag-progress{syntax:"<number>";inherits:true;initial-value:1}body{background:var(--background);color:var(--text);letter-spacing:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}a{color:inherit}.bike-map{width:100%;height:100%;font-family:inherit}.offline-basemap-notice{background:var(--surface);border:1px solid var(--subtle);color:var(--muted);text-align:center;z-index:520;border-radius:10px;max-width:min(24rem,100% - 2rem);padding:.45rem .65rem;font-size:.75rem;line-height:1.3;position:absolute;bottom:2.25rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #10201c24}.maplibregl-popup-content{background:var(--surface);color:var(--text);border:1px solid var(--subtle);box-shadow:var(--shadow);border-radius:12px;padding:12px}.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:var(--surface)}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:var(--surface)}.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--surface)}.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--surface)}.maplibregl-ctrl-group button,.maplibregl-ctrl-attrib{background:var(--surface);color:var(--text)}.maplibregl-ctrl-group button{border-bottom-color:var(--subtle)}.maplibregl-ctrl-group button:hover,.maplibregl-ctrl-group button:focus{background:var(--surface-strong);color:var(--text)}.maplibregl-ctrl-attrib a{color:var(--accent-strong)}.maplibregl-ctrl-attrib{border:1px solid var(--subtle);border-radius:6px 0 0;padding:.18rem .35rem;font-size:.68rem;line-height:1.2;box-shadow:0 4px 12px #00000029}.bike-map-dark .maplibregl-ctrl-attrib{color:#dce8e3;background:#0f1715e0;border-color:#99f6e447}.bike-map-dark .maplibregl-ctrl-attrib a{color:#99f6e4}.parking-popup{min-width:220px}.parking-popup.parking-popup-cycling-place{width:fit-content;min-width:0}.parking-popup.parking-popup-water{width:13rem;min-width:13rem}.parking-popup-water-title{align-items:center;gap:.55rem;display:flex}.parking-popup-water-title>span:last-child{gap:.15rem;min-width:0;display:grid}.parking-popup-water-icon{color:#2563eb;background:#dbeafe;border-radius:999px;flex:none;place-items:center;width:2rem;height:2rem;display:grid}:root[data-theme=dark] .parking-popup-water-icon{color:#93c5fd;background:#172554}.parking-popup-water .parking-popup-actions{grid-auto-flow:initial;grid-template-columns:1fr}.parking-popup-water .parking-popup-directions-button{flex-direction:row;min-height:2.4rem}.parking-popup strong{color:var(--text);min-width:0;margin:0;font-size:.9rem;line-height:1.3;display:block}.parking-popup-preview{display:none}.parking-popup-desktop{display:block}.parking-popup-title-row{justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.65rem;display:flex}.parking-popup-cycling-place .parking-popup-title-row{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.22rem}.parking-popup-distance{color:var(--muted);white-space:nowrap;flex:none;font-size:.74rem;font-weight:720;line-height:1.2}.parking-popup-details{border:1px solid var(--subtle);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(3.15rem,1fr));margin:0;display:grid;overflow:hidden}.parking-popup:has(.parking-popup-details-count-4){min-width:292px}.parking-popup-details-count-4{grid-template-columns:repeat(4,minmax(0,1fr))}.parking-popup-detail{border-right:1px solid var(--subtle);flex-direction:column;flex:0 auto;justify-content:center;align-items:center;gap:.22rem;min-height:3.55rem;padding:.44rem .24rem .4rem;display:inline-flex}.parking-popup-detail:last-child{border-right:0}.parking-popup-detail-value{color:var(--text);overflow-wrap:normal;text-align:center;word-break:normal;min-width:0;font-size:.7rem;font-weight:740;line-height:1.18}.parking-popup-detail-icon{color:currentColor;flex:none;justify-content:center;align-items:center;width:1.36rem;height:1.36rem;font-size:.95rem;font-weight:850;line-height:1;display:inline-flex}.parking-popup-detail-icon svg{flex:none;width:1.28rem;height:1.28rem;display:block}.parking-popup-tone-green{border-color:var(--popup-positive-border);color:var(--popup-positive-text);background:#dcfce7}.parking-popup-tone-teal{background:var(--accent-soft);color:var(--accent-strong);border-color:#99d9cf}.parking-popup-tone-amber{color:#7a3e07;background:#fef3c7;border-color:#f8c56b}:root[data-theme=dark] .parking-popup-tone-amber{color:#fbbf24}.parking-popup-tone-muted{border-color:var(--subtle);color:var(--muted);background:#eef2f1}.parking-popup-tone-neutral{background:var(--surface-neutral);border-color:var(--subtle);color:var(--muted)}.parking-popup-tone-restricted{color:#7f1d1d;background:#fee2e2;border-color:#fca5a5}.parking-popup-detail.parking-popup-tone-green,.parking-popup-detail.parking-popup-tone-teal,.parking-popup-detail.parking-popup-tone-amber,.parking-popup-detail.parking-popup-tone-muted,.parking-popup-detail.parking-popup-tone-neutral,.parking-popup-detail.parking-popup-tone-restricted{background:var(--surface);border-right-color:var(--subtle)}.parking-popup-actions{border-top:1px solid var(--subtle);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.4rem;margin-top:.65rem;padding-top:.65rem;display:grid}.parking-popup-directions-button,.parking-popup-street-view-button,.parking-popup-share-button,.parking-popup-save-button{background:var(--surface);border:1px solid var(--accent);color:var(--accent-strong);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;min-width:0;min-height:3.25rem;padding:.35rem .2rem;font-size:.7rem;font-weight:760;display:flex;position:relative}.parking-popup-directions-button:hover,.parking-popup-directions-button:focus-visible,.parking-popup-street-view-button:hover,.parking-popup-street-view-button:focus-visible,.parking-popup-share-button:hover,.parking-popup-share-button:focus-visible,.parking-popup-save-button:hover,.parking-popup-save-button:focus-visible{background:var(--surface-strong);border-color:var(--accent-strong)}.parking-popup .parking-popup-share-feedback{background:var(--tooltip-bg);color:var(--tooltip-text);white-space:nowrap;z-index:1;border-radius:6px;padding:.3rem .4rem;font-size:.68rem;font-weight:800;line-height:1;display:block;position:absolute;bottom:calc(100% + .35rem);right:0}.app-shell{grid-template-columns:minmax(0,1fr) 430px;height:100dvh;min-height:680px;display:grid;overflow:hidden}.mobile-map-toolbar,.mobile-sheet-summary{display:none}.map-pane{z-index:0;min-width:0;position:relative}.map-layers-control{z-index:545;align-items:center;gap:.5rem;display:flex;position:absolute;top:1rem;right:1rem}.offline-area-selection-card{background:var(--surface);border:1px solid var(--subtle);box-shadow:var(--shadow);z-index:550;border-radius:14px;gap:.65rem;width:min(24rem,100% - 8rem);max-height:calc(100% - 2rem);padding:.85rem;display:grid;position:absolute;top:1rem;left:50%;overflow:auto;transform:translate(-50%)}.offline-area-selection-card header,.offline-area-selection-card header>div,.offline-area-estimate,.offline-area-limit,.offline-area-selection-actions,.offline-area-selection-progress{align-items:center;display:flex}.offline-area-selection-card header{justify-content:space-between}.offline-area-selection-card header>div,.offline-area-estimate,.offline-area-limit{gap:.45rem}.offline-area-selection-card header button{color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;display:grid}.offline-area-selection-card>p,.offline-area-selection-card label,.offline-area-estimate strong,.offline-area-estimate ul{margin:0}.offline-area-selection-card>p,.offline-area-selection-card label span,.offline-area-estimate li{color:var(--muted);font-size:.76rem;line-height:1.35}.offline-area-selection-card label{gap:.25rem;display:grid}.offline-area-selection-card input{background:var(--surface-neutral);border:1px solid var(--subtle);color:var(--text);border-radius:9px;width:100%;min-height:2.35rem;padding:.45rem .6rem}.offline-area-estimate{background:var(--surface-strong);border-radius:10px;align-items:flex-start;padding:.65rem}.offline-area-estimate>div{gap:.2rem;display:grid}.offline-area-estimate ul{padding:0;list-style:none}.offline-area-limit{align-items:flex-start}.offline-area-warning,.offline-area-error{border-radius:8px;padding:.5rem .6rem}.offline-area-warning{background:var(--surface-strong)}.offline-area-error{background:#dc26261a;color:#b91c1c!important}.offline-area-selection-progress{gap:.5rem}.offline-area-selection-progress progress,.offline-area-progress progress{accent-color:var(--accent);flex:1;min-width:0}.offline-area-selection-progress span,.offline-area-progress span{color:var(--muted);white-space:nowrap;font-size:.72rem}.offline-area-selection-actions{justify-content:flex-end;gap:.5rem}.offline-area-selection-actions button,.offline-areas-download-new,.offline-area-actions button{border:1px solid var(--subtle);border-radius:9px;justify-content:center;align-items:center;gap:.35rem;min-height:2.35rem;padding:.45rem .7rem;font-weight:650;display:inline-flex}.offline-area-selection-actions button:first-child,.offline-area-actions button{background:var(--surface-neutral);color:var(--text)}.offline-area-selection-actions button:last-child,.offline-areas-download-new{background:var(--primary-button-bg);border-color:var(--primary-button-bg);color:var(--primary-button-text)}.offline-area-selection-actions button:disabled,.offline-areas-download-new:disabled,.offline-area-actions button:disabled{cursor:not-allowed;opacity:.55}.offline-areas-backdrop{z-index:1000;background:#04100d7a;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.offline-areas-panel{background:var(--surface);border:1px solid var(--subtle);box-shadow:var(--shadow);border-radius:16px;gap:.85rem;width:min(31rem,100%);max-height:min(42rem,100dvh - 2rem);padding:1rem;display:grid;overflow:auto}.offline-areas-header,.offline-areas-header>div,.offline-area-summary,.offline-area-actions,.offline-area-progress{align-items:center;display:flex}.offline-areas-header{justify-content:space-between}.offline-areas-header>div{align-items:flex-start;gap:.6rem}.offline-areas-header h2,.offline-areas-header p,.offline-areas-state,.offline-areas-message,.offline-areas-error{margin:0}.offline-areas-header h2{font-size:1.05rem}.offline-areas-header p,.offline-areas-state,.offline-areas-message,.offline-areas-error{color:var(--muted);font-size:.78rem;line-height:1.35}.offline-areas-close{color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;padding:0;display:grid}.offline-areas-download-new{justify-self:stretch}.offline-areas-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.offline-areas-list>li{border:1px solid var(--subtle);border-radius:12px;gap:.65rem;padding:.75rem;display:grid}.offline-area-summary{align-items:flex-start;gap:.55rem}.offline-area-summary>div{flex:1;gap:.1rem;min-width:0;display:grid}.offline-area-summary strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.offline-area-summary span,.offline-area-summary small{color:var(--muted);font-size:.72rem}.offline-area-progress{gap:.5rem}.offline-area-actions{flex-wrap:wrap;gap:.4rem}.offline-area-actions button{flex:1;min-width:7rem;font-size:.74rem}.offline-areas-error{color:#b91c1c}.map-layers-trigger{background:var(--surface);border:1px solid var(--subtle);color:var(--accent-strong);border-radius:11px;place-items:center;width:44px;height:44px;padding:0;display:grid;box-shadow:0 8px 24px #10201c24}.map-layers-trigger:hover,.map-layers-trigger:focus-visible,.map-layers-trigger[aria-expanded=true]{background:var(--surface-strong);border-color:var(--accent)}.map-layers-popover{background:var(--surface);border:1px solid var(--subtle);box-shadow:var(--shadow);border-radius:12px;gap:.55rem;width:17rem;padding:.7rem;display:grid;position:absolute;top:calc(100% + .55rem);right:0}.map-layers-popover>strong{color:var(--text);padding:.1rem .1rem .15rem;font-size:.82rem;line-height:1.2}.map-layers-option{border-top:1px solid var(--subtle);color:var(--text);justify-content:space-between;align-items:center;gap:.75rem;min-height:2.7rem;padding:.45rem .1rem 0;font-size:.8rem;font-weight:700;display:flex}.map-layers-option>span{gap:.18rem;display:grid}.map-layers-option small{color:var(--muted);font-size:.67rem;font-weight:620}.map-layers-option input{appearance:none;background:var(--surface-neutral);border:1px solid var(--subtle);cursor:pointer;border-radius:999px;flex:none;width:2.35rem;height:1.35rem;margin:0;transition:background-color .15s,border-color .15s;position:relative}.map-layers-option input:after{background:var(--surface);content:"";border-radius:999px;width:.95rem;height:.95rem;transition:transform .15s;position:absolute;top:.14rem;left:.16rem;box-shadow:0 1px 3px #0f172a38}.map-layers-option input:checked{background:var(--accent-strong);border-color:var(--accent-strong)}.map-layers-option input:checked:after{transform:translate(.96rem)}.map-layers-option input:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 42%, transparent);outline-offset:2px}.control-pane{background:var(--surface);border-left:1px solid var(--subtle);isolation:isolate;-webkit-overflow-scrolling:touch;z-index:500;flex-direction:column;gap:.8rem;min-width:0;padding:1.25rem 1.25rem .45rem;display:flex;position:relative;overflow:auto}.mobile-sheet-grip{display:none}.mobile-sheet-body,.parking-view-content{display:contents}.finder-panel-content{background:var(--surface);flex-direction:column;flex:1;gap:.8rem;min-height:0;display:flex}.panel-stack{flex:1;width:100%;min-height:0;display:grid}.panel-stack>.panel-view,.panel-stack>.parking-filter-panel--overlay{grid-area:1/1;min-height:0}.panel-view{width:100%}.control-pane,.directions-mode,.directions-scroll,.parking-list-scroll,.parking-list{scrollbar-width:none}.control-pane::-webkit-scrollbar{display:none}.directions-mode::-webkit-scrollbar{display:none}.directions-scroll::-webkit-scrollbar{display:none}.parking-list-scroll::-webkit-scrollbar{display:none}.parking-list::-webkit-scrollbar{display:none}.app-header{align-items:center;gap:.85rem;display:flex;position:relative}.brand-mark{background:var(--surface);border:1px solid var(--subtle);border-radius:10px;flex:none;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 8px 20px #10201c1a}.brand-mark img{width:36px;height:36px;display:block}.app-header h1{margin:0;font-size:1.35rem;line-height:1.1}.app-header p{color:var(--muted);margin:.25rem 0 0;font-size:.88rem;line-height:1.35}.settings-menu{margin-left:auto;position:relative}.settings-trigger{background:var(--surface);border:1px solid var(--subtle);color:var(--accent-strong);border-radius:10px;place-items:center;width:2.75rem;height:2.75rem;padding:0;display:grid}.settings-trigger:hover,.settings-trigger:focus-visible,.settings-trigger[aria-expanded=true]{background:var(--surface-strong);border-color:var(--accent)}.settings-popover{background:var(--surface);border:1px solid var(--subtle);box-shadow:var(--shadow);z-index:700;border-radius:12px;gap:.5rem;min-width:14rem;padding:.65rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0}.settings-label{color:var(--muted);font-size:.72rem;font-weight:760;line-height:1}.settings-route-actions{gap:.35rem;display:grid}.settings-route-actions .settings-action-button{background:0 0;border-color:#0000;min-height:2.35rem;font-size:.86rem;font-weight:700}.settings-route-actions .settings-action-button:hover,.settings-route-actions .settings-action-button:focus-visible{background:var(--surface-strong)}.settings-route-actions .settings-action-button>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.settings-route-count{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;justify-content:center;align-items:center;min-width:1.45rem;height:1.45rem;margin-left:auto;padding:0 .35rem;font-size:.72rem;display:inline-flex}.settings-section-divider{border-top:1px solid var(--subtle);margin:.1rem 0;display:block}.theme-options{background:var(--surface-strong);border:1px solid var(--subtle);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;padding:.25rem;display:grid}.theme-options button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:.25rem;min-height:2rem;padding:0 .35rem;font-size:.76rem;font-weight:760;display:inline-flex}.theme-options button:hover,.theme-options button:focus-visible{color:var(--text)}.theme-options button.selected{background:var(--surface);border-color:var(--accent);color:var(--accent-strong);box-shadow:0 2px 8px #10201c1a}.language-select{appearance:auto;background:var(--surface-strong);border:1px solid var(--subtle);color:var(--text);font:inherit;border-radius:10px;width:100%;min-height:2.2rem;padding:0 .6rem;font-size:.82rem}.language-select:hover,.language-select:focus-visible{background:var(--surface);border-color:var(--accent)}.map-layer-option{background:var(--surface-strong);border:1px solid var(--subtle);color:var(--text);border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;min-height:2.5rem;padding:.45rem .6rem;font-size:.82rem;display:flex}.map-layer-option span{gap:.2rem;display:grid}.map-layer-option small{color:var(--muted);font-size:.68rem}.map-layer-option input{accent-color:var(--accent-strong);width:1.1rem;height:1.1rem}.cycle-network-popup{gap:.55rem;width:min(16rem,100vw - 3rem);display:grid}.cycle-network-popup-title{align-items:center;gap:.55rem;padding-right:1rem;display:flex}.cycle-network-popup-title>svg{color:var(--accent-strong);width:1.45rem;height:1.45rem}.cycle-network-popup-title strong{color:var(--text);font-size:.9rem;line-height:1.2}.cycle-network-route-shield{color:#fff;background:#52606d;border:1.5px solid #ffffffe6;border-radius:6px;flex:none;justify-content:center;align-items:center;min-width:1.75rem;min-height:1.45rem;padding:.08rem .32rem;font-size:.72rem;font-weight:850;display:inline-flex;box-shadow:0 0 0 1px #0f172a2e}.cycle-network-route-shield-ncn{background:#b4232f}.cycle-network-route-shield-rcn{background:#275dad}.cycle-network-popup-co-routes{color:var(--muted);align-items:center;gap:.45rem;font-size:.74rem;font-weight:650;line-height:1.2;display:flex}.cycle-network-popup-co-route-shields{align-items:center;gap:.2rem;display:inline-flex}.cycle-network-popup-co-routes .cycle-network-route-shield{min-width:1.55rem;min-height:1.25rem;font-size:.66rem}.cycle-network-popup-warning{color:var(--muted);align-items:center;gap:.4rem;font-size:.75rem;font-weight:700;display:flex}.cycle-network-popup-warning svg{flex:none;width:1rem;height:1rem}.cycle-network-popup .cycle-network-popup-warning{color:#9a3412;background:#fff7ed;border:1px solid #fdba74;border-radius:8px;padding:.4rem .5rem}:root[data-theme=dark] .cycle-network-popup .cycle-network-popup-warning{color:#fed7aa;background:#431407;border-color:#9a3412}.cycle-network-popup-details{background:var(--subtle);border:1px solid var(--subtle);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.cycle-network-popup-details-count-1{grid-template-columns:1fr}.cycle-network-popup-details-count-2,.cycle-network-popup-details-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}.cycle-network-popup-detail{background:var(--surface);color:var(--accent-strong);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;min-height:2.75rem;padding:.38rem .3rem;display:flex}.cycle-network-popup-detail svg{flex:none;width:.875rem;height:.875rem}.cycle-network-popup-detail span{color:var(--text);overflow-wrap:anywhere;font-size:.68rem;font-weight:730;line-height:1.15}.settings-action-button{background:var(--surface-strong);border:1px solid var(--subtle);color:var(--accent-strong);border-radius:10px;justify-content:flex-start;align-items:center;gap:.4rem;min-height:2.2rem;padding:0 .6rem;font-size:.82rem;font-weight:620;display:inline-flex}.settings-action-button:hover,.settings-action-button:focus-visible{background:var(--surface);border-color:var(--accent)}.settings-credit{border-top:1px solid var(--subtle);color:var(--muted);margin:.15rem 0 0;padding:.55rem .2rem 0;font-size:.72rem;line-height:1.25}.settings-credit a{color:var(--accent-strong);font-weight:700}.status-message{border:1px solid var(--subtle);color:var(--muted);border-radius:8px;align-items:flex-start;gap:.5rem;padding:.75rem;font-size:.85rem;line-height:1.35;display:flex}.status-message.denied,.status-message.unavailable{color:var(--warning);border-color:#e4c6a5}.reference-panel{gap:.6rem;display:grid}.reference-panel--desktop{z-index:10;position:relative}.reference-panel--desktop .place-results,.reference-panel--desktop .place-search-message{background:var(--surface);border:1px solid var(--subtle);box-shadow:var(--shadow);border-radius:12px;position:absolute;top:calc(100% + .4rem);left:0;right:0}.reference-panel--desktop .place-results{max-height:18rem;padding:.45rem;overflow:auto}.reference-panel--desktop .place-search-message{padding:.65rem}.place-search-form{grid-template-columns:minmax(0,1fr) auto auto;gap:.5rem;display:grid}.place-search-button{background:var(--primary-button-bg);border:1px solid var(--primary-button-bg);color:var(--primary-button-text);border-radius:12px;justify-content:center;align-items:center;gap:.45rem;min-height:46px;padding:0 .9rem;font-size:.9rem;font-weight:760;transition:background .16s,border-color .16s;display:inline-flex}.place-search-button:not(:disabled):hover,.place-search-button:not(:disabled):focus-visible{background:var(--primary-button-hover);border-color:var(--primary-button-hover)}.place-search-button:not(:disabled):active{background:var(--primary-button-active);border-color:var(--primary-button-active)}.place-search-button:disabled{background:var(--control-disabled-bg);border-color:var(--control-disabled-border);color:var(--control-disabled-text);cursor:not-allowed}.secondary-location-button{aspect-ratio:1;background:var(--surface);border:1px solid var(--accent);color:var(--accent-strong);border-radius:12px;justify-content:center;align-items:center;gap:.5rem;min-width:46px;min-height:46px;padding:0;font-size:.88rem;font-weight:760;transition:background .16s,border-color .16s;display:inline-flex}.secondary-location-button:hover{background:var(--surface-strong);border-color:var(--accent-strong)}.secondary-location-button:disabled{cursor:wait;opacity:.7}.place-results{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.place-results button{background:var(--surface-muted);border:1px solid var(--subtle);color:var(--text);text-align:left;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;width:100%;padding:.65rem;display:grid}.place-results button:hover,.place-results button.is-active{background:var(--surface-strong);border-color:var(--accent)}.place-results span{overflow-wrap:anywhere;font-size:.82rem;line-height:1.25}.place-search-message{color:var(--muted);font-size:.82rem;line-height:1.35}.list-heading{margin-top:.15rem}.list-heading-actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.list-heading-actions h2{min-width:0}.parking-view-button{color:var(--accent-strong);background:0 0;border:0;border-radius:8px;flex:none;align-items:center;gap:.2rem;min-height:36px;padding:0 .25rem;font-size:.78rem;font-weight:760;display:inline-flex}.parking-view-button:hover,.parking-view-button:focus-visible{background:var(--hover-soft)}.list-heading h2{margin:0;font-size:.95rem;line-height:1.2}.list-heading h2 span{color:var(--muted);font-size:.8rem;font-weight:520;line-height:1.3}.category-chips{grid-auto-columns:max-content;grid-auto-flow:column;gap:.45rem;margin:0;padding:0 .05rem;display:grid;overflow:hidden}.category-chips[data-overflow=true]{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x;scroll-padding-inline:.05rem;overflow:auto hidden}.category-chips::-webkit-scrollbar{display:none}.category-chip{background:var(--surface-muted);border:1px solid var(--subtle);color:var(--muted);scroll-snap-align:start;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;min-width:0;min-height:44px;padding:.45rem .75rem;font-size:.78rem;font-weight:760;display:inline-flex}.category-chip:hover,.category-chip:focus-visible{border-color:var(--accent);color:var(--accent-strong)}.category-chip[data-active=true]{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.category-chip-combo{background:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent-strong);scroll-snap-align:start;border:0;border-radius:999px;align-items:stretch;height:44px;display:inline-flex}.category-chip--combo{color:#fff;scroll-snap-align:none;border:0;border-radius:999px 0 0 999px;min-height:44px;padding-right:.65rem}.category-chip--combo:hover,.category-chip--combo:focus-visible{color:#fff;background:#ffffff17}.parking-discovery-toolbar{grid-template-columns:minmax(0,1fr);align-items:center;gap:.45rem;min-width:0;margin-bottom:.25rem;display:grid}.parking-filters-button{border:1px solid var(--subtle);color:var(--text);background:0 0;border-radius:9px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex;position:relative}.parking-filters-button--combo{color:#fff;background:0 0;border:0;border-left:1px solid #ffffff59;border-radius:0 999px 999px 0;height:44px}.parking-filters-button[data-active=true]{background:var(--selected-surface);border-color:var(--accent);color:var(--accent-strong)}.parking-filters-button:hover,.parking-filters-button:focus-visible{border-color:var(--accent)}.parking-filters-button.parking-filters-button--combo:hover,.parking-filters-button.parking-filters-button--combo:focus-visible{background:#ffffff1f;border-color:#ffffff8c}.parking-filters-button.parking-filters-button--combo[data-active=true]{color:#fff;background:#ffffff24;border-color:#ffffff8c}.parking-filter-count{background:var(--accent-strong);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1.3rem;height:1.3rem;padding:0 .25rem;font-size:.7rem;display:inline-flex;position:absolute;top:-.42rem;right:-.42rem}.parking-filters-button--combo .parking-filter-count{min-width:1.05rem;height:1.05rem;padding:0 .18rem;font-size:.6rem;top:.05rem;right:.05rem}.parking-filter-panel{flex-direction:column;flex:1;min-height:0;display:flex}.parking-filter-panel--overlay{background:var(--surface);z-index:3;position:relative}.parking-filter-panel-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.parking-filter-scroll{overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.parking-filter-scroll::-webkit-scrollbar{display:none}.parking-filter-header{border-bottom:1px solid var(--separator);grid-template-columns:minmax(4.4rem,1fr) auto minmax(4.4rem,1fr);align-items:center;gap:.4rem;min-height:52px;display:grid}.parking-filter-header h2{white-space:nowrap;margin:0;font-size:1rem}.parking-filter-header button{color:var(--accent-strong);background:0 0;border:0;align-items:center;gap:.15rem;min-height:40px;padding:.3rem;font-size:.78rem;font-weight:740;display:inline-flex}.parking-filter-header button:last-child{justify-self:end}.parking-filter-sort{border:0;margin:1rem 0 0;padding:0}.parking-filter-sort legend{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.45rem;font-size:.72rem;font-weight:760}.parking-filter-sort>div{background:var(--surface-muted);border:1px solid var(--subtle);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:3px;display:grid}.parking-filter-sort button{color:var(--muted);background:0 0;border:0;border-radius:7px;min-height:38px;font-size:.8rem;font-weight:730}.parking-filter-sort button[data-active=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0f2c251f}.parking-filter-sort button:disabled{cursor:not-allowed;opacity:.45}.parking-filter-options{border-bottom:1px solid var(--separator);border-top:1px solid var(--separator);margin-top:1rem}.parking-filter-option{border:0;border-bottom:1px solid var(--separator);color:var(--text);text-align:left;background:0 0;justify-content:space-between;align-items:center;width:100%;min-height:50px;padding:0;font-size:.88rem;font-weight:650;display:flex}.parking-filter-check{border:1.5px solid var(--subtle);color:#fff;border-radius:5px;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.parking-filter-option[data-active=true] .parking-filter-check{background:var(--accent-strong);border-color:var(--accent-strong)}.parking-filter-capacity{justify-content:space-between;align-items:center;gap:.75rem;min-height:66px;display:flex}.parking-filter-capacity>span{flex-direction:column;gap:.15rem;display:flex}.parking-filter-capacity strong{font-size:.88rem}.parking-filter-capacity small{color:var(--muted);font-size:.7rem}.parking-filter-capacity>div{grid-template-columns:34px minmax(42px,auto) 34px;align-items:center;display:grid}.parking-filter-capacity button{border:1px solid var(--subtle);color:var(--accent-strong);background:0 0;justify-content:center;align-items:center;height:34px;padding:0;display:inline-flex}.parking-filter-capacity button:first-child{border-radius:8px 0 0 8px}.parking-filter-capacity button:last-child{border-radius:0 8px 8px 0}.parking-filter-capacity button:disabled{color:var(--muted);opacity:.45}.parking-filter-capacity output{border-bottom:1px solid var(--subtle);border-top:1px solid var(--subtle);justify-content:center;align-items:center;height:34px;padding:0 .25rem;font-size:.78rem;font-weight:760;display:inline-flex}.parking-filter-unknown-note{color:var(--muted);align-items:flex-start;gap:.4rem;margin:.8rem 0;font-size:.74rem;line-height:1.35;display:flex}.parking-filter-unknown-note svg{flex:none}.parking-filter-apply{background:var(--accent-strong);color:#fff;border:0;border-radius:10px;width:100%;min-height:46px;margin-top:auto;padding:.65rem 1rem;font-size:.88rem;font-weight:780}.parking-best-match{background:var(--selected-surface);color:var(--accent-strong);border-radius:999px;flex:none;align-items:center;gap:.18rem;padding:.18rem .38rem;font-size:.64rem;font-weight:780;display:inline-flex}.parking-filter-boundary{color:var(--muted);text-align:center;text-wrap:balance;grid-template-columns:minmax(.75rem,1fr) minmax(0,auto) minmax(.75rem,1fr);align-items:center;gap:.55rem;padding:.05rem .15rem;font-size:.68rem;font-weight:720;line-height:1.2;display:grid}.parking-filter-boundary:before,.parking-filter-boundary:after{background:var(--separator);content:"";height:1px}.parking-filter-boundary>span{min-width:0}:root[data-theme=dark] .category-chip{color:#d5e2de;background:#17211e;border-color:#48635b}:root[data-theme=dark] .category-chip:hover,:root[data-theme=dark] .category-chip:focus-visible{border-color:var(--accent);color:#e1fff7;background:#1c332f}:root[data-theme=dark] .category-chip[data-active=true]{border-color:var(--accent);color:var(--accent-strong);background:#173f39}:root[data-theme=dark] .category-chip-combo{background:#173f39;box-shadow:inset 0 0 0 1px #48635b}:root[data-theme=dark] .parking-filters-button--combo{color:var(--accent-strong);border-left-color:#48635b}:root[data-theme=dark] .parking-filters-button--combo:hover,:root[data-theme=dark] .parking-filters-button--combo:focus-visible,:root[data-theme=dark] .parking-filters-button--combo[data-active=true]{border-left-color:var(--accent);color:#e1fff7;background:#24564c}:root[data-theme=dark] .parking-filters-button--combo .parking-filter-count{color:#10201c}.cycling-poi-row-meta{flex-direction:column;align-items:flex-start;gap:.2rem;display:flex!important}.cycling-poi-meta-item{align-items:center;gap:.25rem;min-width:0;display:inline-flex}.cycling-poi-opening-hours-inline{overflow-wrap:anywhere;max-width:100%}.cycling-poi-opening-hours-block{align-items:flex-start;gap:.25rem;max-width:100%;display:flex}.cycling-poi-opening-hours-block>svg{flex:none;margin-top:.1rem}.cycling-poi-opening-hours-lines{overflow-wrap:anywhere;flex-direction:column;gap:.1rem;min-width:0;display:flex}.cycling-poi-services{color:var(--accent-strong);flex-wrap:wrap;align-items:center;gap:.18rem .35rem;max-width:100%;font-size:.76rem;font-weight:640;line-height:1.2;display:flex}.cycling-poi-service{white-space:nowrap;align-items:center;gap:.2rem;display:inline-flex}.cycling-poi-service svg{flex:none}.cycling-poi-service-separator{color:var(--muted);line-height:1}.parking-list-website{color:var(--accent-strong);pointer-events:auto;text-underline-offset:.18em;white-space:nowrap;z-index:2;flex:none;align-items:center;gap:.28rem;font-size:.76rem;font-weight:740;line-height:1.2;text-decoration:underline;text-decoration-thickness:1px;display:inline-flex;position:relative}.parking-list-website:hover,.parking-list-website:focus-visible{color:var(--text)}.parking-marker.cycling-poi-marker span{color:#fff;background:#176b5c}.parking-marker.cycling-poi-marker-shop span{background:#176b5c}.parking-marker.cycling-poi-marker-repair span{background:#9a5b24}.parking-marker.cycling-poi-marker-hire span{background:#315f8f}.parking-marker.cycling-poi-marker-water span{color:#fff;background:#2563eb;border:3px solid #fff}.parking-marker.cycling-poi-marker-water span svg{width:15px;height:15px;display:block}.parking-marker.cycling-poi-marker-water.parking-marker-selected span{box-shadow:0 0 0 4px #2563eb3d, 0 8px 20px var(--marker-shadow);background:#2563eb;border-color:#fff}.search-box{background:var(--surface);border:1px solid var(--subtle);border-radius:12px;align-items:center;gap:.4rem;min-height:46px;padding:0 .45rem 0 .6rem;display:flex}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-box input{color:var(--text);background:0 0;border:0;outline:0;flex:1;min-width:0}.search-box input::-webkit-search-cancel-button{appearance:none}.search-box-icon{flex:none}.search-clear-button{color:var(--muted);background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex}.search-clear-button:hover,.search-clear-button:focus-visible{background:var(--surface-strong);color:var(--text)}.search-box input::placeholder{color:#87958f}.parking-list{flex-direction:column;flex:none;gap:.55rem;margin:0;padding:0 0 .25rem;list-style:none;display:flex}.parking-list-scroll{background:var(--surface);flex:none}.parking-list-context{color:var(--warning);border:1px solid #0000;border-radius:8px;margin-bottom:.55rem;padding:.55rem .65rem;font-size:.78rem;font-weight:400;line-height:1.3;box-shadow:inset 0 0 0 1px #e4c6a5}.parking-retry-button{color:currentColor;font:inherit;text-underline-offset:.16em;background:0 0;border:0;margin-left:.45rem;padding:0;font-weight:750;text-decoration:underline}.parking-list-item{background:var(--surface-muted);box-shadow:inset 0 0 0 1px var(--subtle);border:1px solid #0000;border-radius:12px;grid-template-columns:minmax(0,1fr);grid-template-areas:"details";align-items:stretch;min-height:66px;display:grid;overflow:hidden}.parking-list-item:hover{background:var(--surface-strong);box-shadow:inset 0 0 0 1px var(--accent)}.parking-row{color:var(--text);text-align:left;background:0 0;border:0;grid-area:details;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.7rem;width:100%;min-height:66px;padding:.65rem;display:grid;position:relative}.parking-row-selection{border-radius:inherit;z-index:0;background:0 0;border:0;padding:0;position:absolute;inset:0}.parking-row>.rank,.parking-row>.parking-row-copy,.parking-row>.parking-saved-indicator{pointer-events:none;z-index:1;position:relative}.saved-parking-row{grid-template-columns:minmax(0,1fr) auto}.saved-list-item-missing{opacity:.78;grid-template-columns:minmax(0,1fr) 2.75rem}.saved-list-item-missing .parking-save-button{border-left:1px solid var(--separator)}.parking-row:hover{background:0 0}.parking-row:has(.parking-row-selection:focus-visible){outline:2px solid var(--accent);outline-offset:-3px;border-radius:10px}.parking-row-selection:focus-visible{outline:none}.parking-list-item:has(.parking-row.selected){background:var(--selected-surface);box-shadow:inset 0 0 0 1px var(--selected-border);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"details actions"}.parking-list-item:has(.parking-row.closest){background:var(--surface-strong)}.parking-list-item:has(.parking-row.closest.selected){background:var(--selected-surface);box-shadow:inset 0 0 0 1px var(--selected-border)}.rank{background:var(--rank-list-bg);box-shadow:0 0 0 1px var(--rank-list-border);color:var(--rank-list-text);border-radius:999px;place-items:center;width:2rem;height:2rem;font-size:.82rem;font-weight:800;display:grid}.rank-1{background:var(--rank-1-bg);color:var(--rank-text)}.rank-2{background:var(--rank-2-bg);color:var(--rank-text)}.rank-3{background:var(--rank-3-bg);color:var(--rank-text)}.rank-1,.rank-2,.rank-3{box-shadow:0 0 0 2px var(--marker-border)}.rank-1{box-shadow:0 0 0 3px var(--rank-list-bg), 0 0 0 5px var(--marker-border)}.parking-list-item--uncertain .rank{background:var(--surface-strong);box-shadow:0 0 0 1px var(--subtle);color:var(--muted)}.parking-row-copy{min-width:0}.parking-saved-indicator{color:var(--accent-strong);align-self:center;place-items:center;display:grid}.parking-row-copy strong{overflow-wrap:anywhere;font-size:.92rem;line-height:1.25;display:block}.parking-row-copy>.saved-neuk-title-row{color:var(--text);align-items:center;gap:.4rem;min-width:0;margin-top:0;display:flex}.saved-neuk-title-row strong{min-width:0}.saved-neuk-kind{background:var(--selected-soft);border:1px solid var(--selected-border);color:var(--accent-strong);white-space:nowrap;border-radius:999px;flex:none;padding:.2rem .38rem;font-size:.65rem;font-weight:760;line-height:1}.parking-row-copy>span{color:var(--muted);margin-top:.2rem;font-size:.82rem;display:block}.parking-row-copy>.parking-row-details{grid-template-columns:repeat(2,minmax(5.6rem,max-content));align-items:center;gap:.28rem .9rem;max-width:100%;line-height:1.2;display:grid}.parking-row-detail{color:var(--muted);grid-template-columns:1rem minmax(0,max-content);align-items:center;gap:.25rem;min-width:0;display:inline-grid}.parking-row-detail>span:last-child{overflow-wrap:normal;white-space:nowrap;min-width:0}.parking-row-detail-icon{color:var(--accent-strong);place-items:center;min-width:1rem;font-size:.78rem;font-weight:800;display:grid}.parking-row-detail svg,.parking-row-detail>svg{color:var(--accent-strong);justify-self:center}.parking-directions-button,.parking-details-button,.parking-share-button,.parking-save-button,.parking-more-button,.parking-more-menu-item{color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:.35rem;min-height:66px;padding:0;font-size:.78rem;font-weight:720;display:inline-flex;position:relative}.parking-details-button,.parking-directions-label{display:none}.parking-list-actions{grid-area:actions;align-items:stretch;gap:0;padding:0;display:flex;position:relative}.parking-list-actions>.parking-directions-button{border-left:1px solid var(--separator);color:var(--accent-strong);background:0 0;border-radius:0;width:44px;min-width:44px;height:100%;min-height:66px;padding:0}.parking-list-actions>.parking-list-save-button{color:var(--accent-strong);min-width:58px;min-height:66px;padding:0 .45rem}.parking-list-actions>.parking-directions-button:hover,.parking-list-actions>.parking-directions-button:focus-visible{background:var(--hover-soft);color:var(--accent-strong)}.parking-list-actions>.parking-directions-button:active{background:var(--selected-soft)}.parking-list-actions>.parking-directions-button:disabled{background:var(--control-disabled-bg);color:var(--control-disabled-text)}.parking-more-menu-shell{border-left:1px solid var(--separator);display:grid;position:relative}.parking-more-button{color:var(--accent-strong);border-radius:0;min-width:44px;height:100%;min-height:66px}.parking-more-button:hover,.parking-more-button:focus-visible,.parking-more-button[aria-expanded=true]{background:var(--hover-soft);color:var(--accent-strong)}.parking-more-menu{background:var(--surface);border:1px solid var(--subtle);box-shadow:var(--shadow);z-index:1100;border-radius:10px;min-width:14rem;padding:.3rem;display:grid;position:fixed}.parking-more-menu-item{color:var(--text);text-align:left;white-space:nowrap;border-radius:7px;justify-content:flex-start;gap:.55rem;min-height:44px;padding:.55rem .65rem;font-size:.82rem}.parking-more-menu-item:hover,.parking-more-menu-item:focus-visible{background:var(--hover-soft);color:var(--accent-strong)}.parking-directions-button.active{background:var(--selected-soft);color:var(--selected-text)}.parking-directions-button:hover,.parking-directions-button:focus-visible,.parking-share-button:hover,.parking-share-button:focus-visible{background:var(--hover-soft);color:var(--accent-strong)}.parking-save-button[aria-pressed=true]{color:var(--accent-strong)}.parking-save-button:hover,.parking-save-button:focus-visible{background:var(--hover-soft);color:var(--accent-strong)}.saved-neuks-empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:.55rem;padding:1.5rem 1rem;display:flex}.saved-neuks-empty h3{color:var(--text);margin:0;font-size:1rem}.saved-neuks-empty button{background:var(--accent);color:#fff;border:0;border-radius:999px;min-height:42px;margin-top:.35rem;padding:0 1rem;font-weight:760}.parking-share-message{color:var(--accent-strong);font-size:.82rem;font-weight:700}.parking-detail-view{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.parking-detail-body{flex-direction:column;flex:1;gap:1rem;min-height:0;display:flex}.parking-detail-body>*{flex-shrink:0}.parking-details-toolbar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.parking-details-back{color:var(--accent-strong);background:0 0;border:0;border-radius:8px;align-items:center;gap:.32rem;min-height:44px;padding:0 .35rem;font-size:.84rem;font-weight:760;display:inline-flex}.parking-details-back:hover,.parking-details-back:focus-visible{background:var(--hover-soft)}.parking-details-utilities{flex:none;align-items:center;gap:.2rem;display:flex}.parking-detail-utility{color:var(--accent-strong);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex;position:relative}.parking-detail-utility:hover,.parking-detail-utility:focus-visible{background:var(--hover-soft)}.parking-detail-utility:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.parking-detail-utility[aria-pressed=true]{background:var(--accent-soft)}.parking-details-header{gap:.38rem;display:grid}.parking-details-header h1{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:1.45rem;line-height:1.12}.parking-details-header>span{color:var(--muted);font-size:.78rem;font-weight:740}.parking-detail-overview{border-top:1px solid var(--separator);grid-template-columns:minmax(6.75rem,.88fr) minmax(9rem,1.12fr);align-items:stretch;gap:.8rem;min-width:0;padding-top:.65rem;display:grid}.parking-detail-overview--facts-only{grid-template-columns:minmax(0,1fr)}.parking-detail-facts{gap:0;min-width:0;display:grid}.parking-detail-facts.parking-row-details-count-1,.parking-detail-facts.parking-row-details-count-2,.parking-detail-facts.parking-row-details-count-3,.parking-detail-facts.parking-row-details-count-4{grid-template-columns:minmax(0,1fr)}.parking-detail-facts .parking-row-detail{border-left:0;border-top:1px solid var(--separator);text-align:left;background:0 0;grid-template-columns:1.55rem minmax(0,1fr);align-items:center;gap:.48rem;min-height:2.75rem;padding:.38rem 0;display:grid}.parking-detail-facts .parking-row-detail:first-child{border-top:0}.parking-detail-facts .parking-row-detail-spaces{flex-direction:column;justify-content:center;align-items:start;gap:.08rem;min-height:4.3rem;padding:.2rem 0 .48rem;display:flex}.parking-detail-facts .parking-row-detail-icon{color:var(--accent-strong);justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.parking-detail-facts .parking-row-detail svg{width:18px;height:18px}.parking-detail-facts .parking-row-detail-spaces .parking-row-detail-icon{justify-content:flex-start;font-size:1.85rem;font-weight:820;line-height:1}.parking-detail-facts .parking-row-detail>span:last-child{color:var(--text);overflow-wrap:anywhere;white-space:normal;max-width:100%;font-size:.8rem;font-weight:740}.parking-detail-facts .parking-row-detail-spaces>span:last-child{color:var(--muted);font-size:.78rem}.parking-detail-street-view{background:var(--map-loading-bg);border:1px solid var(--subtle);border-radius:11px;align-self:stretch;min-width:0;min-height:9rem;position:relative;overflow:hidden}.parking-detail-street-view-frame{pointer-events:none;transform-origin:0 0;border:0;width:142.86%;height:142.86%;display:block;position:absolute;inset:0 auto auto 0;transform:scale(.7)}.parking-detail-street-view-trigger{border-radius:inherit;cursor:pointer;background:0 0;border:0;width:100%;padding:0;position:absolute;inset:0}.parking-detail-street-view-trigger:hover{box-shadow:inset 0 0 0 2px var(--accent)}.parking-detail-street-view-trigger:focus-visible{box-shadow:inset 0 0 0 3px var(--accent);outline:0}.parking-detail-street-view-expand{background:var(--surface);border:1px solid var(--subtle);color:var(--accent-strong);border-radius:999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex;position:absolute;bottom:.45rem;right:.45rem;box-shadow:0 2px 8px #10201c2e}.parking-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:0;display:grid}.parking-detail-action{background:var(--surface);border:1px solid var(--accent);color:var(--accent-strong);text-align:center;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;min-width:0;min-height:2.9rem;padding:.4rem .55rem;font-size:.82rem;font-weight:760;text-decoration:none;display:flex}.parking-detail-action:hover{background:var(--accent-soft)}.parking-detail-action:focus-visible{background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:1px}.parking-detail-action-icon{color:var(--accent-strong);justify-content:center;align-items:center;display:flex}.parking-detail-action--primary{background:var(--accent);border-color:var(--accent);color:#fff}.parking-detail-action--primary:hover,.parking-detail-action--primary:focus-visible{background:var(--accent-strong)}.parking-detail-action--primary .parking-detail-action-icon,.parking-detail-action--primary .parking-detail-action-label{color:#fff}.parking-detail-action-label{color:currentColor;overflow-wrap:anywhere;font-size:.82rem;font-weight:760;line-height:1.2}.parking-detail-action:disabled{background:var(--control-disabled-bg);border-color:var(--subtle);color:var(--control-disabled-text);cursor:not-allowed}.parking-detail-action:disabled .parking-detail-action-icon,.parking-detail-action:disabled .parking-detail-action-label{color:var(--control-disabled-text)}.parking-detail-message{margin:-.25rem 0}.parking-share-tooltip{background:var(--tooltip-bg);color:var(--tooltip-text);white-space:nowrap;z-index:1;border-radius:6px;padding:.35rem .45rem;font-size:.72rem;font-weight:800;line-height:1;position:absolute;bottom:calc(100% + .35rem);right:0}.directions-mode{flex-direction:column;flex:1;gap:1rem;min-height:0;display:flex;overflow:hidden}.directions-scroll{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:1rem;min-height:0;margin-bottom:-.75rem;padding-bottom:.25rem;display:flex;overflow:auto}.directions-route-content{flex-direction:column;gap:.5rem;display:flex}.directions-mode-header{flex-direction:column;flex:none;align-items:stretch;gap:.85rem;display:flex}.directions-header-main{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.directions-header-actions{flex:none;align-items:center;gap:.5rem;display:flex}.directions-title{align-items:center;gap:.85rem;min-width:0;display:flex}.directions-title>div:last-child{gap:.15rem;min-width:0;display:grid}.directions-mark{color:var(--accent)}.directions-mark svg{display:block}.directions-mode-header h1{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:1.35rem;line-height:1.1}.directions-mode-header p{color:var(--muted);margin:.25rem 0 0;font-size:.88rem;line-height:1.35}.directions-parking-details{grid-template-columns:minmax(0,max-content);align-items:start;gap:.28rem;max-width:100%;margin-top:.35rem;line-height:1.2;display:grid}.directions-mode-header button{background:var(--surface);border:1px solid var(--accent);color:var(--accent-strong);border-radius:8px;flex:none;justify-content:center;align-items:center;gap:.5rem;min-height:46px;padding:0 .75rem;font-size:.88rem;font-weight:760;transition:background .16s,border-color .16s;display:inline-flex}.directions-mode-header button:hover,.directions-mode-header button:focus-visible{background:var(--surface-strong);border-color:var(--accent-strong)}.directions-mode-header .directions-route-start-button{background:var(--accent);color:#fff}.directions-mode-header .directions-route-start-button:hover,.directions-mode-header .directions-route-start-button:focus-visible{background:var(--accent-strong)}.directions-mode-header button svg{width:1rem;height:1rem}.directions-live-status{color:var(--warning);background:#f59e0b1f;border:1px solid #f59e0b61;border-radius:8px;margin:-.25rem 0 0;padding:.55rem .7rem;font-size:.84rem;font-weight:680;line-height:1.3}.directions-live-status-arrived{color:var(--popup-positive-text);background:#16a34a1f;border-color:#16a34a61}.directions-message,.directions-attribution{margin:0;font-size:.82rem;line-height:1.35}.directions-message{color:var(--muted)}.directions-summary{gap:.4rem;display:grid}.directions-current-step{background:var(--selected-soft);border:1px solid #2563eb52;border-left:3px solid var(--selected-border);color:var(--selected-text);border-radius:8px;grid-template-columns:2.4rem minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:3.7rem;padding:.65rem .75rem;display:grid;box-shadow:0 8px 18px #2563eb1a}.directions-current-step-text{color:var(--selected-text);overflow-wrap:anywhere;font-size:.95rem;font-weight:800;line-height:1.3}.directions-route-options{background:var(--surface);border:1px solid var(--subtle);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.directions-mode-header .directions-route-option{border:0;border-right:1px solid var(--separator);color:var(--text);white-space:normal;background:0 0;border-radius:0;justify-items:center;gap:.06rem;width:100%;min-height:4.8rem;padding:.44rem .25rem .5rem;transition:background .16s,box-shadow .16s,color .16s;display:grid;position:relative}.directions-mode-header .directions-route-option:last-child{border-right:0}.directions-mode-header .directions-route-option:hover,.directions-mode-header .directions-route-option:focus-visible{background:var(--hover-soft);border-color:var(--separator)}.directions-mode-header .directions-route-option-selected,.directions-mode-header .directions-route-option-selected:hover,.directions-mode-header .directions-route-option-selected:focus-visible{background:var(--selected-surface);box-shadow:inset 0 0 0 1px var(--selected-border), inset 0 -3px 0 var(--selected-border);z-index:1;border-radius:8px}.directions-mode-header .directions-route-option:disabled{cursor:default;opacity:.58}.directions-mode-header .directions-route-option-selected:disabled{opacity:1}.directions-route-option-label{overflow-wrap:anywhere;text-align:center;align-items:center;min-height:1.15rem;font-size:.78rem;font-weight:700;line-height:1.05;display:flex}:root[lang=hy] .directions-route-option-label{letter-spacing:-.015em;font-size:.63rem}.directions-route-option-selected .directions-route-option-label{color:var(--selected-text)}.directions-route-option-duration{color:var(--text);justify-content:center;align-items:baseline;gap:.25rem;min-height:1.42rem;line-height:1;display:flex}.directions-route-option-duration strong{color:inherit;font-size:1.3rem;font-weight:780;line-height:1}.directions-route-option-selected .directions-route-option-duration strong{color:var(--selected-text)}.directions-route-option-duration-unit{font-size:.9rem;font-weight:630;line-height:1}.directions-route-option small{color:var(--muted);font-size:.76rem;font-weight:580;line-height:1.1}.directions-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.directions-list li{border-bottom:1px solid var(--separator);cursor:pointer;border-left:3px solid #0000;border-radius:8px;grid-template-columns:2.4rem minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:4.2rem;padding:.7rem .75rem;transition:background .18s,box-shadow .18s;display:grid;position:relative}.directions-list li:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.directions-list li:hover{background:var(--surface-strong)}.directions-list-item-active{background:var(--selected-soft);border-left-color:var(--selected-border);box-shadow:inset 0 0 0 1px #2563eb3d}.directions-list-item-active:hover{background:var(--selected-soft)}.directions-list-item-live-active,.directions-list-item-live-active:hover{box-shadow:none;background:0 0}.directions-list-item-live-active .directions-step-icon{border-color:var(--selected-border);color:var(--selected-text)}.directions-list-item-live-active .directions-step-text{font-weight:680}.directions-list li:before,.directions-list li:after{background:var(--accent);content:"";opacity:.78;width:2px;position:absolute;left:1.9rem}.directions-list li:before{top:50%;bottom:0}.directions-list li:after{top:0;bottom:50%}.directions-list li:first-child:after,.directions-list li:last-child:before{display:none}.directions-step-icon{background:var(--surface);border:2px solid var(--accent);color:var(--text);z-index:1;border-radius:999px;place-items:center;width:2.35rem;height:2.35rem;font-size:.85rem;font-weight:820;display:grid;position:relative}.directions-step-icon svg{display:block}.directions-current-step-icon{background:var(--selected-border);border-color:var(--selected-border);color:#fff}.directions-list li:first-child .directions-step-icon{border-color:var(--selected-border);box-shadow:0 0 0 3px var(--selected-soft);color:var(--selected-text)}.directions-step-text{color:var(--text);overflow-wrap:anywhere;font-size:.9rem;line-height:1.35}.directions-list-item-active .directions-step-text{font-weight:760}.directions-step-distance{background:var(--surface-strong);color:var(--muted);white-space:nowrap;border-radius:999px;padding:.38rem .55rem;font-size:.78rem;font-weight:760}.selected-route-instruction-marker{background:0 0;border:0}.selected-route-instruction-marker span{color:#1d4ed8;background:#fff;border:2px solid #2563eb;border-radius:999px;place-items:center;width:30px;height:30px;display:grid;position:relative;box-shadow:0 0 0 4px #2563eb29,0 8px 18px #0f172a3d}.selected-route-instruction-marker span:after{content:"";background:#2563eb;border:2px solid #fff;border-radius:999px;width:8px;height:8px;position:absolute;bottom:-2px;right:-2px}.selected-route-instruction-marker svg{width:17px;height:17px;display:block}.directions-attribution{color:var(--muted);align-items:center;gap:.45rem;display:flex}.directions-attribution a{color:var(--selected-text);align-items:center;gap:.25rem;font-weight:760;display:inline-flex}.attribution{border-top:1px solid var(--subtle);color:var(--muted);justify-content:space-between;align-items:center;gap:.6rem;padding-top:.45rem;font-size:.7rem;line-height:1.2;display:flex}.attribution-trigger{color:var(--accent-strong);background:0 0;border:0;width:fit-content;padding:0;font-weight:700}.attribution-trigger:hover,.attribution-trigger:focus-visible{text-decoration:underline}.directions-footer{background:var(--surface);flex:none;margin-top:0}.route-workspace-view,.route-planner,.destination-parking-chooser,.saved-routes-panel,.saved-route-detail,.gpx-import-review{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.route-planner-header,.saved-routes-header{flex:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;display:grid}.gpx-import-review-header{flex:none;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.55rem;display:grid}.gpx-import-review-header>button{color:var(--accent-strong);background:0 0;border:0;justify-self:start;align-items:center;gap:.25rem;min-height:2.75rem;padding:0 .25rem;font-weight:760;display:inline-flex}.saved-route-detail-toolbar{flex:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.35rem;display:grid}.route-planner-header>button,.saved-routes-header>button,.saved-route-detail-back,.route-stop-toolbar button,.saved-route-actions button,.saved-route-mobile-actions button,.saved-route-mobile-action-menu button,.saved-routes-empty button{background:var(--surface);border:1px solid var(--accent);color:var(--accent-strong);border-radius:8px;justify-content:center;align-items:center;gap:.3rem;min-height:2.75rem;padding:.45rem .65rem;font-size:.8rem;font-weight:760;display:inline-flex}.saved-route-detail-back{padding-inline:.45rem}.route-planner-title,.saved-routes-header>span{justify-content:center;align-items:center;gap:.45rem;min-width:0;display:flex}.route-planner-title strong,.saved-routes-header strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.08rem;overflow:hidden}.route-planner-scroll,.saved-routes-scroll,.saved-route-scroll,.gpx-import-review-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:.8rem;min-height:0;margin-top:.8rem;padding:0 .1rem .5rem;display:flex;overflow-y:auto}.route-planner-scroll::-webkit-scrollbar{display:none}.saved-routes-scroll::-webkit-scrollbar{display:none}.saved-route-scroll::-webkit-scrollbar{display:none}.gpx-import-review-scroll::-webkit-scrollbar{display:none}.route-name-field{gap:.3rem;display:grid}.route-name-field>span:first-child,.route-place-search>label{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:.72rem;font-weight:760}.route-name-field input,.route-place-search input{background:var(--surface);border:1px solid var(--subtle);color:var(--text);font:inherit;border-radius:8px;width:100%;min-width:0;min-height:2.75rem;padding:0 .7rem}.route-name-field input:focus,.route-place-search input:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.route-stop-list{border-bottom:1px solid var(--separator);border-top:1px solid var(--separator)}.route-stop-row{border-bottom:1px solid var(--separator);grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.6rem;min-height:4.35rem;padding:.45rem 0;display:grid}.route-stop-row:last-child{border-bottom:0}.route-stop-number{background:var(--selected-surface);border:2px solid var(--selected-border);color:var(--selected-text);border-radius:999px;justify-content:center;align-items:center;width:1.85rem;height:1.85rem;font-size:.78rem;font-weight:820;display:flex}.route-stop-copy{gap:.08rem;min-width:0;display:grid}.route-stop-copy small{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:700}.route-stop-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;line-height:1.25;overflow:hidden}.route-stop-actions{gap:.12rem;display:flex}.route-stop-actions button{color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:2rem;height:2.35rem;padding:0;display:inline-flex}.route-stop-actions button:hover,.route-stop-actions button:focus-visible{background:var(--hover-soft);color:var(--accent-strong)}.route-stop-actions button:disabled{opacity:.3}.route-planner-message,.saved-routes-empty p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.35}.saved-route-error{color:#b91c1c;margin:0;font-size:.82rem;line-height:1.35}.saved-route-message{color:var(--accent-strong);margin:0;font-size:.82rem;line-height:1.35}.route-stop-toolbar,.saved-route-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.route-stop-toolbar button.is-active{background:var(--accent);color:#fff}.route-destination-parking-trigger{background:var(--selected-surface);border:1px solid var(--selected-border);color:var(--selected-text);text-align:left;border-radius:10px;align-items:center;gap:.65rem;width:100%;min-height:3.5rem;padding:.65rem .75rem;display:flex}.route-destination-parking-trigger>span{gap:.08rem;display:grid}.route-destination-parking-trigger strong{font-size:.86rem}.route-destination-parking-trigger small{color:var(--muted);font-size:.7rem}.destination-parking-chooser{gap:.7rem}.destination-parking-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.destination-parking-header>button{color:var(--accent-strong);background:0 0;border:0;align-items:center;gap:.2rem;min-height:2.5rem;padding:0 .25rem;font-size:.8rem;font-weight:760;display:inline-flex}.destination-parking-header>span{justify-content:center;align-items:center;gap:.45rem;min-width:0;display:flex}.destination-parking-header>span>span{min-width:0;display:grid}.destination-parking-header strong{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.destination-parking-header>span small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;font-weight:560;overflow:hidden}.destination-parking-header>small{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;padding:.3rem .45rem;font-size:.68rem;font-weight:780}.destination-parking-target{background:var(--surface-neutral);border:1px solid var(--separator);border-radius:10px;align-items:center;gap:.55rem;padding:.55rem .7rem;display:flex}.destination-parking-target>svg{color:var(--accent-strong);flex:none}.destination-parking-target>span{min-width:0;display:grid}.destination-parking-target small,.destination-parking-selected small{color:var(--muted);letter-spacing:.035em;text-transform:uppercase;font-size:.64rem;font-weight:780}.destination-parking-target strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.destination-parking-selected{grid-template-columns:2.25rem minmax(0,1fr);align-items:center;gap:.65rem;display:grid}.destination-parking-rank,.destination-parking-list-rank{background:var(--accent);border:3px solid var(--surface);box-shadow:0 3px 10px var(--marker-shadow);color:var(--primary-button-text);border-radius:999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:.82rem;font-weight:850;display:inline-flex}.destination-parking-copy{min-width:0}.destination-parking-selected-heading{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.destination-parking-best-badge{background:var(--accent-soft);color:var(--accent-strong);text-transform:none;border-radius:999px;align-items:center;gap:.2rem;padding:.27rem .42rem;font-size:.64rem;font-weight:780;display:inline-flex}.destination-parking-copy h2{text-overflow:ellipsis;white-space:nowrap;margin:.08rem 0 .18rem;font-size:1rem;line-height:1.2;overflow:hidden}.destination-parking-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.28rem;margin:0;font-size:.72rem;line-height:1.25;display:flex}.destination-parking-summary svg{color:var(--accent-strong);flex:none}.destination-parking-details{border:1px solid var(--separator);border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid;overflow:hidden}.destination-parking-details>div{border-right:1px solid var(--separator);text-align:center;gap:.12rem;min-width:0;padding:.48rem .35rem;display:grid}.destination-parking-details>div:last-child{border-right:0}.destination-parking-details dt{color:var(--muted);text-transform:uppercase;font-size:.6rem;font-weight:760}.destination-parking-details dd{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.68rem;font-weight:760;overflow:hidden}.destination-parking-list{border:1px solid var(--separator);border-radius:10px;flex:none;max-height:13rem;margin:0;padding:0;list-style:none;overflow-y:auto}.destination-parking-list li+li{border-top:1px solid var(--separator)}.destination-parking-list button{color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.55rem;width:100%;min-height:6.6rem;padding:.5rem .65rem;display:grid}.destination-parking-list button.is-selected{background:var(--selected-surface)}.destination-parking-list-rank{background:var(--surface);border-color:var(--accent);box-shadow:none;color:var(--accent-strong);width:1.8rem;height:1.8rem}.destination-parking-list strong{text-overflow:ellipsis;white-space:nowrap;margin-bottom:.18rem;font-size:.8rem;display:block;overflow:hidden}.destination-parking-list-copy{gap:.28rem;min-width:0;display:grid}.destination-parking-list-heading{justify-content:space-between;align-items:center;gap:.45rem;min-width:0;display:flex}.destination-parking-list-heading>strong{min-width:0}.destination-parking-list-heading>small{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;flex:none;padding:.22rem .35rem;font-size:.58rem;font-weight:780}.destination-parking-list-details{border-top:1px solid var(--separator);grid-template-columns:repeat(4,minmax(0,1fr));padding-top:.35rem;display:grid}.destination-parking-list-details>span{text-align:center;gap:.08rem;min-width:0;padding:0 .3rem;display:grid}.destination-parking-list-details>span+span{border-left:1px solid var(--separator)}.destination-parking-list-details small{color:var(--muted);text-transform:uppercase;font-size:.54rem;font-weight:760}.destination-parking-list-details strong{margin:0;font-size:.62rem}.destination-parking-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.destination-parking-actions button,.destination-parking-restore{background:var(--surface);border:1px solid var(--accent);color:var(--accent-strong);border-radius:9px;justify-content:center;align-items:center;gap:.3rem;min-height:2.75rem;padding:.5rem .65rem;font-size:.76rem;font-weight:780;display:inline-flex}.destination-parking-actions .destination-parking-confirm{background:var(--primary-button-bg);color:var(--primary-button-text);grid-column:1/-1}.destination-parking-actions button:last-child,.destination-parking-actions>button{grid-column:1/-1}.destination-parking-map-bar{display:none}.route-destination-map-bar{background:var(--surface);border:1px solid var(--subtle);box-shadow:var(--shadow);color:var(--text);text-align:left;z-index:560;border-radius:13px;grid-template-columns:2.5rem minmax(0,1fr) 2.5rem;align-items:center;gap:.45rem;width:min(28rem,100% - 8rem);max-width:calc(100% - 8rem);padding:.42rem;display:grid;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.route-destination-map-bike,.route-destination-map-status{border:1px solid var(--subtle);color:var(--accent-strong);border-radius:9px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex}.route-destination-map-copy{gap:.06rem;min-width:0;display:grid}.route-destination-map-copy small{color:var(--muted);letter-spacing:.035em;text-transform:uppercase;font-size:.62rem;font-weight:780}.route-destination-map-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.route-destination-search{flex-direction:column;flex:1;min-height:0;display:flex}.route-destination-search-header{grid-template-columns:minmax(4.5rem,1fr) auto minmax(4.5rem,1fr);align-items:center;gap:.5rem;display:grid}.route-destination-search-header h2{text-align:center;white-space:nowrap;margin:0;font-size:1.05rem;line-height:1.2}.route-destination-search-header>button{color:var(--accent-strong);background:0 0;border:0;justify-self:start;align-items:center;gap:.2rem;min-height:2.75rem;padding:0 .15rem;font-size:.82rem;font-weight:760;display:inline-flex}.route-destination-search-form{border:2px solid var(--accent);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.45rem;min-height:3.25rem;margin-top:.65rem;padding:0 .65rem;display:grid}.route-destination-search-form>svg{color:var(--accent-strong)}.route-destination-search-form input{color:var(--text);font:inherit;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:.92rem}.route-destination-search-form input::-webkit-search-cancel-button{display:none}.route-destination-search-clear{color:var(--text);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;padding:0;display:inline-flex}.route-destination-results{scrollbar-width:none;flex:1;min-height:0;margin:.55rem 0 0;padding:0;list-style:none;overflow-y:auto}.route-destination-results::-webkit-scrollbar{display:none}.route-destination-results li+li{border-top:1px solid var(--separator)}.route-destination-results button{color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:2.65rem minmax(0,1fr) auto;align-items:center;gap:.7rem;width:100%;min-height:4.5rem;padding:.65rem .35rem;display:grid}.route-destination-results button.is-selected{background:var(--selected-surface)}.route-destination-results button.is-active:not(.is-selected){background:var(--hover-soft);outline:2px solid var(--accent);outline-offset:-2px}.route-destination-result-icon{background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;justify-content:center;align-items:center;width:2.65rem;height:2.65rem;display:inline-flex}.route-destination-result-copy{gap:.12rem;min-width:0;display:grid}.route-destination-result-copy strong,.route-destination-result-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.route-destination-result-copy strong{font-size:.88rem}.route-destination-result-copy small{color:var(--muted);font-size:.72rem}.route-destination-result-status,.route-destination-search-message{color:var(--accent-strong);align-items:center;gap:.35rem;font-size:.75rem;display:flex}.route-destination-result-status svg,.route-destination-search-message svg,.route-destination-map-status .is-spinning{animation:.9s linear infinite destination-parking-spin}.route-destination-search-message{margin:.7rem 0 0}.route-destination-retry{background:var(--surface);border:1px solid var(--accent);color:var(--accent-strong);border-radius:8px;align-self:flex-start;align-items:center;gap:.35rem;min-height:2.5rem;margin-top:.65rem;padding:0 .7rem;font-weight:760;display:inline-flex}.route-destination-comparing{color:var(--muted);text-align:center;margin:.7rem 0 0;font-size:.72rem}.destination-parking-message{color:var(--muted);margin:0;font-size:.82rem;line-height:1.4}.destination-parking-loading{color:var(--muted);justify-content:center;align-items:center;gap:.65rem;min-height:8rem;display:flex}.destination-parking-loading>span{border:3px solid var(--subtle);border-top-color:var(--accent);border-radius:999px;width:1.7rem;height:1.7rem;animation:.9s linear infinite destination-parking-spin}.destination-parking-loading p{font-size:.8rem}@keyframes destination-parking-spin{to{transform:rotate(360deg)}}.route-place-search{gap:.35rem;display:grid}.route-place-search>div{grid-template-columns:minmax(0,1fr) 2.75rem;display:grid}.route-place-search>div input{border-radius:8px 0 0 8px}.route-place-search>div button{background:var(--accent);color:#fff;border:0;border-radius:0 8px 8px 0;justify-content:center;align-items:center;display:flex}.route-place-results,.saved-routes-list,.saved-route-instructions{margin:0;padding:0;list-style:none}.route-place-results button,.saved-routes-list button{border:0;border-bottom:1px solid var(--separator);color:var(--text);text-align:left;background:0 0;align-items:center;gap:.55rem;width:100%;min-height:3.25rem;padding:.55rem .35rem;display:flex}.route-planner-options{border:1px solid var(--subtle);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.route-planner-options button{border:0;border-right:1px solid var(--separator);color:var(--text);background:0 0;gap:.15rem;min-height:4.25rem;padding:.45rem .2rem;display:grid}.route-planner-options button:last-child{border-right:0}.route-planner-options button.is-selected{background:var(--selected-surface);box-shadow:inset 0 -3px 0 var(--selected-border);color:var(--selected-text)}.route-planner-options strong{font-size:.72rem}.route-planner-options small{color:var(--muted);font-size:.65rem;line-height:1.2}.route-planner-footer{flex:none;padding-top:.7rem}.route-map-editor{flex:none;gap:.75rem;width:100%;display:grid}.route-map-editor-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;display:grid}.route-map-editor-title{align-items:center;gap:.5rem;min-width:0;display:flex}.route-map-editor-icon{border:1px solid var(--subtle);color:var(--accent-strong);border-radius:8px;flex:none;justify-content:center;align-items:center;width:2.65rem;height:2.65rem;display:inline-flex}.route-map-editor-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.route-map-editor-count{border-left:1px solid var(--separator);color:var(--muted);flex:none;padding-left:.5rem;font-size:.82rem}.route-map-editor-header>button,.route-map-editor-status>button{color:var(--accent-strong);background:0 0;border:0;border-radius:7px;align-items:center;gap:.3rem;min-height:2.65rem;padding:.35rem .25rem;font-size:.82rem;font-weight:760;display:inline-flex}.route-map-editor-status{background:var(--surface-strong);border:1px solid var(--subtle);color:var(--accent-strong);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;min-height:3.45rem;padding:.4rem .65rem;display:grid}.route-map-editor-status>strong{color:var(--text);font-size:.84rem}.route-map-editor-status>button:disabled{color:var(--control-disabled-text);opacity:.65}.route-map-editor-help{color:var(--muted);margin:0;font-size:.82rem;line-height:1.35}.route-map-editor-done{background:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;gap:.45rem;width:100%;min-height:3.15rem;font-size:.92rem;font-weight:790;display:flex}.route-save-button{background:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;width:100%;min-height:3rem;font-size:.9rem;font-weight:780;display:flex}.route-save-button:disabled{background:var(--control-disabled-bg);border-color:var(--subtle);color:var(--control-disabled-text)}.saved-routes-new{color:var(--accent-strong)!important;background:0 0!important;border-color:#0000!important}.saved-routes-header>button:first-child{background:0 0;border-color:#0000}.saved-routes-import{background:var(--surface);border:1px solid var(--subtle);color:var(--text);text-align:left;border-left:0;border-right:0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;width:100%;min-height:4.5rem;padding:.65rem .75rem;display:grid}.saved-routes-import>svg:first-child{color:var(--accent-strong)}.saved-routes-import>span{gap:.15rem;min-width:0;display:grid}.saved-routes-import small{color:var(--muted);font-size:.72rem}.saved-routes-footer{border-top:1px solid var(--separator);color:var(--muted);text-align:center;flex:none;margin-top:.35rem;padding:.7rem .25rem 0;font-size:.72rem;line-height:1.35}.saved-routes-list li>button{grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;min-height:4.5rem;display:grid}.saved-routes-list button>span{gap:.2rem;min-width:0;display:grid}.saved-routes-list strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.saved-routes-list small{color:var(--muted);font-size:.72rem}.saved-route-chevron{transform:rotate(180deg)}.saved-routes-empty{text-align:center;flex-direction:column;align-items:center;gap:.65rem;padding:2rem 1rem;display:flex}.saved-routes-empty h2,.saved-route-scroll h2{margin:0;font-size:1rem}.saved-route-detail-toolbar h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:1.02rem;font-weight:800;line-height:1.2;overflow:hidden}.saved-route-name-edit{color:var(--accent-strong);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;min-height:2.5rem;padding:0;display:inline-flex}.saved-route-name-edit:hover,.saved-route-name-edit:focus-visible{background:var(--hover-soft)}.saved-route-name-editor{grid-column:2/-1;grid-template-columns:minmax(0,1fr) auto auto;display:grid}.saved-route-name-editor input{background:var(--surface);border:1px solid var(--subtle);color:var(--text);font:inherit;border-radius:8px 0 0 8px;min-width:0;min-height:2.75rem;padding:0 .7rem}.saved-route-name-editor input:focus{border-color:var(--accent);outline:2px solid var(--accent-soft);outline-offset:-2px}.saved-route-name-editor button{background:var(--accent);border:1px solid var(--accent);color:#fff;padding:0 .75rem;font-weight:760}.saved-route-name-editor button:last-child{border-radius:0 8px 8px 0}.saved-route-name-editor button.is-secondary{background:var(--surface);border-color:var(--subtle);color:var(--accent-strong)}.saved-route-summary{background:var(--surface);border:1px solid var(--subtle);text-align:center;border-radius:8px;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.saved-route-summary>strong{justify-content:center;align-items:center;min-width:0;min-height:2.55rem;padding:.45rem .4rem;font-size:.82rem;font-weight:760;line-height:1.2;display:flex}.saved-route-summary>strong+strong{border-left:1px solid var(--subtle)}.saved-route-actions button.is-primary{background:var(--accent);color:#fff}.saved-route-actions button.is-danger{color:#b91c1c;border-color:#b91c1c}.saved-route-share-sheet{background:var(--surface);border:1px solid var(--subtle);border-radius:10px;flex:none;display:grid;overflow:hidden;box-shadow:0 12px 28px #0f172a1f}.saved-route-share-sheet h2{padding:.8rem .85rem .35rem}.saved-route-share-sheet>button{border:0;border-bottom:1px solid var(--separator);color:var(--text);text-align:left;background:0 0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.7rem;min-height:3.75rem;padding:.65rem .85rem;display:grid}.saved-route-share-sheet>button>span{gap:.1rem;display:grid}.saved-route-share-sheet small,.saved-route-share-sheet p,.gpx-import-note{color:var(--muted);font-size:.75rem;line-height:1.4}.saved-route-share-sheet p{margin:0;padding:.65rem .85rem}.gpx-import-title{gap:.2rem;display:grid}.gpx-import-title h1{margin:0;font-size:1.16rem;line-height:1.25}.gpx-import-title small{color:var(--muted);font-size:.74rem}.gpx-import-note{background:var(--accent-soft);border-radius:8px;align-items:center;gap:.55rem;margin:0;padding:.75rem;display:flex}.gpx-import-actions{grid-template-columns:1fr;gap:.45rem;display:grid}.gpx-import-actions button{background:var(--surface);border:1px solid var(--accent);color:var(--accent-strong);border-radius:8px;justify-content:center;align-items:center;gap:.35rem;min-height:2.75rem;font-weight:760;display:inline-flex}.gpx-import-actions button.is-primary{background:var(--accent);color:#fff}.gpx-import-actions button:not(.is-primary){border-color:#0000}.saved-route-mobile-actions,.saved-route-mobile-action-menu{display:none}.saved-route-instructions li{border-bottom:1px solid var(--separator);grid-template-columns:1.65rem minmax(0,1fr) auto;align-items:center;gap:.5rem;min-height:3.2rem;padding:.55rem 0;display:grid}.saved-route-instruction-points{flex-direction:column;align-items:center;gap:.2rem;width:1.65rem;display:flex}.saved-route-instruction-point{color:#1d4ed8;background:#fff;border:2px solid #2563eb;border-radius:999px;justify-content:center;align-items:center;width:1.55rem;height:1.55rem;font-size:.68rem;font-weight:850;display:flex}.saved-route-instruction-point-finish{background:var(--accent);border-color:var(--accent);color:#fff}.saved-route-instruction-copy{font-size:.84rem}.saved-route-instructions small{color:var(--muted);font-size:.72rem}.route-waypoint-marker{color:#1d4ed8;background:#fff;border:3px solid #2563eb;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.78rem;font-weight:850;display:flex;box-shadow:0 3px 10px #0f172a47}.route-waypoint-marker-finish{background:var(--accent);color:#fff;border-color:#fff}.route-waypoint-marker-active{outline:2px solid var(--accent);outline-offset:3px}.attribution-modal{color:var(--text);background:0 0;border:0;width:calc(100% - 2rem);max-width:min(90vw,420px);margin:auto;padding:0}.attribution-modal::backdrop{background:#10201c6b}.attribution-modal-content{background:var(--surface);border:1px solid var(--subtle);box-shadow:var(--shadow);border-radius:8px;gap:.85rem;padding:1rem;display:grid}.attribution-modal-header{display:block}.attribution-modal h2{margin:0;font-size:1rem;line-height:1.2}.attribution-modal-close{background:var(--surface-strong);border:1px solid var(--subtle);color:var(--accent-strong);border-radius:8px;min-height:2rem;padding:0 .65rem;font-size:.78rem;font-weight:760}.attribution-modal-close:hover,.attribution-modal-close:focus-visible{background:var(--accent-soft);border-color:var(--accent)}.attribution-modal-footer{justify-content:flex-end;display:flex}.street-view-modal{color:var(--text);background:0 0;border:0;width:calc(100% - 1.5rem);max-width:min(94vw,960px);height:min(82vh,720px);margin:auto;padding:0}.street-view-modal::backdrop{background:#10201c8a}.street-view-modal-content{background:var(--surface);border:1px solid var(--subtle);box-shadow:var(--shadow);border-radius:8px;grid-template-rows:auto minmax(0,1fr);height:100%;display:grid;overflow:hidden}.street-view-modal-header{border-bottom:1px solid var(--subtle);justify-content:space-between;align-items:center;gap:.75rem;min-height:3rem;padding:.65rem .75rem;display:flex}.street-view-modal h2{min-width:0;margin:0;font-size:.95rem;line-height:1.25}.street-view-modal-close{background:var(--surface-strong);border:1px solid var(--subtle);color:var(--accent-strong);border-radius:8px;flex:none;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;display:inline-flex}.street-view-modal-close:hover,.street-view-modal-close:focus-visible{background:var(--accent-soft);border-color:var(--accent)}.street-view-frame{background:var(--map-loading-bg);border:0;width:100%;height:100%;min-height:320px;display:block}.attribution-details{gap:.35rem;display:grid}.attribution a{color:var(--accent-strong);font-weight:700}.attribution-details a:focus,.attribution-details a:focus-visible{box-shadow:none;text-underline-offset:.18em;outline:0;text-decoration:underline;text-decoration-thickness:.08em}.built-by-credit{text-align:right}.map-loading{background:var(--map-loading-bg);color:var(--muted);place-items:center;height:100%;display:grid}.parking-marker,.start-marker,.destination-marker,.live-route-marker{background:0 0;border:0}.parking-marker{justify-content:center;align-items:center;width:44px;height:44px;display:flex}.parking-marker>.parking-marker-bookmark{background:var(--surface);border:2px solid var(--accent);box-shadow:0 4px 10px var(--marker-shadow);color:var(--accent-strong);z-index:2;border-radius:999px;place-items:center;width:19px;height:19px;display:grid;position:absolute;bottom:2px;right:1px}.parking-marker>.parking-marker-bookmark svg{width:11px;height:11px;display:block}.parking-marker-saved:not(.parking-marker-ranked):not(.parking-marker-selected)>span:first-child{display:none}.parking-marker-saved:not(.parking-marker-ranked):not(.parking-marker-selected)>.parking-marker-bookmark{width:30px;height:30px;position:relative;bottom:auto;right:auto}.parking-marker-saved:not(.parking-marker-ranked):not(.parking-marker-selected)>.parking-marker-bookmark svg{width:16px;height:16px}.parking-marker span{box-shadow:0 8px 20px var(--marker-shadow);border-radius:999px;place-items:center;width:28px;height:28px;font-size:.72rem;font-weight:860;display:grid}.parking-marker-default span{background:var(--marker-fill);border:7px solid var(--pin-accent)}.parking-marker-ranked span{background:var(--ranked-pin-bg);border:3px solid var(--ranked-pin-border);color:var(--ranked-pin-text);font-size:.74rem;font-weight:900}.parking-marker-rank-1 span{background:var(--rank-1-bg);border:3px solid var(--marker-border);box-shadow:0 0 0 3px var(--rank-1-bg), 0 8px 20px var(--marker-shadow);color:var(--rank-text);font-size:.76rem}.parking-marker-rank-2 span{background:var(--rank-2-bg);border:3px solid var(--marker-border);box-shadow:0 0 0 2px var(--rank-2-bg), 0 8px 20px var(--marker-shadow);color:var(--rank-text);font-size:.72rem}.parking-marker-rank-3 span{background:var(--rank-3-bg);border:3px solid var(--marker-border);box-shadow:0 0 0 2px var(--rank-3-bg), 0 8px 20px var(--marker-shadow);color:var(--rank-text);font-size:.72rem}.parking-marker-selected span{background:var(--pin-accent);border:3px solid var(--marker-border);color:var(--pin-selected-text)}.parking-marker-selected-ranked span{background:var(--pin-accent);border:3px solid var(--marker-border);box-shadow:0 0 0 3px #0f766e3d, 0 8px 20px var(--marker-shadow);color:var(--pin-selected-text)}.start-marker span{border:3px solid var(--marker-border);box-shadow:0 10px 22px var(--marker-shadow);background:#2563eb;border-radius:999px 999px 999px 0;width:30px;height:30px;display:block;position:relative;transform:rotate(-45deg)}.start-marker span:after{background:var(--marker-border);content:"";border-radius:999px;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.destination-marker span{background:var(--pin-accent);border:3px solid var(--marker-border);box-shadow:0 0 0 3px #0f766e38, 0 12px 26px var(--marker-shadow);border-radius:999px 999px 999px 0;width:30px;height:30px;display:block;position:relative;transform:rotate(-45deg)}.destination-marker span:after{background:var(--marker-border);content:"";border-radius:999px;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.live-route-marker span{border:3px solid var(--marker-border);box-shadow:0 0 0 4px #2563eb3d, 0 10px 24px var(--marker-shadow);color:#fff;isolation:isolate;background:#2563eb;border-radius:999px;place-items:center;width:34px;height:34px;display:grid;position:relative}.live-route-marker span:before{border-radius:inherit;content:"";z-index:-1;border:2px solid #2563eb6b;animation:1.8s ease-out infinite live-route-pulse;position:absolute;inset:-8px}.live-route-marker svg{z-index:2;width:20px;height:20px;position:relative}.live-route-heading{--live-route-heading-fill:#2563eb;filter:drop-shadow(0 2px 4px #10201c4d);pointer-events:none;transform-origin:50% 38px;z-index:1;width:22px;height:22px;position:absolute;top:-20px;left:50%}.live-route-heading:before,.live-route-heading:after{clip-path:path("M 11 1.5 C 12.2 1.5 13.2 2.2 13.7 3.3 L 21 19 C 21.8 20.8 19.9 22.5 18.3 21.5 L 11 17.1 L 3.7 21.5 C 2.1 22.5 0.2 20.8 1 19 L 8.3 3.3 C 8.8 2.2 9.8 1.5 11 1.5 Z");content:"";border-radius:8px;position:absolute;inset:0}.live-route-heading:before{background:var(--marker-border);inset:0}.live-route-heading:after{background:var(--live-route-heading-fill);transform-origin:50%;transform:scale(.68)}.live-route-marker-off-route span{box-shadow:0 0 0 4px #f59e0b42, 0 10px 24px var(--marker-shadow);background:#f59e0b}.live-route-marker-off-route span:before{border-color:#f59e0b70}.live-route-marker-off-route .live-route-heading{--live-route-heading-fill:#f59e0b}@keyframes live-route-pulse{0%{opacity:.85;transform:scale(.7)}70%,to{opacity:0;transform:scale(1.45)}}@media (prefers-reduced-motion:reduce){.live-route-marker span:before{opacity:.65;animation:none;transform:scale(1)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:820px){.app-shell[data-offline-area-selection=true] .map-pane{z-index:600}.offline-area-selection-card{max-height:calc(100dvh - 13rem);top:max(5.7rem, calc(env(safe-area-inset-top) + 5.7rem));width:calc(100% - 5.4rem)}.offline-areas-backdrop{align-items:flex-end;padding:0}.offline-areas-panel{max-height:calc(100dvh - max(1rem, env(safe-area-inset-top)));padding-bottom:max(1rem, env(safe-area-inset-bottom));border-bottom:0;border-radius:18px 18px 0 0;width:100%}:is(.parking-popup,.parking-popup:has(.parking-popup-details-count-4)){min-width:232px;max-width:280px}.parking-popup.parking-popup-cycling-place{width:fit-content;min-width:0}.parking-popup-desktop{display:none}.parking-popup-preview{color:inherit;text-align:left;background:0 0;border:0;border-radius:8px;width:100%;padding:0;display:block}.parking-popup-preview strong{font-size:.88rem;line-height:1.25}.parking-popup-preview .parking-popup-title-row{gap:.55rem;margin-bottom:.55rem}.parking-popup-cycling-place .parking-popup-preview .parking-popup-title-row{gap:.18rem}.parking-popup-preview .parking-popup-details{border:0;border-top:1px solid var(--separator);border-radius:0;align-items:stretch;gap:0;margin:0;padding-top:.48rem;display:flex;overflow:visible}.parking-popup-preview .parking-popup-detail{border:0;border-left:1px solid var(--separator);color:var(--muted);background:0 0;flex-direction:row;flex:1 1 0;justify-content:center;align-items:center;gap:.25rem;min-width:0;min-height:0;padding:0 .42rem;display:inline-flex;overflow:hidden}.parking-popup-preview .parking-popup-detail:first-child{border-left:0}.parking-popup-preview .parking-popup-detail-value{color:currentColor;overflow-wrap:anywhere;text-align:center;text-overflow:clip;white-space:normal;min-width:0;font-size:.68rem;font-weight:760;line-height:1.18;overflow:visible}.parking-popup-preview .parking-popup-detail-icon{width:1rem;height:1rem;font-size:.75rem}.parking-popup-preview .parking-popup-detail-icon svg{width:.9rem;height:.9rem}.parking-popup-preview .parking-popup-tone-green,.parking-popup-preview .parking-popup-tone-teal{color:var(--popup-positive-text)}.parking-popup-preview .parking-popup-tone-amber{color:#7a3e07}.parking-popup-preview .parking-popup-tone-muted,.parking-popup-preview .parking-popup-tone-neutral{color:var(--muted)}.parking-popup-preview .parking-popup-tone-restricted{color:#7f1d1d}.app-shell{height:100dvh;min-height:0;display:block;position:relative;overflow:hidden}.map-pane{height:100%}.map-layers-control{right:.65rem;top:max(5.7rem, calc(env(safe-area-inset-top) + 5.7rem))}.map-layers-popover{width:16.5rem;max-width:calc(100vw - 5.4rem)}.mobile-map-toolbar{background:var(--surface);border:1px solid var(--subtle);left:.65rem;right:.65rem;top:max(.65rem, env(safe-area-inset-top));z-index:550;border-radius:14px;padding:.5rem;display:block;position:absolute;box-shadow:0 12px 32px #12261f24}.app-header.app-header--mobile{grid-template-columns:44px minmax(0,1fr);gap:.45rem;display:grid}.settings-menu--mobile{margin-left:0}.settings-menu--mobile .settings-trigger{width:44px;height:44px}.settings-menu--mobile .settings-trigger--brand img{width:28px;height:28px;display:block}.settings-menu--mobile .settings-popover{left:0;right:auto}.control-pane .attribution{display:none}.reference-panel--mobile{gap:.4rem;min-width:0}.reference-panel--mobile .place-search-form{grid-template-columns:minmax(0,1fr) 44px}.reference-panel--mobile .search-box,.reference-panel--mobile .secondary-location-button{min-height:44px}.reference-panel--mobile .place-search-button--mobile{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reference-panel--mobile .place-results{background:var(--surface);border:1px solid var(--subtle);box-shadow:var(--shadow);border-radius:12px;max-height:13rem;padding:.45rem;position:absolute;top:calc(100% + .4rem);left:.65rem;right:.65rem;overflow:auto}.reference-panel--mobile .place-search-message{background:var(--surface);border:1px solid var(--subtle);box-shadow:var(--shadow);border-radius:12px;padding:.65rem;position:absolute;top:calc(100% + .4rem);left:.5rem;right:.5rem}.app-header--desktop,.reference-panel--desktop{display:none}.control-pane{--mobile-sheet-body-offset:0px;--mobile-sheet-body-opacity:1;--mobile-sheet-collapsed-height:5.4rem;--mobile-sheet-expanded-height:52dvh;--mobile-sheet-drag-progress:1;--mobile-sheet-summary-offset:-6px;--mobile-sheet-summary-opacity:0;border:1px solid var(--subtle);box-shadow:var(--shadow);min-height:0;max-height:52dvh;padding:.9rem 1rem max(.5rem, env(safe-area-inset-bottom));height:calc(var(--mobile-sheet-collapsed-height) + ((var(--mobile-sheet-expanded-height) - var(--mobile-sheet-collapsed-height)) * var(--mobile-sheet-drag-progress,1)));will-change:height;border-radius:16px 16px 0 0;gap:.75rem;max-height:52dvh;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.control-pane[data-panel-view=details]{max-height:68dvh}.control-pane[data-panel-view=filters]{max-height:52dvh}.route-workspace-view{flex:0 auto;min-height:0}.control-pane[data-panel-view=route-editing] .route-workspace-view{flex:none}.control-pane[data-panel-view=route-editing]{max-height:52dvh}.control-pane:has(.saved-routes-panel){--mobile-sheet-expanded-height:40dvh;max-height:40dvh}.control-pane:has(.saved-route-detail){--mobile-sheet-expanded-height:58dvh;max-height:58dvh}.control-pane[data-panel-view=destination-parking]{--mobile-sheet-expanded-height:46dvh;max-height:46dvh}.control-pane[data-panel-view=destination-parking]:has(.destination-parking-list){--mobile-sheet-expanded-height:66dvh;max-height:66dvh}.control-pane[data-panel-view=route-destination-search]{--mobile-sheet-expanded-height:46dvh;max-height:46dvh}.destination-parking-chooser{scrollbar-width:none;overflow-y:auto}.destination-parking-list{max-height:none;overflow:visible}.destination-parking-chooser::-webkit-scrollbar{display:none}.destination-parking-map-bar{background:var(--surface);border:1px solid var(--subtle);box-shadow:var(--shadow);max-width:none;left:.75rem;right:.75rem;top:max(.75rem, env(safe-area-inset-top));z-index:560;border-radius:13px;grid-template-columns:2.5rem minmax(0,1fr) 2.5rem;align-items:center;gap:.45rem;padding:.42rem;display:grid;position:absolute}.route-destination-map-bar{background:var(--surface);border:1px solid var(--subtle);box-shadow:var(--shadow);color:var(--text);text-align:left;max-width:none;left:.75rem;right:.75rem;top:max(.75rem, env(safe-area-inset-top));z-index:560;border-radius:13px;grid-template-columns:2.5rem minmax(0,1fr) 2.5rem;align-items:center;gap:.45rem;width:auto;padding:.42rem;display:grid;position:absolute;transform:none}.route-destination-map-bike,.route-destination-map-status{border:1px solid var(--subtle);color:var(--accent-strong);border-radius:9px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex}.route-destination-map-copy{gap:.06rem;min-width:0;display:grid}.route-destination-map-copy small{color:var(--muted);letter-spacing:.035em;text-transform:uppercase;font-size:.62rem;font-weight:780}.route-destination-map-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.destination-parking-map-bike,.destination-parking-map-locate{border:1px solid var(--subtle);color:var(--accent-strong);border-radius:9px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex}.destination-parking-map-copy{align-items:center;gap:.45rem;min-width:0;display:flex}.destination-parking-map-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.route-planner-header,.saved-routes-header{gap:.35rem}.route-planner-header>button,.saved-routes-header>button,.saved-route-detail-back{min-height:2.5rem;padding:.35rem .45rem}.saved-routes-header>button:first-child{width:2.5rem;padding:0;font-size:0}.saved-routes-new svg{display:none}.route-planner-title strong,.saved-routes-header strong{font-size:.98rem}.saved-route-detail-toolbar{gap:.35rem}.saved-route-detail-toolbar h1{text-align:center;font-size:1rem;line-height:1.15}.saved-route-detail-back,.saved-route-name-edit{border:1px solid var(--subtle);justify-content:center;width:2.75rem;height:2.75rem;padding:0}.saved-route-detail-back span{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.saved-route-name-editor{grid-column:2/-1;grid-template-columns:minmax(0,1fr) auto}.saved-route-name-editor input{border-radius:8px 0 0 8px;grid-column:1}.saved-route-name-editor button{min-height:2.75rem}.saved-route-name-editor button:first-of-type{border-radius:0 8px 8px 0;grid-column:2}.saved-route-name-editor button.is-secondary{border-radius:8px;grid-column:1/-1;margin-top:.4rem}.saved-route-summary>strong{min-height:2.35rem}.saved-route-actions-desktop{display:none}.saved-route-mobile-actions{grid-template-columns:repeat(2,minmax(0,1fr)) 2.75rem;gap:.45rem;display:grid}.saved-route-mobile-actions button.is-primary{background:var(--accent);color:#fff}.saved-route-mobile-actions>.is-primary:first-child:nth-last-child(2){grid-column:1/3}.saved-route-mobile-actions .saved-route-more-actions{width:2.75rem;padding:0}.saved-route-mobile-action-menu{background:var(--surface);border:1px solid var(--subtle);z-index:5000;border-radius:8px;display:grid;position:fixed;overflow:hidden;box-shadow:0 12px 30px #0f172a2e}.saved-route-mobile-action-menu button{border:0;border-bottom:1px solid var(--separator);border-radius:0;justify-content:flex-start;padding-inline:.8rem}.saved-route-mobile-action-menu button:last-child{border-bottom:0}.saved-route-mobile-action-separator{background:var(--separator);height:1px;margin:.2rem 0}.saved-route-mobile-action-menu button.is-danger{color:#b91c1c}.route-stop-row{grid-template-columns:1.85rem minmax(0,1fr) auto}.route-stop-actions button{width:1.8rem}.mobile-sheet-grip{cursor:grab;touch-action:none;background:0 0;border:0;flex:none;place-items:center;width:100%;height:1rem;margin:-.55rem 0 -.45rem;padding:0;display:grid;position:relative}.mobile-sheet-grip:before{content:"";position:absolute;inset:-.9rem 0}.mobile-sheet-grip:active{cursor:grabbing}.mobile-sheet-grip:focus-visible{outline:none}.mobile-sheet-grip:focus-visible:before{box-shadow:inset 0 0 0 2px var(--accent);border-radius:8px}.mobile-sheet-grip span{background:var(--muted);opacity:.7;border-radius:999px;width:2.75rem;height:.25rem;display:block}.mobile-sheet-summary{min-height:3.55rem;opacity:var(--mobile-sheet-summary-opacity,0);pointer-events:none;transform:translateY(var(--mobile-sheet-summary-offset,-6px));visibility:visible;z-index:2;justify-content:space-between;align-items:center;gap:.75rem;width:100%;transition:visibility linear;display:flex;position:absolute;inset:-.3rem 0 auto}.control-pane[data-mobile-sheet-state=expanded]:not([data-mobile-sheet-dragging=true]) .mobile-sheet-summary{visibility:hidden;transition:visibility 0s linear .26s}.mobile-sheet-summary>span:first-child{gap:.15rem;display:grid}.mobile-sheet-summary strong{font-size:.95rem}.mobile-sheet-summary small,.mobile-sheet-summary-location{color:var(--muted);font-size:.72rem}.mobile-sheet-summary-location{text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:55%;overflow:hidden}.mobile-sheet-summary--details{justify-content:flex-start;min-width:0;height:2.25rem;min-height:2.25rem;padding:0 1rem;inset:2.05rem 0 auto}.mobile-sheet-summary--details .mobile-sheet-summary-location{color:var(--text);text-align:left;flex:1;min-width:0;max-width:none;font-size:.92rem}.mobile-sheet-summary--details small{white-space:nowrap;flex:none;font-size:.74rem}.mobile-sheet-body{min-height:0;opacity:var(--mobile-sheet-body-opacity,1);transform:translateY(var(--mobile-sheet-body-offset,0px));visibility:visible;flex-direction:column;flex:1;gap:.75rem;padding-top:0;transition:visibility linear;display:flex;overflow:clip}.control-pane[data-panel-view=filters] .finder-panel-content>.mobile-sheet-body,.control-pane[data-panel-view=list][data-panel-transition=crossfade] .finder-panel-content>.mobile-sheet-body{opacity:1;transform:none}.control-pane[data-panel-view=filters] .finder-panel-content>.mobile-sheet-summary,.control-pane[data-panel-view=list][data-panel-transition=crossfade] .finder-panel-content>.mobile-sheet-summary{opacity:0;visibility:hidden;transition:none;transform:none}.parking-view-content{flex-direction:column;flex:1;gap:.75rem;width:100%;min-height:0;display:flex}.control-pane[data-parking-view=saved] .parking-view-content{flex:0 auto}.control-pane[data-mobile-sheet-state=collapsed]:not([data-mobile-sheet-dragging=true]) .mobile-sheet-body{pointer-events:none;visibility:hidden;transition:visibility 0s linear .26s}.control-pane[data-mobile-sheet-dragging=true] .mobile-sheet-body{pointer-events:none}.control-pane[data-mobile-sheet-dragging=true] .mobile-sheet-summary,.control-pane[data-mobile-sheet-dragging=true] .mobile-sheet-body{will-change:opacity, transform;transition:none}.parking-list-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;margin-bottom:-.75rem;overflow:auto}.control-pane[data-panel-view=list][data-parking-view=saved] .parking-list-scroll{flex:0 auto}.parking-detail-body{overscroll-behavior:contain;gap:.45rem;overflow:clip}.control-pane[data-content-overflow=true] .parking-detail-body{-webkit-overflow-scrolling:touch;overflow-y:auto}.parking-detail-actions{margin-top:.1rem;padding-bottom:0}.parking-row-detail-cover>span:last-child{white-space:normal}.finder-panel-content{gap:.55rem;position:relative;overflow:hidden}.list-heading h2{font-size:1.2rem;line-height:1.2}.list-heading h2 span{font-size:.78rem}.parking-view-button{min-height:44px}.parking-list{gap:.5rem}.parking-list-item{grid-template-columns:minmax(0,1fr);grid-template-areas:"details";min-height:78px}.saved-list-item-missing{grid-template-columns:minmax(0,1fr) 44px;grid-template-areas:"details save"}.parking-row{grid-area:details;grid-template-columns:2.25rem minmax(0,1fr) auto;gap:.7rem;min-height:78px;padding:.6rem .75rem}.saved-parking-row{grid-template-columns:minmax(0,1fr) auto}.parking-row-copy strong{font-size:.88rem;line-height:1.2}.parking-row-copy>.parking-row-details{grid-template-columns:repeat(2,minmax(0,max-content));gap:.24rem .7rem}.parking-row-detail{font-size:.76rem}.saved-list-item-missing .parking-save-button{grid-area:save;width:44px;min-height:78px}.parking-list-item:has(.parking-row.selected){background:var(--surface);grid-template-columns:minmax(0,1fr);grid-template-areas:"details""actions";min-height:0}.parking-list-item:has(.parking-row.closest):not(:has(.parking-row.selected)){background:var(--surface)}.parking-list-item:has(.parking-row.selected) .parking-row{align-items:center;min-height:84px;padding:.65rem .75rem}:is(.parking-list-item:has(.parking-row.closest) .rank,.parking-list-item:has(.parking-row.selected) .rank){width:2.5rem;height:2.5rem;font-size:.9rem}:is(.parking-list-item:has(.parking-row.closest) .parking-row-copy strong,.parking-list-item:has(.parking-row.selected) .parking-row-copy strong){font-size:.96rem}.parking-list-actions{border-top:1px solid var(--separator);grid-area:actions;align-self:stretch;padding:0;display:flex}.parking-list-actions>.parking-details-button{color:var(--accent-strong);flex:1;justify-content:center;align-items:center;gap:.35rem;min-height:44px;padding:0 .75rem;display:inline-flex}.parking-list-actions>.parking-directions-button{border-left:1px solid var(--separator);border-radius:0;flex:1;gap:.35rem;width:auto;min-width:0;height:auto;min-height:44px;padding:0 .75rem;display:inline-flex}.parking-list-actions>.parking-list-save-button{flex:1;min-width:0;min-height:44px;padding:0 .75rem;display:inline-flex}.parking-list-actions>.parking-directions-button .parking-directions-label{display:inline}.parking-list-actions>.parking-details-button:hover,.parking-list-actions>.parking-details-button:focus-visible{background:var(--hover-soft)}.parking-list-actions>.parking-details-button:active{background:var(--selected-soft)}.parking-list-actions>.parking-more-menu-shell{display:none}.directions-mode,.directions-mode-header{gap:.65rem}.directions-header-main{grid-template-columns:auto minmax(0,1fr) auto;gap:.6rem;display:grid}.directions-title{grid-area:1/2;gap:0}.directions-mark{display:none}.directions-title>div:last-child{gap:.1rem}.directions-header-actions{display:contents}.directions-mode-header button{white-space:nowrap;width:auto;min-height:44px}.directions-mode-header .directions-back-button{background:0 0;border-color:#0000;grid-area:1/1;place-self:center start;gap:.1rem;padding:0;font-size:.8rem}.directions-mode-header .directions-back-button:hover,.directions-mode-header .directions-back-button:focus-visible{background:var(--hover-soft);border-color:#0000}.directions-mode-header .directions-route-start-button{grid-area:1/3;place-self:center end;gap:.25rem;padding:0 .25rem;font-size:.75rem}.directions-parking-details{flex-wrap:wrap;align-items:center;gap:.15rem 0;margin-top:.2rem;display:flex}.directions-parking-details .parking-row-detail{grid-template-columns:none;font-size:.74rem;font-weight:680;display:inline-flex}.directions-parking-details .parking-row-detail-separator{color:var(--muted);margin:0 .4rem}.directions-list li{grid-template-columns:2.25rem minmax(0,1fr) auto;gap:.65rem;min-height:3.65rem;padding:.55rem .6rem}.directions-list li:before,.directions-list li:after{left:1.725rem}.directions-step-icon{width:2.25rem;height:2.25rem}.control-pane[data-mobile-sheet-state=expanded]:has(.directions-mode){overflow:hidden}.control-pane[data-mobile-sheet-state=collapsed]:has(.directions-mode){padding-right:.9rem}.control-pane[data-mobile-sheet-state=collapsed]:has(.directions-mode) .directions-mode{gap:0}.control-pane[data-mobile-sheet-state=collapsed]:has(.directions-mode) .directions-mode-header{gap:0}.control-pane[data-mobile-sheet-state=collapsed]:has(.directions-mode) .directions-header-main{gap:.7rem}.control-pane[data-mobile-sheet-state=collapsed]:has(.directions-mode) .directions-title{flex:auto;gap:0}:is(.control-pane[data-mobile-sheet-state=collapsed]:has(.directions-mode) .directions-parking-details,.control-pane[data-mobile-sheet-state=collapsed]:has(.directions-mode) .directions-current-step,.control-pane[data-mobile-sheet-state=collapsed]:has(.directions-mode) .directions-summary,.control-pane[data-mobile-sheet-state=collapsed]:has(.directions-mode) .directions-scroll,.control-pane[data-mobile-sheet-state=collapsed]:has(.directions-mode) .directions-footer){display:none}.control-pane[data-mobile-sheet-state=collapsed]:has(.directions-mode) .directions-mode-header h1{text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;overflow:hidden}.control-pane[data-mobile-sheet-state=collapsed]:has(.directions-mode) .directions-mode-header button{white-space:nowrap;min-height:42px}:is(.control-pane[data-mobile-sheet-state=collapsed]:has(.directions-mode) .directions-route-start-button,.control-pane[data-mobile-sheet-state=collapsed]:has(.directions-mode) .directions-live-status){display:none}.maplibregl-ctrl-bottom-right{top:4.75rem;bottom:auto;right:0}.maplibregl-ctrl-top-left{top:4.75rem}.app-shell[data-directions-mode=true] .maplibregl-ctrl-bottom-right,.app-shell[data-route-workspace] .maplibregl-ctrl-bottom-right{top:max(.25rem, env(safe-area-inset-top))}.app-shell[data-directions-mode=true] .maplibregl-ctrl-top-left,.app-shell[data-route-workspace] .maplibregl-ctrl-top-left{top:max(.65rem, env(safe-area-inset-top))}:is(.app-shell:has(.route-destination-map-bar) .maplibregl-ctrl-top-left,.app-shell:has(.destination-parking-map-bar) .maplibregl-ctrl-top-left){top:max(5rem, calc(env(safe-area-inset-top) + 5rem))}.app-header{gap:.65rem}.brand-mark{width:38px;height:38px}.brand-mark img{width:30px;height:30px}.app-header h1{font-size:1.05rem}.directions-mode-header h1{font-size:1rem}.app-header p{font-size:.78rem}.list-heading{margin-top:0}.attribution{padding-top:.4rem;font-size:.66rem}.place-search-form{grid-template-columns:minmax(0,1fr) auto auto}.place-search-form .search-box{grid-column:1}.place-search-form .secondary-location-button{grid-column:2}.place-search-button{grid-column:3}}@media (max-width:820px) and (max-height:640px){.control-pane[data-panel-view=destination-parking]{--mobile-sheet-expanded-height:62dvh;max-height:62dvh}.control-pane[data-panel-view=destination-parking]:has(.destination-parking-list){--mobile-sheet-expanded-height:82dvh;max-height:82dvh}}@media (max-width:460px){.destination-parking-list button{min-height:8.4rem}.destination-parking-list-heading{align-items:flex-start}.destination-parking-list-heading>strong{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box}.destination-parking-list-details{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:.3rem}.destination-parking-list-details>span:nth-child(odd){border-left:0}.destination-parking-list-details>span:nth-child(n+3){border-top:1px solid var(--separator);padding-top:.3rem}.list-heading h2 .list-heading-count{white-space:nowrap;margin-top:.1rem;display:block}.list-heading h2 .list-heading-separator{display:none}.category-chip{gap:.2rem;padding-inline:.4rem}.category-chip svg{flex:none;width:13px;height:13px}.list-heading-actions{gap:.5rem}.list-heading h2{font-size:1.1rem}.place-search-form{grid-template-columns:minmax(0,1fr) 40px 40px}.place-search-button{aspect-ratio:1;min-width:40px;min-height:40px;padding:0}.secondary-location-button{min-width:40px;min-height:40px}.mobile-action-label{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@media (max-width:400px){.parking-row-copy>.parking-row-details{grid-template-columns:repeat(2,minmax(0,max-content))}}@media (min-width:560px) and (max-width:820px){.parking-row-copy>.parking-row-details{grid-template-columns:repeat(4,max-content)}}@media (min-width:821px){.control-pane[data-panel-view=filters] .finder-panel-content{visibility:hidden}.directions-header-actions{flex-direction:column;align-items:stretch;gap:.7rem;min-width:10.75rem}.directions-mode-header button{width:100%}.app-shell{grid-template-columns:minmax(0,1fr) 460px}.control-pane{height:100dvh;min-height:0;overflow:hidden}.parking-list-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:auto}.parking-list{flex:none}}.reference-marker span{background:#64786f;border-color:#e2ebe5}@media (max-width:820px){.app-shell:not([data-directions-mode=true]):not([data-route-workspace]) .maplibregl-ctrl-top-left,.app-shell:not([data-directions-mode=true]):not([data-route-workspace]) .maplibregl-ctrl-bottom-right{top:calc(max(.65rem, env(safe-area-inset-top)) + var(--finder-header-height,100px))}.app-shell:not([data-directions-mode=true]):not([data-route-workspace]) .map-layers-control{top:calc(max(.65rem, env(safe-area-inset-top)) + var(--finder-header-height,100px) + 1.25rem)}}.map-plan-route-button{background:var(--surface);border:1px solid var(--subtle);color:var(--accent-strong);border-radius:11px;align-items:center;gap:.4rem;min-height:44px;padding:.5rem .75rem;font-size:.8rem;font-weight:700;display:inline-flex;box-shadow:0 8px 24px #10201c24}.map-plan-route-button:hover,.map-plan-route-button:focus-visible{background:var(--surface-strong);border-color:var(--accent)}.map-plan-route-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map-plan-route-button svg{flex-shrink:0}.route-journey{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.journey-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.6rem;display:flex}.journey-header h2{margin:0;font-size:1.08rem}.journey-icon{color:var(--accent-strong);background:0 0;border:0;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.journey-scroll{scrollbar-width:thin;flex:1;min-height:0;padding-bottom:.3rem;overflow-y:auto}.journey-endpoints{background:var(--surface-neutral);border:1px solid var(--subtle);border-radius:16px;overflow:hidden}.journey-endpoints>button{color:var(--text);text-align:start;background:0 0;border:0;align-items:center;gap:.75rem;width:100%;min-height:66px;padding:.65rem .85rem;display:flex}.journey-endpoints>button+button{border-top:1px solid var(--separator)}.journey-endpoint-icon{color:var(--accent-strong);flex:0 0 24px;justify-content:center;align-items:center;display:flex}.journey-endpoints>button>span:nth-child(2){flex:1;gap:.15rem;min-width:0;display:grid}.journey-endpoints small,.journey-note{color:var(--muted);font-size:.8rem;line-height:1.5}.journey-endpoints strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.journey-endpoints>button>svg{color:var(--muted);flex-shrink:0}.journey-placeholder{color:var(--accent-strong)}.journey-note{margin:.75rem .15rem}.journey-route-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin-top:.85rem;display:grid}.journey-route-choices button{background:var(--surface);border:1px solid var(--subtle);color:var(--text);text-align:start;border-radius:12px;flex-direction:column;gap:.4rem;min-width:0;padding:.65rem .5rem;display:flex}.journey-route-choices button[aria-pressed=true]{background:var(--selected-surface);border-color:var(--selected-border);box-shadow:inset 0 0 0 1px var(--selected-border)}.journey-route-choices button>span{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:.15rem;width:100%;font-size:.73rem;font-weight:650;display:flex}.journey-route-choices button>span svg{color:var(--accent-strong);flex-shrink:0}.journey-route-choices strong{font-size:1.04rem}.journey-route-choices small{color:var(--muted);font-size:.72rem}.journey-parking{background:var(--surface-strong);color:var(--accent-strong);text-align:start;border:0;border-radius:12px;align-items:center;gap:.65rem;width:100%;margin-top:.8rem;padding:.85rem;display:flex}.journey-parking>svg{flex-shrink:0}.journey-parking span{flex:1;gap:.2rem;display:grid}.journey-parking strong{font-size:.85rem}.journey-parking small{color:var(--muted);font-size:.73rem;line-height:1.4}.journey-primary{background:var(--primary-button-bg);color:var(--primary-button-text);border:0;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:48px;margin-top:.8rem;font-size:.95rem;font-weight:750;display:flex}.journey-tools{flex-wrap:wrap;justify-content:center;gap:.35rem 1rem;margin-top:.4rem;display:flex}.journey-tools button{color:var(--accent-strong);background:0 0;border:0;align-items:center;gap:.35rem;min-height:44px;font-size:.8rem;display:flex}.journey-status{color:var(--muted);justify-content:space-between;align-items:center;gap:.65rem;margin:1rem 0;font-size:.85rem;display:flex}.journey-status svg{flex-shrink:0}.journey-search-context{background:var(--surface-neutral);border-radius:10px;align-items:baseline;gap:.65rem;margin-bottom:.75rem;padding:.65rem .8rem;display:flex}.journey-search-context span{color:var(--muted);flex-shrink:0;font-size:.75rem}.journey-search-context strong{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.journey-instructions{border-top:1px solid var(--subtle);margin-top:.85rem;padding-bottom:.25rem}.journey-instructions h3{color:var(--text);margin:0;padding:.85rem 0 .35rem;font-size:.9rem}.journey-instructions ol{margin:0;padding:0;list-style:none}.journey-instruction+.journey-instruction{border-top:1px solid var(--separator)}.journey-instruction button{color:var(--text);text-align:start;background:0 0;border:0;border-radius:8px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:.65rem;width:100%;min-height:54px;padding:.65rem .2rem;display:grid}.journey-instruction button>svg{color:var(--accent-strong)}.journey-instruction strong{font-size:.82rem;font-weight:550;line-height:1.5}.journey-instruction small{color:var(--muted);white-space:nowrap;font-size:.75rem}.journey-instruction button:hover,.journey-instruction button[aria-current=step]{background:var(--hover-soft)}.journey-footer{border-top:1px solid var(--separator);flex:none;margin-top:.6rem;padding-top:.65rem}.journey-footer .journey-primary{margin-top:0}.journey-footer .journey-tools{margin-top:.15rem}.route-journey button:disabled{cursor:default;opacity:.5}.route-journey button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover){.journey-icon:hover,.journey-tools button:hover,.journey-endpoints button:hover{background:var(--hover-soft)}.journey-primary:hover{background:var(--primary-button-hover)}}@media (max-width:820px){.control-pane:has(.route-journey){max-height:60dvh}}.journey-use-location{background:var(--surface-strong);color:var(--accent-strong);border:0;border-radius:10px;align-items:center;gap:.5rem;min-height:44px;margin-bottom:.75rem;padding:.5rem .75rem;font-weight:650;display:flex}.journey-current-step{background:var(--surface-strong);color:var(--accent-strong);border-radius:12px;padding:.75rem;font-weight:650;line-height:1.5}.journey-collapsed-destination{display:none}@media (max-width:820px){:is(.control-pane[data-mobile-sheet-state=collapsed]:has(.route-journey) .journey-footer,.control-pane[data-mobile-sheet-state=collapsed]:has(.route-journey) .journey-scroll){display:none}.control-pane[data-mobile-sheet-state=collapsed]:has(.route-journey) .journey-header h2{display:none}.control-pane[data-mobile-sheet-state=collapsed]:has(.route-journey) .journey-collapsed-destination{text-overflow:ellipsis;white-space:nowrap;font-weight:700;display:block;overflow:hidden}}.route-journey.is-riding .journey-endpoints,.route-journey.is-riding .journey-route-choices,.route-journey.is-riding .journey-tools{display:none}.ride-guidance{margin:.75rem 0}.ride-next-turn{border:1px solid var(--accent);background:var(--surface-strong);color:var(--accent-strong);border-radius:14px;align-items:flex-start;gap:.8rem;padding:1rem;display:flex}.ride-next-turn>svg{flex:none;margin-top:.3rem}.ride-next-turn strong{font-size:1.75rem;line-height:1.2;display:block}.ride-next-turn p{margin:.4rem 0;font-size:1.1rem;font-weight:650;line-height:1.4}.ride-next-turn small{font-size:.85rem}.ride-next-turn--off-route{border-color:#b7791f}.ride-options{flex-wrap:wrap;gap:.5rem;margin-top:.65rem;display:flex}.ride-options button,.ride-reroute{border:1px solid var(--subtle);background:var(--surface-strong);min-height:44px;color:var(--text);font:inherit;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem .7rem;font-size:.85rem;display:inline-flex}.ride-options button[aria-pressed=true]{border-color:var(--accent);color:var(--accent-strong)}.ride-reroute{width:100%;margin-top:.65rem;font-weight:650}.ride-help{color:var(--muted);font-size:.8rem;line-height:1.5}.ride-help:empty{display:none}
