:root{--brand-primary:#2355E8;--brand-primary-hover:#1945C7;--brand-mint:#6DE1C6;--brand-night:#0D172B;--sos:#C91E32;--warning:#D97706;--success:#167D58;--radius-card:18px;--radius-button:14px;--font-main:"Plus Jakarta Sans",sans-serif;--background:#F7F9FC;--surface:#FFFFFF;--surface-raised:#EEF2FF;--text-primary:#0D172B;--text-secondary:#64748B;--text-on-primary-soft:#52647F;--border:#E2E8F0;--control-border:#7A8699;--action-text:#2355E8;--focus-ring:#2355E8;--primary-soft:#EEF2FF;--on-primary:#FFFFFF;--live-background:#6DE1C6;--live-text:#0D172B;--warning-text:#9A4A00;--warning-background:#FFF6E8;--shadow:0 12px 36px rgb(13 23 43/.10)}[data-theme=dark]{--background:#0D172B;--surface:#1C2B44;--surface-raised:#243652;--text-primary:#FFFFFF;--text-secondary:#A7B8D0;--text-on-primary-soft:#C9D7FF;--border:#33445F;--control-border:#758BAD;--action-text:#9DB4FF;--focus-ring:#9DB4FF;--primary-soft:#223B74;--on-primary:#FFFFFF;--live-background:#6DE1C6;--live-text:#0D172B;--warning-text:#FFD08A;--warning-background:#332615;--shadow:0 12px 36px rgb(5 12 26/.28)}:root{color-scheme:light;--canvas:var(--background);--raised:var(--surface-raised);--text:var(--text-primary);--muted:var(--text-secondary);--subtle:var(--text-secondary);--accent:var(--brand-primary);--accent-on:var(--on-primary);--accent-soft:var(--primary-soft);--line:var(--border);--link:var(--action-text);--focus:var(--focus-ring);--warning-bg:var(--warning-background)}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:var(--font-main);color:var(--text);background:var(--canvas);font-size:15px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a,button,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:default;opacity:.58}button{border:0;background:none;width:auto}button svg{pointer-events:none}a{color:inherit}a,button,input,select{touch-action:manipulation}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button:active:not(:disabled){transform:translateY(1px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;padding:12px 18px;background:var(--accent);color:var(--accent-on);border-radius:var(--radius-button)}.skip-link:focus{top:12px}.app-shell{min-height:100dvh}.topbar{height:80px;padding:0 30px;background:var(--surface);display:grid;grid-template-columns:1fr auto 1fr;border-bottom:1px solid var(--line);position:relative;z-index:10}.topbar,.wordmark{align-items:center}.wordmark{min-height:44px;width:max-content;color:var(--text);text-decoration:none;font-size:30px;font-weight:800;letter-spacing:-.8px}.brand-period,.city-switch{color:var(--link)}.city-switch{display:flex;align-items:center;gap:9px}.city-switch select{appearance:auto;background:transparent;border:0;color:var(--text);padding:10px 4px;font-size:15px;font-weight:600;min-width:87px;cursor:pointer}.country-label{border-left:1px solid var(--line);padding-left:17px;margin-left:7px;font-size:11px;letter-spacing:1.6px;font-weight:500;color:var(--subtle)}.topbar-actions{display:flex;gap:7px;align-items:center;justify-self:end}.local-label{margin-right:13px;color:var(--muted);font-size:12px}.icon-button{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-button);color:var(--text)}.icon-button:hover{background:var(--raised)}.workspace{display:grid;grid-template-columns:405px minmax(0,1fr);height:calc(100dvh - 80px);min-height:560px}.journey-panel{display:flex;min-height:0;flex-direction:column;background:var(--surface);border-right:1px solid var(--line);position:relative;z-index:3}.panel-intro{padding:31px 29px 20px}.section-kicker{display:flex;align-items:center;gap:9px;color:var(--link);font-size:11px;font-weight:600;letter-spacing:1.6px}.route-dash{width:17px;height:3px;background:var(--accent);border-radius:2px}.panel-intro h1{font-size:28px;line-height:1.23;letter-spacing:-.8px;font-weight:800;margin:17px 0 14px}.panel-intro p{color:var(--muted);font-size:15px;line-height:1.6;margin:0}.search-block{padding:0 29px 19px}.search-block label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.search-input{border:1px solid var(--control-border);border-radius:var(--radius-button);min-height:49px;display:flex;align-items:center;gap:10px;padding:0 13px;background:var(--surface)}.search-input:focus-within{border-color:var(--link);outline:2px solid var(--focus);outline-offset:2px}.search-input>svg{color:var(--link);flex-shrink:0}.search-input input{min-width:0;width:100%;color:var(--text);border:0;outline:none;background:none;padding:12px 0;font-size:15px}.search-input input::placeholder{color:var(--subtle);opacity:1}.search-input input:focus-visible{outline:0}.clear-search{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:var(--radius-button)}.clear-search:hover{background:var(--raised)}.field-help{font-size:12px;color:var(--subtle);margin:8px 0 0}.panel-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding:0 29px 22px;flex:1 1}.panel-scroll:focus{outline:none}.filter-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 0 20px;border-top:1px solid var(--line)}.filter-row label{font-size:14px;font-weight:600;white-space:nowrap}.filter-row select{max-width:210px;min-width:140px;height:42px;border-radius:var(--radius-button);background:var(--surface);border:1px solid var(--control-border);padding:5px 26px 5px 10px;color:var(--text);font-size:14px;text-overflow:ellipsis}.list-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 13px}.list-heading h2,.list-heading h3{font-size:16px;font-weight:700;margin:0}.list-heading>span{font-size:12px;color:var(--subtle);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stop-result,.vehicle-row{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:12px 0;min-height:67px;border-bottom:1px solid var(--line)}.vehicle-row.selected{background:var(--accent-soft);border-radius:var(--radius-button);padding-left:9px;padding-right:9px;margin:2px -9px;width:calc(100% + 18px);border-color:transparent}.vehicle-row.selected small{color:var(--text-on-primary-soft)}.stop-result:hover,.vehicle-row:hover{color:var(--link)}.line-chip{flex:none;min-width:39px;height:34px;padding:0 6px;border:1px solid var(--accent);display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--text);font-size:14px;font-weight:700;border-radius:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stop-result>span:nth-child(2),.vehicle-copy{flex:1 1;min-width:0}.stop-result strong,.vehicle-row strong{display:block;font-size:15px;font-weight:600;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stop-result small,.vehicle-row small{display:block;color:var(--subtle);font-size:12px;margin-top:6px}.stop-result>svg,.vehicle-row>svg{color:var(--subtle);flex:none}.stop-icon{width:35px;height:35px;background:var(--accent-soft);color:var(--link);display:grid;place-items:center;border-radius:10px;flex:none}.text-button{display:inline-flex;align-items:center;gap:7px;color:var(--link);font-size:14px;font-weight:600;padding:7px 0}.text-button:hover{text-decoration:underline}.secondary-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:12px;border:1px solid var(--control-border);border-radius:var(--radius-button);padding:9px 14px;background:var(--brand-primary);color:var(--on-primary);font-size:14px;font-weight:700}.secondary-button:hover{border-color:var(--brand-primary-hover);background:var(--brand-primary-hover)}.load-more{width:100%;margin-top:17px}.empty-state{padding:35px 10px 18px;text-align:center;color:var(--muted)}.empty-state>svg{color:var(--link);margin-bottom:10px}.empty-state h3{color:var(--text);font-size:18px;font-weight:700;margin:3px 0 8px}.empty-state p{font-size:14px;line-height:1.6;margin:0 auto 15px;max-width:260px}.empty-state.compact{padding:28px 4px 20px}.inline-notice{display:flex;gap:9px;align-items:flex-start;padding:12px;border-radius:var(--radius-button);background:var(--warning-bg);color:var(--warning-text);margin:0 0 16px}.inline-notice>svg{flex:none;margin-top:1px}.inline-notice p{margin:0;font-size:14px;line-height:1.5}.inline-notice .text-button{color:inherit;padding-bottom:0}.panel-footer{flex:none;padding:15px 29px 14px;border-top:1px solid var(--line)}.data-state{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.status-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--subtle)}.data-state.is-live .status-dot{background:var(--brand-night)}.data-state.is-live{width:max-content;max-width:100%;padding:6px 9px;border:1px solid var(--brand-night);border-radius:14px;background:var(--live-background);color:var(--live-text);font-weight:600}.refresh-line{display:flex;justify-content:space-between;align-items:center;margin-top:3px;min-height:30px;color:var(--subtle);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.refresh-button{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-button);color:var(--muted)}.refresh-button:hover{background:var(--raised)}.map-area{position:relative;min-width:0;overflow:hidden;background:var(--background)}.map-canvas,.map-shell{position:absolute;inset:0}.map-title{position:absolute;z-index:2;top:26px;left:26px;display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line);padding:12px 17px 12px 13px;border-radius:var(--radius-card);box-shadow:var(--shadow);pointer-events:none}.map-title-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:var(--link)}.map-title strong{display:block;font-size:15px;font-weight:600;line-height:1.3}.map-title span:not(.map-title-icon){color:var(--muted);font-size:11px}.map-legend{position:absolute;left:26px;bottom:47px;gap:18px;padding:12px 15px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);font-size:12px;color:var(--muted)}.map-legend,.map-legend>span{display:flex;align-items:center}.map-legend>span{gap:7px}.legend-vehicle{border-radius:50%;background:var(--brand-mint);border:2px solid var(--brand-primary);outline:1px solid var(--brand-night)}.legend-stop,.legend-vehicle{display:block;width:10px;height:10px}.legend-stop{border-radius:50%;border:2px solid var(--link)}.map-footnote{bottom:15px;color:var(--brand-night);font-size:11px;padding:3px 6px;background:rgb(255 255 255/.96);border-radius:4px}.map-footnote,.map-loading{position:absolute;left:26px}.map-loading{top:110px;z-index:2;color:var(--muted);background:var(--surface);border-radius:var(--radius-button);box-shadow:var(--shadow);padding:14px 19px;font-size:12px}.map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;text-align:center;color:var(--text);background:var(--canvas)}.map-fallback svg{color:var(--link)}.map-fallback h2{font-weight:700;font-size:24px}.map-fallback p{max-width:300px;color:var(--muted);line-height:1.6}.maplibregl-ctrl-top-right{top:20px;right:20px}.maplibregl-ctrl-group{border-radius:var(--radius-button);overflow:hidden}.maplibregl-ctrl-group button{width:44px;height:44px}.maplibregl-ctrl.maplibregl-ctrl-attrib{font-family:inherit;font-size:11px;max-width:70%;background:rgb(255 255 255/.96);color:var(--brand-night)}.maplibregl-ctrl.maplibregl-ctrl-attrib a{color:var(--brand-night)}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{margin-left:26px}.maplibregl-ctrl-bottom-left{bottom:80px}.selected-vehicle{position:absolute;z-index:4;left:26px;right:26px;bottom:106px;max-width:500px;padding:17px 18px 12px;border-radius:var(--radius-card);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}.selected-top{display:flex;align-items:center;gap:12px}.selected-top>div{flex:1 1;min-width:0}.selected-top h2{font-size:16px;font-weight:600;margin:4px 0 0;line-height:1.35}.eyeline{letter-spacing:1px;font-weight:500}.eyeline,.selected-bottom{color:var(--subtle);font-size:11px}.selected-bottom{display:flex;flex-wrap:wrap;gap:6px 16px;border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.selected-bottom>span:first-child{display:flex;gap:5px;align-items:center;color:var(--link)}.back-button{margin-bottom:16px}.stop-detail>.eyeline{display:block}.stop-detail h2{font-size:24px;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin:8px 0}.detail-code{font-size:11px;color:var(--subtle);margin:0 0 25px}.departure-row{display:flex;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid var(--line)}.departure-row>div{flex:1 1;min-width:0}.departure-row strong{display:block;font-size:14px;font-weight:600}.departure-row small{display:block;font-size:12px;color:var(--subtle);margin-top:5px}.departure-row time{font-size:14px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.skeleton-row{display:flex;align-items:center;gap:12px;padding:13px 0}.skeleton-row>span{width:39px;height:34px;border-radius:9px;background:var(--raised)}.skeleton-row>div{flex:1 1}.skeleton-row i{display:block;height:8px;border-radius:3px;width:82%;background:var(--raised)}.skeleton-row i+i{width:54%;height:6px;margin-top:10px}.mobile-switch{display:none}.info-overlay{position:fixed;inset:0;z-index:30;display:flex;justify-content:flex-end;background:rgb(5 24 39/.36)}.info-panel{width:450px;max-width:100%;background:var(--surface);padding:26px 31px 30px;overflow-y:auto;box-shadow:var(--shadow)}.info-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.info-panel h2{font-size:28px;letter-spacing:-.8px;font-weight:800;line-height:1.1;margin:0 0 21px}.info-panel>p{font-size:15px;color:var(--muted);line-height:1.65}.info-rule{display:flex;align-items:flex-start;gap:15px;margin:26px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.info-rule>svg{color:var(--link);flex:none}.info-rule h3{font-size:15px;margin:0 0 6px;font-weight:500}.info-rule p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}.source-list h3{font-size:14px;font-weight:600;margin:0 0 14px}.source-item{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.source-item>div{flex:1 1;min-width:0}.source-item strong{display:block;font-size:14px;font-weight:500;line-height:1.35}.source-item small{display:block;margin-top:5px}.source-item small,.source-state{font-size:12px;color:var(--subtle)}.source-state{white-space:nowrap}.source-state.available{color:var(--live-text);background:var(--live-background);border:1px solid var(--brand-night);border-radius:8px;padding:4px 6px;font-weight:600}.info-panel .info-small{font-size:13px;margin-top:25px}.info-map-credit{color:var(--subtle);font-size:12px;margin-top:24px}.info-map-credit a{color:var(--link);text-underline-offset:3px}@media(min-width:1600px){.workspace{grid-template-columns:430px minmax(0,1fr)}.panel-footer,.panel-intro,.panel-scroll,.search-block{padding-left:36px;padding-right:36px}}@media(max-width:1100px){.workspace{grid-template-columns:350px minmax(0,1fr)}.panel-footer,.panel-intro,.panel-scroll,.search-block{padding-left:23px;padding-right:23px}.panel-intro h1{font-size:28px}.topbar{padding:0 22px}.local-label{display:none}.country-label{margin-left:0;padding-left:13px}.map-legend{gap:13px;left:19px}.map-title{left:19px}.map-footnote{display:none}}@media(max-height:800px) and (min-width:769px){.panel-intro{padding-top:23px;padding-bottom:17px}.panel-intro h1{font-size:27px;margin-top:13px;margin-bottom:11px}.panel-intro p{font-size:15px}.filter-row,.search-block{padding-bottom:16px}.filter-row{padding-top:14px}}@media(max-width:768px){.topbar{height:69px;padding:0 16px;grid-template-columns:1fr auto auto;gap:12px}.wordmark{font-size:27px;gap:0;letter-spacing:-1px}.country-label{display:none}.city-switch{gap:5px}.city-switch>svg{width:15px}.city-switch select{font-size:14px;min-width:72px;max-width:97px}.topbar-actions{gap:0}.topbar-actions .icon-button{width:44px;height:44px}.workspace{height:calc(100dvh - 141px);min-height:420px;display:block}.journey-panel,.map-area{width:100%;height:100%}.mobile-list .map-area,.mobile-map .journey-panel{display:none}.journey-panel{border-right:0}.panel-intro{padding:25px 23px 17px}.panel-intro h1{font-size:26px;margin-top:11px;margin-bottom:10px}.panel-intro h1 br{display:block}.panel-intro h1{max-width:100%}.panel-intro p{font-size:15px}.panel-intro p br{display:none}.panel-footer,.panel-scroll,.search-block{padding-left:23px;padding-right:23px}.panel-footer{padding-top:11px;padding-bottom:9px}.map-title{left:16px;top:18px;padding:9px 12px 9px 10px;border-radius:var(--radius-card)}.map-title strong{font-size:14px}.map-title span:not(.map-title-icon){font-size:11px}.map-title-icon{width:30px;height:30px}.map-legend{bottom:44px;left:16px;right:16px;width:max-content;max-width:calc(100% - 32px);font-size:11px;padding:10px 12px}.maplibregl-ctrl-top-right{top:15px;right:12px}.maplibregl-ctrl-bottom-left{bottom:80px}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{margin-left:16px}.maplibregl-ctrl.maplibregl-ctrl-attrib{max-width:90%;font-size:11px}.mobile-switch{height:72px;gap:8px;background:var(--surface);border-top:1px solid var(--line);padding:8px 16px}.mobile-switch,.mobile-switch button{display:flex;align-items:center;justify-content:center}.mobile-switch button{flex:1 1;min-height:48px;gap:9px;border-radius:var(--radius-button);color:var(--muted);font-size:14px;font-weight:600}.mobile-switch button.active{color:var(--on-primary);background:var(--brand-primary);font-weight:700}.selected-vehicle{left:16px;right:16px;bottom:102px;padding:13px 14px 11px}.selected-top h2{font-size:14px}.selected-bottom{font-size:11px;margin-top:10px;padding-top:10px}.info-panel{width:100%;padding:23px}.info-header{margin-bottom:28px}}@media(max-width:370px){.topbar{gap:6px;padding:0 10px}.wordmark{font-size:25px;gap:0}.city-switch>svg{display:none}}@media(prefers-reduced-motion:no-preference){.search-input,a,button{transition:background-color .15s,color .15s,border-color .15s,transform .15s}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation:none!important;transition:none!important}button:active:not(:disabled){transform:none!important}}[hidden]{display:none!important}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.mode-navigation{height:54px;display:flex;align-items:center;gap:7px;padding:5px 29px;background:var(--surface);border-bottom:1px solid var(--line)}.mode-navigation>button{display:flex;justify-content:center;align-items:center;gap:8px;min-width:115px;min-height:44px;padding:9px 17px;border-radius:var(--radius-button);color:var(--muted);font-size:14px;font-weight:600}.mode-navigation>button:hover{background:var(--raised);color:var(--link)}.mode-navigation>button.active{background:var(--brand-primary);color:var(--on-primary);font-weight:700}.saved-count{display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border-radius:6px;border:1px solid;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.workspace{height:calc(100dvh - 134px)}.mode-panel,.planner-content,.saved-content{display:flex;flex-direction:column;flex:1 1;min-height:0;height:100%}.radar-content{width:100%}.compact-intro{padding-top:26px;padding-bottom:22px}.compact-intro h1{margin:14px 0 10px}.compact-intro p{max-width:320px;font-size:14px}.planner-scroll{flex:1 1;min-height:0;padding:0 29px 24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.planner-scroll:focus{outline:0}.journey-form{gap:16px}.endpoint-fields,.journey-form{display:flex;flex-direction:column}.endpoint-fields{gap:11px}.endpoint-field{position:relative}.endpoint-field>label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.endpoint-symbol{display:grid;place-items:center;color:var(--link);flex:none}.endpoint-field .search-input{padding-right:4px;min-height:51px;gap:9px}.endpoint-field .search-input input{padding:14px 0}input[type=search]::-webkit-search-cancel-button{appearance:none}.endpoint-save{width:44px;min-width:44px;height:44px;color:var(--muted)}.endpoint-save.is-saved{color:var(--link)}.endpoint-hint{justify-content:space-between;margin-top:2px}.endpoint-hint,.endpoint-hint>span{display:flex;align-items:center;gap:4px}.endpoint-hint>span{flex:1 1;min-width:0;color:var(--subtle);font-size:11px;line-height:1.4}.has-point .endpoint-hint>span,.map-pick-button{color:var(--link)}.map-pick-button{display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;min-height:38px;width:auto;flex:none;padding:4px 0 4px 5px;font-size:11px;font-weight:600;white-space:nowrap}.map-pick-button:hover{text-decoration:underline}.swap-button{position:absolute;z-index:2;right:10px;bottom:-27px;width:44px;height:44px;border:1px solid var(--control-border);color:var(--link);background:var(--surface);border-radius:11px}.swap-button:hover{background:var(--raised)}.place-search-results{border:1px solid var(--control-border);border-radius:var(--radius-card);padding:6px 13px;margin-top:-4px}.place-search-results .list-heading{margin:0;align-items:center}.place-search-results h2{font-size:14px}.place-search-results .icon-button{width:44px;height:44px}.place-search-results ul,.saved-list{list-style:none;padding:0;margin:0}.place-search-results ul{max-height:250px;overflow-y:auto;overscroll-behavior:contain}.place-result{display:flex;align-items:center;gap:10px;padding:12px 0;width:100%;min-height:62px;border-top:1px solid var(--line);text-align:left}.place-result>svg{flex:none;color:var(--link)}.place-result>span{flex:1 1;min-width:0}.place-result strong{display:block;font-size:14px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.place-result small{display:block;font-size:11px;margin-top:3px;color:var(--muted)}.place-result:hover strong{color:var(--link);text-decoration:underline}.search-status{font-size:13px;line-height:1.5;color:var(--muted);margin:8px 0 11px}.saved-shortcuts>span{color:var(--muted);font-size:12px}.saved-shortcuts>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.saved-shortcuts button{display:flex;align-items:center;gap:5px;max-width:100%;min-height:38px;padding:7px 9px;border:1px solid var(--control-border);border-radius:10px;color:var(--link);font-size:12px}.saved-shortcuts button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-shortcuts button svg{flex:none}.departure-options{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:4px;border-top:1px solid var(--line)}.departure-options>label{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600}.departure-options select,.journey-preferences select,.scheduled-field input{height:44px;background:var(--surface);color:var(--text);border:1px solid var(--control-border);border-radius:var(--radius-button);padding:8px 10px;font-size:13px;min-width:0}.departure-options select{max-width:175px}.journey-preferences div>label:first-child,.scheduled-field>label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.scheduled-field input{width:100%;min-height:48px;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.journey-preferences{border-bottom:1px solid var(--line);margin-top:-8px}.journey-preferences>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:13px;font-weight:600;color:var(--link);list-style:none}.journey-preferences>summary::-webkit-details-marker{display:none}.journey-preferences[open]>summary>svg{transform:rotate(180deg)}.journey-preferences>div{padding:4px 0 16px}.journey-preferences select{width:100%}.checkbox-label{display:flex;align-items:center;gap:9px;font-size:13px;min-height:44px;margin-top:8px;line-height:1.5}.checkbox-label input{accent-color:var(--brand-primary);width:18px;height:18px;flex:none;margin:0}.journey-form .inline-notice{margin:0}.routing-status p{font-size:13px}.plan-button{width:100%;min-height:52px;border:1px solid var(--brand-primary);border-radius:var(--radius-button);padding:12px 18px;background:var(--brand-primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;gap:18px;font-size:15px;font-weight:700}.plan-button:hover:not(:disabled){background:var(--brand-primary-hover);border-color:var(--brand-primary-hover)}.plan-button:disabled{opacity:1;background:var(--raised);color:var(--muted);border-color:var(--control-border)}.plan-hint{margin:-8px 0 0;line-height:1.5}.planner-error{margin-top:2px!important}.planner-guidance{display:flex;gap:12px;align-items:flex-start;padding:23px 0 4px;margin-top:22px;border-top:1px solid var(--line);color:var(--muted)}.planner-guidance>svg{flex:none;color:var(--link)}.planner-guidance p{margin:0;font-size:13px;line-height:1.6}.journey-alternatives{scroll-margin-top:20px}.journey-alternatives>.list-heading{margin-top:27px}.route-skeleton{display:flex;flex-direction:column;align-items:center;padding:28px 12px;margin-top:20px;border:1px solid var(--line);border-radius:var(--radius-card);text-align:center}.route-skeleton svg{color:var(--link);margin-bottom:12px}.route-skeleton strong{font-size:14px}.route-skeleton p{color:var(--muted);font-size:13px;line-height:1.6;margin:8px 0 0}.itinerary-list{display:flex;flex-direction:column;gap:15px}.itinerary-card{border:1px solid var(--control-border);border-radius:var(--radius-card);overflow:hidden;background:var(--surface)}.itinerary-card.selected{border:2px solid var(--link)}.itinerary-select{display:block;text-align:left;width:100%;padding:15px 15px 8px}.itinerary-select:hover{background:var(--raised)}.itinerary-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.itinerary-heading>strong{font-size:22px;font-weight:800}.itinerary-heading>span{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600}.leg-chips{flex-wrap:wrap;gap:6px;margin-top:13px}.leg-chip,.leg-chips{display:flex;align-items:center}.leg-chip{gap:5px;min-height:29px;border-radius:8px;padding:5px 7px;font-size:12px;font-weight:700;background:var(--primary-soft);color:var(--text)}.leg-chip.is-walk{background:var(--raised);color:var(--muted);font-size:11px;font-weight:500}.itinerary-facts{display:flex;flex-wrap:wrap;align-items:center;gap:7px 13px;font-size:11px;color:var(--muted);margin-top:13px}.itinerary-facts>span{display:inline-flex;align-items:center;gap:4px}.itinerary-actions{display:flex;justify-content:space-between;padding:0 15px 7px}.itinerary-actions .text-button{min-height:44px;font-size:12px}.rotated{transform:rotate(180deg)}.journey-legs{margin:0;padding:17px 14px 0;list-style:none;border-top:1px solid var(--line)}.journey-leg{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;padding-bottom:21px}.leg-mode-icon{color:var(--link);padding-top:1px}.leg-title{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.leg-title strong{font-size:14px;font-weight:700}.leg-title>span{color:var(--muted);font-size:12px;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.journey-leg p{display:flex;flex-wrap:wrap;gap:5px;align-items:center;font-size:14px;line-height:1.55;margin:7px 0 3px;overflow-wrap:anywhere}.journey-leg p>svg{flex:none}.journey-leg small{line-height:1.5}.journey-leg small,.leg-times{color:var(--muted);font-size:12px}.leg-times{display:flex;flex-wrap:wrap;align-items:center;gap:5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:8px}.live-tag{display:inline-flex;background:var(--live-background);color:var(--live-text);border:1px solid var(--brand-night);border-radius:6px;font-size:11px;padding:3px 5px;font-weight:600}.scheduled-tag{font-size:11px;margin-left:4px}.intermediate-stops{margin-top:7px}.intermediate-stops summary{color:var(--link);font-size:11px;cursor:pointer;padding:8px 0}.intermediate-stops ul{padding:0 0 0 15px;margin:3px 0;color:var(--muted);font-size:11px;line-height:1.9}.journey-data-note{font-size:11px;color:var(--muted);line-height:1.6;margin:15px 0 0}.local-storage-note{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:13px;line-height:1.6;padding:15px 0 20px;margin:0;border-bottom:1px solid var(--line)}.local-storage-note>svg{flex:none;color:var(--link);margin-top:3px}.saved-row{display:flex;align-items:flex-start;gap:10px;padding:18px 0;border-bottom:1px solid var(--line)}.saved-row>.stop-icon{margin-top:4px}.saved-copy{flex:1 1;min-width:0}.saved-copy>strong{display:block;font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.saved-copy>small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.saved-copy>.text-button{font-size:12px;min-height:44px}.saved-row>.icon-button{width:36px;height:44px;flex:none;color:var(--muted)}.saved-content .empty-state h2{font-size:21px;color:var(--text)}.stop-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-12px 0 20px}.stop-detail-actions>.text-button{font-size:12px;min-height:44px}.route-filters{margin-bottom:17px}.route-filters .filter-row{padding-bottom:14px;margin-bottom:0}.direction-filter{padding:0 0 16px;border-bottom:1px solid var(--line)}.direction-filter>label{display:flex;align-items:center;gap:6px;color:var(--link);font-size:13px;font-weight:700;margin-bottom:8px}.direction-filter>select{display:block;width:100%;min-height:47px;background:var(--surface);color:var(--text);border:1px solid var(--control-border);border-radius:var(--radius-button);padding:8px 10px;font-size:13px;text-overflow:ellipsis}.direction-filter .field-help{line-height:1.5}.leg-destination{margin-top:7px;font-size:14px;line-height:1.5;font-weight:700;color:var(--link);overflow-wrap:anywhere}.map-pick-notice{position:absolute;z-index:4;top:120px;left:26px;right:75px;max-width:430px;display:flex;align-items:center;gap:11px;padding:11px 12px 11px 15px;border:2px solid var(--link);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow)}.map-pick-notice>svg{color:var(--link);flex:none}.map-pick-notice>div{flex:1 1;min-width:0}.map-pick-notice span,.map-pick-notice strong{display:block}.map-pick-notice strong{font-size:14px}.map-pick-notice span{font-size:12px;margin-top:5px;color:var(--muted)}.legend-route{display:block;width:19px;height:4px;background:var(--brand-primary);border-radius:2px}.legend-walk{display:block;width:19px;border-top:3px dashed var(--text)}.route-map-summary{position:absolute;z-index:3;bottom:113px;left:26px;right:26px;max-width:430px;display:flex;align-items:center;gap:11px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow)}.route-map-summary>svg{flex:none;color:var(--link)}.route-map-summary>div{flex:1 1;min-width:0}.route-map-summary strong{display:block;font-size:14px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.route-map-summary span{display:block;font-size:12px;color:var(--muted);margin-top:5px}.route-map-summary>.text-button{min-height:44px;font-size:12px}.route-map-summary .route-ranking{display:block;color:var(--link);font-size:11px;font-weight:750;margin-bottom:4px}.route-summary-actions{display:flex;flex-direction:row;gap:4px;flex:0 0 auto!important}.route-summary-actions .text-button{min-height:44px;font-size:11px}.route-exit-button{min-height:44px;min-width:44px;padding:8px 11px;background:var(--surface);border:1px solid var(--control-border);border-radius:9px;color:var(--text);font-size:12px;font-weight:700;cursor:pointer}.route-exit-button:focus-visible{outline:3px solid var(--brand-primary);outline-offset:3px}.route-calculation-status{flex-wrap:wrap}.route-calculation-status>div{flex:1 1 150px}.route-calculation-status strong{font-size:13px;line-height:1.45}.route-calculation-status>button{flex:none}.journey-debug-option{margin-top:12px;padding-top:6px;border-top:1px solid var(--line)}.journey-debug-option>summary{display:flex;align-items:center;min-height:44px;color:var(--link);font-size:12px;font-weight:650;cursor:pointer}.journey-debug-option>button{min-height:44px}.journey-debug-option>summary:focus-visible{outline:3px solid var(--brand-primary);outline-offset:3px}@media(min-width:1600px){.planner-scroll{padding-right:36px}.mode-navigation,.planner-scroll{padding-left:36px}}@media(max-width:1100px){.planner-scroll{padding-right:23px}.mode-navigation,.planner-scroll{padding-left:23px}.endpoint-hint>span,.map-pick-button{font-size:11px}}@media(max-width:768px){.mode-navigation{height:56px;padding:5px 12px;gap:5px}.mode-navigation>button{flex:1 1;min-width:0;min-height:44px;gap:6px;padding:8px 9px;font-size:13px}.mode-navigation>button>svg{width:18px;height:18px}.workspace{height:calc(100dvh - 197px - env(safe-area-inset-bottom,0px));min-height:380px}.compact-intro{padding:22px 23px 20px}.compact-intro h1{font-size:26px;margin:12px 0 8px}.compact-intro p{font-size:14px}.planner-scroll{padding-left:23px;padding-right:23px}.endpoint-hint>span,.map-pick-button{font-size:11px}.mobile-switch{height:calc(72px + env(safe-area-inset-bottom,0px));padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.map-pick-notice{top:105px;left:16px;right:16px;padding-left:12px}.route-map-summary{left:16px;right:16px;bottom:105px;padding:10px 12px;gap:9px}.route-map-summary strong{font-size:13px}.route-map-summary>.text-button{font-size:11px}.map-legend{gap:14px}}@media(max-width:370px){.compact-intro,.planner-scroll,.saved-scroll{padding-left:17px;padding-right:17px}.endpoint-hint>span,.map-pick-button{font-size:11px}.departure-options{gap:6px}.departure-options>label{font-size:13px}.departure-options select{max-width:163px;font-size:12px}}.abordo-framework-app{--f7-font-family:var(--font-main);--f7-theme-color:#2355E8;--f7-theme-color-rgb:35,85,232;--f7-page-bg-color:var(--background);--f7-text-color:var(--text);--f7-bars-bg-color:var(--surface);--f7-sheet-bg-color:var(--surface);--f7-button-border-radius:14px;--f7-button-text-transform:none;font-family:var(--font-main);min-height:100dvh;height:auto;color:var(--text)}.abordo-page.page{position:relative;min-height:100dvh;height:auto;background:var(--background);overflow:hidden}.abordo-framework-app a{color:inherit}.abordo-framework-app .info-map-credit a,.abordo-framework-app .source-license a,.abordo-framework-app a.text-button{color:var(--link)}.abordo-framework-app .button{font-family:var(--font-main);text-transform:none;letter-spacing:normal;line-height:1.4}.abordo-framework-app .button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.mode-navigation.segmented>.button{flex:none;width:115px;min-width:115px;border-radius:var(--radius-button);height:44px}.mode-navigation.segmented>.button.active{color:var(--on-primary)}.mobile-toolbar.toolbar,.mode-navigation.segmented:after{display:none}.abordo-info-sheet.sheet-modal{position:fixed;left:auto;right:0;top:0;bottom:0;width:450px;height:100dvh;border-radius:0;background:var(--surface);color:var(--text)}.abordo-info-sheet .sheet-modal-inner{height:100%;overflow:hidden}.abordo-info-sheet .info-panel{width:100%;height:100%;box-shadow:none}.source-license a{text-decoration:underline;text-underline-offset:3px}.sheet-backdrop{background:rgb(13 23 43/.36)}.app-starting{min-height:100dvh;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;background:var(--canvas);color:var(--muted)}.app-starting strong{color:var(--text);font-size:30px;font-weight:800}.app-starting span{font-size:14px}.gps-origin-row{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin:-5px 0 0}.gps-origin-row>span{font-size:11px;color:var(--muted)}.gps-origin-button{display:flex;align-items:center;gap:7px;color:var(--link);min-height:38px;font-size:13px;font-weight:700;padding:4px 0}.gps-origin-button:hover{text-decoration:underline}.departure-options select{max-width:186px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media(max-width:768px){.mode-navigation.segmented>.button{flex:1 1;width:auto;min-width:0}.mobile-toolbar.toolbar{display:block;height:auto;position:relative;top:auto;bottom:auto;left:auto;right:auto;background:var(--surface);z-index:5}.mobile-toolbar.toolbar:after,.mobile-toolbar.toolbar:before{display:none}.mobile-switch.segmented>.button{border-radius:var(--radius-button);min-height:48px;height:48px}.mobile-switch.segmented:after{display:none}.abordo-info-sheet.sheet-modal{width:100%;top:12dvh;height:88dvh;border-radius:18px 18px 0 0}}@media(max-width:370px){.departure-options select{max-width:176px}}.radar-options{margin:0 29px 17px}.radar-options>label{display:flex;align-items:center;gap:9px;min-height:30px;font-size:13px;font-weight:600}.radar-options input{width:17px;height:17px;margin:0;accent-color:var(--brand-primary)}.radar-options>p{font-size:11px;color:var(--muted);line-height:1.5;margin:4px 0 0}.line-chip{gap:5px}.gps-tag{font-size:11px;color:var(--text)}.estimated-tag{display:inline-block;background:var(--warning-background);border:1px solid var(--warning-text);padding:2px 4px;border-radius:5px;font-size:11px;font-weight:600}.estimated-tag,.selected-bottom>span.estimate-copy{color:var(--warning-text)}.legend-estimate{display:block;width:11px;height:11px;background:var(--warning-background);border:2px solid var(--warning-text);border-radius:3px}.view-mode-toggle.segmented{position:absolute;z-index:3;top:26px;right:86px;display:flex;width:110px;height:48px;padding:4px;gap:4px;border-radius:var(--radius-button);border:1px solid var(--control-border);background:var(--surface);box-shadow:var(--shadow)}.view-mode-toggle.segmented>.button{flex:1 1;width:auto;min-width:0;height:38px;border-radius:10px;color:var(--link);font-size:13px;font-weight:700}.view-mode-toggle.segmented>.button.active{background:var(--brand-primary);color:var(--on-primary)}.view-mode-toggle.segmented:after{display:none}.models-status{position:absolute;z-index:2;top:105px;left:26px;max-width:270px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-button);padding:10px 13px;color:var(--muted);font-size:12px;line-height:1.5;box-shadow:var(--shadow)}.map-icon-sprites{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}@media(min-width:1600px){.radar-options{margin-left:36px;margin-right:36px}}@media(max-width:1100px){.radar-options{margin-left:23px;margin-right:23px}}@media(max-width:768px){.view-mode-toggle.segmented{top:18px;right:72px;width:101px;height:44px;padding:3px}.view-mode-toggle.segmented>.button{height:36px}.models-status{top:91px;left:16px;max-width:245px;font-size:11px}}@media(max-width:370px){.mode-radar .map-title{padding-right:10px}.mode-radar .map-title span:not(.map-title-icon),.mode-radar .map-title-icon{display:none}.mode-radar .map-title strong{font-size:13px}}.vehicle-speed{flex:none;width:42px;font-size:11px;line-height:1.4;color:var(--muted);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vehicle-row strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2}.vehicle-row>svg{display:none}.vehicle-telemetry{display:flex;align-items:center;gap:11px;padding-top:13px;margin-top:10px;border-top:1px solid var(--line)}.vehicle-telemetry>strong{font-size:23px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.vehicle-telemetry>span{font-size:11px;line-height:1.5;color:var(--muted)}.orientation-note{color:var(--muted);font-size:12px;line-height:1.5;margin:11px 0 0}.history-toggle{min-height:40px;font-size:12px}.vehicle-history{max-height:160px;overflow-y:auto;border-top:1px solid var(--line)}.vehicle-history p{font-size:12px;color:var(--muted)}.vehicle-history ul{list-style:none;padding:0;margin:0}.vehicle-history li{display:grid;grid-template-columns:67px 61px minmax(0,1fr);align-items:center;gap:7px;border-bottom:1px solid var(--line);padding:10px 0;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vehicle-history li>span{color:var(--muted);font-size:11px}.maplibregl-popup-content{border-radius:var(--radius-card);background:var(--surface);color:var(--text);font-family:var(--font-main);padding:18px;box-shadow:var(--shadow);border:1px solid var(--control-border)}.maplibregl-popup-close-button{width:32px;height:32px;font-size:22px}.traffic-popup strong{display:block;font-size:14px;line-height:1.5;padding-right:14px}.traffic-popup p{font-size:12px;line-height:1.5;color:var(--muted);margin:7px 0}.traffic-popup a{font-size:12px;color:var(--link)!important;text-decoration:underline}@media(max-width:768px){.map-legend{flex-wrap:wrap;gap:8px 12px}.vehicle-telemetry>strong{font-size:21px}}.map-category-legend{display:flex;flex-basis:100%;align-items:center;gap:12px;padding-top:8px;margin-top:1px;border-top:1px solid var(--line)}.map-category-legend>span{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text)}.map-category-legend i{display:block;width:9px;height:9px;border-radius:3px}.mode-radar .map-legend{flex-wrap:wrap;max-width:470px;row-gap:8px}.mode-radar .selected-vehicle{bottom:139px}.route-filters>.filter-row+.filter-row{padding-top:0;border-top:0}.radar-intro{padding-top:23px;padding-bottom:18px}.radar-intro h1{font-size:26px;margin:11px 0 7px}.radar-intro p{font-size:13px}.radar-primary-filters .route-filters{display:grid;gap:12px;margin-bottom:10px}.radar-catalog-filters{border-bottom:1px solid var(--line);padding-bottom:8px}.radar-catalog-filters>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;cursor:pointer;list-style:none;font-size:14px;font-weight:700;line-height:1.5}.radar-catalog-filters>summary::-webkit-details-marker{display:none}.radar-catalog-filters>summary>span{min-width:0}.radar-catalog-filters>summary small{display:block;color:var(--muted);font-weight:400;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.radar-catalog-filters>summary>svg{flex:none;color:var(--link)}.radar-catalog-filters[open]>summary>svg{transform:rotate(180deg)}.radar-catalog-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px 0 4px}.radar-catalog-filters>summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:8px}.radar-primary-filters .filter-row{flex-direction:column;align-items:stretch;gap:7px;padding:0;border:0}.radar-primary-filters .filter-row label{font-size:13px}.radar-primary-filters .filter-row select{min-width:0;max-width:100%;width:100%;min-height:48px;font-size:14px}.radar-primary-filters .direction-filter{grid-column:1/-1;border:0;padding:0 0 3px}.radar-extra-options{margin:9px 0 16px;padding:0 0 8px;border-bottom:1px solid var(--line)}.radar-extra-options>summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;cursor:pointer;color:var(--link);font-size:13px;font-weight:600;list-style:none}.radar-extra-options>summary::-webkit-details-marker{display:none}.radar-extra-options[open]>summary>svg{transform:rotate(180deg)}.radar-extra-options .radar-options{margin:3px 0 7px}.radar-stop-search .search-block{padding:8px 0 10px}.radar-extra-options>summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:8px}.radar-content .panel-scroll>.search-block{padding:0 0 20px}.radar-content .panel-scroll>.search-block label{font-size:13px}.radar-content .live-results>.list-heading{margin-top:1px}@media(max-width:768px){.radar-intro{padding-top:20px;padding-bottom:16px}.radar-intro h1{font-size:25px}}.radar-content .selected-vehicle{position:relative;left:auto;right:auto;bottom:auto;max-width:none;margin:0 0 18px;padding:15px;box-shadow:none}.radar-content .selected-vehicle .selected-top h2{font-size:16px}.abordo-vehicle-sheet.sheet-modal{position:fixed;left:0;right:0;top:auto;bottom:0;width:100%;height:min(45dvh,340px);background:var(--surface);color:var(--text);border-radius:18px 18px 0 0;border-top:1px solid var(--control-border)}.abordo-vehicle-sheet .sheet-modal-inner{height:100%;overflow-y:auto;overscroll-behavior:contain}.vehicle-sheet-content{padding:0 0 env(safe-area-inset-bottom,0)}.abordo-vehicle-sheet .selected-vehicle{position:static;left:auto;right:auto;bottom:auto;width:100%;max-width:none;height:auto;max-height:none;margin:0;border:0;box-shadow:none;padding:16px 18px;border-radius:0}.selected-vehicle .selected-top{position:sticky;top:0;background:var(--surface);z-index:2}.mode-radar .map-footnote,.mode-radar .map-title{display:none}.mode-radar .view-mode-toggle.segmented{left:26px;right:auto}.legend-details.map-legend{display:block;min-width:120px;padding:0;max-width:min(470px,calc(100% - 52px))}.legend-details>summary{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:44px;padding:10px 13px;cursor:pointer;color:var(--text);font-size:12px;font-weight:600;list-style:none}.legend-details>summary::-webkit-details-marker{display:none}.legend-details[open]>summary>svg{transform:rotate(180deg)}.legend-body{flex-wrap:wrap;gap:9px 15px;padding:0 13px 12px;max-height:130px;overflow-y:auto}.legend-body,.legend-body>span{display:flex;align-items:center}.legend-body>span{gap:6px}.legend-body .map-category-legend{gap:10px;flex-wrap:wrap}.maplibregl-ctrl-bottom-left{bottom:15px}.scope-line{display:block}.scope-line h2{margin-bottom:5px}.scope-line>span{white-space:normal;display:block;line-height:1.5}.vehicle-speed>small{display:block;font-size:11px;color:var(--muted)}@media(max-width:768px){.mode-radar .view-mode-toggle.segmented{left:16px;right:auto}.legend-details.map-legend{max-width:calc(100% - 32px);right:auto}.has-vehicle-sheet .legend-details{bottom:calc(min(45dvh,340px) - 72px + 10px)}.models-status{top:77px;left:16px;max-width:210px;padding:7px 10px}}.workspace{min-height:0}:root{--primary-nav-height:64px}.app-shell{height:100dvh;min-height:0;display:flex;flex-direction:column}.topbar{flex:none}.workspace{flex:1 1;height:auto!important;min-height:0!important}.primary-toolbar.toolbar{position:relative;top:auto;bottom:auto;left:auto;right:auto;flex:none;height:calc(var(--primary-nav-height) + env(safe-area-inset-bottom,0px));background:var(--surface);padding-bottom:env(safe-area-inset-bottom,0);z-index:30;border-top:1px solid var(--line)}.primary-toolbar:after,.primary-toolbar:before{display:none}.primary-toolbar .mode-navigation.segmented{width:100%;height:var(--primary-nav-height);justify-content:center;border-bottom:0;padding:7px 20px;gap:10px}.primary-toolbar .mode-navigation.segmented>.button{width:132px;min-width:0;height:48px}.workspace-view-toolbar{display:none}@media(max-width:768px){:root{--primary-nav-height:72px}.topbar{height:calc(69px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0)}.primary-toolbar .mode-navigation.segmented{padding:6px 10px;gap:4px}.primary-toolbar .mode-navigation.segmented>.button{flex:1 1;width:auto;min-width:0;height:56px;flex-direction:column;gap:4px;padding:4px;font-size:12px;line-height:1.2}.primary-toolbar .mode-navigation.segmented>.button>svg{width:21px;height:21px}.workspace-view-toolbar{display:block;flex:none;height:56px;background:var(--surface);border-bottom:1px solid var(--line);padding:4px 16px}.workspace-view-switch.segmented{display:flex;height:48px;background:var(--raised);border-radius:var(--radius-button);padding:2px}.workspace-view-switch.segmented>.button{flex:1 1;width:auto;display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;height:44px;color:var(--muted);border-radius:11px;font-size:13px}.workspace-view-switch.segmented>.button.active{background:var(--surface);color:var(--link);font-weight:700;box-shadow:0 1px 3px rgb(13 23 43/.1)}.workspace-view-switch.segmented:after{display:none}.abordo-vehicle-sheet.sheet-modal{bottom:calc(var(--primary-nav-height) + env(safe-area-inset-bottom,0px));height:min(44dvh,340px)}.has-vehicle-sheet .maplibregl-ctrl-bottom-right{bottom:calc(min(44dvh,340px) + 4px)}}.city-switch[hidden],.workspace[hidden]{display:none!important}.national-context{display:flex;align-items:center;gap:9px;font-weight:600;color:var(--link)}.rail-scroll{padding-top:26px}.rail-intro{margin-bottom:24px}.rail-intro h1,.rail-station-detail h1,.rail-train-detail h1{font-size:26px;font-weight:800;line-height:1.22;letter-spacing:-.6px;margin:14px 0 12px;overflow-wrap:anywhere}.rail-intro p{color:var(--muted);line-height:1.6;font-size:14px;margin:0}.rail-search-label{display:block;font-size:14px;font-weight:600;margin:0 0 9px}.rail-operator-filter{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;margin:18px 0}.rail-date-field input,.rail-operator-filter select,.rail-time-select select{max-width:210px;min-width:0;background:var(--surface);color:var(--text);border:1px solid var(--control-border);border-radius:var(--radius-button);padding:10px;min-height:44px;font-size:13px}.rail-results-heading,.rail-stops-heading{font-size:16px;margin:26px 0 12px}.rail-empty{display:block;font-size:14px;line-height:1.7;color:var(--muted);padding:20px 0}.rail-search-result{width:100%;display:flex;align-items:center;gap:11px;padding:16px 0;text-align:left;border-bottom:1px solid var(--line)}.rail-search-result>svg{color:var(--link);flex:none}.rail-search-result>span{min-width:0;flex:1 1}.rail-search-result strong{display:block;font-size:14px;font-weight:600;line-height:1.5}.rail-search-result small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:4px}.rail-detail-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.rail-board-tabs.segmented{display:flex;margin:22px 0 18px;border:1px solid var(--control-border);border-radius:var(--radius-button);padding:3px}.rail-board-tabs.segmented>.button{flex:1 1;min-height:44px;width:auto;font-size:14px;border-radius:11px;color:var(--muted)}.rail-board-tabs.segmented>.button.active{background:var(--brand-primary);color:var(--on-primary)}.rail-time-select{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.rail-time-select select{margin-left:auto;max-width:210px}.rail-date-field{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px;color:var(--muted);font-size:12px}.rail-date-field input{width:100%;max-width:100%}.rail-board-list{list-style:none;padding:0;margin:15px 0 0}.rail-board-row{width:100%;min-height:106px;display:flex;gap:13px;align-items:flex-start;text-align:left;padding:18px 0;border-bottom:1px solid var(--line)}.rail-board-clock{min-width:58px}.rail-board-clock>strong{display:block;font-size:20px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rail-board-clock>small{display:block;font-size:12px;color:var(--muted);margin-top:6px;line-height:1.5}.rail-board-copy{flex:1 1;min-width:0}.rail-board-copy>strong{display:block;font-size:14px;font-weight:700;line-height:1.4}.rail-board-copy>span{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin:5px 0}.rail-board-copy>small{display:inline-block;font-size:12px;line-height:1.5;margin:5px 5px 0 0}.rail-board-row>svg{color:var(--link);flex:none;margin-top:3px}.rail-destination{gap:7px;font-size:14px;line-height:1.7}.rail-destination,.rail-train-facts{display:flex;align-items:center;flex-wrap:wrap;color:var(--muted)}.rail-train-facts{gap:9px;margin:16px 0;font-size:12px}.rail-train-facts .scheduled-tag{margin-left:0}.rail-position-state{background:var(--raised);border:1px solid var(--line);border-radius:var(--radius-card);padding:14px;margin:16px 0}.rail-position-state span,.rail-position-state strong{display:block;font-size:13px;line-height:1.6}.rail-position-state span{margin-top:5px;color:var(--muted);font-size:12px}.rail-stop-list{list-style:none;margin:0;padding:0 0 0 6px}.rail-stop-list li{position:relative;display:flex;gap:13px;padding:2px 0 23px}.rail-stop-list li:not(:last-child):after{content:"";position:absolute;left:4px;top:12px;bottom:0;width:2px;background:var(--line)}.rail-stop-dot{flex:none;width:10px;height:10px;border:2px solid var(--link);border-radius:50%;margin-top:8px}.rail-stop-list li>div{min-width:0;flex:1 1}.rail-stop-name{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:30px;text-align:left;color:var(--text);font-size:14px;font-weight:600;line-height:1.5}.rail-stop-name>svg{color:var(--link);flex:none}.rail-stop-times{display:flex;flex-wrap:wrap;gap:7px 12px;color:var(--muted);font-size:11px;line-height:1.6;margin-top:4px}.rail-time-warning{font-size:11px;color:var(--warning-text);margin:5px 0;line-height:1.6}.rail-source{border-top:1px solid var(--line);padding:12px 0;font-size:12px;line-height:1.7}.rail-source summary{min-height:40px;cursor:pointer;color:var(--link)}.rail-source p{color:var(--muted)}.rail-source a{color:var(--link)}.rail-map-summary{position:absolute;bottom:65px;left:26px;display:flex;align-items:center;gap:12px;max-width:calc(100% - 52px);padding:14px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow);z-index:2}.rail-map-summary>svg{color:var(--link)}.rail-map-summary>span{font-size:14px;font-weight:600}.rail-map-summary small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.rail-view-toggle.segmented{top:26px;left:auto;right:85px}.rail-detail-sheet .rail-station-detail,.rail-detail-sheet .rail-train-detail{padding:16px 18px 24px}@media(max-width:768px){.mode-navigation.segmented>.button{flex-direction:column;gap:1px;padding:3px 5px;font-size:12px;line-height:1.3}.mode-navigation.segmented>.button>svg{width:17px;height:17px}.rail-view-toggle.segmented{top:89px;left:16px;right:auto}.rail-map-summary{bottom:40px;left:16px;right:16px;max-width:none;padding:12px}.has-vehicle-sheet .rail-map-summary{display:none}.rail-scroll{padding-top:21px}.rail-intro h1,.rail-station-detail h1,.rail-train-detail h1{font-size:25px}}.empty-illustration{display:block;margin:0 auto 16px}.empty-illustration,.empty-illustration img{width:176px;height:124px}.empty-illustration .illustration-dark,html[data-theme=dark] .empty-illustration .illustration-light{display:none}html[data-theme=dark] .empty-illustration .illustration-dark{display:block}.gps-button[aria-busy=true]>svg,.gps-origin-button[aria-busy=true]>svg{animation:location-search 1.2s ease-in-out 2}@keyframes location-search{50%{transform:scale(.8);opacity:.65}}@media(prefers-reduced-motion:reduce){.gps-button[aria-busy=true]>svg,.gps-origin-button[aria-busy=true]>svg{animation:none}}.vehicle-speed{white-space:normal}@media(max-width:768px){.maplibregl-ctrl-top-right{top:15px}.radar-intro{padding-top:16px;padding-bottom:13px}.radar-intro h1{margin-top:8px;margin-bottom:5px}.has-vehicle-sheet .maplibregl-ctrl-bottom-right{bottom:calc(min(45dvh,340px) - 72px + 4px)}}.planner-content .selected-vehicle{position:relative;left:auto;right:auto;bottom:auto;width:100%;max-width:none;margin:0 0 20px;box-shadow:none}.stop-board{padding-bottom:15px}.stop-board-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.stop-board h2{font-size:24px;margin:3px 0 12px;line-height:1.25}.stop-board .stop-detail-actions{margin:0 0 18px}.board-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px}.board-heading h3{margin:0;font-size:16px}.board-heading select{min-height:42px;max-width:140px;border:1px solid var(--control-border);border-radius:var(--radius-button);color:var(--text);background:var(--surface);padding:7px 9px;font-size:12px}.board-departures{list-style:none;padding:0;margin:0}.board-departure{display:flex;align-items:flex-start;gap:10px;padding:15px 0;border-bottom:1px solid var(--line)}.board-departure-copy{min-width:0;flex:1 1}.board-departure-copy>strong{display:block;font-size:14px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.arrival-countdown{display:block;font-size:19px;font-weight:800;margin:7px 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.board-departure-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;color:var(--muted);font-size:11px}.board-departure-meta .scheduled-tag{margin-left:0;font-size:11px}.board-departure.cancelled .arrival-countdown,.delay-tag{color:var(--warning-text)}.board-empty{padding:22px 0;color:var(--muted);font-size:14px;line-height:1.6}.abordo-vehicle-sheet .stop-board{padding:14px 18px 22px}.stop-lookup p{font-size:14px;line-height:1.6;color:var(--muted)}.is-picking .map-title{display:none}.is-picking .map-pick-notice{top:18px;left:16px;right:72px;width:auto;max-width:430px}.map-area:has(.map-shell[data-3d-status=loading]) .view-mode-toggle>button:last-child:after{content:"…"}.wordmark{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1}.brand-beta{display:inline-flex;width:max-content;align-items:center;padding:1px 5px;border:1px solid var(--line);border-radius:5px;color:var(--text);background:var(--surface);font-size:11px;font-weight:600;line-height:14px;letter-spacing:0}.shared-brand{display:flex;align-items:center;gap:10px}.wordmark img{display:block;width:146px;height:39px;object-fit:contain}html[data-theme=dark] .wordmark{background:#FFFFFF;padding:5px 8px;border-radius:10px}.mode-emoji{font-size:17px;line-height:1;flex:none}@media(max-width:768px){.wordmark img{width:119px;height:33px}}@media(max-width:370px){.wordmark img{width:105px;height:30px}}.vehicle-stop-context{padding:11px 0;margin:2px 0;border-top:1px solid var(--line)}.vehicle-stop-context span,.vehicle-stop-context strong{display:block;font-size:12px;line-height:1.6}.vehicle-stop-context span{font-size:11px;color:var(--muted);margin-top:3px}.workspace-view-toolbar[hidden]{display:none!important}.mode-journey:not(.search-is-open){grid-template-columns:minmax(0,1fr)}.mode-journey .map-title,.mode-journey:not(.search-is-open)>.journey-panel{display:none}.home-search-pill{position:absolute;z-index:4;left:26px;top:26px;width:min(450px,calc(100% - 110px));min-height:56px;display:flex;align-items:center;gap:14px;padding:12px 20px;background:var(--surface);border:1px solid var(--control-border);color:var(--text);border-radius:28px;box-shadow:var(--shadow);margin:0;padding:0;font-size:16px;font-weight:600}.home-search-pill>button{display:flex;align-items:center;gap:inherit;width:100%;min-height:54px;padding:12px 20px;text-align:left;font:inherit}.home-search-pill>button>span{flex:1 1;text-align:left;font-size:16px;font-weight:600}.home-search-pill>button>svg{flex:none;color:var(--link)}.planner-panel-top{height:48px;flex:none;display:flex;align-items:center;justify-content:flex-end;padding:3px 14px}.planner-panel-top+.panel-intro{padding-top:0;padding-bottom:20px}.journey-compact-heading{padding:0 29px 18px;flex:none;border-bottom:1px solid var(--line)}.journey-compact-heading h1{font-size:25px;font-weight:800;margin:0 0 10px;letter-spacing:-.5px}.journey-compact-heading p{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 7px}.journey-compact-heading p>svg{display:inline;vertical-align:middle}.journey-compact-heading>.text-button{font-size:12px;margin-right:15px;min-height:36px}.planner-search-stage>.panel-intro .section-kicker,.planner-search-stage>.panel-intro>p{display:none}.planner-search-stage>.panel-intro h1{margin:0;font-size:25px}.planner-search-stage>.panel-intro{padding-bottom:16px}.planner-search-stage .gps-origin-row{margin-bottom:16px;padding-bottom:10px}.destination-confirmed{display:flex;align-items:flex-start;gap:11px;padding:15px 0}.destination-confirmed>svg{color:var(--link);flex:none;margin-top:18px}.destination-confirmed>div{min-width:0;flex:1 1}.destination-confirmed small,.destination-confirmed span{display:block;color:var(--muted);font-size:11px;line-height:1.6}.destination-confirmed strong{display:block;margin:4px 0;font-size:16px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.destination-confirmed>.text-button{min-height:44px;font-size:11px;flex:none}.journey-confirmation{margin:8px 0 12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--raised);padding:8px 14px}.journey-confirmation p{display:flex;align-items:center;gap:8px;margin:10px 0;color:var(--muted);font-size:13px;line-height:1.5}.journey-confirmation strong{color:var(--text);font-size:13px;font-weight:600;overflow-wrap:anywhere}.journey-options{margin:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.journey-options>summary{min-height:46px;display:flex;align-items:center;gap:10px;font-size:14px;color:var(--link);font-weight:600;cursor:pointer;list-style:none}.journey-options>summary::-webkit-details-marker{display:none}.journey-options>summary>span{font-size:25px;line-height:1}.journey-options[open]{padding-bottom:15px}.journey-options .gps-origin-row{margin:10px 0 16px}.journey-options .endpoint-field{margin-bottom:20px}.journey-options .swap-button{display:none}.endpoint-field>.place-search-results{margin:12px 0 15px}.planner-alternatives-stage .planner-scroll,.planner-detail-stage .planner-scroll{padding-top:18px}.destination-city-control{display:flex!important;align-items:center;gap:10px;justify-content:space-between;margin:0 0 9px!important;color:var(--muted);font-size:12px!important;font-weight:500!important}.destination-city-control select{appearance:auto;max-width:180px;min-height:38px;color:var(--text);background:var(--surface);border:1px solid var(--control-border);border-radius:10px;padding:7px 10px;font-size:12px}.planner-content:has(.stop-board) .journey-alternatives,.planner-content:has(.stop-board) .journey-form,.planner-content:has(.stop-board)>.journey-compact-heading,.planner-content:has(.stop-board)>.panel-intro{display:none}@media(max-width:768px){.workspace.mode-journey{display:block;position:relative}.mode-journey>.map-area{display:block!important;position:absolute;inset:0;height:auto}.mode-journey>.journey-panel{display:none!important}.mode-journey.search-is-open>.journey-panel{display:flex!important;position:absolute;left:0;right:0;bottom:0;top:auto;height:86%;max-height:620px;border:1px solid var(--control-border);border-bottom:0;border-radius:22px 22px 0 0;overflow:hidden;z-index:7;box-shadow:var(--shadow)}.mode-journey.search-is-open .maplibregl-ctrl-top-right,.mode-journey.search-is-open .route-map-summary{display:none}.home-search-pill{left:16px;top:16px;width:calc(100% - 88px);padding:0;gap:10px}.home-search-pill>button{padding:11px 15px}.home-search-pill>button>span{font-size:14px}.mode-journey .route-map-summary{bottom:16px}.journey-compact-heading{padding:0 20px 14px}.journey-compact-heading h1{font-size:24px}}.abordo-product-sheet.sheet-modal{height:min(90dvh,850px);width:min(620px,100%);left:auto;right:0;margin:0;border-radius:24px 24px 0 0;overflow:hidden;background:var(--surface)}.product-dialog{height:100%;min-height:0}@media(min-width:769px){.abordo-product-sheet.sheet-modal{height:min(92dvh,900px);border-radius:24px 0 0 0}}@media(max-width:420px){.topbar-actions{gap:0}.topbar-actions .icon-button{width:44px;height:44px;min-width:44px}}.profile-button{position:relative}.tracking-dot{position:absolute;right:5px;top:5px;width:9px;height:9px;border:2px solid var(--brand-night);border-radius:50%;background:var(--brand-mint)}.profile-button.has-active-trip{background:var(--live-background);color:var(--live-text)}.rail-network-options{margin:16px 0;padding:12px 0;border-block:1px solid var(--border)}.rail-network-options summary{min-height:32px;color:var(--link);cursor:pointer;font-size:13px;font-weight:700}.rail-network-options label{display:grid;gap:6px;margin:12px 0;font-size:13px}.rail-network-options select{width:100%;min-height:44px;border:1px solid var(--control-border);border-radius:14px;padding:9px;background:var(--surface);color:var(--text)}.rail-live-availability{margin:14px 0;padding:12px;border:1px solid var(--border);border-radius:14px;color:var(--muted);font-size:13px;line-height:1.6}.rail-network-notice{position:absolute;left:20px;right:60px;top:148px;padding:10px 12px;border-radius:14px;background:var(--surface);font-size:12px}.vehicle-follow-button{min-height:42px;margin-top:10px}.other-departures{margin:4px 16px 14px;border-top:1px solid var(--border);padding-top:5px}.other-departures summary{display:flex;align-items:center;justify-content:space-between;min-height:40px;cursor:pointer;font-size:12px;font-weight:700;color:var(--link)}.other-departures ul{list-style:none;margin:0;padding:0}.other-departures li button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:11px;border-top:1px solid var(--border)}.other-departures strong{font-size:13px;font-weight:700}.connection-warning{display:flex;gap:8px;margin:12px 16px;padding:10px;border-radius:12px;color:var(--warning-text);background:var(--warning-background);font-size:12px;line-height:1.5}.leg-expected{font-size:11px;color:var(--link)}.rail-archive-entry{min-height:44px;margin-top:12px;font-size:12px;flex-wrap:wrap}.rail-archive-entry>span{font-size:11px;padding:3px 5px;border-radius:6px;border:1px solid var(--warning);color:var(--warning-text)}.rail-operator-line{display:flex!important;align-items:center;gap:9px;flex-wrap:wrap;margin:7px 0}.rail-number-badge{display:inline-flex;align-items:center;min-height:32px;padding:5px 9px;border:1px solid var(--accent);border-radius:9px;background:var(--accent-soft);color:var(--link);font-size:15px;font-weight:800;line-height:1.2}.rail-train-detail h1 .rail-number-badge{font-size:25px;padding:8px 11px}.rail-delay-badge{background:var(--warning-background);color:var(--warning-text)!important;font-weight:700;border-radius:7px}.rail-delay-badge,.rail-platform-badge{display:inline-block!important;padding:5px 8px}.rail-platform-badge{border:1px solid var(--control-border);border-radius:7px;margin-left:6px}.rail-platform-badge strong{display:inline!important;font-size:13px}@media(max-width:370px){.topbar{grid-template-columns:minmax(0,1fr) 70px auto;gap:6px;padding-left:10px;padding-right:10px}.wordmark,.wordmark img{max-width:100%}.wordmark img{width:96px}.city-switch select{width:70px;min-width:0;max-width:70px;padding-left:0;padding-right:0;font-size:13px}html[data-theme=dark] .wordmark{padding:4px}.national-context{font-size:13px;gap:4px}.national-context>svg{width:15px}}.journey-warnings{margin:8px 0 14px;font-size:12px;color:var(--muted);line-height:1.5}.journey-warnings summary{min-height:40px;display:flex;align-items:center;cursor:pointer;color:var(--link);font-weight:600}.journey-warnings li{margin:9px 0}.empty-journey-actions{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:16px}.rail-row-map-action{min-height:42px;font-size:12px;margin:0 0 6px 68px}.rail-neutral-badge{display:inline-block!important;padding:5px 8px;border-radius:7px;border:1px solid var(--line);background:var(--raised);color:var(--muted);font-weight:650}.rail-unknown-badge{color:var(--muted)}.rail-row-map-action{min-height:44px;margin:0 0 12px;width:100%;border:1px solid var(--control-border);border-radius:11px;padding:10px 12px;white-space:normal;line-height:1.4;justify-content:center}.rail-row-map-action:focus-visible{outline:3px solid var(--brand-primary);outline-offset:3px}.rail-board-list>li{border:1px solid var(--line);border-radius:15px;padding:0 14px;margin-bottom:14px}.rail-board-row{border-bottom:0;gap:12px}.rail-board-row:focus-visible{outline:3px solid var(--brand-primary);outline-offset:3px;border-radius:10px}.rail-board-copy>strong{font-size:15px}.rail-board-copy>.rail-operator-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.rail-board-copy .rail-number-badge{font-size:11px;padding:3px 7px;min-height:26px}.rail-board-row .rail-platform-badge{margin-left:0}.map-fallback>.secondary-button{min-height:44px;white-space:normal;text-align:center}.journey-center-vehicles{position:absolute;z-index:4;left:16px;top:82px;min-height:44px;font-size:12px;padding:10px 13px;border-radius:12px;box-shadow:var(--shadow)}.journey-center-vehicles:focus-visible{outline:3px solid var(--brand-primary);outline-offset:3px}@media(max-width:768px){.rail-detail-sheet.sheet-modal{height:min(34dvh,260px)}.mode-rail .has-vehicle-sheet .map-title{display:none}.mode-rail .has-vehicle-sheet .rail-view-toggle.segmented{top:20px}.mode-rail .has-vehicle-sheet .maplibregl-ctrl-top-right .maplibregl-ctrl-group{display:flex}.mode-rail .has-vehicle-sheet .maplibregl-ctrl-top-right .maplibregl-ctrl-group button+button{border-top:0;border-left:1px solid var(--border)}.mode-rail .has-vehicle-sheet .maplibregl-ctrl-bottom-right{bottom:calc(min(34dvh,260px) + 4px)}}.resolved-rfi-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none;min-height:48px;padding:5px 18px;border-bottom:1px solid var(--border);background:var(--surface)}.resolved-rfi-toolbar .segmented{display:flex;gap:5px}.resolved-rfi-toolbar .segmented>.button{width:auto;min-width:75px;min-height:36px;border-radius:12px;color:var(--link)}.resolved-rfi-toolbar .segmented>.button.active{background:var(--accent);color:var(--on-primary)}.rfi-resolved-detail{padding:16px 0}.rfi-resolved-detail h2{font-size:21px;line-height:1.35;margin:16px 0}.protect-journey-button{margin:4px 16px 18px;width:calc(100% - 32px);font-size:13px}@media(max-width:480px){.topbar{grid-template-columns:minmax(0,1fr) 70px auto;gap:6px;padding-left:10px;padding-right:10px}.city-switch>svg{display:none}.city-switch select{width:70px;min-width:0;max-width:70px;padding-left:0;padding-right:0}.wordmark{max-width:100%}}@media(max-width:768px){.mode-rail .map-area.has-vehicle-sheet{height:calc(100% - min(34dvh,260px))}.mode-rail .has-vehicle-sheet .maplibregl-ctrl-bottom-right{bottom:4px}}.rfi-stop-context{display:grid;gap:5px;margin:10px 0;font-size:13px;line-height:1.5}.rfi-stop-context>span{color:var(--text-secondary)}.rfi-resolved-detail .rail-stop-times>span{display:grid;gap:3px}.rfi-resolved-detail .rail-stop-times small{color:var(--text-secondary);font-size:11px}.rfi-trip-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rfi-trip-heading h1{margin:0;font-size:16px;line-height:1.4}.rfi-trip-heading .field-help{margin:0}.rfi-geometry-state{display:block;margin-top:7px;color:var(--text-secondary);font-size:11px;line-height:1.5}.rail-map-detail .rfi-trip-heading h1{font-size:16px;margin:0}.rail-map-detail .rfi-trip-heading>.text-button{margin-left:auto;min-height:36px}.rail-map-detail h2{font-size:18px;line-height:1.35;margin:8px 0}.rail-map-detail .rail-position-state{margin:8px 0 0;padding:10px}.rail-map-detail{padding:12px 18px}.rail-detail-sheet .rfi-trip-heading .rail-number-badge{font-size:16px;padding:6px 10px}.itinerary-select:hover,.journey-confirmation,.leg-chip.is-walk,.rail-position-state,.workspace-view-switch.segmented{--muted:var(--text-on-primary-soft)}html[data-reduced-motion=true] *,html[data-reduced-motion=true] :after,html[data-reduced-motion=true] :before{scroll-behavior:auto!important;animation:none!important;transition:none!important}html[data-reduced-motion=true] button:active:not(:disabled){transform:none!important}.abordo-vehicle-sheet .sheet-modal-inner,.info-panel,.panel-scroll,.planner-scroll{overscroll-behavior-y:contain;scroll-padding-block:16px}.info-panel{padding-top:max(26px,env(safe-area-inset-top,0px));padding-bottom:max(30px,env(safe-area-inset-bottom,0px))}.topbar{--topbar-gutter:30px;padding-left:max(var(--topbar-gutter),env(safe-area-inset-left,0px));padding-right:max(var(--topbar-gutter),env(safe-area-inset-right,0px))}.primary-toolbar.toolbar{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}@media(max-width:1100px){.topbar{--topbar-gutter:22px}}@media(max-width:768px){.topbar{--topbar-gutter:16px}.info-panel{padding-left:max(23px,env(safe-area-inset-left,0px));padding-right:max(23px,env(safe-area-inset-right,0px))}}@media(max-width:480px){.topbar{--topbar-gutter:10px}}@media(any-pointer:coarse){.abordo-framework-app :is(input,select,textarea):not([type=checkbox],[type=radio],[type=range],[type=button],[type=submit],[type=file],[type=color]){font-size:16px}.city-switch select,.filter-row select,.gps-origin-button,.intermediate-stops summary,.journey-warnings summary,.map-pick-button,.other-departures summary,.radar-extra-options>summary,.rail-map-detail .rfi-trip-heading>.text-button,.rail-network-options summary,.rail-source summary,.resolved-rfi-toolbar .segmented>.button,.saved-shortcuts button,.text-button{min-height:44px}.map-pick-button{padding-inline:8px}.view-mode-toggle.segmented{height:52px;padding:3px}.view-mode-toggle.segmented>.button{height:44px;min-height:44px}.maplibregl-popup-close-button{width:44px;height:44px}}:root{--map-control-edge:24px;--map-control-top:24px;--map-control-right:max(24px,env(safe-area-inset-right,0px));--map-control-gap:12px;--map-navigation-height:88px}.maplibregl-ctrl-top-right{top:var(--map-control-top);right:var(--map-control-right)}.maplibregl-ctrl-top-right>.maplibregl-ctrl{margin:0}.home-search-pill{top:var(--map-control-top);left:var(--map-control-edge);width:min(450px,calc(100% - var(--map-control-edge) - var(--map-control-right) - 44px - var(--map-control-gap)))}@media(max-width:768px){:root{--map-control-edge:16px;--map-control-top:16px;--map-control-right:max(16px,env(safe-area-inset-right,0px))}.mode-rail .has-vehicle-sheet .maplibregl-ctrl-top-right .maplibregl-ctrl-group{display:block}.mode-rail .has-vehicle-sheet .maplibregl-ctrl-top-right .maplibregl-ctrl-group button+button{border-left:0;border-top:1px solid var(--border)}}:root{--journey-result-dock-height:80px}.planner-results-ui>.planner-panel-top{display:none}.planner-results-ui>.planner-scroll{padding-top:12px;padding-bottom:calc(var(--journey-result-dock-height) + 20px)}.planner-results-ui .journey-alternatives>.list-heading{margin-top:0}.mode-journey:has(.planner-results-ui) .route-map-summary:not(.route-calculation-status){bottom:calc(var(--journey-result-dock-height) + 16px)}@media(max-width:768px){.mode-journey.search-is-open:has(.planner-results-ui)>.journey-panel{bottom:var(--journey-result-dock-height);height:58%;max-height:min(560px,calc(100% - var(--journey-result-dock-height) - 16px))}.mode-journey.search-is-open:has(.planner-results-ui.planner-detail-stage)>.journey-panel{height:82%;max-height:min(680px,calc(100% - var(--journey-result-dock-height) - 16px))}}.workspace.map-panel-peeked{grid-template-columns:minmax(0,1fr)}.map-panel-content[hidden],.workspace.map-panel-peeked>.journey-panel{display:none!important}body:has([data-feedback-standalone])>main{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.mode-journey.search-is-open.map-panel-peeked .maplibregl-ctrl-top-right{display:block}.mode-journey:has(.journey-result-dock) [data-map-panel-peek]{bottom:var(--journey-result-dock-height)}.mode-journey:has(.planner-results-ui) [data-map-panel-peek]{bottom:var(--journey-result-dock-height)}.abordo-framework-app:has(.journey-result-dock) .abordo-vehicle-sheet{bottom:calc(var(--primary-nav-height,64px) + env(safe-area-inset-bottom,0px) + var(--journey-result-dock-height))!important}@media(max-width:768px){:root{--journey-result-dock-height:82px}.mode-rail.map-panel-peeked .map-area.has-vehicle-sheet{height:calc(100% - 44px)}.map-panel-peeked .has-vehicle-sheet .maplibregl-ctrl-bottom-right{bottom:48px}}.rail-board-copy .rail-number-badge{font-size:12px}.rail-board-copy>.rail-operator-line{font-size:12px;line-height:1.5}.rail-search-result small{font-size:12px}.rail-intro{margin-bottom:18px}.rail-intro h1{margin-bottom:8px}.rail-source>summary{min-height:44px;cursor:pointer}.model-choice{display:grid;gap:8px;min-width:0;margin-block:14px}.model-choice label{font-size:13px;font-weight:700}.model-choice select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;border:1px solid var(--control-border);border-radius:var(--radius-input);background:var(--surface);color:var(--text);padding:10px;font:inherit;font-size:13px}.model-choice .field-help{margin:0;line-height:1.5}.model-choice select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.surface-model-choice{min-width:0;border-top:1px solid var(--border);padding-top:12px}.surface-model-choice[open]{display:grid;gap:10px}.model-status summary,.surface-model-choice summary{cursor:pointer;font-weight:650;min-height:44px;align-content:center}.model-status{font-size:.8rem;line-height:1.5}.model-status ul{padding-left:18px;display:grid;gap:12px}.model-status li span{display:block;color:var(--muted);font-size:.75rem}.model-status li p{margin:4px 0}.view-mode-toggle.segmented{width:186px;height:54px}.view-mode-toggle.segmented>.button{height:44px}.view-mode-toggle.segmented>.button:last-child{flex:1.5 1}@media(max-width:768px){.view-mode-toggle.segmented{width:176px;height:52px}.view-mode-toggle.segmented>.button{height:44px}}