:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--accent:#fc0;--accent-hover:#f7c500;--accent-soft:#fff3bd;--accent-ink:#1c1b19;--accent-ring:#ffcc0073;--logo-image:var(--logo-image-light);--bg:#f1f1ef;--surface:#fff;--surface-2:#f6f6f4;--surface-3:#ececea;--surface-inverse:#1f1e1d;--ink-inverse:#f6f5f3;--line:#1c1b191a;--line-strong:#1c1b1938;--ink:#1c1b19;--ink-hover:#1c1b19;--ink-2:#6e6d69;--ink-3:#9a9995;--link:#3c6dad;--danger:#d92c2c;--danger-ink:#8c2020;--danger-bg:#fff1f0;--danger-line:#f0c8c5;--warning-ink:#7a5200;--warning-bg:#fff7de;--warning-line:#ecd694;--success:#2e9b58;--flow-green:#1f9d55;--flow-yellow:#e0a800;--flow-orange:#e2701f;--flow-red:#d63b3b;--flow-unknown-a:#8f8e8a;--flow-unknown-b:#c2c1bd;--track:#e2e2de;--map-fallback-bg:#f0f0ed;--map-grid:#e3e3e0;--map-fallback-road:#fff;--map-fallback-road-edge:#e6e6e3;--map-route-alternative:#3c3a378c;--map-route-casing:#ffffffe6;--map-pin-start:#1c1b19;--map-pin-start-ink:#fff;--shadow-1:0 1px 2px #1c1b190f;--shadow-2:0 4px 16px #1c1b1914, 0 1px 3px #1c1b190d;--shadow-3:0 12px 36px #1c1b1921, 0 2px 8px #1c1b190f;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-pill:999px;--dur-1:.11s;--dur-2:.19s;--dur-3:.32s;--ease:cubic-bezier(.2, .7, .3, 1);--safe-top:max(12px, env(safe-area-inset-top));--safe-bottom:max(10px, env(safe-area-inset-bottom));--header-height:52px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:#ffd11a;--accent-hover:#ffdb45;--accent-soft:#3b3417;--accent-ink:#17161a;--accent-ring:#ffd11a59;--logo-image:var(--logo-image-dark);--bg:#121214;--surface:#1b1b1e;--surface-2:#232326;--surface-3:#2c2c30;--surface-inverse:#f2f1ef;--ink-inverse:#1b1b1e;--line:#ffffff1a;--line-strong:#ffffff3d;--ink:#f1f0ee;--ink-hover:#d3d2ce;--ink-2:#a4a39f;--ink-3:#78776f;--link:#7fadf0;--danger:#ff6b6b;--danger-ink:#ffb3b0;--danger-bg:#35201f;--danger-line:#57302e;--warning-ink:#ffd58a;--warning-bg:#322a15;--warning-line:#4d4225;--success:#55c281;--flow-green:#3fc47b;--flow-yellow:#f0c43c;--flow-orange:#ff8a45;--flow-red:#ff5d5d;--flow-unknown-a:#6f6e6a;--flow-unknown-b:#46454a;--track:#34343a;--map-fallback-bg:#1a1a1d;--map-grid:#232327;--map-fallback-road:#2e2e33;--map-fallback-road-edge:#212125;--map-route-alternative:#e4e3df8c;--map-route-casing:#08080ad9;--map-pin-start:#f1f0ee;--map-pin-start-ink:#17161a;--shadow-1:0 1px 2px #0006;--shadow-2:0 4px 18px #00000073;--shadow-3:0 16px 40px #0000008c}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:#ffd11a;--accent-hover:#ffdb45;--accent-soft:#3b3417;--accent-ink:#17161a;--accent-ring:#ffd11a59;--logo-image:var(--logo-image-dark);--bg:#121214;--surface:#1b1b1e;--surface-2:#232326;--surface-3:#2c2c30;--surface-inverse:#f2f1ef;--ink-inverse:#1b1b1e;--line:#ffffff1a;--line-strong:#ffffff3d;--ink:#f1f0ee;--ink-hover:#d3d2ce;--ink-2:#a4a39f;--ink-3:#78776f;--link:#7fadf0;--danger:#ff6b6b;--danger-ink:#ffb3b0;--danger-bg:#35201f;--danger-line:#57302e;--warning-ink:#ffd58a;--warning-bg:#322a15;--warning-line:#4d4225;--success:#55c281;--flow-green:#3fc47b;--flow-yellow:#f0c43c;--flow-orange:#ff8a45;--flow-red:#ff5d5d;--flow-unknown-a:#6f6e6a;--flow-unknown-b:#46454a;--track:#34343a;--map-fallback-bg:#1a1a1d;--map-grid:#232327;--map-fallback-road:#2e2e33;--map-fallback-road-edge:#212125;--map-route-alternative:#e4e3df8c;--map-route-casing:#08080ad9;--map-pin-start:#f1f0ee;--map-pin-start-ink:#17161a;--shadow-1:0 1px 2px #0006;--shadow-2:0 4px 18px #00000073;--shadow-3:0 16px 40px #0000008c}}*{box-sizing:border-box}html{background:var(--bg);text-rendering:optimizelegibility;min-width:320px;max-width:100%;overflow-x:clip}body{max-width:100%;color:var(--ink);background:var(--bg);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0;font-family:YS Text,Yandex Sans Text,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:14px;line-height:1.4;overflow-x:clip}button,input,select,summary{font:inherit}button,summary,legend,label,.badge,.eyebrow,.brand,.app-header,.results-count,.green-podium-rank,.green-podium-meta,.mode-title,.mode-description,.provider-group-title,.quota-card-top,.route-preset-points,.route-preset-main small,.route-bookmark-label,.traffic-renderer-picker,.route-map-controls,.location-floating-label,.flow-summary>strong,.route-preset-group h2,.green-podium-heading,.results-heading h2,.restored-note,.route-presets-empty,.external-links-label,.green-podium-hint{-webkit-user-select:none;user-select:none}.brand{cursor:pointer}button{color:inherit}button,a,label,summary,input,select,html{-webkit-tap-highlight-color:transparent}a{color:inherit}h1,h2,h3{letter-spacing:-.02em;font-weight:700}:focus-visible{outline:2px solid var(--link);outline-offset:2px;border-radius:4px}::selection{color:var(--accent-ink);background:var(--accent)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--radius-pill);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--ink-3);background-clip:content-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;color:var(--accent-ink);background:var(--accent);border-radius:var(--radius-md);transition:transform var(--dur-2) var(--ease);padding:10px 14px;font-weight:600;text-decoration:none;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-shell{touch-action:manipulation;width:100%;max-width:100vw;height:100dvh;padding:calc(var(--safe-top) + var(--header-height) + 10px) 12px 12px;background:var(--bg);overflow:hidden}.workspace{grid-template-columns:340px minmax(420px,1fr);align-items:stretch;gap:12px;width:100%;height:100%;min-height:0;display:grid}.workspace-with-results{grid-template-columns:340px minmax(380px,1fr) 344px}.surface-panel,.glass-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);min-width:0;box-shadow:var(--shadow-2)}.planner-panel{-webkit-user-select:none;user-select:none}.planner-panel input{-webkit-user-select:text;user-select:text}.planner-panel,.results-panel{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;min-height:0;animation:panel-in var(--dur-3) var(--ease) backwards;padding:18px;overflow:auto}.results-panel{padding:16px 15px;animation-delay:40ms}.app-header{z-index:40;top:var(--safe-top);height:var(--header-height);background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(16px)saturate(1.4);backdrop-filter:blur(16px)saturate(1.4);justify-content:space-between;align-items:center;gap:12px;padding:6px 7px 6px 10px;display:flex;position:fixed;left:12px;right:12px}.brand{align-items:center;gap:9px;min-width:0;text-decoration:none;display:flex}.brand-mark{border-radius:var(--radius-md);object-fit:cover;width:36px;height:36px;transition:transform var(--dur-2) var(--ease);flex:none;display:block}.brand:hover .brand-mark{transform:rotate(-6deg)scale(1.04)}.brand>span:last-child{min-width:0;line-height:1.15;display:grid}.brand strong{letter-spacing:-.02em;font-size:17px;font-weight:700}.brand small{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:9px;overflow:hidden}.header-actions{align-items:center;gap:6px;min-width:0;display:flex}.header-link,.demo-badge{min-height:34px;color:var(--ink-2);background:var(--surface-2);border-radius:var(--radius-md);transition:background var(--dur-1) var(--ease), color var(--dur-1) var(--ease);border:1px solid #0000;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.header-link:hover{color:var(--ink-hover);background:var(--surface-3)}.header-link svg,.demo-badge svg{width:16px;height:16px}.demo-badge{color:var(--accent-ink);background:var(--accent-soft)}:root[data-theme=dark] .demo-badge{color:var(--accent)}.language-switch{background:var(--surface-2);border-radius:var(--radius-md);align-items:center;gap:2px;min-height:34px;padding:2px;display:flex}.language-switch button{min-width:32px;min-height:30px;color:var(--ink-2);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);background:0 0;border:0;padding:0 7px;font-size:11px;font-weight:700}@media (hover:hover){.language-switch button:hover:not(.is-active){color:var(--ink-hover)}}.language-switch button.is-active,.language-switch button.is-active:hover{color:var(--accent-ink);background:var(--accent)}.theme-toggle{width:36px;height:34px;color:var(--ink-2);background:var(--surface-2);border-radius:var(--radius-md);cursor:pointer;transition:color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);border:0;place-items:center;padding:0;display:grid;overflow:hidden}.theme-toggle:hover{color:var(--ink-hover);background:var(--surface-3)}.theme-toggle-track{transition:transform var(--dur-3) var(--ease);grid-auto-rows:34px;place-items:center;display:grid}.theme-toggle-track svg{width:17px;height:17px}:root[data-theme=dark] .theme-toggle-track{transform:translateY(-34px)}.map-stage{touch-action:none;background:var(--surface-3);border:1px solid var(--line);border-radius:var(--radius-xl);min-width:0;min-height:0;box-shadow:var(--shadow-2);position:relative;overflow:hidden}.map-stage:fullscreen{border:0;border-radius:0}.schematic-map,.map-canvas{width:100%;height:100%;position:absolute;inset:0}.map-canvas{z-index:1;background:var(--surface-3);opacity:0;pointer-events:none;transition:opacity var(--dur-3) var(--ease)}.map-canvas.is-ready{opacity:1;pointer-events:auto}.route-map-controls{z-index:5;gap:7px;display:grid;position:absolute;top:10px;right:10px}.route-map-control-group{border-radius:var(--radius-md);box-shadow:var(--shadow-2);display:grid;overflow:hidden}.route-map-controls button{width:36px;height:36px;color:var(--ink);background:color-mix(in srgb, var(--surface) 94%, transparent);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-2);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);place-items:center;padding:0;font:500 20px/1 inherit;display:grid}.route-map-control-group button{box-shadow:none;border:0;border-radius:0}.route-map-control-group button+button{border-top:1px solid var(--line)}.route-map-controls button:hover:not(:disabled){background:var(--surface)}.route-map-controls button:active:not(:disabled){transform:scale(.94)}.route-map-controls button:disabled{color:var(--ink-3);cursor:wait}.route-map-controls button>svg{width:18px;height:18px}.traffic-renderer-picker{z-index:6;color:var(--ink);background:color-mix(in srgb, var(--surface) 94%, transparent);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);align-items:center;gap:4px;padding:3px 3px 3px 7px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.traffic-renderer-title{color:var(--ink-3);place-items:center;display:grid}.traffic-renderer-title svg{width:15px;height:15px}.traffic-renderer-segments{background:var(--surface-2);border-radius:var(--radius-sm);padding:2px;display:flex}.traffic-renderer-segments button{min-width:44px;min-height:26px;color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);background:0 0;border:0;border-radius:6px;padding:4px 9px;font-size:11px;font-weight:600;position:relative}@media (hover:hover){.traffic-renderer-segments button:hover:not([aria-disabled=true]):not([aria-checked=true]){color:var(--ink-hover)}}.traffic-renderer-segments button[aria-checked=true],.traffic-renderer-segments button[aria-checked=true]:hover{color:var(--accent-ink);background:var(--accent);box-shadow:var(--shadow-1)}.traffic-renderer-segments button[aria-disabled=true]{color:var(--ink-3);cursor:not-allowed;opacity:.8}.traffic-renderer-reason{width:max-content;max-width:190px;color:var(--ink-inverse);background:var(--surface-inverse);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);white-space:normal;padding:6px 8px;font-size:10px;font-weight:500;line-height:1.3;display:none;position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%)}.traffic-renderer-segments button:hover .traffic-renderer-reason,.traffic-renderer-segments button:focus-visible .traffic-renderer-reason{animation:pop-in var(--dur-2) var(--ease);display:block}.traffic-renderer-alert{z-index:6;color:#fff;border-radius:var(--radius-sm);max-width:min(320px,100% - 110px);box-shadow:var(--shadow-2);text-align:center;animation:pop-in var(--dur-2) var(--ease);background:#b3261e;padding:6px 10px;font-size:11px;font-weight:600;position:absolute;top:52px;left:50%;transform:translate(-50%)}.map-status{z-index:3;background:color-mix(in srgb, var(--surface) 94%, transparent);border:1px solid var(--line);border-radius:var(--radius-md);max-width:min(420px,100% - 80px);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:pop-in var(--dur-2) var(--ease);align-items:flex-start;gap:9px;padding:9px 11px;display:flex;position:absolute;top:10px;left:10px}.traffic-renderer-picker~.map-status{top:54px}.map-status-text{gap:3px;min-width:0;display:grid}.map-status strong{font-size:12px}.map-status small{color:var(--ink-2);font-size:10px;line-height:1.35}.map-status-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px;margin-top:5px}.map-status-loading .map-status-dot{animation:1.4s infinite pulse}.map-status-error .map-status-dot{background:var(--danger)}.map-retry{color:var(--accent-ink);background:var(--accent);border-radius:var(--radius-sm);cursor:pointer;border:0;align-self:center;padding:5px 9px;font-size:10px;font-weight:600}.map-retry:hover{background:var(--accent-hover)}.route-map-marker{-webkit-user-select:none;user-select:none;width:30px;height:30px;color:var(--map-pin-start-ink);background:var(--map-pin-start);border:3px solid var(--surface);box-shadow:var(--shadow-2);border-radius:50%;place-items:center;font:700 12px/1 inherit;display:grid;transform:translate(-50%,-50%)}.route-map-marker-finish{color:var(--accent-ink);background:var(--accent);border-color:var(--map-pin-start)}.route-map-user-location{border:3px solid var(--surface);background:#1a6dff;border-radius:50%;width:15px;height:15px;transform:translate(-50%,-50%);box-shadow:0 0 0 6px #1a6dff2e}.route-form{gap:12px;display:grid}.location-stack{gap:6px;display:grid;position:relative}.location-stack:before{z-index:0;content:"";background:var(--line-strong);border-radius:var(--radius-pill);width:2px;position:absolute;top:28px;bottom:28px;left:18px}.location-field{z-index:2;min-width:0;position:relative}.location-field:has(.location-input:focus){z-index:60}.location-field-icon{z-index:2;width:20px;height:20px;color:var(--ink-3);pointer-events:none;transition:color var(--dur-2) var(--ease);place-items:center;display:grid;position:absolute;top:16px;left:10px}.location-field:has(.location-input:focus) .location-field-icon{color:var(--ink)}.location-field-icon svg{width:16px;height:16px}.location-floating-label{z-index:2;color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;pointer-events:none;font-size:8px;font-weight:700;position:absolute;top:6px;left:37px}.location-input{width:100%;height:52px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);transition:border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);outline:none;padding:19px 44px 5px 37px;font-size:13px;font-weight:600}.location-field.has-action .location-input{padding-right:46px}.location-input::placeholder{color:var(--ink-3);font-weight:500}.location-input:hover{border-color:var(--ink-3)}.location-input:focus{border-color:var(--link);box-shadow:0 0 0 3px color-mix(in srgb, var(--link) 18%, transparent)}.location-input[aria-invalid=true]{border-color:var(--danger)}.location-action{z-index:3;position:absolute;top:6px;right:6px}.icon-button{width:40px;height:40px;color:var(--ink-2);border-radius:var(--radius-md);cursor:pointer;transition:color var(--dur-1) var(--ease), background var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);background:0 0;border:0;place-items:center;padding:0;display:grid}.icon-button:hover:not(:disabled){color:var(--ink-hover);background:var(--surface-2)}.icon-button:active:not(:disabled){transform:scale(.92)}.icon-button:disabled{cursor:not-allowed;opacity:.45}.icon-button svg{width:18px;height:18px}.swap-button{background:var(--surface-2);border:1px solid var(--line);width:34px;height:34px;transition:color var(--dur-1) var(--ease), background var(--dur-1) var(--ease), transform var(--dur-3) var(--ease);margin:3px}.swap-button:hover:not(:disabled){background:var(--surface-3);transform:rotate(180deg)}.swap-button:active:not(:disabled){transform:rotate(180deg)scale(.92)}.swap-button svg{width:15px;height:15px}.waypoint-row{z-index:2;min-width:0;animation:pop-in var(--dur-2) var(--ease);grid-template-columns:minmax(0,1fr) 32px;gap:5px;margin-bottom:7px;display:grid;position:relative}.remove-waypoint{width:32px;height:40px;color:var(--danger);margin-top:6px}.field-error{color:var(--danger);margin:4px 5px 0 8px;font-size:10px;font-weight:600}.suggestions{z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);max-height:244px;box-shadow:var(--shadow-3);animation:dropdown-in var(--dur-2) var(--ease);margin-top:5px;padding:5px;position:relative;overflow:auto}.suggestion{text-align:left;border-radius:var(--radius-md);cursor:pointer;width:100%;min-height:46px;transition:background var(--dur-1) var(--ease);background:0 0;border:0;align-items:center;gap:9px;padding:6px 8px;display:flex}.suggestion:hover,.suggestion[aria-selected=true]{background:var(--surface-2)}.suggestion-pin{width:30px;height:30px;color:var(--accent-ink);background:var(--accent-soft);border-radius:var(--radius-sm);flex:none;place-items:center;display:grid}:root[data-theme=dark] .suggestion-pin{color:var(--accent)}.suggestion-pin svg{width:15px;height:15px}.suggestion>span:last-child{min-width:0;display:grid}.suggestion strong,.suggestion small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.suggestion strong{font-size:12px;font-weight:600}.suggestion small{color:var(--ink-2);margin-top:2px;font-size:10px}.suggestion-state{color:var(--ink-2);text-align:center;padding:14px;font-size:11px}.suggestion-error{color:var(--danger-ink)}.suggestion-skeletons{gap:2px;display:grid}.suggestion-skeleton{align-items:center;gap:9px;min-height:46px;padding:6px 8px;display:flex}.suggestion-skeleton-pin,.suggestion-skeleton-lines>span{background:linear-gradient(90deg, var(--surface-2) 0%, var(--surface-3) 40%, var(--surface-2) 80%);border-radius:var(--radius-sm);animation:shimmer 1.25s var(--ease) infinite;background-size:280% 100%}.suggestion-skeleton-pin{flex:none;width:30px;height:30px}.suggestion-skeleton-lines{flex:1;gap:5px;display:grid}.suggestion-skeleton-lines>span:first-child{width:68%;height:9px}.suggestion-skeleton-lines>span:last-child{width:42%;height:7px;animation-delay:.12s}.suggestion-skeleton:nth-child(2)>*{animation-delay:90ms}.suggestion-skeleton:nth-child(3)>*{animation-delay:.18s}.route-form>.text-button{margin:-4px 0 -2px}.text-button{width:fit-content;min-height:32px;color:var(--link);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-1) var(--ease);background:0 0;border:0;align-items:center;gap:6px;padding:3px 7px;font-size:11px;font-weight:600;display:inline-flex}.text-button:hover:not(:disabled){background:var(--surface-2)}.text-button:disabled{cursor:not-allowed;opacity:.5}.text-button svg{width:15px;height:15px}.text-button.danger{color:var(--danger)}fieldset{border:0;min-width:0;margin:0;padding:0}fieldset legend{width:100%;color:var(--ink-3);letter-spacing:.07em;text-transform:uppercase;margin-bottom:7px;font-size:9px;font-weight:700}.mode-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.mode-card{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-lg);cursor:pointer;min-height:56px;transition:border-color var(--dur-2) var(--ease), background var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), transform var(--dur-1) var(--ease);align-content:center;padding:9px 10px;display:grid;position:relative;overflow:hidden}.mode-card:before{content:"";background:var(--accent-soft);opacity:0;transition:opacity var(--dur-2) var(--ease), transform var(--dur-3) var(--ease);position:absolute;inset:0;transform:scale(.9)}.mode-card>*{position:relative}@media (hover:hover){.mode-card:hover:not(.is-active){border-color:var(--ink-3)}}.mode-card:active{transform:scale(.975)}.mode-card.is-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.mode-card.is-active:before{opacity:1;transform:scale(1)}.mode-card input{opacity:0;width:1px;height:1px;position:absolute}.mode-card input:focus-visible+.mode-title{outline:2px solid var(--link);outline-offset:4px;border-radius:3px}.mode-title{font-size:11px;font-weight:700}.mode-description{color:var(--ink-2);margin-top:2px;font-size:9px;line-height:1.3}.advanced-settings{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-lg)}.advanced-settings>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;min-height:40px;padding:8px 11px;font-size:11px;font-weight:600;list-style:none;display:flex}.advanced-settings>summary::-webkit-details-marker{display:none}.advanced-settings>summary:after{color:var(--ink-3);content:"+";transition:transform var(--dur-2) var(--ease);font-size:15px;font-weight:400}.advanced-settings[open]>summary:after{content:"−"}.advanced-settings[open] .limits-fieldset{animation:reveal var(--dur-2) var(--ease)}.advanced-summary-values{color:var(--ink-2);margin-left:auto;font-size:10px;font-weight:500}.limits-fieldset{gap:10px;padding:2px 11px 11px;display:grid}.range-field{gap:6px;display:grid}.range-field span{color:var(--ink-2);font-size:10px;font-weight:600}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:16px;margin:0}input[type=range]::-webkit-slider-runnable-track{background:var(--track);border-radius:var(--radius-pill);height:4px}input[type=range]::-moz-range-track{background:var(--track);border-radius:var(--radius-pill);height:4px}input[type=range]::-moz-range-progress{background:var(--accent);border-radius:var(--radius-pill);height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid var(--surface-2);width:15px;height:15px;box-shadow:var(--shadow-1);transition:transform var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);border-radius:50%;margin-top:-5.5px}input[type=range]::-moz-range-thumb{background:var(--accent);border:2px solid var(--surface-2);width:15px;height:15px;box-shadow:var(--shadow-1);transition:transform var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);border-radius:50%}input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.14)}input[type=range]:hover::-moz-range-thumb{transform:scale(1.14)}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.22)}input[type=range]:active::-moz-range-thumb{transform:scale(1.22)}input[type=range]:focus-visible{outline:none}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--accent-ring)}input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--accent-ring)}.toggle-row{grid-template-columns:1fr 1fr;gap:6px;display:grid}.check-field{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;min-height:38px;transition:border-color var(--dur-1) var(--ease);align-items:center;gap:7px;padding:6px 8px;font-size:10px;font-weight:600;line-height:1.25;display:flex}.check-field:hover{border-color:var(--line-strong)}.check-field input[type=checkbox]{appearance:none;background:var(--surface-2);border:1.5px solid var(--line-strong);cursor:pointer;width:17px;height:17px;transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease);border-radius:6px;flex:none;place-content:center;margin:0;display:grid}@media (hover:hover){.check-field input[type=checkbox]:hover:not(:checked){border-color:var(--ink-3)}}.check-field input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.check-field input[type=checkbox]:after{content:"";border:2px solid var(--accent-ink);opacity:0;width:9px;height:5px;transition:opacity var(--dur-1) var(--ease), transform var(--dur-2) var(--ease);border-top:0;border-right:0;border-radius:1px;transform:rotate(-45deg)translate(1px,-1px)scale(.6)}.check-field input[type=checkbox]:checked:after{opacity:1;transform:rotate(-45deg)translate(1px,-1px)scale(1)}.check-field input[type=checkbox]:focus-visible{outline:2px solid var(--link);outline-offset:2px}.button{border-radius:var(--radius-md);cursor:pointer;min-height:40px;transition:background var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.button:active:not(:disabled){transform:scale(.985)}.button:disabled{cursor:not-allowed;opacity:.6}.button svg{width:17px;height:17px}.button-primary{color:var(--accent-ink);background:var(--accent)}.button-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 14px var(--accent-ring)}.button-secondary{color:var(--ink);background:var(--surface);border-color:var(--line-strong)}.button-secondary:hover:not(:disabled){background:var(--surface-2)}.button-selected{color:var(--ink);background:var(--accent-soft);border-color:var(--accent)}:root[data-theme=dark] .button-selected{color:var(--accent)}.search-button{justify-content:space-between;width:100%;min-height:46px;padding:10px 16px;font-size:13px}.search-button svg{transition:transform var(--dur-2) var(--ease)}.search-button:hover:not(:disabled) svg{transform:translate(3px)}.route-presets{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}.route-presets-tabs{background:var(--surface-2);border-radius:var(--radius-md);gap:3px;padding:3px;display:flex}.route-presets-tabs button{min-height:28px;color:var(--ink-3);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:5px;padding:4px 8px;display:inline-flex}@media (hover:hover){.route-presets-tabs button:hover:not(.is-active){color:var(--ink-hover)}}.route-presets-tabs button.is-active{color:var(--accent-ink);background:var(--accent)}:root[data-theme=dark] .route-presets-tabs button.is-active{color:var(--accent-ink)}.route-presets-tabs svg{width:14px;height:14px}.route-presets-tabs i{font-size:9px;font-style:normal;font-weight:700}.route-bookmark-stamp{color:var(--ink-3)!important}.route-preset-group{gap:5px;min-width:0;display:grid}.route-preset-group h2{color:var(--ink-3);letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:8px;font-weight:700}.route-preset-list{gap:5px;display:grid}.route-preset-row{min-width:0;animation:pop-in var(--dur-2) var(--ease) backwards;grid-template-columns:minmax(0,1fr) 32px;gap:4px;display:grid}.route-preset-list>.route-preset-row:nth-child(2){animation-delay:30ms}.route-preset-list>.route-preset-row:nth-child(3){animation-delay:60ms}.route-preset-main,.route-preset-favorite{color:var(--ink);background:var(--surface-2);border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);border:1px solid #0000}.route-preset-main{text-align:left;gap:4px;min-width:0;padding:8px 9px;display:grid}.route-preset-main:hover:not(:disabled){background:var(--surface-3);border-color:var(--line)}.route-preset-points{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:5px;min-width:0;display:grid}.route-preset-points strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600;overflow:hidden}.route-preset-points>span{color:var(--ink-3);font-size:10px}.route-preset-main small{min-width:0;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;font-size:9px;display:flex;overflow:hidden}.route-preset-main small svg{flex:none;width:11px;height:11px}.route-preset-favorite{width:32px;min-height:32px;color:var(--ink-3);place-items:center;display:grid}.route-preset-favorite:hover:not(:disabled){color:var(--accent-ink);background:var(--accent-soft)}:root[data-theme=dark] .route-preset-favorite:hover:not(:disabled){color:var(--accent)}.route-preset-favorite.is-favorite{color:#b48a00;background:var(--accent-soft)}:root[data-theme=dark] .route-preset-favorite.is-favorite{color:var(--accent)}.route-preset-favorite svg{width:15px;height:15px;transition:transform var(--dur-2) var(--ease)}.route-preset-favorite:hover:not(:disabled) svg{transform:scale(1.15)}.route-presets-empty{color:var(--ink-2);background:var(--surface-2);border-radius:var(--radius-md);margin:0;padding:9px;font-size:9px;line-height:1.45}.route-bookmarks{border-top:1px solid var(--line);gap:8px;margin-top:14px;padding-top:13px;display:grid}.route-bookmarks-heading strong{align-items:center;gap:6px;font-size:11px;display:inline-flex}.route-bookmarks-heading svg{width:13px;height:13px;color:var(--ink-3)}.route-bookmark-list{gap:5px;display:grid}.route-bookmark-row{min-width:0;animation:pop-in var(--dur-2) var(--ease) backwards;grid-template-columns:minmax(0,1fr) auto auto;gap:4px;display:grid}.route-bookmark-main,.route-bookmark-remove{color:var(--ink);background:var(--surface-2);border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease);border:1px solid #0000}.route-bookmark-main{text-align:left;gap:3px;min-width:0;padding:8px 9px;display:grid}.route-bookmark-main:hover:not(:disabled){background:var(--surface-3);border-color:var(--line)}.route-bookmark-row.is-active .route-bookmark-main{border-color:var(--accent)}.route-bookmark-label{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600;overflow:hidden}.route-bookmark-main small{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.route-bookmark-main b{color:var(--ink);font-weight:700}.route-bookmark-remove{width:30px;min-height:30px;color:var(--ink-3);place-items:center;display:grid}.route-bookmark-remove:hover:not(:disabled){color:var(--danger);background:var(--danger-bg)}.route-bookmark-remove svg{width:13px;height:13px}.notice{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-lg);animation:pop-in var(--dur-2) var(--ease);gap:10px;margin-bottom:12px;padding:11px;display:flex}.notice>svg{flex:none;width:17px;height:17px;margin-top:1px}.notice strong{font-size:12px;display:block}.notice p{color:var(--ink-2);margin:3px 0 0;font-size:10px;line-height:1.45}.notice small{color:var(--ink-3);margin-top:6px;font-size:9px;display:block}.notice-error{color:var(--danger-ink);background:var(--danger-bg);border-color:var(--danger-line)}.notice-error p,.notice-error small{color:inherit;opacity:.85}.notice-warning{color:var(--warning-ink);background:var(--warning-bg);border-color:var(--warning-line)}.notice-warning p{color:inherit;opacity:.85}.progress-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-lg);animation:pop-in var(--dur-2) var(--ease);padding:12px}.progress-header{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.progress-header strong{font-size:12px}.progress-header>span{font-size:19px;font-weight:700}.progress-track{background:var(--track);border-radius:var(--radius-pill);height:4px;margin:10px 0 7px;overflow:hidden}.progress-track span{background:var(--accent);border-radius:inherit;height:100%;transition:width var(--dur-3) var(--ease);display:block}.progress-footer{min-height:30px;color:var(--ink-2);justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}.eyebrow{color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:6px;margin:0 0 4px;font-size:8px;font-weight:700;display:flex}.eyebrow svg{width:13px;height:13px}.results-content{gap:12px;display:grid}body{-webkit-user-select:none;user-select:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}.results-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.results-heading h2{margin:0;font-size:20px;line-height:1.15}.results-heading-actions{flex:none;align-items:center;gap:4px;display:flex}.results-count{color:var(--ink-2);background:var(--surface-2);border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:5px;padding:4px 8px;font-size:9px;font-weight:600;display:inline-flex}.results-refresh,.results-bookmark{width:30px;height:30px;color:var(--ink-2);border-radius:var(--radius-md);cursor:pointer;transition:color var(--dur-1) var(--ease), background var(--dur-1) var(--ease), transform var(--dur-3) var(--ease);background:0 0;border:0;place-items:center;padding:0;display:grid}.results-refresh svg,.results-bookmark svg{width:15px;height:15px}.results-refresh:hover:not(:disabled){color:var(--ink-hover);background:var(--surface-2);transform:rotate(180deg)}.results-refresh:disabled{cursor:wait;opacity:.5}.results-bookmark:hover:not(:disabled){color:var(--ink-hover);background:var(--surface-2)}.results-bookmark.is-saved{color:var(--accent)}.results-dismiss{width:30px;height:30px}.results-dismiss svg{width:15px;height:15px}.warning-list{gap:4px;display:grid}.warning-list p{color:var(--warning-ink);background:var(--warning-bg);border-radius:var(--radius-sm);align-items:flex-start;gap:7px;margin:0;padding:7px 9px;font-size:9px;line-height:1.4;display:flex}.warning-list svg{flex:none;width:13px;height:13px}.green-podium{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-lg);gap:9px;padding:12px;display:grid}.green-podium-heading strong{font-size:12px;display:block}.green-podium-heading p{color:var(--ink-2);margin:3px 0 0;font-size:9px;line-height:1.4}.green-podium-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.green-podium-list>li{gap:5px;display:grid}.green-podium-row{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;width:100%;transition:border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);animation:pop-in var(--dur-2) var(--ease) backwards;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 9px;padding:8px 10px;display:grid}.green-podium-list>li:nth-child(2) .green-podium-row{animation-delay:40ms}.green-podium-list>li:nth-child(3) .green-podium-row{animation-delay:80ms}.green-podium-row:hover{border-color:var(--line-strong)}.green-podium-row:active{transform:scale(.99)}.green-podium-row.is-active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.green-podium-rank{color:var(--ink-3);font-size:11px;font-weight:700}.green-podium-row.is-active .green-podium-rank{color:var(--ink)}.green-podium-share{min-width:0;display:grid}.green-podium-share strong{font-size:12px}.green-podium-share small{color:var(--ink-2);font-size:9px}.green-podium-meta{color:var(--ink-2);white-space:nowrap;font-size:9px}.green-podium-bar{background:var(--track);border-radius:var(--radius-pill);grid-column:1/-1;height:5px;display:flex;overflow:hidden}.green-podium-bar i{min-width:2px;transition:flex-grow var(--dur-3) var(--ease)}.green-podium-hint{color:var(--ink-3);margin:0;font-size:9px;line-height:1.45}.external-links{flex-wrap:wrap;align-items:baseline;gap:4px 7px;display:flex}.external-links.is-compact{animation:reveal var(--dur-2) var(--ease);padding:0 2px 2px}.external-links-label{color:var(--ink-3);font-size:9px;font-weight:600}.external-link{color:var(--link);transition:color var(--dur-1) var(--ease);font-size:10px;font-weight:600;text-decoration:none}.external-link:hover{color:var(--accent)}.route-card .external-links{border-top:1px solid var(--line);padding-top:9px}.route-list{gap:9px;display:grid}.route-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);transition:border-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);animation:pop-in var(--dur-3) var(--ease) backwards;gap:10px;padding:12px;display:grid}.route-list>.route-card:nth-child(2){animation-delay:50ms}.route-list>.route-card:nth-child(3){animation-delay:.1s}.route-list>.route-card:nth-child(n+4){animation-delay:.15s}.route-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2)}.route-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}.route-card-top{justify-content:space-between;align-items:flex-start;gap:8px;min-height:22px;display:flex}.route-badges{flex-wrap:wrap;gap:4px;display:flex}.badge{min-height:20px;color:var(--ink-2);background:var(--surface-2);border-radius:var(--radius-sm);letter-spacing:.02em;align-items:center;padding:3px 7px;font-size:8px;font-weight:700;display:inline-flex}.badge-recommended{color:var(--ink-inverse);background:var(--surface-inverse)}.badge-green{color:var(--accent-ink);background:var(--accent-soft)}:root[data-theme=dark] .badge-green{color:var(--accent)}.confidence{color:var(--ink-2);white-space:nowrap;align-items:center;gap:5px;font-size:8px;font-weight:600;display:inline-flex}.confidence>span{background:var(--flow-green);border-radius:50%;width:6px;height:6px}.confidence-medium>span{background:var(--flow-yellow)}.confidence-low>span{background:var(--flow-red)}.route-primary-metrics{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:9px 12px;display:grid}.metric-dot{box-sizing:border-box;background-clip:content-box;border-radius:50%;flex:none;width:16px;height:16px;padding:3.5px}.route-primary-metrics>div{align-items:center;gap:6px;min-width:0;display:flex}.route-primary-metrics svg,.metric-symbol{width:16px;height:16px;color:var(--ink-3);flex:none}.metric-symbol{place-items:center;font-size:14px;line-height:1;display:grid}.route-primary-metrics span:not(.metric-symbol){min-width:0;display:grid}.route-primary-metrics strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.route-primary-metrics small{color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;font-size:7px;font-weight:700}.route-flow-metrics{color:var(--ink-2);flex-wrap:wrap;gap:4px 10px;font-size:9px;display:flex}.route-flow-metrics span{align-items:center;gap:4px;display:inline-flex}.route-flow-metrics i{border-radius:50%;width:7px;height:7px}.route-explanation{color:var(--ink-2);margin:6px 0 0;line-height:1.45}.flow-summary{gap:5px;display:grid}.flow-summary>strong{color:var(--ink-2);font-size:9px}.flow-bar{background:var(--track);border-radius:var(--radius-pill);height:6px;display:flex;overflow:hidden}.flow-bar span{min-width:3px}.flow-green{background:var(--flow-green)}.flow-yellow{background:var(--flow-yellow)}.flow-orange{background:var(--flow-orange)}.flow-red{background:var(--flow-red)}.flow-unknown{background:repeating-linear-gradient(135deg, var(--flow-unknown-a) 0 4px, var(--flow-unknown-b) 4px 8px)}.unknown-note{color:var(--ink-3);align-items:flex-start;gap:5px;margin:0;font-size:9px;display:flex}.unknown-note svg{flex:none;width:12px;height:12px}.detour-note{width:fit-content;color:var(--ink-2);background:var(--surface-2);border-radius:var(--radius-sm);margin:0;padding:3px 7px;font-size:8px;font-weight:600}.route-cautions{flex-wrap:wrap;gap:5px;display:flex}.route-cautions span{color:var(--warning-ink);align-items:center;gap:4px;font-size:9px;display:flex}.route-cautions svg{width:12px;height:12px}.route-reasons{background:var(--surface-2);border-radius:var(--radius-md);padding:8px 9px;font-size:9px}.route-reasons summary{cursor:pointer;font-weight:600;list-style:none}.route-reasons summary::-webkit-details-marker{display:none}.route-reasons summary:before{content:"▸ ";color:var(--ink-3)}.route-reasons[open] summary:before{content:"▾ "}.route-reasons ul{color:var(--ink-2);gap:4px;margin:7px 0 0;padding-left:16px;display:grid}.route-card .button{min-height:36px;font-size:11px}.admin-shell{min-height:100dvh;padding-top:calc(var(--safe-top) + var(--header-height) + 22px);background:var(--bg)}.admin-main{width:min(1240px,100% - 32px);margin:0 auto;padding-bottom:40px}.admin-titlebar{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.admin-titlebar h1{letter-spacing:-.035em;margin:0;font-size:clamp(28px,4vw,40px);line-height:1.05}.admin-titlebar>div>p:last-child{max-width:580px;color:var(--ink-2);margin:8px 0 0;font-size:13px}.text-link{color:var(--link);align-items:center;gap:6px;margin-bottom:15px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.text-link:hover{text-decoration:underline}.arrow-back{width:15px;transform:rotate(180deg)}.operator-badge{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);align-items:center;gap:8px;padding:8px 11px;font-size:11px;font-weight:600;display:flex}.operator-badge svg{width:16px}.admin-access-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);max-width:620px;min-height:80px;box-shadow:var(--shadow-2);justify-content:center;align-items:center;gap:12px;margin:28px auto;padding:18px;display:flex}.admin-access-card.notice{justify-content:flex-start}.spinner{border:3px solid var(--line);border-top-color:var(--ink);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.admin-dashboard{gap:12px;display:grid}.admin-toolbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:18px;padding:12px 14px;display:flex}.provider-health{align-items:center;gap:10px;display:flex}.provider-health>span:last-child{display:grid}.provider-health small{color:var(--ink-3);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:700}.provider-health strong{font-size:12px}.status-orb{background:var(--success);border-radius:50%;width:10px;height:10px}.status-unhealthy,.status-open{background:var(--danger)}.observed-heading{justify-content:space-between;align-items:center;margin-top:3px;display:flex}.observed-heading p{margin:0}.observed-heading span{color:var(--ink-2);font-size:10px}.quota-section{gap:14px;margin-bottom:18px;display:grid}.provider-group{gap:8px;display:grid}.provider-group-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.provider-group-title{color:var(--ink-2);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.provider-group-health{color:var(--ink);align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.provider-group-health small{color:var(--ink-3);font-size:9px;font-weight:500}.quota-endpoint{margin-top:8px!important}.quota-endpoint code{color:var(--ink-2);background:var(--surface-2);border-radius:var(--radius-sm);padding:2px 6px;font-size:9px}.quota-card.is-inactive{background:0 0;border-style:dashed}.quota-card.is-inactive h3,.quota-card.is-inactive dd{color:var(--ink-2)}.quota-card dd.quota-limit{font-weight:600}.quota-card dl{gap:2px;display:grid}.quota-card dt:not(:first-child){margin-top:8px}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.section-heading h2{margin:0;font-size:19px}.refresh-button{width:34px;height:34px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line-strong);box-shadow:var(--shadow-1);cursor:pointer;transition:color var(--dur-1) var(--ease), background var(--dur-1) var(--ease), transform var(--dur-3) var(--ease);border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.refresh-button:hover:not(:disabled){color:var(--ink-hover);background:var(--surface-3);transform:rotate(180deg)}.refresh-button:disabled{cursor:wait;opacity:.55}.refresh-button svg{width:16px;height:16px}.quota-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.quota-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;padding:13px}.quota-card-top{justify-content:space-between;align-items:flex-start;gap:6px;min-height:20px;display:flex}.quota-card-top>span:first-child{min-width:0;color:var(--ink-3);letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:9px;font-weight:700;overflow:hidden}.quota-state{color:var(--ink-2);background:var(--surface-2);border-radius:var(--radius-sm);white-space:nowrap;flex:none;padding:2px 6px;font-size:8px;line-height:1.3}.quota-state.is-configured{color:var(--accent-ink);background:var(--accent-soft)}:root[data-theme=dark] .quota-state.is-configured{color:var(--accent)}.quota-card h3{min-height:34px;margin:9px 0 10px;font-size:14px;line-height:1.25}.quota-card dl{margin:0}.quota-card dt{color:var(--ink-3);text-transform:uppercase;font-size:8px}.quota-card dd{margin:3px 0 0;font-size:11px;font-weight:700}.quota-card>p{color:var(--ink-2);margin:9px 0 0;font-size:8px;line-height:1.35}.telemetry-empty{background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);align-items:center;gap:15px;margin-bottom:18px;padding:17px;display:flex}.telemetry-empty-icon{width:40px;height:40px;color:var(--accent-ink);background:var(--accent);border-radius:var(--radius-md);flex:none;place-items:center;display:grid}.telemetry-empty-icon svg{width:20px;height:20px}.telemetry-empty h2{margin:0;font-size:16px}.telemetry-empty p:last-child{max-width:760px;color:var(--ink-2);margin:4px 0 0;font-size:11px}.metric-grid{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);min-height:118px;padding:14px;position:relative;overflow:hidden}.metric-card small{color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;padding-right:40px;font-size:8px;font-weight:700;display:block}.metric-card strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:20px;font-size:clamp(22px,2.5vw,30px);line-height:1;display:block;overflow:hidden}.metric-card strong.metric-value-compact{text-overflow:clip;white-space:normal;font-size:clamp(17px,1.7vw,22px);line-height:1.12;overflow:visible}.metric-card p{color:var(--ink-2);margin:5px 0 0;font-size:8px}.metric-icon{width:28px;height:28px;color:var(--accent-ink);background:var(--accent-soft);border-radius:var(--radius-sm);place-items:center;display:grid;position:absolute;top:11px;right:11px}:root[data-theme=dark] .metric-icon{color:var(--accent)}.metric-icon svg{width:15px;height:15px}.flags-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);grid-template-columns:220px 1fr;gap:24px;padding:18px;display:grid}.flags-card h2{margin:0;font-size:21px}.flags-card ul{grid-template-columns:1fr 1fr;gap:1px 18px;margin:0;padding:0;list-style:none;display:grid}.flags-card li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:8px 0;display:flex}.flags-card code{color:var(--ink-2);text-overflow:ellipsis;font-size:9px;overflow:hidden}.flag-value{min-width:40px;color:var(--danger);text-align:center;background:color-mix(in srgb, var(--danger) 16%, transparent);border-radius:6px;padding:3px 7px;font-size:9px;font-weight:700}.flag-value.is-enabled{color:var(--accent-ink);background:var(--accent)}.fatal-error,.offline-page{text-align:center;background:var(--bg);place-content:center;min-height:100dvh;padding:24px;display:grid}.fatal-error{justify-items:center}.fatal-error h1,.offline-card h1{margin:0;font-size:clamp(28px,5vw,44px)}.fatal-error p:not(.eyebrow),.offline-card p:not(.eyebrow){max-width:520px;color:var(--ink-2)}.offline-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);max-width:520px;box-shadow:var(--shadow-3);justify-items:center;padding:32px;display:grid}.offline-logo{background:var(--logo-image) center / cover no-repeat;border-radius:var(--radius-lg);width:64px;height:64px;margin-bottom:14px;display:block}@keyframes pulse{50%{opacity:.35;transform:scale(.82)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop-in{0%{opacity:0;transform:translateY(4px)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-10px)}}.route-green-share{text-align:left;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-md);width:100%;transition:border-color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);gap:1px;padding:7px 9px;display:grid}.route-green-share strong{font-size:13px}.route-green-share small{color:var(--ink-2);font-size:10px}.route-green-share:disabled{cursor:default}.route-green-share.is-active{background:var(--accent-soft,var(--surface-3));border-color:var(--accent)}@media (hover:hover){.route-green-share:hover:not(:disabled){border-color:var(--line-strong)}}.badge-rank{color:var(--ink-2);background:var(--surface-3)}.badge-unqualified{color:var(--ink-3);border:1px solid var(--line);background:0 0}.badge-toll{width:18px;height:18px;color:var(--flow-orange);background:color-mix(in srgb, var(--flow-orange) 16%, transparent);border-radius:50%;place-items:center;padding:0;font-size:12px;font-weight:700;display:grid}.tile-map{background:var(--map-fallback-bg);cursor:grab;touch-action:none;position:absolute;inset:0;overflow:hidden}.tile-map.is-dragging{cursor:grabbing}.tile-map-tiles img{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.tile-map-zoom{z-index:2;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-1);display:grid;position:absolute;top:10px;right:10px;overflow:hidden}.tile-map-zoom button{width:30px;height:30px;color:var(--ink);font-size:15px}.tile-map-zoom button+button{border-top:1px solid var(--line)}.tile-map-tiles{position:absolute;inset:0}.tile-map-tiles img{width:256px;height:256px;position:absolute}.tile-map-overlay{pointer-events:none;position:absolute;top:0;left:0}.tile-map-credit{z-index:2;color:var(--ink-2);background:color-mix(in srgb, var(--surface) 78%, transparent);border-radius:var(--radius-sm);padding:2px 6px;font-size:9px;text-decoration:none;position:absolute;bottom:4px;right:6px}[data-theme=dark] .tile-map-tiles{filter:invert()hue-rotate(180deg)brightness(.86)contrast(.92)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tile-map-tiles{filter:invert()hue-rotate(180deg)brightness(.86)contrast(.92)}}.demo-toast{z-index:60;top:calc(var(--safe-top) + var(--header-height) + 18px);max-width:min(92vw,420px);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-pill);box-shadow:var(--shadow-2);animation:toast-in var(--dur-2) var(--ease);pointer-events:none;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:9px 14px 9px 11px;font-size:12px;line-height:1.35;display:flex;position:fixed;left:50%;transform:translate(-50%)}.demo-toast svg{width:15px;height:15px;color:var(--ink-2);flex:none}@media (max-width:520px){.demo-toast{border-radius:var(--radius-lg);padding:8px 12px 8px 10px;font-size:11px}}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px)scale(.99)}}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}}@keyframes reveal{0%{opacity:0;transform:translateY(-3px)}}@keyframes shimmer{0%{background-position:140% 0}to{background-position:-60% 0}}@media (max-width:1260px){.workspace{grid-template-columns:320px minmax(380px,1fr)}.workspace-with-results{grid-template-columns:320px minmax(340px,1fr) 344px}.planner-panel{padding:16px}.quota-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1160px){.workspace{grid-template-columns:296px minmax(320px,1fr)}.workspace-with-results{grid-template-columns:296px minmax(280px,1fr) 344px}.planner-panel,.results-panel{padding:14px}.green-podium{padding:10px}}@media (max-width:940px){.workspace-with-results{grid-template-rows:minmax(300px,1fr) minmax(0,.62fr);grid-template-columns:minmax(280px,316px) minmax(0,1fr)}.workspace-with-results .results-panel{grid-column:1/-1}.workspace-with-results .results-content{grid-template-columns:minmax(0,1fr);align-content:start;height:100%}.workspace-with-results .green-podium-list{grid-template-columns:repeat(auto-fit,minmax(224px,1fr));align-items:start}.workspace-with-results .green-podium-heading{align-items:baseline;gap:8px;display:flex}.workspace-with-results .green-podium-heading p{margin:0}.workspace-with-results .route-list{padding-bottom:4px;display:flex;overflow-x:auto}.workspace-with-results .route-card{flex:none;width:300px}.metric-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:760px){.app-shell{height:auto;min-height:100dvh;padding:calc(var(--safe-top) + var(--header-height) + 8px) 8px var(--safe-bottom);overflow:visible}.app-header{left:8px;right:8px}.brand small,.demo-badge,.header-link span{display:none}.header-link{justify-content:center;width:34px;min-height:34px;padding:0}.workspace,.workspace-with-results{flex-direction:column;gap:8px;height:auto;display:flex}.map-stage{order:0;width:100%;height:44dvh;min-height:300px}.planner-panel{order:1}.results-panel{order:2}.planner-panel,.results-panel{width:100%;max-height:none;padding:16px;overflow:visible}.workspace-with-results .results-content{grid-template-columns:1fr;height:auto;display:grid}.workspace-with-results .results-heading,.workspace-with-results .notice,.workspace-with-results .warning-list,.workspace-with-results .green-podium,.workspace-with-results .route-list{grid-area:auto}.workspace-with-results .route-list{display:grid;overflow:visible}.workspace-with-results .route-card{width:auto}.map-status{max-width:calc(100% - 68px)}.admin-shell{padding-top:76px}.admin-main{width:calc(100% - 20px)}.admin-titlebar{align-items:flex-start;margin-bottom:17px}.operator-badge{display:none}.section-heading{gap:5px;display:grid}.section-heading>p{text-align:left}.quota-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flags-card{grid-template-columns:1fr;gap:14px}.flags-card ul{grid-template-columns:1fr}.map-stage:fullscreen .traffic-renderer-picker{top:auto;bottom:calc(10px + env(safe-area-inset-bottom))}.map-stage:fullscreen .traffic-renderer-reason{top:auto;bottom:calc(100% + 9px)}.map-stage:fullscreen .traffic-renderer-alert{top:auto;bottom:calc(56px + env(safe-area-inset-bottom))}.map-stage:fullscreen .traffic-renderer-picker~.map-status,.map-stage:fullscreen .route-map-controls{top:calc(10px + env(safe-area-inset-top))}}@media (max-width:520px){.brand strong{font-size:16px}.header-actions{gap:4px}.planner-panel,.results-panel{padding:14px}.planner-heading h1{font-size:21px}.toggle-row{grid-template-columns:1fr}.route-primary-metrics{gap:5px}.route-primary-metrics strong{font-size:13px}.green-podium-row{grid-template-columns:auto minmax(0,1fr)}.green-podium-meta{grid-column:2}.quota-grid,.metric-grid{grid-template-columns:1fr}.admin-titlebar h1{font-size:30px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.surface-panel,.glass-panel,.route-card,.app-header,.green-podium-row,.flow-bar span,.green-podium-bar i{border:1px solid canvastext}}
