.bus-panel.svelte-cgqhwf{flex-direction:column;height:100%;display:flex}.panel-head.svelte-cgqhwf{padding:var(--space-md) var(--space-md) var(--space-sm);justify-content:space-between;gap:var(--space-sm);align-items:flex-start;display:flex}.panel-copy.svelte-cgqhwf{gap:6px;min-width:0;display:grid}.panel-copy.svelte-cgqhwf h1:where(.svelte-cgqhwf){letter-spacing:-.03em;font-size:1.7rem;line-height:.95}.panel-actions.svelte-cgqhwf{align-items:center;gap:8px;display:inline-flex}.panel-brand.svelte-cgqhwf{border-radius:var(--radius-full);background:var(--glass-bg);height:34px;-webkit-backdrop-filter:blur(var(--blur-soft));border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;padding:0 12px;font-size:.74rem;font-weight:700;display:inline-flex}.search-wrapper.svelte-cgqhwf{padding:0 var(--space-md) var(--space-md);position:relative}.search-input.svelte-cgqhwf{border-radius:var(--radius-full);background:color-mix(in srgb, var(--card-bg) 82%, transparent);border:1px solid var(--divider);width:100%;height:46px;padding:0 42px 0 14px}.clear-btn.svelte-cgqhwf{border-radius:var(--radius-full);background:var(--card-bg-hover);width:28px;height:28px;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.error-banner.svelte-cgqhwf{justify-content:space-between;align-items:center;gap:var(--space-sm);margin:0 var(--space-md) var(--space-sm);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger);padding:10px 12px;font-size:.8rem;display:flex}.error-banner.svelte-cgqhwf button:where(.svelte-cgqhwf){border-radius:var(--radius-full);width:28px;height:28px}.list.svelte-cgqhwf{padding:0 var(--space-sm) var(--space-sm);flex:1;grid-auto-rows:max-content;align-content:start;gap:6px;display:grid;overflow:auto}.bus-row.svelte-cgqhwf{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--card-bg) 65%, transparent);text-align:left;width:100%;min-height:47px;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:1px solid #0000;justify-content:space-between;align-items:center;padding:0 14px;display:flex}.bus-row.svelte-cgqhwf:hover{background:var(--card-bg-hover);border-color:var(--glass-border);transform:translate(2px)}.bus-row.active.svelte-cgqhwf{background:color-mix(in srgb, var(--accent-light) 90%, transparent);color:var(--text-primary);border-color:color-mix(in srgb, var(--accent-color) 60%, transparent)}.chevron.svelte-cgqhwf{color:var(--text-tertiary)}.section-title.svelte-cgqhwf{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);margin:6px 6px 0;font-size:.72rem;font-weight:700}.stop-row.svelte-cgqhwf{gap:10px}.saved-slot.svelte-cgqhwf{align-content:start;gap:6px;display:none}.saved-slot.show.svelte-cgqhwf{display:grid}html[data-saved] .saved-slot.pending.svelte-cgqhwf{min-height:calc(58px + 62px * var(--saved-stops,0) + 50px * var(--saved-routes,0));display:grid}.stop-name.svelte-cgqhwf{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.spinner.svelte-cgqhwf{border-radius:var(--radius-full);border:2px solid var(--accent-light);border-top-color:var(--accent-color);width:14px;height:14px;animation:.8s linear infinite svelte-cgqhwf-spin}.skeleton.svelte-cgqhwf{border-radius:var(--radius-sm);background:var(--skeleton-from);height:42px;position:relative}.empty.svelte-cgqhwf{padding:var(--space-lg);text-align:center;color:var(--text-secondary)}.footer.svelte-cgqhwf{min-height:48px;padding:0 var(--space-md);color:var(--text-secondary);border-top:1px solid var(--divider);justify-content:space-between;align-items:center;gap:8px;font-size:.78rem;display:flex}@keyframes svelte-cgqhwf-spin{to{transform:rotate(360deg)}}.route-panel.svelte-mfixe1{flex-direction:column;height:100%;display:flex}.route-header.svelte-mfixe1{padding:var(--space-md);gap:var(--space-sm);display:grid}.header-row.svelte-mfixe1{justify-content:space-between;align-items:center;gap:8px;display:flex}.back-btn.svelte-mfixe1{border-radius:var(--radius-sm);background:var(--bg-color);min-height:44px;color:var(--accent-color);justify-self:start;padding:0 12px}.hero.svelte-mfixe1{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--card-bg) 82%, transparent);border:1px solid var(--glass-border);align-items:center;gap:12px;padding:10px;display:flex}.badge.svelte-mfixe1{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent-color), var(--accent-strong));min-width:52px;height:52px;box-shadow:0 8px 20px color-mix(in srgb, var(--accent-glow) 52%, transparent);color:#fff;justify-content:center;align-items:center;padding:0 10px;font-weight:700;display:flex}.hero.svelte-mfixe1 h2:where(.svelte-mfixe1),.hero.svelte-mfixe1 p:where(.svelte-mfixe1){margin:0;line-height:1.3}.hero.svelte-mfixe1 h2:where(.svelte-mfixe1){font-size:1.02rem}.hero.svelte-mfixe1 p:where(.svelte-mfixe1){color:var(--text-secondary);font-size:.9rem}.hero.svelte-mfixe1 small:where(.svelte-mfixe1){color:var(--text-tertiary);font-size:.72rem}.meta.svelte-mfixe1{flex-wrap:wrap;gap:8px;display:flex}.meta.svelte-mfixe1 span:where(.svelte-mfixe1){border-radius:var(--radius-full);background:color-mix(in srgb, var(--card-bg) 84%, transparent);color:var(--text-secondary);border:1px solid var(--glass-border);padding:4px 10px;font-size:.75rem}.direction-tabs.svelte-mfixe1{padding:0 var(--space-md) var(--space-sm);grid-template-columns:1fr 1fr;gap:6px;display:grid}.direction-tab.svelte-mfixe1{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--card-bg) 78%, transparent);border:1px solid #0000;min-height:44px;font-size:.8rem}.direction-tab.active.forward-tab.svelte-mfixe1{color:#007aff;background:#007aff29;border-color:#007aff99}.direction-tab.active.return-tab.svelte-mfixe1{color:#ff6b35;background:#ff6b3529;border-color:#ff6b35a6}.stops.svelte-mfixe1{padding:0 var(--space-md) var(--space-sm);flex:1;gap:12px;display:grid;overflow:auto}.stop-row.svelte-mfixe1{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--card-bg) 60%, transparent);transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);border:1px solid #0000;flex-direction:column;align-items:stretch;gap:12px;padding:14px;display:flex}.stop-row.svelte-mfixe1:hover{background:var(--card-bg-hover);border-color:var(--glass-border)}.stop-row.terminal.svelte-mfixe1{background:color-mix(in srgb, var(--accent-light) 60%, transparent)}.stop-row.terminal.return-direction.svelte-mfixe1{background:#ff6b3524}.stop-name-wrap.svelte-mfixe1{gap:4px;width:100%;min-width:0;display:grid}.stop-name.svelte-mfixe1{white-space:normal;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;display:-webkit-box;overflow:hidden}.stop-name-wrap.svelte-mfixe1 small:where(.svelte-mfixe1){color:var(--text-tertiary);font-size:.68rem}.actions.svelte-mfixe1{gap:12px;width:100%;min-width:0;display:flex}.action-btn.svelte-mfixe1{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--card-bg) 84%, transparent);border:1px solid var(--glass-border);flex:1 1 0;justify-content:center;align-items:center;gap:10px;min-width:0;max-width:100%;min-height:54px;padding:0 16px;font-size:.8rem;font-weight:500;display:inline-flex}.action-btn.svelte-mfixe1 svg:where(.svelte-mfixe1){fill:currentColor;flex-shrink:0;width:16px;height:16px}.action-btn.svelte-mfixe1 span:where(.svelte-mfixe1){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-btn.svelte-mfixe1{margin:var(--space-sm) var(--space-md) var(--space-md);border-radius:var(--radius-full);background:linear-gradient(120deg, var(--accent-color), var(--accent-strong));color:#fff;min-height:44px;box-shadow:0 10px 24px color-mix(in srgb, var(--accent-glow) 50%, transparent);font-weight:600}@media (width>=769px){.map-btn.svelte-mfixe1{display:none}}.mobile-tabs.svelte-2xzi6l{height:var(--tab-bar-height);z-index:1200;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-soft)) saturate(125%);backdrop-filter:blur(var(--blur-soft)) saturate(125%);border-top:1px solid var(--divider);padding-bottom:var(--safe-bottom);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-tabs.svelte-2xzi6l button:where(.svelte-2xzi6l){min-height:48px;color:var(--text-secondary);position:relative}.tab-inner.svelte-2xzi6l{flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.7rem;line-height:1;display:inline-flex}.tab-inner.svelte-2xzi6l svg:where(.svelte-2xzi6l){fill:currentColor;width:18px;height:18px}.mobile-tabs.svelte-2xzi6l button:where(.svelte-2xzi6l):after{content:"";border-radius:var(--radius-full);width:22px;height:3px;transition:background var(--duration-fast) var(--ease-out);background:0 0;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.mobile-tabs.svelte-2xzi6l button.active:where(.svelte-2xzi6l){color:var(--text-primary)}.mobile-tabs.svelte-2xzi6l button.active:where(.svelte-2xzi6l):after{background:var(--accent-color)}.mobile-tabs.svelte-2xzi6l button.active:where(.svelte-2xzi6l) .tab-inner:where(.svelte-2xzi6l){color:var(--text-primary);font-weight:600}@media (width>=769px){.mobile-tabs.svelte-2xzi6l{display:none}}.info-panel.svelte-1j5db1h{height:100%;padding:var(--space-md);background:0 0;align-content:start;gap:14px;display:grid;overflow:auto}header.svelte-1j5db1h{gap:6px;padding-bottom:8px;display:grid}h2.svelte-1j5db1h{font-size:1.32rem}header.svelte-1j5db1h p:where(.svelte-1j5db1h){color:var(--text-secondary);font-size:.82rem}.info-block.svelte-1j5db1h{border-radius:var(--radius-md);background:color-mix(in srgb, var(--card-bg) 80%, transparent);border:1px solid var(--glass-border);gap:8px;padding:14px;display:grid}.info-block.svelte-1j5db1h h3:where(.svelte-1j5db1h){font-size:.85rem}.info-block.svelte-1j5db1h p:where(.svelte-1j5db1h){color:var(--text-secondary);font-size:.78rem}.locale-switcher.svelte-1j5db1h{gap:8px;display:flex}.theme-switcher.svelte-1j5db1h{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.theme-switcher.svelte-1j5db1h button:where(.svelte-1j5db1h),.locale-switcher.svelte-1j5db1h button:where(.svelte-1j5db1h){border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg-color) 76%, transparent);border:1px solid #0000;min-width:44px;min-height:40px;padding:0 8px;font-size:.78rem;font-weight:700}.theme-switcher.svelte-1j5db1h button.active:where(.svelte-1j5db1h),.locale-switcher.svelte-1j5db1h button.active:where(.svelte-1j5db1h){background:linear-gradient(120deg, var(--accent-color), var(--accent-strong));color:#fff;border-color:color-mix(in srgb, var(--accent-color) 70%, transparent)}.footnote.svelte-1j5db1h{color:var(--text-tertiary);padding:12px 2px 0;font-size:.78rem}.footnote.svelte-1j5db1h a:where(.svelte-1j5db1h){color:var(--accent-color);font-weight:600}.route-chip.svelte-zmzxc{top:calc(var(--safe-top) + 58px);left:max(var(--safe-left), 10px);right:max(var(--safe-right), 10px);z-index:var(--z-chip);border-radius:var(--radius-full);background:var(--glass-bg);min-height:48px;-webkit-backdrop-filter:blur(var(--blur-soft)) saturate(125%);backdrop-filter:blur(var(--blur-soft)) saturate(125%);border:1px solid var(--glass-border);box-shadow:var(--shadow-md);text-align:left;animation:svelte-zmzxc-chipIntro var(--duration-normal) var(--ease-spring);align-items:center;gap:8px;padding:8px;display:flex;position:absolute}.badge.svelte-zmzxc{border-radius:var(--radius-full);background:linear-gradient(120deg, var(--accent-color), var(--accent-strong));color:#fff;justify-content:center;align-items:center;min-width:38px;height:32px;padding:0 8px;font-weight:700;display:flex}.title.svelte-zmzxc{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.82rem;font-weight:600;overflow:hidden}.meta.svelte-zmzxc{color:var(--text-secondary);font-size:.72rem}@media (width>=769px){.route-chip.svelte-zmzxc{max-width:min(440px,100vw - 460px);top:20px;left:400px;right:auto}}@keyframes svelte-zmzxc-chipIntro{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.map-overlay.svelte-fris0t{top:calc(var(--controls-top) + var(--controls-height) + 8px);right:var(--controls-right);z-index:var(--z-overlay);pointer-events:none;justify-items:end;gap:8px;display:grid;position:absolute}.loading-pill.svelte-fris0t,.offline-pill.svelte-fris0t{border-radius:var(--radius-md);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-soft)) saturate(125%);backdrop-filter:blur(var(--blur-soft)) saturate(125%);box-shadow:var(--shadow-sm);color:var(--text-secondary);border:1px solid var(--glass-border);align-items:center;gap:8px;padding:10px 12px;font-size:.78rem;display:flex}.offline-pill.svelte-fris0t{max-width:min(300px,80vw);color:var(--warning);gap:4px;display:grid}.offline-meta.svelte-fris0t{color:var(--text-tertiary);font-size:.72rem}@media (width<=768px){.map-overlay.svelte-fris0t{top:auto;right:max(var(--safe-right), 10px);left:max(var(--safe-left), 10px);bottom:calc(var(--tab-bar-height) + 12px);justify-items:center}.loading-pill.svelte-fris0t,.offline-pill.svelte-fris0t{max-width:min(420px, calc(100vw - var(--safe-left) - var(--safe-right) - 20px))}}.spinner.svelte-fris0t{border-radius:var(--radius-full);border:2px solid var(--accent-light);border-top-color:var(--accent-color);width:16px;height:16px;animation:.8s linear infinite svelte-fris0t-spin}@keyframes svelte-fris0t-spin{to{transform:rotate(360deg)}}.app-shell.svelte-1uha8ag{isolation:isolate;width:100vw;height:100dvh;position:relative;overflow:hidden}.app-shell.svelte-1uha8ag:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 86% 10%,#2ca9ff29,#0000 36%);position:absolute;inset:0}.map-area.svelte-1uha8ag{z-index:var(--z-map);background:var(--bg-elevated);position:absolute;inset:0}.map-placeholder.svelte-1uha8ag{background:linear-gradient(148deg,#09152a 0%,#102344 52%,#16315a 100%);place-items:center;width:100%;height:100%;display:grid}.map-placeholder-hint.svelte-1uha8ag{border-radius:var(--radius-md);color:#eef5ffeb;letter-spacing:.01em;text-align:center;-webkit-backdrop-filter:blur(2px);background:#020a147a;border:1px solid #fff3;margin:0;padding:10px 14px;font-size:.95rem;font-weight:600}.sidebar.svelte-1uha8ag,.info-drawer.svelte-1uha8ag{z-index:var(--z-panel);background:var(--sidebar-bg);-webkit-backdrop-filter:blur(var(--blur-strong)) saturate(138%);border:1px solid var(--glass-border);box-shadow:var(--shadow-panel);will-change:transform, opacity;position:fixed;overflow:hidden}@media (width<=1024px){.sidebar.svelte-1uha8ag,.info-drawer.svelte-1uha8ag{background:color-mix(in srgb, var(--sidebar-bg-solid) 90%, transparent);-webkit-backdrop-filter:none}}.sidebar.svelte-1uha8ag{top:var(--sidebar-inset);left:var(--sidebar-inset);bottom:var(--sidebar-inset);width:min(360px, calc(100vw - 2 * var(--sidebar-inset)));border-radius:var(--radius-xl)}.info-drawer.svelte-1uha8ag{top:var(--sidebar-inset);right:var(--sidebar-inset);bottom:var(--sidebar-inset);width:min(360px, calc(100vw - 2 * var(--sidebar-inset)));border-radius:var(--radius-xl);opacity:.4;transition:transform var(--duration-normal) var(--ease-out), opacity var(--duration-fast) var(--ease-out);transform:translate(112%)}.app-shell.is-info.svelte-1uha8ag .info-drawer:where(.svelte-1uha8ag){opacity:1;transform:translate(0)}@media (width<=768px){.map-area.svelte-1uha8ag{bottom:var(--tab-bar-height)}.sidebar.svelte-1uha8ag,.info-drawer.svelte-1uha8ag{top:0;bottom:var(--tab-bar-height);background:color-mix(in srgb, var(--bg-color) 92%, #02142e);opacity:0;visibility:hidden;pointer-events:none;width:100%;transition:opacity var(--duration-fast) var(--ease-out), visibility var(--duration-fast) var(--ease-out);padding-top:var(--safe-top);border:none;border-radius:0;left:0;right:0;transform:none}.app-shell.is-buses.svelte-1uha8ag .sidebar:where(.svelte-1uha8ag),.app-shell.is-info.svelte-1uha8ag .info-drawer:where(.svelte-1uha8ag){opacity:1;visibility:visible;pointer-events:auto}.app-shell.is-buses.svelte-1uha8ag .info-drawer:where(.svelte-1uha8ag),.app-shell.is-map.svelte-1uha8ag .info-drawer:where(.svelte-1uha8ag),.app-shell.is-info.svelte-1uha8ag .sidebar:where(.svelte-1uha8ag){opacity:0;visibility:hidden;pointer-events:none}}.pick-banner.svelte-1uha8ag{top:calc(var(--safe-top) + 12px);z-index:var(--z-modal);border-radius:var(--radius-full);background:var(--card-bg);max-width:calc(100vw - 24px);box-shadow:var(--shadow-lg);border:1px solid var(--glass-border);color:var(--text-primary);align-items:center;gap:12px;padding:10px 14px;font-size:.84rem;display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}.pick-banner.svelte-1uha8ag button:where(.svelte-1uha8ag){border-radius:var(--radius-full);background:var(--accent-color);color:#fff;flex-shrink:0;padding:6px 12px;font-size:.78rem;font-weight:600}.map-fabs.svelte-1uha8ag{right:var(--sidebar-inset);bottom:var(--sidebar-inset);z-index:var(--z-panel);flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed}.nearby-fab.svelte-1uha8ag{border-radius:var(--radius-full);background:var(--card-bg);border:1px solid var(--glass-border);width:48px;height:48px;box-shadow:var(--shadow-lg);font-size:1.2rem;line-height:1}.nearby-fab.svelte-1uha8ag:disabled{opacity:.6}.planner-fab.svelte-1uha8ag{border-radius:var(--radius-full);background:var(--accent-color);color:#fff;height:48px;box-shadow:var(--shadow-lg);align-items:center;gap:8px;padding:0 16px;font-size:.88rem;font-weight:700;display:inline-flex}.planner-fab.svelte-1uha8ag:hover{filter:brightness(1.05)}.planner-fab-icon.svelte-1uha8ag{font-size:1.1rem;line-height:1}@media (width<=768px){.map-fabs.svelte-1uha8ag{right:12px;bottom:calc(var(--tab-bar-height) + 12px)}.app-shell.is-info.svelte-1uha8ag .map-fabs:where(.svelte-1uha8ag){display:none}}.stop-modal-shell.svelte-1uha8ag{z-index:1400;pointer-events:none;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.stop-modal-shell-content.svelte-1uha8ag{border-radius:var(--radius-md);background:var(--card-bg);box-shadow:var(--shadow-md);color:var(--text-secondary);border:1px solid var(--glass-border);align-items:center;gap:10px;padding:13px 15px;font-size:.85rem;display:inline-flex}.stop-modal-shell-spinner.svelte-1uha8ag{border-radius:var(--radius-full);border:2px solid var(--accent-light);border-top-color:var(--accent-color);width:16px;height:16px;animation:.8s linear infinite svelte-1uha8ag-stop-modal-spin}@keyframes svelte-1uha8ag-stop-modal-spin{to{transform:rotate(360deg)}}
