.routing-fares{color:var(--text-3);font-size:var(--type-sm);margin-top:8px;line-height:1.45}.routing-fares>.routing-fare-group{margin:12px 0 12px 20px}.routing-fare-price{color:var(--text-1);flex-wrap:wrap;justify-content:space-between;gap:4px 16px;display:flex}.routing-fare-price>strong{font-weight:600}.routing-fares p{margin:4px 0}.routing-fares>.routing-fare-note{margin:4px 0 12px 20px}.routing-fare-options{margin-top:4px}.routing-fare-products{margin:8px 0 8px 16px}.routing-fare-products>strong{color:var(--text-2);font-weight:500}.routing-fare-sources{margin-left:20px}.routing-fares small{color:var(--text-3);font-size:var(--type-xs);display:block}.routing-fares a{color:inherit;text-underline-offset:2px;text-decoration:underline}.analysis-origin-picker{border-top:1px solid var(--line-1);min-width:0;font-size:var(--type-sm);line-height:1.45}.analysis-origin-picker .analysis-origin-toggle{width:100%;min-height:32px;color:var(--text-2);background:0 0;border-radius:0;justify-content:flex-start;padding:0 10px;font-weight:400;display:flex}.analysis-origin-picker .analysis-origin-toggle:hover:not(:disabled){color:var(--text-1);background:var(--fill-1)}.analysis-origin-toggle>svg:first-child{color:var(--text-3)}.analysis-origin-toggle>svg:last-child{color:var(--text-3);transition:transform var(--duration-base) var(--ease-standard);margin-left:auto}.analysis-origin-toggle[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}.analysis-origin-panel{gap:8px;min-width:0;padding:4px 10px 10px;display:grid}.analysis-origin-panel>label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.analysis-origin-panel p{color:var(--text-3);font-size:var(--type-xs);overflow-wrap:anywhere;margin:0}.analysis-origin-search{min-width:0;height:var(--control-h);color:var(--text-3);background:var(--fill-2);border-radius:7px;align-items:center;gap:6px;padding:0 8px;display:flex}.analysis-origin-search:focus-within{box-shadow:inset 0 0 0 1px var(--signal-line), 0 0 0 3px var(--signal-soft)}.analysis-origin-search>svg{flex:none;width:14px;height:14px}.analysis-origin-search input{width:100%;height:100%;color:var(--text-1);font:400 var(--type-md,13px)/1 var(--font-ui,system-ui, sans-serif);background:0 0;border:0;outline:0;flex:1;padding:0}.analysis-origin-search input:hover:not(:focus){background:0 0}.analysis-origin-search input:focus-visible{outline:0}.analysis-origin-count{font-variant-numeric:tabular-nums}.analysis-origin-results{background:var(--fill-1);border-radius:8px;min-width:0;max-height:240px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.analysis-origin-results li{min-width:0}.analysis-origin-results li+li{border-top:1px solid var(--line-1)}.analysis-origin-results button{width:100%;color:var(--text-1);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;gap:1px;padding:6px 9px;display:grid}.analysis-origin-results button:hover{background:var(--fill-2)}.analysis-origin-results strong{font-size:var(--type-md,13px);font-weight:500}.analysis-origin-results span{color:var(--text-3);font-size:var(--type-xs);font-variant-numeric:tabular-nums}.analysis-origin-coordinate-disclosure>summary{min-height:26px;color:var(--text-2);cursor:pointer;align-items:center;gap:4px;list-style:none;display:inline-flex}.analysis-origin-coordinate-disclosure>summary::-webkit-details-marker{display:none}.analysis-origin-coordinate-disclosure>summary:before{width:8px;color:var(--text-3);content:"›";transition:transform var(--duration-base) var(--ease-standard)}.analysis-origin-coordinate-disclosure[open]>summary:before{transform:rotate(90deg)}.analysis-origin-coordinates{border:0;gap:6px;min-width:0;margin:4px 0 0;padding:0;display:grid}.analysis-origin-coordinate-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.analysis-origin-coordinate-fields label{min-width:0;color:var(--text-3);font-size:var(--type-xs);gap:3px;display:grid}.analysis-origin-coordinate-fields input{width:100%}.analysis-origin-picker .analysis-origin-error{color:var(--alert)}.analysis-origin-confirm{height:var(--control-h);color:var(--text-1);background:var(--fill-2);font:500 var(--type-md)/1 var(--font-ui);cursor:pointer;border:0;border-radius:7px;justify-self:start;padding:0 12px}.analysis-origin-confirm:hover:not(:disabled){background:var(--fill-3)}.analysis-origin-picker button:disabled{opacity:.5;cursor:default}.analysis-origin-picker :is(button,input):focus-visible{outline:2px solid var(--signal-text);outline-offset:1px}@media (width<=360px){.analysis-origin-coordinate-fields{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.analysis-origin-toggle>svg:last-child,.analysis-origin-coordinate-disclosure>summary:before{transition:none}}html,body,#root{height:100%;font-size:14px;overflow:hidden}.app-shell{--font-ui:-apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", Inter, "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;--type-2xs:10px;--type-xs:11px;--type-sm:12px;--type-md:13px;--type-lg:15px;--type-xl:20px;--type-2xl:28px;--radius-xs:5px;--radius-sm:7px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--ease-standard:cubic-bezier(.22, 1, .36, 1);--ease-emphasis:cubic-bezier(.16, 1, .3, 1);--duration-base:.18s;--duration-slow:.28s;--rail-width:48px;--panel-width:clamp(336px, 25vw, 368px);--workbench-sidebar:calc(var(--rail-width) + var(--panel-width));--sidebar-width:var(--panel-width);--routing-detail-width:clamp(300px, 24vw, 360px);--stage-gutter:10px;--topbar-height:44px;--button-h:34px;--control-h:28px;--row-h:34px;--panel-pad:12px;--panel-radius:14px;--group-radius:10px;--good:#4ade9a;--watch:#f7b955;--alert:#ff6f6f;--info:#6cb6ff;grid-template-rows:auto minmax(0,1fr);min-width:320px;height:100dvh;display:grid;overflow:hidden}.app-shell,.app-shell.appearance-dark{--ink-0:#050a12;--ink-1:#08101b;--ink-2:#0c1521;--ink-3:#121c2a;--ink-4:#182333;--line-1:#bed2f012;--line-2:#bed2f01f;--line-3:#bed2f033;--text-1:#eef2f8;--text-2:#c0cad8;--text-3:#8592a6;--text-4:#5a6679;--signal:#cde67c;--signal-strong:#dcf292;--signal-text:#cde67c;--signal-ink:#0e1407;--signal-soft:#cde67c1f;--signal-line:#cde67c6b;--material-strong:#0b121ded;--material-blur:blur(32px) saturate(1.5);--fill-1:#d6e2f50b;--fill-2:#d6e2f513;--fill-3:#d6e2f51f;--seg-thumb:#344055;--elev-1:0 1px 0 #ffffff09 inset, 0 1px 2px #00000061;--elev-2:0 0 0 1px var(--line-2), 0 1px 0 #ffffff0a inset, 0 18px 46px -14px #000000b3, 0 3px 10px #00000057;--elev-3:0 0 0 1px var(--line-2), 0 28px 80px -18px #000000c7, 0 6px 18px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.app-shell.appearance-light{--ink-0:#e7eaee;--ink-1:#f3f4f6;--ink-2:#f9fafb;--ink-3:#fff;--ink-4:#eef0f3;--line-1:#0f172a0e;--line-2:#0f172a18;--line-3:#0f172a2b;--text-1:#0d1117;--text-2:#363f4b;--text-3:#66707e;--text-4:#9aa3af;--signal:#c8ec3f;--signal-strong:#b8de2a;--signal-text:#4f6c00;--signal-ink:#10150a;--signal-soft:#7ca8001c;--signal-line:#6084006b;--material-strong:#fffffff0;--material-blur:blur(28px) saturate(1.8);--fill-1:#0f172a09;--fill-2:#0f172a0f;--fill-3:#0f172a1a;--seg-thumb:#fff;--elev-1:0 1px 2px #0f172a0f;--elev-2:0 0 0 1px var(--line-2), 0 18px 44px -16px #0f172a42, 0 2px 8px #0f172a12;--elev-3:0 0 0 1px var(--line-2), 0 28px 72px -20px #0f172a52, 0 6px 16px #0f172a14;--good:#12925a;--watch:#b06d00;--alert:#d63c3c;--info:#1f6fd1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.app-shell,.app-shell.appearance-dark,.app-shell.appearance-light{color:var(--text-2);background:var(--ink-1);font-family:var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:-.003em;text-rendering:optimizelegibility}.app-frame{grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;overflow:hidden}.shell-body{grid-template-columns:minmax(350px,390px) minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.app-shell button:focus-visible,.app-shell input:focus-visible,.app-shell select:focus-visible,.app-shell textarea:focus-visible,.app-shell a:focus-visible,.app-shell summary:focus-visible{outline:2px solid var(--signal-text);outline-offset:2px}.app-shell ::selection{color:var(--signal-ink);background:var(--signal)}.signal-loader{border-radius:var(--radius-pill);background:var(--line-2);flex:none;width:40px;height:2px;display:block;position:relative;overflow:hidden}.signal-loader:after{border-radius:inherit;background:var(--signal);content:"";width:45%;animation:signal-loader-sweep 1.3s var(--ease-standard) infinite;position:absolute;inset:0 auto 0 0}.skeleton{border-radius:var(--radius-xs);background:linear-gradient(100deg, color-mix(in srgb, var(--text-1) 6%, transparent) 30%, color-mix(in srgb, var(--text-1) 11%, transparent) 50%, color-mix(in srgb, var(--text-1) 6%, transparent) 70%) 0 0 / 300% 100%;min-height:10px;animation:1.8s ease-in-out infinite skeleton-sweep;display:block}@keyframes signal-loader-sweep{0%{transform:translate(-100%)}to{transform:translate(230%)}}@keyframes skeleton-sweep{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.signal-loader:after{opacity:.55;width:100%;animation:none}.skeleton{animation:none}}.background-tasks{-webkit-app-region:no-drag;position:relative}.topbar:has(.background-tasks-panel){z-index:60}.background-tasks-trigger{min-height:32px;color:var(--text-3);white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:7px;padding:6px 9px;font-size:11px;display:inline-flex}.background-tasks-trigger b{background:var(--signal-soft);text-align:center;border-radius:4px;min-width:17px}.background-tasks-panel{border:1px solid var(--line-2);background:var(--ink-3);width:min(340px,100vw - 24px);max-height:min(480px,100dvh - 80px);color:var(--text-1);box-shadow:var(--elev-1);border-radius:10px;padding:16px;font-size:12px;position:absolute;top:calc(100% + 10px);right:0;overflow:auto}.background-tasks-panel header,.background-task-heading{align-items:center;gap:8px;display:flex}.background-tasks-panel header>strong{flex:1;font-size:13px}.background-tasks-panel button{border:1px solid var(--line-2);background:var(--ink-2);color:var(--text-1);cursor:pointer;border-radius:5px;padding:6px 8px}.background-tasks-panel p{color:var(--text-3);overflow-wrap:anywhere;margin:8px 0;line-height:1.5}.background-tasks-panel ul{margin:12px 0;padding:0;list-style:none}.background-task{border-top:1px solid var(--line-2);padding:0}.background-task-heading strong{flex:1;min-width:0;font-size:12px}.background-task-heading>span{color:var(--text-3);font-size:10px}.background-task small{color:var(--text-3);overflow-wrap:anywhere;margin-top:5px;font-size:11px;line-height:1.5;display:block}.background-task progress{width:100%;height:5px;accent-color:var(--signal-text);margin:8px 0;display:block}.background-task.is-complete .background-task-heading>svg{color:var(--text-3)}.background-task.is-failed .background-task-heading>svg{color:var(--alert)}.background-tasks-panel .background-tasks-data{width:100%;color:var(--text-3);text-align:left;background:0 0;border-color:#0000;padding:8px 0 0}.background-tasks-trigger:hover,.background-tasks-trigger[aria-expanded=true]{background:var(--ink-4);color:var(--text-1)}.background-tasks-panel header button{color:var(--text-3);background:0 0;border:0;place-items:center;padding:5px;display:grid}.background-tasks-panel .background-tasks-summary{margin:4px 0 14px;font-size:11px}.background-task-heading{cursor:pointer;min-height:44px;padding:10px 0;list-style:none}.background-task-heading::-webkit-details-marker{display:none}.background-task-heading>svg{flex-shrink:0}.background-task-heading strong{font-weight:500}.background-task-heading:after{content:"›";color:var(--text-3);transition:transform .15s;transform:rotate(0)}.background-task details[open]>summary:after{transform:rotate(90deg)}.background-task-details{padding:0 0 12px 24px}.background-tasks :is(button,summary):focus-visible{outline:2px solid var(--signal-text);outline-offset:3px}@media (prefers-reduced-motion:reduce){.background-task-heading:after{transition:none}}.task-spinner{flex-shrink:0;animation:1.2s linear infinite preparation-spin}@keyframes preparation-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.task-spinner{animation:none}}@media (width<=760px){.background-tasks-trigger>span{display:none}.background-tasks-panel{position:fixed;top:58px;right:12px}}.topbar{z-index:30;border-bottom:1px solid var(--line-1);background:var(--ink-1);min-height:48px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;grid-template-columns:minmax(220px,.72fr) minmax(280px,620px) minmax(220px,.72fr);align-items:center;gap:14px;padding:6px 10px;display:grid;position:relative}.topbar-brand{color:var(--text-1)}.topbar-mark-button{cursor:pointer}.topbar-brand span{color:var(--text-3);font-weight:860}.topbar-actions,.panel-heading{align-items:center;display:flex}.app-sidebar{z-index:40;border-right:1px solid var(--line-3);background:linear-gradient(180deg, color-mix(in srgb, var(--ink-3) 88%, transparent), color-mix(in srgb, var(--ink-2) 96%, transparent));min-width:0;min-height:0;box-shadow:var(--elev-1);-webkit-backdrop-filter:blur(18px)saturate(1.05);backdrop-filter:blur(18px)saturate(1.05);gap:0;padding:0;display:grid;position:relative;overflow:hidden}.sidebar-empty-note{border:1px dashed var(--line-3);color:var(--text-3);background:color-mix(in srgb, var(--ink-3) 30%, transparent);border-radius:8px;gap:5px;padding:10px;display:grid}.sidebar-empty-note strong{color:var(--text-1);font-size:.78rem;font-weight:900}.sidebar-empty-note span{font-size:.68rem;font-weight:750;line-height:1.35}.topbar-actions{justify-content:flex-end;min-width:0}.topbar-project-action{cursor:pointer;align-items:center;gap:7px;min-width:0;display:inline-flex}.topbar-project-action svg{flex:none}.icon-button{border:1px solid var(--line-2);width:30px;min-width:30px;height:28px;color:var(--text-3);background:color-mix(in srgb, var(--ink-2) 70%, transparent);cursor:pointer;border-radius:6px;place-items:center;display:inline-grid}.icon-button:hover,.icon-button.is-active{color:var(--text-1);border-color:color-mix(in srgb, var(--signal-text) 52%, var(--line-3));background:color-mix(in srgb, var(--signal-text) 13%, var(--ink-3))}.icon-button:disabled{cursor:not-allowed;opacity:.52}.workbench{grid-template-columns:minmax(238px,280px) minmax(640px,1fr) minmax(300px,360px);gap:12px;min-height:0;padding:12px;display:grid;overflow:hidden}.empty-workbench{grid-template-columns:minmax(360px,.9fr) minmax(320px,.55fr);align-items:stretch;overflow:auto}.project-empty .shell-body{grid-template-columns:64px minmax(0,1fr)}.project-empty .app-sidebar{grid-template-columns:64px}.project-empty .topbar-brand span,.project-empty .topbar-brand b{display:none}.empty-intake{min-height:0;padding:0;display:block;overflow:auto}.surface-source-intake{border:1px solid var(--line-1);border-radius:var(--radius-lg);background:radial-gradient(120% 90% at 50% 0%, var(--ink-2), var(--ink-1));width:min(760px,100%);min-height:min-content;box-shadow:none;grid-auto-rows:max-content;align-content:start;justify-self:center;gap:20px;margin-inline:auto;padding:clamp(28px,5vw,52px);display:grid}.surface-source-intake-copy{gap:8px;display:grid}.surface-source-intake-copy h1,.surface-source-intake-copy p{margin:0}.surface-source-intake-copy h1{color:var(--text-1);font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:720;line-height:1.08}.surface-source-intake-copy p{max-width:54ch;color:var(--text-3);font-size:var(--type-md);font-weight:500;line-height:1.5}.city-setup-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.city-setup-progress li{border:1px solid var(--line-1);border-radius:var(--radius-md);background:var(--ink-3);align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex;position:relative}.city-setup-progress b{height:24px;color:var(--text-2);background:var(--ink-4);font-size:var(--type-2xs);border-radius:50%;flex:0 0 24px;place-items:center;font-weight:700;display:grid}.city-setup-progress span{gap:1px;min-width:0;display:grid}.city-setup-progress strong{color:var(--text-1);font-size:var(--type-sm);font-weight:620}.city-setup-progress small{color:var(--text-3);font-size:var(--type-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.city-setup-progress li[data-state=done] b{color:var(--signal-ink);background:var(--signal)}.city-setup-progress li[data-state=working]{border-color:var(--signal-line)}.city-setup-progress li[data-state=working] b{box-shadow:0 0 0 3px var(--signal-soft);animation:agency-live-pulse 1.6s var(--ease-standard) infinite}@media (width<=620px){.city-setup-progress{grid-template-columns:minmax(0,1fr)}}.empty-intake .import-panel{background:color-mix(in srgb, var(--ink-3) 84%, transparent);border-radius:12px;gap:0;width:100%;min-height:0;display:grid}.empty-intake .import-panel .panel-heading{min-height:42px;padding:8px 10px}.empty-intake .import-panel .panel-heading h2{font-size:.92rem}.empty-intake .drop-zone{background:var(--ink-3);min-height:78px;margin:9px;padding:12px}.page-projects .shell-body{grid-template-columns:64px minmax(0,1fr)}.page-projects .app-sidebar{z-index:80;width:64px;height:100svh;box-shadow:none;color:#eef4f8;background:#060a0f;border-right:1px solid #dce8f424;grid-template-columns:64px;position:fixed;inset:0 auto 0 0}.page-projects .topbar{min-height:44px;box-shadow:none;grid-template-columns:minmax(280px,520px) minmax(0,1fr) auto;margin-left:64px;padding:6px 14px 6px 22px}.page-projects .topbar-actions{justify-self:end}.page-projects .app-frame{grid-column:2;grid-template-rows:minmax(0,1fr)}.project-dialog-layer{z-index:180;place-items:center;display:grid;position:fixed;inset:0}.project-dialog-backdrop{border:0;position:absolute;inset:0}.project-dialog{z-index:1;border:1px solid var(--line-3);display:grid;position:relative}.project-dialog header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:3px 10px;min-width:0;display:grid}.project-dialog header span,.project-dialog label span{color:var(--text-3);font-size:.68rem;font-weight:760}.project-dialog header h2{min-width:0;color:var(--text-1);margin:0}.project-dialog header button{border:1px solid var(--line-2);width:30px;height:30px;color:var(--text-3);background:color-mix(in srgb, var(--ink-4) 64%, transparent);cursor:pointer;border-radius:7px;grid-area:1/2/span 2;place-items:center;display:grid}.project-dialog label{gap:7px;min-width:0;display:grid}.project-dialog input{border:1px solid var(--line-2);width:100%;min-width:0;height:38px;color:var(--text-1);background:color-mix(in srgb, var(--ink-4) 64%, transparent);border-radius:7px;padding:0 10px;font:780 .82rem/1.2 IBM Plex Sans,Inter,system-ui,sans-serif}.project-dialog input:focus{outline:2px solid color-mix(in srgb, var(--signal-text) 42%, transparent);outline-offset:1px}.project-dialog-error{color:var(--alert);margin:0;font-size:.72rem;font-weight:760}.project-dialog footer{justify-content:flex-end;gap:8px;display:flex}.project-dialog-secondary,.project-dialog-primary{cursor:pointer}.project-dialog-secondary{border:1px solid var(--line-2);color:var(--text-2);background:0 0}.project-dialog-primary{color:#061114;background:#8eeaf3;border:1px solid #eef4f82e}.project-dialog button:disabled,.project-dialog input:disabled{cursor:not-allowed;opacity:.62}.setup-dialog-layer{z-index:190}.setup-dialog{background:linear-gradient(180deg, color-mix(in srgb, var(--ink-3) 97%, #03070b), color-mix(in srgb, var(--ink-2) 98%, #03070b));border-radius:14px;gap:13px}.setup-dialog header h2{font-size:1.32rem}.setup-hero,.setup-offline-card{border:1px solid color-mix(in srgb, var(--signal-text) 22%, var(--line-2));background:linear-gradient(135deg, color-mix(in srgb, var(--signal-text) 11%, transparent), transparent 58%), color-mix(in srgb, var(--ink-4) 78%, transparent);border-radius:10px;gap:10px;min-width:0;display:grid}.setup-hero{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:12px}.setup-hero svg{color:var(--signal-text)}.setup-hero span,.setup-offline-card>div:first-child{gap:3px;min-width:0;display:grid}.setup-hero strong,.setup-offline-card strong{color:var(--text-1);font-weight:880}.setup-hero small,.setup-dialog label small,.setup-offline-card small{color:var(--text-3);font-size:.66rem;font-weight:730;line-height:1.45}.setup-path-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0;display:grid}.setup-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.setup-basemap-choice{gap:6px;padding-top:2px;display:grid}.setup-basemap-choice>span{color:var(--text-3);font-size:.66rem;font-weight:790}.setup-basemap-choice select{border:1px solid var(--line-2);min-height:34px;color:var(--text-1);background:var(--ink-2);font:inherit;border-radius:7px;font-size:.7rem;font-weight:680}.setup-choice-grid fieldset{border:1px solid var(--line-2);background:color-mix(in srgb, var(--ink-4) 58%, transparent);border-radius:10px;flex-wrap:wrap;gap:7px;min-width:0;margin:0;padding:10px;display:flex}.setup-choice-grid legend{color:var(--text-3);padding:0 4px;font-size:.66rem;font-weight:790}.setup-choice-grid button{border:1px solid var(--line-2);min-height:30px;color:var(--text-2);background:color-mix(in srgb, var(--ink-3) 62%, transparent);cursor:pointer;border-radius:7px;font-size:.68rem;font-weight:840}.setup-choice-grid button.is-selected{border-color:color-mix(in srgb, var(--signal-text) 52%, var(--line-3));color:var(--text-1);background:color-mix(in srgb, var(--signal-text) 14%, var(--ink-3))}.setup-choice-grid button[class*=accent-dot]:before{content:"";background:var(--signal-text);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.setup-choice-grid button.accent-dot-blue:before{background:#8eeaf3}.setup-choice-grid button.accent-dot-teal:before{background:#35d0a1}.setup-choice-grid button.accent-dot-graphite:before{background:#b8c4d2}.setup-offline-card{padding:12px}.setup-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.setup-status-grid span{border:1px solid var(--line-2);min-width:0;color:var(--text-3);background:color-mix(in srgb, var(--ink-3) 46%, transparent);border-radius:8px;align-items:center;gap:5px;padding:8px;font-size:.62rem;font-weight:820;display:flex}.setup-status-grid span.is-ok{color:var(--text-1);border-color:color-mix(in srgb, var(--signal-text) 30%, var(--line-2))}.setup-status-grid svg{color:var(--signal-text);flex:none}@media (width<=760px){.setup-choice-grid,.setup-status-grid{grid-template-columns:minmax(0,1fr)}}.feed-table-panel{grid-column:1/-1;grid-template-rows:auto minmax(0,1fr) auto;display:grid}.feed-table-panel .panel-heading h2+p{color:var(--text-3);margin:3px 0 0;font-size:.58rem;font-weight:620}.feed-table-list{gap:6px;min-width:0;padding:8px;display:grid}.feed-table-row{border:1px solid var(--line-2);background:color-mix(in srgb, var(--ink-4) 62%, transparent);border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:8px;display:grid}.feed-table-row.is-missing{opacity:.58}.feed-table-row.is-tides{border-color:color-mix(in srgb, var(--signal-text) 34%, var(--line-2));background:color-mix(in srgb, var(--signal-text) 7%, var(--ink-4))}.feed-table-row>span{gap:2px;min-width:0;display:grid}.feed-table-row strong,.feed-table-row small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.feed-table-row strong{color:var(--text-1);font-size:.72rem;font-weight:870}.feed-table-row small{color:var(--text-3);font-size:.58rem;font-weight:760}.feed-table-row b{color:var(--text-1);font-size:.7rem;font-weight:900}.feed-table-status{justify-items:end;gap:3px;min-width:86px;display:grid}.feed-table-status em{border:1px solid var(--line-2);color:var(--text-3);background:color-mix(in srgb, var(--ink-3) 72%, transparent);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 5px;font-size:.49rem;font-style:normal;font-weight:780}.feed-table-row:not(.is-missing) .feed-table-status em{color:var(--good);border-color:color-mix(in srgb, var(--good) 28%, var(--line-2))}.tides-signal-strip{border:1px solid color-mix(in srgb, var(--signal-text) 34%, var(--line-2));min-width:0;color:var(--text-1);background:color-mix(in srgb, var(--signal-text) 9%, var(--ink-4));border-radius:7px;align-items:center;gap:7px;margin:0 8px 8px;padding:8px;font-size:.64rem;font-weight:820;display:flex}.tides-signal-strip span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.surface-panel{border:1px solid var(--line-2);background:linear-gradient(180deg, color-mix(in srgb, var(--ink-3) 76%, transparent), var(--ink-2));min-width:0;min-height:0;box-shadow:var(--elev-1);overflow:hidden}.panel-heading{border-bottom:1px solid var(--line-2);justify-content:space-between;gap:10px;min-height:44px;padding:10px}.panel-heading h2{color:var(--text-1);letter-spacing:0;margin:0;font-size:.9rem;font-weight:850}.panel-heading>div:first-child{min-width:0}.eyebrow{color:var(--text-3);letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px;font-size:.62rem;font-weight:900;display:block}.import-panel{grid-template-rows:none;grid-auto-rows:max-content;display:grid;overflow:visible}.drop-zone{border:1px dashed color-mix(in srgb, var(--signal-text) 44%, var(--line-3));min-height:74px;color:var(--text-2);background:linear-gradient(135deg, #35d0a11a, #6da8ff0d), color-mix(in srgb, var(--ink-3) 52%, transparent);cursor:pointer;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin:8px;padding:13px;display:grid}.drop-zone.is-working{color:var(--signal-text);border-style:solid}.drop-zone strong,.drop-zone span{min-width:0;display:block}.import-job-action{border:1px solid var(--line-3);min-height:28px;color:var(--text-2);background:color-mix(in srgb, var(--ink-3) 72%, transparent);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:.66rem;font-weight:850;display:inline-flex}.import-job-action:hover{color:var(--text-1);border-color:var(--signal-text)}.drop-zone strong{color:var(--text-1);font-size:.9rem;font-weight:900}.drop-zone span{color:var(--text-3);margin-top:4px;font-size:.72rem;font-weight:730;line-height:1.35}.osm-import-strip{grid-template-columns:minmax(0,1fr) auto;gap:7px;min-width:0;margin:0 8px 8px;display:grid}.osm-import-strip>button{border:1px solid var(--line-2);min-width:0;min-height:40px;color:var(--text-2);background:color-mix(in srgb, var(--ink-3) 50%, transparent);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:0 10px;display:flex}.osm-import-strip>button:first-child{justify-content:flex-start}.osm-import-strip>button:first-child span{text-align:left;min-width:0}.osm-import-strip>button strong,.osm-import-strip>button small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.osm-import-strip>button strong{color:var(--text-1);font-size:.76rem;font-weight:880}.osm-import-strip>button small{color:var(--text-3);margin-top:2px;font-size:.64rem;font-weight:760}.osm-import-strip.has-osm>button{color:var(--signal-text);border-color:color-mix(in srgb, var(--signal-text) 34%, var(--line-2));background:color-mix(in srgb, var(--signal-text) 8%, var(--ink-3))}.realtime-panel{border:1px solid var(--line-2);background:var(--ink-3);border-radius:8px;min-width:0;margin:4px 8px 8px;padding:14px}.realtime-heading,.realtime-heading>div,.realtime-status,.realtime-preset,.realtime-actions{align-items:center;gap:8px;display:flex}.realtime-heading,.realtime-preset{flex-wrap:wrap;justify-content:space-between}.realtime-heading strong{color:var(--text-1);font-size:.86rem}.realtime-heading svg{color:var(--text-3)}.realtime-status{color:var(--text-3);gap:5px;font-size:.66rem}.realtime-status i{background:currentColor;border-radius:50%;width:6px;height:6px}.realtime-status.is-connected{color:var(--good)}.realtime-status.needs-attention,.realtime-warning{color:var(--watch)}.realtime-description{color:var(--text-3);margin:7px 0 14px;font-size:.71rem;line-height:1.5}.realtime-connection{border-bottom:1px solid var(--line-2);margin-bottom:14px;padding-bottom:12px}.realtime-connection>strong{color:var(--text-1);overflow-wrap:anywhere;font-size:.75rem}.realtime-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.realtime-counts>div{flex-direction:column-reverse;gap:3px;display:flex}.realtime-counts dt{color:var(--text-3);font-size:.66rem}.realtime-counts dd{color:var(--text-1);font-variant-numeric:tabular-nums;margin:0;font-size:1.16rem;font-weight:650}.realtime-connection p{margin:6px 0 0;font-size:.65rem;line-height:1.5}.realtime-preset{color:var(--text-3);margin-bottom:12px;font-size:.68rem}.realtime-preset button{border:1px solid var(--line-2);background:var(--ink-2);color:var(--text-2);font:inherit;cursor:pointer;border-radius:5px;padding:5px 9px}.realtime-fields{border:0;gap:10px;min-width:0;margin:0 0 12px;padding:0;display:grid}.realtime-fields label{min-width:0;color:var(--text-2);gap:5px;font-size:.71rem;display:grid}.realtime-fields input,.realtime-fields select{border:1px solid var(--line-2);background:var(--ink-2);width:100%;min-width:0;height:34px;color:var(--text-2);font:inherit;border-radius:5px;padding:0 9px;font-size:.68rem}.realtime-error{border:1px solid color-mix(in srgb, var(--alert) 25%, var(--line-2));color:var(--alert);background:color-mix(in srgb, var(--alert) 5%, var(--ink-2));overflow-wrap:anywhere;border-radius:5px;align-items:flex-start;gap:7px;margin-top:12px;padding:9px;font-size:.7rem;line-height:1.5;display:flex}.realtime-error svg{flex-shrink:0;margin-top:2px}.realtime-error p{color:var(--text-3);margin:5px 0 0}.realtime-actions{flex-wrap:wrap;margin-top:14px}.realtime-actions .button{min-height:32px;font-size:.7rem}.realtime-fields legend{padding:0 0 8px;font-size:.76rem;font-weight:650}.realtime-fields+.realtime-fields{margin-top:16px}.realtime-feed-options{align-items:end;gap:8px;display:flex}.realtime-feed-options label{flex:1}.realtime-feed-health{overflow-wrap:anywhere;margin-top:10px;font-size:.74rem}.map-stage{isolation:isolate;background:#071017;height:100%;min-height:0;position:relative;overflow:hidden}.maplibre-canvas{z-index:0;position:absolute;inset:0}.map-loading{width:100%;height:100%;min-height:220px;color:var(--text-3);background:var(--ink-0);place-items:center;display:grid;position:relative;overflow:hidden}.map-loading:before{background-image:linear-gradient(var(--line-1) 1px, transparent 1px), linear-gradient(90deg, var(--line-1) 1px, transparent 1px);content:"";pointer-events:none;background-position:50%;background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 0,#0000 68%);mask-image:radial-gradient(circle,#000 0,#0000 68%)}.map-loading-status{text-align:center;justify-items:center;gap:6px;max-width:360px;padding:0 24px;display:grid;position:relative}.map-loading-status .signal-loader{margin-bottom:8px}.map-loading-status strong{color:var(--text-1);font-size:var(--type-sm);font-weight:560}.map-loading-status small{color:var(--text-3);font-size:var(--type-xs);line-height:1.5}.maplibre-canvas .maplibregl-canvas{outline:none}.map-stage:before{z-index:1;pointer-events:none;content:"";background:linear-gradient(90deg,#35d0a10b,#0000 34%,#6da8ff0a 78%,#0000),linear-gradient(#ffffff06,#0000 30%,#00000042);position:absolute;inset:0}.map-basemap-status{z-index:4;border-radius:var(--radius-pill);max-width:min(340px,100% - 24px);color:var(--text-2);background:var(--material-strong);box-shadow:var(--elev-2);font-size:var(--type-2xs);pointer-events:none;-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);border:0;align-items:center;gap:7px;padding:6px 11px 6px 9px;display:inline-flex;position:absolute;top:132px;left:12px}.map-basemap-status[data-local-basemap-status=ready],.map-basemap-status[data-local-basemap-status=idle]{display:none}.map-basemap-status strong{font-size:var(--type-2xs);letter-spacing:.05em;text-transform:uppercase;font-weight:680}.map-basemap-status small{color:var(--text-3);font-size:var(--type-2xs);text-overflow:ellipsis;white-space:nowrap;font-weight:560;overflow:hidden}.map-basemap-status-dot{background:var(--text-4);border-radius:50%;flex:none;width:7px;height:7px}.map-basemap-status.is-loading .map-basemap-status-dot{background:var(--watch);animation:agency-live-pulse 1.6s var(--ease-standard) infinite}.map-basemap-status.is-error .map-basemap-status-dot{background:var(--alert)}.map-basemap-status.is-error{border-radius:var(--radius-md);align-items:flex-start}.map-basemap-status.is-error small{white-space:normal;font-size:var(--type-xs);line-height:1.4}.map-live-card{z-index:7;border:1px solid #dce8f42e;border-left:3px solid var(--signal-text);-webkit-backdrop-filter:blur(18px)saturate(1.1);backdrop-filter:blur(18px)saturate(1.1);background:linear-gradient(#070c12e6,#03060acc);gap:7px;width:min(360px,100% - 24px);min-width:0;padding:12px;display:grid;position:absolute;top:68px;right:12px}.map-live-card.is-vehicle{border-left-color:#fff}.map-live-card.is-segment{border-left-color:var(--watch)}.map-live-card.is-stop{border-left-color:var(--signal-text)}.map-live-card>button{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-3);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:10px;right:10px}.map-live-card>button:hover{color:var(--text-1);background:var(--ink-4)}.map-live-card>span{width:calc(100% - 30px);color:var(--signal-text);letter-spacing:.13em;text-transform:uppercase;font-size:.58rem;font-weight:950}.map-live-card strong,.map-live-card>small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.map-live-card strong{color:#fff;font-size:1rem;font-weight:930}.map-live-card>small{color:#9fb0c4;font-size:.68rem;font-weight:780}.map-live-metrics{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:6px;min-width:0;display:grid}.map-vehicle-journey{background:#ffffff0b;border:1px solid #dce8f424;border-radius:7px;gap:1px;min-width:0;display:grid;overflow:hidden}.map-vehicle-journey>div{gap:2px;min-width:0;padding:8px 9px;display:grid}.map-vehicle-journey>div+div{border-top:1px solid #dce8f41a;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.map-vehicle-journey span,.map-vehicle-journey b{gap:2px;min-width:0;display:grid}.map-vehicle-journey b{color:#fff;text-align:right;font-size:.76rem}.map-vehicle-journey small{color:#9fb0c4;letter-spacing:.07em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.5rem;font-weight:850;overflow:hidden}.map-vehicle-journey strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:760;overflow:hidden}.map-live-metrics b{color:#fff;background:#ffffff0d;border:1px solid #dce8f41f;border-radius:6px;gap:2px;min-width:0;padding:7px;font-size:.76rem;font-weight:920;display:grid}.map-live-metrics small{color:#9fb0c4;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;min-width:0;font-size:.52rem;font-weight:900;overflow:hidden}.map-empty{z-index:4;color:var(--text-3);text-align:center;pointer-events:none;background:#05080c8a;place-items:center;gap:8px;display:grid;position:absolute;inset:0}.map-empty strong{color:var(--text-1);font-size:.86rem;font-weight:900}.map-empty small{color:var(--text-3);font-size:.68rem;font-weight:760}.route-investigation-shell{grid-template-columns:minmax(0,1fr);gap:0;padding:6px 8px 8px;overflow:hidden}.route-surface,.route-map-shell{min-width:0;min-height:0}.route-surface{grid-template-rows:auto minmax(0,1fr);display:grid}.route-map-shell{grid-row:2;height:100%;position:relative;overflow:hidden;container:route-map/inline-size}.route-map-shell .map-stage,.route-map-shell .maplibre-canvas{height:100%;min-height:0}.route-map-shell .map-live-card{width:min(320px,100% - 24px);bottom:auto;right:12px}.occupancy-glyph{border:1px solid var(--line-3);color:var(--text-3);border-radius:6px;align-items:center;gap:4px;padding:4px 7px;display:inline-flex}.occupancy-glyph.is-crowded{color:#b45309}.reach-legend{color:var(--text-2);background:var(--material-strong);box-shadow:var(--elev-2);-webkit-backdrop-filter:var(--material-blur);pointer-events:auto;animation:stage-panel-in var(--duration-slow) var(--ease-emphasis) both;border-radius:12px;align-items:center;gap:10px;padding:9px 14px 22px;display:inline-flex}.reach-legend.is-difference{padding-bottom:10px}.reach-legend-ramp{border-radius:var(--radius-pill);width:132px;height:8px}.reach-legend-end{color:var(--text-3);font-size:var(--type-xs)}.reach-legend-title,.reach-legend-unit{color:var(--text-2);font-size:var(--type-xs);white-space:nowrap;align-self:flex-start;margin-top:-3px;font-weight:600}.reach-legend-unit{color:var(--text-3);font-weight:400}.reach-legend-scale{gap:2px;display:flex}.reach-legend-band{background:var(--reach-band);border-radius:2px;width:46px;height:8px;position:relative}.reach-legend-band:first-child{border-radius:var(--radius-pill) 2px 2px var(--radius-pill)}.reach-legend-band:last-child{border-radius:2px var(--radius-pill) var(--radius-pill) 2px}.reach-legend-band small{color:var(--text-2);font-size:var(--type-xs);font-variant-numeric:tabular-nums;line-height:1;position:absolute;top:13px;right:-1px}.reach-legend-band:last-child small{right:0}@media (width<=620px){.shell-body,.app-shell.page-project .shell-body,.app-shell.page-project:not(.project-empty) .shell-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.app-shell.page-project .app-sidebar{grid-template-columns:64px minmax(0,1fr);align-self:start;max-height:42dvh}.app-shell.page-project:not(.project-empty) .app-frame{grid-column:1;min-height:0}.route-investigation-shell{padding:10px 10px calc(70px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:10px;display:flex;overflow:auto}.route-surface{flex:0 0 clamp(300px,52dvh,520px);grid-template-rows:auto minmax(0,1fr);gap:0;min-height:clamp(300px,52dvh,520px);display:grid}.route-map-shell,.route-map-shell .map-stage,.route-map-shell .maplibre-canvas{height:100%;min-height:0}}.app-sidebar{grid-template-columns:64px minmax(0,1fr)}@media (width<=760px){.app-shell.page-project .topbar{grid-template-columns:minmax(0,1fr) auto}.app-shell.page-project .topbar-project-action{justify-content:center;width:32px;padding:0}.app-shell.page-project .topbar-project-action span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=620px){.app-shell{padding-bottom:0}.app-sidebar{z-index:40;border:0;border-bottom:1px solid var(--line-2);border-radius:0;grid-template-columns:64px minmax(0,1fr);width:auto;min-height:0;display:grid;position:relative;inset:auto}.route-investigation-shell{padding-bottom:10px}}.app-shell{isolation:isolate;position:relative}.surface-panel,.project-dialog{border-color:color-mix(in srgb, var(--signal-text) 13%, var(--line-2))}.page-projects .app-sidebar,.project-empty .app-sidebar{z-index:40;border-right:1px solid var(--line-2);background:linear-gradient(#04080dfa,#04070bfa);grid-template-columns:64px;width:auto;min-height:0;position:relative;inset:auto}.page-projects .topbar,.project-empty .topbar{grid-template-columns:minmax(220px,.72fr) minmax(280px,620px) minmax(220px,.72fr);min-height:48px;margin-left:0;padding:6px 10px}.page-projects .topbar-brand,.project-empty .topbar-brand{display:flex}.project-empty .topbar-brand b,.project-empty .topbar-brand span{display:initial}.page-projects .topbar-actions{grid-column:auto}.project-empty .app-frame{grid-template-rows:minmax(0,1fr)}.project-empty .empty-workbench{background:0 0;padding:14px}.route-investigation-shell{background:linear-gradient(180deg, color-mix(in srgb, var(--ink-1) 78%, transparent), var(--ink-1))}.surface-panel{border-radius:12px}.app-shell.appearance-light:before{opacity:.42}.topbar-mark-button:hover,.topbar-project-action:hover{background:var(--ink-4)}.topbar-project-action,.page-projects .topbar-project-action{box-shadow:none}@media (width<=860px){.page-projects .topbar,.project-empty .topbar{grid-template-columns:minmax(0,1fr) auto}}@media (width<=620px){.page-projects .shell-body,.project-empty .shell-body{grid-template-columns:minmax(0,1fr)!important}.page-projects .app-sidebar,.project-empty .app-sidebar{display:none}.page-projects .app-frame,.project-empty .app-frame{grid-column:1!important}.project-empty .empty-workbench{padding:10px}}.topbar-mark-button,.topbar-project-action{border-radius:7px}.surface-panel,.project-dialog{border-radius:8px}.page-project .shell-body{background:var(--ink-1)}.page-project .app-sidebar{border-right:1px solid var(--line-2);background:var(--ink-2)}.route-investigation-shell,.route-surface,.route-map-shell{background:var(--ink-1);border-radius:0}.route-map-shell .map-stage,.route-map-shell .maplibre-canvas{border-radius:0}.map-live-card{border-radius:7px;box-shadow:0 8px 24px #00000024}.app-shell button,.app-shell input,.app-shell select,.app-shell textarea{font:inherit}.app-shell button:focus-visible,.app-shell input:focus-visible,.app-shell select:focus-visible,.app-shell textarea:focus-visible,.app-shell summary:focus-visible,.app-shell [tabindex]:focus-visible{outline:2px solid var(--signal-text);outline-offset:2px}.button{min-width:0;min-height:var(--button-h);border:1px solid var(--line-3);border-radius:var(--radius-sm);color:var(--text-2);background:var(--ink-2);box-shadow:none;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:.75rem;font-weight:680;line-height:1;display:inline-flex}.button:hover:not(:disabled){border-color:color-mix(in srgb, var(--signal-text) 38%, var(--line-3));color:var(--text-1);background:var(--ink-4)}.button:disabled,.topbar-project-action:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.46}.topbar,.page-projects .topbar,.project-empty .topbar{margin-left:0}.topbar-actions{gap:5px}.surface-exit-action{white-space:nowrap}.runtime-alert{z-index:1700;border:1px solid color-mix(in srgb, var(--alert) 46%, var(--line-2));max-width:min(420px,100vw - 36px);color:var(--text-1);box-shadow:var(--elev-3);border-radius:9px;align-items:center;gap:10px;padding:9px 10px 9px 12px;font-size:.72rem;line-height:1.4;display:flex;position:fixed;bottom:18px;right:18px}.runtime-alert span{overflow-wrap:anywhere;min-width:0}.runtime-alert .icon-button{background:0 0;border-color:#0000;flex:none;width:28px;min-width:28px;height:28px}.app-shell.page-project:not(.project-empty) .shell-body{grid-template-columns:var(--sidebar-width) minmax(0, 1fr)}.route-investigation-shell,.workbench.project-workbench.route-investigation-shell{grid-template-columns:minmax(0,1fr)}.route-map-shell{box-shadow:none;border-radius:0}.map-scope-control{z-index:9;border:1px solid var(--line-3);min-height:40px;color:var(--text-2);background:var(--material-strong);box-shadow:0 8px 24px color-mix(in srgb, var(--text-1) 12%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.04);backdrop-filter:blur(18px)saturate(1.04);align-items:center;gap:0;padding:4px;display:flex;position:absolute;top:12px;right:12px}.map-scope-actions{background:var(--ink-3);border:0;border-radius:9px;gap:2px;padding:2px;display:inline-flex}.map-scope-actions button{min-width:58px;min-height:30px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 8px;font-size:.66rem;font-weight:620}.map-scope-actions button:hover:not(:disabled){color:var(--text-1);background:var(--ink-4)}.map-scope-actions button.is-active{color:var(--signal-ink);background:var(--signal)}.map-scope-actions button:disabled{cursor:default;opacity:.35}@container route-map (width<=620px){.map-scope-control{top:12px;left:64px;right:auto}}.page-projects .shell-body,.project-empty .shell-body{grid-template-columns:minmax(0,1fr)!important}.page-projects .app-frame,.project-empty .app-frame{grid-column:1!important}.page-projects .app-sidebar,.project-empty .app-sidebar{display:none}.page-projects .topbar-brand{display:flex}.page-projects .topbar-project-action{display:inline-flex}.surface-loading-overlay{z-index:30;background:color-mix(in srgb, var(--ink-0) 38%, transparent);animation:surface-loading-in var(--duration-slow) var(--ease-standard) both;justify-content:center;align-items:center;padding:18px;display:flex;position:absolute;inset:0}.surface-loading-overlay>div{border-radius:var(--radius-pill);background:var(--material-strong);min-height:40px;box-shadow:var(--elev-2);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);align-items:center;gap:12px;padding:0 16px;display:flex}.surface-loading-overlay strong{color:var(--text-1);font-size:var(--type-sm);font-weight:560}@keyframes surface-loading-in{0%{opacity:0}}.project-dialog-layer{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));overscroll-behavior:contain;align-items:center;overflow:auto}.project-dialog{overscroll-behavior:contain;border-radius:10px;gap:13px;width:min(430px,100%);max-height:calc(100svh - 32px);padding:17px;overflow:auto}.setup-dialog{width:min(680px,100%)}.setup-dialog .setup-hero,.setup-dialog .setup-choice-grid fieldset,.setup-dialog .setup-offline-card{box-shadow:none;background:0 0;border:0;border-radius:0}.setup-dialog .setup-hero{border-bottom:1px solid var(--line-2);padding:0 0 12px}.setup-dialog .setup-choice-grid fieldset{padding:0}.setup-dialog .setup-offline-card{border-top:1px solid var(--line-2);padding:12px 0 0}.setup-dialog .setup-status-grid span{background:var(--ink-4);border-color:#0000}.project-dialog header h2{font-size:1.04rem;font-weight:710}.project-dialog header span,.project-dialog label span,.setup-dialog label small{font-weight:540}.project-dialog input,.project-dialog select,.project-dialog textarea{min-height:var(--button-h);border-color:var(--line-3);color:var(--text-1);background:var(--ink-2);font-size:.78rem;font-weight:520}.project-dialog footer{z-index:2;border-top:1px solid var(--line-2);background:var(--ink-3);margin:0 -17px -17px;padding:12px 17px 17px;position:sticky;bottom:-17px}.project-dialog-secondary,.project-dialog-primary{min-height:var(--button-h);border-radius:7px;padding:0 13px;font-size:.73rem;font-weight:650}@media (width<=1180px){.app-shell.page-project:not(.project-empty) .shell-body{grid-template-columns:var(--sidebar-width) minmax(0, 1fr)}}@media (width<=900px){.topbar,.page-projects .topbar,.project-empty .topbar{grid-template-columns:minmax(132px,.5fr) minmax(230px,1fr) auto;gap:8px}.topbar-project-action.surface-exit-action{justify-content:center;width:32px;min-width:32px;padding:0;display:inline-flex}.surface-exit-action span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell.page-project .topbar{grid-template-columns:minmax(152px,.55fr) minmax(220px,1fr) auto;min-height:52px}.app-shell.page-project .topbar-actions,.app-shell.page-project .topbar-brand{width:auto}}@media (width<=620px){.app-shell{--sidebar-width:100%}.topbar,.page-projects .topbar,.project-empty .topbar,.app-shell.page-project .topbar{grid-template-columns:38px minmax(0,1fr) auto;gap:6px;min-height:50px;padding:6px 7px}.topbar-project-action:not(.surface-exit-action){display:none}.topbar-brand,.topbar-mark-button{width:36px}.topbar-actions{min-width:30px}.topbar-project-action.surface-exit-action{justify-content:center;width:32px;min-width:32px;padding:0;display:inline-flex}.page-projects .topbar-brand{display:flex}.app-shell.page-project:not(.project-empty) .shell-body,.shell-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.app-shell.page-project .app-sidebar,.app-sidebar{z-index:45;border:0;border-bottom:1px solid var(--line-2);grid-template-rows:minmax(0,42svh) 48px;grid-template-columns:minmax(0,1fr);width:100%;max-height:none;display:grid;position:relative;inset:auto}.app-frame{grid-column:1;min-height:0}.route-investigation-shell,.workbench.project-workbench.route-investigation-shell{min-height:0;padding:0;display:grid;overflow:hidden}.route-surface,.route-map-shell{height:100%;min-height:0}.project-dialog-layer{align-items:end;padding:8px}.project-dialog{border-radius:12px;width:100%;max-height:calc(100svh - 16px)}.setup-choice-grid,.setup-status-grid,.setup-path-row{grid-template-columns:minmax(0,1fr)}}.operation-progress{min-width:0;color:var(--text-2);gap:8px;margin-top:12px;font-size:12px;font-weight:400;display:grid}.operation-progress-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 14px;display:flex}.operation-progress-heading>span{font-weight:500}.operation-progress progress{width:100%;height:5px;accent-color:var(--signal-text);border:0;border-radius:3px;display:block;overflow:hidden}.operation-progress p{color:var(--text-3);margin:0;line-height:1.5}.operation-progress-timing{color:var(--text-3);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 14px;font-size:11px;line-height:1.5;display:flex}.operation-progress.is-compact{margin-top:6px}.city-walking-access{gap:6px;margin:10px 0;display:grid}.city-walking-access label{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.city-walking-access select{max-width:100%;min-height:32px;color:var(--text-1);background:var(--ink-3);border:1px solid var(--line-2);border-radius:6px;padding:5px 8px}.city-walking-access small{color:var(--text-3);line-height:1.45}.reach-map-hint{z-index:4;width:fit-content;max-width:min(400px,100% - 48px);color:var(--text-1);background:var(--material-strong);box-shadow:var(--elev-2);font-size:var(--type-sm);pointer-events:none;border:0;border-radius:999px;padding:7px 14px;line-height:1.4;position:absolute;top:16px;left:50%;transform:translate(-50%)}.app-shell.page-project.view-data:not(.project-empty) .shell-body{grid-template-columns:var(--rail-width) minmax(0, 1fr)}.app-shell.view-data .app-sidebar{width:var(--rail-width);grid-template-columns:var(--rail-width);border-right:1px solid var(--line-2)}.app-shell.view-data .app-frame{background:var(--ink-1);min-width:0;min-height:0;overflow:auto}.city-surface{width:min(1120px,100%);min-width:0;margin-inline:auto;padding:clamp(22px,3vh,32px) clamp(28px,5vw,72px) 64px}.city-surface-head{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:flex-end;gap:32px;min-width:0;padding-bottom:16px;display:flex}.city-surface-title{min-width:0}.city-surface-title h1,.city-surface-title p{margin:0}.city-surface-title h1{color:var(--text-1);letter-spacing:-.035em;margin-top:6px;font-size:clamp(1.55rem,2.4vw,2.1rem);font-weight:760}.city-surface-title p{color:var(--text-3);margin-top:7px;font-size:.78rem}.city-surface-title .city-surface-facts{color:var(--text-3);font-size:var(--type-sm);font-variant-numeric:tabular-nums}.city-surface-signature{border:1px solid var(--line-1);border-radius:var(--radius-md);background:radial-gradient(120% 90% at 50% 40%, var(--ink-1), var(--ink-0));flex:none;width:120px;height:75px;margin-right:-14px;overflow:hidden}.city-surface-signature .city-signature{box-sizing:border-box;object-fit:contain;width:100%;height:100%;padding:6%}.city-surface-signature .city-signature-fallback{height:100%;color:var(--text-4);place-items:center;display:grid}.city-surface-panel{min-width:0;padding-top:24px}.city-data-control{gap:14px;min-width:0;display:grid}.data-control-label{gap:6px;min-width:0;display:grid}.data-control-label>span{color:var(--text-3);letter-spacing:.08em;text-transform:uppercase;font-size:.61rem;font-weight:750}.data-control-label select,.city-data-confirm input{border:1px solid var(--line-2);width:100%;min-width:0;min-height:38px;color:var(--text-1);background:var(--ink-2);border-radius:7px;padding:0 11px;font:650 .7rem/1 Inter,ui-sans-serif,system-ui,sans-serif}.data-control-label select:focus-visible,.city-data-confirm input:focus-visible{outline:2px solid var(--signal-text);outline-offset:2px}.city-data-loading{min-height:68px;color:var(--text-3);align-items:center;gap:9px;font-size:.69rem;display:flex}.city-data-overview{border-block:1px solid var(--line-2);grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;display:grid}.city-data-overview>div{border-left:1px solid var(--line-2);gap:4px;min-width:0;padding:14px 16px;display:grid}.city-data-overview>div:first-child{border-left:0;padding-left:0}.city-data-overview span,.city-data-breakdown span{color:var(--text-3);font-size:.61rem}.city-data-overview strong{color:var(--text-1);font-size:.9rem;font-weight:750}.city-data-breakdown{gap:0;margin:0;padding:0;list-style:none;display:grid}.city-data-breakdown li{border-bottom:1px solid color-mix(in srgb, var(--line-2) 68%, transparent);justify-content:space-between;align-items:center;gap:20px;min-width:0;min-height:32px;display:flex}.city-data-breakdown li:last-child{border-bottom:0}.city-data-breakdown strong{color:var(--text-2);font-size:.65rem;font-weight:680}.city-data-action{justify-content:space-between;align-items:center;gap:22px;min-width:0;padding-top:4px;display:flex}.city-remove-action{border-top:1px solid var(--line-2);padding-top:14px}.city-data-action>span{gap:4px;min-width:0;display:grid}.city-data-action strong,.city-data-confirm strong{color:var(--text-1);font-size:.72rem;font-weight:740}.city-data-action small,.city-data-confirm span{max-width:560px;color:var(--text-3);font-size:.64rem;line-height:1.45}.data-danger-button{border:1px solid color-mix(in srgb, var(--alert) 42%, var(--line-2));min-height:34px;color:var(--alert);background:color-mix(in srgb, var(--alert) 6%, var(--ink-2));flex:none;justify-content:center;align-items:center;gap:7px;display:inline-flex}.data-danger-button:hover:not(:disabled){border-color:color-mix(in srgb, var(--alert) 66%, var(--line-2));background:color-mix(in srgb, var(--alert) 10%, var(--ink-2))}.city-data-confirm{border:1px solid color-mix(in srgb, var(--alert) 32%, var(--line-2));background:color-mix(in srgb, var(--alert) 5%, var(--ink-2));border-radius:9px;grid-template-columns:auto minmax(0,1fr);gap:10px 12px;min-width:0;padding:14px;display:grid}.city-data-confirm>svg{color:var(--alert);margin-top:1px}.city-data-confirm>div:nth-child(2){gap:7px;min-width:0;display:grid}.city-data-confirm span b{color:var(--text-1)}.city-data-confirm-actions{grid-column:2;justify-content:flex-end;gap:8px;display:flex}.city-data-note,.city-data-status{color:var(--text-3);margin:0;font-size:.65rem}.city-data-status{color:var(--good)}@media (width<=900px){.city-surface{padding:32px 24px 56px}.city-surface-head{flex-direction:column;align-items:flex-start;gap:20px}}@media (width<=760px){.app-shell.page-project.view-data:not(.project-empty) .shell-body{grid-template-columns:minmax(0,1fr)}.app-shell.view-data .app-sidebar{z-index:80;width:auto;height:var(--mobile-nav-height,60px);border:0;border-top:1px solid var(--line-2);box-shadow:none;border-radius:0;display:block;position:fixed;bottom:0;left:0;right:0;overflow:hidden}}@media (width<=620px){.city-surface{padding:28px 18px 84px}.city-data-overview{grid-template-columns:minmax(0,1fr)}.city-data-overview>div,.city-data-overview>div:first-child{border-left:0;border-top:1px solid var(--line-2);padding:10px 0}.city-data-overview>div:first-child{border-top:0}.city-data-action{flex-direction:column;align-items:flex-start}.city-data-confirm{grid-template-columns:minmax(0,1fr)}.city-data-confirm>svg{display:none}.city-data-confirm-actions{grid-column:1}}[data-vigo-desktop=macos] .topbar-mark-button{display:none}[data-vigo-desktop=macos] .topbar-brand b{letter-spacing:-.01em;font-size:.86rem;font-weight:680}[data-vigo-desktop=macos] .topbar,[data-vigo-desktop=macos] .page-projects .topbar,[data-vigo-desktop=macos] .project-empty .topbar{-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell.page-project:not(.project-empty):not(.view-data) .shell-body{grid-template-columns:var(--workbench-sidebar) minmax(0, 1fr)}.app-shell.page-project.routing-detail-open:not(.project-empty):not(.view-data) .shell-body{grid-template-columns:var(--workbench-sidebar) minmax(0, 1fr);position:relative}.app-shell.page-project:not(.project-empty):not(.view-data) .app-sidebar{width:var(--workbench-sidebar)}.route-map-shell .map-live-card{max-width:calc(100% - 76px);top:72px}.text-action{border:1px solid var(--line-3);cursor:pointer;min-height:34px;color:var(--text-2);background:0 0;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:.63rem;font-weight:680;display:inline-flex}.text-action:hover{color:var(--text-1);background:var(--ink-4)}.object-analysis-state{border:1px solid color-mix(in srgb, var(--signal-text) 28%, var(--line-2));color:var(--signal-text);background:color-mix(in srgb, var(--signal-text) 7%, transparent);border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:9px;display:grid}.object-analysis-state.is-error{border-color:color-mix(in srgb, var(--alert) 40%, var(--line-2));color:var(--alert);background:color-mix(in srgb, var(--alert) 7%, transparent)}.object-analysis-state span{gap:2px;min-width:0;display:grid}.object-analysis-state strong{color:var(--text-1);font-size:.62rem}.object-analysis-state small{color:var(--text-3);font-size:.56rem;line-height:1.35}@media (width<=1180px){.app-shell{--panel-width:clamp(320px, 34vw, 360px)}.app-shell.page-project.routing-detail-open:not(.project-empty):not(.view-data) .shell-body{grid-template-columns:var(--workbench-sidebar) minmax(0, 1fr)}}@media (width<=760px){.app-shell.page-project:not(.project-empty):not(.view-data) .shell-body{grid-template-rows:minmax(0,1.15fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.app-shell.page-project.routing-detail-open:not(.project-empty):not(.view-data) .shell-body{grid-template-columns:minmax(0,1fr)}.app-shell.page-project:not(.project-empty):not(.view-data) .app-sidebar{border-right:0;border-bottom:1px solid var(--line-2);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);width:100%;height:100%;min-height:0;max-height:none;overflow:hidden}}.topbar-project-action{border-color:#0000}.topbar-project-action:hover:not(:disabled){border-color:var(--line-2)}.app-sidebar,.app-shell.page-project .app-sidebar{border-right-color:var(--line-2)}.button,.icon-button,.project-dialog,.surface-panel{border-radius:var(--radius-sm);box-shadow:none}.map-scope-control{border-radius:var(--radius-lg)}.project-dialog{background:var(--ink-3)}.project-dialog-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a42}.project-dialog{border-color:var(--line-3);box-shadow:var(--elev-3)}@media (width<=760px){.topbar,.page-projects .topbar,.project-empty .topbar{min-height:48px}}@media (width>=621px) and (width<=760px){.app-shell.page-project:not(.project-empty):not(.view-data) .shell-body{grid-template-rows:minmax(0,1.15fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.app-shell.page-project:not(.project-empty):not(.view-data) .app-sidebar{height:100%;max-height:none}.route-investigation-shell,.workbench.project-workbench.route-investigation-shell{height:100%}}.app-shell button,.app-shell input,.app-shell select,.app-shell textarea{font-family:inherit}.app-shell button,.app-shell input,.app-shell select{transition:border-color .17s var(--ease-standard), background-color .17s var(--ease-standard), color .17s var(--ease-standard), box-shadow .17s var(--ease-standard), transform .17s var(--ease-standard)}.topbar,.page-projects .topbar,.project-empty .topbar{min-height:var(--topbar-height);height:var(--topbar-height);grid-template-columns:calc(var(--rail-width) + var(--panel-width) + var(--stage-gutter)) minmax(260px, 1fr) auto;border-bottom:1px solid var(--line-1);color:var(--text-2);background:var(--ink-1);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;gap:12px;padding:0}.topbar-brand{align-items:center;gap:10px;min-width:0;height:100%;padding:0 16px 0 13px;display:flex}.topbar-mark-button{width:30px;height:30px;color:var(--text-1);box-shadow:none;background:0 0;border:0;border-radius:9px;flex:0 0 30px;place-items:center;padding:0;display:grid;overflow:hidden}.topbar-mark-button:hover{color:var(--text-1);background:var(--ink-4);box-shadow:none;border:0}.vigo-brand-mark{width:23px;height:19px;display:block}.vigo-brand-mark-source{object-fit:contain;width:100%;height:100%;display:block}.vigo-brand-mark-source.is-dark,.app-shell.appearance-dark .vigo-brand-mark-source.is-light{display:none}.app-shell.appearance-dark .vigo-brand-mark-source.is-dark{display:block}.topbar-brand-copy{border-left:0;align-items:center;gap:8px;min-width:0;padding-left:0;display:flex}.topbar-brand b{min-width:0;color:var(--text-1);font-size:var(--type-sm);letter-spacing:-.01em;text-overflow:ellipsis;text-transform:none;white-space:nowrap;font-weight:640;line-height:1.2;overflow:hidden}.topbar-crumb{color:var(--text-3);font-size:var(--type-sm);white-space:nowrap;align-items:center;gap:8px;font-weight:520;display:inline-flex}@media (width<=760px){.topbar-crumb{display:none}}.topbar-crumb:before{content:"";background:var(--line-3);width:1px;height:14px;transform:rotate(18deg)}.topbar-actions{height:100%;padding:0 14px 0 0}[data-vigo-desktop=macos] .topbar,[data-vigo-desktop=macos] .page-projects .topbar,[data-vigo-desktop=macos] .project-empty .topbar{app-region:drag;-webkit-app-region:drag}[data-vigo-desktop=macos] .topbar-brand{padding-left:82px}[data-vigo-desktop=macos] .topbar-mark-button,[data-vigo-desktop=macos] .search-palette,[data-vigo-desktop=macos] .topbar-actions{app-region:no-drag;-webkit-app-region:no-drag}.topbar-project-action{height:32px;min-height:32px;color:var(--text-3);background:0 0;border:0;border-radius:9px;padding:0 9px;font-size:.73rem;font-weight:590}.topbar-project-action svg{color:currentColor}.topbar-project-action:hover:not(:disabled){color:var(--text-1);background:var(--ink-4);border:0}.app-sidebar,.app-shell.page-project .app-sidebar{border-right:1px solid var(--line-2);background:var(--ink-3);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;grid-template-columns:48px minmax(0,1fr)}.route-investigation-shell,.workbench.project-workbench.route-investigation-shell{background:var(--ink-3);gap:0;padding:0}.surface-panel,.route-map-shell{box-shadow:none;border-radius:0}.route-map-shell{background:var(--ink-0);border:0}.route-map-shell .map-stage,.route-map-shell .maplibre-canvas,.route-map-shell .maplibregl-canvas{opacity:1}.route-map-shell .map-stage:before{background:linear-gradient(90deg,#ffffff09,#0000 40%)}.app-shell .map-stage .maplibregl-ctrl-group{overflow:hidden}.app-shell .map-stage .maplibregl-ctrl-group button{background-color:#0000}.app-shell .map-stage .maplibregl-ctrl-group button+button{border-color:var(--line-2)}.app-shell .map-stage .maplibregl-ctrl-group button:not(:disabled):hover{background-color:var(--ink-4)}.app-shell .map-stage .maplibregl-ctrl-group button:focus-visible,.app-shell .map-stage .maplibregl-ctrl-attrib-button:focus-visible{outline:2px solid var(--signal-text);outline-offset:-3px;box-shadow:none}.app-shell .map-stage .maplibregl-ctrl-bottom-left{max-width:100%}.app-shell .map-stage .maplibregl-ctrl-attrib{box-sizing:border-box;overflow-wrap:anywhere;border-radius:9px;max-width:calc(100% - 20px);font-family:inherit;line-height:1.5}.app-shell .map-stage .maplibregl-ctrl-attrib.maplibregl-compact{min-height:32px;padding:0 30px 0 0}.app-shell .map-stage .maplibregl-ctrl-attrib.maplibregl-compact-show{padding:6px 10px 6px 36px}.app-shell .map-stage .maplibregl-ctrl-attrib a{color:inherit}.app-shell .map-stage .maplibregl-ctrl-attrib-button{width:26px;height:26px;color:var(--text-3);background:0 0;top:2px;left:2px;right:auto}.app-shell .map-stage .maplibregl-ctrl-attrib-button:before{content:"i";box-sizing:border-box;border:1.5px solid;border-radius:50%;place-items:center;width:18px;height:18px;margin:auto;font:700 12px/1 Georgia,serif;display:grid;position:absolute;inset:0}.app-shell.appearance-light .map-scope-actions{border-color:var(--line-2);background:#f3f4f3}.app-shell.appearance-light .map-scope-actions button.is-active{color:#fff;background:#2d363d}.route-map-shell .map-empty,.app-shell.appearance-light .route-map-shell .map-empty{width:fit-content;max-width:min(400px,100% - 48px);min-height:0;color:var(--text-3);background:var(--material-strong);box-shadow:var(--elev-2);-webkit-backdrop-filter:var(--material-blur);border:0;border-radius:16px;place-items:center;gap:2px;padding:7px 14px;display:grid;inset:16px auto auto 50%;transform:translate(-50%)}.route-map-shell .map-empty strong{color:var(--text-1);font-size:var(--type-sm);font-weight:500}.route-map-shell .map-empty small{max-width:330px;color:var(--text-3);font-size:var(--type-xs);font-weight:400;line-height:1.4}.button-primary,.project-dialog-primary{border-color:var(--signal);color:var(--signal-ink);background:var(--signal);box-shadow:none}.button-primary:hover:not(:disabled),.project-dialog-primary:hover:not(:disabled){border-color:var(--signal-strong);color:var(--signal-ink);background:var(--signal-strong)}.runtime-alert{border-bottom-color:color-mix(in srgb, var(--alert) 35%, var(--line-2));background:color-mix(in srgb, var(--alert) 7%, var(--ink-3))}.app-shell.appearance-dark .maplibregl-ctrl-icon{filter:invert()opacity(.82)}@media (width<=980px){.app-shell{--panel-width:340px}.topbar,.page-projects .topbar,.project-empty .topbar{grid-template-columns:var(--workbench-sidebar) minmax(220px, 1fr) auto}}@media (width<=760px){.app-shell.page-project .topbar,.topbar{grid-template-columns:minmax(0,1fr) auto}.topbar-brand{border-right:0;width:auto}.topbar-mark-button{flex-basis:28px;width:28px}.app-shell.page-project:not(.project-empty):not(.view-data) .app-sidebar,.app-shell.page-project .app-sidebar,.app-sidebar{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);width:100%}}@media (prefers-reduced-motion:reduce){.app-shell *,.app-shell :before,.app-shell :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell .map-stage,.app-shell .route-map-shell{background:var(--ink-0)}.app-shell .map-stage:before{background:0 0}.app-shell .map-live-card{color:var(--text-1);border-color:var(--line-2);background:var(--ink-3);box-shadow:var(--elev-1)}.app-shell .map-vehicle-journey>div+div{border-top-color:var(--line-2)}@media (width>=900px){.app-shell.has-stage .shell-body,.app-shell.has-stage.page-project:not(.project-empty):not(.view-data) .shell-body,.app-shell.has-stage.page-project.view-agency:not(.project-empty) .shell-body{display:block;position:relative}.app-shell.has-stage .app-frame{inset:0 0 0 var(--rail-width);display:block;position:absolute}.app-shell.has-stage .app-sidebar,.app-shell.has-stage.page-project:not(.project-empty):not(.view-data) .app-sidebar,.app-shell.has-stage.page-project.view-agency:not(.project-empty) .app-sidebar{z-index:40;width:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0;border:0;align-items:flex-start;display:flex;position:absolute;inset:0 auto 0 0;overflow:visible}.app-shell.has-stage .app-sidebar>*{pointer-events:auto}.app-shell.has-stage :is(.agency-panel,.sidebar-panel){width:var(--panel-width);height:calc(100% - 2 * var(--stage-gutter));max-height:calc(100% - 2 * var(--stage-gutter));border-radius:var(--panel-radius);box-shadow:var(--elev-2);border:0}.app-shell.has-stage .sidebar-rail{width:var(--rail-width);flex:0 0 var(--rail-width);align-self:stretch}.app-shell.has-stage.view-agency .project-workbench,.app-shell.has-stage .workbench.project-workbench.route-investigation-shell{background:var(--ink-0);height:100%;padding:0;display:block;position:relative}.app-shell.has-stage .route-surface,.app-shell.has-stage.view-agency .route-surface{display:block;position:absolute;inset:0}.app-shell.has-stage .route-map-shell{height:auto;position:absolute;inset:0}.app-shell.has-stage .agency-map-context,.app-shell.has-stage .map-scope-control{right:var(--stage-gutter)}.app-shell.has-stage .agency-map-context{left:calc(var(--panel-width) + 2 * var(--stage-gutter));border-radius:var(--radius-lg);background:var(--material-strong);box-shadow:var(--elev-2);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);border:0}.app-shell.has-stage .route-map-shell .map-empty,.app-shell.has-stage .reach-map-hint{left:calc(var(--panel-width) + 2 * var(--stage-gutter) + (100% - var(--panel-width) - 2 * var(--stage-gutter)) / 2)}.app-shell.has-stage .map-loading,.app-shell.has-stage .surface-loading-overlay{padding-left:calc(var(--panel-width) + 2 * var(--stage-gutter))}}@keyframes stage-panel-in{0%{opacity:0;transform:translate(-6px)scale(.995)}to{opacity:1;transform:none}}@media (width>=900px){.app-shell.has-stage .map-stage .maplibregl-ctrl-top-left,.app-shell.has-stage .map-stage .maplibregl-ctrl-bottom-left{left:calc(var(--panel-width) + var(--stage-gutter))}.app-shell.has-stage .map-stage .maplibregl-ctrl-top-left{top:auto;bottom:44px}}.app-shell .map-stage .maplibregl-ctrl-group{border-radius:var(--radius-md);background:var(--material-strong);box-shadow:var(--elev-2);-webkit-backdrop-filter:var(--material-blur);border:0}.app-shell .map-stage .maplibregl-ctrl-group button{width:34px;height:34px}.app-shell .map-stage .maplibregl-ctrl-group button+button{border-top:1px solid var(--line-1)}.app-shell .map-stage .maplibregl-ctrl-attrib{color:var(--text-3);background:var(--material-strong);box-shadow:var(--elev-1);font-size:var(--type-2xs);border:0}.pathfinder-walking-policy{color:var(--text-3);margin:0;font-size:.75rem;line-height:1.4}.app-shell .topbar{z-index:100}.search-palette{z-index:1;width:min(100% - 32px,560px);min-width:0;color:var(--text-2);justify-self:center;position:relative}.search-palette__field{border:1px solid var(--line-2);border-radius:var(--radius-md);width:100%;height:34px;color:var(--text-3);background:var(--ink-3);box-shadow:none;align-items:center;gap:9px;padding:0 7px 0 11px;transition:border-color .13s,background-color .13s,box-shadow .13s;display:flex}.search-palette.is-open .search-palette__field,.search-palette__field:focus-within{border-color:color-mix(in srgb, var(--signal-text) 52%, var(--line-2));background:var(--ink-4);box-shadow:0 0 0 3px color-mix(in srgb, var(--signal-text) 9%, transparent)}.search-palette__field>svg{color:var(--text-3);flex:none}.search-palette__field input{width:100%;min-width:0;height:100%;color:var(--text-1);letter-spacing:-.005em;background:0 0;border:0;outline:0;padding:0;font-size:.93rem;font-weight:500}.search-palette__field input:focus-visible{outline:0}.search-palette__field input::placeholder{color:var(--text-4);opacity:1}.search-palette__field kbd,.search-palette__help kbd{border:1px solid var(--line-2);color:var(--text-3);background:var(--ink-3);border-radius:5px;flex:none;font-family:inherit;font-size:.71rem;font-weight:620;line-height:1}.search-palette__field kbd{padding:4px 6px}.search-palette__clear{width:24px;height:24px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:0 0 24px;place-items:center;padding:0;display:grid}.search-palette__clear:hover{color:var(--text-1);background:var(--ink-4)}.search-palette__results{border:1px solid var(--line-3);background:color-mix(in srgb, var(--ink-3) 96%, transparent);box-shadow:0 24px 70px color-mix(in srgb, var(--text-1) 20%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.04);backdrop-filter:blur(18px)saturate(1.04);border-radius:16px;position:absolute;top:calc(100% + 10px);left:0;right:0;overflow:hidden}.search-palette__scroll{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:min(480px,100svh - 112px);padding:6px;overflow:hidden auto}.search-palette__group{gap:2px;min-width:0;padding:2px 0 6px;display:grid}.search-palette__group+.search-palette__group{border-top:1px solid var(--line-2);margin-top:2px;padding-top:8px}.search-palette__group h2{color:var(--text-3);letter-spacing:.07em;text-transform:uppercase;margin:0;padding:5px 8px 4px;font-size:.71rem;font-weight:680;line-height:1.2}.search-palette__option{width:100%;min-width:0;min-height:50px;color:var(--text-2);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:30px minmax(0,1fr) 22px;align-items:center;gap:10px;padding:6px 8px;display:grid}.search-palette__option:hover,.search-palette__option.is-active,.search-palette__option[aria-selected=true]{color:var(--text-1);background:var(--signal-soft)}.search-palette__icon{border:1px solid var(--line-2);width:30px;height:30px;color:var(--text-3);background:var(--ink-3);border-radius:8px;place-items:center;display:grid}.search-palette__option.is-active .search-palette__icon,.search-palette__option:hover .search-palette__icon{border-color:color-mix(in srgb, var(--signal-text) 26%, var(--line-2));color:var(--signal-text);background:color-mix(in srgb, var(--signal-text) 8%, var(--ink-3))}.search-palette__copy{gap:3px;min-width:0;display:grid}.search-palette__copy strong,.search-palette__copy small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.search-palette__copy strong{color:var(--text-1);font-size:.93rem;font-weight:640;line-height:1.2}.search-palette__copy small{color:var(--text-3);font-size:.8rem;font-weight:480;line-height:1.25}.search-palette mark{color:inherit;background:color-mix(in srgb, var(--signal) 34%, transparent);border-radius:2px;padding:0}.search-palette__open-icon{color:var(--text-4);opacity:0;justify-self:center;transition:opacity .12s,transform .12s;transform:translate(-2px)}.search-palette__option.is-active .search-palette__open-icon{opacity:1;transform:translate(0)}.search-palette__empty{min-height:132px;color:var(--text-3);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:24px;display:flex}.search-palette__empty strong{max-width:100%;color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;font-size:.93rem;font-weight:640;overflow:hidden}.search-palette__empty span{font-size:.8rem}.search-palette__help{border-top:1px solid var(--line-2);min-height:34px;color:var(--text-3);background:color-mix(in srgb, var(--ink-4) 64%, var(--ink-3));justify-content:flex-end;align-items:center;gap:14px;padding:6px 10px;font-size:.71rem;display:flex}.search-palette__help span{align-items:center;gap:5px;display:inline-flex}.search-palette__help kbd{text-align:center;min-width:20px;padding:3px 4px}@media (width<=760px){.app-shell .topbar,.app-shell.page-project .topbar,.page-projects .topbar,.project-empty .topbar{grid-template-columns:minmax(92px,.58fr) minmax(0,1fr) auto;gap:6px;padding:6px 7px}.app-shell .topbar-brand{border-right:0;grid-area:1/1;gap:6px;width:auto;padding:0}.search-palette{grid-area:1/2;width:100%}.topbar-actions{grid-area:1/3;min-width:36px;padding:0}.search-palette__field{height:34px}.search-palette__field kbd{display:none}.search-palette__results{max-height:calc(100svh - 68px);position:fixed;top:60px;left:7px;right:7px}.search-palette__scroll{max-height:calc(100svh - 100px)}}@media (width<=460px){.search-palette__field input{font-size:.86rem}.search-palette__help{justify-content:space-between;gap:6px}.search-palette__option{min-height:48px}}@media (prefers-reduced-motion:reduce){.search-palette__field,.search-palette__open-icon{transition:none}}.app-shell.page-project.view-agency:not(.project-empty) .shell-body{grid-template-columns:var(--rail-width) minmax(0, 1fr)}.app-shell.page-project.view-agency:not(.project-empty) .app-sidebar{width:var(--rail-width);grid-template-columns:1fr}.app-shell.page-project.view-agency .project-workbench{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(400px,480px) minmax(0,1fr);gap:0;padding:0;display:grid;overflow:hidden}.view-agency .route-surface{grid-area:1/2;min-width:0;min-height:0}.view-agency .route-map-shell{border:0;border-radius:0}@media (width<=1100px) and (width>=761px){.app-shell.page-project.view-agency .project-workbench{grid-template-columns:minmax(380px,440px) minmax(0,1fr)}}@media (width<=760px){.app-shell.page-project.view-agency:not(.project-empty) .shell-body{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.app-shell.page-project.view-agency:not(.project-empty) .app-sidebar{z-index:80;width:100%;min-height:var(--mobile-nav-height,60px);height:var(--mobile-nav-height,60px);max-height:var(--mobile-nav-height,60px);border:0;border-top:1px solid var(--line-2);display:block;position:fixed;bottom:0;left:0;right:0}.app-shell.page-project.view-agency .project-workbench{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.view-agency .route-surface{display:none}.app-shell.page-project.view-agency.agency-map-open .project-workbench{grid-template-rows:minmax(0,1.6fr) minmax(0,1fr)}.view-agency.agency-map-open .route-surface{grid-area:2/1;display:grid}}.agency-map-context{z-index:5;background:var(--ink-2);border:1px solid var(--line-2);pointer-events:none;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex;position:absolute;top:16px;left:64px;right:16px;box-shadow:0 4px 20px #0006}.agency-map-context button{pointer-events:auto;white-space:nowrap}.agency-map-context>div:first-child{overflow-wrap:anywhere;min-width:0}.agency-map-context span,.agency-map-context small{display:block}.agency-map-context span{color:var(--text-1);font-size:12px;font-weight:600}.agency-map-context small{color:var(--text-3);margin-top:3px;font-size:12px}.view-agency .route-map-shell .map-live-card{top:auto;bottom:var(--map-inspector-bottom,28px);max-height:min(560px, calc(100% - var(--map-inspector-bottom,28px) - 80px));overscroll-behavior:contain;scrollbar-width:thin;overflow:auto}.view-agency .surface-loading-overlay,.view-agency .route-geometry-empty,.view-agency .map-empty{pointer-events:none}.view-agency .map-basemap-status{display:none}@media (width<=760px){.agency-map-context{padding:8px 10px;top:8px;left:8px}.agency-map-context small{display:none}.view-agency .route-map-shell .map-live-card{max-height:calc(100% - 80px);padding:16px;bottom:16px}}.map-stop-tooltip{pointer-events:none}.map-stop-tooltip .maplibregl-popup-content{white-space:pre-line;background:var(--ink-2);color:var(--text-1);border-radius:6px;padding:8px 12px;font-family:inherit;font-size:12px;box-shadow:0 2px 12px #0006}.map-stop-tooltip .maplibregl-popup-tip{border-top-color:var(--ink-2);border-bottom-color:var(--ink-2)}.network-import-example{border:1px solid var(--line-2);border-radius:10px;margin:0 0 20px;padding:16px}.network-import-example h3{color:var(--text-1);margin:0;font-size:16px}.network-import-example p{color:var(--text-3);margin:6px 0 14px;font-size:13px}.network-import-example>div{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;display:grid}.network-import-example>div>a{border:1px solid var(--line-2);color:var(--text-1);border-radius:6px;align-items:center;gap:10px;padding:12px;text-decoration:none;display:flex}.network-import-example>div>a:hover{background:var(--ink-1)}.network-import-example small{color:var(--text-3);font-size:12px;display:block}.network-import-example>small{margin-top:12px}.network-import-example>small a{color:inherit}@keyframes agency-live-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--good) 45%, transparent)}70%,to{box-shadow:0 0 0 5px color-mix(in srgb, var(--good) 0%, transparent)}}.app-shell .route-surface .route-map-shell:has(>.agency-line-view){padding-left:var(--line-panel-inset,0px);background:var(--ink-2);flex-direction:column;display:flex}.app-shell .route-map-shell:has(>.agency-line-view)>.agency-map-context{margin:16px var(--stage-gutter) 12px;flex-wrap:wrap;flex:none;position:relative;inset:auto}@media (width>=900px){.app-shell.has-stage .route-map-shell:has(>.agency-line-view){--line-panel-inset:calc(var(--panel-width) + var(--stage-gutter))}}.agency-map-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.agency-view-switch{border-radius:var(--radius-md);background:var(--ink-4);border:0;gap:2px;padding:3px;display:flex}.agency-view-switch button{border-radius:var(--radius-sm);min-height:28px;color:var(--text-3);font-size:var(--type-xs);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:4px 10px;font-weight:620}.agency-view-switch button[aria-pressed=true]{background:var(--ink-2);color:var(--text-1);box-shadow:0 0 0 1px var(--line-2), 0 1px 2px #00000038}.agency-view-switch button:focus-visible,.agency-line-vehicle:focus-visible{outline:2px solid var(--signal-text);outline-offset:3px}.agency-line-view{min-height:0;color:var(--text-2);background:var(--ink-2);scrollbar-width:thin;overscroll-behavior:contain;flex:1 1 0;order:1;padding:12px 24px 28px;position:relative;overflow:auto}.agency-line-intro{margin-bottom:24px}.agency-line-intro>strong{color:var(--text-1);letter-spacing:-.02em;font-size:16px;font-weight:600}.agency-line-intro p{color:var(--text-3);margin:5px 0;font-size:11px}.agency-line-intro>span{color:var(--text-3);font-size:10px;line-height:1.5;display:block}.agency-line-directions{gap:8px 22px;display:grid}.agency-line-direction{min-width:0}.agency-line-direction>header{min-height:41px;color:var(--line-color);align-items:center;gap:7px;display:flex}.agency-line-direction>header>svg{flex-shrink:0}.agency-line-direction header strong{color:var(--text-1);font-size:12px;font-weight:620;display:block}.agency-line-direction header small{color:var(--text-3);margin-top:4px;font-size:10px;display:block}.agency-line-direction>select{border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--ink-3);width:100%;min-height:36px;color:var(--text-2);margin:12px 0 8px;padding:7px 10px;font-size:12px}.agency-line-origin{min-height:32px;color:var(--text-3);margin:12px 0 20px;font-size:10px}.agency-line-direction ol{margin:0;padding:0;list-style:none}.agency-line-direction li{flex-direction:column;justify-content:center;min-height:66px;padding:12px 0 12px 29px;display:flex;position:relative}.agency-line-direction li:before{content:"";background:var(--line-color);opacity:.8;border-radius:2px;width:3px;position:absolute;top:0;bottom:0;left:9px}.agency-line-direction li:first-child:before{top:50%}.agency-line-direction li:last-child:before{bottom:50%}.agency-line-stop{align-items:center;gap:6px;display:flex;position:relative}.agency-line-stop .agency-line-station{width:calc(100% + 29px);margin-left:-29px;padding-left:29px}.agency-line-stop i{border:2px solid var(--line-color);background:var(--ink-2);border-radius:50%;width:9px;height:9px;position:absolute;left:6px}.agency-line-at,.agency-line-approaching{flex-wrap:wrap;gap:4px;display:flex}.agency-line-at:not(:empty){padding-top:6px}.agency-line-approaching:not(:empty){padding:8px 0}.agency-line-vehicle{border:1px solid var(--line-color);background:var(--ink-3);color:var(--text-1);cursor:pointer;font-variant-numeric:tabular-nums;border-radius:5px;align-items:center;gap:4px;padding:4px 6px;font-size:10px;display:inline-flex}.agency-line-vehicle strong{font-weight:600}.agency-line-vehicle>svg{color:var(--line-color)}.agency-line-vehicle:hover,.agency-line-vehicle[aria-pressed=true]{background:var(--signal-soft);box-shadow:0 0 0 1px var(--line-color)}.agency-line-paired{grid-column:1/-1;margin:0;padding:0;list-style:none}.agency-line-paired>li{grid-template-columns:minmax(0,1fr) minmax(95px,1.1fr) minmax(0,1fr);display:grid}.agency-line-paired>li>span{text-align:center;color:var(--text-1);grid-area:1/2;align-self:center;padding:0 6px;font-size:11px;line-height:1.4}.agency-line-traffic{grid-row:1;grid-template-rows:repeat(3,minmax(22px,1fr));min-width:0;display:grid;position:relative}.agency-line-traffic.is-down{grid-column:1;padding-right:25px}.agency-line-traffic.is-up{grid-column:3;padding-left:25px}.agency-line-traffic:before{content:"";background:var(--line-color);opacity:.8;width:3px;position:absolute;top:0;bottom:0}.agency-line-traffic.is-down:before{right:10px}.agency-line-traffic.is-up:before{left:10px}.agency-line-paired>li:first-child .agency-line-traffic:before{top:50%}.agency-line-paired>li:last-child .agency-line-traffic:before{bottom:50%}.agency-line-traffic>div{flex-wrap:wrap;align-content:center;align-items:center;gap:4px;display:flex}.agency-line-traffic.is-down>div{flex-direction:row-reverse}.agency-line-traffic i{border:2px solid var(--line-color);background:var(--ink-2);border-radius:50%;width:9px;height:9px;position:absolute;top:calc(50% - 4px)}.agency-line-traffic.is-down i{right:7px}.agency-line-traffic.is-up i{left:7px}.agency-line-stop-marker{cursor:pointer;background:0 0;border:0;width:44px;height:44px;padding:0;position:absolute;top:calc(50% - 22px)}.agency-line-traffic.is-down .agency-line-stop-marker{right:-11px}.agency-line-traffic.is-up .agency-line-stop-marker{left:-11px}.agency-line-traffic .agency-line-stop-marker i{left:17px;right:auto}.agency-line-stop-marker:hover i{box-shadow:0 0 0 4px var(--signal-soft)}.agency-line-traffic .agency-line-vehicle{flex-wrap:wrap;flex-shrink:0;max-width:100%;min-height:20px;padding:2px 5px;font-size:10px;line-height:14px;position:relative}.agency-line-traffic .agency-line-vehicle strong{overflow-wrap:anywhere;min-width:0}.agency-line-traffic .agency-line-vehicle>span{white-space:nowrap}.agency-line-unplaced{border-top:1px solid var(--line-2);color:var(--text-3);margin-top:18px;padding:18px 0;font-size:11px}.agency-line-unplaced summary{cursor:pointer}.agency-line-unplaced button{text-align:left;margin-top:10px;display:block}.agency-vehicle-detail{color:var(--text-2);font-size:11px;line-height:1.5}.agency-vehicle-detail header>span{color:var(--text-3);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.agency-vehicle-detail h3{color:var(--text-1);letter-spacing:-.035em;align-items:baseline;gap:10px;margin:4px 25px 0 0;font-size:23px;font-weight:620;display:flex}.agency-vehicle-detail h3 small{color:var(--text-3);letter-spacing:normal;font-size:11px;font-weight:450}.agency-vehicle-detail header p{color:var(--text-3);margin:2px 0 14px}.agency-vehicle-position{color:var(--text-1);margin:0 0 10px;font-size:12px}.agency-vehicle-next{border-top:1px solid var(--line-2);gap:3px;margin:12px 0 4px;padding-top:12px;display:grid}.agency-vehicle-next>span{color:var(--text-3);font-size:10px}.agency-vehicle-detail .agency-vehicle-next>strong{color:var(--text-1);font-size:12px;font-weight:550;line-height:1.5}.agency-vehicle-detail table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.agency-vehicle-detail th,.agency-vehicle-detail td{text-align:right;border-bottom:1px solid var(--line-2);white-space:nowrap;padding:8px 0}.agency-vehicle-detail th{color:var(--text-3);font-size:10px;font-weight:450}.agency-vehicle-detail th:first-child{text-align:left}.agency-vehicle-detail td{color:var(--text-1);font-size:12px}.agency-vehicle-detail td:last-child{font-weight:650}.agency-vehicle-deviation{color:var(--text-3);margin:12px 0;font-size:11px}.agency-vehicle-detail .agency-vehicle-deviation strong{color:var(--text-1);font-size:11px;font-weight:550;line-height:inherit;display:inline}.agency-vehicle-warning{color:var(--text-3);border-left:2px solid var(--watch);margin:10px 0;padding-left:8px;font-size:10px;line-height:1.6}.agency-vehicle-detail footer{overflow-wrap:anywhere;color:var(--text-3);margin-top:13px;font-size:9px}.view-agency .route-map-shell .map-live-card.has-vehicle-timing{width:min(345px,100% - 30px);max-height:min(430px, calc(100% - var(--map-inspector-bottom,28px) - 80px))}@media (width<=760px){.agency-line-view{padding:8px 14px 20px}.app-shell .route-map-shell:has(>.agency-line-view)>.agency-map-context{margin-top:8px}.agency-line-directions{column-gap:16px}.agency-map-actions{gap:5px}.agency-view-switch button{padding:4px 6px;font-size:10px}.view-agency .route-map-shell .map-live-card.has-vehicle-timing{max-height:calc(100% - 80px)}}.agency-trip-controls{flex-wrap:wrap;gap:12px;display:flex}.agency-trip-controls label{gap:6px;min-width:0;font-size:12px;display:grid}.agency-trip-controls label:nth-child(2){flex:1}.agency-trip-controls input,.agency-trip-controls select{max-width:100%;min-height:40px;color:var(--text-2);background:var(--ink-3);border:1px solid var(--line-2);border-radius:6px;padding:8px}.agency-trip-timetable h2{color:var(--text-1);margin:24px 0 8px;font-size:24px}.agency-trip-timetable p{color:var(--text-3);font-size:12px;line-height:1.6}.agency-trip-table-scroll{overflow-x:auto}.agency-trip-timetable table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.agency-trip-timetable th,.agency-trip-timetable td{text-align:left;border-bottom:1px solid var(--line-2);padding:14px 10px}.agency-trip-timetable td{white-space:nowrap}.agency-trip-timetable thead th{color:var(--text-3);font-weight:500}.agency-trip-timetable tbody th{border-left:3px solid var(--line-color);color:var(--text-1)}.agency-trip-timetable small{white-space:normal;color:var(--text-3);font-weight:400;display:block}.agency-vehicle-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.agency-line-vehicle.has-alert{border-color:var(--watch)}.agency-line-indicator{color:var(--watch);font-weight:700}.agency-trip-position{border-left:3px solid var(--signal-text);background:var(--signal-soft);gap:5px;margin:18px 0;padding:14px 16px;display:grid}.agency-trip-position>span{color:var(--text-3);font-size:12px}.agency-trip-position>strong{color:var(--text-1);font-size:17px;line-height:1.4}.agency-trip-passed-toggle{margin-bottom:10px}.agency-trip-timetable .is-current-stop{background:var(--signal-soft)}.agency-trip-timetable .is-current-stop th{border-left-color:var(--signal-text)}.agency-trip-timetable .is-passed-stop{color:var(--text-3)}.route-map-shell .map-live-card.has-scheduled-trip{box-sizing:border-box;border-radius:var(--radius-lg);background:var(--material-strong);width:min(340px,100% - 24px);box-shadow:var(--elev-2);border:0;padding:20px}.scheduled-vehicle-detail{color:var(--text-2);font-size:var(--type-sm);line-height:1.5}.scheduled-vehicle-source{color:var(--text-3);font-size:var(--type-xs);align-items:center;gap:6px;padding-right:24px;display:flex}.scheduled-vehicle-detail h3{color:var(--text-1);font-family:var(--font-display);letter-spacing:-.025em;overflow-wrap:anywhere;margin:8px 24px 3px 0;font-size:21px;font-weight:650;line-height:1.2}.scheduled-vehicle-destination{color:var(--text-3);margin:0}.scheduled-vehicle-destination strong{font-size:var(--type-sm);white-space:normal;font-weight:500}.scheduled-vehicle-call{border-top:1px solid var(--line-2);grid-template-columns:minmax(0,1fr) auto;gap:16px;margin-top:18px;padding-top:16px;display:grid}.scheduled-vehicle-call>div{align-content:start;gap:4px;display:grid}.scheduled-vehicle-call>div:last-child{text-align:right}.scheduled-vehicle-call span{color:var(--text-3);font-size:var(--type-xs)}.scheduled-vehicle-call strong{color:var(--text-1);white-space:normal;overflow-wrap:anywhere;font-size:15px;font-weight:600;line-height:1.35}.scheduled-vehicle-call time{color:var(--text-1);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:21px;line-height:1.2}.scheduled-vehicle-state{color:var(--text-3);font-size:var(--type-xs);margin:8px 0 0}.scheduled-vehicle-progress{font-variant-numeric:tabular-nums;gap:7px;margin:20px 0 16px;display:grid}.scheduled-vehicle-progress>div{color:var(--text-3);font-size:var(--type-xs);justify-content:space-between;gap:12px;display:flex}.scheduled-vehicle-progress strong{font-size:var(--type-xs);font-weight:600}.scheduled-vehicle-progress progress{appearance:none;background:var(--line-2);width:100%;height:3px;accent-color:var(--signal);border:0;border-radius:2px;display:block;overflow:hidden}.scheduled-vehicle-progress progress::-webkit-progress-bar{background:var(--line-2)}.scheduled-vehicle-progress progress::-webkit-progress-value{background:var(--signal)}.scheduled-vehicle-progress progress::-moz-progress-bar{background:var(--signal)}.scheduled-vehicle-inactive{color:var(--text-2);margin:20px 0}.route-map-shell .map-live-card.has-stop-arrivals{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-3) transparent;background:var(--material-strong);border-radius:var(--radius-lg);width:min(420px,100% - 24px);max-height:min(100% - 158px,620px);box-shadow:var(--elev-2);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);border:0;padding:16px 16px 14px;top:auto;bottom:80px;overflow:auto}.view-agency .route-map-shell .map-live-card.has-stop-arrivals{bottom:var(--map-inspector-bottom,28px);max-height:min(620px, calc(100% - var(--map-inspector-bottom,28px) - 80px))}.stop-arrival-board{color:var(--text-2);font-size:12px}.stop-arrival-board header>span{color:var(--text-3);font-size:var(--type-2xs);letter-spacing:.06em;text-transform:uppercase;font-weight:680}.stop-arrival-board h3{color:var(--text-1);font-family:var(--font-display);letter-spacing:-.025em;margin:5px 24px 4px 0;font-size:20px;font-weight:700}.stop-arrival-board header p{color:var(--text-3);font-size:var(--type-xs);margin:0 0 10px}.stop-board-routes{flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.stop-board-routes button{border-radius:var(--radius-pill);background:var(--ink-4);min-height:28px;color:var(--text-2);cursor:pointer;font-size:var(--type-xs);border:0;align-items:center;gap:6px;padding:4px 11px;font-weight:620;display:inline-flex}.stop-board-routes button[style]:before{content:"";background:var(--arrival-color);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 1px #0003}.stop-board-routes button:hover{color:var(--text-1)}.stop-board-routes button[aria-pressed=true]{color:var(--text-1);background:var(--ink-2);box-shadow:0 0 0 1px var(--line-3)}.stop-board-list{margin:0;padding:0;list-style:none}.stop-board-list li{border-top:1px solid var(--line-1);grid-template-columns:72px minmax(0,1fr) auto;align-items:start;gap:2px 12px;padding:12px 0 10px;display:grid}.stop-board-loading{margin-top:4px;display:grid}.stop-board-loading>span{border-top:1px solid var(--line-1);grid-template-columns:72px minmax(0,1fr) 40px;align-items:center;gap:12px;padding:14px 0 12px;display:grid}.stop-board-loading>span>.skeleton:first-child{width:44px;height:20px}.stop-board-loading>span>.skeleton:nth-child(2){width:68%}.stop-board-loading>span>.skeleton:last-child{height:16px}.stop-board-loading>span:nth-child(2n)>.skeleton:nth-child(2){width:52%}.stop-board-loading>span:nth-child(n+4){opacity:.55}.stop-board-route{min-width:0;max-width:96px;padding-top:1px}.stop-board-service{min-width:0}.stop-arrival-board .stop-board-service strong{color:var(--text-1);font-size:var(--type-sm);font-weight:600;line-height:1.4}.stop-board-service small{color:var(--text-3);font-size:var(--type-2xs);overflow-wrap:anywhere;margin-top:3px;line-height:1.5;display:block}.stop-board-time{text-align:right;font-variant-numeric:tabular-nums}.stop-arrival-board .stop-board-time strong{color:var(--text-1);font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;font-size:19px;font-weight:700}.stop-arrival-board .stop-board-time strong.is-now{color:var(--good)}.stop-board-time small{color:var(--text-3);font-size:var(--type-2xs);flex-wrap:wrap;justify-content:end;align-items:center;gap:4px;margin-top:3px;display:flex}.stop-board-time svg{color:var(--good)}.stop-board-baseline{min-width:0;color:var(--text-3);text-align:right;grid-column:2/-1;margin:0;font-size:11px}.stop-board-baseline summary{cursor:pointer;min-height:28px;padding:4px 0;list-style:none}.stop-board-baseline summary::-webkit-details-marker{display:none}.stop-board-baseline summary:after{content:"›";color:var(--text-4);transition:transform var(--duration-base) var(--ease-standard);margin-left:6px;display:inline-block}.stop-board-baseline[open] summary:after{transform:rotate(90deg)}.stop-board-baseline b{color:var(--text-2);font-weight:600}.stop-board-baseline b.is-watch{color:var(--watch)}.stop-board-baseline b.is-alert{color:var(--alert)}.stop-board-baseline b.is-early{color:var(--info)}.stop-board-baseline dl{text-align:left;border-radius:var(--radius-md);background:var(--ink-3);margin:8px 0 0;padding:10px 12px;line-height:1.6}.stop-board-baseline dl>div{margin:0 0 7px}.stop-board-baseline dt{font-size:10px}.stop-board-baseline dd{color:var(--text-2);overflow-wrap:anywhere;margin:0}.stop-board-baseline a{color:var(--text-2)}.stop-board-list .is-not-running .stop-board-time strong{color:var(--watch);font-size:12px}.stop-board-notice,.stop-board-empty{color:var(--text-3);margin:12px 0;font-size:11px;line-height:1.6}.stop-board-more{border:0;border-top:1px solid var(--line-1);width:100%;color:var(--signal-text);font-size:var(--type-xs);cursor:pointer;background:0 0;padding:10px;font-weight:620}.stop-arrival-board footer{color:var(--text-3);flex-wrap:wrap;justify-content:space-between;gap:5px 14px;margin-top:14px;font-size:10px;line-height:1.5;display:flex}.stop-board-baseline summary:focus-visible{outline:2px solid var(--signal-text);outline-offset:2px}.agency-line-station{border:1px solid var(--line-2);background:var(--ink-3);width:100%;min-height:44px;color:var(--text-1);text-align:inherit;cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;padding:8px;font-size:12px;line-height:1.4;display:flex;position:relative}.agency-line-station>span{overflow-wrap:anywhere;min-width:0}.agency-line-station>svg{color:var(--text-3);flex-shrink:0}.agency-line-station:hover,.agency-line-station[aria-pressed=true]{background:var(--signal-soft);color:var(--text-1)}.agency-line-vehicle>span{color:var(--text-3);white-space:nowrap;font-size:9px}.agency-line-station:focus-visible,.stop-arrival-board button:focus-visible{outline:2px solid var(--signal-text);outline-offset:2px}@media (width<=760px){.view-agency .route-map-shell .map-live-card.has-stop-arrivals{max-height:75%;padding:14px;bottom:16px}.stop-board-list li{column-gap:7px}.stop-arrival-board .stop-board-time strong{font-size:15px}}.stop-board-trip{all:unset;cursor:pointer;color:inherit;font:inherit}.stop-board-trip:hover{text-underline-offset:3px;text-decoration:underline}.stop-board-trip:focus-visible{outline:2px solid var(--signal-text);outline-offset:4px;border-radius:2px}.stop-board-trip-link{text-underline-offset:3px;text-decoration:underline}.sidebar-rail{border-right:1px solid var(--line-1);background:var(--ink-1);flex-direction:column;align-items:center;gap:6px;min-width:0;min-height:0;padding:10px 0 12px;display:flex}.sidebar-rail-button{border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-3);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;padding:0;display:flex;position:relative}.sidebar-rail-button:last-child{margin-top:auto}.sidebar-rail-icon{border-radius:12px;place-items:center;display:grid}.sidebar-rail-icon svg{stroke-width:1.7px;width:18px;height:18px}.sidebar-rail-button:hover:not(:disabled){color:var(--text-1);background:var(--ink-4)}.sidebar-rail-button[aria-current=page]{color:var(--text-1);background:var(--ink-4);box-shadow:inset 0 0 0 1px var(--line-2)}.sidebar-rail-button[aria-current=page]:before{content:"";background:var(--signal);border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-6px}.sidebar-rail-button:disabled{color:var(--text-4);cursor:default;opacity:.42}.sidebar-rail-button:focus-visible{outline:2px solid var(--signal-text);outline-offset:-2px}@media (width<=760px){.app-shell{--mobile-nav-height:calc(60px + env(safe-area-inset-bottom,0px))}.app-shell.page-project .shell-body{padding-bottom:var(--mobile-nav-height)}.app-shell.page-project .app-sidebar{-webkit-backdrop-filter:none;backdrop-filter:none}.sidebar-rail{z-index:85;height:var(--mobile-nav-height,60px);padding:4px max(8px, env(safe-area-inset-right,0px)) calc(4px + env(safe-area-inset-bottom,0px)) max(8px, env(safe-area-inset-left,0px));border:0;border-top:1px solid var(--line-2);background:var(--ink-2);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:start;gap:0;display:grid;position:fixed;bottom:0;left:0;right:0}.sidebar-rail-button{width:100%;min-width:0;height:51px;font:inherit;border-radius:6px;flex-direction:column;justify-content:center;gap:2px;display:flex}.sidebar-rail-button:last-child{margin-top:0}.sidebar-rail-button[aria-current=page],.sidebar-rail-button:hover:not(:disabled){box-shadow:none;background:0 0}.sidebar-rail-button[aria-current=page]:before{display:none}.sidebar-rail-icon{width:48px;height:27px}.sidebar-rail-button[aria-current=page] .sidebar-rail-icon{background:var(--signal-soft)}}.city-source-delete{border:1px solid var(--line-2);width:36px;height:36px;color:var(--text-3);cursor:pointer;background:0 0;border-radius:8px;flex:0 0 36px;justify-content:center;align-items:center;display:inline-flex}.city-source-delete:hover:not(:disabled),.city-source-confirm{color:var(--alert)}.city-source-dialog{box-sizing:border-box;border:1px solid var(--line-2);width:min(440px,100vw - 32px);color:var(--text-2);background:var(--ink-3);border-radius:16px;padding:24px}.city-source-dialog::backdrop{background:#00000073}.city-source-dialog h2{margin:0 0 16px;font-size:22px}.city-source-dialog p{overflow-wrap:anywhere;line-height:1.5}.city-source-dialog-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.city-source-dialog-actions button{border:1px solid var(--line-2);background:var(--ink-3);cursor:pointer;border-radius:8px;padding:10px 14px}.city-data-library{gap:22px;min-width:0;display:grid}.city-data-topline{color:var(--text-3);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.city-data-state{align-items:center;gap:6px;display:inline-flex}.city-feed-state.is-ready{color:var(--good)}.city-data-groups{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.city-group-filters{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.city-group-filters button{max-width:100%;min-height:34px;color:var(--text-2);overflow-wrap:anywhere;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:7px;padding:7px 12px;font-size:13px;display:inline-flex}.city-group-filters button[aria-pressed=true]{border-color:var(--line-2);background:var(--ink-3);color:var(--text-1)}.city-group-filters button:hover,.city-data-icon:hover{background:var(--ink-4)}.city-data-text-action{min-height:34px;color:var(--text-2);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:4px 2px;font-size:13px;display:inline-flex}.city-data-text-action:hover{color:var(--text-1)}.city-data-import{gap:24px;min-width:0;display:grid}.city-data-list-panel{border:1px solid var(--line-2);background:var(--ink-3);border-radius:12px;min-width:0}.city-data-toolbar{border-bottom:1px solid var(--line-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:12px 20px;display:flex}.city-data-switch,.city-data-actions{align-items:center;gap:16px;display:flex}.city-data-switch button{min-height:36px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:5px 0;font-size:14px;font-weight:500;display:flex}.city-data-switch button[aria-pressed=true]{border-bottom-color:var(--signal-text);color:var(--text-1)}.city-data-switch small{color:var(--text-3);font-size:12px;font-weight:400}.city-data-actions .button{min-height:34px;box-shadow:none;padding:6px 11px;font-size:12px;font-weight:500}.city-feed-entry+.city-feed-entry,.city-case-entry+.city-case-entry{border-top:1px solid var(--line-2)}.city-feed-entry>summary{cursor:pointer;grid-template-columns:28px minmax(0,1fr) auto 16px;align-items:center;gap:14px;min-height:86px;padding:18px 20px;list-style:none;display:grid}.city-feed-entry>summary::-webkit-details-marker{display:none}.city-live-disclosure>summary::-webkit-details-marker{display:none}.city-example-disclosure>summary::-webkit-details-marker{display:none}.city-feed-entry>summary:hover{background:color-mix(in srgb, var(--ink-4) 55%, transparent)}.city-data-row-icon{color:var(--text-3);justify-content:center;align-items:center;display:flex}.city-feed-copy{gap:6px;min-width:0;display:grid}.city-feed-copy strong{color:var(--text-1);overflow-wrap:anywhere;font-size:14px;font-weight:550}.city-feed-copy small{color:var(--text-3);overflow-wrap:anywhere;font-size:12px;line-height:1.4}.city-feed-state{color:var(--text-3);font-size:12px}.city-feed-entry>summary>svg,.city-live-disclosure>summary>svg:last-child{color:var(--text-3);transition:transform .12s}.city-feed-entry[open]>summary>svg,.city-live-disclosure[open]>summary>svg:last-child{transform:rotate(180deg)}.city-feed-detail{gap:16px;min-width:0;padding:0 20px 20px 62px;display:grid}.city-feed-metadata{color:var(--text-3);justify-content:space-between;align-items:center;gap:10px;font-size:12px;line-height:1.5;display:flex}.city-feed-memberships{border:0;flex-wrap:wrap;gap:10px 18px;min-width:0;margin:0;padding:0;display:flex}.city-feed-memberships legend{color:var(--text-3);margin-bottom:10px;padding:0;font-size:12px}.city-feed-memberships label,.city-group-feed{color:var(--text-2);overflow-wrap:anywhere;align-items:center;gap:8px;font-size:13px;display:flex}.city-feed-memberships input,.city-group-feed input{width:16px;height:16px;accent-color:var(--signal-text);flex-shrink:0}.city-feed-inspection{min-width:0;color:var(--text-2);font-size:12px}.city-feed-inspection>summary{cursor:pointer;min-height:28px}.city-feed-inspection .feed-table-panel{border-radius:8px;margin-top:8px}.city-feed-inspection .feed-table-list{max-height:320px;overflow:auto}.city-feed-inspection li{overflow-wrap:anywhere;margin-bottom:8px;line-height:1.5}.city-case-entry{grid-template-columns:28px minmax(0,1fr) minmax(110px,170px) 34px;align-items:center;gap:14px;min-height:86px;padding:18px 20px;display:grid}.city-case-copy{gap:5px;min-width:0;display:grid}.city-case-copy input{width:100%;min-width:0;color:var(--text-1);background:0 0;border:1px solid #0000;border-radius:4px;margin-left:-5px;padding:4px;font-size:14px;font-weight:550}.city-case-copy input:hover,.city-case-copy input:focus{border-color:var(--line-3)}.city-case-copy small{color:var(--text-3);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.city-case-entry select{border:1px solid var(--line-2);width:100%;min-width:0;min-height:34px;color:var(--text-2);background:var(--ink-3);border-radius:6px;padding:5px 9px;font-size:12px}.city-data-icon{width:34px;height:34px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.city-data-empty{color:var(--text-3);justify-items:center;gap:12px;padding:44px 20px;font-size:13px;display:grid}.city-data-empty p{margin:0}.city-shared-data{min-width:0}.city-data-import .osm-import-strip{border-bottom:1px solid var(--line-2);min-width:0;color:var(--text-3);align-items:center;gap:14px;margin:0;padding:18px 4px;display:flex}.city-shared-copy{flex:1;gap:5px;min-width:0;display:grid}.city-shared-copy strong{color:var(--text-2);font-size:14px;font-weight:500}.city-shared-copy small{font-size:12px}.city-data-import .osm-import-strip>button{border-color:var(--line-2);min-height:34px;color:var(--text-2);background:0 0;padding:5px 10px;font-size:12px}.city-live-disclosure>summary{color:var(--text-3);cursor:pointer;align-items:center;gap:14px;padding:20px 4px;list-style:none;display:flex}.city-live-disclosure>summary>span{color:var(--text-2);flex:1;font-size:14px}.city-live-disclosure>summary>small{font-size:12px}.city-live-disclosure .realtime-panel{margin:0}.city-import-status{border:1px solid var(--line-2);color:var(--text-2);overflow-wrap:anywhere;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px;font-size:12px;line-height:1.5;display:flex}.city-data-warning,.city-case-copy small.city-data-warning{color:var(--watch)}.city-data-error{border:1px solid var(--line-2);color:var(--alert);border-radius:8px;margin:0;padding:12px;font-size:13px}.city-data-error button{color:inherit;cursor:pointer;margin-left:8px}.city-group-dialog{box-sizing:border-box;border:1px solid var(--line-2);width:min(440px,100vw - 32px);max-height:calc(100dvh - 40px);color:var(--text-2);background:var(--ink-3);box-shadow:var(--elev-3);border-radius:14px;padding:24px}.city-group-dialog::backdrop{background:#0a121452}.city-group-dialog form{gap:24px;display:grid}.city-group-dialog header{justify-content:space-between;align-items:center;gap:12px;display:flex}.city-group-dialog h2{letter-spacing:-.4px;margin:0;font-size:20px;font-weight:550}.city-group-dialog p{margin:0;font-size:13px;line-height:1.6}.city-group-name{color:var(--text-2);gap:8px;font-size:12px;display:grid}.city-group-name input{border:1px solid var(--line-3);width:100%;min-width:0;color:var(--text-2);background:var(--ink-2);border-radius:7px;padding:10px 12px;font-size:14px}.city-group-dialog fieldset{border:0;gap:16px;min-width:0;max-height:35vh;margin:0;padding:0;display:grid;overflow:auto}.city-group-dialog legend{color:var(--text-2);margin-bottom:12px;padding:0;font-size:12px}.city-data-note{color:var(--text-3)}.city-group-dialog footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:8px;display:flex}.city-group-dialog footer>div{gap:8px;display:flex}.city-group-dialog .button{min-height:36px;padding:7px 12px;font-size:12px;font-weight:500}.city-data-remove{min-height:36px;color:var(--alert);cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:12px}.city-example-disclosure>summary{min-height:36px;color:var(--text-3);cursor:pointer;align-items:center;gap:10px;font-size:12px;list-style:none;display:inline-flex}.empty-intake .city-data-import{border:1px solid var(--line-2);background:var(--ink-3);gap:18px;padding:18px}.city-data-import .drop-zone{border-color:var(--line-3);background:var(--ink-2);text-align:left;width:100%;margin:0;padding:20px}.city-data-import .drop-zone strong{font-size:14px;font-weight:550}.city-data-import .drop-zone span span{font-size:12px;font-weight:400}.city-data-library button:disabled{opacity:.45;cursor:not-allowed}.city-data-library :is(button,summary,input,select):focus-visible,.city-group-dialog :is(button,input):focus-visible{outline:2px solid var(--signal-text);outline-offset:3px}@media (width<=620px){.city-data-library{gap:16px}.city-data-groups{flex-direction:column;gap:6px}.city-data-toolbar{padding:12px}.city-data-switch,.city-data-actions{gap:12px}.city-feed-entry>summary{grid-template-columns:20px minmax(0,1fr) 16px;gap:10px;padding:16px 12px}.city-feed-state{grid-area:2/2}.city-feed-entry>summary>svg{grid-area:1/3}.city-feed-detail{padding:0 12px 16px}.city-case-entry{grid-template-columns:20px minmax(0,1fr) 34px;gap:10px;padding:16px 12px}.city-case-entry select{grid-area:2/2}.city-case-entry>button{grid-area:1/3}.city-data-topline{font-size:11px}.city-shared-copy strong{font-size:13px}.city-data-import .osm-import-strip{flex-wrap:wrap;gap:10px}.city-data-import .osm-import-strip>button{padding-inline:7px}}@media (prefers-reduced-motion:reduce){.city-feed-entry>summary>svg,.city-live-disclosure>summary>svg:last-child{transition:none}}.storage-recovery{background:var(--ink-1);min-width:0;min-height:0;padding:clamp(24px,6vh,64px) 24px;display:flex;overflow:auto}.storage-recovery-panel{width:min(460px,100%);min-width:0;margin:auto}.storage-recovery-icon{border:1px solid var(--line-2);background:var(--ink-4);width:56px;height:56px;color:var(--text-2);border-radius:16px;place-items:center;margin-bottom:28px;display:grid}.storage-recovery h1{color:var(--text-1);letter-spacing:-.8px;margin:10px 0 12px;font-size:clamp(24px,3vw,30px);font-weight:600;line-height:1.2}.storage-recovery-description{color:var(--text-3);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.65}.storage-recovery-location{border:1px solid var(--line-2);background:var(--ink-4);color:var(--text-3);border-radius:10px;align-items:flex-start;gap:12px;margin:24px 0;padding:14px 16px;display:flex}.storage-recovery-location>svg{flex-shrink:0;margin-top:2px}.storage-recovery-location>div{min-width:0}.storage-recovery-location span{font-size:11px;font-weight:500}.storage-recovery-location p{color:var(--text-2);overflow-wrap:anywhere;margin:5px 0 0;font-size:13px;line-height:1.5}.storage-recovery-actions{flex-wrap:wrap;gap:10px;display:flex}.storage-recovery-actions .button{border-radius:9px;gap:8px;min-height:42px;padding:0 16px;font-size:13px}.storage-recovery-actions .button-secondary{background:0 0}.storage-recovery-note{color:var(--text-3);margin:18px 0 0;font-size:12px;line-height:1.6}@media (width<=480px){.storage-recovery{padding:28px 20px}.storage-recovery-actions{flex-direction:column}.storage-recovery-actions .button{justify-content:center;width:100%;min-height:44px}}.city-editor{border-radius:16px;gap:24px;width:min(420px,100%);padding:24px}.city-editor>header{align-items:center}.city-editor>header h2{letter-spacing:-.5px;font-size:22px;font-weight:600;line-height:1.3}.city-editor>header button{background:0 0;border:0;border-radius:50%;grid-row:1;width:36px;height:36px;margin:-4px -6px -4px 0}.city-editor>header button:hover:not(:disabled){background:var(--ink-4);color:var(--text-1)}.city-editor>label{gap:8px}.city-editor>label>span{color:var(--text-2);font-size:13px;font-weight:500}.city-editor input{border-radius:9px;height:44px;padding:0 12px;font-size:15px;font-weight:400}.city-editor input::placeholder{color:var(--text-3);font-weight:400}.city-editor>p{margin:0;font-size:13px;line-height:1.6}.city-editor>footer{background:0 0;border:0;gap:10px;margin:0;padding:0;position:static}.city-editor>footer button{border-radius:8px;min-height:40px;padding:0 16px;font-size:13px;font-weight:550}.city-editor .project-dialog-secondary{border-color:#0000}.city-editor .project-dialog-secondary:hover:not(:disabled){background:var(--ink-4);color:var(--text-1)}.city-editor button:focus-visible{outline:2px solid var(--text-1);outline-offset:3px}@media (width<=620px){.city-editor{gap:22px;padding:20px}.city-editor>footer button{min-height:44px}}.city-surface-context{flex-shrink:0;gap:8px;min-height:40px;margin-left:auto}.city-library{background:var(--ink-1);min-width:0;min-height:0;padding:clamp(28px,6vh,64px) clamp(18px,5vw,72px) 48px;overflow:auto}.city-library>*{width:min(1080px,100%);margin-inline:auto}.city-library-head{justify-content:space-between;align-items:center;gap:24px;margin-bottom:36px;display:flex}.city-library-head h1{font-family:var(--font-display);letter-spacing:-.035em;color:var(--text-1);margin:8px 0;font-size:40px;font-weight:720;line-height:1.1}.city-library-head p{color:var(--text-3);margin:0;font-size:14px}.city-library-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.city-library .button,.studio-settings .button{gap:8px;min-height:40px;padding-inline:14px;font-size:13px}.city-library-toolbar{align-items:center;gap:16px;margin-bottom:22px;display:flex}.city-library-search{min-width:0;color:var(--text-3);flex:1;align-items:center;gap:10px;display:flex}.city-library-search input{width:100%;min-width:0;height:42px;color:var(--text-1);font:inherit;background:0 0;border:0;font-size:14px}.city-library-filters{border-radius:var(--radius-md);background:var(--ink-4);gap:2px;padding:3px;display:flex}.city-library-filters button{border-radius:var(--radius-sm);min-height:30px;color:var(--text-3);cursor:pointer;font-size:var(--type-xs);background:0 0;border:0;padding:0 12px;font-weight:620}.city-library-filters button[aria-pressed=true]{background:var(--ink-2);color:var(--text-1);box-shadow:0 0 0 1px var(--line-2)}.city-library-list{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));align-content:start;gap:18px;display:grid}.city-library-card{border:1px solid var(--line-2);border-radius:var(--radius-lg);background:var(--ink-2);min-width:0;transition:border-color var(--duration-base) var(--ease-standard), transform var(--duration-base) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard);padding:8px 8px 10px}.city-library-card:hover,.city-library-card:focus-within{border-color:var(--line-3);box-shadow:var(--elev-2);transform:translateY(-2px)}.city-library-card>:not(.city-card-signature){margin-inline:14px}.city-card-signature{aspect-ratio:16/10;border-radius:calc(var(--radius-lg) - 6px);background:radial-gradient(120% 90% at 50% 40%, var(--ink-1), var(--ink-0));place-items:center;display:grid;position:relative;overflow:hidden}.city-card-signature:before{content:"";background-image:linear-gradient(var(--line-1) 1px, transparent 1px), linear-gradient(90deg, var(--line-1) 1px, transparent 1px);opacity:.8;background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(closest-side,#000 40%,#0000);mask-image:radial-gradient(closest-side,#000 40%,#0000)}.city-signature{object-fit:contain;box-sizing:border-box;width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-emphasis);padding:6%;position:relative}.city-library-card:hover .city-signature{transform:scale(1.035)}.city-signature-fallback{color:var(--text-4);justify-items:center;gap:8px;display:grid;position:relative}.city-signature-fallback small{color:var(--text-3);font-size:var(--type-xs)}.city-card-signature .city-state{-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);position:absolute;top:10px;right:10px}.city-state{color:var(--text-3);background:var(--ink-4);border-radius:6px;align-items:center;gap:5px;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.city-state[data-state=ready]{color:var(--good);background:color-mix(in srgb, var(--good) 9%, transparent)}.city-state[data-state=attention]{color:var(--alert)}.city-state[data-state=preparing]{color:var(--text-1)}.city-card-open{width:auto;min-width:0;color:var(--text-3);text-align:left;cursor:pointer;background:0 0;border:0;gap:6px;margin-top:16px;padding:0;display:grid}.city-card-open>strong{color:var(--text-1);font-family:var(--font-display);letter-spacing:-.025em;overflow-wrap:anywhere;font-size:21px;font-weight:680}.city-card-open>span{overflow-wrap:anywhere;font-size:13px}.city-card-open .city-card-enter{color:var(--signal-text);justify-content:space-between;align-items:center;margin-top:10px;font-size:13px;font-weight:620;display:flex}.city-card-sources{flex-wrap:wrap;gap:8px 14px;margin:12px 0 14px;display:flex}.city-card-sources>span{color:var(--text-3);align-items:center;gap:5px;font-size:11px;display:flex}.city-card-sources>span>span{border:1px solid var(--text-3);border-radius:50%;width:5px;height:5px}.city-card-sources>span[data-ready=true]>span{border-color:var(--good);background:var(--good)}.city-card-footer{border-top:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:8px;min-width:0;padding-top:8px;display:flex}.city-card-footer small{color:var(--text-3);font-size:11px}.city-card-actions{flex-shrink:0;gap:3px;display:flex}.city-card-actions .icon-button{background:0 0;border-color:#0000;width:32px;min-width:32px;height:36px}.city-library-note{color:var(--text-3);align-items:center;gap:8px;margin-top:28px;font-size:12px;display:flex}.city-library-note>span{margin-left:auto}.city-library-empty{border:1px dashed var(--line-3);border-radius:var(--radius-lg);color:var(--text-3);text-align:center;justify-items:center;gap:16px;padding:64px 20px;display:grid}.city-library-empty h2{color:var(--text-1);font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:26px;font-weight:700;line-height:1.2}.city-library-empty p{max-width:420px;margin:0 0 8px;font-size:14px;line-height:1.6}.city-library-card.is-featured{grid-column:1/-1;grid-template-rows:auto auto 1fr auto;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);column-gap:8px;padding:8px;display:grid}.city-library-card.is-featured>.city-card-signature{aspect-ratio:auto;grid-row:1/-1;min-height:280px}.city-library-card.is-featured>:not(.city-card-signature){margin-inline:18px 12px}.city-library-card.is-featured .city-card-open{gap:8px;margin-top:22px}.city-library-card.is-featured .city-card-open>strong{letter-spacing:-.035em;font-size:34px;font-weight:720}.city-card-kicker{color:var(--text-3);font-size:var(--type-2xs);letter-spacing:.06em;text-transform:uppercase;font-weight:680}.city-card-open>.city-card-facts{color:var(--text-2);font-size:var(--type-md);font-variant-numeric:tabular-nums}.city-library-card.is-featured .city-card-open .city-card-enter{border-radius:var(--radius-md);width:fit-content;min-height:38px;color:var(--signal-ink);background:var(--signal);font-size:var(--type-sm);justify-content:center;gap:8px;margin-top:16px;padding:0 16px}.city-library-card.is-featured .city-card-open:hover .city-card-enter{background:var(--signal-strong)}.city-library-card.is-featured .city-card-sources{margin-top:16px}.city-library-card.is-featured .city-card-footer{align-self:end}.city-library-card.is-featured:hover{transform:none}.city-library-new{border:1px dashed var(--line-3);border-radius:var(--radius-lg);min-width:0;min-height:220px;color:var(--text-3);font:inherit;text-align:center;cursor:pointer;transition:border-color var(--duration-base) var(--ease-standard), color var(--duration-base) var(--ease-standard), background-color var(--duration-base) var(--ease-standard);background:0 0;align-content:center;justify-items:center;gap:8px;padding:24px;display:grid}.city-library-new:hover{border-color:var(--signal-line);color:var(--text-2);background:var(--signal-soft)}.city-library-new strong{color:var(--text-1);font-size:var(--type-md);font-weight:650}.city-library-new>span:last-child{max-width:220px;font-size:var(--type-xs);line-height:1.5}.city-library-new-icon{width:38px;height:38px;color:var(--signal-ink);background:var(--signal);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.city-first-run-brand{width:min(200px,70%);height:auto;margin-bottom:8px;display:block}.app-shell.appearance-dark .city-first-run-brand{filter:brightness(3)}.city-library-empty.is-first-run{border-style:solid;border-color:var(--line-1);background:radial-gradient(120% 100% at 50% 0%, var(--ink-2), var(--ink-1));gap:14px;padding:48px 24px 52px}.city-first-run-art{fill:none;stroke-linecap:round;stroke-linejoin:round;width:min(300px,70%);height:auto;margin-bottom:6px}.city-first-run-art path{stroke-width:4px;stroke-dasharray:320;stroke-dashoffset:320px;animation:city-line-draw 1.6s var(--ease-emphasis) forwards}.city-first-run-art .is-a{stroke:var(--signal)}.city-first-run-art .is-b{stroke:#36c2b4;animation-delay:.18s}.city-first-run-art .is-c{stroke:#6f6ce0;animation-delay:.36s}.city-first-run-art circle{fill:var(--ink-1);stroke:var(--text-2);stroke-width:2px}.city-first-run-art .is-transfer{fill:var(--ink-1);stroke:var(--text-1);stroke-width:3px}@keyframes city-line-draw{to{stroke-dashoffset:0}}.city-first-run-steps{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(640px,100%);margin:4px 0 10px;padding:0;list-style:none;display:grid}.city-first-run-steps li{border:1px solid var(--line-1);border-radius:var(--radius-md);background:var(--ink-3);align-items:flex-start;gap:10px;padding:12px;display:flex}.city-first-run-steps b{height:22px;color:var(--text-1);background:var(--ink-5,var(--ink-4));font-size:var(--type-2xs);border-radius:50%;flex:0 0 22px;place-items:center;display:grid}.city-first-run-steps span{gap:2px;min-width:0;display:grid}.city-first-run-steps strong{color:var(--text-1);font-size:var(--type-sm);font-weight:620}.city-first-run-steps small{color:var(--text-3);font-size:var(--type-xs);line-height:1.4}.city-library-loading{color:var(--text-3);font-size:var(--type-sm);gap:18px;display:grid}.city-library-loading[role=alert]{border:1px dashed var(--line-3);border-radius:var(--radius-lg);text-align:center;justify-items:center;gap:14px;padding:48px 20px}.city-library-loading[role=alert] p{color:var(--text-2);margin:0}.city-library-loading-label{align-items:center;gap:12px;display:flex}.city-library-skeleton{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:18px;display:grid}.city-library-skeleton>div{border:1px solid var(--line-1);border-radius:var(--radius-lg);background:var(--ink-2);align-content:start;gap:16px;padding:8px 8px 18px;display:grid}.city-library-skeleton>div:nth-child(n+2){opacity:.7}.city-library-skeleton>div>.skeleton{aspect-ratio:16/10;border-radius:calc(var(--radius-lg) - 6px)}.city-library-skeleton>div>span{gap:10px;padding:0 14px;display:grid}.city-library-skeleton>div>span>.skeleton:first-child{width:48%;height:20px}.city-library-skeleton>div>span>.skeleton:nth-child(2){width:70%}.city-library-skeleton>.is-featured{grid-column:1/-1;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:8px;padding:8px}.city-library-skeleton>.is-featured>.skeleton{aspect-ratio:auto;min-height:280px}.city-library-skeleton>.is-featured>span{align-content:start;gap:12px;padding:24px 12px 0 18px}.city-library-skeleton>.is-featured>span>.skeleton:first-child{width:56%;height:10px}.city-library-skeleton>.is-featured>span>.skeleton:nth-child(2){width:46%;height:32px}.city-library-skeleton>.is-featured>span>.skeleton:nth-child(3){width:62%}.city-library-skeleton>.is-featured>span>.skeleton:nth-child(4){border-radius:var(--radius-md);width:136px;height:38px;margin-top:8px}.city-card-loading{border-radius:var(--radius-pill);color:var(--text-1);background:var(--material-strong);box-shadow:var(--elev-1);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);font-size:var(--type-2xs);align-items:center;gap:10px;padding:7px 12px;font-weight:600;display:inline-flex;position:absolute;bottom:10px;left:10px}.city-card-loading .signal-loader{width:24px}.studio-settings{grid-template-columns:170px minmax(0,1fr);align-items:start;gap:36px;padding-top:20px;display:grid}.settings-navigation{gap:6px;display:grid;position:sticky;top:24px}.settings-navigation>button{min-height:44px;color:var(--text-3);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.settings-navigation>button:hover{background:var(--ink-4);color:var(--text-1)}.settings-navigation>button[aria-selected=true]{background:var(--ink-4);color:var(--text-1);box-shadow:inset 0 0 0 1px var(--line-2);font-weight:600}.settings-navigation>p{color:var(--text-3);margin:14px 12px 0;font-size:11px;line-height:1.6}.settings-content{min-width:0}.city-surface:has(.settings-documentation){width:min(1600px,100%);padding:20px clamp(16px,2.5vw,40px) 28px}.city-surface:has(.settings-documentation) .city-surface-title :is(.eyebrow,p){display:none}.city-surface:has(.settings-documentation) .city-surface-title h1{margin:0;font-size:22px}.settings-documentation .settings-section-heading{flex-wrap:wrap;align-items:flex-start;gap:10px 20px;margin-bottom:14px}.settings-docs-toolbar{align-items:center;font-size:12px;display:flex}.settings-docs-toolbar a{border:1px solid var(--line-2);min-height:32px;color:var(--text-1);white-space:nowrap;border-radius:6px;align-items:center;padding:5px 10px;text-decoration:none;display:inline-flex}.settings-docs-toolbar a:hover{background:var(--ink-4)}.settings-docs-frame{border:1px solid var(--line-2);background:var(--ink-3);border-radius:8px;width:100%;height:max(420px,100dvh - 220px);display:block}.settings-section{border-bottom:1px solid var(--line-2);min-width:0;margin-bottom:30px;padding:0 0 30px}.settings-section:last-child{border-bottom:0;margin-bottom:0}.settings-section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.settings-section-heading h2{letter-spacing:-.2px;color:var(--text-1);margin:0;font-size:17px;font-weight:620}.settings-section-heading p{color:var(--text-3);margin:6px 0 0;font-size:13px;line-height:1.5}.settings-themes{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-theme{border:1px solid var(--line-2);background:var(--ink-3);min-width:0;color:var(--text-1);cursor:pointer;border-radius:12px;padding:10px}.settings-theme[aria-pressed=true],.settings-maps>button[aria-pressed=true]{border-color:var(--signal-line);box-shadow:0 0 0 3px var(--signal-soft)}.settings-theme[aria-pressed=true] .settings-theme-label>svg:last-child,.settings-maps>button[aria-pressed=true] svg{color:var(--signal-text)}.settings-theme-preview{background:#f3f4f6;border:1px solid #dfe3e8;border-radius:6px;gap:8px;height:96px;padding:12px;display:flex}.settings-theme-preview>i{background:#e4e7ec;border-radius:3px;width:18%}.settings-theme-preview>span{flex:1;grid-template-columns:1fr 1fr;align-content:start;gap:7px;display:grid}.settings-theme-preview b{background:#fff;border:1px solid #e4e7ec;border-radius:3px;height:28px;display:block}.settings-theme-preview b:first-child{background:#c8ec3f;border:0;grid-column:1/-1;width:56%;height:9px;margin-bottom:6px}.settings-theme-preview[data-theme=dark]{background:#08101b;border-color:#22304a}.settings-theme-preview[data-theme=dark]>i{background:#182333}.settings-theme-preview[data-theme=dark] b{background:#121c2a;border-color:#22304a}.settings-theme-preview[data-theme=dark] b:first-child{background:#cde67c}.settings-theme-label{text-align:left;align-items:center;gap:8px;padding:14px 4px 4px;font-size:13px;display:flex}.settings-theme-label>svg:last-child:not(:first-child){margin-left:auto}.settings-maps{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-maps>button{border:1px solid var(--line-2);background:var(--ink-3);text-align:left;cursor:pointer;border-radius:10px;align-content:start;gap:8px;min-width:0;min-height:88px;padding:15px;display:grid}.settings-map-label{color:var(--text-1);justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.settings-maps small{color:var(--text-3);font-size:12px;line-height:1.5}.settings-folder{border:1px solid var(--line-2);background:var(--ink-3);border-radius:10px;align-items:center;gap:12px;padding:14px;display:flex}.settings-folder>svg{color:var(--text-3);flex-shrink:0}.settings-folder>span{overflow-wrap:anywhere;min-width:0;color:var(--text-2);flex:1;font-size:12px;line-height:1.6}.settings-folder>button{flex-shrink:0}.settings-note{color:var(--text-3);margin:12px 0 0;font-size:12px;line-height:1.65}.settings-disk{padding-top:22px}.settings-disk>div{color:var(--text-3);flex-wrap:wrap;justify-content:space-between;gap:6px 12px;font-size:12px;display:flex}.settings-disk strong{color:var(--text-1);font-weight:550}.settings-disk meter{width:100%;height:10px;accent-color:var(--good);margin-top:10px}.settings-disk meter::-webkit-meter-bar{background:var(--ink-4);border:0}.settings-disk meter::-webkit-meter-optimum-value{background:var(--good)}.settings-disk[data-low=true] meter::-webkit-meter-optimum-value{background:var(--watch)}.settings-disk>p{color:var(--watch);font-size:12px;line-height:1.5}.settings-icon-button{border:1px solid var(--line-2);width:40px;height:40px;color:var(--text-3);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.settings-icon-button:disabled{opacity:.5;cursor:default}.settings-about>h2{letter-spacing:-.6px;color:var(--text-1);margin:12px 0 18px;font-size:28px;font-weight:620}.settings-about>h2 span{color:var(--text-3);font-size:20px;font-weight:450}.settings-about>p:not(.settings-note){max-width:350px;color:var(--text-2);font-size:16px;line-height:1.6}.settings-about-pillars{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px;display:grid}.settings-about-pillars>div{border:1px solid var(--line-2);border-radius:var(--radius-md);background:var(--ink-2);align-content:start;gap:6px;padding:14px;display:grid}.settings-about-pillars dt{color:var(--text-1);font-size:var(--type-sm);font-weight:650}.settings-about-pillars dd{color:var(--text-3);font-size:var(--type-xs);margin:0;line-height:1.55}@media (width<=760px){.settings-about-pillars{grid-template-columns:minmax(0,1fr)}}.settings-health{margin:0}.settings-health>div{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;font-size:13px;display:flex}.settings-health dt{color:var(--text-2);align-items:center;gap:10px;display:flex}.settings-health dt>svg{color:var(--text-3)}.settings-health [data-ready=true] dt>svg{color:var(--good)}.settings-health dd{color:var(--text-3);margin:0;font-size:12px}.city-storage-picker{align-items:end;gap:12px;display:flex}.city-storage-picker>label{flex:1}.city-storage-picker select{min-height:40px;font-size:13px}.city-storage-bar{background:var(--ink-4);border-radius:4px;height:8px;display:flex;overflow:hidden}.city-storage-bar>span{flex-basis:0}.city-storage-bar [data-category=timetables],.city-data-breakdown [data-category=timetables]{background:#b8de2a}.city-storage-bar [data-category=streets],.city-data-breakdown [data-category=streets]{background:#5ea8e0}.city-storage-bar [data-category=activity],.city-data-breakdown [data-category=activity]{background:#e0a85a}.city-storage-bar [data-category=scenarios],.city-data-breakdown [data-category=scenarios]{background:#b48cf2}.city-storage-bar [data-category=other],.city-data-breakdown [data-category=other]{background:#8b95a4}.city-data-breakdown span{align-items:center;gap:8px;display:flex}.city-data-breakdown i{border-radius:2px;width:7px;height:7px;display:inline-block}.city-maintenance{border-top:1px solid var(--line-2);margin-top:24px}.city-maintenance>summary{min-height:44px;color:var(--text-3);cursor:pointer;padding:18px 0 0;font-size:13px}.city-maintenance[open]>summary{padding-bottom:14px}.studio-settings .city-data-overview strong{letter-spacing:-.4px;font-size:22px;font-weight:550}.studio-settings .city-data-overview span,.studio-settings .city-data-breakdown span,.studio-settings .city-data-breakdown strong,.studio-settings .city-data-action small,.studio-settings .city-data-confirm span{font-size:12px;line-height:1.6}.studio-settings .city-data-action strong,.studio-settings .city-data-confirm strong{font-size:13px}.studio-settings .city-data-overview{margin-block:12px}.studio-settings .city-data-confirm input{min-height:40px;font-size:14px}.city-maintenance summary:focus-visible,.settings-content:focus-visible{outline:2px solid var(--text-2);outline-offset:3px}@media (width<=900px){.studio-settings{grid-template-columns:140px minmax(0,1fr);gap:24px}.city-library-card.is-featured{grid-template-rows:none;grid-template-columns:minmax(0,1fr)}.city-library-card.is-featured>.city-card-signature{aspect-ratio:16/9;grid-row:auto;min-height:0}.city-library-skeleton>.is-featured{grid-template-columns:minmax(0,1fr)}.city-library-skeleton>.is-featured>.skeleton{aspect-ratio:16/9;min-height:0}.city-library-skeleton>.is-featured>span{padding:12px 14px 10px}.city-library-head{align-items:flex-start}.city-surface-context{margin-left:0}}@media (width<=620px){.city-library-head{flex-direction:column;gap:20px;margin-bottom:22px}.city-library-head h1{font-size:30px}.city-library-actions{width:100%}.city-library-actions>button{flex:1}.city-library-toolbar{flex-wrap:wrap;gap:8px}.city-library-search{flex-basis:100%}.city-library-filters{flex:1}.city-library-filters button{flex:1;min-height:38px;padding-inline:8px}.city-card-actions .icon-button{width:40px;height:44px}.city-library-empty{padding:40px 18px}.city-first-run-steps{grid-template-columns:minmax(0,1fr)}.studio-settings{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:12px}.settings-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid;position:static}.settings-navigation>button{flex:1;justify-content:center;gap:6px;padding-inline:8px;font-size:12px}.settings-navigation>p{display:none}.settings-folder{flex-wrap:wrap}.settings-folder>span{flex-basis:calc(100% - 40px)}.settings-folder>button{width:100%}.settings-themes{gap:12px}.settings-maps{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.city-library-card{transition:none}}@media (forced-colors:active){.settings-theme[aria-pressed=true],.settings-maps>button[aria-pressed=true],.city-library-filters button[aria-pressed=true],.settings-navigation>button[aria-selected=true]{border:2px solid highlight}}.inspector-head{z-index:3;min-height:48px;padding:10px var(--panel-pad);background:var(--ink-2);box-shadow:0 1px 0 var(--line-1);align-items:center;gap:8px;display:flex;position:sticky;top:0}.inspector-head>.studio-tabs{flex:auto}.inspector-head.is-compact{min-height:40px;padding-block:4px}.studio-tabs{background:var(--fill-2);border-radius:8px;align-items:stretch;gap:2px;min-width:0;padding:2px;display:flex}.studio-tabs>button{min-width:0;min-height:24px;color:var(--text-2);font:500 var(--type-sm)/1 var(--font-ui);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex;position:relative}.studio-tabs>button>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.studio-tabs>button>svg{stroke-width:2px;flex:none;width:14px;height:14px}.studio-tabs.is-icon-only>button{min-width:32px;min-height:28px;padding-inline:8px}.studio-tabs.is-icon-only>button>svg{width:18px;height:18px}.studio-tabs>button:is([aria-selected=true],[aria-pressed=true],.is-active){color:var(--text-1);background:var(--seg-thumb);box-shadow:0 0 0 .5px var(--line-2), 0 1px 2px #00000038}.studio-tabs>button:hover:not(:disabled){color:var(--text-1)}.studio-tabs>button:focus-visible{outline:2px solid var(--signal-text);outline-offset:-2px}.studio-tabs>button:disabled{opacity:.4;cursor:default}.studio-disclosure{border:0;border-top:1px solid var(--line-1);background:0 0;min-width:0}.studio-disclosure>summary{min-height:var(--row-h);color:var(--text-1);font:500 var(--type-md)/1.3 var(--font-ui);cursor:pointer;align-items:center;gap:8px;padding:0 2px;list-style:none;display:flex}.studio-disclosure>summary::-webkit-details-marker{display:none}.studio-disclosure>summary:before{width:12px;color:var(--text-3);text-align:center;content:"›";transition:transform var(--duration-base) var(--ease-standard);flex:none;font-size:15px;line-height:1}.studio-disclosure[open]>summary:before{transform:rotate(90deg)}.studio-disclosure>summary>span{align-items:center;gap:6px;min-width:0;display:inline-flex}.studio-disclosure>summary>b{min-width:0;color:var(--text-3);font-size:var(--type-sm);text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-weight:400;overflow:hidden}.studio-disclosure>summary:hover{color:var(--text-1)}.studio-disclosure>summary:hover:before{color:var(--text-2)}.kit-group{border-radius:var(--group-radius);background:var(--ink-3);min-width:0;box-shadow:inset 0 0 0 1px var(--line-1)}.kit-group>*+*{border-top:1px solid var(--line-1)}.kit-section-title{color:var(--text-2);font:600 var(--type-sm)/1.3 var(--font-ui);justify-content:space-between;align-items:baseline;gap:8px;margin:0;display:flex}.kit-section-title>:is(button,a){color:var(--signal-text);font:500 var(--type-sm)/1.3 var(--font-ui);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0;display:inline-flex}.kit-button{min-width:0;height:var(--control-h);color:var(--text-1);background:var(--fill-2);font:500 var(--type-md)/1 var(--font-ui);white-space:nowrap;cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.kit-button:hover:not(:disabled){background:var(--fill-3)}.kit-button:disabled{opacity:.45;cursor:default}.kit-button.is-primary{color:var(--signal-ink);background:var(--signal);font-weight:600}.kit-button.is-primary:hover:not(:disabled){background:var(--signal-strong)}.kit-button.is-primary:disabled{color:var(--text-3);background:var(--fill-2);opacity:1}.kit-button.is-block{width:100%;height:34px}.kit-icon-button{width:var(--control-h);height:var(--control-h);color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;padding:0;display:inline-grid}.kit-icon-button:hover:not(:disabled){color:var(--text-1);background:var(--fill-2)}.kit-icon-button:disabled{opacity:.35;cursor:default}.kit-icon-button[aria-pressed=true]{color:var(--text-1);background:var(--fill-3)}.kit-text-button{color:var(--signal-text);font:500 var(--type-sm)/1.3 var(--font-ui);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.kit-notice{border-radius:var(--group-radius);color:var(--text-2);background:var(--fill-1);font-size:var(--type-sm);grid-template-columns:16px minmax(0,1fr);align-items:start;gap:4px 8px;padding:9px 10px;line-height:1.4;display:grid}.kit-notice>svg{color:var(--text-3);margin-top:1px}.kit-notice strong{color:var(--text-1);font-weight:600;display:block}.kit-notice small{color:var(--text-3);font-size:var(--type-sm);display:block}.kit-notice>:is(button,div){grid-column:2;justify-self:start}.kit-notice.is-warning{background:color-mix(in srgb, var(--watch) 9%, transparent)}.kit-notice.is-warning>svg{color:var(--watch)}.kit-notice.is-error{background:color-mix(in srgb, var(--alert) 9%, transparent)}.kit-notice.is-error>svg{color:var(--alert)}.kit-notice.is-loading>svg{color:var(--signal-text)}.kit-stats{border-radius:var(--group-radius);background:var(--ink-3);min-width:0;box-shadow:inset 0 0 0 1px var(--line-1);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.kit-stats>*{min-width:0;color:inherit;text-align:left;background:0 0;border:0;gap:1px;padding:9px 10px 8px;display:grid}.kit-stats>*+*{box-shadow:inset 1px 0 0 var(--line-1)}.kit-stats>button{cursor:pointer}.kit-stats>button:hover{background:var(--fill-1)}.kit-stats>:first-child{border-radius:var(--group-radius) 0 0 var(--group-radius)}.kit-stats>:last-child{border-radius:0 var(--group-radius) var(--group-radius) 0}.kit-stats strong,.kit-stats b{color:var(--text-1);font:600 var(--type-xl)/1.15 var(--font-display);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kit-stats span,.kit-stats small{color:var(--text-3);font-size:var(--type-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:where(.sidebar-panel,.agency-panel,.routing-detail-panel) :where(select,input:is([type=date],[type=time],[type=number],[type=text],[type=search],:not([type]))){min-width:0;height:var(--control-h);color:var(--text-1);background:var(--fill-2);box-shadow:none;font:400 var(--type-md)/1 var(--font-ui);font-variant-numeric:tabular-nums;border:0;border-radius:7px;padding:0 8px}:where(.sidebar-panel,.agency-panel,.routing-detail-panel) :where(select){text-overflow:ellipsis;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none' stroke='%238592a6' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 4l2.5-2.5L7.5 4M2.5 6l2.5 2.5L7.5 6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:24px;overflow:hidden}:where(.sidebar-panel,.agency-panel,.routing-detail-panel) :where(select,input):hover:not(:disabled,:focus){background-color:var(--fill-3)}:where(.sidebar-panel,.agency-panel,.routing-detail-panel) :where(select,input):disabled{opacity:.45;cursor:not-allowed}:where(.sidebar-panel,.agency-panel,.routing-detail-panel) :where(select,input):focus-visible{outline:2px solid var(--signal-text);outline-offset:0}:where(.sidebar-panel,.agency-panel,.routing-detail-panel) input::placeholder{color:var(--text-4)}:where(.sidebar-panel,.agency-panel,.routing-detail-panel) input[type=number]{appearance:textfield}:where(.sidebar-panel,.agency-panel,.routing-detail-panel) input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}:where(.sidebar-panel,.agency-panel,.routing-detail-panel) input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}:where(.sidebar-panel,.agency-panel,.routing-detail-panel) input::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}.appearance-dark :where(.sidebar-panel,.agency-panel,.routing-detail-panel) input::-webkit-calendar-picker-indicator{filter:invert(.85)}.result-export-actions{flex:none;display:inline-flex;position:relative}.result-export-trigger[aria-expanded=true]{color:var(--text-1);background:var(--fill-3)}.result-export-menu{z-index:40;background:var(--ink-3);min-width:196px;box-shadow:var(--elev-3);border-radius:10px;padding:4px;display:grid;position:absolute;top:calc(100% + 4px);right:0}.result-export-menu>button{color:var(--text-1);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;gap:1px;padding:6px 9px;display:grid}.result-export-menu>button>strong{font-size:var(--type-md);font-weight:500}.result-export-menu>button>small{color:var(--text-3);font-size:var(--type-xs);line-height:1.35}.result-export-menu>button:is(:hover,:focus-visible):not(:disabled){color:var(--signal-ink);background:var(--signal);outline:0}.result-export-menu>button:is(:hover,:focus-visible):not(:disabled)>small{color:inherit;opacity:.72}.result-export-menu>button:disabled{cursor:default}.result-export-menu>button:disabled>strong{color:var(--text-3)}.result-export-menu>button:disabled>small{color:var(--watch)}.result-export-feedback:not(.is-error){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;right:0;overflow:hidden}.result-export-feedback.is-error{z-index:39;width:max-content;max-width:240px;color:var(--alert);background:var(--ink-3);box-shadow:var(--elev-2);font-size:var(--type-xs);border-radius:8px;padding:6px 9px;line-height:1.4;position:absolute;top:calc(100% + 4px);right:0}.kit-inline-details>summary{cursor:pointer;align-items:center;gap:4px;list-style:none;display:inline-flex}.kit-inline-details>summary::-webkit-details-marker{display:none}.kit-inline-details>summary:before{content:"›";width:8px;transition:transform var(--duration-base) var(--ease-standard);font-size:13px;line-height:1;display:inline-block}.kit-inline-details[open]>summary:before{transform:rotate(90deg)}.kit-inline-details>summary:hover{color:var(--text-1)}.app-shell input[type=checkbox][role=switch]{background:var(--fill-3);appearance:none;cursor:pointer;width:30px;height:18px;transition:background-color var(--duration-base) var(--ease-standard);border-radius:999px;flex:none;margin:0;position:relative}.app-shell input[type=checkbox][role=switch]:before{content:"";width:14px;height:14px;transition:transform var(--duration-base) var(--ease-standard);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.app-shell input[type=checkbox][role=switch]:checked{background:var(--good)}.app-shell input[type=checkbox][role=switch]:checked:before{transform:translate(12px)}.app-shell input[type=checkbox][role=switch]:disabled{opacity:.45;cursor:not-allowed}:where(.sidebar-panel,.agency-panel) input[type=range]{--range-fill:var(--signal);appearance:none;cursor:pointer;background:0 0;width:100%;height:18px;margin:0}:where(.sidebar-panel,.agency-panel) input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--range-fill) var(--range-progress,0%), var(--fill-3) var(--range-progress,0%));border-radius:999px;height:4px}:where(.sidebar-panel,.agency-panel) input[type=range]::-webkit-slider-thumb{appearance:none;background:#fff;border:0;border-radius:50%;width:16px;height:16px;margin-top:-6px;box-shadow:0 0 0 .5px #0000002e,0 1px 3px #00000052}.is-spinning{animation:.9s linear infinite kit-spin}@keyframes kit-spin{to{transform:rotate(360deg)}}@media (width<=760px){.app-shell{--control-h:36px;--row-h:44px}.studio-tabs>button{min-height:36px}}@media (prefers-reduced-motion:reduce){.studio-disclosure>summary:before,.app-shell input[type=checkbox][role=switch],.app-shell input[type=checkbox][role=switch]:before{transition:none}.is-spinning{animation:none}}.agency-panel{min-width:0;min-height:0;color:var(--text-2);background:var(--ink-2);border-right:1px solid var(--line-2);font-size:var(--type-md);grid-template-rows:auto minmax(0,1fr);line-height:1.4;display:grid}@media (width>=900px){.app-shell.has-stage .agency-panel{z-index:20;top:var(--stage-gutter);bottom:0;left:var(--stage-gutter);position:absolute;overflow:hidden}}.agency-panel :is(h1,h2,h3,p){margin:0}.agency-panel :is(p,small){overflow-wrap:anywhere}.agency-navigation{justify-content:space-between}.agency-navigation .agency-tabs{flex:auto}.agency-navigation-tools{flex:none;align-items:center;gap:2px;margin-left:auto;display:flex}.agency-mobile-map-toggle{display:none}.agency-navigation .agency-feed-health>summary{justify-content:center;width:28px;height:28px;padding:0}.agency-navigation .agency-feed-health>summary>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.agency-feed-health{position:relative}.agency-feed-health>summary{height:24px;color:var(--text-2);font-size:var(--type-sm);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 8px;list-style:none;display:inline-flex}.agency-feed-health>summary::-webkit-details-marker{display:none}.agency-feed-health>summary:hover,.agency-feed-health[open]>summary{background:var(--fill-2)}.agency-feed-health>summary>i{background:var(--text-4);border-radius:50%;flex:none;width:6px;height:6px}.agency-feed-health[data-health=fresh]>summary>i{background:var(--good)}.agency-feed-health:is([data-health=partial],[data-health=unavailable])>summary>i{background:var(--watch)}.agency-feed-health>summary>svg{color:var(--text-3)}.agency-feed-health ul,.agency-more-options{z-index:30;background:var(--ink-3);box-shadow:var(--elev-3);border-radius:10px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);right:0}.agency-feed-health ul{white-space:normal;width:248px;max-width:75vw;padding:10px 12px}.agency-feed-health li{color:var(--text-3);font-size:var(--type-xs);line-height:1.45}.agency-feed-health li+li{margin-top:8px}.agency-feed-health li strong{color:var(--text-1);font-size:var(--type-sm);font-weight:500;display:block}.agency-feed-health li span{display:block}.stop-arrival-board .agency-feed-health ul{width:auto;box-shadow:none;position:static}.agency-more{position:relative}.agency-more>summary{list-style:none}.agency-more>summary::-webkit-details-marker{display:none}.agency-more[open]>summary{color:var(--text-1);background:var(--fill-2)}.agency-more-options{min-width:196px}.agency-more-options button{width:100%;height:28px;color:var(--text-1);font:400 var(--type-md) var(--font-ui);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:0 8px;display:flex}.agency-more-options button:hover{color:var(--signal-ink);background:var(--signal)}.agency-more-options button>svg{color:inherit;opacity:.8}.agency-scroll{min-height:0;padding:12px var(--panel-pad) 16px;overscroll-behavior:contain;scrollbar-width:thin;align-content:start;gap:14px;display:grid;overflow:auto}.agency-scroll>[role=tabpanel]{gap:14px;min-width:0;display:grid}.network-layers{align-items:center;gap:6px;min-width:0;display:flex}.network-layers>select{max-width:160px;height:26px;font-size:var(--type-sm);flex:1 1 0}.network-layer-toggles{background:var(--fill-1);border-radius:8px;flex:none;gap:1px;margin-left:auto;padding:1px;display:flex}.network-layer-toggles>.kit-icon-button{width:26px;height:24px;color:var(--text-4);border-radius:6px}.network-layer-toggles>.kit-icon-button[aria-pressed=true]{color:var(--signal-text);background:var(--seg-thumb);box-shadow:0 0 0 .5px var(--line-2), 0 1px 2px #0000002e}.agency-overview{gap:12px;min-width:0;display:grid}.agency-pulse{color:var(--text-3);font-size:var(--type-sm);align-items:center;gap:8px;display:flex}.agency-pulse-state{height:20px;color:var(--text-2);background:var(--fill-2);font-size:var(--type-xs);border-radius:999px;align-items:center;gap:6px;padding:0 8px 0 7px;font-weight:600;display:inline-flex}.agency-pulse-state>i{background:var(--text-4);border-radius:50%;width:6px;height:6px}.agency-pulse-state.is-live{color:var(--good);background:color-mix(in srgb, var(--good) 13%, transparent)}.agency-pulse-state.is-live>i{background:var(--good);animation:agency-live-pulse 2.4s var(--ease-standard) infinite}.agency-pulse-state.is-stale{color:var(--watch);background:color-mix(in srgb, var(--watch) 13%, transparent)}.agency-pulse-state.is-stale>i{background:var(--watch)}.agency-overview-metrics .has-attention strong{color:var(--watch)}.agency-overview-basis{color:var(--text-3);font-size:var(--type-sm);line-height:1.45}.agency-health{gap:7px;margin:0;display:grid}.agency-health-bar{background:var(--fill-2);border-radius:999px;gap:2px;height:4px;display:flex;overflow:hidden}.agency-health-bar>span{background:var(--share-color);border-radius:2px;min-width:3px}.agency-health-bar>.is-unreported{opacity:.5}.agency-health .is-review{--share-color:var(--watch)}.agency-health .is-clear{--share-color:var(--good)}.agency-health .is-unreported{--share-color:var(--text-4)}.agency-health figcaption{color:var(--text-3);font-size:var(--type-xs);flex-wrap:wrap;gap:2px 12px;display:flex}.agency-health figcaption>span{align-items:center;gap:5px;display:inline-flex}.agency-health figcaption i{background:var(--share-color);border-radius:2px;width:6px;height:6px}.agency-priority{gap:7px;min-width:0;display:grid}.agency-priority h2{font:inherit}.agency-route-label{align-items:center;gap:6px;min-width:0;max-width:100%;display:inline-flex}.agency-route-label>b{min-width:28px;max-width:100%;height:20px;color:var(--line-ink,#fff);background:var(--line-color);font:700 var(--type-xs)/20px var(--font-ui);letter-spacing:-.005em;text-align:center;text-overflow:ellipsis;white-space:nowrap;border-radius:5px;padding:0 6px;display:inline-block;overflow:hidden;box-shadow:inset 0 0 0 .5px #00000029}.agency-route-label>small{color:var(--text-3);font-size:var(--type-xs);font-weight:500}.agency-route-row{width:100%;min-height:48px;color:var(--text-3);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) 14px;grid-template-areas:"head chevron""detail chevron";align-items:center;gap:3px 8px;padding:7px 10px 7px 12px;display:grid;position:relative}.kit-group>.agency-route-row:first-child{border-top-left-radius:var(--group-radius);border-top-right-radius:var(--group-radius)}.kit-group>.agency-route-row:last-child{border-bottom-left-radius:var(--group-radius);border-bottom-right-radius:var(--group-radius)}.agency-route-row:hover{background:var(--fill-1)}.agency-route-row:focus-visible{outline:2px solid var(--signal-text);outline-offset:-2px}.agency-route-row-head{grid-area:head;align-items:center;gap:8px;min-width:0;display:flex}.agency-route-row-head>.agency-route-label{flex:none;max-width:62%}.agency-route-row-title{min-width:0;color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.agency-route-row-title.is-mode{color:var(--text-3);font-weight:400}.agency-route-row>:is(.agency-route-list-detail,.agency-priority-description){min-width:0;color:var(--text-3);font-size:var(--type-sm);grid-area:detail;line-height:1.35}.agency-route-list-detail>span+span:before{color:var(--text-4);content:" · "}.agency-route-row>svg{color:var(--text-4);transition:transform var(--duration-base) var(--ease-standard);grid-area:chevron}.agency-route-row:hover>svg{color:var(--text-2);transform:translate(1px)}.agency-route-row:is([data-severity=watch],[data-severity=alert]):before{background:var(--watch);content:"";border-radius:0 2px 2px 0;width:3px;position:absolute;top:9px;bottom:9px;left:0}.agency-route-row[data-severity=alert]:before{background:var(--alert)}.agency-route-indicator[data-severity=watch]{color:var(--watch)}.agency-route-indicator[data-severity=alert]{color:var(--alert)}.agency-route-indicator[data-severity=info]{color:var(--text-2)}.agency-route-browser{gap:10px;min-width:0;display:grid}.agency-route-search{z-index:2;height:30px;color:var(--text-3);background:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line-2), 0 6px 14px -10px #0009;border-radius:8px;align-items:center;gap:6px;padding:0 8px;display:flex;position:sticky;top:-12px}.agency-route-search:focus-within{box-shadow:inset 0 0 0 1px var(--signal-line), 0 0 0 3px var(--signal-soft)}.agency-route-search>svg{flex:none}.agency-route-search input{height:100%;color:var(--text-1);background:0 0;outline:0;flex:1;padding:0}.agency-route-search input:hover:not(:focus){background:0 0}.agency-route-search input:focus-visible{outline:0}.agency-route-search button{width:20px;height:20px;color:var(--ink-2);background:var(--text-4);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.agency-route-search button>svg{stroke-width:3px;width:11px;height:11px}.agency-route-filter-count{color:var(--text-3);font-size:var(--type-xs);font-weight:400}.agency-route-toolbar{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.agency-route-toolbar>p{color:var(--text-3);font-size:var(--type-sm)}.agency-route-toolbar>.agency-route-sort{max-width:190px;height:24px;color:var(--text-2);font-size:var(--type-sm);text-align:right;background-color:#0000;flex:0 auto;padding-left:6px}.agency-route-status{color:var(--watch);font-size:var(--type-sm);font-weight:500}.agency-show-more{height:26px;color:var(--text-2);font-size:var(--type-sm);justify-self:center}.agency-show-more>span{color:var(--text-3)}.agency-route-empty{color:var(--text-3);font-size:var(--type-sm);justify-items:start;gap:6px;padding:18px 4px;display:grid}.agency-route-empty>svg{color:var(--text-4)}.agency-route-empty strong{color:var(--text-1);font-size:var(--type-md);overflow-wrap:anywhere}.agency-route-empty p{max-width:46ch;line-height:1.45}.agency-route-coverage,.agency-source-details{border-top:1px solid var(--line-1);color:var(--text-3);font-size:var(--type-sm);line-height:1.5}.agency-route-coverage>summary,.agency-source-details>summary{min-height:var(--row-h);color:var(--text-2);cursor:pointer;align-items:center;font-weight:500;display:flex}.agency-route-coverage p{margin:4px 0 8px}.agency-source-details>:not(summary){margin-bottom:8px}.agency-sources{overflow-wrap:anywhere;padding:0;list-style:none}.agency-sources li+li{margin-top:6px}.agency-sources a{color:var(--text-2)}.network-selection{gap:6px;min-width:0;display:grid}.network-selection-back{justify-self:start;margin-left:-3px}.network-selection>div{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.network-selection-name{min-width:0}.network-selection-name>h1{color:var(--text-1);font:600 var(--type-xl)/1.2 var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere}.network-selection>div.has-badge .network-selection-name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.network-selection>div>p{color:var(--text-3);font-size:var(--type-sm);flex-basis:100%}.network-selection>div.has-badge>p{min-width:0;color:var(--text-1);font:600 var(--type-lg)/1.25 var(--font-display);letter-spacing:-.01em;flex:140px}.agency-secondary-section,.agency-service-events{min-width:0}.agency-section-heading{justify-content:space-between;align-items:center;gap:8px;margin:2px 0 8px;display:flex}.agency-section-heading select{height:26px;font-size:var(--type-sm)}.agency-section-heading h2{color:var(--text-1);font:600 var(--type-md) var(--font-ui)}.agency-section-heading span{color:var(--text-3);font-size:var(--type-sm)}.agency-event-list{min-width:0;display:grid}.agency-event{border:0;border-top:1px solid var(--line-1);width:100%;min-height:44px;color:var(--text-3);font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:22px minmax(0,1fr) 14px;align-items:center;gap:8px;padding:7px 2px;display:grid}.agency-event:hover{background:var(--fill-1)}.agency-event strong{color:var(--text-1);font-size:var(--type-md);font-weight:500;display:block}.agency-event small{color:var(--text-3);font-size:var(--type-sm);margin-top:1px;display:block}.agency-event>svg{color:var(--text-4)}.agency-event-mark{width:22px;height:22px;color:var(--text-3);background:var(--fill-2);border-radius:6px;place-items:center;display:grid}.agency-event-mark>svg{width:13px;height:13px}.agency-event[data-severity=critical] .agency-event-mark{color:var(--alert);background:color-mix(in srgb, var(--alert) 13%, transparent)}.agency-event.is-warning .agency-event-mark{color:var(--watch);background:color-mix(in srgb, var(--watch) 13%, transparent)}.agency-event-pagination{color:var(--text-3);font-size:var(--type-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:10px;display:flex}.agency-evidence{gap:10px;min-width:0;display:grid}.agency-evidence>button:first-child{justify-self:start}.agency-evidence>h2{color:var(--text-1);font:600 var(--type-xl)/1.25 var(--font-display);letter-spacing:-.02em}.agency-section-label{color:var(--text-3);font-size:var(--type-sm);align-items:center;gap:6px;margin-top:6px;display:flex}.agency-section-label>span{text-transform:capitalize;margin-left:auto}.agency-evidence-context{color:var(--text-3);font-size:var(--type-sm);flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.agency-comparison{border-radius:var(--group-radius);background:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line-1);margin:0;padding:12px}:is(.agency-comparison,.agency-history-chart) figcaption{color:var(--text-1);font-size:var(--type-sm);margin-bottom:10px;font-weight:500}.agency-measure{color:var(--text-3);font-size:var(--type-sm);grid-template-columns:56px minmax(0,1fr) 60px;align-items:center;gap:10px;margin-top:8px;display:grid}.agency-measure>div{align-items:center;min-width:0;height:10px;display:flex}.agency-measure i{background:var(--fill-3);border-radius:2px;min-width:2px;height:4px;display:block}.agency-measure.is-predicted i{background:var(--signal)}.agency-measure strong{color:var(--text-1);text-align:right;font-weight:500}.agency-comparison p{color:var(--text-3);font-size:var(--type-sm);margin-top:10px}.agency-facts{margin:0;display:grid}.agency-facts>div{border-top:1px solid var(--line-1);font-size:var(--type-sm);grid-template-columns:112px minmax(0,1fr);gap:10px;padding:7px 0;display:grid}.agency-facts dt{color:var(--text-3)}.agency-facts dd{color:var(--text-1);overflow-wrap:anywhere;margin:0}.agency-alert-description{font-size:var(--type-sm);white-space:pre-wrap;line-height:1.6}.agency-evidence-actions,.agency-vehicle-actions{flex-wrap:wrap;gap:8px;display:flex}.agency-history-chart{margin:4px 0}.agency-history-chart svg{width:100%;max-height:90px;display:block}.agency-chart-axis{stroke:var(--line-2)}.agency-chart-line{stroke:var(--signal-text);stroke-width:2px}.agency-history-chart>div{color:var(--text-3);font-size:var(--type-xs);justify-content:space-between;display:flex}.agency-connect{border-radius:var(--group-radius);background:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line-1);padding:12px;position:relative}.agency-connect-close{position:absolute;top:6px;right:6px}.agency-connect .realtime-panel{margin:0}.agency-loading{gap:12px;display:grid}.agency-loading>p{color:var(--text-3);font-size:var(--type-sm);align-items:center;gap:10px;display:flex}.agency-loading-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.agency-loading-metrics>.skeleton{border-radius:0;height:52px}.agency-loading-metrics>.skeleton:first-child{border-radius:var(--group-radius) 0 0 var(--group-radius)}.agency-loading-metrics>.skeleton:last-child{border-radius:0 var(--group-radius) var(--group-radius) 0}.agency-loading-bar{border-radius:999px;height:4px;min-height:0}.agency-loading-rows{display:grid}.agency-loading-rows>span{border-top:1px solid var(--line-1);grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;padding:14px 0;display:grid}.agency-loading-rows>span>.skeleton:first-child{height:20px}.agency-loading-rows>span>.skeleton:last-child{width:72%}.agency-loading-rows>span:nth-child(2)>.skeleton:last-child{width:58%}.agency-loading-rows>span:nth-child(3)>.skeleton:last-child{width:80%}.agency-loading-rows>span:nth-child(4){opacity:.6}.agency-caption{color:var(--text-3);font-size:var(--type-sm);line-height:1.5}.agency-notice,.agency-error{border-radius:var(--group-radius);color:var(--text-2);background:color-mix(in srgb, var(--watch) 9%, transparent);font-size:var(--type-sm);overflow-wrap:anywhere;gap:4px;padding:10px 12px;display:grid}.agency-error{background:color-mix(in srgb, var(--alert) 9%, transparent)}:is(.agency-notice,.agency-error)>strong{color:var(--text-1);font-weight:600}:is(.agency-notice,.agency-error)>button{justify-self:start}.agency-empty{color:var(--text-3);text-align:center;justify-items:center;gap:6px;padding:40px 16px;display:grid}.agency-empty h2{color:var(--text-1);font-size:var(--type-lg);font-weight:600}.agency-text-button{color:var(--signal-text);font:500 var(--type-sm)/1.4 var(--font-ui);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.agency-text-button:hover:not(:disabled){text-underline-offset:2px;text-decoration:underline}.agency-button{height:var(--control-h);color:var(--text-1);background:var(--fill-2);font:500 var(--type-md)/1 var(--font-ui);cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.agency-button:hover:not(:disabled){background:var(--fill-3)}.agency-icon-button{width:26px;height:26px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:inline-grid}.agency-icon-button:hover:not(:disabled){color:var(--text-1);background:var(--fill-2)}:is(.agency-button,.agency-text-button,.agency-icon-button):disabled{opacity:.45;cursor:default}.network-timetable,.network-timetable .object-detail{gap:12px;min-width:0;display:grid}.network-timetable .object-detail-head{display:none}.network-service-date{gap:4px;min-width:0;display:grid}.network-service-date>label{color:var(--text-2);justify-content:space-between;align-items:center;gap:10px;display:flex}.network-service-date input{width:148px}.network-service-date>p{color:var(--text-3);font-size:var(--type-xs);margin:0}.network-service-date>p>button{font-size:var(--type-xs)}.temporal-canvas{border-radius:var(--group-radius);background:var(--ink-3);min-width:0;box-shadow:inset 0 0 0 1px var(--line-1);gap:8px;padding:10px;display:grid}.object-section-heading{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.object-section-heading>span{color:var(--text-1);font-size:var(--type-sm);align-items:center;gap:6px;font-weight:600;display:inline-flex}.object-section-heading>span>svg{color:var(--text-3)}.object-section-heading small{color:var(--text-3);font-size:var(--type-xs);font-variant-numeric:tabular-nums}.temporal-axis{height:14px;margin-left:104px;position:relative}.temporal-axis span{color:var(--text-4);font-variant-numeric:tabular-nums;font-size:10px;position:absolute;top:0}.temporal-rows{min-width:0;display:grid}.temporal-row{border:0;border-top:1px solid var(--line-1);width:100%;min-height:40px;color:var(--text-2);font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:8px;padding:4px 0;display:grid}.temporal-row:hover,.temporal-row.is-active{background:var(--fill-1)}.temporal-row-label{min-width:0;display:grid}.temporal-row-label strong{color:var(--text-1);font-size:var(--type-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.temporal-row-label small{color:var(--text-3);font-size:var(--type-xs);line-height:1.35}.temporal-track{background:repeating-linear-gradient(90deg, var(--fill-2) 0 calc(25% - 1px), var(--line-2) calc(25% - 1px) 25%);border-radius:999px;height:8px;position:relative}.temporal-track i{top:0;bottom:0;left:var(--pattern-left);width:var(--pattern-width);background:var(--pattern-color,var(--signal));border-radius:999px;position:absolute}.object-disclosure>summary>small{color:var(--text-3);font-size:var(--type-sm);margin-left:auto;font-weight:400}.object-disclosure>summary>svg{color:var(--text-3)}.gtfs-pattern-browser{min-width:0;display:grid}.gtfs-pattern-list{overscroll-behavior:contain;scrollbar-width:thin;gap:10px;max-height:300px;padding:0 0 10px 20px;display:grid;overflow:auto}.gtfs-direction-group{gap:4px;min-width:0;display:grid}.gtfs-direction-group h3{color:var(--text-3);font-size:var(--type-xs);margin:0;font-weight:600}.gtfs-pattern-choice{min-width:0;color:var(--text-2);background:var(--fill-1);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:8px;gap:2px;padding:7px 9px;display:grid}.gtfs-pattern-choice:hover{background:var(--fill-2)}.gtfs-pattern-choice.is-active{box-shadow:inset 0 0 0 1px var(--signal-line);background:var(--signal-soft)}.gtfs-pattern-choice-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.gtfs-pattern-choice-heading b{color:var(--text-1);font-size:var(--type-xs)}.gtfs-pattern-choice-heading small{color:var(--text-3);font-size:var(--type-xs);align-items:center;gap:4px;display:inline-flex}.gtfs-pattern-endpoints{font-size:var(--type-sm);overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;display:grid}.gtfs-pattern-endpoints strong{color:var(--text-1);font-weight:500}.gtfs-pattern-endpoints svg{color:var(--text-4)}.gtfs-pattern-facts{color:var(--text-3);font-size:var(--type-xs)}.gtfs-ordered-stops{overscroll-behavior:contain;scrollbar-width:thin;max-height:280px;margin:0 0 10px;padding:0;list-style:none;display:grid;overflow:auto}.gtfs-ordered-stops li{min-width:0}.gtfs-ordered-stops li:not(:has(>button)){grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;min-height:34px;display:grid}.network-stop-button{width:100%;min-height:34px;color:var(--text-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:22px minmax(0,1fr) 14px;align-items:center;gap:8px;padding:3px 6px 3px 0;display:grid}.network-stop-button:hover,.network-stop-button[aria-pressed=true]{background:var(--fill-1)}.network-stop-button:focus-visible{outline:2px solid var(--signal-text);outline-offset:-2px}.network-stop-button>svg{color:var(--text-4)}.gtfs-stop-number{width:20px;height:20px;color:var(--text-2);background:var(--fill-2);font-variant-numeric:tabular-nums;border-radius:50%;justify-self:center;place-items:center;font-size:10px;display:grid}.gtfs-stop-name{min-width:0;display:grid}.gtfs-stop-name strong{color:var(--text-1);font-size:var(--type-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.gtfs-stop-name small{color:var(--text-3);font-size:var(--type-xs)}.object-metric-grid{border-radius:var(--group-radius);background:var(--line-1);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 10px;display:grid;overflow:hidden}.object-metric-grid>div{background:var(--ink-3);gap:1px;padding:7px 10px;display:grid}.object-metric-grid dt{color:var(--text-3);font-size:var(--type-xs)}.object-metric-grid dd{color:var(--text-1);font-size:var(--type-sm);margin:0;font-weight:500}.lineage-stack,.object-lineage{gap:4px;margin-bottom:10px;display:grid}:is(.lineage-stack,.object-lineage)>button{color:var(--text-2);background:var(--fill-1);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:6px 9px;display:grid}:is(.lineage-stack,.object-lineage)>button:hover{background:var(--fill-2)}:is(.lineage-stack,.object-lineage)>button>span{min-width:0;display:grid}:is(.lineage-stack,.object-lineage) strong{color:var(--text-1);font-size:var(--type-sm);font-weight:500}:is(.lineage-stack,.object-lineage) small{color:var(--text-3);font-size:var(--type-xs);overflow-wrap:anywhere}.lineage-stack i{background:var(--text-4);border-radius:50%;width:6px;height:6px}.lineage-stack i.tone-fact{background:var(--good)}.lineage-stack i.tone-inference{background:var(--watch)}.lineage-stack i.tone-visual{background:var(--info)}.object-first-empty{color:var(--text-3);font-size:var(--type-sm);justify-items:start;gap:4px;display:grid}.object-first-empty strong{color:var(--text-1)}.object-first-empty p{margin:0}.route-surface>.service-toolbar{background:var(--ink-2);min-width:0;container:service-toolbar/inline-size}.route-surface>.service-toolbar:empty{display:none}@media (width>=900px){.app-shell.has-stage .route-surface{--map-inspector-bottom:calc(var(--service-toolbar-height,56px) + 28px)}.app-shell.has-stage .route-surface>.service-toolbar{z-index:15;bottom:14px;right:0;left:calc(var(--panel-width) + 2 * var(--stage-gutter));padding:0 var(--stage-gutter) 0 56px;pointer-events:none;background:0 0;justify-content:center;display:flex;position:absolute}.app-shell.has-stage .route-surface>.service-toolbar>*{pointer-events:auto}.app-shell.has-stage .route-surface>.service-toolbar>.service-state-panel{width:min(620px,100%);box-shadow:var(--elev-2);border-radius:12px}.app-shell.has-stage .route-surface>.service-toolbar>.service-state-panel.is-live{width:auto;max-width:100%}}.service-state-panel{min-width:0;color:var(--text-1);background:var(--material-strong);-webkit-backdrop-filter:var(--material-blur);font-size:var(--type-md);flex-wrap:wrap;align-items:center;gap:8px 10px;padding:7px 8px 7px 7px;display:flex}.service-mode-switch{flex:none}.service-mode-switch>button{padding:0 12px}.service-state-readout{flex:1 1 0;align-items:center;gap:7px;min-width:120px;display:flex}.service-state-readout>svg{color:var(--text-3);flex:none}.service-state-panel.is-live .service-state-readout>svg{color:var(--good)}.service-state-readout.tone-watch>svg{color:var(--watch)}.service-state-readout>strong{font-size:var(--type-md);flex:none;font-weight:600}.service-state-readout>small{min-width:0;color:var(--text-3);font-size:var(--type-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.service-state-panel .service-clock-input{width:3.3em;height:26px;color:var(--text-1);font:600 var(--type-lg)/1 var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:-.01em;background:0 0;border:0;border-radius:6px;flex:none;padding:0 2px}.service-state-panel .service-clock-input:hover{background:var(--fill-2)}.service-state-panel .service-clock-input:focus{outline:2px solid var(--signal-line);outline-offset:0;background:var(--fill-2)}.service-now-button{color:var(--signal-text);font:500 var(--type-xs) var(--font-ui);cursor:pointer;background:0 0;border:0;padding:0}.service-playback-toggle{width:28px;height:28px;color:var(--signal-ink);background:var(--signal);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.service-playback-toggle:hover{background:var(--signal-strong)}.service-playback-toggle>svg{margin-left:1px}:is(.service-playback-date,.service-playback-step){height:26px;color:var(--text-2);background:var(--fill-2);font:400 var(--type-sm)/1 var(--font-ui);font-variant-numeric:tabular-nums;border:0;border-radius:7px;flex:none;padding:0 8px}.service-playback-date{width:122px}.appearance-dark .service-playback-date::-webkit-calendar-picker-indicator{filter:invert(.85);opacity:.6}.service-playback-step{cursor:pointer;width:68px}.service-timeline{flex:100%;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:0 4px 2px;display:grid}.service-timeline>span{display:contents}.service-timeline>span>span{color:var(--text-3);font-size:var(--type-xs);font-variant-numeric:tabular-nums;grid-row:1}.service-timeline>span>span:first-child{grid-column:1}.service-timeline>span>span:last-child{grid-column:3}.service-playback-slider{appearance:none;cursor:pointer;background:0 0;grid-area:1/2;width:100%;height:16px;margin:0}.service-playback-slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--signal) var(--playback-progress), var(--fill-3) var(--playback-progress));border-radius:999px;height:4px}.service-playback-slider::-webkit-slider-thumb{appearance:none;background:#fff;border:0;border-radius:50%;width:14px;height:14px;margin-top:-5px;box-shadow:0 0 0 .5px #0003,0 1px 3px #00000059}.service-live-meta{color:var(--text-3);font-size:var(--type-xs);text-align:right;flex:none;justify-items:end;gap:1px;display:grid}.service-live-meta>span{color:var(--text-2);align-items:center;gap:5px;display:inline-flex}.service-live-meta i{background:var(--good);border-radius:50%;width:6px;height:6px}.service-live-meta .is-stale i{background:var(--watch)}.service-indicator-legend{flex:none;position:relative}.service-indicator-legend>summary{width:26px;height:26px;color:var(--text-3);cursor:pointer;border-radius:50%;place-items:center;list-style:none;display:grid}.service-indicator-legend>summary::-webkit-details-marker{display:none}.service-indicator-legend>summary:hover,.service-indicator-legend[open]>summary{color:var(--text-1);background:var(--fill-2)}.service-indicator-popover{width:min(360px,80vw);color:var(--text-2);background:var(--ink-3);box-shadow:var(--elev-3);font-size:var(--type-sm);border-radius:12px;padding:12px 14px;position:absolute;bottom:calc(100% + 12px);right:-6px}.service-indicator-popover p{margin:0 0 8px;line-height:1.5}.service-indicator-popover p:last-child{margin-bottom:0}.service-indicator-popover strong{color:var(--text-1);font-weight:600}@container service-toolbar (width<=520px){.service-state-panel.is-live .service-live-meta{text-align:left;flex-basis:100%;justify-items:start}.service-state-panel.is-schedule .service-state-readout{flex-basis:calc(100% - 200px)}}@media (width<=760px){.agency-panel{border-right:0}.agency-mobile-map-toggle{display:inline-grid}.agency-scroll{padding:10px 14px 18px}.agency-facts>div{grid-template-columns:96px minmax(0,1fr);gap:8px}.network-layers>select{height:34px}.network-layer-toggles>.kit-icon-button{width:36px;height:32px}.agency-route-row{min-height:56px}}@media (width<=420px){.agency-navigation .agency-live-indicator{display:none}}@media (prefers-reduced-motion:reduce){.agency-pulse-state.is-live>i{animation:none}.agency-panel *,.agency-panel :before,.agency-panel :after{scroll-behavior:auto;transition:none}}.sidebar-panel{min-width:0;min-height:0;color:var(--text-2);background:var(--ink-2);font-size:var(--type-md);flex-direction:column;line-height:1.4;display:flex;overflow:hidden}.page-project .sidebar-panel{border-right:1px solid var(--line-2)}.sidebar-panel>:is(.pathfinder-query,.reach-surface){overscroll-behavior:contain;scrollbar-width:thin;flex:auto;min-height:0;overflow:auto}.sidebar-panel :is(p,small){overflow-wrap:anywhere}@media (width>=900px){.app-shell.has-stage .sidebar-panel{margin:var(--stage-gutter) var(--stage-gutter) 0;flex:none}}@media (width<=760px){.sidebar-panel{border-right:0;height:100%;max-height:none}.app-shell.page-project:not(.project-empty):not(.view-data) .app-sidebar:has(.sidebar-panel.is-pathfinder){height:100%;max-height:none}}@media (width<=620px){.sidebar-panel{grid-area:1/1}}.pathfinder-query{flex-direction:column;padding-bottom:16px;display:flex}.pathfinder-composer{display:contents}.pathfinder-mode-switch{flex:auto}.pathfinder-mode-switch>button{padding:0 8px}.pathfinder-body{padding:12px var(--panel-pad) 0;gap:10px;display:grid}.pathfinder-outcome{padding:10px var(--panel-pad) 0;gap:10px;display:grid}.pathfinder-outcome:empty{display:none}.pathfinder-location-stack{position:relative}.pathfinder-location-field{grid-template-columns:24px minmax(0,1fr) auto;align-items:center;min-height:44px;padding:0 8px 0 6px;display:grid;position:relative}.pathfinder-location-field+.pathfinder-location-field:before{border-left:2px dotted var(--line-3);content:"";height:22px;position:absolute;top:-11px;left:17px}.pathfinder-location-mark{z-index:1;background:var(--ink-3);width:10px;height:10px;box-shadow:0 0 0 3px var(--ink-3);border-radius:50%;justify-self:center}.pathfinder-location-mark.is-origin{border:2.5px solid var(--signal)}.pathfinder-location-mark.is-destination{background:#5ec8ff}.pathfinder-location-mark.is-waypoint{background:var(--watch)}.pathfinder-location-field.is-picking{background:var(--signal-soft)}.pathfinder-location-stack>.pathfinder-location-field:first-child{border-radius:var(--group-radius) var(--group-radius) 0 0}.pathfinder-location-pin{color:var(--text-4)}.pathfinder-location-actions{opacity:0;transition:opacity var(--duration-base) var(--ease-standard);gap:1px;display:flex}.pathfinder-location-field:is(:hover,:focus-within) .pathfinder-location-actions{opacity:1}.pathfinder-location-actions button{width:22px;height:22px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.pathfinder-location-actions button:hover:not(:disabled){color:var(--text-1);background:var(--fill-2)}.pathfinder-location-actions button:disabled{opacity:.3;cursor:default}.pathfinder-stop-controls{align-items:center;gap:4px;min-height:34px;padding:0 4px 0 6px;display:flex}.pathfinder-add-stop,.pathfinder-map-pick{height:26px;color:var(--text-2);font:400 var(--type-md)/1 var(--font-ui);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:0 6px 0 4px;display:inline-flex}.pathfinder-add-stop>svg{width:14px;color:var(--text-3);margin-left:1px}.pathfinder-add-stop:hover:not(:disabled),.pathfinder-map-pick:hover{color:var(--text-1);background:var(--fill-2)}.pathfinder-add-stop:disabled{opacity:.4;cursor:default}.pathfinder-map-pick{color:var(--signal-text);font-weight:500}.pathfinder-swap{margin-left:auto}.pathfinder-points-hint{color:var(--signal-text);font-size:var(--type-sm);margin:-4px 2px 0}.routing-setup{border-radius:var(--group-radius);min-width:0;color:var(--text-1);background:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line-1);overflow:hidden;container:routing-setup/inline-size}.routing-setup [hidden]{display:none}.routing-setup-header{align-items:center;gap:6px;min-height:38px;padding:4px 6px 4px 10px;display:flex}.routing-setup-title{color:var(--text-2);flex:1;align-items:center;gap:7px;font-weight:500;display:flex}.routing-setup-title>svg{color:var(--text-3)}.routing-setup-fold{width:26px;height:26px;color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;padding:0;display:grid}.routing-setup-fold:hover{color:var(--text-1);background:var(--fill-2)}.routing-wheelchair[aria-pressed=true]{color:var(--signal-ink);background:var(--signal)}.routing-setup-fold>svg{transition:transform var(--duration-base) var(--ease-standard)}.routing-setup-fold[aria-expanded=true]>svg{transform:rotate(180deg)}.routing-setup-header+div>:first-child,.routing-setup-summary{border-top:1px solid var(--line-1)}.routing-setup-tabs{box-shadow:inset 0 -1px 0 var(--line-1);gap:18px;padding:0 10px;display:flex}.routing-setup-tabs>button{height:32px;color:var(--text-3);font:500 var(--type-sm)/1 var(--font-ui);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:inline-flex;position:relative}.routing-setup-tabs>button:hover,.routing-setup-tabs>button[aria-selected=true]{color:var(--text-1)}.routing-setup-tabs>button[aria-selected=true]:after{background:var(--signal);content:"";border-radius:2px;height:2px;position:absolute;bottom:0;left:0;right:0}.routing-setup-tabs>button:focus-visible{outline:2px solid var(--signal-text);outline-offset:2px}.routing-setup-time>button{padding:0 6px}.routing-setup-panel{align-content:start;gap:10px;min-width:0;padding:10px;display:grid}.routing-setup button:disabled{opacity:.4;cursor:not-allowed}.routing-setup-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:32px;display:flex}.routing-setup-toggle>span{gap:1px;min-width:0;display:grid}.routing-setup-toggle strong{color:var(--text-1);font-weight:500}.routing-setup-toggle small,.routing-setup-label,.routing-setup-input>span,.routing-setup-select>span{color:var(--text-3);font-size:var(--type-xs)}.routing-setup-datetime{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:8px;display:grid}.routing-setup-input,.routing-setup-select{gap:3px;min-width:0;display:grid}.routing-setup-input>input,.routing-setup-select>select{width:100%}.routing-setup-input.is-outside>input{box-shadow:inset 0 0 0 1px var(--watch)}.routing-setup-note{color:var(--text-3);font-size:var(--type-sm);margin:0;line-height:1.45}.routing-preference-section{gap:8px;min-width:0;display:grid}.routing-preference-section+.routing-preference-section{border-top:1px solid var(--line-1);padding-top:10px}.routing-setup-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.routing-setup-range-label{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.routing-setup-range-label>span{color:var(--text-2)}.routing-setup-range-label>strong{color:var(--text-1);font-variant-numeric:tabular-nums;font-weight:600}.routing-setup-range-label small{color:var(--text-3);font-weight:400}.routing-setup-range-scale{color:var(--text-4);font-size:var(--type-xs);justify-content:space-between;margin-top:-4px;display:flex}.routing-setup-summary{color:var(--text-3);font-size:var(--type-sm);gap:1px;padding:7px 10px;display:grid}.routing-setup-summary>strong{color:var(--text-1);font-weight:500}@container routing-setup (width<=300px){.routing-setup-datetime,.routing-setup-columns{grid-template-columns:minmax(0,1fr)}}.pathfinder-notice>span{gap:2px;min-width:0;display:grid}.pathfinder-notice>button,.pathfinder-date-options>button{color:var(--signal-text);font:500 var(--type-sm)/1.4 var(--font-ui);cursor:pointer;background:0 0;border:0;padding:0}.pathfinder-date-options{flex-wrap:wrap;gap:4px 12px;display:flex}.pathfinder-access-reason{grid-column:2}.pathfinder-results{gap:8px;min-width:0;display:grid}.pathfinder-results-head{justify-content:flex-start;align-items:center}.pathfinder-results-head>strong{color:var(--text-1)}.pathfinder-results-head>b{color:var(--text-3);margin-left:auto;font-weight:400}.pathfinder-route-list{gap:6px;min-width:0;display:grid}.pathfinder-journey-group{min-width:0;display:grid}.pathfinder-route-card{border-radius:var(--group-radius);width:100%;min-width:0;color:var(--text-2);background:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line-1);font:inherit;text-align:left;cursor:pointer;border:0;gap:5px;padding:9px 30px 9px 12px;display:grid;position:relative}.pathfinder-route-card:hover{box-shadow:inset 0 0 0 1px var(--line-3)}.pathfinder-route-card[aria-checked=true]{background:color-mix(in srgb, var(--signal) 6%, var(--ink-3));box-shadow:inset 0 0 0 1.5px var(--signal-line)}.pathfinder-route-card:focus-visible{outline:2px solid var(--signal-text);outline-offset:2px}.pathfinder-route-time{align-items:baseline;gap:8px;min-width:0;display:flex}.pathfinder-route-time>b{color:var(--text-1);font:650 17px/1.15 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.015em;flex:none}.pathfinder-route-time>b small{color:var(--text-2);font-size:var(--type-sm);letter-spacing:0;margin-left:1px;font-weight:500}.pathfinder-route-time>strong{min-width:0;color:var(--text-2);font-size:var(--type-md);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.pathfinder-route-open{color:var(--text-4);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.pathfinder-route-card:hover .pathfinder-route-open{color:var(--text-2)}.pathfinder-leg-strip{gap:7px;min-width:0;display:grid}.pathfinder-leg-steps{flex-wrap:wrap;align-items:center;gap:4px 2px;min-width:0;display:flex}.pathfinder-leg-step{flex:none;align-items:center;gap:2px;max-width:100%;display:inline-flex}.pathfinder-leg-sep{color:var(--text-4);flex:none}.pathfinder-leg-more{color:var(--text-2);letter-spacing:.04em;padding:0 4px;font-weight:600}.pathfinder-leg-badge{min-width:0;height:20px;color:var(--leg-text,var(--text-1));background:var(--leg-color,var(--fill-3));font:700 var(--type-xs)/20px var(--font-ui);text-overflow:ellipsis;white-space:nowrap;border-radius:5px;align-items:center;gap:3px;padding:0 6px 0 5px;display:inline-flex;overflow:hidden}.pathfinder-leg-badge>svg{flex:none}.pathfinder-leg-walk{color:var(--text-3);font-size:var(--type-xs);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:1px;display:inline-flex}.pathfinder-leg-walk>svg{width:12px}.pathfinder-leg-bar{border-radius:999px;gap:2px;height:4px;display:flex;overflow:hidden}.pathfinder-leg-segment{background:var(--leg-color,var(--text-3));border-radius:2px;min-width:2px}.pathfinder-leg-segment:is(.is-walk,.is-transfer){background:var(--fill-3)}.pathfinder-leg-segment.is-drive,.pathfinder-leg-segment.is-bike{background:var(--text-3)}.pathfinder-leg-segment.is-wait{background:repeating-linear-gradient(90deg, var(--fill-3) 0 3px, transparent 3px 5px)}.pathfinder-group-services{color:var(--text-1);font-size:var(--type-sm);font-weight:500}.pathfinder-route-footer{min-width:0;color:var(--text-3);font-size:var(--type-sm);flex-wrap:wrap;align-items:baseline;gap:0 6px;display:flex}.pathfinder-route-rationale{color:var(--text-2);font-weight:500}.pathfinder-route-list>:first-child .pathfinder-route-rationale,.pathfinder-route-card.is-recommended .pathfinder-route-rationale{color:var(--signal-text)}.pathfinder-route-metrics{gap:6px;display:inline-flex}.pathfinder-route-metrics>span{white-space:nowrap;align-items:baseline;gap:3px;display:inline-flex}.pathfinder-route-metrics>span:before,.pathfinder-route-sequence:before{color:var(--text-4);content:"·"}.pathfinder-route-metrics b{color:var(--text-2);font-weight:500}.pathfinder-route-sequence{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pathfinder-route-sequence:before{margin-right:6px}.pathfinder-group-departures{border-left:2px solid var(--line-2);margin:2px 6px 0;padding:4px 0 0 10px;display:grid}.pathfinder-group-departures button,.pathfinder-group-departures summary{min-height:28px;color:var(--text-2);font:400 var(--type-sm) var(--font-ui);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:0 6px;display:flex}.pathfinder-group-departures button:hover{background:var(--fill-1)}.pathfinder-group-departures button[aria-pressed=true]{color:var(--text-1);background:var(--fill-2)}.pathfinder-group-departures button>strong{font-weight:500}.pathfinder-group-departures button>span{color:var(--text-3);font-variant-numeric:tabular-nums}.pathfinder-group-departures summary{color:var(--text-3);list-style:none}.pathfinder-alternatives{color:var(--text-3);font-size:var(--type-sm);align-items:center;gap:8px;display:flex}.routing-detail-panel{z-index:70;top:var(--stage-gutter);right:var(--stage-gutter);bottom:var(--stage-gutter);width:var(--routing-detail-width);border-radius:var(--panel-radius);min-width:0;min-height:0;color:var(--text-2);background:var(--ink-2);box-shadow:var(--elev-2);font-size:var(--type-md);animation:stage-panel-in var(--duration-slow) var(--ease-emphasis) both;flex-direction:column;line-height:1.4;display:flex;position:absolute;overflow:hidden}.routing-detail-head{z-index:2;box-shadow:0 1px 0 var(--line-1);grid-template-columns:minmax(0,1fr) auto;gap:10px 8px;padding:12px 12px 12px 16px;display:grid;position:relative}.routing-detail-head :is(h2,p){margin:0}.routing-detail-title{gap:2px;min-width:0;display:grid}.journey-eyebrow{color:var(--text-3);font-size:var(--type-sm);font-weight:500}.routing-detail-time{flex-wrap:wrap;align-items:baseline;gap:0 10px;display:flex}.routing-detail-head h2{color:var(--text-1);font:650 var(--type-2xl)/1.1 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.routing-detail-head h2 small{color:var(--text-2);font-size:var(--type-lg);letter-spacing:-.01em;margin-left:2px;font-weight:500}.journey-time-range{color:var(--text-2);font-size:var(--type-md);font-variant-numeric:tabular-nums}.journey-time-range>span{color:var(--text-4)}.routing-detail-actions{gap:2px;margin:-2px -2px 0 0;display:flex}.routing-detail-close{background:var(--fill-2);border-radius:50%}.routing-detail-head>.pathfinder-leg-strip{grid-column:1/-1}.journey-overview{color:var(--text-3);font-size:var(--type-sm);grid-column:1/-1;margin-top:-2px}.routing-detail-scroll{overscroll-behavior:contain;scrollbar-width:thin;flex:auto;align-content:start;gap:12px;min-height:0;padding:14px 16px 18px 12px;display:grid;overflow-y:auto}.journey-itinerary{gap:10px;min-width:0;display:grid}.journey-start-wait{color:var(--text-2);background:var(--fill-2);font-size:var(--type-xs);border-radius:999px;justify-self:start;align-items:center;gap:5px;margin:0 0 0 52px;padding:3px 9px;display:inline-flex}.journey-timeline{margin:0;padding:0;list-style:none}.journey-leg,.journey-finish{--rail-center:61px;grid-template-columns:40px 20px minmax(0,1fr);align-items:start;column-gap:11px;min-width:0;display:grid;position:relative}.journey-leg:before{top:11px;bottom:-11px;left:calc(var(--rail-center) - 1px);border-left:2px dotted var(--line-3);content:"";position:absolute}.journey-leg.is-ride:before{left:calc(var(--rail-center) - 3px);background:var(--journey-line,var(--text-3));border:0;border-radius:3px;width:6px}.journey-leg.is-drive:before,.journey-leg.is-bike:before{left:calc(var(--rail-center) - 2px);background:var(--text-3);border:0;border-radius:2px;width:4px}.journey-clock{color:var(--text-2);font-size:var(--type-sm);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;grid-area:1/1;padding-top:1px}.journey-node-mark{z-index:1;border:2px solid var(--text-3);background:var(--ink-2);border-radius:50%;grid-area:1/2;justify-self:center;width:10px;height:10px;margin-top:4px;position:relative}.journey-leg.has-station .journey-node-mark{border:3.5px solid var(--journey-node);background:#fff;width:14px;height:14px;margin-top:2px}.journey-leg:first-child .journey-node-mark{border-color:var(--signal)}.journey-finish .journey-node-mark{border:3.5px solid var(--ink-2);background:#5ec8ff;width:14px;height:14px;margin-top:2px;box-shadow:0 0 0 1.5px #5ec8ff}.journey-leg.is-via{margin-top:12px}.journey-leg.is-via:after{border-top:1px solid var(--line-1);content:"";position:absolute;top:-7px;left:82px;right:0}.journey-leg:has(+.journey-leg.is-via):before{bottom:-23px}.journey-leg.is-via .journey-node-mark{border:3.5px solid var(--text-1);background:var(--ink-2);width:14px;height:14px;margin-top:2px}.journey-via-tag{color:var(--text-2);background:var(--fill-2);font-size:var(--type-xs);vertical-align:1px;white-space:nowrap;border-radius:999px;margin-left:8px;padding:1px 7px;font-weight:500}.journey-place{min-width:0;color:var(--text-1);overflow-wrap:anywhere;grid-area:1/3;font-weight:600;line-height:1.35}.journey-leg-body{grid-area:2/3;justify-items:start;gap:6px;min-width:0;padding:7px 0 16px;display:grid}.journey-leg.is-walk .journey-leg-body{padding-bottom:14px}.journey-leg.is-transfer .journey-leg-body{gap:2px;padding:4px 0 9px}.journey-leg .journey-transfer-note{font-size:var(--type-xs);margin:0}.journey-ride{justify-items:start;gap:4px;display:grid}.journey-route{max-width:100%;height:22px;color:var(--journey-ink,var(--text-1));background:var(--journey-line,var(--fill-3));font:700 var(--type-sm)/22px var(--font-ui);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:0 8px 0 6px;display:inline-flex;overflow:hidden}.journey-route>svg{flex:none}.journey-leg-meta{color:var(--text-3);font-size:var(--type-sm);overflow-wrap:anywhere}.journey-planned{color:var(--signal-text)}.journey-move{color:var(--text-2);font-size:var(--type-sm);flex-wrap:wrap;align-items:center;gap:2px 6px;margin:0;display:flex}.journey-move>svg{color:var(--text-3);flex:none}.journey-move>.journey-leg-meta:before{color:var(--text-4);content:"·";margin-right:6px}.journey-wait{color:var(--text-2);background:var(--fill-2);font-size:var(--type-xs);border-radius:999px;align-items:center;gap:5px;margin:0;padding:2px 8px;display:inline-flex}.journey-caution{color:var(--watch);font-size:var(--type-sm);margin:0}.journey-leg-evidence{color:var(--text-3);font-size:var(--type-sm)}.journey-leg-evidence>p{margin:4px 0 0;line-height:1.45}.journey-stops>ol{color:var(--text-2);gap:6px;margin:8px 0 0;padding-left:18px;display:grid}.journey-stops>ol>li{overflow-wrap:anywhere;padding-left:3px}.journey-stops>ol>li::marker{color:var(--text-3)}.journey-shared-services button{width:100%;color:var(--text-1);background:var(--fill-1);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:2px 8px;margin-top:6px;padding:7px 9px;display:flex}.journey-shared-services button:hover{background:var(--fill-2)}.journey-shared-services button>small{color:var(--text-3);flex-basis:100%}@media (width<=760px){.routing-detail-panel{width:min(360px,100% - 72px);top:8px;bottom:8px;right:8px}.pathfinder-location-actions{opacity:1}.pathfinder-location-field{min-height:52px}}@media (prefers-reduced-motion:reduce){.routing-setup-fold>svg,.pathfinder-location-actions{transition:none}}.journey-departure-times{color:var(--text-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 12px;margin:8px 0 4px;display:flex}.reach-analysis-switch>strong{margin-right:auto}.reach-analysis-switch>.reach-travel-mode{flex:0 132px}.reach-surface{flex-direction:column;display:flex}.reach-form{min-width:0;padding:12px var(--panel-pad) 0;gap:10px;display:grid}.reach-section-kicker{color:var(--text-3);font-size:var(--type-xs);font-weight:500}.reach-field{gap:3px;min-width:0;display:grid}.reach-field>span{color:var(--text-3);font-size:var(--type-xs)}.reach-field>:is(input,select){width:100%}.reach-field>small{color:var(--text-3);font-size:var(--type-xs);font-weight:400;line-height:1.4}.reach-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.reach-query-card{overflow:hidden}.reach-origin-row{grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:2px;min-height:46px;padding:0 6px;display:grid}.reach-origin-icon{border:2.5px solid var(--signal);border-radius:50%;justify-self:center;width:10px;height:10px}.reach-origin-row.is-empty .reach-origin-icon{border-color:var(--text-4)}.reach-origin-row.is-destination .reach-origin-icon{background:#5ec8ff;border:0}.reach-origin-row.is-destination.is-empty .reach-origin-icon{background:var(--text-4)}.reach-time-preference{margin:8px 10px 0}.reach-origin-row>div{gap:1px;min-width:0;padding:0 4px;display:grid}.reach-origin-row strong{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.reach-origin-row .reach-section-kicker{gap:6px;min-width:0;font-weight:400;display:flex}.reach-origin-coordinate{color:var(--text-4);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reach-origin-row.is-empty strong{color:var(--text-3);font-weight:400}.reach-query-fields{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:8px;padding:8px 10px 10px;display:grid}.reach-settings-list{gap:10px;min-width:0;display:grid}.reach-settings-list>small{color:var(--text-3);font-size:var(--type-sm);font-weight:400;line-height:1.45}.reach-time-budget{border-radius:var(--group-radius);background:var(--ink-3);min-width:0;box-shadow:inset 0 0 0 1px var(--line-1);gap:8px;padding:10px;display:grid}.reach-number-field{gap:3px;min-width:0;display:grid}.reach-number-field>small{color:var(--text-3);font-size:var(--type-xs);font-weight:400;line-height:1.4}.reach-setting-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.reach-setting-row>span:first-child{color:var(--text-2);font-size:var(--type-md)}.reach-number-input{border-radius:var(--control-radius,8px);background:var(--fill-2);flex:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;width:108px;padding-right:10px;display:grid}.reach-number-input>input{text-align:right;background:0 0;width:100%;min-width:0;padding-right:0}.reach-number-input>span{white-space:nowrap;color:var(--text-3);font-size:var(--type-sm);pointer-events:none}.reach-time-budget .reach-number-input{width:118px}.reach-time-budget .reach-number-input>input{height:30px;font-size:var(--type-lg);font-weight:600}.reach-budget-presets>button{font-variant-numeric:tabular-nums;padding:0 4px}.reach-walking-settings{gap:10px;padding:2px 2px 10px 20px;display:grid}.reach-setting-method>select{width:100%}.reach-mini-action{min-height:26px;color:var(--text-1);background:var(--fill-2);font:500 var(--type-sm)/1 var(--font-ui);cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 9px;display:inline-flex}.reach-mini-action:hover:not(:disabled){background:var(--fill-3)}.reach-mini-action:disabled{opacity:.4;cursor:default}.reach-check{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.reach-check>input{accent-color:var(--signal);margin:2px 0 0}.reach-check>span{gap:1px;display:grid}.reach-check strong{color:var(--text-1);font-weight:500}.reach-check small{color:var(--text-3);font-size:var(--type-xs)}.reach-run-block{z-index:2;margin:0 calc(-1 * var(--panel-pad));padding:10px var(--panel-pad) 12px;background:var(--ink-2);box-shadow:0 -1px 0 var(--line-1);gap:6px;display:grid;position:sticky;bottom:0}.reach-run-hint{color:var(--text-3);font-size:var(--type-sm);text-align:center}.reach-inline-note{color:var(--text-3);font-size:var(--type-sm);margin:0;line-height:1.45}.reach-inline-note.is-error{color:var(--alert)}.reach-form>.reach-inline-note{margin-top:-4px;padding-bottom:10px}.reach-results{min-width:0;padding:12px var(--panel-pad) 16px;border-top:1px solid var(--line-1);gap:10px;display:grid}.reach-results-heading{justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex}.reach-results-heading>div:first-child{gap:1px;min-width:0;display:grid}.reach-results-tools{flex:none;align-items:center;gap:4px;display:flex}.reach-render-mode{flex:none}.reach-render-mode>button{width:30px;padding:0}.reach-results-heading strong{color:var(--text-1);font-size:var(--type-lg);letter-spacing:-.01em;font-weight:600}.reach-results-heading small{color:var(--text-3);font-size:var(--type-sm);font-variant-numeric:tabular-nums}.reach-surface-legend{border-radius:var(--group-radius);background:var(--ink-3);min-width:0;box-shadow:inset 0 0 0 1px var(--line-1);gap:8px;padding:10px;display:grid}.reach-surface-legend-head{gap:1px;display:grid}.reach-surface-legend-head>strong{color:var(--text-1);font-size:var(--type-sm);font-weight:600}.reach-surface-legend-head>small{color:var(--text-3);font-size:var(--type-xs)}.reach-band-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.reach-band-list>li{font-size:var(--type-sm);grid-template-columns:62px minmax(0,1fr) 64px;align-items:center;gap:8px;display:grid}.reach-band-label{color:var(--text-2);font-variant-numeric:tabular-nums}.reach-band-bar{background:var(--fill-1);border-radius:3px;height:8px;position:relative;overflow:hidden}.reach-band-bar:before{width:var(--reach-band-share);border-radius:inherit;background:var(--reach-band);content:"";position:absolute;inset:0 auto 0 0}.reach-band-list b{color:var(--text-1);font-variant-numeric:tabular-nums;text-align:right;font-weight:500}.reach-surface-legend-bar{border-radius:4px;height:8px}.reach-surface-legend-scale{color:var(--text-3);font-size:var(--type-xs);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}.reach-metric-grid{border-radius:var(--group-radius);background:var(--line-1);min-width:0;box-shadow:inset 0 0 0 1px var(--line-1);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.reach-metric-grid>.result-metric{background:var(--ink-3);padding:9px 10px 8px}.result-metric{gap:1px;min-width:0;display:grid}.result-metric>:is(strong,span,small){text-overflow:ellipsis;min-width:0;overflow:hidden}.result-metric>strong{color:var(--text-1);font:600 var(--type-xl)/1.15 var(--font-display);letter-spacing:-.02em;white-space:nowrap}.result-metric>span{color:var(--text-3);font-size:var(--type-xs)}.result-metric>small{color:var(--text-4);font-size:var(--type-xs)}.reach-result-flow{border-radius:var(--group-radius);background:var(--fill-1);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px;display:flex}.reach-result-flow>span{gap:1px;display:grid}.reach-result-flow b{color:var(--text-1);font-variant-numeric:tabular-nums;font-weight:600}.reach-result-flow small{color:var(--text-3);font-size:var(--type-xs)}.reach-result-flow>.is-gain b{color:var(--good)}.reach-result-flow>svg{color:var(--text-4)}.reach-scenario-difference{color:var(--text-2);font-size:var(--type-sm);margin:0}.reach-point-inspector{z-index:8;top:var(--stage-gutter);right:var(--stage-gutter);width:min(340px,100% - 76px);max-height:calc(100% - var(--map-inspector-bottom,60px));border-radius:var(--panel-radius);min-height:0;color:var(--text-2);background:var(--ink-2);box-shadow:var(--elev-2);font-size:var(--type-md);flex-direction:column;line-height:1.4;display:flex;position:absolute;overflow:hidden}.reach-point-inspector>header{box-shadow:0 1px 0 var(--line-1);justify-content:space-between;align-items:flex-start;gap:8px;padding:12px 12px 12px 16px;display:flex}.reach-point-inspector>header>div{gap:1px;min-width:0;display:grid}.reach-point-inspector>header span{color:var(--text-3);font-size:var(--type-sm);font-weight:500}.reach-point-inspector h2{color:var(--text-1);font-size:var(--type-lg);letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-weight:600}.reach-point-inspector>header small{color:var(--text-4);font-size:var(--type-xs);font-variant-numeric:tabular-nums}.reach-point-inspector .icon-button{width:var(--control-h);height:var(--control-h);color:var(--text-2);background:var(--fill-2);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.reach-point-inspector .icon-button:hover{color:var(--text-1);background:var(--fill-3)}.reach-point-scroll{overscroll-behavior:contain;scrollbar-width:thin;align-content:start;gap:12px;min-height:0;padding:14px 16px 18px;display:grid;overflow-y:auto}.reach-point-time{justify-items:start;gap:2px;display:grid}.reach-point-time>strong{color:var(--text-1);font:650 var(--type-2xl)/1.1 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.reach-point-time>span{color:var(--text-2);font-size:var(--type-sm);font-variant-numeric:tabular-nums}.reach-point-time>span:first-child{color:var(--text-3)}.reach-point-budget{font-size:var(--type-xs);border-radius:999px;margin-top:6px;padding:2px 9px;font-style:normal;font-weight:600}.reach-point-budget[data-tone=good]{color:var(--good);background:color-mix(in srgb, var(--good) 13%, transparent)}.reach-point-budget[data-tone=watch]{color:var(--watch);background:color-mix(in srgb, var(--watch) 13%, transparent)}.reach-point-context,.reach-point-note{color:var(--text-3);font-size:var(--type-sm);margin:0;line-height:1.45}.reach-point-estimates{border-radius:var(--group-radius);background:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line-1);font-size:var(--type-sm);margin:0;display:grid;overflow:hidden}.reach-point-estimates>div{flex-wrap:wrap;justify-content:space-between;gap:2px 10px;padding:8px 10px;display:flex}.reach-point-estimates>div+div{border-top:1px solid var(--line-1)}.reach-point-estimates dt{color:var(--text-2)}.reach-point-estimates dd{color:var(--text-1);font-variant-numeric:tabular-nums;margin:0}.reach-point-journey{gap:10px;display:grid}.reach-point-journey>summary{color:var(--text-2);font-size:var(--type-sm);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;font-weight:600;list-style:none;display:flex}.reach-point-journey>summary::-webkit-details-marker{display:none}.reach-point-journey>summary>svg{color:var(--text-3);transition:transform var(--duration-base) var(--ease-standard)}.reach-point-journey[open]>summary>svg{transform:rotate(90deg)}@media (width<=760px){.reach-point-inspector{width:min(340px,100% - 16px);top:8px;right:8px}.reach-number-input>input{height:36px}}@media (prefers-reduced-motion:reduce){.reach-point-journey>summary>svg{transition:none}}.scenario-workspace{flex-direction:column;flex:auto;min-height:0;display:flex}.scenario-head{flex:none;align-items:center;gap:8px;display:flex;position:relative}.scenario-head>strong{color:var(--text-1);font:600 var(--type-lg)/1.2 var(--font-ui);letter-spacing:-.01em}.scenario-save-state{color:var(--text-3);font-size:var(--type-xs);align-items:center;margin-left:auto;display:inline-flex}.scenario-save-state[data-state=error],.scenario-save-state[data-state=unavailable]{color:var(--alert)}.scenario-body{min-height:0;padding:12px var(--panel-pad) 16px;overscroll-behavior:contain;scrollbar-width:thin;flex:auto;align-content:start;display:grid;overflow-y:auto}.scenario-detail{gap:18px;min-width:0;display:grid}.scenario-section{gap:8px;min-width:0;display:grid}.scenario-section-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.scenario-hint{color:var(--text-3);font-size:var(--type-xs);margin:0;line-height:1.5}.scenario-switcher{display:grid}.scenario-switcher-row{align-items:center;gap:2px;padding:6px 6px 6px 4px;display:flex}.sidebar-panel .scenario-switcher-row>select{height:32px;color:var(--text-1);font:600 var(--type-lg)/1.2 var(--font-ui);letter-spacing:-.01em;background-color:#0000;flex:auto}.sidebar-panel .scenario-switcher-row>select:hover:not(:disabled){background-color:var(--fill-2)}.scenario-name-row{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:8px;min-height:38px;padding:0 6px 0 12px;display:grid}.scenario-name-row>span{color:var(--text-3);font-size:var(--type-sm)}.sidebar-panel .scenario-name-row>input{background:0 0;width:100%}.sidebar-panel .scenario-name-row>input:is(:hover,:focus){background:var(--fill-2)}.scenario-switcher-summary{color:var(--text-3);font-size:var(--type-xs);padding:7px 12px 8px}.scenario-network-settings{border-radius:var(--group-radius);background:var(--ink-3);min-width:0;box-shadow:inset 0 0 0 1px var(--line-1);border:0;margin:0;padding:0;display:grid;position:relative;overflow:hidden}.scenario-network-settings legend{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.scenario-network-settings label{min-height:38px;color:var(--text-1);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:0 10px 0 12px;display:flex}.scenario-network-settings label>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.scenario-network-settings label+label{border-top:1px solid var(--line-1)}.scenario-network-settings label:hover{background:var(--fill-1)}.app-shell .scenario-network-settings input[role=switch]:disabled:checked{opacity:.6}.scenario-network-settings p{color:var(--text-3);font-size:var(--type-xs);margin:0;padding:8px 12px;line-height:1.45}.scenario-add-trigger{height:26px;font-size:var(--type-sm);padding:0 10px 0 8px}.scenario-add-menu{min-width:236px}.scenario-add-menu>button>strong{align-items:center;gap:7px;display:inline-flex}.scenario-add-menu>button>small{padding-left:21px}.scenario-changes{border-radius:var(--group-radius);background:var(--ink-3);box-shadow:inset 0 0 0 1px var(--line-1);display:grid;overflow:hidden}.scenario-change{min-width:0}.scenario-change+.scenario-change{border-top:1px solid var(--line-1)}.scenario-change.is-active{background:var(--fill-1);box-shadow:inset 2px 0 0 var(--signal)}.scenario-change-row{align-items:center;gap:2px;padding-right:6px;display:flex}.scenario-change-head{min-width:0;min-height:46px;color:var(--text-1);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:0 9px;padding:6px 4px 6px 10px;display:grid}.scenario-change-head:focus-visible{outline:2px solid var(--signal-text);outline-offset:-2px}.scenario-change-icon{width:26px;height:26px;color:var(--text-2);background:var(--fill-2);border-radius:7px;grid-row:span 2;place-items:center;display:grid}.scenario-change.is-active .scenario-change-icon{color:var(--signal-text);background:var(--signal-soft)}.scenario-change-head>strong{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.scenario-change-head>small{color:var(--text-3);font-size:var(--type-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scenario-change-remove{color:var(--text-3);opacity:0;transition:opacity var(--duration-base) var(--ease-standard)}.scenario-change-row:is(:hover,:focus-within) .scenario-change-remove{opacity:1}.scenario-change-remove:hover:not(:disabled){color:var(--alert)}.scenario-empty{border-radius:var(--group-radius);color:var(--text-3);background:var(--fill-1);font-size:var(--type-sm);text-align:center;margin:0;padding:16px 14px;line-height:1.5}.scenario-change-editor{gap:8px;min-width:0;padding:2px 10px 10px;display:grid}.sidebar-panel .scenario-change-name{background:0 0;width:calc(100% + 8px);margin-left:-8px;font-weight:500}.sidebar-panel .scenario-change-name:is(:hover,:focus){background:var(--fill-2)}.scenario-alignment>button{gap:6px}.scenario-alignment>button>svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:11px}.scenario-path-trace{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 10px;display:flex}.scenario-path-status{color:var(--text-3);font-size:var(--type-xs);align-items:center;gap:6px;margin:0;line-height:1.45;display:inline-flex}.scenario-path-status.is-ready{color:var(--text-2)}.scenario-path-status.is-error{color:var(--alert)}.scenario-timing,.scenario-timetables{grid-column:1/-1;gap:10px;min-width:0;display:grid}.scenario-timetable-row{border:1px solid var(--line-1);border-radius:8px;gap:8px;min-width:0;margin:0;padding:10px;display:grid}.scenario-timetable-row legend{color:var(--text-2);font-size:var(--type-sm);padding:0 4px}.scenario-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.scenario-weekdays button{border:1px solid var(--line-1);background:var(--fill-1);min-width:0;color:var(--text-2);font-size:var(--type-xs);cursor:pointer;border-radius:5px;padding:6px 0}.scenario-weekdays button[aria-pressed=true]{background:var(--signal-soft);color:var(--text-1);border-color:var(--signal)}.scenario-weekdays button:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.scenario-stops{gap:8px;min-width:0;display:grid}.scenario-stops-head{align-items:center;gap:4px;min-width:0;display:flex}.scenario-stops-head>span{min-width:0;color:var(--text-2);font-size:var(--type-sm);flex:1;align-items:center;gap:6px;display:inline-flex}.scenario-stops-head>span>svg{color:var(--text-3)}.scenario-stops-head strong{font-weight:500}.scenario-draw-button{height:26px;font-size:var(--type-sm);padding:0 10px}.scenario-placing{color:var(--text-2);background:var(--fill-1);font-size:var(--type-xs);border-radius:8px;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 6px 6px 10px;display:grid}.scenario-placing>svg{color:var(--signal-text)}.scenario-stop-list{background:var(--fill-1);scrollbar-width:thin;border-radius:8px;max-height:192px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.scenario-stop-list>li{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px;height:32px;min-height:32px;padding:3px 6px 3px 10px;display:grid;position:relative}.scenario-stop-list>li+li{border-top:1px solid var(--line-1)}.scenario-stop-list>li.is-placing{background:var(--signal-soft)}.scenario-stop-list .kit-icon-button{width:24px;height:24px}.scenario-stop-name{min-width:0;display:grid}.scenario-stop-name>strong{color:var(--text-1);font-size:var(--type-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:1.4;overflow:hidden}.scenario-service,.scenario-route-picker{gap:8px;min-width:0;display:grid}.scenario-route-picker>:is(input,select){width:100%}.scenario-route-picker>small{color:var(--text-3);font-size:var(--type-xs);align-items:center;gap:5px;line-height:1.45;display:inline-flex}.scenario-route-picker>small.is-error{color:var(--alert)}.scenario-foot{padding:10px var(--panel-pad) 12px;background:var(--ink-2);box-shadow:0 -1px 0 var(--line-1);grid-template-columns:1fr 1.4fr;gap:8px;display:grid}.scenario-foot>.kit-button{height:34px}.scenario-picker{border-radius:var(--group-radius);background:var(--ink-3);min-width:0;box-shadow:inset 0 0 0 1px var(--line-1);gap:2px;padding:6px 10px 7px;display:grid}.scenario-picker-row{min-width:0;color:var(--text-3);font-size:var(--type-sm);grid-template-columns:14px auto minmax(0,1fr);align-items:center;gap:7px;display:grid}.sidebar-panel .scenario-picker-row>select{width:100%;color:var(--text-1);background-color:#0000;padding-left:4px;font-weight:500}.sidebar-panel .scenario-picker-row>select:hover:not(:disabled){background-color:var(--fill-2)}.scenario-picker-meta{justify-content:space-between;align-items:center;gap:8px;padding-left:21px;display:flex}.scenario-picker-meta>small{min-width:0;color:var(--text-3);font-size:var(--type-xs)}.scenario-picker-meta>.kit-text-button{flex:none;align-items:center;gap:4px;display:inline-flex}.routing-setup>div>.scenario-picker{margin:0 8px 8px}.routing-setup-note.is-error{color:var(--alert);margin:0 10px 8px}:is(.scenario-drawing-bar,.scenario-line-card){z-index:9;top:var(--stage-gutter);color:var(--text-1);background:var(--material-strong);box-shadow:var(--elev-2);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);animation:scenario-overlay-in var(--duration-base) var(--ease-standard);position:absolute;left:50%;transform:translate(-50%)}.scenario-drawing-bar{border-radius:999px;align-items:center;gap:10px;max-width:min(520px,100% - 32px);padding:6px 6px 6px 14px;display:flex}.scenario-drawing-dot{background:var(--signal);width:8px;height:8px;box-shadow:0 0 0 3px var(--signal-soft);border-radius:50%;flex:none}.scenario-drawing-text{min-width:0;line-height:1.25;display:grid}.scenario-drawing-text>strong{font-size:var(--type-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.scenario-drawing-text>small{color:var(--text-2);font-size:var(--type-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scenario-drawing-bar>.kit-button{border-radius:999px;flex:none}.scenario-line-card{border-radius:var(--panel-radius);gap:10px;width:min(340px,100% - 32px);padding:10px;display:grid}.scenario-line-card>header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.scenario-line-badge{min-width:30px;height:22px;font:700 var(--type-xs)/1 var(--font-ui);border-radius:6px;place-items:center;padding:0 6px;display:grid}.scenario-line-name{min-width:0;display:grid}.scenario-line-name>strong{font-size:var(--type-md);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.scenario-line-name>small{color:var(--text-3);font-size:var(--type-xs)}.scenario-line-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.scenario-line-actions>.kit-button{font-size:var(--type-sm);padding:0 6px}@keyframes scenario-overlay-in{0%{opacity:0;transform:translate(-50%,-4px)}}@media (width>=900px){.app-shell.has-stage :is(.scenario-drawing-bar,.scenario-line-card){left:calc(50% + (var(--panel-width) + var(--rail-width)) / 2)}}@media (prefers-reduced-motion:reduce){.scenario-change-remove{transition:none}:is(.scenario-drawing-bar,.scenario-line-card){animation:none}}.scenario-stop-action{opacity:0;pointer-events:none}.scenario-stop-list>li:is(:hover,:focus-within,.is-placing) .scenario-stop-action{opacity:1;pointer-events:auto}.scenario-stop-insert{z-index:2;border:1px solid var(--line-1);height:18px;color:var(--text-3);background:var(--ink-2);font:inherit;font-size:var(--type-2xs);cursor:pointer;opacity:0;border-radius:9px;justify-content:center;align-items:center;gap:3px;padding:0 6px;display:flex;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)}.scenario-stop-list>li:is(:hover,:focus-within) .scenario-stop-insert,.scenario-stop-insert[aria-pressed=true]{opacity:1}.scenario-stop-insert:is(:hover,:focus-visible,[aria-pressed=true]){color:var(--signal-text);background:var(--signal-soft)}.scenario-stop-insert:focus-visible{outline:2px solid var(--signal-text);outline-offset:-2px}.scenario-stops-head{flex-wrap:wrap}@media (hover:none){.scenario-stop-action,.scenario-change-remove,.scenario-stop-insert{opacity:1;pointer-events:auto}}.scenario-change-library{background:var(--fill-1);border-radius:8px}.scenario-change-library>summary{min-height:30px;color:var(--text-2);font-size:var(--type-sm);cursor:pointer;align-items:center;gap:6px;padding:0 10px;display:flex}.scenario-change-library>summary:before{content:"›";transition:transform var(--duration-base)}.scenario-change-library[open]>summary:before{transform:rotate(90deg)}.scenario-change-library>summary>span{color:var(--text-3);font-size:var(--type-xs);margin-left:auto}.scenario-library-list{max-height:240px;overflow-y:auto}.scenario-library-row{border-top:1px solid var(--line-1);align-items:center;gap:4px;min-height:40px;padding:3px 6px 3px 10px;display:flex}.scenario-library-row>label{cursor:pointer;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.scenario-library-row>label>span{min-width:0;display:grid}.scenario-library-row strong{font-size:var(--type-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.scenario-library-row small{color:var(--text-3);font-size:var(--type-2xs)}.scenario-library-delete{opacity:0}.scenario-library-row:is(:hover,:focus-within) .scenario-library-delete{opacity:1}.scenario-shared-note{color:var(--text-3);font-size:var(--type-2xs);margin:0;padding:0 10px 6px}@media (hover:none){.scenario-library-delete{opacity:1}}.scenario-stop-list>li[draggable=true]{cursor:grab;grid-template-columns:minmax(0,1fr)}.scenario-stop-list>li[draggable=true]:active{cursor:grabbing}.scenario-stop-list{scroll-snap-type:y proximity}.scenario-stop-list>li{scroll-snap-align:start}.scenario-service{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.scenario-service>:is(.reach-field-grid,.reach-check,.reach-field){grid-column:1/-1}.scenario-service .reach-setting-row{gap:3px;display:grid}.scenario-service .reach-setting-row>span:first-child{font-size:var(--type-xs);color:var(--text-3)}.scenario-service .reach-number-input{width:100%}.scenario-service :is(.reach-number-input>input,select){height:28px}.scenario-service .reach-check{min-height:28px;margin:0;padding:2px 0}.scenario-stop-list>li[draggable=true] .scenario-stop-action{position:absolute}.scenario-stop-list>li[draggable=true] .scenario-stop-action:first-of-type{right:78px}.scenario-stop-list>li[draggable=true] .scenario-stop-action:nth-of-type(2){right:54px}.scenario-stop-list>li[draggable=true] .scenario-stop-action:nth-of-type(3){right:30px}.scenario-stop-list>li[draggable=true] .scenario-stop-action:nth-of-type(4){right:6px}.scenario-stop-list>li[draggable=true]:is(:hover,:focus-within) .scenario-stop-name{padding-right:100px}.scenario-stop-list .scenario-stop-action:disabled{opacity:0}.scenario-stop-list>li:is(:hover,:focus-within) .scenario-stop-action:disabled{opacity:.35}@media (hover:none){.scenario-stop-list>li[draggable=true] .scenario-stop-name{padding-right:100px}.scenario-stop-list .scenario-stop-action:disabled{opacity:.35}}.public-app{--topbar-height:48px}.app-shell.public-app.page-project .topbar{height:48px;min-height:48px;padding:2px max(12px, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) auto;gap:8px}.public-app .topbar-crumb{display:none}.public-app .topbar-brand{gap:8px;width:auto;min-width:0}.public-app .topbar-brand-copy{flex:1;min-width:0;display:block}.public-app .topbar-mark-button{width:32px;min-width:32px;height:44px}.public-app .topbar-actions{gap:0;display:flex}.public-city-picker{min-width:0;display:block}.public-city-picker select{width:100%;min-width:0;max-width:260px;height:44px;color:var(--text-1);font:600 14px/1.3 var(--font-ui);cursor:pointer;background:0 0;border:0;padding:0 20px 0 0}.public-theme-toggle,.public-site-link{width:44px;height:44px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.public-app .app-sidebar{grid-template-columns:minmax(0,1fr)}.route-address{flex:1;min-width:0;padding-block:6px}.route-address>label{color:var(--text-3);font-size:11px}.route-address-entry{align-items:center;min-width:0;display:flex}.route-address-entry input{outline-offset:2px;width:100%;min-width:0;color:var(--text-1);background:0 0;border:0;border-radius:3px;padding:8px 0;font-size:14px}.route-address-entry button{min-height:40px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:0 0 32px;place-items:center;display:grid}.route-address-entry button:disabled{opacity:.4;cursor:default}.route-address>small{padding:4px 0;font-size:12px;display:block}.route-address ul{border:1px solid var(--line-2);border-radius:6px;margin:6px 0 0;padding:0;list-style:none;overflow:hidden}.route-address li button{border:0;border-bottom:1px solid var(--line-1);text-align:left;width:100%;min-height:48px;color:var(--text-1);background:var(--ink-2);cursor:pointer;gap:4px;padding:10px;display:grid}.route-address li[aria-selected=true] button,.route-address li button:hover{background:var(--signal-soft)}.route-address li small{color:var(--text-3);font-size:12px}.address-attribution{color:var(--text-3);padding:6px 10px;font-size:10px}.public-app .route-address{grid-template-columns:32px minmax(0,1fr);align-items:center;padding-block:0;display:grid}.public-app .route-address>small,.public-app .route-address>ul{grid-column:1/-1}.public-app .pathfinder-location-field{grid-template-columns:minmax(0,1fr);min-height:44px;padding:0 10px}.public-app .pathfinder-location-mark{display:none}.public-app .pathfinder-setup-head{border:0;min-height:44px;padding:0 12px;position:static}.public-app .pathfinder-mode-switch{background:0 0;border:0;flex:1;gap:2px}.public-app .pathfinder-mode-switch button{border-radius:6px;flex:1;min-width:0;min-height:40px;font-size:13px}.public-app .pathfinder-body{gap:8px;padding:6px 12px 10px}.public-app .routing-setup{background:0 0;border:0;border-radius:0}.public-app .routing-setup-header{min-height:36px;padding:0}.public-app .routing-setup-title{font-size:12px;font-weight:500}.public-app .pathfinder-directions-button{background:var(--text-1);min-height:40px;color:var(--ink-1);border-color:var(--text-1);border-radius:6px}.public-app .pathfinder-notice{box-shadow:none;background:0 0;border:0;border-radius:0;padding:8px 12px}.public-app .pathfinder-notice strong{font-size:13px}.public-app .pathfinder-notice small{font-size:12px;line-height:1.4}@media (width<=960px){.public-app{--mobile-nav-height:0px;--public-panel-height:min(36dvh, 310px);height:100dvh;min-height:0}.public-app.page-project:not(.project-empty):not(.view-data) .shell-body,.public-app.page-project.routing-detail-open:not(.project-empty):not(.view-data) .shell-body{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:0;padding:0;display:grid;position:relative}.public-app.page-project:not(.project-empty) .app-frame{grid-area:1/1;min-height:0}.public-app .route-investigation-shell{grid-template-rows:minmax(0,1fr);gap:0;min-height:0;padding:0;display:grid;overflow:hidden}.public-app .route-surface{border:0;border-radius:0;flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.public-app .route-map-shell{border-radius:0;flex:1;height:100%;min-height:0}:is(.public-app.page-project:not(.project-empty):not(.view-data) .app-sidebar,.public-app.page-project:not(.project-empty):not(.view-data) .app-sidebar:has(.sidebar-panel.is-pathfinder)){z-index:40;width:100%;height:auto;max-height:var(--public-panel-height);border:0;border-top:1px solid var(--line-2);background:var(--ink-2);padding-bottom:env(safe-area-inset-bottom,0px);border-radius:0;flex-direction:column;grid-area:2/1;align-self:end;display:flex;position:relative;inset:auto;overflow:hidden}.public-app .sidebar-panel[data-mobile-expanded=true]{border:0;flex:1;height:auto;min-height:0}.public-app.routing-detail-open .app-sidebar{display:none!important}.public-app .routing-detail-panel{width:100%;height:min(32dvh,280px);padding-bottom:env(safe-area-inset-bottom,0px);border-radius:0;grid-area:2/1;animation:none;position:relative;inset:auto}.public-app .pathfinder-query{padding-bottom:6px}.public-app .pathfinder-query[data-has-results=true] .pathfinder-composer{display:contents}.public-app .pathfinder-query[data-has-results=true] .pathfinder-setup-head{order:0}.public-app .pathfinder-query[data-has-results=true] .pathfinder-outcome{order:1;gap:4px;padding:4px 10px}.public-app .pathfinder-query[data-has-results=true] .pathfinder-body{order:2}.public-app .pathfinder-route-card{gap:4px;padding:8px 10px}.public-app .pathfinder-results{gap:6px}.public-app .pathfinder-choice-sort button{min-height:36px;padding:4px 8px}.public-app .routing-detail-head{gap:4px 8px;padding:6px 12px}.public-app .routing-detail-head>.pathfinder-leg-strip{display:none}.public-app .routing-detail-scroll{gap:6px;padding:8px 12px 12px}.public-app .journey-itinerary{gap:6px}.public-app .journey-leg,.public-app .journey-finish{--rail-center:50px;grid-template-columns:34px 16px minmax(0,1fr);column-gap:8px}.public-app .journey-leg .journey-leg-body{gap:3px;padding:3px 0 8px}.public-app .journey-ride{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.public-app .journey-leg-evidence>summary{min-height:28px}.public-app .journey-start-wait{margin-left:0}.public-app .journey-leg.is-via:after{left:66px}.public-app .routing-detail-time{flex-wrap:nowrap;gap:8px}.public-app .routing-detail-head h2{white-space:nowrap;font-size:20px}.public-app .routing-detail-head h2 small{font-size:13px}.public-app .journey-time-range{white-space:nowrap;font-size:12px}.public-app .journey-overview{font-size:12px}.public-app .route-address-entry input{font-size:16px}.public-app .route-address-entry button{min-height:44px}.public-app .routing-setup input,.public-app .routing-setup select{font-size:16px}.public-app .route-map-shell .maplibregl-ctrl-bottom-right{bottom:4px}}@media (prefers-reduced-motion:reduce){.public-app *,.public-app :before,.public-app :after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms}}:root{color:#eaf0f4;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0c1522;font-family:Avenir Next,Avenir,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-appearance=light]{color:#111d2d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f2f3f1}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:inherit;min-height:100svh}button,input{font:inherit}
