.heat-control.svelte-l09bsm{position:absolute;left:50%;bottom:calc(80px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:25;display:flex;align-items:center;gap:var(--space-2);padding:6px 12px;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-panel);color:var(--text);font-size:var(--fs-xs);max-width:calc(100vw - 32px)}@media(min-width:769px){.heat-control.beside-sheet.svelte-l09bsm{left:calc((100% - 432px)/2)}}@media(max-width:768px){.heat-control.svelte-l09bsm{bottom:calc(72px + env(safe-area-inset-bottom,0px))}}.heat-play.svelte-l09bsm{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;flex:none}.heat-range.svelte-l09bsm{width:min(220px,45vw);min-height:32px;accent-color:#d6604d}.heat-hour.svelte-l09bsm{min-width:7.5em;font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap}.heat-status.svelte-l09bsm{color:var(--text-secondary)}.map-container.svelte-njbu1f{width:100%;height:100%;position:absolute;top:0;left:0;z-index:1;transition:opacity .35s ease,filter .35s ease}.map-container.svelte-njbu1f.basemap-switching{opacity:.45;filter:saturate(.6)}.maplibregl-ctrl-attrib{font-size:var(--fs-xs)!important;background:var(--bg-panel)!important;backdrop-filter:blur(var(--glass-blur))!important;-webkit-backdrop-filter:blur(var(--glass-blur))!important}.maplibregl-ctrl-attrib a{color:var(--text-secondary)!important}.maplibregl-ctrl-attrib-inner{background:transparent!important}.maplibregl-ctrl-group{background:var(--bg-panel)!important;backdrop-filter:blur(var(--glass-blur))!important;-webkit-backdrop-filter:blur(var(--glass-blur))!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;overflow:hidden!important}.maplibregl-ctrl-group button{background:transparent!important;border-bottom:1px solid var(--border)!important}.maplibregl-ctrl-group button:last-child{border-bottom:none!important}.maplibregl-ctrl-group button:hover{background:var(--bg-hover)!important}.maplibregl-ctrl-icon{filter:var(--icon-filter, none)}.heat-gain-popup .maplibregl-popup-content{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius);padding:10px 26px 10px 12px;box-shadow:var(--shadow-lg);color:var(--text);font-family:var(--font-sans);font-size:12px;line-height:1.5}.heat-gain-popup .maplibregl-popup-close-button{color:var(--text-muted);font-size:16px;min-width:24px;min-height:24px}.train-mini-popup .maplibregl-popup-content{background:var(--bg-panel);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-strong);border-radius:var(--radius);padding:0;box-shadow:var(--shadow-lg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-xs);min-width:160px;overflow:hidden}.train-mini-popup .maplibregl-popup-close-button{color:var(--text-muted);font-size:var(--fs-base);padding:2px 6px;right:2px;top:2px;background:none;border:none;cursor:pointer;line-height:1;z-index:1;transition:color var(--transition-fast),background var(--transition-fast)}.train-mini-popup .maplibregl-popup-close-button{color:#ffffffe6}.train-mini-popup .maplibregl-popup-close-button:hover{color:#fff;background:#0003;border-radius:var(--radius-sm)}.train-mini-popup .maplibregl-popup-tip{border-top-color:var(--bg-panel)}.train-popup{padding:0;overflow:hidden;border-radius:8px;min-width:170px}.train-popup-band{display:flex;align-items:baseline;gap:8px;padding:7px 12px;color:#fff}.train-popup-label{font-weight:800;font-size:var(--fs-md);letter-spacing:.3px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}.train-popup-type{font-size:var(--fs-xs);color:#ffffffd9;text-transform:uppercase;letter-spacing:.6px;font-weight:700}.train-popup-body{display:flex;flex-direction:column;gap:4px;padding:8px 12px 4px}.train-popup-row{display:flex;align-items:center;gap:5px;font-size:var(--fs-xs);color:var(--text-secondary)}.train-popup-icon{font-size:var(--fs-xs);width:16px;text-align:center;flex-shrink:0}.train-popup-delay.delay-onTime,.train-popup-delay.delay-early{color:var(--on-time);font-weight:600}.train-popup-delay.delay-slight{color:var(--delay-minor);font-weight:600}.train-popup-delay.delay-late,.train-popup-delay.delay-severe{color:var(--delay-severe);font-weight:600}.train-popup-next{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.train-popup-interpolated{display:flex;align-items:center;gap:4px;margin-top:4px;padding-top:4px;border-top:1px solid var(--border);font-size:var(--fs-xs);color:#f59e0b;font-weight:500}.train-popup-actions{display:flex;gap:0;margin-top:6px;border-top:1px solid var(--border)}.train-popup-follow,.train-popup-zoom3d{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;padding:5px 0;border:none;background:none;color:var(--accent, #3b82f6);font-size:var(--fs-xs);font-weight:600;cursor:pointer;transition:background .15s}.train-popup-follow{border-right:1px solid var(--border)}.train-popup-follow:hover,.train-popup-zoom3d:hover{background:color-mix(in srgb,var(--accent, #3b82f6) 12%,transparent)}.train-popup-follow.active{background:var(--accent, #3b82f6);color:#fff}.map-rail.svelte-njbu1f{position:absolute;top:10px;right:10px;z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:8px;transition:right var(--transition-base)}.rail-group.svelte-njbu1f{display:flex;flex-direction:column;width:58px;background:var(--bg-panel);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden}.rail-group.svelte-njbu1f button:where(.svelte-njbu1f){position:relative;width:100%;height:44px;display:grid;place-items:center;color:var(--text)}.rail-group.svelte-njbu1f button:where(.svelte-njbu1f)+button:where(.svelte-njbu1f){border-top:1px solid var(--border)}.rail-group.svelte-njbu1f button:where(.svelte-njbu1f):hover{background:var(--primary-alpha);color:var(--primary)}.rail-group.svelte-njbu1f button[aria-pressed=true]:where(.svelte-njbu1f){background:var(--primary);color:#fff}.rail-group.svelte-njbu1f button:where(.svelte-njbu1f):focus-visible{outline:2px solid var(--primary);outline-offset:-3px}.rail-group.svelte-njbu1f .stack:where(.svelte-njbu1f){height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.lbl.svelte-njbu1f{font-size:var(--fs-xs);font-weight:700;line-height:1.1;max-width:54px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-badge.svelte-njbu1f{position:absolute;top:6px;right:10px;width:9px;height:9px;border-radius:50%;background:var(--primary);border:2px solid var(--bg-panel)}button[aria-pressed=true].svelte-njbu1f .rail-badge:where(.svelte-njbu1f){background:#fff;border-color:var(--primary)}@media(min-width:769px){.map-rail.beside-sheet.svelte-njbu1f{right:442px}}.map-toast.svelte-njbu1f{position:absolute;top:60px;left:50%;transform:translate(-50%);z-index:45;display:flex;align-items:center;gap:6px;max-width:calc(100% - 140px);padding:8px 14px;border-radius:var(--radius);background:var(--text);color:var(--bg);font-size:var(--fs-sm);font-weight:600;box-shadow:var(--shadow-lg)}.map-notice.svelte-njbu1f{position:absolute;z-index:35;left:10px;bottom:84px;width:min(380px,calc(100% - 20px));padding:14px 14px 12px;background:var(--bg-panel);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:svelte-njbu1f-notice-rise .25s ease}@keyframes svelte-njbu1f-notice-rise{0%{transform:translateY(10px);opacity:0}}.map-notice.svelte-njbu1f h3:where(.svelte-njbu1f){display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:var(--fs-md);font-weight:700;color:var(--text)}.map-notice.svelte-njbu1f p:where(.svelte-njbu1f){margin:0 0 12px;font-size:var(--fs-sm);line-height:1.45;color:var(--text-secondary)}.notice-acts.svelte-njbu1f{display:flex;gap:8px;justify-content:flex-end}.notice-btn.svelte-njbu1f{min-height:40px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);font-size:var(--fs-sm);font-weight:600;color:var(--text)}.notice-btn.svelte-njbu1f:hover{background:var(--bg-hover)}.notice-btn--primary.svelte-njbu1f{background:var(--primary);border-color:var(--primary);color:#fff}.notice-btn--primary.svelte-njbu1f:hover{background:var(--primary-dark)}.notice-grab.svelte-njbu1f{display:none;width:36px;height:4px;border-radius:2px;background:var(--border-strong);margin:0 auto 10px}@media(max-width:768px){.map-rail.svelte-njbu1f{top:8px;right:8px}.rail-group.svelte-njbu1f button:where(.svelte-njbu1f){height:42px}.rail-group.svelte-njbu1f .stack:where(.svelte-njbu1f){height:50px}.map-rail.beside-sheet.svelte-njbu1f .rail-group--panels:where(.svelte-njbu1f){display:none}.map-toast.svelte-njbu1f{top:56px;max-width:calc(100% - 80px)}.map-notice.svelte-njbu1f{z-index:60;left:0;right:0;bottom:0;width:auto;border-radius:20px 20px 0 0;border-bottom:0;padding:10px 18px calc(18px + env(safe-area-inset-bottom,0px))}.map-notice.quiet-on-phone.svelte-njbu1f{display:none}.notice-grab.svelte-njbu1f{display:block}.notice-btn.svelte-njbu1f{flex:1;min-height:44px}}@media(prefers-reduced-motion:reduce){.map-notice.svelte-njbu1f{animation:none}.map-rail.svelte-njbu1f{transition:none}}.live-stats.svelte-p4m46d{display:flex;align-items:center;gap:7px;height:40px;padding:0 14px;min-width:0;border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--bg-panel);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-lg);font-size:var(--fs-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden}b.svelte-p4m46d{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}.dot.svelte-p4m46d{width:8px;height:8px;border-radius:50%;flex:none;background:#16a34a;box-shadow:0 0 0 3px #16a34a2e}.dot--off.svelte-p4m46d{background:var(--text-muted);box-shadow:none}.sep.svelte-p4m46d{color:var(--text-muted)}.fresh.svelte-p4m46d{color:var(--text-muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}@media(max-width:768px){.live-stats.svelte-p4m46d{height:38px;padding:0 12px}.fresh.svelte-p4m46d{display:none}}.glyph.svelte-r3rnq4{flex:none;display:block}.body.svelte-r3rnq4{stroke:#1f2937bf;stroke-width:5;stroke-linejoin:round}.halo.svelte-r3rnq4{fill:none;stroke:#7f1d2d;stroke-width:6}[data-theme=dark] .body.svelte-r3rnq4{stroke:#ffffffd9}[data-theme=dark] .halo.svelte-r3rnq4{stroke:#f87171}.list-search.svelte-by06ar{width:100%;height:40px;padding:0 12px;font-size:var(--fs-sm);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-hover);color:var(--text)}.list-count.svelte-by06ar{margin:8px 0 4px;font-size:var(--fs-xs);color:var(--text-muted)}.list.svelte-by06ar{list-style:none;margin:0;padding:0}.row.svelte-by06ar{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:6px;border-radius:var(--radius-sm);text-align:left}.row.svelte-by06ar:hover{background:var(--bg-hover)}.row.selected.svelte-by06ar{background:var(--primary-alpha)}.main.svelte-by06ar{flex:1;min-width:0;display:flex;flex-direction:column}.label.svelte-by06ar{font-size:var(--fs-sm);font-weight:700;color:var(--text)}.sub.svelte-by06ar{font-size:var(--fs-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delay.svelte-by06ar{flex:none;font-variant-numeric:tabular-nums}.empty.svelte-by06ar{padding:16px;text-align:center;font-size:var(--fs-sm);color:var(--text-muted)}.filters.svelte-j8smjv{display:flex;flex-direction:column;gap:14px}h4.svelte-j8smjv{margin:0 0 6px;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.chip-row.svelte-j8smjv{display:flex;flex-wrap:wrap;gap:6px}.chip.svelte-j8smjv{min-height:36px;padding:0 12px;border-radius:var(--radius-full);border:1px solid var(--border-strong);background:transparent;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:600;transition:background var(--transition-fast),color var(--transition-fast)}.chip.svelte-j8smjv:hover{color:var(--text);background:var(--bg-hover)}.chip-active.svelte-j8smjv{background:var(--primary-alpha);border-color:var(--primary);color:var(--primary)}.toggles.svelte-j8smjv{display:flex;flex-direction:column;gap:2px}.toggle-row.svelte-j8smjv{display:flex;align-items:center;gap:10px;min-height:36px;cursor:pointer;font-size:var(--fs-sm);color:var(--text)}.toggle-row.svelte-j8smjv input:where(.svelte-j8smjv){width:18px;height:18px;accent-color:var(--primary)}.reset.svelte-j8smjv{align-self:flex-start;min-height:40px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);font-weight:600;font-size:var(--fs-sm);color:var(--text)}.reset.svelte-j8smjv:hover{background:var(--bg-hover)}.legend.svelte-1bz17vb{font-size:var(--fs-sm);color:var(--text)}h4.svelte-1bz17vb{margin:16px 0 8px;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}h4.svelte-1bz17vb:first-child{margin-top:2px}.row.svelte-1bz17vb{display:flex;align-items:center;gap:10px;min-height:30px}.sw.svelte-1bz17vb{width:28px;display:grid;place-items:center;flex:none}.dot.svelte-1bz17vb{width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 1.5px #1f293799}[data-theme=dark] .dot.svelte-1bz17vb{box-shadow:0 0 0 1.5px #fffc}.hint.svelte-1bz17vb{color:var(--text-muted);font-size:var(--fs-xs)}.count.svelte-1bz17vb{margin-left:auto;color:var(--text-muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.note.svelte-1bz17vb{margin:6px 0 0;font-size:var(--fs-xs);line-height:1.45;color:var(--text-muted)}.interp.svelte-1bz17vb{display:flex;gap:6px;align-items:center;margin-top:12px}.scale.svelte-1bz17vb{display:block;height:12px;border-radius:6px;border:1px solid var(--border-strong);margin:2px 0 6px}.ends.svelte-1bz17vb{display:flex;justify-content:space-between;gap:8px;font-size:var(--fs-xs);color:var(--text-muted)}.ring-samples.svelte-1bz17vb{display:inline-flex;gap:10px;padding:4px}.cluster.svelte-1bz17vb{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#334155;color:#fff;font-size:var(--fs-xs);font-weight:700}[data-theme=dark] .cluster.svelte-1bz17vb{background:#e2e8f0;color:#0f172a}.cov.svelte-1bz17vb{display:grid;grid-template-columns:30px 1fr 44px;gap:8px;align-items:center;font-size:var(--fs-xs);min-height:20px}.cc.svelte-1bz17vb{font-weight:600;color:var(--text-secondary)}.bar.svelte-1bz17vb{height:8px;border-radius:4px;background:color-mix(in srgb,var(--text-muted) 30%,transparent);overflow:hidden}.bar.svelte-1bz17vb i:where(.svelte-1bz17vb){display:block;height:100%;background:var(--primary)}.pct.svelte-1bz17vb{text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums}.map-panel.svelte-112lvh4{position:absolute;z-index:40;top:60px;left:10px;width:360px;max-height:calc(100% - 152px);display:flex;flex-direction:column;background:var(--bg-panel);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;animation:svelte-112lvh4-panel-in .2s ease}@keyframes svelte-112lvh4-panel-in{0%{opacity:0;transform:translateY(6px)}}.grab.svelte-112lvh4{display:none;width:36px;height:4px;border-radius:2px;background:var(--border-strong);margin:8px auto 0;flex:none}.ptabs.svelte-112lvh4{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--border);align-items:center;flex:none}.ptabs.svelte-112lvh4 button:where(.svelte-112lvh4){flex:1;height:36px;border-radius:var(--radius-sm);font-weight:600;font-size:var(--fs-sm);color:var(--text-secondary)}.ptabs.svelte-112lvh4 button:where(.svelte-112lvh4):hover{background:var(--bg-hover);color:var(--text)}.ptabs.svelte-112lvh4 button[aria-selected=true]:where(.svelte-112lvh4){background:var(--primary-alpha);color:var(--primary)}.ptabs.svelte-112lvh4 .x:where(.svelte-112lvh4){flex:none;width:36px;display:grid;place-items:center}.pbody.svelte-112lvh4{overflow-y:auto;overscroll-behavior:contain;padding:12px 14px 16px;min-height:0}@media(max-width:768px){.map-panel.svelte-112lvh4{z-index:60;top:auto;left:0;right:0;bottom:0;width:auto;max-height:60vh;max-height:60dvh;border-radius:20px 20px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom,0px);animation-name:svelte-112lvh4-sheet-in}@keyframes svelte-112lvh4-sheet-in{0%{transform:translateY(24px);opacity:0}}.grab.svelte-112lvh4{display:block}}@media(prefers-reduced-motion:reduce){.map-panel.svelte-112lvh4{animation:none}}.push-subscribe.svelte-1xb4gf4{position:relative}.push-btn.svelte-1xb4gf4{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius);color:var(--text-secondary);transition:all var(--transition-fast);position:relative}.push-btn.svelte-1xb4gf4:hover{background:var(--primary-alpha);color:var(--primary)}.push-btn--active.svelte-1xb4gf4{color:var(--primary)}.push-spinner.svelte-1xb4gf4{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:svelte-1xb4gf4-spin .8s linear infinite}.push-options.svelte-1xb4gf4{position:absolute;top:100%;right:0;margin-top:var(--space-2);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);min-width:240px;z-index:200;box-shadow:var(--shadow-lg, 0 4px 12px rgba(0, 0, 0, .15))}.push-tabs.svelte-1xb4gf4{display:flex;gap:2px;background:var(--bg-hover);border-radius:var(--radius);padding:2px;margin-bottom:var(--space-3)}.push-tab.svelte-1xb4gf4{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:var(--space-1) var(--space-2);font-size:var(--fs-sm);font-weight:500;border-radius:calc(var(--radius) - 2px);color:var(--text-secondary);transition:all var(--transition-fast)}.push-tab.svelte-1xb4gf4:hover:not(:disabled){color:var(--text)}.push-tab--active.svelte-1xb4gf4{background:var(--bg-panel);color:var(--text);box-shadow:0 1px 3px #0000001a}.push-tab.svelte-1xb4gf4:disabled{opacity:.4;cursor:not-allowed}.push-section.svelte-1xb4gf4{margin-bottom:var(--space-3)}.push-section__label.svelte-1xb4gf4{font-size:var(--fs-xs);font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-2)}.push-options__thresholds.svelte-1xb4gf4{display:flex;gap:var(--space-1)}.threshold-btn.svelte-1xb4gf4{flex:1;padding:var(--space-1) var(--space-2);font-size:var(--fs-sm);border-radius:var(--radius);background:var(--bg-hover);color:var(--text-secondary);transition:all var(--transition-fast)}.threshold-btn.svelte-1xb4gf4:hover{background:var(--primary-alpha);color:var(--primary)}.threshold-btn--active.svelte-1xb4gf4{background:var(--primary);color:#fff}.push-station-select.svelte-1xb4gf4{width:100%;padding:var(--space-2);font-size:var(--fs-sm);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);color:var(--text);cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.push-station-select.svelte-1xb4gf4:focus{outline:2px solid var(--primary);outline-offset:-1px}.push-empty.svelte-1xb4gf4{font-size:var(--fs-sm);color:var(--text-muted);font-style:italic}.push-activate-btn.svelte-1xb4gf4{width:100%;padding:var(--space-2);font-size:var(--fs-sm);font-weight:600;background:var(--primary);color:#fff;border-radius:var(--radius);transition:all var(--transition-fast)}.push-activate-btn.svelte-1xb4gf4:hover:not(:disabled){opacity:.9}.push-activate-btn.svelte-1xb4gf4:disabled{opacity:.5;cursor:not-allowed}.push-active-info.svelte-1xb4gf4{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--primary-alpha, rgba(59, 130, 246, .08));border-radius:var(--radius);margin-bottom:var(--space-3)}.push-active-dot.svelte-1xb4gf4{width:8px;height:8px;border-radius:50%;background:var(--primary);flex-shrink:0;animation:svelte-1xb4gf4-pulse-dot 2s ease-in-out infinite}.push-active-text.svelte-1xb4gf4{font-size:var(--fs-sm);font-weight:500;color:var(--text)}.push-unsub-btn.svelte-1xb4gf4{width:100%;padding:var(--space-2);font-size:var(--fs-sm);color:var(--text-muted);border-radius:var(--radius);transition:all var(--transition-fast)}.push-unsub-btn.svelte-1xb4gf4:hover{background:var(--bg-hover);color:var(--text)}@keyframes svelte-1xb4gf4-spin{to{transform:rotate(360deg)}}@keyframes svelte-1xb4gf4-pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.conn.svelte-15qbdxs{margin:var(--space-2) 0 var(--space-3);padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-hover)}.conn__head.svelte-15qbdxs{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.conn__title.svelte-15qbdxs{margin:0;font-size:var(--fs-md);font-weight:700;color:var(--text)}.conn__close.svelte-15qbdxs{min-width:32px;min-height:32px;border-radius:var(--radius-sm);color:var(--text-secondary)}.conn__close.svelte-15qbdxs:hover{background:var(--bg-active);color:var(--text)}.conn__close.svelte-15qbdxs:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.conn__meta.svelte-15qbdxs,.conn__note.svelte-15qbdxs,.conn__state.svelte-15qbdxs{margin:var(--space-1) 0 0;font-size:var(--fs-xs);color:var(--text-secondary)}.conn__note.svelte-15qbdxs{color:var(--text-muted)}.conn__late.svelte-15qbdxs{color:var(--delay, #e0403f)}.conn.svelte-15qbdxs s:where(.svelte-15qbdxs){opacity:.6}.conn__list.svelte-15qbdxs{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.conn__row.svelte-15qbdxs{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"time train" "verdict verdict";gap:2px var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);background:var(--bg-panel);border-left:3px solid var(--band);font-size:var(--fs-sm)}.conn__row--safe.svelte-15qbdxs{--band: var(--on-time)}.conn__row--tight.svelte-15qbdxs{--band: var(--delay-minor)}.conn__row--missed.svelte-15qbdxs{--band: var(--delay-severe)}.conn__row--missed.svelte-15qbdxs .conn__time:where(.svelte-15qbdxs),.conn__row--missed.svelte-15qbdxs .conn__train:where(.svelte-15qbdxs){opacity:.7}.conn__time.svelte-15qbdxs{grid-area:time;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.conn__train.svelte-15qbdxs{grid-area:train;display:flex;gap:var(--space-1);min-width:0}.conn__line.svelte-15qbdxs{font-weight:700;white-space:nowrap}.conn__dest.svelte-15qbdxs{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.conn__verdict.svelte-15qbdxs{grid-area:verdict;display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.conn__chip.svelte-15qbdxs{padding:1px var(--space-2);border-radius:var(--radius-full, 999px);font-size:var(--fs-xs);font-weight:700;background:color-mix(in srgb,var(--band) 16%,transparent);color:color-mix(in srgb,var(--band) 60%,var(--text))}.conn__margin.svelte-15qbdxs{font-size:var(--fs-xs);color:var(--text-secondary)}@media(max-width:768px){.conn__close.svelte-15qbdxs{min-width:44px;min-height:44px}}.train-detail.svelte-zfdyx3{position:fixed;z-index:100;top:calc(var(--header-height) + var(--space-6));right:12px;bottom:12px;width:420px;display:flex;flex-direction:column;background:var(--bg-panel);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;animation:svelte-zfdyx3-slideInRight .3s ease}.sheet-handle.svelte-zfdyx3{display:none;flex:none;width:100%;padding:8px 0 2px}.sheet-handle__bar.svelte-zfdyx3{display:block;width:40px;height:5px;border-radius:3px;background:var(--border-strong);margin:0 auto}.sheet-head.svelte-zfdyx3{flex:none;padding:16px 16px 12px;border-bottom:1px solid var(--border)}.id-row.svelte-zfdyx3{display:flex;gap:12px;align-items:flex-start}.picto.svelte-zfdyx3{flex:none;width:52px;height:52px;border-radius:14px;background:var(--primary);color:#fff;display:grid;place-items:center}.id-text.svelte-zfdyx3{flex:1;min-width:0}.eyebrow.svelte-zfdyx3{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:600;color:var(--text-secondary)}.title.svelte-zfdyx3{margin:2px 0 0;font-size:var(--fs-3xl);line-height:1.1;font-weight:800;letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.title.svelte-zfdyx3:focus{outline:none}.title.svelte-zfdyx3:focus-visible{text-decoration:underline 3px var(--primary);text-underline-offset:5px}.title.svelte-zfdyx3 .kind:where(.svelte-zfdyx3){color:var(--primary)}.od.svelte-zfdyx3{margin:4px 0 0;font-size:var(--fs-md);line-height:1.35;color:var(--text)}.od.svelte-zfdyx3 .arrow:where(.svelte-zfdyx3){color:var(--text-muted)}.od--status.svelte-zfdyx3{color:var(--text-secondary)}.head-btns.svelte-zfdyx3{flex:none;display:flex;gap:2px;margin:-6px -6px 0 0}.icon-btn.svelte-zfdyx3{width:44px;height:44px;border-radius:var(--radius);display:grid;place-items:center;color:var(--text-secondary)}.icon-btn.svelte-zfdyx3:hover{background:var(--bg-hover);color:var(--text)}.icon-btn--on.svelte-zfdyx3{color:var(--primary)}.verified-badge.svelte-zfdyx3{font-size:var(--fs-xs);font-weight:700;padding:1px 7px;border-radius:999px;background:var(--primary-alpha);color:var(--primary)}.status.svelte-zfdyx3{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.badge.svelte-zfdyx3{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;font-size:var(--fs-sm);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.badge--soft.svelte-zfdyx3{background:var(--bg-active);color:var(--text-secondary);font-weight:600}.badge--upd.svelte-zfdyx3{font-weight:500}.live-dot.svelte-zfdyx3{width:8px;height:8px;border-radius:50%;background:#16a34a}.actions.svelte-zfdyx3{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.act-wrap.svelte-zfdyx3{position:relative;display:flex;min-width:0}.act.svelte-zfdyx3,.act-wrap.svelte-zfdyx3 .push-btn{flex:1;width:auto;height:auto;min-width:0;min-height:44px;padding:4px 6px;border-radius:var(--radius);border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;gap:6px;font-size:var(--fs-sm);font-weight:600;color:var(--text);line-height:1.15;text-align:center}.act.svelte-zfdyx3:hover,.act-wrap.svelte-zfdyx3 .push-btn:hover{background:var(--bg-hover);color:var(--text)}.act[aria-pressed=true].svelte-zfdyx3,.act-wrap.svelte-zfdyx3 .push-btn--active{background:var(--primary-alpha);color:var(--primary);border-color:transparent}.act.svelte-zfdyx3 svg:where(.svelte-zfdyx3){flex:none}.act-wrap.svelte-zfdyx3 .push-subscribe{display:flex;flex:1;min-width:0}.share-tooltip.svelte-zfdyx3{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);z-index:2;background:var(--text);color:var(--bg);font-size:var(--fs-xs);font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}.sheet-body.svelte-zfdyx3{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 0 8px}.nextbox.svelte-zfdyx3{margin:12px 16px 4px;padding:12px 14px;border-radius:var(--radius);background:var(--primary-alpha);display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:baseline}.nextbox.svelte-zfdyx3 .k:where(.svelte-zfdyx3){font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--primary)}.nextbox.svelte-zfdyx3 .k--end:where(.svelte-zfdyx3){text-align:right}.nextbox.svelte-zfdyx3 .v:where(.svelte-zfdyx3){font-size:var(--fs-md);font-weight:700;color:var(--text);min-width:0}.nextbox.svelte-zfdyx3 .t:where(.svelte-zfdyx3){font-size:var(--fs-xl);font-weight:800;font-variant-numeric:tabular-nums;text-align:right;color:var(--text)}.nextbox.svelte-zfdyx3 .s:where(.svelte-zfdyx3){grid-column:1 / -1;font-size:var(--fs-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums}.warn.svelte-zfdyx3{margin:12px 16px 4px;padding:12px 14px;border-radius:var(--radius);display:flex;gap:10px;font-size:var(--fs-sm);line-height:1.45;background:color-mix(in srgb,#d6604d 12%,transparent);border:1px solid color-mix(in srgb,#d6604d 45%,transparent);color:var(--text)}.warn.svelte-zfdyx3 b:where(.svelte-zfdyx3){display:block;margin-bottom:2px}.warn.svelte-zfdyx3 .icon{flex:none;margin-top:1px;color:#d6604d}.note-row.svelte-zfdyx3{display:flex;align-items:flex-start;gap:8px;margin:8px 16px 0;font-size:var(--fs-xs);line-height:1.4;color:var(--text-secondary)}.note-row.svelte-zfdyx3 .icon{flex:none;margin-top:1px}.compensation-info.svelte-zfdyx3{display:flex;gap:10px;margin:10px 16px 0;padding:10px 12px;border-radius:var(--radius);background:var(--primary-alpha);font-size:var(--fs-sm);line-height:1.4;color:var(--text)}.compensation-info.svelte-zfdyx3 svg:where(.svelte-zfdyx3){flex:none;color:var(--primary);margin-top:2px}.compensation-info.svelte-zfdyx3 p:where(.svelte-zfdyx3){margin:0 0 4px}.compensation-info.svelte-zfdyx3 a:where(.svelte-zfdyx3){font-weight:600;color:var(--primary)}.siblings-section.svelte-zfdyx3{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:10px 16px 0;font-size:var(--fs-xs)}.siblings-label.svelte-zfdyx3{color:var(--text-muted);white-space:nowrap;display:inline-flex;gap:4px;align-items:center}.sibling-chip.svelte-zfdyx3{padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-hover);color:var(--text-secondary);text-decoration:none;white-space:nowrap}.sibling-chip.svelte-zfdyx3:hover{color:var(--primary);border-color:var(--primary)}.sec-h.svelte-zfdyx3{display:flex;justify-content:space-between;align-items:baseline;padding:16px 16px 6px}.sec-h.svelte-zfdyx3 h3:where(.svelte-zfdyx3),.train-model-info.svelte-zfdyx3 h3:where(.svelte-zfdyx3){margin:0;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.sec-h.svelte-zfdyx3 small:where(.svelte-zfdyx3){font-size:var(--fs-xs);color:var(--text-muted)}.route.svelte-zfdyx3{list-style:none;margin:0;padding:0 8px 0 0;--line: var(--primary);--rail: color-mix(in srgb, var(--text-muted) 40%, transparent)}.stop.svelte-zfdyx3{position:relative;padding-left:52px}.stop.svelte-zfdyx3:before{content:"";position:absolute;left:27px;top:0;bottom:0;width:4px;border-radius:2px;background:var(--line)}.stop.svelte-zfdyx3:first-child:before{top:22px}.stop--end.svelte-zfdyx3:before{bottom:calc(100% - 22px)}.stop--past.svelte-zfdyx3:before{background:var(--rail)}.node.svelte-zfdyx3{position:absolute;left:19px;top:12px;width:20px;height:20px;border-radius:50%;background:var(--bg-panel);border:3px solid var(--line);display:grid;place-items:center;z-index:1}.stop--past.svelte-zfdyx3 .node:where(.svelte-zfdyx3){border-color:var(--text-muted);background:var(--text-muted);color:var(--bg-panel)}.stop--end.svelte-zfdyx3 .node:where(.svelte-zfdyx3){border-width:5px}.row.svelte-zfdyx3{display:flex;align-items:flex-start;gap:8px;min-height:46px;padding:10px 4px 8px}.name.svelte-zfdyx3{flex:1;min-width:0;font-size:var(--fs-md);font-weight:600;line-height:1.3}.name.svelte-zfdyx3 small:where(.svelte-zfdyx3){display:block;font-size:var(--fs-xs);font-weight:500;color:var(--text-muted);margin-top:2px}.stop-link.svelte-zfdyx3{color:var(--text);text-decoration:none}.stop-link.svelte-zfdyx3:hover{color:var(--primary);text-decoration:underline}.stop--past.svelte-zfdyx3 .stop-link:where(.svelte-zfdyx3){color:var(--text-muted);font-weight:500}.times.svelte-zfdyx3{text-align:right;white-space:nowrap;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--text);padding-top:1px}.sch.svelte-zfdyx3{color:var(--text-muted)}s.sch.svelte-zfdyx3{text-decoration-thickness:1px}.arr.svelte-zfdyx3{color:var(--text-muted);margin:0 3px}.eta.svelte-zfdyx3{font-weight:800}.dl.svelte-zfdyx3{display:inline-block;margin-left:5px;padding:1px 6px;border-radius:6px;font-size:var(--fs-xs);font-weight:700}.passed-word.svelte-zfdyx3{color:var(--text-muted);margin:0 2px 0 4px}.actual.svelte-zfdyx3{font-weight:700;color:var(--text-secondary)}.pass.svelte-zfdyx3{font-size:var(--fs-xs);color:var(--text-muted);font-style:italic}.conn-toggle.svelte-zfdyx3{flex:none;width:32px;height:32px;margin:-5px -2px 0 0;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--text-muted)}.conn-toggle.svelte-zfdyx3:hover{background:var(--bg-hover);color:var(--primary)}.conn-toggle[aria-expanded=true].svelte-zfdyx3{color:var(--primary)}.conn-toggle[aria-expanded=true].svelte-zfdyx3 svg:where(.svelte-zfdyx3){transform:rotate(180deg)}.conn-toggle.svelte-zfdyx3 svg:where(.svelte-zfdyx3){transition:transform .2s}.conn-wrap.svelte-zfdyx3{padding:0 4px 10px 0}.moving.svelte-zfdyx3{position:relative;padding-left:52px;height:52px;display:flex;align-items:center}.moving.svelte-zfdyx3:before{content:"";position:absolute;left:27px;top:0;bottom:0;width:4px;border-radius:2px;background:linear-gradient(var(--rail),var(--rail)) top / 100% 50% no-repeat,var(--line)}.moving__train.svelte-zfdyx3{position:absolute;left:13px;top:50%;width:32px;height:32px;margin-top:-16px;border-radius:50%;background:#fff;color:#1e293b;display:grid;place-items:center;box-shadow:0 0 0 3px var(--dc),0 2px 8px #0003;z-index:2}.moving__info.svelte-zfdyx3{padding-left:4px;font-size:var(--fs-sm);color:var(--text-secondary)}.route-loading.svelte-zfdyx3{display:flex;justify-content:center;padding:var(--space-4)}.route-loading__spinner.svelte-zfdyx3{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:svelte-zfdyx3-spin .8s linear infinite}@keyframes svelte-zfdyx3-spin{to{transform:rotate(360deg)}}.delay-sparkline.svelte-zfdyx3,.prediction-info.svelte-zfdyx3,.train-model-info.svelte-zfdyx3{margin:14px 16px 0;padding-top:12px;border-top:1px solid var(--border)}.sparkline-header.svelte-zfdyx3{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.sparkline-title.svelte-zfdyx3,.prediction-tag.svelte-zfdyx3{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.sparkline-max.svelte-zfdyx3,.prediction-context.svelte-zfdyx3{font-size:var(--fs-xs);color:var(--text-muted)}.delay-sparkline.svelte-zfdyx3 svg:where(.svelte-zfdyx3){width:100%;height:42px;display:block}.prediction-header.svelte-zfdyx3{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.prediction-tag.svelte-zfdyx3{display:inline-flex;gap:4px;align-items:center}.prediction-body.svelte-zfdyx3{display:flex;align-items:center;gap:var(--space-4)}.prediction-stat.svelte-zfdyx3{display:flex;align-items:baseline;gap:var(--space-1)}.prediction-pct.svelte-zfdyx3{font-size:var(--fs-2xl);font-weight:800;line-height:1;color:var(--text)}.prediction-label.svelte-zfdyx3{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:500}.prediction-details.svelte-zfdyx3{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-sm);color:var(--text-secondary)}.prediction-samples.svelte-zfdyx3{font-size:var(--fs-xs);color:var(--text-muted)}.prediction-warning.svelte-zfdyx3{display:inline-flex;gap:4px;align-items:center;margin-top:4px;font-size:var(--fs-xs);font-weight:600;color:var(--text)}.facts.svelte-zfdyx3{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:14px 16px 0}.train-model-info.svelte-zfdyx3 .facts:where(.svelte-zfdyx3){margin:8px 0 0}.fact.svelte-zfdyx3{display:flex;flex-direction:column;gap:2px;min-width:0}.fact-k.svelte-zfdyx3{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.fact-v.svelte-zfdyx3{font-size:var(--fs-sm);font-weight:600;color:var(--text);overflow-wrap:anywhere}.fact-v.svelte-zfdyx3 small:where(.svelte-zfdyx3){font-weight:400;color:var(--text-muted);font-size:var(--fs-xs)}.model-photo-link.svelte-zfdyx3{display:inline-flex;margin-top:10px;font-size:var(--fs-sm);font-weight:600;color:var(--primary)}.train-detail__footer.svelte-zfdyx3{margin:16px 16px 0;padding-top:10px;border-top:1px solid var(--border)}.forecast-note.svelte-zfdyx3{margin:0 0 6px;font-size:var(--fs-xs);line-height:1.5;color:var(--text-muted)}.footer-row.svelte-zfdyx3{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.updated-at.svelte-zfdyx3{font-size:var(--fs-xs);color:var(--text-muted)}.train-internal-id.svelte-zfdyx3{font-size:var(--fs-xs);color:var(--text-muted);font-family:var(--font-mono)}.history-link.svelte-zfdyx3{font-size:var(--fs-sm);font-weight:600;color:var(--primary);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.history-link.svelte-zfdyx3:hover{text-decoration:underline}@media(max-width:768px){.train-detail.svelte-zfdyx3{top:auto;left:0;right:0;bottom:0;width:100%;height:58vh;height:58dvh;border-radius:20px 20px 0 0;border-bottom:0;animation-name:svelte-zfdyx3-slideInUp;transition:height .3s ease}.train-detail.sheet-expanded.svelte-zfdyx3{height:88vh;height:88dvh}.sheet-handle.svelte-zfdyx3{display:block}.sheet-head.svelte-zfdyx3{padding:4px 14px 10px}.picto.svelte-zfdyx3{width:42px;height:42px;border-radius:12px}.picto.svelte-zfdyx3 svg:where(.svelte-zfdyx3){width:24px;height:24px}.title.svelte-zfdyx3{font-size:var(--fs-2xl)}.od.svelte-zfdyx3{font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status.svelte-zfdyx3{margin-top:8px;gap:6px}.badge.svelte-zfdyx3{height:26px;padding:0 9px;font-size:var(--fs-xs)}.badge--upd.svelte-zfdyx3{display:none}.actions.svelte-zfdyx3{gap:6px;margin-top:10px}.act.svelte-zfdyx3,.act-wrap.svelte-zfdyx3 .push-btn{flex-direction:column;gap:2px;font-size:var(--fs-xs);min-height:52px;padding:4px 2px}.nextbox.svelte-zfdyx3{margin:10px 14px 2px;padding:10px 12px}.nextbox.svelte-zfdyx3 .t:where(.svelte-zfdyx3){font-size:var(--fs-lg)}.sec-h.svelte-zfdyx3{padding:12px 14px 4px}.sheet-body.svelte-zfdyx3{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}}@media(prefers-reduced-motion:reduce){.train-detail.svelte-zfdyx3{animation:none;transition:none}.conn-toggle.svelte-zfdyx3 svg:where(.svelte-zfdyx3){transition:none}}@keyframes svelte-zfdyx3-slideInRight{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes svelte-zfdyx3-slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.time-player.svelte-1p82w80{position:absolute;bottom:calc(16px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:50;max-width:calc(100% - 32px);background:var(--bg-glass);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);animation:svelte-1p82w80-slideInUp .35s cubic-bezier(.34,1.56,.64,1);overflow:visible;transition:left var(--transition-base)}.time-player.replay.svelte-1p82w80{width:min(680px,calc(100% - 32px));border-radius:var(--radius-lg)}@media(min-width:769px){.time-player.beside-sheet.svelte-1p82w80{left:calc((100% - 432px)/2);max-width:calc(100% - 464px)}}.player-inner.svelte-1p82w80{padding:10px 16px}.controls-row.svelte-1p82w80{display:flex;align-items:center;gap:12px}.transport-controls.svelte-1p82w80{display:flex;align-items:center;gap:2px;flex-shrink:0}.tp-btn.svelte-1p82w80{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast)}.tp-btn.svelte-1p82w80:hover{background:var(--bg-hover);color:var(--text)}.tp-btn.svelte-1p82w80:active{transform:scale(.92)}.tp-btn-play.svelte-1p82w80{width:36px;height:36px;border-radius:var(--radius-full);background:var(--primary);color:#fff}.tp-btn-play.svelte-1p82w80:hover{background:var(--primary-light);color:#fff}.tp-btn-speed.svelte-1p82w80{font-size:var(--fs-xs);font-weight:700;width:auto;padding:0 8px;font-variant-numeric:tabular-nums;color:var(--primary);position:relative}.slider-track.svelte-1p82w80{flex:1;height:6px;background:var(--bg-active);border-radius:var(--radius-full);cursor:pointer;position:relative;touch-action:none}.slider-fill.svelte-1p82w80{position:absolute;top:0;left:0;height:100%;background:var(--primary);border-radius:var(--radius-full);transition:width .1s linear}.slider-thumb.svelte-1p82w80{position:absolute;top:50%;width:14px;height:14px;background:var(--primary);border:2px solid white;border-radius:var(--radius-full);transform:translate(-50%,-50%);box-shadow:0 1px 4px #0003;transition:transform var(--transition-fast)}.slider-track.svelte-1p82w80:hover .slider-thumb:where(.svelte-1p82w80){transform:translate(-50%,-50%) scale(1.2)}.slider-tooltip.svelte-1p82w80{position:absolute;bottom:16px;transform:translate(-50%);background:var(--text);color:var(--text-inverted);font-size:var(--fs-xs);font-weight:600;padding:2px 8px;border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums}.speed-control.svelte-1p82w80{position:relative;flex-shrink:0}.speed-menu.svelte-1p82w80{position:absolute;bottom:100%;right:0;margin-bottom:6px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:4px;display:flex;flex-direction:column;gap:2px;z-index:60}.speed-option.svelte-1p82w80{padding:4px 12px;border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:600;color:var(--text-secondary);white-space:nowrap;text-align:center}.speed-option.svelte-1p82w80:hover{background:var(--bg-hover);color:var(--text)}.speed-option.active.svelte-1p82w80{background:var(--primary-alpha);color:var(--primary)}.info-row.svelte-1p82w80{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:8px}.time-labels.svelte-1p82w80{display:flex;align-items:center;gap:12px;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--text-muted);flex:1;justify-content:center}.time-label-current.svelte-1p82w80{font-weight:700;color:var(--text);font-size:var(--fs-sm)}.info-right.svelte-1p82w80{display:flex;align-items:center;gap:6px;flex-shrink:0}.train-count.svelte-1p82w80{font-size:var(--fs-xs);font-weight:600;color:var(--text-secondary);white-space:nowrap}.load-error.svelte-1p82w80{font-size:var(--fs-xs);color:var(--delay-severe, #e0403f);font-weight:600}.loading-indicator.svelte-1p82w80{width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:svelte-1p82w80-spin .8s linear infinite}.live-row.svelte-1p82w80{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none}.live-row.svelte-1p82w80::-webkit-scrollbar{display:none}.time-player.svelte-1p82w80:not(.replay) .player-inner:where(.svelte-1p82w80){padding:6px}.tp-live.svelte-1p82w80{display:flex;align-items:center;gap:6px;flex:none;height:40px;padding:0 14px;border-radius:var(--radius-full);background:var(--bg-panel);font-size:var(--fs-sm);font-weight:700;color:var(--text)}.live-dot.svelte-1p82w80{width:8px;height:8px;border-radius:50%;background:var(--error);flex-shrink:0}.live-dot-active.svelte-1p82w80{animation:svelte-1p82w80-pulse 2s ease-in-out infinite;box-shadow:0 0 #ef444466}.tp-chip.svelte-1p82w80{display:inline-flex;align-items:center;gap:6px;flex:none;min-height:40px;padding:0 14px;border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:600;color:var(--text-secondary);white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast)}.tp-chip.svelte-1p82w80:hover:not(:disabled){background:var(--primary-alpha);color:var(--primary)}.tp-chip-live.svelte-1p82w80{background:#ef44441a;color:var(--error);min-height:32px;padding:0 10px;font-size:var(--fs-xs)}.tp-chip-live.svelte-1p82w80:hover{background:#ef444433}.tp-chip-primary.svelte-1p82w80{background:var(--primary);color:#fff}.tp-chip-primary.svelte-1p82w80:hover:not(:disabled){background:var(--primary-light);color:#fff}.tp-chip-day.svelte-1p82w80{flex-direction:column;justify-content:center;gap:0;line-height:1.15;background:var(--primary);color:#fff}.tp-chip-day.svelte-1p82w80:hover:not(:disabled){background:var(--primary-dark);color:#fff}.tp-chip-day.svelte-1p82w80:disabled{background:var(--bg-active);color:var(--text-secondary);cursor:not-allowed}.tp-day-main.svelte-1p82w80{display:inline-flex;align-items:center;gap:4px}.tp-chip-day.svelte-1p82w80 small:where(.svelte-1p82w80){font-size:var(--fs-xs);font-weight:600;opacity:.9}.range-hint.svelte-1p82w80{flex:none;padding:0 10px 0 4px;font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap}.date-picker-popup.svelte-1p82w80{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:16px;z-index:60;min-width:260px;animation:svelte-1p82w80-scaleIn .2s ease}.date-picker-header.svelte-1p82w80{font-size:var(--fs-sm);font-weight:700;color:var(--text);margin-bottom:12px}.date-picker-fields.svelte-1p82w80{display:flex;gap:8px;margin-bottom:12px}.date-input.svelte-1p82w80,.time-input.svelte-1p82w80{flex:1;padding:6px 10px;font-size:var(--fs-sm);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text)}.date-picker-actions.svelte-1p82w80{display:flex;justify-content:flex-end;gap:8px}@keyframes svelte-1p82w80-spin{to{transform:rotate(360deg)}}@keyframes svelte-1p82w80-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 6px #ef444400}}@keyframes svelte-1p82w80-slideInUp{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes svelte-1p82w80-scaleIn{0%{transform:translate(-50%) scale(.95);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}@media(max-width:768px){.time-player.svelte-1p82w80{bottom:calc(10px + env(safe-area-inset-bottom,0px));left:8px;right:8px;transform:none;max-width:none;border-radius:var(--radius-lg);animation-name:svelte-1p82w80-slideInUpPhone}@keyframes svelte-1p82w80-slideInUpPhone{0%{transform:translateY(20px);opacity:0}}.tp-chip.svelte-1p82w80{padding:0 11px}.time-player.replay.svelte-1p82w80{width:auto}.player-inner.svelte-1p82w80{padding:8px 12px}.transport-controls.svelte-1p82w80{gap:0}.tp-btn.svelte-1p82w80{width:26px;height:26px}.tp-btn-play.svelte-1p82w80{width:32px;height:32px}.time-labels.svelte-1p82w80{gap:6px;font-size:var(--fs-xs)}.time-label-current.svelte-1p82w80{font-size:var(--fs-xs)}.range-hint.svelte-1p82w80{display:none}}.map-page.svelte-1uha8ag{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.map-layer.svelte-1uha8ag{position:absolute;top:0;right:0;bottom:0;left:0;transition:opacity .3s ease}.map-topbar.svelte-1uha8ag{position:absolute;top:10px;left:10px;z-index:30;display:flex;gap:8px;align-items:center;max-width:calc(100% - 90px)}.map-chip.svelte-1uha8ag{display:flex;align-items:center;gap:7px;flex:none;height:40px;padding:0 14px;border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--bg-panel);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-lg);font-size:var(--fs-sm);font-weight:600;color:var(--text)}.map-chip.svelte-1uha8ag:hover{background:var(--bg-hover)}.map-chip[aria-pressed=true].svelte-1uha8ag{background:var(--primary);border-color:var(--primary);color:#fff}.alert-card.svelte-1uha8ag{position:absolute;bottom:90px;left:24px;max-width:380px;padding:16px;border-radius:12px;background:var(--bg-panel, rgba(255,255,255,.95));box-shadow:0 8px 32px #00000026;z-index:100;animation:svelte-1uha8ag-slideUp .3s ease}.alert-card-close.svelte-1uha8ag{position:absolute;top:8px;right:12px;background:none;border:none;font-size:var(--fs-lg);cursor:pointer;color:var(--text-secondary, #666);padding:4px 8px}.alert-card-severity.svelte-1uha8ag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:20px;font-size:var(--fs-xs);font-weight:700;color:#fff;letter-spacing:.05em}.alert-card-route.svelte-1uha8ag{margin-top:10px;font-weight:700;font-size:var(--fs-base);color:var(--text, #1a1a2e)}.alert-card-station.svelte-1uha8ag{margin-top:4px;font-size:var(--fs-md);color:var(--text-secondary, #666)}.alert-card-desc.svelte-1uha8ag{margin-top:10px;font-size:var(--fs-sm);line-height:1.5;color:var(--text, #333);max-height:120px;overflow-y:auto}@keyframes svelte-1uha8ag-slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.map-topbar.svelte-1uha8ag{top:8px;left:8px;max-width:calc(100% - 82px)}.map-chip.svelte-1uha8ag{height:38px;padding:0 12px}.alert-card.svelte-1uha8ag{left:12px;right:12px;bottom:12px;max-width:none}}
