:root{--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--safe-area-right:env(safe-area-inset-right,0px);--bg:#ffffff;--text:#00263b;--panel:#ffffff;--line:#d6d4cd;--map-bg:#ffffff;--station-stroke:#00263b;--not-open-color:#bdcbd2;--panel-header-bg:#00263b;--panel-header-text:#ffffff;--close-btn-color:rgba(255,255,255,0.6);--capsule-bg:#ffffff;--capsule-text:#00263b;--stops-tag-bg:#f0f2f5;--control-bg:#ffffff;--ctrl-btn-bg:#f0f2f5;--ctrl-icon:var(--text);--ctrl-hover:#e1e4e8;--divider:#e0e0e0;--list-hover:#f0f2f5;--text-main:#00263b;--text-light:#7a7a7a;--text-sub:#999;--edit-accent:#ff6b2c;--edit-muted:rgba(0,0,0,0.08);--help-code-bg:#f7f9fa;--border-color:#dee2e6;--primary-color:#00263b;--primary-hover:#004060;--cgo-primary:var(--primary-color);--cgo-primary-hover:var(--primary-hover);--data1:var(--map-bg);--data2:#00263b;--data3:#999999;--card-bg:#ffffff;--bg-color:#f0f2f5;--btn-text:#ffffff;--btn-info-bg:#e9ecef;--btn-info-text:#495057;--btn-info-hover:#dee2e6;--header-bg:#ffffff;--header-height:48px;--text-color:var(--text-main);--bg-card:var(--card-bg);--panel-bg:var(--panel);--tab-bg:#f8f9fa;--tab-hover:rgba(0,0,0,0.03);--success-color:#34a853;--success-bg:#e6ffed;--success-border:#a8d5b5;--warning-color:#f59e0b;--warning-bg:rgba(255,243,205,0.5);--warning-border:rgba(255,238,186,0.5);--danger-color:#ea4335;--danger-hover:#b3261e;--danger-bg:#fff1f1;--danger-border:#e58f8f;--info-color:#006098;--info-bg:#e8f0fe;--info-border:#b8d0ee;--glass-bg:rgba(255,255,255,0.60);--glass-bg-hover:rgba(255,255,255,0.68);--glass-bg-card:rgba(255,255,255,0.60);--glass-bg-card-hover:rgba(255,255,255,0.68);--glass-bg-surface:rgba(255,255,255,0.72);--glass-bg-panel:rgba(255,255,255,0.82);--glass-shadow:0 0 0 0.5px rgba(0,0,0,0.06),0 8px 24px -6px rgba(0,38,59,0.12),0 2px 6px -2px rgba(0,38,59,0.06),inset 0 1px 1px 0 rgba(255,255,255,0.85),inset 0 -8px 16px -12px rgba(0,0,0,0.03);--glass-shadow-hover:0 0 0 0.5px rgba(0,0,0,0.08),0 12px 32px -6px rgba(0,38,59,0.16),0 4px 8px -2px rgba(0,38,59,0.08),inset 0 1px 1px 0 rgba(255,255,255,0.90),inset 0 -8px 16px -12px rgba(0,0,0,0.04);--glass-duration:0.28s;--glass-easing:cubic-bezier(0.32,0.72,0,1);--lg-rim-lit:0.95;--lg-rim-dark:0.04;--lg-rim-hold:1px;--lg-rim-fade:12px;--lg-rim-side:4px}@media (min-width:641px){:root{--header-height:84px}}[data-theme=dark]{--bg:#1a1a1a;--text:#e5e8ea;--panel:#1f2020;--line:#333333;--map-bg:#1a1a1a;--station-stroke:#bdcbd2;--not-open-color:#4e4e4e;--panel-header-bg:#373838;--panel-header-text:#e5e8ea;--close-btn-color:#78848b;--capsule-bg:#1f2020;--capsule-text:#78848b;--stops-tag-bg:#78848b;--control-bg:#1f2020;--ctrl-btn-bg:#373838;--ctrl-icon:var(--text);--ctrl-hover:#4f4f4f;--divider:#333333;--list-hover:#373838;--text-main:#e5e8ea;--text-light:#a0b0b9;--text-sub:#78848b;--edit-accent:#ff8a55;--edit-muted:rgba(255,255,255,0.08);--primary-color:#006098;--primary-hover:#0070b0;--cgo-primary:var(--primary-color);--cgo-primary-hover:var(--primary-hover);--cgo-btn-dark-bg:var(--primary-color);--cgo-btn-dark-hover-bg:var(--primary-hover);--help-code-bg:#2a2a2a;--border-color:#333333;--data1:var(--map-bg);--data2:#ffffff;--data3:#999999;--card-bg:#1f2020;--bg-color:#1a1a1a;--btn-text:#ffffff;--btn-info-bg:#373838;--btn-info-text:#e5e8ea;--btn-info-hover:#4a4b4c;--header-bg:#1f2020;--text-color:var(--text-main);--bg-card:var(--card-bg);--panel-bg:var(--panel);--tab-bg:#2c2d2e;--tab-hover:rgba(255,255,255,0.05);--success-color:#34a853;--success-bg:#1b3e20;--success-border:#2d5c36;--warning-color:#f59e0b;--warning-bg:rgba(100,75,0,0.2);--warning-border:rgba(120,90,0,0.3);--danger-color:#ea4335;--danger-hover:#ff5252;--danger-bg:#3b0f0f;--danger-border:#7a2424;--info-color:#4da3e0;--info-bg:#15293d;--info-border:#1e4566;--glass-bg:rgba(31,32,34,0.60);--glass-bg-hover:rgba(38,40,44,0.68);--glass-bg-card:rgba(31,32,34,0.60);--glass-bg-card-hover:rgba(38,40,44,0.68);--glass-bg-surface:rgba(31,32,34,0.72);--glass-bg-panel:rgba(31,32,34,0.82);--glass-shadow:0 0 0 0.5px rgba(0,0,0,0.18),0 8px 24px -6px rgba(0,0,0,0.30),0 2px 6px -2px rgba(0,0,0,0.18),inset 0 1px 1px 0 rgba(255,255,255,0.10),inset 0 -8px 16px -12px rgba(0,0,0,0.08);--glass-shadow-hover:0 0 0 0.5px rgba(0,0,0,0.24),0 12px 32px -6px rgba(0,0,0,0.38),0 4px 8px -2px rgba(0,0,0,0.22),inset 0 1px 1px 0 rgba(255,255,255,0.12),inset 0 -8px 16px -12px rgba(0,0,0,0.10);--lg-rim-lit:0.22;--lg-rim-dark:0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]),html:not([data-theme=light]){--bg:#1a1a1a;--text:#e5e8ea;--panel:#1f2020;--line:#333333;--map-bg:#1a1a1a;--station-stroke:#bdcbd2;--not-open-color:#4e4e4e;--panel-header-bg:#373838;--panel-header-text:#e5e8ea;--close-btn-color:#78848b;--capsule-bg:#1f2020;--capsule-text:#78848b;--stops-tag-bg:#78848b;--control-bg:#1f2020;--ctrl-btn-bg:#373838;--ctrl-icon:var(--text);--ctrl-hover:#4f4f4f;--divider:#333333;--list-hover:#373838;--text-main:#e5e8ea;--text-light:#a0b0b9;--text-sub:#78848b;--edit-accent:#ff8a55;--edit-muted:rgba(255,255,255,0.08);--primary-color:#006098;--primary-hover:#0070b0;--cgo-primary:var(--primary-color);--cgo-primary-hover:var(--primary-hover);--cgo-btn-dark-bg:var(--primary-color);--cgo-btn-dark-hover-bg:var(--primary-hover);--help-code-bg:#2a2a2a;--border-color:#333333;--data1:var(--map-bg);--data2:#ffffff;--data3:#999999;--card-bg:#1f2020;--bg-color:#1a1a1a;--btn-text:#ffffff;--btn-info-bg:#373838;--btn-info-text:#e5e8ea;--btn-info-hover:#4a4b4c;--header-bg:#1f2020;--text-color:var(--text-main);--bg-card:var(--card-bg);--panel-bg:var(--panel);--tab-bg:#2c2d2e;--tab-hover:rgba(255,255,255,0.05);--success-color:#34a853;--success-bg:#1b3e20;--success-border:#2d5c36;--warning-color:#f59e0b;--warning-bg:rgba(100,75,0,0.2);--warning-border:rgba(120,90,0,0.3);--danger-color:#ea4335;--danger-hover:#ff5252;--danger-bg:#3b0f0f;--danger-border:#7a2424;--info-color:#4da3e0;--info-bg:#15293d;--info-border:#1e4566;--edge-gradient-bg:#1a1a1a;--edge-gradient-bg-transparent:rgba(26,26,26,0);--glass-bg:rgba(31,32,34,0.60);--glass-bg-hover:rgba(38,40,44,0.68);--glass-bg-card:rgba(31,32,34,0.60);--glass-bg-card-hover:rgba(38,40,44,0.68);--glass-bg-surface:rgba(31,32,34,0.72);--glass-bg-panel:rgba(31,32,34,0.82);--glass-shadow:0 0 0 0.5px rgba(0,0,0,0.18),0 8px 24px -6px rgba(0,0,0,0.30),0 2px 6px -2px rgba(0,0,0,0.18),inset 0 1px 1px 0 rgba(255,255,255,0.10),inset 0 -8px 16px -12px rgba(0,0,0,0.08);--lg-rim-lit:0.22;--lg-rim-dark:0}}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.help-card{background-color:var(--help-code-bg);border:1px solid var(--border-color);border-radius:12px;padding:12px;display:flex;flex-direction:column;align-items:flex-start;color:var(--text-main);text-align:left}.help-card-icon{font-size:24px;margin-bottom:8px}.help-card h4{margin:0 0 5px;font-size:13px;color:var(--text-main);font-weight:700}.help-card ul{margin:0;padding-left:12px;color:var(--text-light);font-size:11px;line-height:1.5;list-style:disc}.help-card ul li{margin-bottom:0;padding-left:0}.help-card ul li:before{content:none}.help-link-btn{display:flex;justify-content:space-between!important;align-items:center;background-color:var(--panel);color:var(--text-main);padding:12px 15px;border-radius:8px;text-decoration:none;font-size:14px;font-weight:700;margin-bottom:10px;border:1px solid var(--border-color);transition:background .2s}.help-link-btn:hover{background-color:var(--ctrl-hover)}.help-link-btn.primary{background-color:var(--primary-color);color:white;border:none}.help-link-btn.primary:hover{background-color:var(--primary-hover)}.help-data-info{background-color:var(--help-code-bg);padding:12px;border-radius:8px;font-size:12px;color:var(--text-light);line-height:1.6;margin:15px 0;border:1px solid var(--border-color)}.help-data-info strong{color:var(--text-main)}*{box-sizing:border-box}html{margin:0;padding:0;width:100%;height:100%;height:100dvh;overflow:hidden;background-color:var(--bg);-webkit-tap-highlight-color:transparent}:root{--font-latin:"Arimo","Arial","Helvetica Neue",sans-serif;--font-cjk:"Noto Sans SC","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;--font-ui:"Arimo","Noto Sans SC","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--font-japanese:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--font-korean:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif}[data-language=ja] body{--font-ui:"Arimo",var(--font-japanese)}[data-language=ko] body{--font-ui:"Arimo",var(--font-korean)}[data-station-language=en] .sta-primary{font-family:var(--font-latin)!important}[data-station-language=en] .sta-secondary{font-family:var(--font-cjk)!important}.header-name-group,.header-name-group *,.panel-header,.panel-header *{-webkit-text-stroke:0!important;text-shadow:none!important}[data-station-language=en] .label-group .sta-main,[data-station-language=en] .label-group .sta-row[data-row-role=main],[data-station-language=en] .label-group .stacn{font-size:8px!important;line-height:9.6px!important;font-family:var(--font-latin)!important;font-weight:500!important;letter-spacing:-.01em!important;-webkit-text-stroke:1px var(--map-bg);paint-order:stroke fill;text-shadow:0 0 1px var(--map-bg),0 0 2px var(--map-bg)}[data-station-language=en] .label-group .sta-meaning,[data-station-language=en] .label-group .sta-phonetic,[data-station-language=en] .label-group .sta-row[data-row-role=meaning],[data-station-language=en] .label-group .sta-row[data-row-role=phonetic]{font-size:6px!important;line-height:7.2px!important;font-family:var(--font-latin)!important;font-weight:500!important;letter-spacing:-.01em!important;-webkit-text-stroke:.8px var(--map-bg);paint-order:stroke fill;text-shadow:0 0 1px var(--map-bg),0 0 2px var(--map-bg)}[data-station-language=en] .label-group .sta-native,[data-station-language=en] .label-group .sta-row[data-row-role=native],[data-station-language=en] .label-group .sta-secondary{font-size:6px!important;line-height:7.5px!important;font-family:var(--font-cjk)!important;font-weight:500!important;letter-spacing:-.01em!important;-webkit-text-stroke:.8px var(--map-bg);paint-order:stroke fill;text-shadow:0 0 1px var(--map-bg),0 0 2px var(--map-bg)}[data-station-language=en] .label-group .sta-row:first-child{margin-top:0!important}[data-station-language=en] .label-group .sta-row:nth-child(2){margin-top:-1.5px!important}[data-station-language=en] .label-group .sta-row:nth-child(n+3){margin-top:-2px!important}[data-station-language=en] .label-group .sta-row.sta-phonetic,[data-station-language=en] .label-group .sta-row:nth-child(4),[data-station-language=en] .label-group .sta-row[data-row-role=phonetic]{margin-top:-1px!important}[data-station-language=en] .label-group .sta-main>span:nth-child(n+2),[data-station-language=en] .label-group .sta-row[data-row-role=main]>span:nth-child(n+2){margin-top:-2.5px!important}[data-station-language=en] .label-group .sta-row>span:nth-child(n+2){margin-top:-2px!important}[data-station-language=ja] .label-group .sta-primary,[data-station-language=ja] .label-group .sta-secondary{font-family:var(--font-japanese)!important}:root{--font-japanese:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic","HarmonyOS Sans JP",sans-serif}.sta-ja-ruby{display:flex!important;flex-direction:row;align-items:flex-end;gap:0;white-space:nowrap!important}.sta-ja-ruby.has-latin{flex-direction:column!important}.sta-ja-ruby.has-latin .ja-ruby-cjk-line,.sta-ja-ruby.has-latin .ja-ruby-latin-line{display:flex!important;flex-direction:row!important;align-items:flex-end!important;gap:0!important;white-space:nowrap!important}.sta-ja-ruby.has-latin .ja-ruby-latin-line{margin-top:-1.5px}.label-group[style*="text-align: center"] .sta-ja-ruby,.label-group[style*="text-align:center"] .sta-ja-ruby{justify-content:center!important}.label-group[style*="text-align: center"] .sta-ja-ruby.has-latin,.label-group[style*="text-align:center"] .sta-ja-ruby.has-latin{align-items:center!important}.label-group[style*="text-align: right"] .sta-ja-ruby,.label-group[style*="text-align:right"] .sta-ja-ruby{justify-content:flex-end!important}.label-group[style*="text-align: right"] .sta-ja-ruby.has-latin,.label-group[style*="text-align:right"] .sta-ja-ruby.has-latin{align-items:flex-end!important}.ja-ruby-group{display:inline-flex;flex-direction:column;align-items:stretch;justify-content:flex-end}.ja-kana{font-size:4.25px;font-weight:400;letter-spacing:-.085em;line-height:1;margin-bottom:-.5px;transform:scaleX(.8);transform-origin:center bottom;-webkit-text-stroke:.4px var(--map-bg);paint-order:stroke fill;text-shadow:0 0 1px var(--map-bg)}.ja-kana,.ja-kanji{display:block;white-space:nowrap;text-align:center;font-family:var(--font-japanese)}.ja-kanji{font-size:11.5px;font-weight:500;line-height:12px}.ja-latin .ja-kanji{font-size:8px;font-family:var(--font-latin)}.sta-ja-gloss{display:block;font-size:5px;font-weight:500;letter-spacing:-.1em;line-height:6.5px;white-space:nowrap;font-family:var(--font-japanese);-webkit-text-stroke:.6px var(--map-bg);paint-order:stroke fill;text-shadow:0 0 1px var(--map-bg)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.ja-kana{-webkit-text-stroke:.3px var(--map-bg)}.sta-ja-gloss{-webkit-text-stroke:.4px var(--map-bg)}}.panel-ja-ruby{display:flex!important;flex-direction:row!important;align-items:flex-end!important;gap:0!important;white-space:nowrap!important;line-height:1!important;font-family:var(--font-japanese)!important}.panel-ja-ruby-group{display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-end}.panel-ja-kana{font-size:8.5px;font-weight:400;letter-spacing:-.05em;line-height:1;margin-bottom:2px;transform:scaleX(.85);transform-origin:center bottom;opacity:.85}.panel-ja-kana,.panel-ja-kanji{display:block;white-space:nowrap;font-family:var(--font-japanese)}.panel-ja-kanji{font-size:18.5px;font-weight:700;line-height:1.1;letter-spacing:.5px}.panel-ja-ruby-group.ja-latin .panel-ja-kanji{font-size:13px;font-family:var(--font-latin)}.panel-ja-gloss{display:block;font-family:var(--font-japanese);font-size:11px;font-weight:500;letter-spacing:-.02em;line-height:1.2;margin-top:3px;color:rgba(255,255,255,.7)!important;white-space:nowrap}.panel-header.is-light-bg .panel-ja-gloss{color:rgba(0,38,59,.7)!important}[data-station-language=ko] .sta-primary,[data-station-language=ko] .sta-secondary{font-family:var(--font-korean)!important}[data-station-font=noto] .sta-primary,[data-station-font=noto] .sta-secondary{font-family:Noto Sans SC,Noto Sans JP,Noto Sans KR,sans-serif!important}[data-station-font=gothic] .sta-primary,[data-station-font=gothic] .sta-secondary{font-family:Arial,Hiragino Kaku Gothic ProN,Apple SD Gothic Neo,sans-serif!important}body{margin:0;padding:0;background-color:var(--bg);color:var(--text);font-family:var(--font-ui)!important;font-weight:500;-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;text-rendering:optimizeLegibility!important;width:100%;height:100%;height:100dvh;overflow:hidden!important;overscroll-behavior:none;position:absolute;top:0;bottom:0;left:0;right:0}button,input,select,textarea{font-family:inherit!important;font-weight:inherit!important}.app{position:absolute;top:0;bottom:0;left:0;right:0;width:100%;height:100%;height:100dvh;min-height:100%;display:flex;flex-direction:column;gap:0;overflow:hidden;box-sizing:border-box;background-color:var(--bg)}html.pwa-standalone,html.pwa-standalone .app,html.pwa-standalone body{height:100vh!important;height:100dvh!important;min-height:100vh!important;min-height:100dvh!important}html.pwa-standalone .app,html.pwa-standalone body{position:relative;inset:auto}@media (display-mode:standalone){.app,body,html{height:100vh!important;height:100dvh!important;min-height:100vh!important;min-height:100dvh!important}.app,body{position:relative;inset:auto}}.tool-header{position:absolute;top:0;left:0;right:0;height:0;min-height:0;padding:0;background-color:transparent;box-shadow:none;border-bottom:none;flex-shrink:0;touch-action:none;pointer-events:none;color:var(--text-main)}.header-island,.tool-header{box-sizing:border-box;z-index:1000}.header-island{position:absolute!important;top:calc(env(safe-area-inset-top, 0px) + 20px);height:52px;min-height:52px;display:flex;align-items:center;background:transparent;border:none;border-radius:14px;padding:0 12px;pointer-events:auto;-webkit-backdrop-filter:blur(16px) saturate(150%) brightness(102%);backdrop-filter:blur(16px) saturate(150%) brightness(102%);box-shadow:var(--glass-shadow,0 0 0 .5px rgba(0,0,0,.06),0 8px 24px -6px rgba(0,38,59,.12),0 2px 6px -2px rgba(0,38,59,.06),inset 0 1px 1px 0 rgba(255,255,255,.85),inset 0 -8px 16px -12px rgba(0,0,0,.03));overflow:visible!important;isolation:isolate;transition:left .25s ease,right .25s ease,width .25s ease,box-shadow var(--glass-duration,.28s) var(--glass-easing,cubic-bezier(.32,.72,0,1))}.header-island:after{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;background:var(--glass-bg-surface,rgba(255,255,255,.72));pointer-events:none;transition:background-color .25s ease}[data-theme=dark] .header-island:after{background:var(--glass-bg-surface,rgba(31,32,34,.72))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .header-island:after{background:var(--glass-bg-surface,rgba(31,32,34,.72))}}.header-island.glass-surface{position:absolute!important;width:auto!important;width:fit-content!important;padding:0 12px!important;margin:0!important;background-color:var(--glass-bg-surface,rgba(255,255,255,.72))!important;overflow:visible!important}:root:not([data-theme=light]) .header-island.glass-surface,[data-theme=dark] .header-island.glass-surface{background-color:var(--glass-bg-surface,rgba(31,32,34,.72))!important;overflow:visible!important}.header-island.glass-surface:after{display:none!important}.header-island:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(to right,rgba(0,38,59,var(--lg-rim-dark,.04)) 0,rgba(0,0,0,0) var(--lg-rim-side,4px),rgba(0,0,0,0) calc(100% - var(--lg-rim-side, 4px)),rgba(0,38,59,var(--lg-rim-dark,.04)) 100%),linear-gradient(to bottom,rgba(255,255,255,var(--lg-rim-lit,.95)) 0,rgba(255,255,255,var(--lg-rim-lit,.95)) var(--lg-rim-hold,1px),rgba(255,255,255,0) var(--lg-rim-fade,12px),rgba(255,255,255,0) calc(100% - var(--lg-rim-fade, 12px)),rgba(255,255,255,calc(var(--lg-rim-lit, .95) * .35)) calc(100% - var(--lg-rim-hold, 1px)),rgba(255,255,255,calc(var(--lg-rim-lit, .95) * .35)) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}.header-island>*{position:relative;z-index:3}.header-island-left{position:absolute!important;left:calc(20px + env(safe-area-inset-left, 0px))!important;right:auto!important;width:auto!important;width:fit-content!important;max-width:calc(100vw - 40px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px) - var(--header-island-right-space, 180px));gap:10px}.header-island-divider{width:1px;height:24px;background-color:var(--border-color);opacity:.8;flex-shrink:0;align-self:center}@media (min-width:641px){html.pwa-standalone .header-island-left .header-island-divider,html.pwa-standalone .header-island-left .header-left{display:none!important}}@media (display-mode:fullscreen) and (min-width:641px),(display-mode:minimal-ui) and (min-width:641px),(display-mode:standalone) and (min-width:641px),(display-mode:window-controls-overlay) and (min-width:641px){.header-island-left .header-island-divider,.header-island-left .header-left{display:none!important}}.header-island-right{position:absolute!important;right:calc(20px + env(safe-area-inset-right, 0px))!important;left:auto!important;width:auto!important;width:fit-content!important;gap:8px}.header-left,.header-right{display:flex;align-items:center;z-index:3;gap:8px}.header-right{justify-content:flex-end}.header-left .btn,.header-right .btn{margin:0!important}.header-center{display:flex;align-items:center;gap:8px;white-space:nowrap;touch-action:manipulation;z-index:1;pointer-events:auto}.header-logo{height:32px;width:auto;flex-shrink:0;border-radius:6px;display:block}.app-title{font-size:1.1rem;font-weight:600;color:var(--text-main);line-height:1;display:inline-block}.title-short{display:none}.mobile-only{display:none!important}.desktop-only{display:inline-flex}.glass-panel{position:relative;border:none!important;background:transparent!important;border-radius:var(--radius-lg,12px);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-backdrop-blur-surface,blur(14px) saturate(135%));-webkit-backdrop-filter:var(--glass-backdrop-blur-surface,blur(14px) saturate(135%));overflow:hidden;isolation:isolate;cursor:default}.glass-panel:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;background:var(--glass-bg-panel,rgba(255,255,255,.82));pointer-events:none}:root:not([data-theme=light]) .glass-panel:after,[data-theme=dark] .glass-panel:after{background:var(--glass-bg-panel,rgba(31,32,34,.82))}.glass-panel:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(to bottom,rgba(255,255,255,calc(var(--lg-rim-lit, .95) * .45)) 0,rgba(255,255,255,calc(var(--lg-rim-lit, .95) * .45)) 1px,rgba(255,255,255,0) 12px);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}.glass-panel>:not(.liquid-glass-effect):not(.glass-refraction){position:relative;z-index:3}.glass-panel:hover{transform:none!important;box-shadow:var(--glass-shadow)!important}.glass-panel:hover:after{background:var(--glass-bg-panel,rgba(255,255,255,.82))!important}:root:not([data-theme=light]) .glass-panel:hover:after,[data-theme=dark] .glass-panel:hover:after{background:var(--glass-bg-panel,rgba(31,32,34,.82))!important}.glass-surface{position:relative;border:none!important;background:transparent!important;border-radius:var(--radius-lg,12px);color:var(--text-main);box-sizing:border-box;overflow:hidden;isolation:isolate;box-shadow:var(--glass-shadow);cursor:default;backdrop-filter:var(--glass-backdrop-blur-surface,blur(14px) saturate(135%));-webkit-backdrop-filter:var(--glass-backdrop-blur-surface,blur(14px) saturate(135%))}.glass-surface.header-island,.glass-surface.tool-header,.glass-surface:has(.dropdown-content),.glass-surface:has(cgo-dropdown),.header-island.glass-surface,.tool-header.glass-surface{overflow:visible!important}.glass-surface.header-island,.header-island.glass-surface{position:absolute!important;width:auto!important;width:fit-content!important}.glass-surface:after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;background:var(--glass-bg-surface,rgba(255,255,255,.72));pointer-events:none}:root:not([data-theme=light]) .glass-surface:after,[data-theme=dark] .glass-surface:after{background:var(--glass-bg-surface,rgba(31,32,34,.72))}.glass-surface:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(to right,rgba(0,38,59,var(--lg-rim-dark,.04)) 0,rgba(0,0,0,0) var(--lg-rim-side,4px),rgba(0,0,0,0) calc(100% - var(--lg-rim-side, 4px)),rgba(0,38,59,var(--lg-rim-dark,.04)) 100%),linear-gradient(to bottom,rgba(255,255,255,var(--lg-rim-lit,.95)) 0,rgba(255,255,255,var(--lg-rim-lit,.95)) var(--lg-rim-hold,1px),rgba(255,255,255,0) var(--lg-rim-fade,12px),rgba(255,255,255,0) calc(100% - var(--lg-rim-fade, 12px)),rgba(255,255,255,calc(var(--lg-rim-lit, .95) * .4)) calc(100% - var(--lg-rim-hold, 1px)),rgba(255,255,255,calc(var(--lg-rim-lit, .95) * .4)) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}.glass-surface>:not(.liquid-glass-effect):not(.glass-refraction){position:relative;z-index:3}.glass-surface:hover{transform:none!important;box-shadow:var(--glass-shadow)!important}.title-full{display:inline}@media (max-width:640px){.title-full{display:none}.title-short{display:inline}.mobile-only{display:inline-flex!important}.desktop-only{display:none!important}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:4px;border:1px solid transparent;cursor:pointer;font-size:.9rem;transition:all .2s;line-height:1;height:34px;box-sizing:border-box;margin:0;touch-action:manipulation;white-space:nowrap;text-decoration:none;font-weight:500}.btn-icon{width:1.1em;height:1.1em;fill:currentColor;margin-top:-1px}.btn-info{background-color:var(--btn-info-bg);color:var(--btn-info-text)}.btn-info,.btn-info:hover{border-color:var(--border-color)}.btn-info:hover{background-color:var(--btn-info-hover);color:var(--text-main)}.btn-dark{background-color:var(--primary-color);color:white;border-color:var(--primary-color);font-weight:600}.btn-dark:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn-dark .btn-icon path{fill:white!important}.btn-primary{background-color:var(--primary-color);color:white;border-color:var(--primary-color);font-weight:600}.btn-primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}.btn-primary.active{background-color:var(--primary-hover);box-shadow:inset 0 2px 4px rgba(0,0,0,.2)}.header{display:none}.map{display:flex;flex-direction:column;flex:1;width:100%;padding:0!important;margin:0!important;overflow:hidden;min-height:0}.map-container{position:relative;flex:1;width:100%;background:var(--map-bg);border:none!important;touch-action:none}.map-container,.map-container *{user-select:none;-webkit-user-select:none}.map-content{position:absolute;top:0;left:0;transform-origin:0 0;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.map-content.is-interacting{will-change:transform}.map-bg-image{position:absolute;z-index:1;pointer-events:none;user-select:none;transform-origin:center}.map-svg{position:relative;z-index:2;display:block;background:transparent;shape-rendering:geometricPrecision;text-rendering:optimizeLegibility;image-rendering:-webkit-optimize-contrast}.zoom-controls{position:absolute;left:20px;top:88px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px 4px;background:var(--control-bg);border-radius:20px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:800;border:1px solid var(--divider);width:60px}.zoom-btn{width:24px;height:24px;border-radius:50%;border:none;background:var(--ctrl-btn-bg);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ctrl-icon);transition:all .2s;padding:0}.zoom-btn:hover{background-color:var(--ctrl-hover)}.zoom-btn svg{width:16px;height:16px;fill:currentColor}.zoom-slider-wrap{height:80px;width:24px;display:flex;align-items:center;justify-content:center;position:relative}.zoom-slider{width:80px;height:24px;transform:rotate(-90deg);appearance:none;background:transparent;cursor:pointer;margin:0}.zoom-slider::-webkit-slider-runnable-track{width:100%;height:3px;background:var(--divider);border-radius:2px}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:12px;width:12px;border-radius:50%;background:#00263b;margin-top:-4.5px;box-shadow:0 1px 3px rgba(0,0,0,.3)}[data-theme=dark] .zoom-slider::-webkit-slider-thumb{background:#78848b}.zoom-value{display:none}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.map-content[data-edit-mode=true] .layer-assets,.map-content[data-edit-mode=true] .layer-lines,.map-content[data-edit-mode=true] .layer-stations{opacity:.35;pointer-events:none;transition:opacity .2s ease}.map-content[data-edit-mode=true][data-active-layer=assets] .layer-assets,.map-content[data-edit-mode=true][data-active-layer=lines] .layer-lines,.map-content[data-edit-mode=true][data-active-layer=stations] .layer-stations{opacity:1;pointer-events:auto}.map-content[data-edit-mode=true][data-active-layer=stations][data-station-tool=add] .layer-lines{opacity:.7;pointer-events:auto}.map-content[data-edit-mode=true][data-active-layer=stations] .labels-layer{pointer-events:none}.map-content[data-edit-mode=true][data-active-layer=lines] .labels-layer,.map-content[data-edit-mode=true][data-active-layer=lines] .labels-layer .label-group,.map-content[data-edit-mode=true][data-active-layer=lines] .layer-stations,.map-content[data-edit-mode=true][data-active-layer=lines] .layer-stations .station,.map-content[data-edit-mode=true][data-active-layer=lines] .layer-stations .station-hit,.map-content[data-edit-mode=true][data-active-layer=notOpen] .labels-layer,.map-content[data-edit-mode=true][data-active-layer=notOpen] .labels-layer .label-group,.map-content[data-edit-mode=true][data-active-layer=notOpen] .layer-stations,.map-content[data-edit-mode=true][data-active-layer=notOpen] .layer-stations .station,.map-content[data-edit-mode=true][data-active-layer=notOpen] .layer-stations .station-hit{pointer-events:none!important}.animate-zoom{transition:transform .2s cubic-bezier(.25,.46,.45,.94)}.panel-fit-transition,.route-fit-transition{transition:transform .34s cubic-bezier(.22,1,.36,1)}.map-content.sheet-map-follow{transition:none!important;will-change:transform;backface-visibility:hidden}.map-canvas{position:relative;background:var(--map-bg)}.stations-layer{inset:0;pointer-events:none;z-index:35}.station,.stations-layer{position:absolute;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.station{cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s}.station,.station-hit{transform:translate(-50%,-50%);pointer-events:auto}.station-hit{position:absolute;width:22px;height:22px;border-radius:50%;left:50%;top:50%;background:transparent}.station-hit.is-enlarged{width:36px;height:36px}.station.is-selected{box-shadow:0 0 0 3px var(--edit-accent);border-radius:50%;cursor:grab}.station.is-dragging,.station.is-selected:active{cursor:grabbing}.station.is-dragging{transition:none!important;box-shadow:0 0 0 3px var(--edit-accent),0 4px 12px rgba(0,0,0,.18);z-index:200}.station svg{width:100%;height:100%;display:block;shape-rendering:geometricPrecision;text-rendering:optimizeLegibility}.station.active{transform:translate(-50%,-50%) scale(1.5);z-index:100!important;filter:drop-shadow(0 0 5px rgba(0,0,0,.5))}.label-group.active{z-index:35}.label-group.active .stacn{color:#d0021b;transform:scale(1.1);transform-origin:inherit;font-size:15px;line-height:15px;font-weight:700}.label-group.active .staen{color:#d0021b;font-size:9px;line-height:8px;font-weight:700}.diy,.dot,.rdot,.tsfo{width:10px;height:10px;z-index:15}.tsf{width:17.5px;height:17.5px;z-index:20}.no{width:10px;height:10px;z-index:5}.station.is-iso-fare-origin{width:14px!important;height:14px!important;z-index:45!important}.iso-fare-origin-dot{width:14px;height:14px;border-radius:50%;background:#e53935;border:2px solid #ffffff;box-shadow:0 0 0 1px rgba(0,0,0,.2),0 2px 8px rgba(229,57,53,.65);display:block;box-sizing:border-box;animation:isoOriginPulse 2s ease-in-out infinite}[data-theme=dark] .iso-fare-origin-dot{background:#ff453a;border:2px solid #ffffff;box-shadow:0 0 0 1px rgba(0,0,0,.5),0 0 12px rgba(255,69,58,.8)}@keyframes isoOriginPulse{0%,to{transform:scale(1);box-shadow:0 0 0 1px rgba(0,0,0,.2),0 2px 8px rgba(229,57,53,.65)}50%{transform:scale(1.15);box-shadow:0 0 0 2px rgba(255,255,255,.8),0 3px 12px rgba(229,57,53,.9)}}.station.is-iso-fare-node{width:16px!important;height:16px!important;z-index:35!important}.iso-fare-badge{width:16px;height:16px;min-width:16px;min-height:16px;border-radius:50%;background:#ffffff;color:#111827;border:1.5px solid #374151;box-shadow:0 1px 3px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:10px;font-weight:800;line-height:1;box-sizing:border-box;user-select:none;pointer-events:none;transition:transform .15s ease}.iso-fare-badge.digits-2{font-size:8.5px;letter-spacing:-.5px}[data-theme=dark] .iso-fare-badge{background:#202124;color:#ffffff;border:1.5px solid #e5e7eb;box-shadow:0 1px 4px rgba(0,0,0,.6)}.station.is-iso-fare-node.is-wide-badge{width:22px!important}.iso-fare-badge.digits-3{width:auto;min-width:22px;padding:0 2px;border-radius:8px;font-size:8px;letter-spacing:-.4px}.plugin-origin-dot{animation:pluginOriginHaloRed 2.4s ease-out infinite}@keyframes pluginOriginHaloRed{0%{box-shadow:0 0 0 1px rgba(0,0,0,.2),0 0 0 0 rgba(229,57,53,.5),0 0 0 0 rgba(229,57,53,.25)}70%{box-shadow:0 0 0 1px rgba(0,0,0,.2),0 0 0 12px rgba(229,57,53,0),0 0 0 22px rgba(229,57,53,0)}to{box-shadow:0 0 0 1px rgba(0,0,0,.2),0 0 0 12px rgba(229,57,53,0),0 0 0 22px rgba(229,57,53,0)}}.station.is-iso-fare-origin.has-origin-label{width:18px!important;height:18px!important}.plugin-origin-dot.has-label{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:#ffffff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:10px;font-weight:800;line-height:1}.plugin-origin-dot.tone-blue{background:#1e6fd9;box-shadow:0 0 0 1px rgba(0,0,0,.2),0 2px 8px rgba(30,111,217,.65);animation-name:isoOriginPulseBlue}[data-theme=dark] .plugin-origin-dot.tone-blue{background:#409cff;box-shadow:0 0 0 1px rgba(0,0,0,.5),0 0 12px rgba(64,156,255,.8)}@keyframes isoOriginPulseBlue{0%{box-shadow:0 0 0 1px rgba(0,0,0,.2),0 0 0 0 rgba(30,111,217,.5),0 0 0 0 rgba(30,111,217,.25)}70%,to{box-shadow:0 0 0 1px rgba(0,0,0,.2),0 0 0 12px rgba(30,111,217,0),0 0 0 22px rgba(30,111,217,0)}}.unified-panel.plugin-panel{background:var(--panel-bg)}.unified-panel.plugin-panel .plugin-sheet-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.unified-panel.is-suspended,.unified-panel.mobile-sheet.is-suspended{opacity:0!important;visibility:hidden;pointer-events:none!important;transition:opacity .16s ease-out,visibility 0s linear .16s!important}@media (max-width:640px){.unified-panel.plugin-panel{z-index:11500!important}.unified-panel.plugin-panel .plugin-sheet-scroll{overscroll-behavior:none}.unified-panel.plugin-panel .plugin-sheet-scroll:after{content:"";display:block;width:1px;height:var(--sheet-resting-offset,0);pointer-events:none}.unified-panel.plugin-panel .sheet-grabber-bar{background:rgba(120,120,128,.42);box-shadow:none}}.plugin-origin-dot.tone-green{background:#1a9a4b;box-shadow:0 0 0 1px rgba(0,0,0,.2),0 2px 8px rgba(26,154,75,.65);animation-name:isoOriginPulseGreen}[data-theme=dark] .plugin-origin-dot.tone-green{background:#30c85e;box-shadow:0 0 0 1px rgba(0,0,0,.5),0 0 12px rgba(48,200,94,.8)}@keyframes isoOriginPulseGreen{0%{box-shadow:0 0 0 1px rgba(0,0,0,.2),0 0 0 0 rgba(26,154,75,.5),0 0 0 0 rgba(26,154,75,.25)}70%,to{box-shadow:0 0 0 1px rgba(0,0,0,.2),0 0 0 12px rgba(26,154,75,0),0 0 0 22px rgba(26,154,75,0)}}body.map-plugin-picking .label-group,body.map-plugin-picking .station{cursor:crosshair!important}body.map-plugin-picking .station:hover{filter:drop-shadow(0 0 4px rgba(10,132,255,.95))!important}.label-group.type-no,.label-group.type-no .ja-kana,.label-group.type-no .ja-kanji,.label-group.type-no .sta-ja-gloss,.label-group.type-no .sta-ja-ruby,.label-group.type-no .sta-row,.label-group.type-no .stacn,.label-group.type-no .staen{color:var(--not-open-color)!important}.station-svg{display:block;width:100%;height:100%}.labels-layer{position:absolute;inset:0;pointer-events:none;z-index:30}#custom-context-menu,.map-context-menu{position:fixed;z-index:10000;background:var(--card-bg,#ffffff);color:var(--text-main,#00263b);border-radius:var(--radius-md,8px);box-shadow:var(--shadow-xl,0 18px 46px rgba(0,0,0,.16));padding:6px;min-width:180px;max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);overflow-y:auto;display:flex;flex-direction:column;gap:2px;border:1px solid var(--border-color,#dee2e6);animation:menuFadeIn .15s ease-out;font-family:var(--font-sans,system-ui,-apple-system,sans-serif);user-select:none}@keyframes menuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.ctx-header{padding:8px 12px 6px;font-weight:700;border-bottom:1px solid var(--border-color)!important;margin-bottom:4px;text-align:center;letter-spacing:.3px}.ctx-header,.ctx-menu-btn{font-size:var(--text-base,14px);color:var(--text-main)!important}.ctx-menu-btn{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:9px 12px;border:none;background:transparent;font-weight:500;cursor:pointer;border-radius:var(--radius-xs,4px);text-decoration:none;transition:background var(--transition-base,.15s ease),color var(--transition-base,.15s ease);width:100%;box-sizing:border-box;text-align:left}.ctx-menu-btn:hover{background-color:var(--btn-info-hover,rgba(0,0,0,.05))!important;color:var(--text-main)!important}.ctx-menu-btn:active{background-color:var(--btn-info-bg,rgba(0,0,0,.1))}.ctx-menu-btn .btn-icon,.ctx-menu-btn svg{flex-shrink:0;width:16px;height:16px;fill:currentColor;color:currentColor}.ctx-btn-primary{color:var(--primary-color)!important;font-weight:600}.ctx-btn-primary svg{color:var(--primary-color)!important;fill:var(--primary-color)!important}.ctx-btn-danger{font-weight:600}.ctx-btn-danger,.ctx-btn-danger svg{color:var(--danger-color,#d93025)!important}.ctx-btn-danger svg{fill:var(--danger-color,#d93025)!important}.ctx-divider{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:var(--text-light,#666666)!important;background:transparent!important;padding:6px 12px 2px;margin-top:4px;border:none!important;letter-spacing:.3px}.ctx-divider:after{content:"";flex:1;height:1px;background:var(--border-color,#dee2e6)}.label-group{position:absolute;cursor:pointer;white-space:nowrap;pointer-events:auto}.stacn{font-size:11.5px;color:var(--text);display:block;line-height:13.8px;font-weight:500;font-family:var(--font-cjk);-webkit-text-stroke:1.2px var(--map-bg);paint-order:stroke fill;text-shadow:0 0 1px var(--map-bg),0 0 2px var(--map-bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.stacn{-webkit-text-stroke:.8px var(--map-bg);text-shadow:0 0 1px var(--map-bg)}}.staen{display:block;margin-top:0;white-space:nowrap;text-shadow:0 0 1px var(--map-bg),0 0 2px var(--map-bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sta-tertiary,.staen{font-size:6.65px;color:var(--text);line-height:6.35px;font-family:var(--font-latin);font-weight:500;-webkit-text-stroke:1px var(--map-bg);paint-order:stroke fill}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.staen{-webkit-text-stroke:.6px var(--map-bg);text-shadow:0 0 1px var(--map-bg)}}.footer{padding:12px 20px 18px;font-size:12px;color:#6c6a63}.empty{padding:40px 20px}.content{display:flex;gap:0;padding:0!important;margin:0!important;flex:1;min-height:0;overflow:hidden;align-items:stretch}.edit-toggle.is-active{border-color:var(--edit-accent);color:var(--edit-accent)}.edit-floating-ui{position:absolute;bottom:40px;left:50%;display:flex;flex-direction:column;align-items:center;z-index:50;max-width:100%;pointer-events:none}.edit-toolbar{pointer-events:auto;display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:6px;padding:6px 10px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(250,246,242,.92));border:1px solid rgba(0,0,0,.08);box-shadow:0 10px 28px rgba(0,0,0,.18);border-radius:18px;max-width:min(100vw,1100px);overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;backdrop-filter:blur(8px);animation:toolbarSlideUp .3s cubic-bezier(.2,.8,.2,1);cursor:grab;user-select:none}.edit-toolbar:active{cursor:grabbing}.edit-selection-group{display:inline-flex;align-items:center;background:var(--edit-muted);border-radius:20px;padding:4px 8px 4px 12px;gap:6px;border:1px solid rgba(0,0,0,.05);margin:0 4px}.edit-selection-count{font-size:12px;color:var(--text-main);font-weight:500;white-space:nowrap}.edit-selection-clear{background:none;border:none;color:var(--text-light);font-size:16px;line-height:1;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;width:20px;height:20px;transition:all .2s}.edit-selection-clear:hover{background-color:rgba(0,0,0,.1);color:var(--text-main)}@keyframes toolbarSlideUp{0%{transform:translate(-50%,100%);opacity:0}to{transform:translate(-50%);opacity:1}}.edit-tool{border:1px solid rgba(0,0,0,.08);background:linear-gradient(180deg,#ffffff,#f2ede7);color:#2d2a27;padding:6px 10px 7px;border-radius:14px;font-size:12px;letter-spacing:.2px;cursor:pointer;transition:transform .12s ease,box-shadow .18s ease,background .2s ease,border-color .2s ease;flex-direction:column;gap:3px;min-width:46px;line-height:1}.edit-tool,.edit-tool-icon{display:inline-flex;align-items:center}.edit-tool-icon{width:18px;height:18px;justify-content:center}.edit-tool-icon svg{width:18px;height:18px;display:block}.edit-tool-label{font-size:11px;line-height:1;white-space:nowrap}.edit-tool.is-active{background:linear-gradient(180deg,#ff6b2c,#ff8a55);color:#fff;border-color:#ff6b2c;box-shadow:0 8px 18px rgba(255,107,44,.35)}.edit-tool.save{background:#fff;border-color:#ff6b2c;color:#ff6b2c;font-weight:600}.edit-tool.save:disabled{opacity:.6;cursor:not-allowed}.edit-tool:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.edit-tool:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.12)}.edit-toolbar-divider{width:1px;height:22px;background:rgba(0,0,0,.12)}@media (max-width:640px){.edit-toolbar{width:calc(100% - 16px);border-radius:18px;gap:6px}.edit-tool{padding:4px 10px;font-size:11px}.edit-toolbar-divider{height:14px}}.edit-sub-mode-tabs{display:flex;gap:2px;background:rgba(0,0,0,.08);border-radius:6px;padding:2px}.edit-sub-tab{padding:4px 10px;border:none;background:transparent;color:var(--text-sub,#666);font-size:.72rem;cursor:pointer;border-radius:4px;transition:background .15s,color .15s;white-space:nowrap}.edit-sub-tab.is-active{background:var(--edit-accent,#ff6b2c);color:#fff}.edit-sub-tab:hover:not(.is-active){background:rgba(255,107,44,.15)}@media (max-width:640px){.edit-sub-mode-tabs{gap:1px;padding:1px}.edit-sub-tab{padding:3px 7px;font-size:.65rem}}.station-add-prompt-overlay{position:fixed;inset:0;z-index:9998;background:transparent}.station-add-prompt{position:fixed;z-index:10001;width:220px;padding:10px;border-radius:12px;border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(15,23,42,.14),inset 0 1px 0 rgba(255,255,255,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:station-add-prompt-in .16s ease-out}@keyframes station-add-prompt-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.station-add-prompt-head{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px}.station-add-prompt-swatch{width:12px;height:12px;margin-top:3px;border-radius:4px;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.06)}.station-add-prompt-titles{min-width:0;display:flex;flex-direction:column;gap:2px}.station-add-prompt-titles strong{font-size:13px;font-weight:700;color:#0f172a;line-height:1.25}.station-add-prompt-titles small{font-size:11px;color:#64748b;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.station-add-prompt-actions{display:flex;gap:6px}.station-add-prompt-cancel,.station-add-prompt-confirm{height:32px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;border:1px solid transparent;transition:background .12s,border-color .12s,transform .08s}.station-add-prompt-cancel{flex:0 0 auto;padding:0 12px;background:#f1f5f9;border-color:#e2e8f0;color:#475569}.station-add-prompt-cancel:hover{background:#e2e8f0}.station-add-prompt-confirm{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;background:#0f2f45;color:#fff;border-color:#0f2f45}.station-add-prompt-confirm:hover{background:#16405c}.station-add-prompt-cancel:active,.station-add-prompt-confirm:active{transform:translateY(.5px)}.station-add-prompt-plus{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:rgba(255,255,255,.18);font-size:14px;font-weight:700;line-height:1}.dark-mode .station-add-prompt,[data-theme=dark] .station-add-prompt{background:rgba(32,39,44,.96);border-color:rgba(255,255,255,.08)}.dark-mode .station-add-prompt-titles strong,[data-theme=dark] .station-add-prompt-titles strong{color:#e8edf0}.dark-mode .station-add-prompt-cancel,[data-theme=dark] .station-add-prompt-cancel{background:#2a3238;border-color:#3a444c;color:#c5d0d8}.nearby-station-picker-overlay{position:fixed;inset:0;z-index:9999}.nearby-station-picker{position:fixed;z-index:10000;background:var(--bg,#fff);border:1px solid var(--border,#e0e0e0);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.15);min-width:200px;max-width:320px;overflow:hidden}.nearby-station-picker-header{padding:8px 12px;font-size:.72rem;font-weight:600;color:var(--text-sub,#666);border-bottom:1px solid var(--border,#e0e0e0);background:var(--bg-alt,#f8f8f8)}.nearby-station-picker-list{list-style:none;margin:0;padding:4px 0}.nearby-station-picker-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-size:.78rem;color:var(--text,#333);transition:background .15s}.nearby-station-picker-item:hover{background:rgba(255,107,44,.08)}.nearby-station-picker-item:active{background:rgba(255,107,44,.15)}.nearby-station-picker-item-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1.5px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.1)}.nearby-station-picker-item-info{display:flex;flex-direction:column;gap:1px;min-width:0}.nearby-station-picker-item-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nearby-station-picker-item-line{font-size:.65rem;color:var(--text-sub,#999);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.edit-toolbar-status{font-size:12px;color:var(--text-sub)}.edit-toolbar-status.success{color:var(--edit-accent)}.edit-toolbar-status.error{color:#e5534b}.edit-add-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--edit-muted);color:var(--text-light);font-size:12px}.edit-add-indicator svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6}.edit-tool-hint{margin-bottom:12px;background:rgba(0,29,49,.85);color:#fff;padding:6px 12px;border-radius:8px;font-size:12px;pointer-events:none;white-space:nowrap;backdrop-filter:blur(4px);box-shadow:0 4px 12px rgba(0,0,0,.15);animation:fadeIn .2s ease-out}.edit-tool-hint:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:rgba(0,29,49,.85)}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,5px)}to{opacity:1;transform:translate(-50%)}}.edit-draw-surface{cursor:crosshair;pointer-events:all}.line-draw-guide{position:absolute;left:50%;top:76px;z-index:70;width:min(520px,calc(100% - 420px));min-width:360px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--edit-accent) 35%,var(--divider));border-radius:10px;background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:0 12px 30px rgba(0,29,49,.14);transform:translateX(-50%);backdrop-filter:blur(10px)}.line-draw-guide-progress{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.line-draw-guide-progress span{position:relative;display:flex;align-items:center;gap:5px;color:var(--text-light);font-size:9px;font-weight:700;white-space:nowrap}.line-draw-guide-progress span:not(:last-child):after{content:"";height:1px;flex:1;background:var(--divider)}.line-draw-guide-progress b{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:var(--ctrl-btn-bg);border:1px solid var(--divider);font-size:8px}.line-draw-guide-progress span.is-done{color:var(--edit-accent)}.line-draw-guide-progress span.is-done b{background:var(--edit-accent);border-color:var(--edit-accent);color:#fff}.line-draw-guide-main{min-width:0;display:flex;align-items:center;gap:10px}.line-draw-guide-main>span{min-width:0;display:flex;flex-direction:column;gap:2px}.line-draw-guide-main strong{color:var(--text-main);font-size:12px}.line-draw-guide-main small{overflow:hidden;color:var(--text-light);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.line-draw-guide-main em{flex-shrink:0;padding:3px 7px;border-radius:999px;background:var(--ctrl-btn-bg);color:var(--text-light);font-size:9px;font-style:normal;font-weight:700}.line-draw-guide-actions{display:flex;align-items:center;gap:5px}.line-draw-guide-actions button{height:28px;padding:0 9px;border:1px solid var(--divider);border-radius:5px;background:var(--ctrl-btn-bg);color:var(--text-main);font-size:10px;font-weight:700;cursor:pointer}.line-draw-guide-actions button.is-primary{background:var(--edit-accent);border-color:var(--edit-accent);color:#fff}.line-draw-guide-actions button:disabled{opacity:.42;cursor:not-allowed}@media (max-width:1080px){.line-draw-guide{top:68px;width:min(460px,calc(100% - 180px));min-width:320px}}.edit-line-points circle{cursor:grab}.edit-line-points circle:active{cursor:grabbing}.edit-line-points circle.is-selected{stroke-width:3}.edit-point-hit{pointer-events:all;cursor:grab;touch-action:none}.edit-line-points>g.is-endpoint .edit-point-core{r:8px;stroke-width:2.5}.edit-point-selection-ring{fill:rgba(255,107,44,.12);stroke:var(--edit-accent);stroke-width:1.5;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.edit-point-endpoint-hint rect{fill:var(--editor-navy,#082c46);stroke:rgba(255,255,255,.72);stroke-width:1;vector-effect:non-scaling-stroke}.edit-point-endpoint-hint text{fill:#fff;font-size:10px;font-weight:700;text-anchor:middle;dominant-baseline:middle;letter-spacing:.02em;white-space:nowrap}.selection-line-points .selection-point{fill:rgba(255,107,44,.12);stroke:var(--edit-accent);stroke-width:2}.edit-line-segments path{cursor:pointer;pointer-events:stroke}.edit-line-extend line{stroke:var(--edit-accent);stroke-width:2;stroke-linecap:round}.edit-line-extend circle{fill:rgba(255,255,255,.9);stroke:var(--edit-accent);stroke-width:2;stroke-dasharray:3 2;cursor:grab}.edit-line-extend path{fill:none;stroke:var(--edit-accent);stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke}.edit-line-extend circle:hover{fill:rgba(255,107,44,.15)}.edit-line-extend .extend-anchor{cursor:pointer;pointer-events:all}.edit-line-extend{pointer-events:all}.edit-panel{width:320px;padding:12px;gap:12px;margin-right:12px;max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-y:auto}.edit-panel,.edit-panel-section{background:var(--panel);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column}.edit-panel-section{gap:10px;padding:10px}.edit-panel-title{font-size:12px;color:var(--text-sub);text-transform:uppercase;letter-spacing:.08em}.edit-panel-row{display:flex;align-items:center;gap:8px}.edit-panel-label{min-width:56px;font-size:12px;color:var(--text-sub)}.edit-panel-checkbox{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text)}.edit-panel-number{width:64px;border:1px solid var(--divider);border-radius:6px;padding:4px 6px;background:var(--panel);color:var(--text);font-size:12px}.line-logo-row{display:flex;gap:12px;align-items:center;margin-bottom:8px}.line-logo-preview{width:60px;height:36px;border-radius:8px;border:1px solid var(--divider);background:var(--panel-bg);display:flex;align-items:center;justify-content:center;overflow:hidden}.line-logo-preview img{max-width:100%;max-height:100%}.line-icon-preview,.line-logo-icon{display:inline-flex;align-items:center;justify-content:center;height:100%}.line-icon-preview svg,.line-logo-icon svg{height:100%;width:auto}.line-icon-preview{height:26px}.line-logo-empty{font-size:12px;color:var(--text-light)}.line-logo-actions{display:flex;gap:8px;flex:1}.line-logo-actions input{flex:1;padding:6px 8px;border-radius:8px;border:1px solid var(--divider);background:var(--ctrl-btn-bg);color:var(--text)}.line-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:8px;max-height:220px;overflow:auto;padding:6px;border-radius:10px;border:1px solid var(--divider);background:var(--panel-bg)}.line-icon-item{border:1px solid transparent;border-radius:8px;background:var(--ctrl-btn-bg);padding:6px;display:flex;align-items:center;justify-content:center;cursor:pointer}.line-icon-item img{max-width:100%;max-height:26px}.line-icon-item.is-active{border-color:var(--edit-accent);box-shadow:0 0 0 1px var(--edit-accent)}.line-icon-empty{font-size:12px;color:var(--text-light);padding:6px 4px}.edit-layer-switcher{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.edit-layer-btn{border:1px solid rgba(0,0,0,.08);border-radius:8px;background:linear-gradient(180deg,#ffffff,#f2ede7);color:var(--text-light);padding:8px;font-size:12px;cursor:pointer;transition:all .2s;text-align:center;box-shadow:0 1px 2px rgba(0,0,0,.05)}.edit-layer-btn:hover{color:var(--text-main);background:#fff;transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.08)}.edit-layer-btn.is-active{background:linear-gradient(180deg,#ff6b2c,#ff8a55);color:#fff;border-color:#ff6b2c;box-shadow:0 2px 6px rgba(255,107,44,.3)}.edit-list-wrapper{display:flex;flex-direction:column;gap:8px}.edit-search{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--divider);background:var(--ctrl-btn-bg);color:var(--text)}.edit-list{gap:6px;max-height:220px;overflow-y:auto}.edit-list,.edit-list-item{display:flex;flex-direction:column}.edit-list-item{border:1px solid var(--divider);background:var(--ctrl-btn-bg);border-radius:8px;padding:8px 10px;gap:4px;text-align:left;cursor:pointer;transition:all .15s ease}.edit-list-item.edit-list-item-inline{flex-direction:row;align-items:center;padding:6px 10px;gap:8px}.edit-list-item:hover{background:var(--list-hover)}.edit-list-item.is-active{border-color:var(--edit-accent);background:var(--edit-muted)}.edit-list-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:6px}.edit-list-row.is-active .edit-list-item{border-color:var(--edit-accent);background:var(--edit-muted)}.edit-list-title{font-size:13px;color:var(--text-main)}.edit-list-sub,.edit-list-z{font-size:11px;color:var(--text-sub)}.edit-list-z{text-align:right;min-width:36px}.edit-order{display:flex;flex-direction:column;gap:4px}.edit-order.edit-order-inline{flex-direction:row}.edit-order-btn{border:1px solid var(--divider);background:var(--ctrl-btn-bg);color:var(--text-light);border-radius:6px;padding:2px 6px;cursor:pointer}.edit-form{gap:8px}.edit-field,.edit-form{display:flex;flex-direction:column}.edit-field{gap:4px}.edit-field,.edit-toggle-label{font-size:12px;color:var(--text-sub)}.edit-toggle-label{display:inline-flex;align-items:center;gap:6px}.edit-point-hit{cursor:pointer}.edit-point-core{pointer-events:none}.edit-point-core.is-selected{stroke-width:3}.edit-field input,.edit-field select{width:100%;border:1px solid var(--divider);border-radius:8px;padding:8px 10px;background:var(--ctrl-btn-bg);color:var(--text-main);font-size:13px;transition:all .2s;outline:none}.edit-field input:focus,.edit-field select:focus{border-color:var(--edit-accent);background:var(--bg);box-shadow:0 0 0 2px rgba(255,107,44,.15)}.edit-textarea{width:100%;border:1px solid var(--divider);border-radius:8px;padding:8px 10px;background:var(--ctrl-btn-bg);color:var(--text-main);font-size:13px;resize:vertical;transition:all .2s;outline:none}.edit-textarea:focus{border-color:var(--edit-accent);background:var(--bg);box-shadow:0 0 0 2px rgba(255,107,44,.15)}.edit-action{margin-top:6px;border:1px solid rgba(0,0,0,.08);border-radius:8px;background:linear-gradient(180deg,#ffffff,#f2ede7);color:#2d2a27;padding:8px 12px;cursor:pointer;font-size:13px;font-weight:500;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:all .2s;display:flex;align-items:center;justify-content:center;width:100%}.edit-action:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1);background:linear-gradient(180deg,#fff,#f8f5f2)}.edit-action:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.05)}.edit-danger{color:#e5534b;border-color:rgba(229,83,75,.3)}.edit-danger:hover{background:#fff5f5;border-color:#e5534b}.edit-toggle-row{display:flex;gap:8px}.edit-toggle-btn{border:1px solid rgba(0,0,0,.08);border-radius:8px;background:linear-gradient(180deg,#ffffff,#f2ede7);color:var(--text-light);padding:6px 10px;cursor:pointer;font-size:12px;transition:all .2s;flex:1;text-align:center;box-shadow:0 1px 2px rgba(0,0,0,.05)}.edit-toggle-btn:hover{color:var(--text-main);background:#fff;transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.08)}.edit-toggle-btn.is-on{background:linear-gradient(180deg,#ff6b2c,#ff8a55);color:#fff;border-color:#ff6b2c;box-shadow:0 2px 6px rgba(255,107,44,.3)}.edit-log{display:flex;flex-direction:column;gap:6px;max-height:140px;overflow-y:auto}.edit-log-item{display:flex;justify-content:space-between;font-size:12px;color:var(--text-main);background:var(--ctrl-btn-bg);border-radius:6px;padding:6px 8px}.edit-log-time{color:var(--text-sub)}.edit-field-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.edit-divider{height:1px;background:var(--divider);margin:8px 0}.edit-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.edit-panel-sub-title{font-size:11px;font-weight:700;color:var(--text-main);margin-top:4px;text-transform:uppercase}.edit-empty{font-size:12px;color:var(--text-sub);padding:6px 0}.legend{width:220px;padding:12px 10px;background:var(--panel);border:1px solid var(--line)}#modern-zoom-control{position:absolute;top:88px;left:calc(20px + env(safe-area-inset-left, 0px));z-index:800;box-sizing:border-box;background:transparent!important;border:none;padding:8px 6px;border-radius:50px;display:flex;flex-direction:column;align-items:center;gap:5px;user-select:none;touch-action:manipulation;-webkit-backdrop-filter:blur(16px) saturate(150%) brightness(102%);backdrop-filter:blur(16px) saturate(150%) brightness(102%);box-shadow:var(--glass-shadow,0 0 0 .5px rgba(0,0,0,.06),0 8px 24px -6px rgba(0,38,59,.1),0 2px 6px -2px rgba(0,38,59,.05),inset 0 1px 1px 0 rgba(255,255,255,.85));overflow:hidden;isolation:isolate;transition:top .25s ease,box-shadow var(--glass-duration,.28s) var(--glass-easing,cubic-bezier(.32,.72,0,1))}body.panel-pinned #modern-zoom-control{top:calc(env(safe-area-inset-top, 0px) + 20px)}#modern-zoom-control:after{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;background:var(--glass-bg-surface,rgba(255,255,255,.72));pointer-events:none;transition:background-color .25s ease}[data-theme=dark] #modern-zoom-control:after{background:var(--glass-bg-surface,rgba(31,32,34,.72))}[data-theme=dark] #modern-zoom-control .zoom-btn,[data-theme=dark] #modern-zoom-control .zoom-btn-group{border-color:transparent}[data-theme=dark] #modern-zoom-control .zoom-btn-group .zoom-btn:last-child{border-top-color:var(--ctrl-btn-bg)}[data-theme=dark] #modern-zoom-control .mz-divider,[data-theme=dark] #modern-zoom-control div[style*="height: 1px"]{background-color:var(--ctrl-btn-bg)!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) #modern-zoom-control:after{background:var(--glass-bg-surface,rgba(31,32,34,.72))}:root:not([data-theme=light]) #modern-zoom-control .zoom-btn,:root:not([data-theme=light]) #modern-zoom-control .zoom-btn-group{border-color:transparent}:root:not([data-theme=light]) #modern-zoom-control .zoom-btn-group .zoom-btn:last-child{border-top-color:var(--ctrl-btn-bg)}:root:not([data-theme=light]) #modern-zoom-control .mz-divider,:root:not([data-theme=light]) #modern-zoom-control div[style*="height: 1px"]{background-color:var(--ctrl-btn-bg)!important}}#modern-zoom-control:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(to bottom,rgba(255,255,255,var(--lg-rim-lit,.95)) 0,rgba(255,255,255,var(--lg-rim-lit,.95)) var(--lg-rim-hold,1px),rgba(255,255,255,0) var(--lg-rim-fade,18px),rgba(255,255,255,0) calc(100% - var(--lg-rim-fade, 18px)),rgba(255,255,255,calc(var(--lg-rim-lit, .95) * .3)) calc(100% - var(--lg-rim-hold, 1px)),rgba(255,255,255,calc(var(--lg-rim-lit, .95) * .3)) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}#modern-zoom-control .mz-divider,#modern-zoom-control .mz-slider-track,#modern-zoom-control .zoom-btn,#modern-zoom-control .zoom-btn-group,#modern-zoom-control>*{position:relative;z-index:3}#modern-zoom-control .zoom-btn{width:32px;height:32px;box-sizing:border-box;border-radius:50%;border:1px solid var(--border-color,#dee2e6);background-color:var(--ctrl-btn-bg);color:var(--ctrl-icon);font-size:18px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}#modern-zoom-control .zoom-btn:hover{background-color:var(--ctrl-hover);color:var(--text-main)}#modern-zoom-control .zoom-btn:active{transform:scale(.95)}#modern-zoom-control .zoom-btn-group{display:flex;flex-direction:column;align-items:center;width:32px;box-sizing:border-box;background-color:var(--ctrl-btn-bg);border-radius:16px;border:1px solid var(--border-color,#dee2e6);overflow:hidden}#modern-zoom-control .zoom-btn-group .zoom-btn{width:100%;height:32px;box-sizing:border-box;border-radius:0;background-color:transparent;border:none}#modern-zoom-control .zoom-btn-group .zoom-btn:first-child{border-radius:16px 16px 0 0}#modern-zoom-control .zoom-btn-group .zoom-btn:last-child{border-radius:0 0 16px 16px;border-top:1px solid var(--border-color,#dee2e6)}#modern-zoom-control .zoom-btn-group .zoom-btn:hover{background-color:var(--ctrl-hover);color:var(--text-main)}#modern-zoom-control .zoom-btn-group .zoom-btn:active{transform:scale(.95)}.mz-slider-track{height:100px;width:32px;display:flex;justify-content:center;align-items:center;position:relative}#mz-slider{width:100px;height:32px;transform:rotate(-90deg);transform-origin:center;margin:0;cursor:pointer;-webkit-appearance:none;appearance:none;background:transparent;position:absolute;touch-action:auto}#mz-slider::-webkit-slider-runnable-track{width:100%;height:4px;background:var(--divider);border-radius:2px;cursor:pointer}#mz-slider::-moz-range-track{width:100%;height:4px;background:var(--divider);border-radius:2px;cursor:pointer}#mz-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:16px;width:16px;border-radius:50%;background:var(--primary-color);margin-top:-6px;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .1s;cursor:pointer}#mz-slider::-moz-range-thumb{height:16px;width:16px;border:none;border-radius:50%;background:var(--primary-color);box-shadow:0 1px 3px rgba(0,0,0,.3);cursor:pointer;transition:transform .1s}#mz-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}#mz-slider:focus{outline:none}#modern-zoom-control .mz-divider,#modern-zoom-control div[style*="height: 1px"]{background-color:var(--border-color,#dee2e6)!important}#modern-zoom-control .zoom-btn svg{width:20px;height:20px;margin:0!important;fill:currentColor;display:block}#modern-zoom-control #mz-ride svg{width:17px!important;height:17px!important;margin:0!important}#mobile-pwa-dock{display:none!important;position:fixed!important;left:50%!important;bottom:16px!important;bottom:max(16px,calc(env(safe-area-inset-bottom, 0px) - 8px))!important;transform:translateX(-50%)!important;z-index:1050!important;align-items:center;justify-content:center;gap:10px;user-select:none;-webkit-user-select:none;touch-action:manipulation;pointer-events:auto!important;outline:none;transition:transform .28s cubic-bezier(.22,.78,.2,1),opacity .2s ease}#mobile-pwa-dock.is-card-hidden{transform:translate(-50%,calc(100% + 32px))!important;opacity:0;pointer-events:none!important}@media (prefers-reduced-motion:reduce){#mobile-pwa-dock{transition:opacity .15s ease}#mobile-pwa-dock.is-card-hidden{transform:translateX(-50%)!important}}.mobile-pwa-dock-pill{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:50px;box-sizing:border-box;background:transparent;border:none;-webkit-backdrop-filter:blur(16px) saturate(150%) brightness(102%);backdrop-filter:blur(16px) saturate(150%) brightness(102%);box-shadow:0 0 0 .5px rgba(0,0,0,.05),0 8px 24px -6px rgba(0,38,59,.1),0 2px 6px -2px rgba(0,38,59,.04),inset 0 1px 1px 0 rgba(255,255,255,.65),inset 0 -8px 16px -12px rgba(0,0,0,.02);overflow:hidden;isolation:isolate;position:relative;transition:box-shadow var(--glass-duration,.28s) var(--glass-easing,cubic-bezier(.32,.72,0,1))}[data-theme=dark] .mobile-pwa-dock-pill{box-shadow:0 0 0 .5px rgba(255,255,255,.08),0 10px 28px -6px rgba(0,0,0,.45),0 3px 8px -2px rgba(0,0,0,.3),inset 0 1px 0 0 rgba(255,255,255,.12),inset 0 -10px 16px -12px rgba(0,0,0,.18)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mobile-pwa-dock-pill{box-shadow:0 0 0 .5px rgba(255,255,255,.08),0 10px 28px -6px rgba(0,0,0,.45),0 3px 8px -2px rgba(0,0,0,.3),inset 0 1px 0 0 rgba(255,255,255,.12),inset 0 -10px 16px -12px rgba(0,0,0,.18)}}.mobile-pwa-dock-pill:after{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;background:var(--glass-bg,rgba(255,255,255,.48));pointer-events:none;transition:background-color .25s ease}[data-theme=dark] .mobile-pwa-dock-pill:after{background:var(--glass-bg,rgba(31,32,34,.5))}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mobile-pwa-dock-pill:after{background:var(--glass-bg,rgba(31,32,34,.5))}}.mobile-pwa-dock-pill:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(to bottom,rgba(255,255,255,var(--lg-rim-lit,.95)) 0,rgba(255,255,255,var(--lg-rim-lit,.95)) var(--lg-rim-hold,1px),rgba(255,255,255,0) var(--lg-rim-fade,10px),rgba(255,255,255,0) calc(100% - var(--lg-rim-fade, 10px)),rgba(255,255,255,calc(var(--lg-rim-lit, .95) * .4)) calc(100% - var(--lg-rim-hold, 1px)),rgba(255,255,255,calc(var(--lg-rim-lit, .95) * .4)) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}.mobile-pwa-dock-pill>*{position:relative;z-index:3}.pwa-dock-item{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:74px;height:48px;padding:4px 12px;border-radius:50px;border:none;background:transparent;cursor:pointer;color:var(--ctrl-icon);box-sizing:border-box;position:relative;transition:background-color .2s ease,color .2s ease,transform .15s ease,box-shadow .2s ease;outline:none;-webkit-tap-highlight-color:transparent}.pwa-dock-item:hover:not(.active):not(:disabled){background-color:var(--ctrl-btn-bg);color:var(--text-main)}.pwa-dock-item:active{transform:scale(.95)}.pwa-dock-icon{display:flex}.pwa-dock-icon,.pwa-dock-icon cgo-icon,.pwa-dock-icon svg{width:20px;height:20px;align-items:center;justify-content:center;color:currentColor}.pwa-dock-icon cgo-icon,.pwa-dock-icon svg{font-size:20px;fill:currentColor;display:inline-flex}.pwa-dock-label{font-size:11px;line-height:1;margin-top:3px;font-weight:500;letter-spacing:-.2px;color:currentColor;white-space:nowrap}.pwa-dock-item.active{background-color:rgba(0,38,59,.85)!important;color:#ffffff!important;box-shadow:0 2px 8px rgba(0,38,59,.3),inset 0 1px 0 rgba(255,255,255,.3)}[data-theme=dark] .pwa-dock-item.active{background-color:rgba(0,96,152,.75)!important;box-shadow:0 2px 8px rgba(0,96,152,.35),inset 0 1px 0 rgba(255,255,255,.2)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pwa-dock-item.active{background-color:rgba(0,96,152,.75)!important;box-shadow:0 2px 8px rgba(0,96,152,.35),inset 0 1px 0 rgba(255,255,255,.2)}}.pwa-dock-item.active .pwa-dock-icon cgo-icon,.pwa-dock-item.active .pwa-dock-icon svg{fill:#ffffff!important;color:#ffffff!important}.pwa-dock-item.active .pwa-dock-label{color:#ffffff!important;font-weight:600}.pwa-dock-item.permission-disabled,.pwa-dock-item:disabled{opacity:.4;cursor:not-allowed}.mobile-pwa-dock-ride{position:relative;display:flex;align-items:center;justify-content:center;width:58px;height:58px;flex-shrink:0;border-radius:50%;background:transparent!important;border:none!important;-webkit-backdrop-filter:blur(16px) saturate(150%) brightness(102%);backdrop-filter:blur(16px) saturate(150%) brightness(102%);box-shadow:0 0 0 .5px rgba(0,38,59,.2),0 8px 24px -4px rgba(0,38,59,.35),0 2px 6px -2px rgba(0,38,59,.15),inset 0 1px 1px 0 rgba(255,255,255,.45)!important;cursor:pointer;outline:none;box-sizing:border-box;-webkit-tap-highlight-color:transparent;overflow:hidden;isolation:isolate;transition:transform .15s ease,filter .15s ease,box-shadow .2s ease}.mobile-pwa-dock-ride:after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(0,38,59,.82);pointer-events:none;z-index:1;transition:background-color .25s ease}[data-theme=dark] .mobile-pwa-dock-ride{box-shadow:0 0 0 .5px rgba(0,96,152,.35),0 8px 24px -4px rgba(0,0,0,.55),0 2px 6px -2px rgba(0,96,152,.25),inset 0 1px 0 0 rgba(255,255,255,.2)!important}[data-theme=dark] .mobile-pwa-dock-ride:after{background:rgba(0,96,152,.65)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mobile-pwa-dock-ride{box-shadow:0 0 0 .5px rgba(0,96,152,.35),0 8px 24px -4px rgba(0,0,0,.55),0 2px 6px -2px rgba(0,96,152,.25),inset 0 1px 0 0 rgba(255,255,255,.2)!important}:root:not([data-theme=light]) .mobile-pwa-dock-ride:after{background:rgba(0,96,152,.65)}}.mobile-pwa-dock-ride:before{content:"";position:absolute;inset:0;border-radius:50%;padding:1px;background:linear-gradient(to bottom,rgba(255,255,255,var(--lg-rim-lit,.95)) 0,rgba(255,255,255,var(--lg-rim-lit,.95)) var(--lg-rim-hold,1px),rgba(255,255,255,0) var(--lg-rim-fade,12px),rgba(255,255,255,0) calc(100% - var(--lg-rim-fade, 12px)),rgba(255,255,255,calc(var(--lg-rim-lit, .95) * .35)) calc(100% - var(--lg-rim-hold, 1px)),rgba(255,255,255,calc(var(--lg-rim-lit, .95) * .35)) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}.mobile-pwa-dock-ride .pwa-dock-ride-icon,.mobile-pwa-dock-ride svg,.mobile-pwa-dock-ride>*{position:relative;z-index:3;width:25.5px;height:25.5px;fill:#ffffff!important;color:#ffffff!important;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}.mobile-pwa-dock-ride:hover{filter:brightness(1.08);box-shadow:0 0 0 .5px rgba(0,38,59,.25),0 12px 28px -4px rgba(0,38,59,.45),0 4px 10px -2px rgba(0,38,59,.2),inset 0 1px 1px 0 rgba(255,255,255,.55)!important}.mobile-pwa-dock-ride:active{transform:scale(.92);filter:brightness(.95)}.ride-modal-overlay{position:fixed;inset:0;z-index:2200;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;animation:rideOverlayFadeIn .2s cubic-bezier(.16,1,.3,1)}@keyframes rideOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes rideCardScaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ride-modal-card{width:100%;max-width:380px;background-color:var(--control-bg,#ffffff);border:1px solid var(--border-color,rgba(0,0,0,.1));border-radius:20px;box-shadow:0 20px 48px rgba(0,0,0,.25);overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box;animation:rideCardScaleUp .22s cubic-bezier(.16,1,.3,1)}[data-theme=dark] .ride-modal-card{box-shadow:0 20px 48px rgba(0,0,0,.55)}.ride-modal-header{padding:18px 20px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ride-modal-title-group{display:flex;align-items:center;gap:12px;min-width:0}.ride-modal-icon-badge{width:38px;height:38px;border-radius:12px;background-color:var(--primary-color,#0284c7);color:#ffffff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ride-modal-icon-badge svg{width:22px;height:22px;fill:#ffffff}.ride-modal-title{font-size:16px;font-weight:700;color:var(--text-main,#111827);line-height:1.25}.ride-modal-subtitle{font-size:12px;color:var(--text-desc,#6b7280);margin-top:3px;line-height:1.35}.ride-modal-close-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--ctrl-btn-bg,rgba(0,0,0,.05));color:var(--ctrl-icon,#6b7280);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .15s ease;outline:none;margin-top:-2px;margin-right:-4px}.ride-modal-close-btn:hover{background:var(--hover-bg,rgba(0,0,0,.1));color:var(--text-main,#111827)}.ride-modal-close-btn:active{transform:scale(.92)}.ride-modal-tabs{margin:0 20px 14px;display:flex;background:var(--hover-bg,rgba(0,0,0,.05));padding:3px;border-radius:12px;border:1px solid var(--border-color,rgba(0,0,0,.08));gap:4px}.ride-modal-tab-item{flex:1;padding:7px 12px;border:none;background:transparent;border-radius:9px;font-size:13px;font-weight:500;color:var(--text-desc,#6b7280);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none}.ride-modal-tab-item:hover:not(.active){color:var(--text-main,#111827)}.ride-modal-tab-item.active{background-color:var(--control-bg,#ffffff);color:var(--primary-color,#0284c7);font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.1)}[data-theme=dark] .ride-modal-tab-item.active{background-color:var(--card-bg,#262626);color:var(--primary-color,#38bdf8)}.ride-modal-body{padding:4px 20px 18px;flex-direction:column}.ride-modal-body,.ride-qrcode-card{display:flex;align-items:center;justify-content:center}.ride-qrcode-card{background-color:#ffffff!important;padding:14px;border-radius:16px;box-shadow:0 4px 18px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.08)}.ride-qrcode-img,.ride-qrcode-svg{width:200px;height:200px;display:block;image-rendering:pixelated}.ride-qrcode-fallback{width:200px;height:200px;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:13px}.ride-modal-tips{margin-top:14px;font-size:12.5px;color:var(--text-desc,#4b5563);text-align:center;line-height:1.5;padding:0 8px}.ride-modal-tips strong{color:var(--primary-color,#0284c7);font-weight:600}.ride-modal-subtip{margin-top:4px;font-size:11px;color:var(--text-muted,#9ca3af);line-height:1.4}.ride-modal-actions{padding:12px 20px 18px;border-top:1px solid var(--border-color,rgba(0,0,0,.08));display:flex;gap:10px}.ride-action-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;border-radius:10px;font-size:12.5px;font-weight:500;cursor:pointer;transition:all .15s ease;outline:none;box-sizing:border-box}.ride-action-btn.secondary{background-color:var(--ctrl-btn-bg,rgba(0,0,0,.04));border:1px solid var(--border-color,rgba(0,0,0,.1));color:var(--text-main,#111827)}.ride-action-btn.secondary:hover{background-color:var(--hover-bg,rgba(0,0,0,.08))}.ride-action-btn.secondary:active{transform:scale(.96)}.ride-action-btn.primary{background-color:var(--primary-color,#0284c7);border:1px solid transparent;color:#ffffff}.ride-action-btn.primary:hover{background-color:var(--primary-hover,#0369a1)}.ride-action-btn.primary:active{transform:scale(.96)}.ride-download-card{max-width:400px}.ride-download-body{padding:16px 20px;display:flex;flex-direction:column;align-items:center;text-align:center}.ride-download-qr-card{width:186px;height:186px;margin:0 auto}.ride-download-tips{margin-top:12px;text-align:center}.ride-download-prompt{font-size:13.5px;font-weight:600;color:var(--text-main,#111827);margin-bottom:5px}[data-theme=dark] .ride-download-prompt{color:#f1f5f9}.ride-download-message{font-size:12.5px;color:var(--text-desc,#4b5563);line-height:1.5}[data-theme=dark] .ride-download-message{color:#94a3b8}.ride-download-retry-wrap{padding:0 20px 14px;text-align:center}.ride-download-retry-btn{background:none;border:none;color:var(--primary-color,#0284c7);font-size:11.5px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;opacity:.85;transition:opacity .15s ease;padding:4px 8px}.ride-download-retry-btn:hover{opacity:1}[data-theme=dark] .ride-download-retry-btn{color:#38bdf8}.station-modal{position:fixed;inset:0;background:rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;z-index:50}.station-modal-card{width:420px;max-width:calc(100vw - 32px);background:#ffffff;border-radius:12px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.2)}.station-modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:#0e8d9e;color:#fff}.station-modal-title{font-size:20px;font-weight:700}.station-modal-subtitle{font-size:12px;opacity:.85}.station-modal-close{background:transparent;border:none;color:#fff;font-size:24px;cursor:pointer}.station-modal-icon{display:flex;align-items:center;justify-content:center;padding:20px;border-bottom:1px solid #e8e5de}.station-modal-icon img{max-width:220px;height:auto}.station-modal-icon.placeholder{color:#999;font-size:12px}.station-modal-content{padding:16px 20px 20px;font-size:14px;color:#333}.station-line-icons{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.station-line-icon{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:8px;background:#f5f5f5}.station-line-text{font-size:12px;color:#333;white-space:nowrap}#info-panel{width:360px;padding:0;background:var(--card-bg)!important;border-radius:18px;box-shadow:0 4px 20px rgba(0,0,0,.3);overflow:hidden;position:fixed;z-index:2000;top:0;left:0;font-weight:400;overscroll-behavior:contain;touch-action:pan-y;display:flex;flex-direction:column}.panel-resize-handle{position:absolute;bottom:0;right:0;width:15px;height:15px;cursor:nwse-resize;z-index:20;opacity:.4;color:var(--text-light);display:flex;align-items:flex-end;justify-content:flex-end;padding:1px;pointer-events:auto}.panel-resize-handle:hover{opacity:1;color:var(--text-main)}.panel-resize-handle svg{display:block;width:100%;height:100%}.panel-header{position:relative;background-color:var(--station-header-bg,var(--panel-header-bg))!important;color:var(--panel-header-text)!important;display:flex;align-items:center;justify-content:flex-start;padding:20px 40px 20px 20px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0;--data1:transparent;--data2:#ffffff}.panel-header-main{display:flex;align-items:center;gap:10px;min-width:0}.header-name-group{flex:0 0 auto;min-width:0}.panel-cn-name{font-size:18.5px;margin-bottom:2px;letter-spacing:1px;color:inherit!important}.panel-cn-name,.panel-en-name{font-weight:700;line-height:1.2;white-space:nowrap}.panel-en-name{font-family:var(--font-latin);font-size:11px;color:rgba(255,255,255,.7)!important;margin-bottom:0}[data-station-language=en] .panel-cn-name,html[data-language=en] .panel-cn-name{font-family:var(--font-latin);letter-spacing:.2px}[data-station-language=en] .panel-en-name,html[data-language=en] .panel-en-name{font-family:var(--font-cjk);font-size:13.5px!important;font-weight:500;letter-spacing:.6px;color:rgba(255,255,255,.85)!important;margin-top:1px}[data-station-language=en] .panel-header.is-light-bg .panel-en-name,html[data-language=en] .panel-header.is-light-bg .panel-en-name{color:rgba(0,29,49,.8)!important}.panel-badges{flex-shrink:0;display:flex;align-items:center;gap:1.5px;margin-left:auto;margin-right:5px}.panel-header .line-badge{--data1:transparent;--data2:#ffffff}.line-badge{height:26px;width:auto;display:block;border-radius:2px;--data1:transparent;--data2:#00263b}[data-theme=dark] .line-badge{--data2:#ffffff}.line-badge.tooltip-badge{--data1:var(--map-bg);background-color:var(--map-bg);box-shadow:0 0 0 1px var(--map-bg);border:none;border-radius:2px;overflow:hidden;display:inline-flex;vertical-align:middle}.panel-badges .line-badge{height:26px}.line-block .line-badge,.line-block-header .line-badge{height:24px}.text-badge{font-size:12px;background:rgba(255,255,255,.2);padding:2px 6px;border-radius:4px}.panel-close-btn{right:12px;color:var(--close-btn-color,rgba(255,255,255,.85));width:26px;height:26px;border-radius:6px;transition:all .18s ease}.panel-close-btn:hover{background-color:rgba(255,255,255,.12);border-radius:6px}.panel-body{background-color:var(--card-bg)!important;color:var(--text-main)!important;padding:6px 10px 10px;flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:#bdcbd2 #f0f2f5;touch-action:pan-y;--data1:transparent;--data2:#00263b}.panel-body::-webkit-scrollbar{width:6px}.panel-body::-webkit-scrollbar-track{background:#f0f2f5}.panel-body::-webkit-scrollbar-thumb{background-color:#bdcbd2;border-radius:3px}.station-detail-content{min-height:0}[data-theme=dark] .panel-body{--data2:#ffffff}.info-row{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;margin-bottom:4px;line-height:1.35}.info-label{color:var(--text-light);flex-shrink:0;margin-right:12px}.info-value{color:var(--text-main);text-align:right;font-weight:700;word-break:break-word}.line-block{margin-top:10px;padding-top:6px;border-top:1px dashed var(--divider)}.line-block-header{margin-bottom:6px;text-align:left}.reserved-box{background:var(--ctrl-btn-bg);color:var(--text-light);font-size:11px;padding:4px 8px;border-radius:4px;margin:4px 0;text-align:center;border:1px dashed var(--divider)}.station-svg-container{width:100%;height:auto;padding:0;overflow:hidden}.station-svg-container svg{display:block;width:100%;height:auto}.station-layout-canvas .station-exit-letter-active{cursor:pointer;transition:opacity .15s ease}.station-layout-canvas .station-exit-letter-active:hover{opacity:.72}.station-layout-canvas .station-exit-letter-active:focus{outline:none}.station-layout-canvas .station-exit-letter-active:focus-visible{outline:.6px solid #006098}.station-layout-empty{font-size:10px;color:var(--text-light);display:inline-block;padding:6px 0}.panel-footer{padding:6px 10px;background-color:var(--bg-color)!important;text-align:center;font-size:11px;border-top:1px solid var(--divider)!important;flex-shrink:0}.mobile-panel-dock,.mobile-station-footer-dock{display:none}.panel-footer-actions{display:flex;gap:6px}.panel-footer-actions.compact{gap:4px}.panel-footer-btn{flex:1 1 0;padding:5px 4px;border-radius:6px;border:1px solid var(--divider);background:var(--ctrl-btn-bg);color:var(--text-main);font-size:12px;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.05);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none}.panel-footer-btn.tiny{padding:6px 2px;font-size:11px;gap:2px}.panel-footer-btn.primary{background:var(--primary-color);color:#fff;border-color:transparent}.panel-footer-note{font-size:12px;color:var(--text-light);margin-bottom:10px}.panel-footer-weather-alert{background:#fffbe6;border:1px solid #ffe58f;color:#d48806;padding:8px 10px;border-radius:8px;font-size:12px;font-weight:500;line-height:1.4;margin-bottom:10px;display:flex;align-items:center;gap:6px;width:100%;box-sizing:border-box}[data-theme=dark] .panel-footer-weather-alert{background:#2b2111;border:1px solid #594214;color:#e6b85c}.ctx-route-dot{display:inline-block;flex:none;width:9px;height:9px;margin:0 4px 0 3px;border-radius:50%;box-shadow:0 0 0 2px var(--panel,#ffffff)}.ctx-route-dot.is-start{background:#0f7894}.ctx-route-dot.is-end{background:#d0021b}.header-station-logo{height:50px;width:auto;margin-right:-5px;margin-left:-5px;display:block;flex-shrink:0}.force-white-text .panel-close-btn,.force-white-text .panel-cn-name,.force-white-text .panel-en-name{color:#ffffff!important}.legend-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:30000;backdrop-filter:blur(3px);animation:overlayFadeIn .2s ease-out}.legend-popover{background:var(--panel);color:var(--text);z-index:30001}.legend-overlay .legend-popover,.legend-popover{display:flex;flex-direction:column;overflow:hidden}.legend-overlay .legend-popover{position:absolute;background:var(--card-bg)!important;color:var(--text-main)!important;width:400px;max-width:85%;max-height:80vh;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.2);padding:0;transform-origin:0 0;animation:expandMenu .3s cubic-bezier(.2,.8,.2,1);touch-action:none}@keyframes expandMenuMobile{0%{transform:translate(-50%,-50%) scale(.85);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.legend-overlay .legend-popover.is-closing{animation:collapseMenu .2s cubic-bezier(.2,.8,.2,1) forwards}.left-pinned-sidebar,.legend-popover.pinned-mode{right:auto;left:calc(0px + env(safe-area-inset-left, 0px));box-shadow:1px 0 0 var(--divider);animation:none;flex:none;transform:none;max-height:none;max-width:none}.left-pinned-sidebar,.legend-popover.pinned-mode,.right-pinned-sidebar{position:fixed;top:0;bottom:0;width:320px;height:100dvh!important;border-radius:0;z-index:850;display:flex;flex-direction:column;background:var(--panel,var(--bg,#ffffff));transition:transform .25s ease,width .25s ease}.right-pinned-sidebar{right:calc(0px + env(safe-area-inset-right, 0px));left:auto;box-shadow:-1px 0 0 var(--divider)}.left-pinned-sidebar.collapsed,.right-pinned-sidebar.collapsed{width:0!important;overflow:hidden!important;pointer-events:none!important;border:none!important}.sidebar-floating-container{position:relative;width:100%;height:100%;overflow-x:hidden;overflow-y:hidden;padding:calc(env(safe-area-inset-top, 0px) + 80px) 8px 8px;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;align-items:stretch}.sidebar-floating-container cgo-floating-window{width:100%!important;position:relative!important;top:auto!important;left:auto!important;margin-bottom:0!important;transition:transform .25s cubic-bezier(.2,0,.2,1),opacity .25s ease,max-height .25s ease,flex .25s ease;box-sizing:border-box;--cgo-floating-content-padding:0px}.sidebar-floating-container cgo-floating-window::part(header){height:26px!important;padding:0 8px 0 10px!important}.sidebar-floating-container cgo-floating-window::part(content){padding:0!important}.sidebar-floating-container cgo-floating-window[minimized]{flex:0 0 auto!important;height:auto!important}.sidebar-floating-container cgo-floating-window:not([minimized]){flex:1 1 0px!important;min-height:calc((100dvh - 80px - env(safe-area-inset-top, 0px)) * .25)!important;max-height:100%!important;display:flex!important;flex-direction:column!important}.sidebar-floating-container cgo-floating-window[data-window-key=search]:not([minimized]){flex:0 0 auto!important;min-height:68px!important;max-height:calc((100dvh - 80px - env(safe-area-inset-top, 0px)) * .5)!important}.sidebar-floating-container cgo-floating-window[data-window-key=tools]:not([minimized]){flex:0 1 auto!important;min-height:0!important;max-height:calc((100dvh - 80px - env(safe-area-inset-top, 0px)) * .65)!important;height:auto!important}.sidebar-floating-container cgo-floating-window[data-window-key=tools] .sidebar-tools-wrapper{height:auto!important;max-height:calc((100dvh - 80px - env(safe-area-inset-top, 0px)) * .65 - 26px)!important;overflow-y:auto;box-sizing:border-box}.sidebar-floating-container .legend-tree-wrapper,.sidebar-floating-container .section-body,.sidebar-floating-container .unified-route-content{height:100%;overflow-y:auto;box-sizing:border-box}.left-pinned-sidebar cgo-floating-window.is-pushed-out{animation:pushOutToRight .25s cubic-bezier(.2,.8,.2,1) forwards;pointer-events:none!important}.right-pinned-sidebar cgo-floating-window.is-pushed-out{animation:pushOutToLeft .25s cubic-bezier(.2,.8,.2,1) forwards;pointer-events:none!important}@keyframes pushOutToRight{0%{transform:translateX(0);opacity:1}to{transform:translateX(340px);opacity:0}}@keyframes pushOutToLeft{0%{transform:translateX(0);opacity:1}to{transform:translateX(-340px);opacity:0}}body.is-sidebar-dragging{cursor:grabbing!important}body.is-sidebar-dragging,body.is-sidebar-dragging *{user-select:none!important}.left-pinned-sidebar.is-drop-target-active,.right-pinned-sidebar.is-drop-target-active{box-shadow:inset 0 0 0 2px var(--primary-color,#007bff),0 8px 32px rgba(0,123,255,.25)!important;transition:box-shadow .2s ease,background-color .2s ease}.left-pinned-sidebar.is-drop-target-active .sidebar-floating-container,.right-pinned-sidebar.is-drop-target-active .sidebar-floating-container{background:linear-gradient(180deg,rgba(0,123,255,.08),rgba(0,123,255,.02))}.sidebar-blue-drop-placeholder{width:100%;height:48px;border:2px dashed var(--primary-color,#007bff);border-radius:12px;background:rgba(0,123,255,.12);box-sizing:border-box;animation:expandPlaceholder .2s cubic-bezier(.2,.8,.2,1) forwards,pulsePlaceholder 1.2s ease-in-out infinite;flex-shrink:0;transition:all .15s ease}@keyframes expandPlaceholder{0%{max-height:0;opacity:0;transform:scale(.95)}to{max-height:48px;opacity:1;transform:scale(1)}}@keyframes pulsePlaceholder{0%,to{background:rgba(0,123,255,.08);border-color:rgba(0,123,255,.8)}50%{background:rgba(0,123,255,.22);border-color:#0056b3;box-shadow:0 0 16px rgba(0,123,255,.35)}}@media (min-width:641px){body.panel-pinned .content>.editor-layout-passthrough,body.panel-pinned .content>.editorShell,body.panel-pinned .content>[class*=editorShell]{margin-left:320px;margin-right:0;width:calc(100% - 320px);transition:margin-left .25s ease,margin-right .25s ease,width .25s ease}body.panel-pinned.has-right-sidebar .content>.editor-layout-passthrough,body.panel-pinned.has-right-sidebar .content>.editorShell,body.panel-pinned.has-right-sidebar .content>[class*=editorShell]{margin-right:320px;width:calc(100% - 640px)}body.panel-pinned.no-left-sidebar .content>.editor-layout-passthrough,body.panel-pinned.no-left-sidebar .content>.editorShell,body.panel-pinned.no-left-sidebar .content>[class*=editorShell]{margin-left:0;width:calc(100% - 320px)}body.panel-pinned.no-left-sidebar.has-right-sidebar .content>.editor-layout-passthrough,body.panel-pinned.no-left-sidebar.has-right-sidebar .content>.editorShell,body.panel-pinned.no-left-sidebar.has-right-sidebar .content>[class*=editorShell]{margin-left:0;margin-right:320px;width:calc(100% - 320px)}body.panel-pinned:not(.no-left-sidebar) .header-island-left,body.panel-pinned:not(.no-left-sidebar) .header-island-left.glass-surface{left:calc(8px + env(safe-area-inset-left, 0px))!important;right:auto!important;width:calc(320px - 16px)!important;max-width:calc(320px - 16px)!important}body.panel-pinned:not(.no-left-sidebar) .header-island-left .header-center{min-width:0;flex:1 1 auto;overflow:hidden}body.panel-pinned:not(.no-left-sidebar) .header-island-left .header-center .app-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.panel-pinned.has-right-sidebar .header-island-right,body.panel-pinned.has-right-sidebar .header-island-right.glass-surface{right:calc(8px + env(safe-area-inset-right, 0px))!important;left:auto!important;width:calc(320px - 16px)!important;max-width:calc(320px - 16px)!important}body.panel-pinned.has-right-sidebar .header-island-right .header-right{width:100%;justify-content:flex-end}}.legend-tree-wrapper{padding:12px 16px 16px}.legend-popover.pinned-mode .legend-tree-wrapper{padding:4px 0}.legend-popover.pinned-mode .legend-header{padding:6px 12px!important;min-height:40px}.legend-popover.pinned-mode .legend-header-btn{width:28px;height:28px;box-shadow:none;background:transparent}.legend-popover.pinned-mode .legend-header-btn:hover{background:var(--ctrl-hover);transform:none;box-shadow:none}.legend-popover.pinned-mode .legend-header-btn.pin-btn.primary{background:var(--primary-color);color:#ffffff}.legend-popover.pinned-mode .legend-header-btn.pin-btn.primary:hover{background:var(--primary-hover);color:#ffffff}.legend-popover.pinned-mode .legend-header-btn svg{width:14px;height:14px}.legend-popover.pinned-mode .section-header{padding:6px 12px;font-size:12px}.legend-popover.pinned-mode .section-arrow{width:12px!important;height:12px!important}.legend-popover.pinned-mode .station-search-container{padding:6px 8px}.legend-popover.pinned-mode #station-search-input{padding:5px 24px 5px 8px;font-size:12px;border-radius:4px}.legend-popover.pinned-mode #search-clear-btn{right:5px}.legend-popover.pinned-mode #search-clear-btn svg{width:12px!important;height:12px!important}.legend-popover.pinned-mode #search-results-list{margin-top:4px;border-radius:4px;max-height:260px}.legend-popover.pinned-mode .search-item{padding:4px 8px}.legend-popover.pinned-mode .search-line-icons-group{gap:2px;margin-right:6px}.legend-popover.pinned-mode .search-line-icon{height:15.5px}.legend-popover.pinned-mode .search-zh{font-size:12px}.legend-popover.pinned-mode .search-en{font-size:10px}.legend-popover.pinned-mode .search-line-dot{width:5px;height:5px}.legend-popover.pinned-mode .station-history-header{padding:6px 12px;font-size:12px}.header-color-squares{display:flex;align-items:center;gap:3px}.header-line-icon-square{overflow:hidden;object-fit:contain}.header-color-square,.header-line-icon-square{width:12px;height:12px;border-radius:3px;flex-shrink:0;display:block}.legend-popover.pinned-mode .station-detail-content.is-pinned .panel-header{padding:10px 12px!important}.legend-popover.pinned-mode .station-detail-content.is-pinned .panel-body{padding:8px 12px!important}.legend-popover.pinned-mode .info-row{font-size:11.5px;margin-bottom:6px}.legend-popover.pinned-mode .line-block{margin-top:8px;padding-top:6px}.legend-scroll-content{flex:1;overflow-y:auto;min-height:0;background:var(--panel);display:flex;flex-direction:column}.panel-section{border-bottom:1px solid var(--divider);background:var(--panel)}.section-header{display:flex;justify-content:space-between;align-items:center;padding:8px 15px;cursor:pointer;font-size:13px;font-weight:700;color:var(--text-main);background-color:var(--list-hover);transition:background-color .2s;user-select:none}.section-header:hover{background-color:var(--ctrl-hover)}.panel-section.collapsed .section-content{display:none}.legend-header{display:flex;align-items:center;justify-content:space-between;padding:10px 15px!important;border-bottom:1px solid var(--divider);background:var(--panel);min-height:52px}.legend-header-btn{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all .2s;background:var(--bg);box-shadow:0 2px 8px rgba(0,0,0,.1);color:var(--text-main);padding:0!important}.legend-header-btn:hover{background:var(--ctrl-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.legend-header-btn.primary{background:var(--primary-color);color:white}.legend-header-btn svg{width:20px;height:20px}.legend-footer{padding:0;border-top:1px solid var(--divider);background:var(--panel);z-index:10}.legend-footer .panel-footer{margin-top:0;border-top:none}.station-detail-content.is-pinned{border-radius:0;box-shadow:none;background:transparent!important;width:100%!important;height:auto!important}.station-detail-content.is-pinned .panel-header{padding:15px!important;font-size:.9em}.station-detail-content.is-pinned .panel-body{padding:10px 15px!important}.station-search-container{padding:8px 10px;background:var(--panel)}.search-input-wrapper{position:relative;width:100%}#station-search-input{width:100%;padding:6px 26px 6px 10px;font-size:13px;border:1px solid var(--divider)!important;border-radius:5px;outline:none;color:var(--text-main)!important;background-color:var(--bg)!important;transition:all .2s ease}#station-search-input:focus{border-color:var(--primary-color)!important;background-color:var(--bg);box-shadow:0 0 0 2px rgba(0,29,49,.08)}#search-clear-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-light);cursor:pointer;padding:2px;display:none;align-items:center;justify-content:center}#search-clear-btn:hover{color:var(--text-main)}#search-results-list{max-height:320px;overflow-y:auto;margin-top:5px;border:1px solid var(--divider);border-radius:5px;background:var(--bg);box-shadow:0 3px 10px rgba(0,0,0,.08)}.search-empty-hint{padding:14px 10px;text-align:center;color:var(--text-light);font-size:12px}.search-item{display:flex;align-items:center;padding:5px 10px;cursor:pointer;transition:background .1s ease;border-bottom:1px solid var(--divider)}.search-item:last-child{border-bottom:none}.search-item:hover{background-color:var(--list-hover)}.search-item.pending{opacity:.6}.search-line-icons-group{display:flex;align-items:center;gap:3px;margin-right:8px;flex-shrink:0}.search-line-icon{height:17px;width:auto;display:inline-block;vertical-align:middle}.search-line-dot{width:6px;height:6px;border-radius:50%}.search-item-text{display:flex;flex-direction:column;gap:0;justify-content:center;min-width:0}.search-zh{font-size:13px;font-weight:500;color:var(--text-main);line-height:1.25}.search-en,.search-zh{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-en{font-size:10.5px;color:var(--text-light);line-height:1.1;margin-top:1px}.search-status-tag{font-size:10px;color:#ff6b2c;margin-left:3px;font-weight:400}.legend-popover .history-list{display:flex;flex-direction:column}.legend-popover .history-item{padding:8px 15px;border-bottom:1px solid var(--divider-light);cursor:pointer;font-size:13px;display:flex;align-items:center;gap:8px}.legend-popover .history-item:hover{background:var(--list-hover)}.legend-section-title img{height:24px;display:block;max-width:100%}.legend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin-bottom:24px}.legend-grid-item{min-width:0;box-sizing:border-box}.legend-svg-wrapper{width:100%;min-width:0}.legend-svg-wrapper svg{width:100%!important;height:auto!important;max-height:40px!important;max-width:100%!important;display:block!important;object-fit:contain!important}.legend-item{cursor:pointer;border-radius:6px;transition:transform .1s,background .1s;display:flex;align-items:center;justify-content:center;padding:6px;background:var(--panel);color:var(--text);border:1px solid transparent}.legend-item:hover{background-color:var(--list-hover);border-color:#dee2e6;transform:translateY(-1px)}.legend-item img{width:100%;height:auto;max-height:50px;object-fit:contain;display:block}.search-container{position:sticky;top:0;background:var(--panel);z-index:10;border-bottom:none;padding-bottom:10px;margin-bottom:10px;padding-top:55px}.line-tooltip img{height:30px;width:auto;display:block}.line-tooltip-text{font-size:13px;font-weight:500;color:var(--text-main)}.highlighted-line-outer{filter:drop-shadow(0 0 5px rgba(0,0,0,.5))}[data-theme=dark] .highlighted-line-outer{filter:drop-shadow(0 0 10px rgba(0,0,0,.8))}.highlighted-line-inner{stroke-width:9px!important}.collapse-arrow{width:20px;height:20px;margin-right:8px;fill:var(--text-light);transition:transform .3s ease;transform:rotate(0deg)}.collapse-arrow.collapsed{transform:rotate(-90deg)}.accordion-header{display:flex;align-items:center;justify-content:flex-start;padding:8px 5px;cursor:pointer;user-select:none;border-bottom:1px solid transparent;transition:all .2s;overflow:hidden}.accordion-header:hover{background-color:var(--list-hover);border-radius:4px}.accordion-body{overflow:hidden;transition:max-height .3s ease,opacity .3s ease;max-height:500px;opacity:1;padding-left:28px;border-bottom:1px dashed var(--divider);margin-bottom:5px;overscroll-behavior:contain;color:var(--text-main)}.accordion-body.hidden{max-height:0;opacity:0;margin-bottom:0;border-bottom:none}.accordion-hint{font-size:11px;color:var(--text-light);margin-left:8px;font-weight:400;pointer-events:none;opacity:1;flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .accordion-hint{color:rgba(255,255,255,.6)}.mini-schedule-btn{font-size:11px;padding:2px 10px;background-color:var(--primary-color);color:var(--panel-header-text);border-radius:12px;text-decoration:none;line-height:1;height:22px;display:inline-flex;align-items:center;justify-content:center;transition:background .2s;font-weight:400;box-shadow:0 1px 3px rgba(0,0,0,.2);flex-shrink:0;white-space:nowrap;position:relative;z-index:5;margin-left:10px}@keyframes expandMenu{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes collapseMenu{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}@media (max-width:900px){.legend{width:auto}.edit-panel{width:auto;margin-right:0;max-height:none}.edit-toolbar{top:10px}}#theme-tooltip{position:absolute;top:70px;right:50px;background-color:var(--panel-header-bg);color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;box-shadow:0 2px 8px rgba(0,0,0,.2);pointer-events:none;z-index:3000;opacity:0;transform:translateY(-5px);transition:all .3s ease}#theme-tooltip.show{opacity:1;transform:translateY(0)}.help-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:60000;backdrop-filter:blur(3px);animation:overlayFadeIn .2s ease-out;display:flex;justify-content:center;align-items:center}.help-dialog{z-index:60001;background:var(--panel);color:var(--text-main);padding:0;border-radius:16px;width:90%;max-width:400px;box-shadow:0 10px 30px rgba(0,0,0,.3);overflow:hidden;display:flex;flex-direction:column;max-height:90vh;animation:modalPopIn .2s ease-out forwards;transform:scale(.95);opacity:0}.help-dialog.is-closing{animation:modalPopOut .2s ease-in forwards}@keyframes modalPopIn{0%{opacity:0;transform:scale(.95) translateY(5%)}to{opacity:1;transform:scale(1) translate(0)}}@keyframes modalPopOut{0%{opacity:1;transform:scale(1) translate(0)}to{opacity:0;transform:scale(.95) translateY(5%)}}.help-dialog-header{text-align:right;padding:10px 15px 0;flex-shrink:0}.help-close-btn{background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:var(--text-sub);padding:0 5px}.help-dialog-content{padding:0;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.help-dialog-content::-webkit-scrollbar{width:6px}.help-dialog-content::-webkit-scrollbar-track{background:transparent}.help-dialog-content::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);border-radius:3px}.help-container{padding:0 25px 20px;text-align:left;width:100%;box-sizing:border-box;color:var(--text-main)}.help-header{display:flex;align-items:center;gap:15px;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.help-icon-img{width:60px;height:60px;border-radius:12px}.help-title-group h3{margin:0 0 5px;font-size:18px;color:var(--text-main)}.help-title-group p{margin:0;font-size:12px;color:var(--text-light)}.btn-arrow{font-size:12px;transform:scaleX(.8)}.help-footer{text-align:center;font-size:11px;color:var(--text-light);margin-top:20px;padding-top:15px;border-top:1px solid var(--border-color);line-height:1.8}.help-footer a{color:var(--text-light);text-decoration:none}.help-footer a:hover{text-decoration:underline}.help-footer img{width:14px;vertical-align:middle;margin-right:2px}.help-notices-box{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404;padding:12px;border-radius:8px;font-size:12px;margin-bottom:20px;line-height:1.5}.dropdown-notices-title{padding:10px 15px 5px;font-size:14px;font-weight:700;color:var(--text-light);background-color:#fff8e1;display:flex;align-items:center;gap:8px;border-bottom:1px dashed rgba(0,0,0,.15)}.dropdown-notices-title .btn-icon{width:16px;height:16px;flex-shrink:0}[data-theme=dark] .dropdown-notices-title{background-color:#2c240a;color:#ffffff;border-bottom:1px dashed rgba(255,255,255,.2)}.dropdown-notices{margin-bottom:0!important;border-radius:0!important;border:none!important;padding:15px!important;background-color:#fff8e1!important}[data-theme=dark] .dropdown-notices{background-color:#2c240a!important;border-color:#463a12!important;color:#ffffff!important}.dropdown-notices .help-notice-item{border-bottom:1px dashed rgba(0,0,0,.15);border-left:3px solid #00a0e9;padding-left:9px}.dropdown-notices .help-notice-item.notice-level-warning{border-left-color:#eb9605}.dropdown-notices .help-notice-item.notice-level-critical{border-left-color:#d93025}[data-theme=dark] .dropdown-notices .help-notice-item{border-bottom:1px dashed rgba(255,255,255,.2)}.dropdown-notices .help-notice-item:last-child{border-bottom:none!important}[data-theme=dark] .help-notice-header{color:#ffca28!important}[data-theme=dark] .help-notice-content{color:#ffffff!important}.dropdown-notices+.dropdown-item-settings{margin-top:5px!important}[data-theme=dark] .help-notices-box{background-color:#3e3312;border-color:#584610;color:#ffd970}.help-notice-item{padding-bottom:12px;margin-bottom:12px}.help-notice-item,[data-theme=dark] .help-notice-item{border-bottom:1px dashed rgba(0,0,0,.1)}.help-notice-item:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.help-notice-header{font-size:13px;font-weight:700;color:#006b9f;margin-bottom:4px;display:flex;align-items:center;flex-wrap:wrap}.notice-level-warning .help-notice-header{color:#9a6200}.notice-level-critical .help-notice-header{color:#b3261e}[data-theme=dark] .help-notice-header{color:var(--text-main)}.help-notice-icon{margin-right:4px}.help-notice-content{font-size:11px;line-height:1.5}.help-notice-image{margin-top:8px;text-align:center}.help-notice-image img{max-width:100%;border-radius:4px;height:auto;display:block;margin:0 auto}#route-capsule{position:absolute;top:88px;left:calc(76px + env(safe-area-inset-left, 0px));z-index:850;height:48px;box-sizing:border-box;background:var(--panel)!important;padding:8px 16px;border-radius:24px;box-shadow:0 4px 16px rgba(0,0,0,.2);border:1px solid var(--divider)!important;display:flex;align-items:center;gap:10px;color:var(--text-main);user-select:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .2s ease-in-out}@media (min-width:641px){#cgopush-notice-container{top:calc(88px + env(safe-area-inset-top, 0px))!important;right:calc(20px + env(safe-area-inset-right, 0px))!important}}#route-capsule .capsule-dot{width:8px;height:8px;border-radius:50%;background:#D0021B;box-shadow:0 0 6px rgba(208,2,27,.6);flex-shrink:0}#route-capsule .capsule-close-btn{border:none;background:none;font-size:16px;cursor:pointer;margin-left:4px;color:var(--text-light);padding:4px;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}#route-capsule .capsule-close-btn:hover{background:rgba(255,255,255,.1);color:#ef4444}.route-planner{color:var(--text-main);background:var(--panel);border:1px solid var(--divider);border-radius:8px;box-shadow:0 18px 44px rgba(0,29,49,.2);user-select:none;isolation:isolate;touch-action:auto;overflow:visible}.route-planner-header{position:relative;padding:16px 40px 16px 20px;display:flex;align-items:center;justify-content:flex-start;color:#ffffff;background:var(--panel-header-bg,#00263b);border-bottom:1px solid rgba(255,255,255,.1);border-top-left-radius:8px;border-top-right-radius:8px}.route-planner-heading{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.route-planner-kicker{margin-bottom:2px;color:#8fc3d2;font-size:9px;font-weight:800;line-height:1;letter-spacing:.18em}.route-planner-heading strong{color:#ffffff;font-size:18.5px;font-weight:700;line-height:1.2;letter-spacing:1px}.route-planner-heading small{margin-top:3px;color:rgba(255,255,255,.7);font-size:11px;font-weight:700;line-height:1.2}.route-station-clear,.route-swap-button{border:0;color:var(--text-light);background:transparent;cursor:pointer}.route-planner-close{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:26px;height:26px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--close-btn-color,rgba(255,255,255,.85));display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s ease;z-index:10}.route-station-clear:hover,.route-swap-button:hover{color:var(--text-main);background:var(--ctrl-hover)}.route-planner-close:hover{color:#ffffff;background-color:rgba(255,255,255,.12);border-radius:6px}.route-planner-fields{position:relative;z-index:20!important;padding:10px 12px;background:color-mix(in srgb,var(--panel) 92%,#d8e8ed);overflow:visible!important}[data-theme=dark] .route-planner-fields{background:var(--panel)}.route-planner-fields:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.route-endpoints{--route-field-h:30px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) 34px;column-gap:6px;row-gap:8px;align-items:center}.route-endpoints-rail{position:absolute;left:8px;top:calc(var(--route-field-h) / 2);bottom:calc(var(--route-field-h) / 2);width:0;border-left:1px dashed color-mix(in srgb,var(--text-light) 55%,transparent);pointer-events:none}.route-station-field{position:relative;grid-column:1;display:grid;grid-template-columns:17px minmax(0,1fr);column-gap:8px;align-items:center}.route-station-field-start{grid-row:1}.route-station-field-end{grid-row:2}.route-station-dot{justify-self:center;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 2px var(--panel)}.route-station-dot-start{background:#0f7894}.route-station-dot-end{background:#d0021b}.route-station-input-row{height:var(--route-field-h);padding:0 8px;display:flex;align-items:center;gap:6px;color:var(--text-light);background:var(--panel);border:1px solid var(--divider);border-radius:6px;box-shadow:0 1px 0 rgba(0,29,49,.035);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.route-station-input-row:focus-within{color:var(--primary-color);background:var(--card-bg);border-color:var(--primary-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary-color) 12%,transparent)}.route-station-input-row input{width:100%;min-width:0;height:100%;padding:0;border:0;outline:0;color:var(--text-main);background:transparent;font:inherit;font-size:16px;font-weight:550;line-height:normal}.route-station-input-row input::placeholder{color:var(--text-light);font-size:12.5px;font-weight:450}.route-station-input-row input::-webkit-search-cancel-button{display:none}.route-station-clear{width:18px;height:18px;padding:0;border-radius:4px;flex:none;display:grid;place-items:center}.route-swap-button{grid-column:2;grid-row:1/span 2;justify-self:center;width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--divider);border-radius:8px;background:var(--ctrl-btn-bg,#f0f2f5);color:var(--text-main,#00263b);cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.route-swap-button:hover{color:var(--primary-color,#0f7894);border-color:color-mix(in srgb,var(--primary-color) 32%,var(--divider));background:var(--panel)}.route-planner-chips{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;padding-left:25px}.route-chip{height:26px;padding:0 10px;display:inline-flex;align-items:center;gap:5px;color:var(--text-main,#00263b);background:var(--ctrl-btn-bg,#f0f2f5);border:1px solid var(--divider,#e0e0e0);border-radius:999px;font:inherit;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.route-chip:hover{color:var(--primary-color,#0f7894);background:var(--panel,#ffffff);border-color:color-mix(in srgb,var(--primary-color) 32%,var(--divider))}.route-chip.is-open,.route-chip.is-set{color:var(--primary-color);border-color:color-mix(in srgb,var(--primary-color) 45%,var(--divider));background:color-mix(in srgb,var(--primary-color) 10%,var(--panel))}.route-time-chip-wrap{position:relative}.route-time-popover.is-align-left{left:0;right:auto}.route-time-popover{position:absolute;z-index:40;bottom:calc(100% + 6px);top:auto;right:0;left:auto;width:max-content;min-width:236px;max-width:min(300px,calc(100vw - 40px));padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--card-bg,#ffffff);border:1px solid var(--divider);border-radius:10px;box-shadow:0 10px 26px rgba(0,29,49,.18)}.route-time-modes{display:flex;padding:2px;gap:2px;background:var(--ctrl-btn-bg,#f0f2f5);border-radius:8px}.route-time-modes button{flex:1 1 0;height:28px;border:0;border-radius:6px;background:transparent;color:var(--text-light);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.route-time-modes button.is-active{color:var(--text-main);background:var(--panel,#ffffff);box-shadow:0 1px 3px rgba(0,29,49,.12)}.route-time-popover input[type=datetime-local]{width:100%;height:34px;padding:0 8px;color:var(--text-main);background:var(--panel);border:1px solid var(--divider);border-radius:8px;font:inherit;font-size:14px}.route-time-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.route-time-actions button{height:30px;padding:0 12px;border-radius:8px;border:1px solid var(--divider);background:transparent;color:var(--text-main);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.route-time-actions .route-time-apply{color:var(--primary-contrast,#f8fbfc);background:var(--primary-color);border-color:var(--primary-color)}.route-time-actions button:disabled{opacity:.6;cursor:default}.route-chip.is-active{color:#ffffff!important;background:#d0021b!important;border-color:#d0021b!important;box-shadow:0 2px 8px rgba(208,2,27,.35)}.route-station-results{position:relative;z-index:30;grid-column:2;margin-top:6px;max-height:min(260px,42vh);overflow-y:auto;background:var(--card-bg,#ffffff);border:1px solid var(--divider,#e0e0e0);border-radius:8px;box-shadow:0 8px 22px rgba(0,29,49,.16);overscroll-behavior:contain;touch-action:pan-y}.route-quick-actions{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;border-bottom:1px solid var(--divider)}.route-quick-action{height:30px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;color:var(--text-main);background:var(--ctrl-btn-bg,#f0f2f5);border:1px solid var(--divider);border-radius:999px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.route-quick-action:hover{color:var(--primary-color);border-color:color-mix(in srgb,var(--primary-color) 32%,var(--divider));background:var(--panel)}.route-quick-action.is-active{color:#ffffff;background:#d0021b;border-color:#d0021b}.route-results-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px 3px;color:var(--text-light);font-size:11px;font-weight:600}.route-results-title button{padding:0;border:0;background:transparent;color:var(--text-light);font:inherit;font-size:11px;text-decoration:underline;cursor:pointer}.route-results-title button:hover{color:var(--primary-color)}.route-line-browser{border-top:1px solid var(--divider);margin-top:4px}.route-line-chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 10px 10px}.route-line-chip{max-width:100%;height:26px;padding:0 9px 0 7px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--divider);border-radius:999px;background:var(--ctrl-btn-bg,#f0f2f5);color:var(--text-main);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.route-line-chip i{flex:none;width:10px;height:10px;border-radius:3px;background:var(--line-color,#78848b)}.route-line-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-line-chip:hover{border-color:var(--line-color,var(--primary-color));background:var(--panel)}.route-station-result{width:100%;min-height:44px;padding:6px 10px;display:grid;grid-template-columns:minmax(48px,auto) minmax(0,1fr) auto;gap:9px;align-items:center;text-align:left;color:var(--text-main);background:var(--card-bg);border:0;border-bottom:1px solid var(--divider);cursor:pointer}.route-station-result:last-child{border-bottom:0}.route-station-result:focus-visible,.route-station-result:hover{outline:0;background:var(--list-hover)}.route-result-line-icons{display:flex;align-items:center;justify-content:flex-start;gap:3px}.route-result-line-icons i{width:7px;height:7px;display:block;border-radius:50%}.route-result-name{min-width:0;display:flex;flex-direction:column}.route-result-name small,.route-result-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-result-name strong{font-size:12.5px}.route-result-name small{margin-top:1px;color:var(--text-light);font-size:9.5px}.route-station-result em{color:var(--text-light);font-size:10px;font-style:normal;white-space:nowrap}.route-station-empty{padding:18px 14px;color:var(--text-light);font-size:12px;line-height:1.5;text-align:center}.route-planner-footer{position:relative;z-index:1!important;min-height:48px;padding:8px 14px 8px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--panel);border-top:1px solid var(--divider);border-bottom-left-radius:8px;border-bottom-right-radius:8px}.route-planner-footer>span{min-width:0;display:flex;align-items:center;gap:7px;color:var(--text-light);font-size:11.5px;line-height:1.35}.route-planner-footer>span:before{content:"";width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:color-mix(in srgb,var(--text-light) 70%,transparent)}.route-planner-footer>span.is-picking{color:var(--primary-color);font-weight:650}.route-planner-footer>span.is-picking:before{background:var(--primary-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary-color) 12%,transparent)}.route-planner-footer>button{min-width:104px;height:38px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--primary-contrast,#f8fbfc);background:var(--primary-color);border:0;border-radius:6px;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.route-planner-footer>button:after{content:"›";font-size:16px;font-weight:500;line-height:1}.route-planner-footer>button:hover:not(:disabled){filter:brightness(1.12)}.route-planner-footer>button:disabled{color:var(--text-light);background:var(--ctrl-hover);cursor:not-allowed;opacity:.72}.route-result-panel{width:320px;max-width:calc(100vw - 40px);background:var(--panel)!important;border-radius:20px;overflow:hidden;box-shadow:0 16px 36px -8px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.08);padding:18px 20px;position:absolute;top:80px;left:calc(76px + env(safe-area-inset-left, 0px));z-index:3000;font-family:inherit;color:var(--text-main);border:1px solid var(--divider)!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:slideInLeft .3s cubic-bezier(.2,.8,.2,1)}.unified-panel{display:flex;flex-direction:column}.unified-panel .sheet-grabber{display:none}.unified-panel.route-panel .unified-route-content{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:visible!important}@media (min-width:641px){.unified-panel.route-panel{border-radius:16px!important;box-shadow:0 4px 24px rgba(0,0,0,.3)!important;border:1px solid var(--divider)!important;overflow:hidden!important;background:var(--panel)!important}.unified-panel.route-panel.route-result-sheet{border-color:color-mix(in srgb,var(--primary-color) 24%,var(--divider))!important;box-shadow:0 2px 8px rgba(0,29,49,.12),0 22px 60px rgba(0,29,49,.28)!important}.unified-panel.route-panel .unified-route-content{overflow-y:auto!important;overscroll-behavior:contain}.unified-panel.route-panel .route-planner,.unified-panel.route-panel .route-result-panel{border:none!important;box-shadow:none!important;border-radius:0!important;background:transparent!important}.unified-panel.route-panel .route-result-panel{position:static!important;inset:auto!important;width:100%!important;max-width:none!important;flex:0 0 auto}}.sidebar-floating-container .route-planner,cgo-floating-window .route-planner{overflow:visible!important}.sidebar-floating-container .route-planner,.sidebar-floating-container .route-result-panel,cgo-floating-window .route-planner,cgo-floating-window .route-result-panel{position:static!important;top:auto!important;left:auto!important;right:auto!important;width:100%!important;max-width:none!important;border:1px solid var(--divider)!important;border-radius:16px!important;box-shadow:0 4px 24px rgba(0,0,0,.3)!important;animation:none;flex-shrink:0}.sidebar-floating-container .route-result-panel,cgo-floating-window .route-result-panel{overflow:hidden!important}@media (max-width:640px){.unified-panel.mobile-sheet{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:40dvh!important;width:100%!important;max-height:none!important;border-radius:20px 20px 0 0;overflow:hidden;transition:top .28s cubic-bezier(.2,.8,.2,1)}#info-panel.mobile-split-active.sheet-collapsed,.unified-panel.mobile-sheet.sheet-collapsed{top:calc(100dvh - 96px - env(safe-area-inset-bottom, 0px))!important}#info-panel.mobile-split-active.mobile-expanded,.unified-panel.mobile-sheet.mobile-expanded{top:calc(env(safe-area-inset-top, 0px) + 64px)!important;border-radius:0}.unified-panel.route-panel.mobile-sheet:not(.mobile-expanded):not(.sheet-collapsed){top:auto!important;bottom:0;height:auto;max-height:70dvh;animation:routeSheetEnter .36s cubic-bezier(.16,1,.3,1) both}.panel-expand-btn{display:none!important}.unified-panel .sheet-grabber{display:flex;justify-content:center;align-items:center;position:absolute;top:0;left:50%;transform:translateX(-50%);width:72px;height:20px;cursor:grab;touch-action:none;z-index:2002;background:transparent}.unified-panel .sheet-grabber-bar{width:40px;height:4px;border-radius:999px;background:rgba(255,255,255,.78);box-shadow:0 0 0 1px rgba(0,0,0,.2),0 1px 3px rgba(0,0,0,.3)}.unified-panel.route-panel{--route-sheet-surface:var(--panel,#ffffff);background:var(--route-sheet-surface);border:1px solid var(--divider);border-bottom:none;box-shadow:0 -12px 32px rgba(0,0,0,.28);z-index:11630!important;overflow:visible!important}[data-theme=dark] .unified-panel.route-panel{--route-sheet-surface:var(--panel,#1f2020)}.unified-panel.route-panel .unified-route-content{overflow:visible!important;overscroll-behavior:contain}.unified-panel.route-panel .route-planner,.unified-panel.route-panel .route-result-panel{border:none!important;box-shadow:none!important;border-radius:0!important;background:transparent!important;-webkit-backdrop-filter:none;backdrop-filter:none}.unified-panel.route-panel .route-planner-fields,.unified-panel.route-panel .route-planner-footer{background-color:var(--route-sheet-surface)}.unified-panel.route-panel .panel-expand-btn,.unified-panel.route-panel .sheet-grabber{display:none!important}.unified-panel.route-panel .route-planner-header{padding-top:14px;border-bottom-color:rgba(255,255,255,.12)}.unified-panel.route-panel .route-planner-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom, 0px))}}@keyframes routeSheetEnter{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.unified-panel.route-panel.mobile-sheet{animation:none!important;transition-duration:.01ms!important}}.route-plan-cards{display:flex;gap:8px;margin-bottom:14px}.route-plan-card{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;border-radius:12px;border:1px solid var(--divider);background:rgba(255,255,255,.04);color:var(--text-main);font-family:inherit;font-size:12px;cursor:pointer;transition:all .2s ease;text-align:left}.route-plan-card.active,.route-plan-card:hover{border-color:var(--plan-color,#38bdf8)}.route-plan-card.active{background:color-mix(in srgb,var(--plan-color,#38bdf8) 12%,transparent);box-shadow:0 0 0 1px var(--plan-color,#38bdf8)}.route-plan-card .plan-label{display:flex;align-items:center;gap:5px;font-weight:600;color:var(--text-light)}.route-plan-card .plan-color-dot{width:8px;height:8px;border-radius:50%;background:var(--plan-color,#38bdf8)}.route-plan-card .plan-time{font-size:15px;font-weight:700}.route-plan-card .plan-meta{color:var(--text-light);font-size:11px}.result-close{position:absolute;top:50%;transform:translateY(-50%);right:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);width:28px;height:28px;border-radius:50%;color:var(--panel-header-text,#ffffff);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s ease;line-height:1;padding:0;z-index:10}.result-close:hover{background:rgba(255,255,255,.22);color:#ffffff;border-color:rgba(255,255,255,.35)}.result-header{position:relative;margin:-18px -20px 16px;padding:13px 48px 14px 20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;color:#f4fafc;background:var(--panel-header-bg,#00263b);border-bottom:1px solid rgba(255,255,255,.12);font-size:14px;font-weight:700;cursor:grab}.result-header:active{cursor:grabbing}.result-header-kicker{color:#8fc3d2;font-size:9px;font-weight:800;line-height:1;letter-spacing:.16em}.result-journey{min-width:0;display:flex;align-items:center;gap:9px}.result-station-tag{display:inline-flex;align-items:center;gap:6px;color:inherit}.result-station-tag.start .station-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 8px rgba(16,185,129,.6)}.result-station-tag.end .station-dot{width:8px;height:8px;border-radius:50%;background:#ef4444;box-shadow:0 0 8px rgba(239,68,68,.6)}.result-arrow-icon{color:var(--text-light);font-size:13px;opacity:.6}.result-main{justify-content:space-between;margin-bottom:16px}.result-main,.time-big{display:flex;align-items:flex-start}.time-big{flex-direction:column;gap:7px;line-height:1}.time-duration-row{display:flex;align-items:baseline;gap:3px}.time-big .time-value{font-size:38px;font-weight:800;letter-spacing:-1px;color:#38bdf8;text-shadow:0 2px 10px rgba(56,189,248,.25)}.time-big small{font-size:13px;font-weight:500;color:var(--text-light);margin-left:2px}.time-big .result-arrival-time{margin-left:1px;display:inline-flex;align-items:center;gap:4px;color:color-mix(in srgb,var(--primary-color) 76%,var(--text-main));font-size:11.5px;font-weight:650;line-height:1.2;white-space:nowrap}.stops-info-box{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:4px}.stops-small{color:#38bdf8;background:rgba(56,189,248,.12);border:1px solid rgba(56,189,248,.25);border-radius:8px}.fare-small,.stops-small{font-size:12px;font-weight:600;padding:4px 10px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.fare-small{color:#10b981;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.25);border-radius:8px}.result-options{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.result-option{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:8px;font-size:11.5px;font-weight:500;cursor:pointer;background:rgba(255,255,255,.04);color:var(--text-light);border:1px solid var(--divider);transition:all .2s ease;user-select:none;box-sizing:border-box}.result-option:hover{border-color:rgba(56,189,248,.4);color:var(--text-main);background:rgba(255,255,255,.08)}.result-option.active{background:rgba(56,189,248,.15)!important;color:#38bdf8!important;border-color:rgba(56,189,248,.5)!important;font-weight:600;box-shadow:0 2px 8px rgba(56,189,248,.15)}.result-option input[type=checkbox]{accent-color:#38bdf8;cursor:pointer;margin:0}.passenger-type-option.active{background:rgba(251,191,36,.15)!important;color:#fbbf24!important;border-color:rgba(251,191,36,.5)!important;box-shadow:0 2px 8px rgba(251,191,36,.15)}.passenger-type-option input[type=checkbox]{accent-color:#fbbf24}.peak-badge,.timetable-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 7px;border-radius:6px;font-size:10.5px;font-weight:600;cursor:default;user-select:none}.timetable-badge{background:rgba(34,197,94,.12);color:#22c55e;border:1px solid rgba(34,197,94,.3)}.peak-badge{background:rgba(239,68,68,.12);color:#ef4444;border:1px solid rgba(239,68,68,.3)}.fare-breakdown{margin-bottom:14px;padding:10px 12px;background:var(--ctrl-btn-bg);border-radius:8px;border:1px dashed var(--divider);font-size:12px;color:var(--text-light)}.fare-item{display:flex;justify-content:space-between;margin-bottom:4px}.route-result-actions{display:flex;gap:8px;width:100%;margin-bottom:12px;align-items:center}.route-result-panel>.result-options,.route-result-panel>.route-result-actions{max-height:320px;overflow:hidden;transition:max-height .22s ease,opacity .16s ease,margin-bottom .22s ease}.route-result-panel>.result-options.is-busy{opacity:.55;pointer-events:none}.route-result-panel.is-compact>.result-options,.route-result-panel.is-compact>.route-result-actions{max-height:0;margin-bottom:0;opacity:0;pointer-events:none}.route-result-actions .route-fit-btn{flex:0 0 32px;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--divider,#e0e0e0);border-radius:8px;background:var(--ctrl-btn-bg,#f0f2f5);color:var(--text-main,#00263b);cursor:pointer;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.route-result-actions .route-fit-btn:hover{color:var(--primary-color,#0f7894);border-color:color-mix(in srgb,var(--primary-color) 32%,var(--divider));background:var(--panel,#ffffff)}.route-result-actions #pip-result-btn{flex:1;margin-bottom:0}.route-result-actions #copy-result-btn,.route-result-actions #share-result-btn{flex:0 0 32px;width:32px;height:32px;padding:0;margin-bottom:0}#copy-result-btn,#pip-refresh-btn,#pip-result-btn,#share-result-btn{height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--divider,#e0e0e0);background:var(--ctrl-btn-bg,#f0f2f5);color:var(--text-main,#00263b);font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;box-shadow:none;box-sizing:border-box;outline:none;transition:background-color .2s,border-color .2s,color .2s}#copy-result-btn cgo-icon,#copy-result-btn svg,#pip-refresh-btn cgo-icon,#pip-refresh-btn svg,#pip-result-btn cgo-icon,#pip-result-btn svg,#share-result-btn cgo-icon,#share-result-btn svg{width:16px;height:16px;font-size:16px;flex-shrink:0}#copy-result-btn:hover,#pip-refresh-btn:hover:not(:disabled),#pip-result-btn:hover:not(:disabled),#share-result-btn:hover{background:var(--ctrl-btn-bg-hover,rgba(0,0,0,.06));border-color:var(--text-light)}#copy-result-btn.is-copied,#share-result-btn.is-copied{background:rgba(16,185,129,.15);color:#10b981;border-color:rgba(16,185,129,.4)}#copy-result-btn.is-error,#share-result-btn.is-error{background:rgba(239,68,68,.15);color:#ef4444;border-color:rgba(239,68,68,.4)}#pip-result-btn:disabled{opacity:.6;cursor:not-allowed}.route-note{font-size:11px;color:var(--text-light);margin-top:8px;line-height:1.4;opacity:.8}#route-calc-error{color:#ef4444;font-size:12px;font-weight:600;margin-top:8px;text-align:center;padding:8px;background:rgba(239,68,68,.1);border-radius:8px;border:1px solid rgba(239,68,68,.2)}.route-path-flow{margin-top:10px;padding:10px 12px;background:var(--ctrl-btn-bg);border:1px solid var(--divider);border-radius:8px;font-size:12px;line-height:1.5;color:var(--text-main);max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;user-select:text}.route-path-flow::-webkit-scrollbar{width:4px}.route-path-flow::-webkit-scrollbar-thumb{background:rgba(128,128,128,.3);border-radius:2px}.route-section-block{position:relative;margin-left:28px;padding-left:10px;border-left:2px solid var(--line-color,#38bdf8);display:flex;flex-direction:column;gap:4px;transition:border-color .2s ease}.route-section-content{flex-wrap:wrap;gap:4px 6px}.route-section-content,.route-section-end-row{position:relative;display:flex;align-items:center}.route-section-end-row{gap:6px;margin-top:2px}.path-node-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--text-light);opacity:.85;flex-shrink:0;width:14px;height:14px}.path-node-icon.start{top:2px}.path-node-icon.end,.path-node-icon.start{position:absolute;left:-28px;width:14px;height:14px;color:var(--text-light);opacity:.85}.path-node-icon.end{top:50%;transform:translateY(-50%)}.path-node-icon.transfer{color:var(--text-light);opacity:.7;margin:0 1px}.path-line-badge{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--line-color,var(--text-main));line-height:1;box-sizing:border-box;border-radius:3px!important;overflow:hidden!important}.path-line-badge .inline-line-icon,.path-line-badge svg,.path-transfer-btn .inline-line-icon,.path-transfer-btn svg{border-radius:3px!important;overflow:hidden!important;display:block}.path-transfer-btn{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:5px;font-size:11px;font-weight:600;background:var(--line-bg,rgba(245,158,11,.15));color:var(--line-color,#f59e0b);border:1px solid var(--line-color,rgba(245,158,11,.3));vertical-align:middle;line-height:1.3}.path-station-name{font-weight:500;color:var(--text-main);font-size:12px}.path-arrow-icon{color:var(--text-light);opacity:.35;margin:0 1px;display:inline-flex;align-items:center}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.btn-close-unified{background:transparent;border:none;font-size:24px;line-height:1;color:var(--close-btn-color);cursor:pointer;padding:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s;z-index:10}.btn-close-unified:hover{background-color:rgba(255,255,255,.15);color:#fff}.panel-close-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--close-btn-color)!important;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;padding:0;appearance:none;-webkit-appearance:none}.panel-close-btn:hover{color:#fff;background-color:rgba(255,255,255,.1);border-radius:50%}.station-detail-resizable{transition:width .2s,height .2s;display:flex;flex-direction:column}@media (min-width:641px){#info-panel,.station-detail-resizable,.unified-panel{border-radius:8px!important;overflow:hidden!important;max-height:90dvh}}.station-detail-resizable.minimized{height:60px!important}.panel-expand-btn{display:none}@media (max-width:640px){.panel-expand-btn{display:flex;align-items:center;justify-content:center;position:absolute;top:-5px;left:50%;transform:translateX(-50%);width:60px;height:20px;border-radius:10px;background-color:rgba(0,0,0,.32);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border:none!important;box-shadow:0 1px 4px rgba(0,0,0,.3);padding:0;cursor:pointer;z-index:2001;transition:background-color .2s}.panel-expand-btn svg{width:16px;height:16px;opacity:.9;fill:currentColor}.panel-expand-btn svg path{fill:#fff}#info-panel.mobile-split-active{display:flex!important;flex-direction:column!important;position:fixed!important;top:40dvh!important;left:0!important;bottom:0!important;width:100%!important;height:auto!important;max-height:none!important;border-radius:20px 20px 0 0!important;box-shadow:0 -5px 20px rgba(0,0,0,.15)!important;z-index:11500!important;background-color:var(--panel)!important;transition:top .3s cubic-bezier(.25,.46,.45,.94)!important;overflow:visible!important;animation:slideUp .3s cubic-bezier(.2,.8,.2,1)}#info-panel .panel-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:20px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}#info-panel .panel-footer{flex-shrink:0;margin-top:auto;position:sticky;bottom:0;background-color:var(--panel);z-index:5;border-top:1px solid var(--divider)!important;padding-bottom:calc(8px + env(safe-area-inset-bottom))!important}#info-panel.mobile-expanded,body.mobile-panel-expanded #info-panel{top:calc(env(safe-area-inset-top, 0px) + 64px)!important;bottom:0!important;height:auto!important;min-height:0!important;max-height:none!important;border-radius:0!important;z-index:11500!important}#info-panel.mobile-split-active:not(.mobile-expanded) .station-detail-content{border-radius:20px 20px 0 0!important;overflow:hidden!important}.tool-header:has(.dropdown-content.show){z-index:12000!important}#info-panel.mobile-expanded .station-detail-content,#info-panel.mobile-split-active .station-detail-content,body.mobile-panel-expanded #info-panel .station-detail-content{display:flex!important;flex-direction:column!important;min-height:0!important;height:100%!important}#info-panel.mobile-expanded .panel-body,#info-panel.mobile-split-active .panel-body,body.mobile-panel-expanded #info-panel .panel-body{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}#info-panel.mobile-expanded:not(.is-pinned) .panel-header,#info-panel.mobile-split-active:not(.is-pinned) .panel-header,.unified-panel.mobile-sheet:not(.is-pinned) .panel-header{padding:18px 44px 14px 18px!important}#info-panel.mobile-expanded:not(.is-pinned) .panel-cn-name,#info-panel.mobile-split-active:not(.is-pinned) .panel-cn-name,.unified-panel.mobile-sheet:not(.is-pinned) .panel-cn-name{font-size:20px!important;font-weight:700!important;letter-spacing:.5px!important;margin-bottom:2px!important}#info-panel.mobile-expanded:not(.is-pinned) .panel-en-name,#info-panel.mobile-split-active:not(.is-pinned) .panel-en-name,.unified-panel.mobile-sheet:not(.is-pinned) .panel-en-name{font-size:12px!important;margin-top:1px!important}#info-panel.mobile-expanded:not(.is-pinned) .panel-close-btn,#info-panel.mobile-split-active:not(.is-pinned) .panel-close-btn,.unified-panel.mobile-sheet:not(.is-pinned) .panel-close-btn{width:28px!important;height:28px!important;right:14px!important}#info-panel.mobile-expanded:not(.is-pinned) .panel-close-btn svg,#info-panel.mobile-split-active:not(.is-pinned) .panel-close-btn svg,.unified-panel.mobile-sheet:not(.is-pinned) .panel-close-btn svg{width:18px!important;height:18px!important}#info-panel.mobile-expanded:not(.is-pinned) .panel-badges .line-badge,#info-panel.mobile-split-active:not(.is-pinned) .panel-badges .line-badge,.unified-panel.mobile-sheet:not(.is-pinned) .panel-badges .line-badge{height:26px!important}#info-panel.mobile-expanded:not(.is-pinned) .panel-body,#info-panel.mobile-split-active:not(.is-pinned) .panel-body,.unified-panel.mobile-sheet:not(.is-pinned) .panel-body{padding:10px 14px 20px!important;gap:8px}#info-panel.mobile-expanded:not(.is-pinned) .panel-tabs-nav,#info-panel.mobile-split-active:not(.is-pinned) .panel-tabs-nav,.unified-panel.mobile-sheet:not(.is-pinned) .panel-tabs-nav{height:36px!important;margin-bottom:-1px!important}#info-panel.mobile-expanded:not(.is-pinned) .panel-tabs-nav .tab-item,#info-panel.mobile-split-active:not(.is-pinned) .panel-tabs-nav .tab-item,.unified-panel.mobile-sheet:not(.is-pinned) .panel-tabs-nav .tab-item{font-size:13px!important;height:36px!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 12px 1px!important;line-height:normal!important}#info-panel.mobile-expanded:not(.is-pinned) .station-pip-button-row,#info-panel.mobile-expanded:not(.is-pinned) .station-share-action-group,#info-panel.mobile-split-active:not(.is-pinned) .station-pip-button-row,#info-panel.mobile-split-active:not(.is-pinned) .station-share-action-group{height:32px!important;margin-top:4px!important;margin-bottom:6px!important}#info-panel.mobile-expanded:not(.is-pinned) .station-pip-button-row .share-btn,#info-panel.mobile-expanded:not(.is-pinned) .station-pip-button-row button,#info-panel.mobile-expanded:not(.is-pinned) .station-share-action-group button,#info-panel.mobile-split-active:not(.is-pinned) .station-pip-button-row .share-btn,#info-panel.mobile-split-active:not(.is-pinned) .station-pip-button-row button,#info-panel.mobile-split-active:not(.is-pinned) .station-share-action-group button{height:32px!important;font-size:13px!important;border-radius:6px!important}#info-panel.mobile-expanded:not(.is-pinned) .station-share-action-group .station-qrcode-btn,#info-panel.mobile-split-active:not(.is-pinned) .station-share-action-group .station-qrcode-btn{width:32px!important;min-width:32px!important;max-width:32px!important}#info-panel.mobile-expanded:not(.is-pinned) .reserved-box,#info-panel.mobile-expanded:not(.is-pinned) .station-svg-container,#info-panel.mobile-split-active:not(.is-pinned) .reserved-box,#info-panel.mobile-split-active:not(.is-pinned) .station-svg-container{margin:8px 0!important;border-radius:6px!important}#info-panel.mobile-expanded:not(.is-pinned) .info-row,#info-panel.mobile-split-active:not(.is-pinned) .info-row{font-size:13.5px!important;margin-bottom:6px!important}#info-panel.mobile-expanded:not(.is-pinned) .info-label,#info-panel.mobile-expanded:not(.is-pinned) .info-value,#info-panel.mobile-split-active:not(.is-pinned) .info-label,#info-panel.mobile-split-active:not(.is-pinned) .info-value{font-size:13.5px!important}#info-panel.mobile-split-active:not(.mobile-expanded):not(.sheet-collapsed),.unified-panel.mobile-sheet:not(.mobile-expanded):not(.sheet-collapsed){top:28dvh!important}#info-panel.mobile-expanded:not(.is-pinned) .nt-wrapper,#info-panel.mobile-split-active:not(.is-pinned) .nt-wrapper{margin-top:3px!important;margin-bottom:5px!important}#info-panel.mobile-expanded:not(.is-pinned) .nt-item,#info-panel.mobile-split-active:not(.is-pinned) .nt-item{padding:4px 8px!important;border-radius:4px!important;font-size:12.5px!important;min-height:26px!important;height:auto!important;flex-wrap:wrap!important;row-gap:2px!important}#info-panel.mobile-expanded:not(.is-pinned) .nt-label,#info-panel.mobile-split-active:not(.is-pinned) .nt-label{font-size:12.5px!important;font-weight:700!important}#info-panel.mobile-expanded:not(.is-pinned) .nt-time-val,#info-panel.mobile-split-active:not(.is-pinned) .nt-time-val{font-size:13px!important;font-weight:700!important}#info-panel.mobile-expanded:not(.is-pinned) .nt-right,#info-panel.mobile-split-active:not(.is-pinned) .nt-right{font-size:12px!important;padding:1px 6px!important}#info-panel.mobile-expanded:not(.is-pinned) .nt-special-note,#info-panel.mobile-split-active:not(.is-pinned) .nt-special-note{font-size:11.5px!important;white-space:normal!important;word-break:break-word!important}#info-panel.mobile-expanded:not(.is-pinned) .panel-share-btn-square,#info-panel.mobile-expanded:not(.is-pinned) .panel-tts-btn-square,#info-panel.mobile-expanded:not(.is-pinned) .station-pip-button-row .panel-share-btn-square,#info-panel.mobile-expanded:not(.is-pinned) .station-pip-button-row .panel-tts-btn-square,#info-panel.mobile-split-active:not(.is-pinned) .panel-share-btn-square,#info-panel.mobile-split-active:not(.is-pinned) .panel-tts-btn-square,#info-panel.mobile-split-active:not(.is-pinned) .station-pip-button-row .panel-share-btn-square,#info-panel.mobile-split-active:not(.is-pinned) .station-pip-button-row .panel-tts-btn-square{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;aspect-ratio:1/1!important;flex-shrink:0!important;padding:0!important;border-radius:6px!important}#info-panel.mobile-expanded:not(.is-pinned) .tt-header-row-split,#info-panel.mobile-split-active:not(.is-pinned) .tt-header-row-split{height:34px!important;gap:6px!important;margin:6px 0!important}#info-panel.mobile-expanded:not(.is-pinned) .tt-split-toggle,#info-panel.mobile-split-active:not(.is-pinned) .tt-split-toggle{height:34px!important;font-size:13.5px!important;padding:0 12px!important;border-radius:6px!important}#info-panel.mobile-expanded:not(.is-pinned) .tt-ext-btn,#info-panel.mobile-split-active:not(.is-pinned) .tt-ext-btn{height:34px!important;width:34px!important;border-radius:6px!important}#info-panel.mobile-expanded .timetable-scroll-area,#info-panel.mobile-split-active .timetable-scroll-area,body.mobile-panel-expanded .timetable-scroll-area,body.mobile-split-active .timetable-scroll-area{min-height:260px!important;max-height:min(580px,62vh)!important}#info-panel.mobile-expanded:not(.is-pinned) .panel-footer,#info-panel.mobile-split-active:not(.is-pinned) .panel-footer{padding:8px 12px calc(8px + env(safe-area-inset-bottom, 0px))!important}#info-panel.mobile-expanded:not(.is-pinned) .panel-footer-actions,#info-panel.mobile-split-active:not(.is-pinned) .panel-footer-actions{gap:6px!important}#info-panel.mobile-expanded:not(.is-pinned) .panel-footer-btn,#info-panel.mobile-split-active:not(.is-pinned) .panel-footer-btn{padding:4px 2px!important;min-height:44px!important;height:44px!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;font-size:12px!important;font-weight:600!important;border-radius:6px!important;gap:2px!important}#info-panel.mobile-expanded:not(.is-pinned) .panel-footer-btn svg,#info-panel.mobile-split-active:not(.is-pinned) .panel-footer-btn svg{width:20px!important;height:20px!important}body.mobile-panel-expanded #modern-zoom-control #mz-in,body.mobile-panel-expanded #modern-zoom-control #mz-out,body.mobile-panel-expanded #modern-zoom-control .mz-divider-zoom,body.mobile-panel-expanded #modern-zoom-control .mz-slider-track,body.mobile-panel-expanded #modern-zoom-control .zoom-btn-group,body.mobile-panel-expanded #modern-zoom-control .zoom-btn-group+.mz-divider,body.mobile-split-active #modern-zoom-control #mz-in,body.mobile-split-active #modern-zoom-control #mz-out,body.mobile-split-active #modern-zoom-control .mz-divider-zoom,body.mobile-split-active #modern-zoom-control .mz-slider-track,body.mobile-split-active #modern-zoom-control .zoom-btn-group,body.mobile-split-active #modern-zoom-control .zoom-btn-group+.mz-divider,body:has(#info-panel.mobile-expanded) #modern-zoom-control #mz-in,body:has(#info-panel.mobile-expanded) #modern-zoom-control #mz-out,body:has(#info-panel.mobile-expanded) #modern-zoom-control .mz-divider-zoom,body:has(#info-panel.mobile-expanded) #modern-zoom-control .mz-slider-track,body:has(#info-panel.mobile-expanded) #modern-zoom-control .zoom-btn-group,body:has(#info-panel.mobile-expanded) #modern-zoom-control .zoom-btn-group+.mz-divider,body:has(#info-panel.mobile-split-active) #modern-zoom-control #mz-in,body:has(#info-panel.mobile-split-active) #modern-zoom-control #mz-out,body:has(#info-panel.mobile-split-active) #modern-zoom-control .mz-divider-zoom,body:has(#info-panel.mobile-split-active) #modern-zoom-control .mz-slider-track,body:has(#info-panel.mobile-split-active) #modern-zoom-control .zoom-btn-group,body:has(#info-panel.mobile-split-active) #modern-zoom-control .zoom-btn-group+.mz-divider,body:has(.unified-panel.mobile-sheet:not(.sheet-collapsed)) #modern-zoom-control #mz-in,body:has(.unified-panel.mobile-sheet:not(.sheet-collapsed)) #modern-zoom-control #mz-out,body:has(.unified-panel.mobile-sheet:not(.sheet-collapsed)) #modern-zoom-control .mz-divider-zoom,body:has(.unified-panel.mobile-sheet:not(.sheet-collapsed)) #modern-zoom-control .mz-slider-track,body:has(.unified-panel.mobile-sheet:not(.sheet-collapsed)) #modern-zoom-control .zoom-btn-group,body:has(.unified-panel.mobile-sheet:not(.sheet-collapsed)) #modern-zoom-control .zoom-btn-group+.mz-divider{display:none!important}.legend-overlay{z-index:30000!important}.legend-overlay .legend-popover{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;transform-origin:center center!important;width:90vw!important;max-width:380px!important;max-height:80dvh!important;margin:0!important;border-radius:16px!important;box-shadow:0 10px 30px rgba(0,0,0,.3)!important;z-index:30001!important;animation:expandMenuMobile .22s cubic-bezier(.2,.8,.2,1)!important}.legend-popover .legend-header-btn.pin-btn{display:none!important}.legend-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px 6px!important;margin-bottom:12px!important}.legend-grid-item{padding:2px 4px!important}.legend-svg-wrapper :global(svg),.legend-svg-wrapper svg{max-height:35px!important}}@media (min-width:641px){#info-panel .panel-header{cursor:move;user-select:none!important;-webkit-user-select:none!important}#info-panel .panel-header a,#info-panel .panel-header button{cursor:pointer;user-select:none}}.line-tooltip{position:fixed;z-index:9999;display:flex;flex-direction:column;align-items:center;background:rgba(255,255,255,.95);border:1px solid #dcdcdc;border-radius:3px;box-shadow:0 4px 12px rgba(0,0,0,.15);color:var(--text-main);padding:3px 2px .5px;pointer-events:none;overflow:hidden;transform:translate(-50%,-100%);margin-top:-15px;filter:drop-shadow(0 2px 5px rgba(0,0,0,.3));--data1:var(--map-bg)}[data-theme=dark] .line-tooltip{background:rgba(26,26,26,.95);border:1px solid #444;--data2:#ffffff}.settings-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:60000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(3px);animation:overlayFadeIn .2s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.settings-modal{background:var(--panel,#ffffff);color:var(--text-main,#00263b);width:min(580px,94vw);max-height:88vh;max-height:88dvh;border-radius:var(--radius-lg,14px);box-shadow:0 16px 40px rgba(0,0,0,.22);border:1px solid var(--divider,#dee2e6);animation:settingsPopIn .22s cubic-bezier(.34,1.56,.64,1);z-index:60001}.settings-modal,.settings-modal cgo-tabs{display:flex;flex-direction:column;overflow:hidden}.settings-modal cgo-tabs{--tab-bg:var(--panel,#ffffff);--card-bg:transparent;--border-color:var(--divider,#dee2e6);--primary-color:var(--cgo-primary,#00263b);flex:1;min-height:0}.settings-modal cgo-tab[active]{display:block;max-height:calc(88vh - 110px);max-height:calc(88dvh - 110px);overflow-y:auto;padding:0}@keyframes settingsPopIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--divider,#dee2e6);flex-shrink:0;background:var(--panel,#ffffff)}.settings-header h3{margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em}.settings-close-btn{background:var(--ctrl-btn-bg,#f1f3f5);border:none;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:var(--text-light,#6c757d);cursor:pointer;transition:all .15s ease;padding:0;appearance:none;-webkit-appearance:none}.settings-close-btn:hover{background-color:var(--ctrl-hover,#e9ecef);color:var(--text-main,#00263b)}.settings-content{flex:1;min-height:0;overflow:hidden;padding:0}.settings-content,.settings-group{display:flex;flex-direction:column}.settings-group{padding:16px 20px;gap:14px}.settings-card{background:var(--card-bg,var(--bg-color,#ffffff));border:1px solid var(--divider,#dee2e6);border-radius:var(--radius-md,10px);padding:14px 16px;display:flex;flex-direction:column;gap:12px;box-sizing:border-box}.settings-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--divider,#dee2e6)}.settings-card-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text-main,#00263b)}.settings-card-title .btn-icon{color:var(--primary-color,#00263b)}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;gap:16px}.settings-row-bordered{padding-bottom:12px;border-bottom:1px dashed var(--divider,#dee2e6)}.settings-row-bordered:last-child{border-bottom:none;padding-bottom:4px}.settings-label-wrap{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.settings-label{font-size:13.5px;font-weight:600;color:var(--text-main,#00263b);display:flex;align-items:center;gap:6px}.settings-flag-group{display:inline-flex;align-items:center;gap:5px}.lang-flag-svg{width:21px;height:14px;aspect-ratio:3/2;border-radius:2px;box-shadow:0 0 0 .5px var(--divider,rgba(0,0,0,.18));display:inline-block;flex-shrink:0;vertical-align:middle}.settings-desc{font-size:11.5px;color:var(--text-light,#6c757d);line-height:1.45}.settings-switch{width:44px;height:24px;border-radius:12px;background-color:var(--ctrl-btn-bg,#dee2e6);border:1px solid var(--divider,#ced4da);cursor:pointer;display:inline-flex;align-items:center;padding:2px;box-sizing:border-box;position:relative;transition:background-color .2s ease,border-color .2s ease;flex-shrink:0;appearance:none;-webkit-appearance:none;outline:none}.settings-switch:hover:not(:disabled){border-color:var(--primary-color,#00263b)}.settings-switch:focus-visible{box-shadow:0 0 0 2px rgba(0,38,59,.2)}.settings-switch-thumb{width:18px;height:18px;border-radius:50%;background-color:#ffffff;box-shadow:0 1px 3px rgba(0,0,0,.25);transform:translateX(0);transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:block}.settings-switch[aria-checked=true]{background-color:var(--primary-color,#00263b);border-color:var(--primary-color,#00263b)}.settings-switch[aria-checked=true] .settings-switch-thumb{transform:translateX(20px)}.settings-switch:disabled{opacity:.5;cursor:not-allowed}.settings-readiness-card{background:linear-gradient(135deg,var(--card-bg,#ffffff) 0,var(--panel,#f8f9fa) 100%);border:1.5px solid var(--divider,#dee2e6);border-radius:var(--radius-md,10px);padding:16px;display:flex;flex-direction:column;gap:14px}.settings-readiness-card.is-ready{border-color:rgba(16,185,129,.35);background:linear-gradient(135deg,var(--card-bg,#ffffff) 0,rgba(16,185,129,.04) 100%)}.settings-readiness-card.is-partial{border-color:rgba(245,158,11,.35);background:linear-gradient(135deg,var(--card-bg,#ffffff) 0,rgba(245,158,11,.04) 100%)}.settings-readiness-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-readiness-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:700}.settings-readiness-badge.badge-ready{background-color:rgba(16,185,129,.12);color:#059669;border:1px solid rgba(16,185,129,.3)}.settings-readiness-badge.badge-partial{background-color:rgba(245,158,11,.12);color:#d97706;border:1px solid rgba(245,158,11,.3)}.settings-readiness-badge.badge-none{background-color:var(--ctrl-btn-bg,#e9ecef);color:var(--text-light,#6c757d);border:1px solid var(--divider,#ced4da)}.settings-storage-bar{height:10px;border-radius:5px;overflow:hidden;display:flex;background-color:var(--ctrl-btn-bg,#e9ecef);border:1px solid var(--divider,#dee2e6);margin:6px 0}.settings-storage-seg{height:100%;transition:width .3s ease}.settings-storage-seg.seg-map{background-color:#10b981}.settings-storage-seg.seg-timetable{background-color:#3b82f6}.settings-storage-seg.seg-fonts{background-color:#8b5cf6}.settings-storage-seg.seg-other{background-color:#94a3b8}.settings-storage-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--text-light,#6c757d);margin-top:4px}.settings-legend-item{display:inline-flex;align-items:center;gap:5px}.settings-legend-dot{width:8px;height:8px;border-radius:50%}.settings-progress-box{background-color:var(--ctrl-btn-bg,#f8f9fa);border:1px solid var(--divider,#dee2e6);border-radius:var(--radius-sm,6px);padding:8px 12px;display:flex;flex-direction:column;gap:6px}.settings-progress-track{height:6px;border-radius:3px;background-color:var(--divider,#dee2e6);overflow:hidden}.settings-progress-fill{height:100%;background:var(--primary-color,#00263b);transition:width .2s ease}.settings-line-pack-list{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow-y:auto;padding-right:4px}.settings-line-pack-item{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;background-color:var(--panel,#f8f9fa);border:1px solid var(--divider,#dee2e6);border-radius:var(--radius-sm,6px);gap:10px;transition:background-color .15s ease}.settings-line-pack-item:hover{background-color:var(--ctrl-hover,#e9ecef)}.settings-line-pack-info{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.settings-line-pack-meta{font-size:11px;color:var(--text-light,#6c757d)}.settings-pip-box{margin-top:4px;padding:12px 14px;background-color:var(--card-bg,var(--bg-color,#ffffff));border:1px solid var(--divider,#dee2e6);border-radius:var(--radius-md,8px)}.settings-pip-box,.settings-warning-box{margin-bottom:2px;width:100%;box-sizing:border-box}.settings-warning-box{margin-top:8px;padding:10px 12px;background-color:rgba(234,179,8,.08);border:1px solid rgba(234,179,8,.35);border-radius:var(--radius-md,8px);display:flex;align-items:flex-start;gap:10px}.settings-warning-icon{color:#d97706;flex-shrink:0;margin-top:2px}.settings-warning-text{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--text-main,#00263b);line-height:1.5}.settings-warning-text strong{font-weight:600;color:#d97706}.settings-status-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background-color:var(--primary-light,rgba(0,96,152,.08));color:var(--primary-color,#006098);border-radius:var(--radius-sm,6px);font-size:12px;font-weight:500;margin-top:4px}.settings-status-dot{width:6px;height:6px;border-radius:50%;background-color:var(--primary-color,#006098);flex-shrink:0}.settings-danger-card{background-color:rgba(239,68,68,.03);border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-md,10px);padding:14px 16px;display:flex;flex-direction:column;gap:12px}.settings-danger-header{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#dc2626;padding-bottom:8px;border-bottom:1px solid rgba(239,68,68,.15)}.settings-pip-title{font-size:12px;font-weight:600;color:var(--text-light,#6c757d);margin-bottom:8px}.settings-pip-options{display:flex;flex-direction:column;gap:8px}.settings-checkbox-item{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:6px 8px;border-radius:var(--radius-sm,6px);transition:background-color var(--transition-fast,.15s ease)}.settings-checkbox-item:hover:not(.disabled){background-color:var(--ctrl-hover,rgba(0,0,0,.04))}.settings-checkbox-item.disabled{opacity:.5;cursor:not-allowed}.settings-checkbox{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid var(--divider,#ccc);border-radius:4px;background-color:var(--panel,#fff);margin-top:2px;cursor:pointer;position:relative;transition:all var(--transition-fast,.15s ease);flex-shrink:0}.settings-checkbox:checked{background-color:var(--primary-color,#00263b);border-color:var(--primary-color,#00263b)}.settings-checkbox:checked:after{content:"";position:absolute;top:1px;left:4px;width:5px;height:9px;border:solid #ffffff;border-width:0 2px 2px 0;transform:rotate(45deg)}.settings-checkbox:disabled{cursor:not-allowed;border-color:var(--divider,#dee2e6);background-color:var(--ctrl-btn-bg,#e9ecef)}.settings-checkbox-text{display:flex;flex-direction:column;min-width:0}.settings-checkbox-title{font-size:13px;font-weight:500;color:var(--text-main,#00263b)}.settings-checkbox-desc{font-size:11px;color:var(--text-light,#6c757d);margin-top:2px}@media (max-width:480px){.settings-modal{width:95%;max-height:88vh}.settings-row{flex-direction:column;align-items:flex-start;gap:8px}}body.panel-dock-hint-left:after,body.panel-dock-hint:not(.panel-dock-hint-right):after{content:"释放以固定到左侧边栏";left:0;border-right:2px dashed #3b82f6;animation:dockHintFadeInLeft .2s ease-out}body.panel-dock-hint-left:after,body.panel-dock-hint-right:after,body.panel-dock-hint:not(.panel-dock-hint-right):after{position:fixed;top:0;bottom:0;width:320px;background-color:rgba(59,130,246,.1);z-index:2400;pointer-events:none;display:flex;align-items:center;justify-content:center;color:#3b82f6;font-weight:700;font-size:14px;backdrop-filter:blur(2px)}body.panel-dock-hint-right:after{content:"释放以固定到右侧边栏";right:0;left:auto;border-left:2px dashed #3b82f6;animation:dockHintFadeInRight .2s ease-out}@keyframes dockHintFadeInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes dockHintFadeInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.station-detail-resizable.is-dragging{opacity:.9;transform:scale(1.01);box-shadow:0 20px 50px rgba(0,0,0,.3);transition:transform .2s,box-shadow .2s,opacity .2s;user-select:none;z-index:25000!important}.panel-tabs-container{display:flex;align-items:center;border-bottom:1px solid var(--divider);position:relative;z-index:10;background:var(--card-bg)}.panel-tabs-nav{display:flex;flex-wrap:nowrap;overflow-x:auto;flex:1;margin:0 0 -1px;padding:0;scrollbar-width:none;-webkit-overflow-scrolling:touch}.panel-tabs-nav::-webkit-scrollbar{display:none}.tab-item{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;padding:5px 10px 4px;cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent;transition:all .2s;font-size:13px;color:var(--text-light);font-weight:500;flex-shrink:0;position:relative}.tab-item:hover{color:var(--text-main);background-color:var(--list-hover)}.tab-item.active{color:var(--text-main);font-weight:700;border-bottom-color:var(--line-color,var(--primary-color))}.panel-tabs-spacer{flex:1 0 0px;min-width:0;pointer-events:none}.tab-item.tab-item-feature{gap:5px}.tab-item.tab-item-feature .tab-item-icon{flex-shrink:0;display:block;transform:translateY(1.5px)}.tab-item.tab-item-feature .fit-text-label{width:auto}.tab-item.tab-item-icon-only{padding-left:9px;padding-right:9px}.tab-item.tab-item-icon-only .tab-item-icon{transform:none}.station-detail-content.is-pinned .tab-item-feature .tab-item-text{display:none!important}.panel-tabs-body{min-height:100px;position:relative}.tab-pane{display:none;animation:tabFadeIn .2s ease-out}.tab-pane.active{display:block}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.nt-wrapper{margin:3px 0 5px;display:flex;flex-direction:column;gap:3px}.nt-item{display:flex;justify-content:space-between;align-items:center;padding:2px 8px;border-radius:4px;font-size:11.5px;font-weight:500;box-shadow:0 1px 2px rgba(0,0,0,.05);min-height:23px}.nt-item.nt-gray{background:#f0f2f5;color:#999;justify-content:center;font-weight:400;border-radius:999px;padding:6px 12px}[data-theme=dark] .nt-item.nt-gray{background:#2a2a2a;color:#777}.nt-green-1,.nt-green-2{background:#e8f5e9;color:#2e7d32;border-left:4px solid #4caf50}[data-theme=dark] .nt-green-1,[data-theme=dark] .nt-green-2{background:#1b5e20;color:#a5d6a7;border-left-color:#66bb6a}.nt-gold{background:#fff8e1;color:#f57f17;border-left:4px solid #ffca28}[data-theme=dark] .nt-gold{background:#4a3b0a;color:#ffe082;border-left-color:#ffd54f}.nt-left{display:flex;align-items:center}.nt-label{margin-right:8px}.nt-label,.nt-time-val{font-weight:700}.nt-time-val.arriving{color:#e65100}[data-theme=dark] .nt-time-val.arriving{color:#ffb74d}.nt-right{font-size:12px;opacity:.9;background:rgba(255,255,255,.6);padding:2px 8px;border-radius:4px}.nt-right-detailed{display:flex;max-width:52%;flex-direction:column;align-items:flex-end;gap:1px;text-align:right}.nt-special-note{max-width:100%;overflow:hidden;color:currentColor;font-size:10px;line-height:1.2;opacity:.82;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .nt-right{background:rgba(0,0,0,.2)}.nt-min-val{font-size:14px;font-weight:700}.nt-min-unit{font-size:11px;margin-left:2px}.map-mode-toggle{display:inline-flex;align-items:center;gap:4px;margin-left:4px;padding:2px;background:var(--ctrl-btn-bg);border:1px solid var(--divider);border-radius:6px}.map-mode-toggle .btn-mode,.map-mode-toggle .btn-tile-toggle{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:4px;border:1px solid transparent;cursor:pointer;font-size:.82rem;transition:all .2s;line-height:1;height:28px;box-sizing:border-box;background:transparent;color:var(--ctrl-icon);white-space:nowrap}.map-mode-toggle .btn-mode:hover,.map-mode-toggle .btn-tile-toggle:hover{background-color:var(--ctrl-hover);color:var(--primary-color)}.map-mode-toggle .btn-mode.is-active{background-color:var(--primary-color);color:white;border-color:var(--primary-color)}.map-mode-toggle .btn-tile-toggle.is-active{background-color:var(--ctrl-hover);color:var(--primary-color);border-color:var(--divider)}.map-mode-toggle .btn-icon{width:1em;height:1em;fill:currentColor;margin-right:3px;margin-top:-1px}.basemap-layer{background-color:transparent;z-index:0!important;filter:grayscale(.9) brightness(1) contrast(1.1) opacity(.35);pointer-events:none;user-select:none;transition:filter .3s ease}[data-theme=dark] .basemap-layer{background-color:transparent;filter:invert(1) grayscale(100%) brightness(.2) contrast(1.1) opacity(.5)}[data-theme=dark] .basemap-layer img{filter:none}.basemap-layer~.map-svg~.labels-layer .stacn,.basemap-layer~.map-svg~.stations-layer .stacn{-webkit-text-stroke:2px var(--map-bg);paint-order:stroke fill}.basemap-layer~.map-svg~.labels-layer .staen,.basemap-layer~.map-svg~.stations-layer .staen{-webkit-text-stroke:1.75px var(--map-bg);paint-order:stroke fill}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.basemap-layer~.map-svg~.labels-layer .stacn,.basemap-layer~.map-svg~.stations-layer .stacn{-webkit-text-stroke:1.2px var(--map-bg)}.basemap-layer~.map-svg~.labels-layer .staen,.basemap-layer~.map-svg~.stations-layer .staen{-webkit-text-stroke:.8px var(--map-bg)}}@media (max-width:640px){.map-mode-toggle{gap:2px;padding:1px}.map-mode-toggle .btn-mode span,.map-mode-toggle .btn-tile-toggle span{display:none}.map-mode-toggle .btn-mode,.map-mode-toggle .btn-tile-toggle{padding:4px 6px}.map-mode-toggle .btn-icon{margin-right:0}}:root{--ruler-thick:15px;--ruler-bg-a:#768289;--ruler-bg-b1:#00263b;--ruler-bg-b2:#768289}[data-theme=dark]{--ruler-bg-a:#555;--ruler-bg-b1:#151515;--ruler-bg-b2:#444}.ruler-wrapper-h{position:absolute;top:0;left:0;right:0;height:var(--ruler-thick);z-index:900;pointer-events:none;overflow:hidden;transition:top .2s,bottom .2s,left .3s;background:transparent}.ruler-wrapper-h.at-bottom{top:auto;bottom:0}.ruler-content-h{position:absolute;top:0;left:0;display:flex;transform-origin:0 0;will-change:transform}.ruler-wrapper-v{position:absolute;top:0;left:0;bottom:0;width:var(--ruler-thick);z-index:901;pointer-events:none;overflow:hidden;transition:left .3s,right .2s;background:transparent}.ruler-wrapper-v.at-right{left:auto;right:0}.ruler-content-v{position:absolute;top:0;left:0;display:flex;flex-direction:column;transform-origin:0 0;will-change:transform}.ruler-block{position:relative;box-sizing:border-box}.ruler-block-h{height:100%}.ruler-block-v{width:100%}.bg-a{background-color:var(--ruler-bg-a)}.bg-b1{background-color:var(--ruler-bg-b1)}.bg-b2{background-color:var(--ruler-bg-b2)}.ruler-label{position:absolute;top:50%;left:50%;transform-origin:center center;font-family:var(--font-latin);font-size:12px;font-weight:700;color:#ffffff;white-space:nowrap;pointer-events:none;user-select:none;transform:translate(-50%,-50%)}@media (max-width:640px){.ruler-wrapper-h,.ruler-wrapper-v{display:none!important}}.panel-share-btn{width:30px;height:30px;margin-right:11px;display:flex;align-items:center;justify-content:center;border:none;background:var(--card-bg);color:var(--text-main);cursor:pointer;flex-shrink:0;transition:all .2s;opacity:.7;position:relative;z-index:11;border-radius:6px}.panel-share-btn:hover{opacity:1;background-color:var(--bg-color);color:var(--primary-color)}.force-white-text .panel-share-btn{color:inherit}body.legend-pinned .panel-share-btn{width:28px;height:28px;margin-right:8px}@media (max-width:640px){.panel-share-btn{width:30px;height:30px;margin-right:16px}}.panel-tabs-container .panel-share-btn{margin-right:10px;margin-left:4px;background:transparent;opacity:.6}.panel-tabs-container .panel-share-btn:hover{opacity:1;background-color:var(--list-hover)}.panel-share-btn-square,.panel-tts-btn-square,.station-pip-button-row .panel-share-btn-square,.station-pip-button-row .panel-tts-btn-square{width:28px;height:28px;min-width:28px;min-height:28px;aspect-ratio:1/1;flex-shrink:0;padding:0;border-radius:6px}.share-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.8);color:#fff;padding:8px 16px;border-radius:20px;font-size:13px;z-index:10000;transition:opacity .3s;pointer-events:none;box-shadow:0 2px 10px rgba(0,0,0,.2)}[data-theme=dark] .share-toast{background:rgba(255,255,255,.9);color:#000}.line-timetable-module{margin-top:10px;border-top:none;padding-top:0;margin-bottom:16px;display:flex;flex-direction:column}.line-timetable-module.active{flex:1;min-height:0}.tt-header-row-split{display:flex;gap:8px;align-items:stretch;height:28px;flex-shrink:0}.tt-split-toggle{flex-grow:1;display:flex;justify-content:space-between;align-items:center;padding:0 10px;cursor:pointer;background-color:var(--ctrl-btn-bg);border-radius:6px;border:1px solid var(--divider);transition:background-color .2s ease;user-select:none}.tt-split-toggle:hover{background-color:var(--ctrl-hover)}.tt-split-toggle-text{font-size:12px;font-weight:700;color:var(--text-main)}.tt-split-arrow{color:var(--text-light);display:flex;align-items:center}.line-timetable-module.active .tt-split-arrow{transform:none}.tt-ext-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;background-color:var(--ctrl-btn-bg);border:1px solid var(--divider);border-radius:6px;cursor:pointer;text-decoration:none;transition:all .2s ease;color:var(--text-main);overflow:hidden;padding:0}.tt-ext-btn:hover{background-color:var(--ctrl-hover)}.tt-ext-btn.btn-square{width:28px;height:28px;background-color:var(--primary-color)}.tt-ext-btn svg{width:16px;height:16px;color:white}.tt-ext-btn svg[fill=none]{fill:none;stroke:currentColor;stroke-width:2}.tt-ext-btn svg:not([fill=none]){fill:currentColor}.tt-module-body{display:none;padding:4px 0 0;animation:simpleFadeIn .25s ease}.line-timetable-module.active .tt-module-body,.tt-module-body-inner{display:flex;flex-direction:column;flex:1;min-height:0}.tt-module-body-inner{gap:0}.tt-header-row{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:6px;padding:0 2px}.tt-current-date{font-size:11.5px;font-weight:500;color:var(--text-main)}.tt-day-type-select{padding:2px 6px;border-radius:4px;border:1px solid var(--divider);background-color:var(--bg-card);color:var(--text-main);font-size:11px;outline:none;appearance:none;-webkit-appearance:none}.tt-loading-text{text-align:center;padding:20px;color:var(--text-light);font-size:13px}.tt-addon-prompt{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px dashed var(--divider);border-radius:10px;background:var(--ctrl-btn-bg)}.tt-addon-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.tt-addon-title{font-size:13px;font-weight:600;color:var(--text-main)}.tt-addon-sub{font-size:11px;color:var(--text-light)}.tt-addon-enable-btn{flex-shrink:0;padding:6px 16px;border:none;border-radius:8px;background:var(--primary-color);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s ease,transform .1s ease}.tt-addon-enable-btn:active{transform:scale(.96);opacity:.9}.tt-addon-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50000;display:flex;align-items:center;justify-content:center;padding:24px}.tt-addon-modal{width:340px;max-width:100%;background:var(--panel);border:1px solid var(--divider);border-radius:20px;box-shadow:0 16px 36px -8px rgba(0,0,0,.35);padding:24px 22px 18px;text-align:center;color:var(--text-main);animation:ttAddonPop .25s cubic-bezier(.2,.8,.2,1)}@keyframes ttAddonPop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.tt-addon-modal-icon{width:44px;height:44px;margin:0 auto 10px;border-radius:50%;background:color-mix(in srgb,#ff9800 15%,transparent);color:#ff9800;display:flex;align-items:center;justify-content:center}.tt-addon-modal-title{margin:0 0 8px;font-size:17px;font-weight:700}.tt-addon-modal-text{margin:0 0 18px;font-size:13px;line-height:1.7;color:var(--text-light);text-align:left}.tt-addon-modal-actions{display:flex;gap:10px}.tt-addon-modal-actions button{flex:1;padding:10px 0;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .1s ease,opacity .15s ease}.tt-addon-modal-actions button:active{transform:scale(.97)}.tt-addon-cancel{border:1px solid var(--divider);background:var(--ctrl-btn-bg);color:var(--text-main)}.tt-addon-confirm{border:none;background:var(--primary-color);color:#fff}.subrail-tt-pill{font-size:11px;background:var(--bg-card-secondary,rgba(0,0,0,.05));color:var(--text-light,#666);padding:2px 8px;border-radius:12px;font-weight:500}.subrail-tt-wrapper{display:flex;flex-direction:column;gap:12px;flex:1;min-height:220px;max-height:min(500px,55vh);overflow-y:auto;padding:2px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;scrollbar-width:none;-ms-overflow-style:none;cursor:grab}.subrail-tt-wrapper::-webkit-scrollbar{display:none;width:0;height:0}.subrail-tt-wrapper.is-dragging,.subrail-tt-wrapper:active{cursor:grabbing}.subrail-tt-dir-group{background:var(--bg-card,#fff);border:1px solid var(--divider,#e5e7eb);border-radius:8px;padding:10px}.subrail-tt-dir-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;border-bottom:1px dashed var(--divider,#eee)}.subrail-tt-dir-badge{font-size:12px;font-weight:700;color:var(--text-main,#333)}.subrail-tt-dir-count{font-size:11px;color:var(--text-light,#888)}.subrail-tt-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:8px}.subrail-tt-card{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:8px;border:1px solid var(--divider,#e2e8f0);background:var(--bg-card,#fafafa);transition:all .2s ease;position:relative}.subrail-tt-card-top{display:flex;justify-content:space-between;align-items:center;gap:4px}.subrail-tt-code{font-size:12px;font-weight:700;color:var(--text-main,#1e293b);letter-spacing:.02em}.subrail-tt-card-time{font-size:16px;font-weight:800;font-family:var(--font-mono);color:var(--text-main,#0f172a);margin:2px 0 1px}.subrail-tt-card-term{font-size:11px;color:var(--text-light,#64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subrail-tt-card.is-next-train{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1.5px solid #ea580c;box-shadow:0 2px 8px rgba(234,88,12,.18)}@media (prefers-color-scheme:dark){.subrail-tt-card.is-next-train{background:linear-gradient(135deg,rgba(234,88,12,.25),rgba(194,65,12,.15));border-color:#f97316}}.subrail-tt-next-tag{background:#ea580c;color:#ffffff;font-size:10px;font-weight:700;padding:1px 4px;border-radius:4px;line-height:1.2}.subrail-tt-card.is-next-train .subrail-tt-card-time{color:#c2410c}.timetable-scroll-area{width:100%;flex:1;min-height:120px;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--divider);border-radius:6px;background:var(--bg-card);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;scrollbar-width:none;-ms-overflow-style:none;cursor:grab}.timetable-scroll-area::-webkit-scrollbar{display:none;width:0;height:0}.timetable-scroll-area.is-dragging,.timetable-scroll-area:active{cursor:grabbing}.tt-grid{display:table;min-width:100%;background:var(--bg-card)}.tt-row{display:table-row}.tt-row-down,.tt-row-up{color:var(--text-main)}.tt-dir-header{display:table-cell;width:32px;min-width:32px;max-width:32px;background:var(--bg-color);border-right:1px solid var(--divider);position:sticky;left:0;z-index:15;padding:0;box-sizing:border-box;text-align:center;overflow:clip}.tt-dir-header:after{content:"";position:absolute;inset:0;background:var(--bg-color);z-index:0}.tt-hour-row .tt-dir-header:after{background:var(--primary-color)}.tt-dir-inner{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;box-sizing:border-box;position:absolute;left:0;right:0;top:0;z-index:1;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.tt-dir-inner span{writing-mode:vertical-lr;text-orientation:upright;letter-spacing:1px;font-size:11px;font-weight:700;display:inline-block;margin:0 auto}html[data-language=en] .tt-dir-inner span{writing-mode:horizontal-tb;text-orientation:mixed;transform:rotate(90deg);transform-origin:center;white-space:nowrap;letter-spacing:0}html[data-language=en] .tt-dir-inner{width:32px;overflow:visible}html[data-language=en] .tt-dir-inner .tt-dir-next-sta{transform:rotate(90deg)}html[data-language=en] .station-layout-canvas,html[data-language=en] .station-layout-wrapper{letter-spacing:-.01em}html[data-language=en] .next-train-indicator button,html[data-language=en] .route-planner button,html[data-language=en] .unified-panel-tab{letter-spacing:-.015em;padding-inline:.72em}.fit-text-label{display:block;min-width:0;max-width:100%}.panel-tabs-nav .fit-text-label{width:100%}.tt-dir-inner .tt-dir-next-sta{font-size:9.5px;font-weight:500;color:var(--text-light);letter-spacing:.5px;opacity:.85;margin-top:4px}.tt-hour-row{background:var(--primary-color);font-weight:700;color:#fff;position:relative;z-index:25}.tt-cell{display:table-cell;padding:3px 2px;text-align:center;font-size:11.5px;border-right:1px dashed var(--divider);min-width:24px}.tt-row-up .tt-cell,.tt-row-up .tt-dir-header{vertical-align:bottom}.tt-row-down .tt-cell,.tt-row-down .tt-dir-header{vertical-align:top}.tt-hour-row .tt-cell{vertical-align:middle;font-size:11.5px;font-weight:700;color:#fff;background:var(--primary-color);position:sticky;top:0;bottom:0;z-index:25;height:24px;line-height:24px;padding:0 1px;box-sizing:border-box}.tt-hour-row .tt-dir-header,.tt-hour-row .tt-dir-placeholder{background:var(--primary-color)!important;border-top:none!important;border-bottom:none!important;border-right:none!important;position:sticky;left:0;top:0;bottom:0;z-index:30;height:24px;line-height:24px;box-sizing:border-box}.tt-cell.tt-col-even{background:rgba(0,0,0,.02)}[data-theme=dark] .tt-cell.tt-col-even{background:rgba(255,255,255,.05)}.tt-hour-row .tt-cell.tt-col-now{outline:2px solid rgba(255,255,255,.55);outline-offset:-3px}.tt-dir-placeholder{background:var(--bg-color);border-right:1px solid var(--divider)}.tt-min.tt-min-now{outline:2px solid var(--text-main,#222);outline-offset:-1px;border-radius:2px;font-weight:700!important}.tt-min{display:block;width:17px;height:17px;line-height:17px;text-align:center;margin:0 auto 1px;font-size:10px;font-weight:600;border-radius:50%}.tt-min.tt-special{position:relative;color:#fff;outline:none;transition:background-color .2s ease,transform .15s ease;cursor:pointer}.tt-min.tt-special,.tt-min.tt-special-1,.tt-min.tt-special-blue,.tt-min.tt-special-status-1{background-color:#60a5fa}.tt-min.tt-special-1:focus,.tt-min.tt-special-1:hover,.tt-min.tt-special-blue:focus,.tt-min.tt-special-blue:hover,.tt-min.tt-special-status-1:focus,.tt-min.tt-special-status-1:hover,.tt-min.tt-special:focus,.tt-min.tt-special:hover{background-color:#2563eb}.tt-min.tt-special-2,.tt-min.tt-special-green,.tt-min.tt-special-status-2{background-color:#34d399}.tt-min.tt-special-2:focus,.tt-min.tt-special-2:hover,.tt-min.tt-special-green:focus,.tt-min.tt-special-green:hover,.tt-min.tt-special-status-2:focus,.tt-min.tt-special-status-2:hover{background-color:#059669}.tt-min.tt-special-3,.tt-min.tt-special-orange,.tt-min.tt-special-red,.tt-min.tt-special-status-3{background-color:#fb923c}.tt-min.tt-special-3:focus,.tt-min.tt-special-3:hover,.tt-min.tt-special-orange:focus,.tt-min.tt-special-orange:hover,.tt-min.tt-special-red:focus,.tt-min.tt-special-red:hover,.tt-min.tt-special-status-3:focus,.tt-min.tt-special-status-3:hover{background-color:#ea580c}.tt-min.tt-special-4,.tt-min.tt-special-gray,.tt-min.tt-special-grey,.tt-min.tt-special-status-4{background-color:#9ca3af}.tt-min.tt-special-4:focus,.tt-min.tt-special-4:hover,.tt-min.tt-special-gray:focus,.tt-min.tt-special-gray:hover,.tt-min.tt-special-grey:focus,.tt-min.tt-special-grey:hover,.tt-min.tt-special-status-4:focus,.tt-min.tt-special-status-4:hover{background-color:#4b5563}@media (prefers-color-scheme:dark){.tt-min.tt-special,.tt-min.tt-special-1,.tt-min.tt-special-blue,.tt-min.tt-special-status-1{background-color:#3b82f6}.tt-min.tt-special-2,.tt-min.tt-special-green,.tt-min.tt-special-status-2{background-color:#10b981}.tt-min.tt-special-3,.tt-min.tt-special-orange,.tt-min.tt-special-red,.tt-min.tt-special-status-3{background-color:#f97316}.tt-min.tt-special-4,.tt-min.tt-special-gray,.tt-min.tt-special-grey,.tt-min.tt-special-status-4{background-color:#6b7280}}.dark .tt-min.tt-special,.dark .tt-min.tt-special-1,.dark .tt-min.tt-special-blue,.dark .tt-min.tt-special-status-1,.dark-mode .tt-min.tt-special,.dark-mode .tt-min.tt-special-1,.dark-mode .tt-min.tt-special-blue,.dark-mode .tt-min.tt-special-status-1,[data-theme=dark] .tt-min.tt-special,[data-theme=dark] .tt-min.tt-special-1,[data-theme=dark] .tt-min.tt-special-blue,[data-theme=dark] .tt-min.tt-special-status-1{background-color:#3b82f6}.dark .tt-min.tt-special-2,.dark .tt-min.tt-special-green,.dark .tt-min.tt-special-status-2,.dark-mode .tt-min.tt-special-2,.dark-mode .tt-min.tt-special-green,.dark-mode .tt-min.tt-special-status-2,[data-theme=dark] .tt-min.tt-special-2,[data-theme=dark] .tt-min.tt-special-green,[data-theme=dark] .tt-min.tt-special-status-2{background-color:#10b981}.dark .tt-min.tt-special-3,.dark .tt-min.tt-special-orange,.dark .tt-min.tt-special-red,.dark-mode .tt-min.tt-special-3,.dark-mode .tt-min.tt-special-orange,.dark-mode .tt-min.tt-special-red,[data-theme=dark] .tt-min.tt-special-3,[data-theme=dark] .tt-min.tt-special-orange,[data-theme=dark] .tt-min.tt-special-red,[data-theme=dark] .tt-min.tt-special-status-3{background-color:#f97316}.dark .tt-min.tt-special-4,.dark .tt-min.tt-special-gray,.dark .tt-min.tt-special-grey,.dark .tt-min.tt-special-status-4,.dark-mode .tt-min.tt-special-4,.dark-mode .tt-min.tt-special-gray,.dark-mode .tt-min.tt-special-grey,.dark-mode .tt-min.tt-special-status-4,[data-theme=dark] .tt-min.tt-special-4,[data-theme=dark] .tt-min.tt-special-gray,[data-theme=dark] .tt-min.tt-special-grey,[data-theme=dark] .tt-min.tt-special-status-4{background-color:#6b7280}#tt-special-tooltip{position:fixed;z-index:1000000;padding:8px 12px;background:rgba(0,0,0,.9);color:#fff;border-radius:6px;font-size:13px;white-space:pre;line-height:1.4;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.3);pointer-events:none;display:none;opacity:0;transition:opacity .15s ease;transform:translate(-50%,-50%)}#tt-special-tooltip.show{display:block;opacity:1}@keyframes simpleFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.timetable-scroll-area{max-height:min(300px,32vh)}.tt-header-row{padding:0 4px}.tt-current-date{font-size:11px}.tt-day-type-select{padding:4px 8px}}.station-detail-content.is-pinned .timetable-scroll-area{max-height:280px}.station-detail-content.is-pinned .tt-header-row-split{height:28.5px;flex-shrink:0}body.mobile-panel-expanded .subrail-tt-wrapper,body.mobile-panel-expanded .timetable-scroll-area,body.mobile-split-active .subrail-tt-wrapper,body.mobile-split-active .timetable-scroll-area{flex:0 1 auto!important;min-height:180px;max-height:min(400px,46vh)}body.mobile-panel-expanded .line-timetable-module,body.mobile-split-active .line-timetable-module{margin-bottom:16px!important}body.mobile-panel-expanded .tt-header-row,body.mobile-split-active .tt-header-row{margin-bottom:10px}body.mobile-panel-expanded .tt-current-date,body.mobile-split-active .tt-current-date{font-size:12px}body.mobile-panel-expanded .tt-day-type-select,body.mobile-split-active .tt-day-type-select{font-size:11px;padding:2px 6px}body.mobile-panel-expanded .tt-cell,body.mobile-split-active .tt-cell{min-width:22px;font-size:11px;padding:2px 1px}body.mobile-panel-expanded .tt-hour-row .tt-cell,body.mobile-panel-expanded .tt-hour-row .tt-dir-header,body.mobile-panel-expanded .tt-hour-row .tt-dir-placeholder,body.mobile-split-active .tt-hour-row .tt-cell,body.mobile-split-active .tt-hour-row .tt-dir-header,body.mobile-split-active .tt-hour-row .tt-dir-placeholder{height:22px!important;line-height:22px!important;padding:0 1px!important}body.mobile-panel-expanded .tt-dir-header,body.mobile-split-active .tt-dir-header{width:30px;min-width:30px;max-width:30px}body.mobile-panel-expanded .tt-min,body.mobile-split-active .tt-min{width:16px;height:16px;line-height:16px;font-size:9.5px}.dropdown{position:relative;display:inline-block;vertical-align:middle}.dropdown-content{display:none;position:absolute;right:0;top:100%;background-color:var(--card-bg);min-width:170px;width:max-content;max-width:280px;box-shadow:0 8px 16px rgba(0,0,0,.15);z-index:10001;border-radius:8px;overflow:hidden;margin-top:8px;border:1px solid var(--border-color)}.dropdown-divider{height:1px;background-color:var(--border-color);margin:4px 0;opacity:.8}.dropdown-content a{color:var(--text-main);padding:12px 16px;text-decoration:none;display:flex;align-items:center;gap:10px;font-size:14px;transition:background .2s;text-align:left}.dropdown-content a.active{background-color:var(--list-hover);color:var(--primary-color);font-weight:600}[data-theme=dark] .dropdown-content a.active{color:#0084d1}.dropdown-content a .btn-icon{width:18px;height:18px;flex-shrink:0;margin-right:0!important}.dropdown-content a:hover{background-color:var(--btn-info-hover,var(--list-hover))}.dropdown-content.show{display:block}@media (max-width:640px){.dropdown-content{position:absolute;top:100%;right:0;bottom:auto;width:max-content;min-width:200px;max-width:calc(100vw - 20px)}}.tool-header .btn{font-family:var(--font-ui)!important;font-size:.9rem!important;font-weight:500!important;padding:6px 12px!important}.tool-header .header-left,.tool-header .header-right{gap:8px!important}#options-btn .btn-icon{margin-right:0!important}[data-theme=dark] .btn-info{background-color:#373838;color:#e5e8ea;border-color:#333333}[data-theme=dark] .btn-info:hover{background-color:#4a4b4c;color:#ffffff;border-color:#333333}@media (max-width:640px){.left-pinned-sidebar,.right-pinned-sidebar{display:none!important}.app,.content{gap:0!important}.content{padding:0!important;margin:0!important}.footer{display:none!important}.map{padding:0!important;margin:0!important}.map-container{border:none!important;margin:0!important;min-height:0!important;height:100%!important}.header-island,.header-island.glass-surface{display:contents!important}.header-island.glass-surface:after,.header-island.glass-surface:before,.header-island:after,.header-island:before{content:none!important;display:none!important;background:none!important}.header-island-divider{display:none!important}.tool-header{position:fixed!important;top:calc(env(safe-area-inset-top, 0px) + 16px)!important;left:calc(10px + env(safe-area-inset-left, 0px))!important;right:calc(10px + env(safe-area-inset-right, 0px))!important;width:auto!important;transform:none!important;height:48px!important;min-height:48px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;padding:0 10px!important;background:transparent!important;border:none!important;border-radius:12px!important;-webkit-backdrop-filter:blur(16px) saturate(150%) brightness(102%)!important;backdrop-filter:blur(16px) saturate(150%) brightness(102%)!important;box-shadow:var(--glass-shadow,0 0 0 .5px rgba(0,0,0,.06),0 8px 24px -6px rgba(0,38,59,.12),0 2px 6px -2px rgba(0,38,59,.06),inset 0 1px 1px 0 rgba(255,255,255,.85),inset 0 -8px 16px -12px rgba(0,0,0,.03))!important;overflow:visible!important;isolation:isolate!important;box-sizing:border-box!important;z-index:50000!important;pointer-events:auto!important}.tool-header:after{content:"";position:absolute!important;inset:0!important;z-index:0!important;border-radius:inherit!important;background:var(--glass-bg-surface,rgba(255,255,255,.72))!important;pointer-events:none!important;transition:background-color .25s ease!important}[data-theme=dark] .tool-header:after{background:var(--glass-bg-surface,rgba(31,32,34,.72))!important}.tool-header:before{content:"";position:absolute!important;inset:0!important;border-radius:inherit!important;padding:1px!important;background:linear-gradient(to right,rgba(0,38,59,var(--lg-rim-dark,.04)) 0,rgba(0,0,0,0) var(--lg-rim-side,4px),rgba(0,0,0,0) calc(100% - var(--lg-rim-side, 4px)),rgba(0,38,59,var(--lg-rim-dark,.04)) 100%),linear-gradient(to bottom,rgba(255,255,255,var(--lg-rim-lit,.95)) 0,rgba(255,255,255,var(--lg-rim-lit,.95)) var(--lg-rim-hold,1px),rgba(255,255,255,0) var(--lg-rim-fade,12px),rgba(255,255,255,0) calc(100% - var(--lg-rim-fade, 12px)),rgba(255,255,255,calc(var(--lg-rim-lit, .95) * .4)) calc(100% - var(--lg-rim-hold, 1px)),rgba(255,255,255,calc(var(--lg-rim-lit, .95) * .4)) 100%)!important;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;-webkit-mask-composite:xor!important;mask-composite:exclude!important;pointer-events:none!important;z-index:2!important}.tool-header>*{position:relative!important;z-index:3!important}.header-left,.header-right{min-width:auto!important;height:48px!important;display:flex!important;align-items:center!important;gap:8px!important}.btn span{display:none!important}.btn{padding:6px!important;height:34px!important;min-width:34px!important;width:auto!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.btn .btn-icon,.btn svg{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;display:block!important;flex-shrink:0!important;margin:0!important}.btn-dark,.btn-primary{background-color:var(--primary-color)!important;color:white!important;border-color:var(--primary-color)!important}.edit-toggle.is-active{background-color:var(--edit-muted)!important;color:var(--edit-accent)!important;border-color:var(--edit-accent)!important}.header-center{display:flex!important;position:absolute!important;left:50%!important;top:50%!important;bottom:auto!important;height:48px!important;transform:translate(-50%,-50%)!important;margin:0!important;gap:8px!important;max-width:calc(100% - 170px)!important;overflow:visible!important;z-index:10!important;pointer-events:auto!important}.header-logo{height:28px!important;width:auto!important;flex-shrink:0!important;display:block!important}.app-title{font-size:.95rem!important;letter-spacing:0!important;font-weight:600!important;overflow:visible!important;text-overflow:clip!important;color:var(--text-main)!important;line-height:1!important;display:inline-block!important;white-space:nowrap!important}html.pwa-standalone .tool-header .header-left{display:none!important}html.pwa-standalone .tool-header .header-center{position:relative!important;left:auto!important;top:auto!important;bottom:auto!important;transform:none!important;margin:0!important;gap:8px!important;flex:0 1 auto!important;min-width:0!important;max-width:calc(100% - 130px)!important;overflow:hidden!important;justify-content:flex-start!important}html.pwa-standalone .tool-header .header-center .app-title{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}html.pwa-standalone .tool-header .header-right{flex-shrink:0!important;margin-left:auto!important}@media (display-mode:fullscreen),(display-mode:minimal-ui),(display-mode:standalone),(display-mode:window-controls-overlay){.tool-header .header-left{display:none!important}.tool-header .header-center{position:relative!important;left:auto!important;top:auto!important;bottom:auto!important;transform:none!important;margin:0!important;gap:8px!important;flex:0 1 auto!important;min-width:0!important;max-width:calc(100% - 130px)!important;overflow:hidden!important;justify-content:flex-start!important}.tool-header .header-center .app-title{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.tool-header .header-right{flex-shrink:0!important;margin-left:auto!important}}html.pwa-standalone:not(.no-pwa-dock) #modern-zoom-control #mz-menu,html.pwa-standalone:not(.no-pwa-dock) #modern-zoom-control #mz-ride,html.pwa-standalone:not(.no-pwa-dock) #modern-zoom-control #mz-route,html.pwa-standalone:not(.no-pwa-dock) #modern-zoom-control #mz-route+.mz-divider,html.pwa-standalone:not(.no-pwa-dock) #modern-zoom-control .mz-divider-first,html.pwa-standalone:not(.no-pwa-dock) #modern-zoom-control .mz-divider-ride,html.pwa-standalone:not(.no-pwa-dock) .dropdown-main-panel [data-plugin-panel-toggle]{display:none!important}@media (display-mode:fullscreen),(display-mode:minimal-ui),(display-mode:standalone),(display-mode:window-controls-overlay){html:not(.no-pwa-dock) #modern-zoom-control #mz-menu,html:not(.no-pwa-dock) #modern-zoom-control #mz-ride,html:not(.no-pwa-dock) #modern-zoom-control #mz-route,html:not(.no-pwa-dock) #modern-zoom-control #mz-route+.mz-divider,html:not(.no-pwa-dock) #modern-zoom-control .mz-divider-first,html:not(.no-pwa-dock) #modern-zoom-control .mz-divider-ride,html:not(.no-pwa-dock) .dropdown-main-panel [data-plugin-panel-toggle]{display:none!important}}@media (max-width:380px){.pwa-dock-item{min-width:62px!important;padding:4px 8px!important}}html.pwa-standalone #mobile-pwa-dock{display:flex!important}@media (display-mode:fullscreen),(display-mode:minimal-ui),(display-mode:standalone),(display-mode:window-controls-overlay){#mobile-pwa-dock{display:flex!important}}body.mobile-panel-expanded #mobile-pwa-dock,body:has(#info-panel.mobile-expanded) #mobile-pwa-dock,body:has(.unified-panel[data-sheet-stage=full]) #mobile-pwa-dock{display:none!important}#theme-btn{display:none!important}.header-left .dashboard-link,.header-left .mobile-mode-switch{margin-left:0!important}.header-right .mobile-fun-link{margin-right:0!important}.header-right #settings-btn{margin-left:0!important}.header-right .btn{width:auto!important;min-width:34px!important;padding:6px!important;gap:0!important}.header-right .btn .btn-icon,.header-right .btn svg{margin-right:0!important}.dashboard-link .btn-icon,.header-right .btn .btn-icon,.header-right .btn svg,.mobile-mode-switch .btn-icon{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;display:block!important;flex-shrink:0!important}.dashboard-link .btn-icon,.mobile-mode-switch .btn-icon{margin:0!important}.header-center .header-logo+.app-title{margin-left:-2px!important}.mobile-mode-switch span,.zoom-controls{display:none!important}.zoom-value{display:none}#info-panel.mobile-expanded,body.mobile-panel-expanded #info-panel{top:calc(env(safe-area-inset-top, 0px) + 64px)!important;bottom:0!important;max-height:none!important;min-height:0!important;height:auto!important;border-radius:0!important}body.mobile-panel-expanded #modern-zoom-control,body.mobile-panel-expanded .zoom-controls,body.mobile-split-active .legend-popover.pinned-mode{display:none!important}#modern-zoom-control{left:calc(10px + env(safe-area-inset-left, 0px))!important}#modern-zoom-control,#route-capsule{top:calc(env(safe-area-inset-top, 0px) + 76px)!important}#route-capsule{left:calc(66px + env(safe-area-inset-left, 0px))!important;right:calc(10px + env(safe-area-inset-right, 0px))!important;width:auto!important;justify-content:space-between}.route-planner-header{min-height:52px;padding:12px 40px 12px 16px}.route-planner-heading strong{font-size:16px}.route-planner-heading small{font-size:12px}.route-planner-fields{padding:14px 16px 12px}.route-endpoints{--route-field-h:36px;column-gap:8px;row-gap:10px}.route-station-field{grid-template-columns:20px minmax(0,1fr);column-gap:8px}.route-endpoints-rail{left:9.5px}.route-station-dot{width:10px;height:10px}.route-station-input-row{padding:0 10px;gap:8px;border-radius:8px}.route-station-input-row input{font-size:16px}.route-station-input-row input::placeholder{font-size:13px}.route-station-clear{width:24px;height:24px}.route-swap-button{width:34px;height:34px}.route-planner-chips{margin-top:10px;gap:8px;padding-left:28px}.route-chip{height:32px;padding:0 12px;font-size:13px}.route-quick-action{height:34px;font-size:13px}.route-station-results{position:absolute;top:calc(100% + 6px);left:28px;right:0;margin-top:0;z-index:99999;max-height:min(240px,calc(var(--visual-vh, 100dvh) * .34));box-shadow:0 8px 24px rgba(0,0,0,.28)}.unified-panel.mobile-expanded .route-station-results,.unified-panel[data-sheet-stage=full] .route-station-results{max-height:min(340px,calc(var(--visual-vh, 100dvh) * .48))}.route-station-field:focus-within{z-index:1000}.route-planner-footer{padding:10px 16px calc(12px + env(safe-area-inset-bottom, 0px))}.route-planner-footer>span{max-width:58%;font-size:13px}.route-planner-footer>button{min-width:112px;height:42px;font-size:14.5px;font-weight:600;border-radius:11px}.search-results-list{max-height:240px!important}.mobile-hidden{display:none!important}}#station-selector{position:absolute;z-index:5000;background-color:var(--card-bg);border-radius:8px;box-shadow:0 4px 15px rgba(0,0,0,.25);padding:4px;display:flex;gap:6px;flex-wrap:nowrap;transform:translate(-50%);animation:popIn .15s cubic-bezier(.175,.885,.32,1.275);border:1px solid var(--divider);pointer-events:auto!important;touch-action:none}@keyframes popIn{0%{opacity:0;transform:translate(-50%) scale(.8)}to{opacity:1;transform:translate(-50%,10px) scale(1)}}.selector-item{min-width:34px;height:34px;padding:0 7px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:3px;transition:transform .1s,background-color .1s;background-color:var(--bg-color)}.selector-item:active,.selector-item:hover{transform:scale(1.08);background-color:var(--list-hover)}.selector-item .inline-line-icon,.selector-item .svg-icon-inlined,.selector-item img,.selector-item svg,.svg-icon-placeholder{width:auto;height:24px;display:block;--data1:transparent;--data2:var(--text-main);flex-shrink:0}.selector-text-badge{font-size:11px;padding:0 6px;height:24px;line-height:24px;background:rgba(128,128,128,.2);border-radius:4px;white-space:nowrap;color:var(--text-main)}#selector-layer{position:absolute;top:0;left:0;width:100%;height:100%;z-index:6000;pointer-events:none}.panel-header.is-light-bg{color:#00263b!important;--panel-header-text:#00263b;--close-btn-color:rgba(0,29,49,0.65);--data2:#00263b}.panel-header.is-light-bg .panel-en-name{color:rgba(0,29,49,.7)!important}.force-white-text .panel-header.is-light-bg .panel-close-btn,.panel-header.is-light-bg .panel-close-btn{color:rgba(0,29,49,.65)!important}.panel-header.is-light-bg .panel-close-btn:hover{color:#00263b!important;background-color:rgba(0,29,49,.08)}.permission-disabled{opacity:.45!important}.permission-disabled,.permission-disabled *{cursor:not-allowed!important}html .auth-dialog,html .auth-overlay{--panel-bg:#ffffff;--border-color:#dee2e6;--tab-bg:#f3f4f6;--primary-color:#00263b;--primary-hover:#004060;--btn-text:#ffffff;--text-main:#333333;--text-light:#666666;--btn-info-bg:rgba(0,0,0,.06)}html .auth-dialog{background:#ffffff!important;color:#333333!important}html .auth-dialog .auth-input-group{background:var(--tab-bg,#f3f4f6)!important;border:1px solid var(--border-color,#dee2e6)!important}html .auth-dialog .auth-input-label{border-right:1px solid var(--border-color,#dee2e6)!important;color:var(--text-light,#666666)!important}html .auth-dialog .auth-input-group input{color:#333333!important}html .auth-dialog .auth-submit-arrow-btn{background:var(--primary-color,#00263b)!important;border:1px solid var(--primary-color,#00263b)!important;color:#ffffff!important;border-radius:6px!important;box-shadow:0 1px 3px rgba(0,0,0,.15)!important}html .auth-dialog .auth-submit-arrow-btn:hover{background:var(--primary-hover,#004060)!important;border-color:var(--primary-hover,#004060)!important}html[data-theme=dark] .auth-dialog,html[data-theme=dark] .auth-overlay{--panel-bg:#1a202c;--border-color:rgba(255,255,255,.15);--tab-bg:rgba(255,255,255,.05);--primary-color:#1282b8;--primary-hover:#0e6b98;--btn-text:#ffffff;--text-main:#ffffff;--text-light:#a0aec0;--btn-info-bg:rgba(255,255,255,.06)}html[data-theme=dark] .auth-dialog{background:#1a202c!important;color:#ffffff!important}html[data-theme=dark] .auth-dialog .auth-input-group{background:var(--tab-bg,rgba(255,255,255,.05))!important;border:1px solid var(--border-color,rgba(255,255,255,.15))!important}html[data-theme=dark] .auth-dialog .auth-input-label{border-right:1px solid var(--border-color,rgba(255,255,255,.15))!important;color:var(--text-light,#a0aec0)!important}html[data-theme=dark] .auth-dialog .auth-input-group input{color:#ffffff!important}.notopen-overlay{position:fixed;inset:0;top:0;bottom:0;left:0;right:0;width:100%;height:100%;height:100dvh;background-color:var(--bg-color,#0b0f19);background-image:radial-gradient(circle at 20% 30%,color-mix(in srgb,var(--primary-color,#3b82f6) 5%,transparent) 0,transparent 40%),radial-gradient(circle at 80% 70%,color-mix(in srgb,var(--primary-color,#3b82f6) 5%,transparent) 0,transparent 40%);display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;z-index:15000;transition:opacity .5s ease-out;opacity:1}.notopen-overlay.swipe-success-anim{opacity:0;pointer-events:none}.station-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border-color,rgba(255,255,255,.07)) 1px,transparent 1px),linear-gradient(90deg,var(--border-color,rgba(255,255,255,.07)) 1px,transparent 1px);background-size:40px 40px;opacity:.3;pointer-events:none;z-index:0}.notopen-container{position:relative;z-index:1;width:100%;max-width:480px;background:var(--card-bg,rgba(17,24,39,.7));border:1px solid var(--border-color,rgba(255,255,255,.08));border-radius:20px;padding:40px 32px;text-align:center;box-shadow:0 20px 50px -15px rgba(0,0,0,.4);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:notopen-card-appear .6s cubic-bezier(.34,1.56,.64,1) forwards}@media (max-width:640px){.notopen-overlay{padding:20px}.notopen-container{padding:32px 20px;border-radius:18px}}.notopen-icon-row{gap:20px;margin-bottom:32px}.notopen-icon-row,.notopen-icon-wrapper{display:flex;justify-content:center;align-items:center}.notopen-icon-wrapper{position:relative;width:48px;height:48px;background:transparent;border:none;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;opacity:.4;cursor:default}.notopen-icon-wrapper.active{opacity:1;transform:scale(1.15)}.notopen-icon-wrapper img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease}.notopen-status-badge{display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,#ef4444 10%,transparent);border:1px solid color-mix(in srgb,#ef4444 20%,transparent);padding:6px 12px;border-radius:99px;color:#ef4444;font-size:12px;font-weight:700;letter-spacing:.05em;margin-bottom:20px;animation:notopen-pulse-red 2s infinite}.notopen-status-badge:before{content:"";width:6px;height:6px;background:#ef4444;border-radius:50%;display:inline-block}.notopen-title{font-size:22px;font-weight:750;color:var(--text-main);margin-bottom:12px;line-height:1.4;letter-spacing:-.02em}.notopen-description{font-size:14px;color:var(--text-light);line-height:1.6;margin-bottom:36px;padding:0 10px}.notopen-description strong{color:var(--primary-color);font-weight:600}.nfc-tap-area{position:relative;background:transparent;border:2px dashed color-mix(in srgb,var(--primary-color,#3b82f6) 30%,transparent);border-radius:16px;padding:24px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:12px;overflow:hidden}.nfc-tap-area:hover{border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color,#3b82f6) 8%,transparent);transform:scale(1.02)}.nfc-ripple-ring{position:absolute;inset:0;border-radius:14px;border:2px solid var(--primary-color);opacity:0;pointer-events:none}.nfc-tap-area:active .nfc-ripple-ring{animation:notopen-ripple-out .4s ease-out}.nfc-sensor-icon{width:48px;height:48px;color:var(--primary-color);opacity:.85;transition:transform .3s ease;position:relative;z-index:1}.nfc-tap-area:hover .nfc-sensor-icon{transform:translateY(-2px) scale(1.05);opacity:1}.nfc-text{display:flex;flex-direction:column;gap:4px;z-index:1}.nfc-title{font-size:15px;font-weight:700;color:var(--text-main)}.nfc-subtitle{font-size:11px;color:var(--text-light);letter-spacing:.05em;text-transform:uppercase}.redirecting-notice{margin-top:24px;font-size:12px;color:var(--primary-color);font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px;opacity:0;transition:opacity .3s ease}.redirecting-notice.is-visible{opacity:1}.notopen-spinner{width:14px;height:14px;border:2px solid transparent;border-top-color:currentcolor;border-radius:50%;animation:spin .8s linear infinite}.cgoauth-manage-link{margin-top:24px}.cgoauth-manage-link a{font-size:13px;color:var(--primary-color);text-decoration:none;font-weight:600;transition:opacity .15s}.cgoauth-manage-link a:hover{opacity:.8}@keyframes notopen-card-appear{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes notopen-pulse-red{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,#ef4444 40%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,#ef4444 0%,transparent)}}@keyframes notopen-ripple-out{0%{transform:scale(.9);opacity:.8}to{transform:scale(1.15);opacity:0}}.panel-edit-target{position:relative;outline:2px solid transparent;outline-offset:2px;cursor:pointer}.panel-edit-target:hover{outline-color:rgba(59,130,246,.58)}.panel-edit-target.is-panel-edit-selected{outline-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.16)}.panel-edit-target.is-panel-edit-selected:after{content:attr(data-panel-component);position:absolute;top:-10px;left:8px;z-index:5;padding:2px 6px;border-radius:999px;background:#3b82f6;color:#fff;font-size:10px;font-weight:800;line-height:1.2;pointer-events:none}.panel-header.panel-edit-target.is-panel-edit-selected:after{top:8px!important}.dropdown-content.has-auth-user{min-width:260px!important}.auth-user-card{position:relative;flex-direction:column;padding:24px 14px 16px;border:none;margin:0;box-sizing:border-box;overflow:visible!important}.auth-logout-btn-top,.auth-user-card{display:flex;align-items:center;background:transparent}.auth-logout-btn-top{position:absolute;top:12px;right:12px;width:24px;height:24px;justify-content:center;border-radius:4px;color:var(--text-light,#888);cursor:pointer;transition:all .2s;border:none;padding:0}.auth-logout-btn-top:hover{color:var(--danger-color,#ff4d4f);background:rgba(255,77,79,.08)}.auth-logout-btn-top svg.btn-icon{width:14px;height:14px;margin-right:0!important;display:block}.auth-avatar-large{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;position:relative;border:none!important;box-shadow:none!important;margin-right:0;margin-bottom:12px;padding:6px;flex-shrink:0;transition:transform .2s ease,box-shadow .2s ease;box-sizing:border-box}.auth-avatar-large .auth-btn-avatar-svg,.auth-avatar-large svg{width:100%!important;height:100%!important}.auth-avatar-large svg{display:block}.auth-info-detail{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%!important;text-align:center;overflow:visible!important;box-sizing:border-box}.auth-info-username{font-size:18px;font-weight:700;color:var(--text-main,#333);line-height:1.3;margin-bottom:2px}.auth-info-email,.auth-info-username{user-select:none;word-break:break-all}.auth-info-email{font-size:13px;color:var(--text-light,#888);line-height:1.2;margin-bottom:4px}.auth-info-group{display:inline-flex!important;font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;align-self:center;margin-top:2px;user-select:none;box-sizing:border-box;position:relative;background:transparent!important;border:1px solid transparent;color:var(--text-light,#888)}.auth-info-group:before{content:"";position:absolute;inset:0;border-radius:4px;padding:1px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none}.auth-info-group.card-guest:before{background:linear-gradient(135deg,#78848b,#a3b0b8)}.auth-info-group.card-regular:before{background:var(--level-default-gradient,linear-gradient(135deg,#1282b8,#009655))}.auth-info-group.card-test:before{background:var(--level-test-gradient,linear-gradient(135deg,#e98913,#f7b52c))}.auth-info-group.card-prime:before{background:var(--level-prime-gradient,linear-gradient(135deg,#1c1887,#5f1985))}.auth-info-group.card-admin:before{background:var(--level-admin-gradient,linear-gradient(135deg,#5c1c24,#e5757e))}.auth-menu-item-iconic,.dropdown-content a.auth-menu-item-iconic,.dropdown-main-panel>a{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;padding:9px 12px!important;border-radius:4px!important;font-size:14px!important;line-height:1.6!important;color:var(--text-main,#00263b)!important;text-decoration:none!important;transition:background .15s!important;box-sizing:border-box!important;text-align:left!important;background:none!important;width:100%!important;white-space:nowrap!important;cursor:pointer!important}.auth-menu-item-iconic:hover,.dropdown-content a.auth-menu-item-iconic:hover,.dropdown-main-panel>a:hover{background-color:var(--btn-info-hover,rgba(0,0,0,.04))!important;color:var(--text-main,#00263b)!important}.auth-menu-item-iconic cgo-icon,.auth-menu-item-iconic svg.btn-icon,.auth-menu-item-iconic svg.cgo-svg-icon,.dropdown-main-panel>a cgo-icon,.dropdown-main-panel>a svg,.dropdown-main-panel>a svg.btn-icon{width:20px!important;height:20px!important;flex-shrink:0!important;display:block!important;margin-right:0!important;margin-bottom:0!important}#auth-account-host:empty,body.panel-pinned:not(.mobile-view) .dropdown-main-panel [data-plugin-panel-toggle]{display:none!important}.auth-menu-item-iconic svg.btn-icon:not([fill=none]),.dropdown-main-panel>a svg.btn-icon:not([fill=none]){fill:currentColor!important}.auth-menu-item-iconic span,.dropdown-main-panel>a span{display:inline-block!important;white-space:nowrap!important}.auth-menu-item-iconic.permission-disabled,.dropdown-main-panel>a.permission-disabled{opacity:.45;cursor:not-allowed!important}.dropdown-main-panel .dropdown-divider{height:1px!important;margin:5px 0!important;background:var(--border-color,#dee2e6)!important;opacity:1!important;border:none!important}.dropdown-divider+.dropdown-divider{display:none!important}.auth-color-picker-panel{max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .2s,padding .3s;opacity:0;margin:0 8px;border-radius:8px;box-sizing:border-box;padding:0 8px}.auth-color-picker-panel.is-open{max-height:160px;opacity:1;border:1px solid var(--border-color,rgba(0,0,0,.08));background:var(--panel,var(--card-bg,#fff));padding:8px;margin-bottom:6px}.auth-color-picker-title{font-size:10px;color:var(--text-light,#888);margin-bottom:6px;font-weight:600;user-select:none;text-align:left}.auth-color-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:4px}.auth-color-opt{aspect-ratio:1;border-radius:4px;cursor:pointer;transition:transform .15s,box-shadow .15s;border:1px solid rgba(0,0,0,.1)}.auth-color-opt:hover{transform:scale(1.15);box-shadow:0 2px 6px rgba(0,0,0,.15);z-index:2}.auth-color-opt.active{box-shadow:0 0 0 2px var(--panel,var(--card-bg,#fff)),0 0 0 4px var(--primary-color,#006098);z-index:2}.auth-avatar-large:hover{transform:scale(1.04);box-shadow:0 0 0 3px rgba(33,150,243,.2)!important}.dropdown-content.has-notices-layout{min-width:552px!important;width:552px!important;top:calc(100% + 6px)!important;margin-top:0!important}.dropdown-content.has-notices-layout,.dropdown-content.has-notices-layout.show{background-color:transparent!important;background:transparent!important;border:none!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.dropdown-content.has-notices-layout.show{display:flex!important;flex-direction:row!important;align-items:flex-start!important;padding:0!important;overflow:visible!important;gap:12px!important;height:auto!important;max-height:none!important;animation:cgoMapDropdownIn .15s ease!important}.dropdown-content.has-notices-layout.is-no-notices{min-width:260px!important;width:260px!important}@keyframes cgoMapDropdownIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.options-dropdown>.dropdown-content{top:calc(100% + 6px);margin-top:0;min-width:180px;max-width:none;padding:6px;border-radius:8px;box-shadow:0 18px 46px rgba(0,0,0,.16);animation:cgoMapDropdownIn .15s ease}.options-dropdown>.dropdown-content:before{content:"";position:absolute;top:-10px;left:0;width:100%;height:10px;background:transparent}.options-dropdown>.dropdown-content>a:not(.auth-menu-item-iconic){display:flex;align-items:center;gap:8px;min-width:170px;padding:9px 12px;border-radius:4px;font-size:14px;line-height:1.6;white-space:nowrap}.dropdown-main-panel,.dropdown-notice-center{border-radius:10px!important;box-shadow:0 8px 24px rgba(0,0,0,.09)!important;border:1px solid rgba(0,0,0,.08)!important;box-sizing:border-box!important}[data-theme=dark] .dropdown-main-panel,[data-theme=dark] .dropdown-notice-center{border-color:rgba(255,255,255,.08)!important;box-shadow:0 10px 30px rgba(0,0,0,.35)!important}.dropdown-notice-center{width:280px!important;flex:0 0 280px!important;min-height:0!important;height:auto!important;max-height:calc(85dvh - var(--header-height) - env(safe-area-inset-top, 0px))!important;background-color:var(--card-bg,#ffffff)!important;color:var(--text-main,#1f2937)!important;display:flex!important;flex-direction:column!important;padding:14px 12px 10px!important;overflow:hidden!important}[data-theme=dark] .dropdown-notice-center{background-color:#1f2020!important;color:#e5e8ea!important}.dropdown-main-panel{width:260px!important;flex:0 0 260px!important;background-color:#ffffff!important;color:var(--text-main,#1f2937)!important;display:flex!important;flex-direction:column!important;padding:12px 10px!important}[data-theme=dark] .dropdown-main-panel{background-color:#1f2020!important;color:#ffffff!important}@media (max-width:840px){.dropdown-content.has-notices-layout{min-width:unset!important;width:280px!important;max-width:calc(100vw - 24px)!important;background-color:transparent!important;box-shadow:none!important;border:none!important}.dropdown-content.has-notices-layout.show{display:flex!important;flex-direction:column!important;align-items:stretch!important;height:calc(90dvh - 48px - env(safe-area-inset-top, 0px))!important;max-height:calc(90dvh - 48px - env(safe-area-inset-top, 0px))!important;overflow-y:visible!important;gap:12px!important}.dropdown-notice-center{width:100%!important;flex:1 1 auto!important;min-height:0!important;max-height:none!important}.dropdown-main-panel{width:100%!important;min-width:unset!important;flex-shrink:0!important}}.mode-dropdown>.dropdown-content{display:none;flex-direction:column;padding:6px;gap:4px;min-width:172px}.mode-dropdown>.dropdown-content.show{display:flex!important}.dropdown-map-modes{flex-direction:column;padding:4px!important;gap:2px;min-width:160px;background-color:var(--btn-info-bg);border-radius:8px}.dropdown-map-modes,.map-mode-option-btn{display:flex;width:100%;box-sizing:border-box}.map-mode-option-btn{align-items:center;gap:10px;padding:8px 12px;border:none;background:transparent;color:var(--text-main);font-size:14px;border-radius:6px;cursor:pointer;transition:all .2s ease;text-align:left}.map-mode-option-btn:hover:not(.active):not(.permission-disabled){background-color:var(--btn-info-hover,var(--list-hover))}.map-mode-option-btn.active{background-color:var(--bg);color:var(--primary-color);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06)}[data-theme=dark] .map-mode-option-btn.active{color:#0084d1;box-shadow:0 1px 3px rgba(0,0,0,.3)}.map-mode-option-btn.permission-disabled{opacity:.5;cursor:not-allowed}.map-mode-option-btn .btn-icon{width:18px;height:18px;margin-right:0!important}.dropdown-lang-flags-row{display:flex;align-items:center;justify-content:space-between;padding:5px 6px;gap:4px;background-color:var(--btn-info-bg);border-radius:6px;box-sizing:border-box;width:100%}.dropdown-lang-flag-btn{display:inline-flex;align-items:center;justify-content:center;padding:3px 4px;border-radius:4px;border:1px solid transparent;background:transparent;cursor:pointer;transition:all .18s cubic-bezier(.4,0,.2,1);outline:none;flex:1}.dropdown-lang-flag-btn:hover{background-color:var(--bg);transform:translateY(-1px) scale(1.12);box-shadow:0 2px 6px rgba(0,0,0,.12)}.dropdown-lang-flag-btn.active{background-color:var(--bg);border-color:var(--primary-color,#00263b);box-shadow:0 1px 4px rgba(0,38,59,.18);transform:scale(1.06)}[data-theme=dark] .dropdown-lang-flag-btn.active{border-color:#0084d1;box-shadow:0 1px 4px rgba(0,132,209,.35)}.dropdown-lang-flag-btn .lang-flag-svg{width:21px;height:14px;pointer-events:none}.header-bar,.menu-bar,.navbar,.tool-header,.top-bar{z-index:1000!important}.mobile-edge-gradient,.mobile-system-edge-probe,.mobile-top-bar-backdrop{display:none!important}@media (max-width:640px){.mobile-top-bar-backdrop{display:block!important;visibility:hidden!important;position:fixed!important;top:0!important;left:0!important;right:0!important;height:calc(var(--mobile-top-bar-height, calc(env(safe-area-inset-top, 0px) + 64px)) + 2px)!important;background-color:var(--mobile-panel-header-bg,var(--station-header-bg,var(--panel-header-bg,#00263b)))!important;pointer-events:none!important;z-index:11600!important;will-change:transform,opacity;transform-origin:bottom center!important;transform:scaleY(0)!important;opacity:0!important;transition:transform .18s cubic-bezier(.4,0,1,1),opacity .14s ease-out,background-color .2s ease,visibility 0s linear .18s!important}[data-theme=dark] .mobile-top-bar-backdrop,html[data-theme=dark] .mobile-top-bar-backdrop{background-color:var(--mobile-panel-header-bg,var(--station-header-bg,var(--panel-header-bg,#373838)))!important}body.mobile-panel-docked-full:not(.mobile-sheet-dragging):not(:has([data-sheet-dragging=true])) .mobile-top-bar-backdrop{visibility:visible!important;transform:scaleY(1)!important;opacity:1!important;transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .22s ease,background-color .2s ease,visibility 0s!important}body.mobile-panel-docked-full .unified-panel.mobile-sheet:not(.plugin-panel):not(.route-panel){clip-path:none!important;background-color:var(--mobile-panel-header-bg,var(--station-header-bg,var(--panel-header-bg,#00263b)))!important}[data-theme=dark] body.mobile-panel-docked-full .unified-panel.mobile-sheet:not(.plugin-panel):not(.route-panel),html[data-theme=dark] body.mobile-panel-docked-full .unified-panel.mobile-sheet:not(.plugin-panel):not(.route-panel){background-color:var(--mobile-panel-header-bg,var(--station-header-bg,var(--panel-header-bg,#373838)))!important}body.mobile-panel-docked-full .unified-panel.route-panel.mobile-sheet{clip-path:none!important;background-color:var(--panel)!important}[data-theme=dark] body.mobile-panel-docked-full .unified-panel.route-panel.mobile-sheet,html[data-theme=dark] body.mobile-panel-docked-full .unified-panel.route-panel.mobile-sheet{background-color:var(--panel)!important}body.mobile-panel-docked-full .unified-panel.plugin-panel.mobile-sheet{clip-path:none!important;background-color:var(--panel-bg)!important}body:has(.unified-panel.plugin-panel.mobile-sheet) .mobile-top-bar-backdrop{background-color:var(--panel-bg)!important}@supports (-webkit-touch-callout:none){.mobile-system-edge-probe{display:none!important}}:root{--edge-gradient-bg:#ffffff;--edge-gradient-bg-transparent:rgba(255,255,255,0)}[data-theme=dark],html[data-theme=dark]{--edge-gradient-bg:#1a1a1a;--edge-gradient-bg-transparent:rgba(26,26,26,0)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]),html:not([data-theme=light]){--edge-gradient-bg:#1a1a1a;--edge-gradient-bg-transparent:rgba(26,26,26,0)}}.mobile-edge-gradient{position:fixed!important;left:0!important;right:0!important;pointer-events:none!important;z-index:500!important;user-select:none!important;-webkit-user-select:none!important;transition:opacity .18s ease}.mobile-edge-gradient.is-top{display:block!important;top:env(safe-area-inset-top,0)!important;height:64px!important;background:linear-gradient(to bottom,var(--edge-gradient-bg) 0,var(--edge-gradient-bg-transparent) 100%)!important}body.mobile-panel-docked-full .mobile-edge-gradient.is-top,body.mobile-panel-expanded .mobile-edge-gradient.is-top{opacity:0!important}.mobile-edge-gradient.is-bottom{display:none!important;bottom:0!important;height:calc(max(16px, calc(env(safe-area-inset-bottom, 0px) - 8px)) + 58px)!important;background:linear-gradient(to top,var(--edge-gradient-bg) 0,var(--edge-gradient-bg-transparent) 100%)!important}html.pwa-standalone .mobile-edge-gradient.is-bottom{display:block!important}@media (display-mode:fullscreen),(display-mode:minimal-ui),(display-mode:standalone),(display-mode:window-controls-overlay){.mobile-edge-gradient.is-bottom{display:block!important}}body.mobile-panel-expanded .mobile-edge-gradient.is-bottom,body:has(#info-panel.mobile-expanded) .mobile-edge-gradient.is-bottom,body:has(.unified-panel[data-sheet-stage=full]) .mobile-edge-gradient.is-bottom{display:none!important}}#info-panel,.info-panel,.station-panel{z-index:20000!important}body.mobile-panel-expanded #info-panel,body.mobile-split-active #info-panel{z-index:11500!important}.dropdown-content,.dropdown-menu,.header-island:has(.dropdown-content.show),.header-island:has(.dropdown.is-open),.menu-dropdown,.select-dropdown,.tool-header .dropdown-content.show,.tool-header:has(.dropdown-content.show),.tool-header:has(.dropdown.is-open){z-index:50002!important;overflow:visible!important}@media (max-width:640px){.tool-header,.tool-header .dropdown-content.show,.tool-header:has(.dropdown-content.show),.tool-header:has(.dropdown.is-open){z-index:50002!important;overflow:visible!important}}.backdrop,.cgowm-modal-overlay,.dialog,.dialog-backdrop,.dialog-overlay,.drawer-overlay,.feedback-modal-overlay,.feedback-overlay,.help-overlay,.mask,.modal,.modal-backdrop,.modal-overlay,.overlay,.ride-modal-overlay,.settings-overlay{z-index:60000!important}.cgowm-window[data-mode=modal],.feedback-modal,.help-dialog,.map-settings-cgowm-host,.ride-modal-card,.settings-modal{z-index:60001!important}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.iso-fare-click-close{background:rgba(255,255,255,.18);border:none;color:#ffffff;width:18px;height:18px;border-radius:50%;cursor:pointer;font-size:11px;display:inline-flex;align-items:center;justify-content:center;margin-left:4px;line-height:1}.iso-fare-click-close:hover{background:rgba(255,255,255,.32)}@media (max-width:640px){#info-panel.unified-panel.mobile-sheet,.unified-panel.mobile-sheet,body.mobile-panel-expanded #info-panel.unified-panel.mobile-sheet,body.mobile-split-active #info-panel.unified-panel.mobile-sheet{--sheet-content-shift:calc(var(--sheet-live-side-gap, var(--sheet-resting-side-gap, 0px)) - var(--sheet-resting-side-gap, 0px));top:var(--sheet-full-top,calc(env(safe-area-inset-top, 0px) + 64px))!important;right:0!important;bottom:0!important;left:0!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:hidden!important;contain:layout style;-webkit-backface-visibility:hidden;backface-visibility:hidden;border:0!important;border-radius:0!important;clip-path:inset(0 var(--sheet-live-side-gap,var(--sheet-resting-side-gap,0)) 0 var(--sheet-live-side-gap,var(--sheet-resting-side-gap,0)) round var(--sheet-live-radius,var(--sheet-resting-radius,22px)) var(--sheet-live-radius,var(--sheet-resting-radius,22px)) 0 0);box-shadow:0 -10px 34px rgba(0,22,36,.2)!important;will-change:transform;transform:translate3d(0,var(--sheet-live-offset,var(--sheet-resting-offset,0)),0)!important;transition:transform .34s cubic-bezier(.22,1,.36,1),opacity .15s ease-out!important}.unified-panel.mobile-sheet.mobile-expanded,.unified-panel.mobile-sheet.sheet-collapsed,.unified-panel.plugin-panel.mobile-sheet:not(.mobile-expanded):not(.sheet-collapsed),.unified-panel.route-panel.mobile-sheet:not(.mobile-expanded):not(.sheet-collapsed){top:var(--sheet-full-top,calc(env(safe-area-inset-top, 0px) + 64px))!important;bottom:0!important;height:auto!important;max-height:none!important;animation:none!important}.unified-panel.mobile-sheet{border:0!important}#info-panel.unified-panel.mobile-sheet,#info-panel.unified-panel.mobile-sheet.mobile-expanded,#info-panel.unified-panel.mobile-sheet.sheet-collapsed,body.mobile-panel-expanded #info-panel.unified-panel.mobile-sheet,body.mobile-split-active #info-panel.unified-panel.mobile-sheet{bottom:calc(var(--mobile-station-footer-height, 76px) - 2px)!important}#info-panel.unified-panel.mobile-sheet .station-detail-content,.unified-panel.route-panel.mobile-sheet .route-planner{border-top-left-radius:0!important;border-top-right-radius:0!important;-webkit-backface-visibility:hidden;backface-visibility:hidden}#info-panel.unified-panel.mobile-sheet .panel-body,.unified-panel.mobile-sheet .panel-body{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}.unified-panel.route-panel.mobile-sheet .route-planner{border:0!important}#info-panel.unified-panel.mobile-sheet .panel-header,.unified-panel.route-panel.mobile-sheet .result-header,.unified-panel.route-panel.mobile-sheet .route-planner-header{border-top-left-radius:0!important;border-top-right-radius:0!important}#info-panel.unified-panel.mobile-sheet .panel-header{padding-left:calc(18px + var(--sheet-resting-side-gap, 0px))!important;padding-right:calc(44px + var(--sheet-resting-side-gap, 0px))!important}#info-panel.unified-panel.mobile-sheet .panel-close-btn{right:calc(14px + var(--sheet-resting-side-gap, 0px))!important}#info-panel.unified-panel.mobile-sheet .panel-tabs-container{padding-right:var(--sheet-resting-side-gap,0);padding-left:var(--sheet-resting-side-gap,0)}#info-panel.unified-panel.mobile-sheet .panel-body{padding-right:calc(14px + var(--sheet-resting-side-gap, 0px))!important;padding-left:calc(14px + var(--sheet-resting-side-gap, 0px))!important;overflow-anchor:none}#info-panel.unified-panel.mobile-sheet .header-name-group,#info-panel.unified-panel.mobile-sheet .header-station-logo,#info-panel.unified-panel.mobile-sheet .panel-tabs-nav{transform:translate3d(var(--sheet-content-shift,0),0,0);transition:transform .34s cubic-bezier(.22,1,.36,1)}#info-panel.unified-panel.mobile-sheet .panel-body>*{translate:var(--sheet-content-shift,0) 0;transition:translate .34s cubic-bezier(.22,1,.36,1)}#info-panel.unified-panel.mobile-sheet .panel-badges{transform:translate3d(calc(0px - var(--sheet-content-shift, 0px)),0,0);transition:transform .34s cubic-bezier(.22,1,.36,1)}#info-panel.unified-panel.mobile-sheet .panel-close-btn{transform:translate3d(calc(0px - var(--sheet-content-shift, 0px)),-50%,0)!important;transition:transform .34s cubic-bezier(.22,1,.36,1)}#info-panel.unified-panel.mobile-sheet[data-sheet-committing=true] .header-name-group,#info-panel.unified-panel.mobile-sheet[data-sheet-committing=true] .header-station-logo,#info-panel.unified-panel.mobile-sheet[data-sheet-committing=true] .panel-badges,#info-panel.unified-panel.mobile-sheet[data-sheet-committing=true] .panel-body>*,#info-panel.unified-panel.mobile-sheet[data-sheet-committing=true] .panel-close-btn,#info-panel.unified-panel.mobile-sheet[data-sheet-committing=true] .panel-tabs-nav,#info-panel.unified-panel.mobile-sheet[data-sheet-dragging=true] .header-name-group,#info-panel.unified-panel.mobile-sheet[data-sheet-dragging=true] .header-station-logo,#info-panel.unified-panel.mobile-sheet[data-sheet-dragging=true] .panel-badges,#info-panel.unified-panel.mobile-sheet[data-sheet-dragging=true] .panel-body>*,#info-panel.unified-panel.mobile-sheet[data-sheet-dragging=true] .panel-close-btn,#info-panel.unified-panel.mobile-sheet[data-sheet-dragging=true] .panel-tabs-nav{transition:none!important}#info-panel.unified-panel.mobile-sheet[data-sheet-committing=true],#info-panel.unified-panel.mobile-sheet[data-sheet-dragging=true],.unified-panel.mobile-sheet[data-sheet-committing=true],.unified-panel.mobile-sheet[data-sheet-dragging=true],.unified-panel.route-panel.mobile-sheet[data-sheet-committing=true],.unified-panel.route-panel.mobile-sheet[data-sheet-dragging=true],body.mobile-panel-expanded #info-panel.unified-panel.mobile-sheet[data-sheet-committing=true],body.mobile-panel-expanded #info-panel.unified-panel.mobile-sheet[data-sheet-dragging=true],body.mobile-sheet-dragging #info-panel.unified-panel.mobile-sheet,body.mobile-sheet-dragging .unified-panel.mobile-sheet,body.mobile-split-active #info-panel.unified-panel.mobile-sheet[data-sheet-committing=true],body.mobile-split-active #info-panel.unified-panel.mobile-sheet[data-sheet-dragging=true]{transition:none!important;user-select:none}#info-panel.unified-panel.mobile-sheet .panel-footer-inline{display:none!important}.mobile-station-footer-dock{display:block;position:fixed;right:0;bottom:0;left:0;z-index:11620;background:var(--bg-color);border-top:1px solid var(--divider);box-shadow:0 -8px 24px rgba(0,0,0,.16);clip-path:inset(0 var(--mobile-dock-live-gap,0) 0 var(--mobile-dock-live-gap,0));transition:clip-path .34s cubic-bezier(.22,1,.36,1)}.mobile-station-footer-dock .panel-footer-dock{position:static!important;margin:0!important;padding:8px 12px calc(8px + env(safe-area-inset-bottom, 0px))!important;border-top:0!important;transform:none!important;transition:none!important}body:has(#info-panel.unified-panel.mobile-sheet[data-sheet-dragging=true]) .mobile-station-footer-dock,body:has(.unified-panel.route-panel.mobile-sheet[data-sheet-dragging=true]) .mobile-panel-dock-route{transition:none}#info-panel.unified-panel.mobile-sheet .panel-body{padding-bottom:0!important;scroll-padding-bottom:0}#info-panel.unified-panel.mobile-sheet .panel-body:after{content:"";display:block;width:1px;height:var(--sheet-resting-offset,0);min-height:var(--sheet-resting-offset,0);flex:0 0 var(--sheet-resting-offset,0px);pointer-events:none}#info-panel.unified-panel.mobile-sheet .panel-body{display:block!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:none!important;touch-action:pan-y}#info-panel.unified-panel.mobile-sheet .line-timetable-module,#info-panel.unified-panel.mobile-sheet .subrail-tt-wrapper{touch-action:pan-x pan-y;overscroll-behavior:none}#info-panel.unified-panel.mobile-sheet .line-timetable-module,#info-panel.unified-panel.mobile-sheet .panel-body>:last-child,#info-panel.unified-panel.mobile-sheet .subrail-tt-wrapper{margin-bottom:14px!important}#info-panel.unified-panel.mobile-sheet .mobile-timetable-bottom-spacer{display:none!important;height:0!important;min-height:0!important}#info-panel.unified-panel.mobile-sheet .timetable-scroll-area{flex:0 0 auto!important;height:auto!important;min-height:0!important;margin-bottom:0!important}.unified-panel.mobile-sheet[data-sheet-dragging=true] .sheet-grabber{cursor:grabbing}.unified-panel.mobile-sheet .sheet-grabber,.unified-panel.route-panel.mobile-sheet .sheet-grabber{display:flex!important;width:92px;height:24px;z-index:4001;touch-action:none!important;-webkit-user-select:none!important;user-select:none!important}.unified-panel.mobile-sheet .panel-header,.unified-panel.mobile-sheet [data-panel-drag-handle]{touch-action:none!important;-webkit-user-select:none!important;user-select:none!important}.unified-panel.mobile-sheet .panel-tabs-container{touch-action:pan-x pan-y!important}.unified-panel.mobile-sheet .sheet-grabber-bar{width:38px;height:5px;background:color-mix(in srgb,var(--text-light) 58%,transparent);box-shadow:none;transition:width .16s ease,background-color .16s ease}.unified-panel.mobile-sheet[data-sheet-dragging=true] .sheet-grabber-bar{width:46px;background:color-mix(in srgb,var(--primary-color) 78%,var(--text-main))}.unified-panel.route-panel .unified-route-content{height:100%;flex:1 1 auto;min-height:0;gap:0;overflow:hidden!important}.unified-panel.route-panel .route-planner{height:calc(var(--visual-vh, 100dvh) - var(--sheet-full-top, 64px) - var(--mobile-route-footer-height, 64px) + 2px - var(--sheet-live-offset, var(--sheet-resting-offset, 0px)))!important;max-height:calc(var(--visual-vh, 100dvh) - var(--sheet-full-top, 64px) - var(--mobile-route-footer-height, 64px) + 2px - var(--sheet-live-offset, var(--sheet-resting-offset, 0px)))!important;min-height:0;display:flex;flex-direction:column;overflow:hidden!important}.unified-panel.route-panel .route-planner-header{flex:0 0 auto;padding:16px 40px 16px 20px}.unified-panel.route-panel .route-planner-footer{flex:0 0 auto}.unified-panel.route-panel.mobile-sheet{bottom:0!important}body:has(.mobile-panel-dock-route) .unified-panel.route-panel.mobile-sheet{bottom:calc(var(--mobile-route-footer-height, 64px) - 2px)!important}.unified-panel.route-panel .route-planner-footer-inline{display:none}.mobile-panel-dock-route{position:fixed;right:0;bottom:0;left:0;z-index:11640;display:block;padding-bottom:env(safe-area-inset-bottom,0);background:var(--panel);border:1px solid color-mix(in srgb,var(--divider) 74%,transparent);border-bottom:0;box-shadow:0 -8px 24px rgba(0,20,34,.16);clip-path:inset(0 var(--mobile-dock-live-gap,0) 0 var(--mobile-dock-live-gap,0));transition:clip-path .34s cubic-bezier(.22,1,.36,1)}.mobile-panel-dock-route .route-planner-footer{min-height:64px;padding:8px 12px;border-top:0;border-radius:0}body:has(.unified-panel.route-panel.mobile-sheet) .mobile-station-footer-dock{visibility:hidden;pointer-events:none}body:has(.unified-panel.route-panel.mobile-sheet) #info-panel.unified-panel.mobile-sheet{visibility:hidden!important;opacity:0!important;pointer-events:none}.unified-panel.route-panel .route-planner-fields{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-x:hidden!important;overflow-y:hidden!important;overscroll-behavior:none;padding-bottom:0}.unified-panel.route-panel .route-result-panel{position:static!important;inset:auto!important;width:100%!important;max-width:none!important;min-height:0;flex:1 1 auto;padding:0 16px calc(18px + env(safe-area-inset-bottom, 0px))!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:none;animation:none;z-index:1}.unified-panel.route-panel .route-result-panel:after{content:"";display:block;width:1px;height:var(--sheet-resting-offset,0);min-height:var(--sheet-resting-offset,0);flex:0 0 var(--sheet-resting-offset,0px);pointer-events:none}.unified-panel.route-panel .route-result-panel .result-header{position:sticky!important;top:0!important;z-index:50!important;margin:0 -16px 16px!important;padding:16px 48px 16px 16px!important;background:var(--panel-header-bg,#00263b)!important;border-bottom:1px solid rgba(255,255,255,.12)!important;flex-shrink:0}.unified-panel.route-panel .unified-route-content.is-planning .route-result-panel{display:none!important}.route-map-selection-hint{position:fixed;top:calc(env(safe-area-inset-top, 0px) + 76px);left:50%;z-index:11490;width:max-content;max-width:calc(100vw - 32px);min-height:48px;padding:8px 10px 8px 12px;display:flex;align-items:center;gap:9px;color:#f3f8fa;background:var(--panel-header-bg,#00263b);border:1px solid rgba(255,255,255,.16);border-radius:14px;box-shadow:0 8px 28px rgba(0,20,34,.28);transform:translateX(-50%);animation:routeMapHintEnter .26s cubic-bezier(.22,1,.36,1) both}.route-map-selection-hint>span:not(.route-map-selection-pulse){min-width:0;display:flex;flex-direction:column}.route-map-selection-hint strong{font-size:13px;line-height:1.2}.route-map-selection-hint small{margin-top:2px;color:rgba(243,248,250,.72);font-size:11px}.route-map-selection-pulse{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#63c6da;box-shadow:0 0 0 5px rgba(99,198,218,.14)}.route-map-selection-hint button{min-width:48px;height:32px;margin-left:4px;padding:0 10px;color:#f3f8fa;background:rgba(255,255,255,.1);border:0;border-radius:9px;font:inherit;font-size:12px;font-weight:650}}@keyframes routeMapHintEnter{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.route-map-selection-hint,.unified-panel.mobile-sheet,.unified-panel.mobile-sheet .sheet-grabber-bar{animation:none!important;transition-duration:.01ms!important}}.offline-empty{min-height:100dvh;display:grid;place-content:center;gap:10px;padding:32px;text-align:center;color:var(--text-primary,#102a3a);background:var(--bg-primary,#f4f7f9)}.offline-empty h1,.offline-empty p{margin:0}body.minimal-mode .geo-landmark-layer,body.minimal-mode .geo-water-layer,body.minimal-mode .map-decoration,body.minimal-mode .scattered-decoration{display:none!important}body.minimal-mode .line-path,body.minimal-mode .station-node{filter:none!important}body.minimal-mode .stacn,body.minimal-mode .staen{text-shadow:none!important}body.reduce-motion *,body.reduce-motion :after,body.reduce-motion :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.settings-mono-value{font-family:var(--font-mono);font-size:12.5px;color:var(--text-secondary,#6b7280);word-break:break-all;text-align:right;max-width:60%}.settings-offline-entry{display:flex;align-items:center;gap:8px;font-size:12px;background:var(--bg-secondary,rgba(0,0,0,.03));padding:6px 10px;border-radius:6px}.settings-offline-entry-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-modal:focus{outline:none}:root{--splash-bg:#ffffff;--splash-text:#00263b;--splash-sub:#6b7d87;--splash-overlay:rgba(255,255,255,0.96);--splash-progress-track:rgba(0,96,152,0.15);--splash-progress-fill:#006098}[data-theme=dark]{--splash-bg:#1a1a1a;--splash-text:#e5e8ea;--splash-sub:#78848b;--splash-overlay:rgba(26,26,26,0.96);--splash-progress-track:rgba(0,96,152,0.25);--splash-progress-fill:#2196f3}.cgo-splash{position:fixed;inset:0;z-index:9999;background:var(--splash-overlay);color:var(--splash-text);opacity:1;transition:opacity .65s cubic-bezier(.4,0,.2,1);overflow:hidden}.cgo-splash--hiding{opacity:0;pointer-events:none}.cgo-splash__map-layer{position:absolute;inset:0;display:flex;align-items:stretch;justify-content:stretch}.cgo-splash__map-svg{width:100%;height:100%;display:block}.cgo-splash__center{position:absolute;top:50%;left:50%;transform:translate3d(-50%,-50%,0) scale(1);opacity:1;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10000;will-change:transform,opacity;transition:transform .75s cubic-bezier(.16,1,.3,1),opacity .65s cubic-bezier(.4,0,.2,1)}.cgo-splash--hiding .cgo-splash__center{transform:translate3d(-50%,-50%,0) scale(1.15);opacity:0}.cgo-splash__center-svg{width:min(280px,60vw);height:auto;max-height:45vh;display:block}.cgo-splash-anim-translate{animation:splash-translate-bar 2s linear infinite;will-change:transform}.cgo-splash-anim-rotate{animation:splash-rotate-arrows 2s linear infinite;will-change:transform}@keyframes splash-translate-bar{0%{transform:translate(0)}to{transform:translate(300px)}}@keyframes splash-rotate-arrows{0%{transform:rotate(180deg)}to{transform:rotate(-180deg)}}.cgo-splash__center-svg--light{display:block}.cgo-splash__center-svg--dark{display:none}[data-theme=dark] .cgo-splash__center-svg--light{display:none!important}[data-theme=dark] .cgo-splash__center-svg--dark{display:block!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cgo-splash__center-svg--light{display:none}:root:not([data-theme=light]) .cgo-splash__center-svg--dark{display:block}}.cgo-splash__bottom-bar{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 24px 28px;background:linear-gradient(to top,var(--splash-overlay) 60%,transparent);animation:splash-brand-in .6s ease-out .2s both}.cgo-splash__logo-svg{width:40px;height:40px;flex-shrink:0}.cgo-splash__brand-text{display:flex;flex-direction:column;align-items:center;gap:3px}.cgo-splash__title{font-size:18px;font-weight:700;letter-spacing:-.3px;color:var(--splash-text);font-family:Arimo,PingFang SC,Microsoft YaHei,system-ui,sans-serif}.cgo-splash__subtitle{font-size:13px;color:var(--splash-sub);font-family:Arimo,PingFang SC,system-ui,sans-serif}.cgo-splash__progress{width:min(300px,75vw);height:3px;background:var(--splash-progress-track);border-radius:999px;overflow:hidden}.cgo-splash__progress-bar{height:100%;width:0;background:var(--splash-progress-fill);border-radius:999px;animation:splash-progress 3.5s cubic-bezier(.1,.4,.6,1) forwards}@media (prefers-reduced-motion:reduce){.cgo-splash__progress-bar{animation:none;width:80%}}@keyframes splash-svg-in{0%{opacity:0}to{opacity:1}}@keyframes splash-brand-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes logo-hex-in{0%{transform:scale(0) rotate(-30deg);opacity:0;transform-origin:22px 22px}70%{transform:scale(1.15) rotate(5deg);opacity:1;transform-origin:22px 22px}to{transform:scale(1) rotate(0deg);opacity:1;transform-origin:22px 22px}}@keyframes splash-progress{0%{width:0}25%{width:38%}55%{width:68%}80%{width:85%}to{width:93%}}.d-logo-hex{animation:logo-hex-in .6s cubic-bezier(.34,1.56,.64,1) both}.d-logo-text{animation:splash-brand-in .5s ease-out .2s both}.cgo-compat-actions{display:flex!important;flex-direction:column!important;gap:12px!important;row-gap:12px!important;margin-bottom:20px!important;width:100%!important}.cgo-compat-actions .cgo-compat-btn+.cgo-compat-btn,.cgo-compat-actions button+button,.cgo-compat-actions>*+*{margin-top:12px!important}.stacard-tourism-box{width:100%;margin:4px 0 10px;position:relative;border-radius:8px;overflow:hidden;background:var(--bg-card,#ffffff);border:1px solid var(--divider,rgba(0,0,0,.08));box-shadow:0 2px 8px rgba(0,0,0,.04);padding:10px 12px;display:flex;flex-direction:column;gap:7px;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}[data-theme=dark] .stacard-tourism-box{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);box-shadow:0 2px 8px rgba(0,0,0,.2)}.stacard-tourism-header{display:flex;align-items:center;gap:8px}.stacard-tourism-title-group{display:inline-flex;align-items:center;gap:5px;color:var(--text-main,#00263b)}.stacard-tourism-cgo-icon{width:15px;height:15px;color:var(--tourism-theme-color,var(--primary-color,#006098));flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.stacard-tourism-title{font-size:13px;font-weight:600;color:var(--text-main,#00263b);letter-spacing:.3px;line-height:1.2}.stacard-tourism-content{width:100%}.stacard-tourism-body{font-size:12.5px;line-height:1.62;color:var(--text-light,#555555);text-align:justify;margin:0;word-break:break-word}[data-theme=dark] .stacard-tourism-body{color:var(--text-light,#a0b0b9)}.stacard-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 10px;width:100%;box-sizing:border-box}.stacard-meta-grid.is-single{grid-template-columns:1fr}.stacard-mini-card{position:relative;border-radius:8px;background:var(--bg-card,#ffffff);border:1px solid var(--divider,rgba(0,0,0,.08));box-shadow:0 2px 8px rgba(0,0,0,.04);padding:8px 10px;display:flex;flex-direction:column;justify-content:flex-start;gap:6px;box-sizing:border-box;min-height:58px;min-width:0;transition:border-color .2s ease,box-shadow .2s ease}[data-theme=dark] .stacard-mini-card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);box-shadow:0 2px 8px rgba(0,0,0,.2)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .stacard-mini-card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}}.stacard-mini-header{display:flex;align-items:center;gap:6px;color:var(--text-light,#636f75);min-height:18px;font-size:12px;font-weight:500;letter-spacing:.2px;line-height:1.2}[data-theme=dark] .stacard-mini-header{color:var(--text-light,#94a3b8)}.stacard-mini-content{display:flex;flex-direction:column;justify-content:center;flex:1;min-width:0}.stacard-type-text{font-size:13.5px;font-weight:600;color:var(--text-main,#00263b);line-height:1.35;word-break:break-word}[data-theme=dark] .stacard-type-text{color:#f1f5f9}.stacard-operator-list{display:flex;flex-direction:column;gap:6px;width:100%;min-width:0}.stacard-operator-item{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-main,#00263b);line-height:1.35;min-width:0}.stacard-operator-item+.stacard-operator-item{padding-top:5px;border-top:1px dashed var(--divider,rgba(0,0,0,.06))}[data-theme=dark] .stacard-operator-item+.stacard-operator-item{border-top-color:rgba(255,255,255,.08)}.stacard-operator-badge-wrapper{display:inline-flex;align-items:center;flex-shrink:0}.stacard-operator-name{font-size:12.5px;font-weight:600;color:var(--text-main,#00263b);word-break:break-word;line-height:1.3;flex:1;min-width:0}[data-theme=dark] .stacard-operator-name{color:#f1f5f9}@media (max-width:320px){.stacard-meta-grid{grid-template-columns:1fr!important}}.stacard-minimap-box{width:100%;margin:4px 0 12px;position:relative;border-radius:8px;overflow:hidden;background:var(--bg-card,#f8f9fa);box-shadow:0 2px 8px rgba(0,0,0,.08),inset 0 0 0 1px var(--divider,rgba(0,0,0,.08));user-select:none}.stacard-minimap-viewport{width:100%;height:156px;position:relative;overflow:hidden;cursor:default;background-color:#f2efe9;-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:radial-gradient(white,black)}.stacard-minimap-viewport:focus{outline:none}.stacard-tiles-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;transition:filter .3s ease;z-index:1;-webkit-transform:translateZ(0);transform:translateZ(0)}.stacard-tile-img{position:absolute;width:256px;height:256px;display:block;user-select:none;-webkit-user-drag:none;image-rendering:auto;pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden}.stacard-pin-marker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none;z-index:10}.stacard-pin-dot{width:12px;height:12px;border:2px solid #ffffff;box-shadow:0 2px 6px rgba(0,0,0,.35);z-index:2}.stacard-pin-dot,.stacard-pin-pulse{background-color:var(--marker-color,#ff3b30);border-radius:50%}.stacard-pin-pulse{position:absolute;width:28px;height:28px;opacity:.35;animation:stacard-pulse 2s cubic-bezier(.25,.8,.25,1) infinite;top:-8px}@keyframes stacard-pulse{0%{transform:scale(.6);opacity:.6}70%{transform:scale(1.6);opacity:0}to{transform:scale(1.6);opacity:0}}.stacard-pin-label{margin-top:4px;font-size:11px;font-weight:700;color:#1a1a1a;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:2px 6px;border-radius:4px;box-shadow:0 2px 5px rgba(0,0,0,.18);border:1px solid rgba(0,0,0,.08);white-space:nowrap}.stacard-controls{position:absolute;top:8px;right:8px;display:flex;flex-direction:column;gap:4px;z-index:12}.stacard-ctrl-btn{width:24px;height:24px;border-radius:6px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(0,0,0,.08);box-shadow:0 1px 4px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;color:#333333;cursor:pointer;transition:all .2s ease;padding:0;text-decoration:none}.stacard-ctrl-btn:hover{background:#ffffff;color:#000000;transform:scale(1.05)}.stacard-ctrl-btn:active{transform:scale(.95)}.stacard-exit-marker{--mk-ring:#00263b;position:absolute;z-index:11;min-width:18px;height:18px;padding:0 4px;transform:translate(-50%,-50%);border:1.5px solid var(--mk-ring);border-radius:9px;background:#ffffff;color:#00263b;font:700 10.5px/15px -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.1px;box-shadow:0 1px 3px rgba(0,0,0,.28);cursor:pointer;transition:transform .18s ease,background-color .18s ease,color .18s ease}.stacard-exit-marker:after{content:"";position:absolute;inset:-6px -4px}.stacard-exit-marker:hover{transform:translate(-50%,-50%) scale(1.12);z-index:12}.stacard-exit-marker:focus-visible{outline:2px solid #006098;outline-offset:2px}.stacard-exit-marker.has-ring{color:var(--mk-ring);border-width:2px}.stacard-exit-marker.is-dot{min-width:10px;width:10px;height:10px;padding:0;border:2px solid var(--mk-ring);background:#ffffff}.stacard-exit-marker.is-muted{--mk-ring:#9aa5ab;color:#7d8a91;background:rgba(255,255,255,.85);box-shadow:0 1px 2px rgba(0,0,0,.18)}.stacard-exit-marker.is-active{z-index:13;background:var(--mk-ring);color:#ffffff;border-color:#ffffff;transform:translate(-50%,-50%) scale(1.25);box-shadow:0 0 0 3px color-mix(in srgb,var(--mk-ring) 30%,transparent),0 2px 6px rgba(0,0,0,.35)}.stacard-exit-marker.is-active:not(.has-ring):not(.is-muted){--mk-ring:#006098}.stacard-exit-marker.has-fill{border-color:#ffffff;background:var(--mk-bg);color:var(--mk-fg);box-shadow:0 1px 3px rgba(0,0,0,.32)}.stacard-exit-marker.has-fill.is-dot{border-color:#ffffff}.stacard-exit-marker.has-fill.is-active{background:var(--mk-bg);color:var(--mk-fg);border-color:#ffffff;box-shadow:0 0 0 2px #00263b,0 2px 6px rgba(0,0,0,.4)}.stacard-exit-marker.has-fill.is-muted{opacity:.55}.stacard-exit-leaders{position:absolute;inset:0;z-index:10;pointer-events:none;overflow:visible}.stacard-exit-leaders line{stroke:rgba(0,38,59,.7);stroke-width:1.2;stroke-linecap:round}.stacard-minimap-picking{cursor:crosshair}.stacard-minimap-picking .stacard-exit-marker{pointer-events:none;opacity:.7}.stacard-pick-pin{position:absolute;z-index:14;transform:translate(-50%,-100%);pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}.route-itinerary{margin-top:10px;gap:10px;font-size:12px;color:var(--text-main);user-select:text}.itin-summary,.route-itinerary{display:flex;flex-direction:column}.itin-summary{padding:10px 12px;border:1px solid var(--divider);border-radius:10px;background:var(--ctrl-btn-bg);gap:6px}.itin-headline{display:flex;align-items:center;gap:10px;font-size:14px}.itin-headline strong{font-size:17px;font-weight:700;letter-spacing:.01em;font-variant-numeric:tabular-nums}.itin-sep{width:1px;height:16px;background:var(--divider)}.itin-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--text-light);font-size:11.5px}.itin-dot{width:3px;height:3px;border-radius:50%;background:var(--text-light);opacity:.6}.itin-linebar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;row-gap:5px;margin-top:2px}.itin-endpoint{width:8px;height:8px;border-radius:50%;flex:none}.itin-endpoint.start{background:#22c55e}.itin-endpoint.end{background:#ef4444}.itin-linebar-link{width:12px;height:3px;align-self:center;border-radius:2px;flex:none}.itin-linebar .itin-line-chip{flex:0 1 auto;justify-content:center;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.itin-line-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:5px;color:#fff;font-weight:700;font-size:11px;line-height:1.4;text-shadow:0 0 2px rgba(0,0,0,.25)}.itin-timeline{list-style:none;margin:0;padding:0 0 0 2px}.itin-ride,.itin-timeline{display:flex;flex-direction:column}.itin-ride{position:relative;padding:0 0 6px 26px;gap:6px}.itin-ride:before{content:"";position:absolute;left:6px;top:10px;bottom:6px;width:8px;border-radius:4px;background:var(--leg-color,var(--primary-color,#38bdf8));opacity:.9}.itin-stop{position:relative}.itin-node{position:absolute;left:-24px;top:2px;width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.itin-node.board{background:var(--leg-color,var(--primary-color,#38bdf8));color:#fff}.itin-node.alight{background:var(--panel);border:3px solid var(--leg-color,var(--primary-color,#38bdf8))}.itin-stop-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.itin-stop-row strong{font-size:14px;font-weight:700}.itin-stop-row time{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;color:var(--text-main)}.itin-train{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;background:var(--ctrl-btn-bg)}.itin-train-dest{font-weight:600}.itin-tag,.itin-train-rel{color:var(--text-light)}.itin-tag{border:1px solid var(--divider);border-radius:4px;padding:0 5px;font-size:10px;line-height:1.6}.itin-alts{display:flex;flex-direction:column;gap:4px;color:var(--text-light);font-size:11.5px;font-variant-numeric:tabular-nums}.itin-alts-toggle{display:flex;align-items:center;gap:6px;padding:4px 8px;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left}.itin-alts-toggle:hover{background:var(--list-hover)}.itin-alts-toggle>:first-child{flex:none;display:inline-flex;transition:transform .2s ease}.itin-alts.is-open .itin-alts-toggle>:first-child{transform:rotate(180deg)}.itin-alts-toggle small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}.itin-alt-list{list-style:none;margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:3px}.itin-alt{width:100%;display:flex;align-items:center;gap:8px;padding:5px 8px;border:1px solid transparent;border-radius:6px;background:var(--ctrl-btn-bg);color:var(--text-main);font:inherit;font-size:11.5px;font-variant-numeric:tabular-nums;cursor:pointer;text-align:left}.itin-alt:hover:not(:disabled){border-color:color-mix(in srgb,var(--leg-color,var(--primary-color,#38bdf8)) 50%,transparent)}.itin-alt:disabled{cursor:default}.itin-alt>time{flex:none;font-size:13px;font-weight:700}.itin-alt-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;line-height:1.4;overflow:hidden}.itin-alt-main small{color:var(--text-light);font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.itin-alt-tags{flex:none;display:flex;align-items:center;gap:4px}.itin-alt-rel{color:var(--text-light)}.itin-alt.is-selected{background:color-mix(in srgb,var(--leg-color,var(--primary-color,#38bdf8)) 14%,transparent);border-color:color-mix(in srgb,var(--leg-color,var(--primary-color,#38bdf8)) 55%,transparent);opacity:1}.itin-alt.is-early{border-style:dashed}.itin-alt.is-early,.itin-tag.is-warn{border-color:color-mix(in srgb,#b0701a 40%,transparent)}.itin-tag.is-warn{color:var(--partial-note-text,#b0701a);background:color-mix(in srgb,#b0701a 12%,transparent)}.itin-tag.is-rec{color:var(--primary-color,#38bdf8);border-color:color-mix(in srgb,var(--primary-color,#38bdf8) 45%,transparent);font-weight:600}.itin-tag.is-selected{color:var(--text-main);border-color:var(--divider);font-weight:600}.itin-alt-hint{padding:2px 8px;color:var(--text-light);font-size:11px}.itin-ride-toggle{display:flex;align-items:center;gap:6px;padding:4px 8px;border:0;background:transparent;color:var(--text-main);font:inherit;font-size:12px;font-weight:600;cursor:pointer;text-align:left;border-radius:6px}.itin-ride-toggle:hover:not(:disabled){background:var(--list-hover)}.itin-ride-toggle:disabled{cursor:default;opacity:.8}.itin-ride-toggle>:first-child{transition:transform .2s ease;display:inline-flex}.itin-ride-toggle.is-open>:first-child{transform:rotate(180deg)}.itin-mid{list-style:none;margin:0;padding:0 0 0 10px;display:flex;flex-direction:column;gap:3px}.itin-mid li{position:relative;display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--text-light);font-size:12px;line-height:1.5}.itin-mid-dot{position:absolute;left:-29px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--panel);opacity:.9}.itin-mid li time{font-variant-numeric:tabular-nums}.itin-mid li.is-pass{opacity:.7;font-style:italic}.itin-transfer{position:relative;margin:2px 0 8px;padding:8px 10px 8px 26px;border-radius:8px;background:var(--ctrl-btn-bg);border:1px dashed var(--divider);display:flex;align-items:center;gap:8px}.itin-transfer:before{content:"";position:absolute;left:8px;top:-6px;bottom:-6px;width:3px;border-radius:2px;background-image:linear-gradient(180deg,var(--from-color,var(--text-light)),var(--to-color,var(--text-light)));-webkit-mask-image:repeating-linear-gradient(180deg,#000 0 4px,transparent 4px 8px);mask-image:repeating-linear-gradient(180deg,#000 0 4px,transparent 4px 8px);opacity:.75}.itin-transfer-icon{color:var(--text-light);display:inline-flex}.itin-transfer-text{display:flex;flex-direction:column;gap:1px;font-size:12px}.itin-transfer-text strong{font-weight:700}.itin-transfer-text span{color:var(--text-light)}.itin-transfer-text .itin-transfer-buffer{color:var(--primary-color,#0f7894);font-size:11px;font-weight:600}.itin-footer{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:var(--text-light);font-size:11px;padding:0 2px}.route-station-result.is-active,.search-item.is-active{background:var(--list-hover);box-shadow:inset 3px 0 0 var(--primary-color,#38bdf8)}.search-keyboard-hint{padding:4px 10px 6px;color:var(--text-light);font-size:10.5px;text-align:right;border-top:1px solid var(--divider)}@media (min-width:641px){.route-result-panel{display:flex;flex-direction:column;min-height:0}.route-result-panel>*{flex:0 0 auto}.route-result-panel>.route-itinerary,.unified-panel.route-panel .route-result-panel{flex:1 1 auto;min-height:0}.route-itinerary>.itin-footer,.route-itinerary>.itin-summary{flex:0 0 auto}.route-itinerary>.itin-timeline{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.route-itinerary>.itin-timeline::-webkit-scrollbar{width:4px}.route-itinerary>.itin-timeline::-webkit-scrollbar-thumb{background:rgba(128,128,128,.3);border-radius:2px}.unified-panel.route-panel .route-path-flow{flex:1 1 auto;min-height:0;max-height:none}}@media (max-width:640px){.route-itinerary{font-size:13px}.itin-headline strong{font-size:19px}.itin-meta{font-size:12px}.itin-stop-row strong{font-size:15px}.itin-stop-row time{font-size:14px}.itin-train{padding:8px 10px}.itin-ride-toggle{min-height:40px;padding:8px}.itin-alts{font-size:12px}.itin-alt,.itin-alts-toggle{min-height:40px;font-size:12.5px}.itin-mid li{min-height:26px;font-size:12.5px}.itin-transfer{padding:10px 12px 10px 26px}.search-keyboard-hint{display:none}}.itin-tag.is-express{color:var(--primary-color,#38bdf8);border-color:color-mix(in srgb,var(--primary-color,#38bdf8) 45%,transparent);background:color-mix(in srgb,var(--primary-color,#38bdf8) 10%,transparent);font-weight:600}.itin-note{display:flex;align-items:flex-start;gap:6px;margin:0;padding:6px 8px;border-radius:6px;font-size:11.5px;line-height:1.5;color:var(--partial-note-text,#b0701a);background:color-mix(in srgb,#b0701a 10%,transparent);border:1px solid color-mix(in srgb,#b0701a 26%,transparent)}.itin-note>:first-child{flex:none;margin-top:2px}.itin-note.is-condition{color:var(--primary-color,#0f7894);background:color-mix(in srgb,var(--primary-color,#0f7894) 9%,transparent);border-color:color-mix(in srgb,var(--primary-color,#0f7894) 26%,transparent)}.itin-note.is-warn{font-weight:600;border-color:color-mix(in srgb,#b0701a 45%,transparent)}@media (max-width:640px){.itin-note{font-size:12.5px;padding:8px 10px}}cgo-modal{position:fixed;inset:0;z-index:21000}cgo-notice-popup{z-index:21100!important}.sw-update-banner,cgo-notice-popup:not([position^=bottom]){top:calc(76px + env(safe-area-inset-top, 0px))}.sw-update-banner{position:fixed;right:18px;z-index:21100;width:280px;max-width:80vw;box-sizing:border-box;padding:12px 14px;border-radius:var(--radius-md,10px);border:1px solid var(--border-color,rgba(0,0,0,.08));background:var(--card-bg,#ffffff);color:var(--text-main,#00263b);box-shadow:0 4px 20px rgba(0,0,0,.12);font-family:var(--font-sans,system-ui,-apple-system,sans-serif);animation:sw-banner-enter .4s cubic-bezier(.34,1.56,.64,1) both;pointer-events:auto}@keyframes sw-banner-enter{0%{transform:translateX(125%);opacity:0}to{transform:translateX(0);opacity:1}}.sw-update-banner__header{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--cgopush-cat-software,#0085c4);margin-bottom:5px;line-height:1}.sw-update-banner__title{font-size:13px;font-weight:700;line-height:1.4;color:var(--text-main,#00263b);word-break:break-word}.sw-update-banner__actions{margin-top:10px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.sw-update-btn{font-size:11px;font-weight:600;padding:4px 10px;border-radius:var(--radius-xs,4px);border:1px solid var(--border-color,rgba(0,0,0,.12));background:var(--card-bg,#f8f9fa);color:var(--text-main,#00263b);cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease;font-family:inherit}.sw-update-btn:hover{background:var(--tab-hover,rgba(0,0,0,.06));border-color:var(--primary-color,#006098);color:var(--primary-color,#006098)}.sw-update-btn:focus-visible{outline:2px solid var(--primary-color,#006098);outline-offset:2px}.sw-update-btn--primary{background:var(--primary-color,#006098);color:#ffffff;border-color:transparent}.sw-update-btn--primary:hover{background:var(--primary-hover,#004d7a);color:#ffffff}:root:not([data-theme=light]) .sw-update-banner,[data-theme=dark] .sw-update-banner{background:var(--card-bg,#1e2124);border-color:rgba(255,255,255,.1);box-shadow:0 4px 24px rgba(0,0,0,.4)}:root:not([data-theme=light]) .sw-update-banner__header,[data-theme=dark] .sw-update-banner__header{color:#38bdf8}:root:not([data-theme=light]) .sw-update-btn,[data-theme=dark] .sw-update-btn{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15);color:var(--text-main,#e5e8ea)}:root:not([data-theme=light]) .sw-update-btn:hover,[data-theme=dark] .sw-update-btn:hover{background:rgba(255,255,255,.12);border-color:var(--primary-color,#38bdf8);color:var(--primary-color,#38bdf8)}.sw-update-banner--force{border-left:4px solid var(--warning-color,#ea580c)}.sw-update-banner__header--force{color:var(--warning-color,#ea580c)}.sw-update-banner--force .sw-update-banner__title strong{color:var(--warning-color,#ea580c);font-size:15px;padding:0 2px}.sw-update-btn--force{background:var(--warning-color,#ea580c);color:#ffffff;border-color:transparent}.sw-update-btn--force:hover{background:#c2410c;color:#ffffff}:root:not([data-theme=light]) .sw-update-banner--force,[data-theme=dark] .sw-update-banner--force{border-left-color:#f97316}:root:not([data-theme=light]) .sw-update-banner--force .sw-update-banner__title strong,:root:not([data-theme=light]) .sw-update-banner__header--force,[data-theme=dark] .sw-update-banner--force .sw-update-banner__title strong,[data-theme=dark] .sw-update-banner__header--force{color:#fb923c}:root:not([data-theme=light]) .sw-update-btn--force,[data-theme=dark] .sw-update-btn--force{background:#f97316;color:#ffffff}:root:not([data-theme=light]) .sw-update-btn--force:hover,[data-theme=dark] .sw-update-btn--force:hover{background:#ea580c;color:#ffffff}.dark cgo-notice-popup,.dark-mode cgo-notice-popup,:root:not([data-theme=light]) cgo-notice-popup,[data-theme=dark] cgo-notice-popup{--text-main:#27282b;--bg-color:#f5f6f8}.dark cgo-notice-card,.dark-mode cgo-notice-card,:root:not([data-theme=light]) cgo-notice-card,[data-theme=dark] cgo-notice-card{--text-main:#e5e8ea;--bg-color:#1a1a1a;--card-bg:#1e2124;--text-light:#9ba8b4;--border-color:rgba(255,255,255,0.1)}.special-services-section{color:var(--text-main)}.special-services-line-card{padding:8px 10px;border-radius:8px;background-color:var(--card-bg,#ffffff);border:1px solid var(--border-color,rgba(0,0,0,.08))}.dark .special-services-line-card,.dark-mode .special-services-line-card,[data-theme=dark] .special-services-line-card{background-color:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}.special-service-time-chip{display:inline-block;padding:0 5px;border-radius:4px;background-color:var(--card-bg,#ffffff);border:1px solid var(--border-color,rgba(0,0,0,.12));color:var(--text-main,#1f2937);font-size:11px;font-weight:600;font-family:monospace,ui-monospace,sans-serif;line-height:18px;cursor:default;transition:all .15s ease-in-out;user-select:none}.dark .special-service-time-chip,.dark-mode .special-service-time-chip,[data-theme=dark] .special-service-time-chip{background-color:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);color:var(--text-main,#f3f4f6)}.special-service-time-chip:hover{background-color:var(--accent-color,#0f7894)!important;color:#ffffff!important;border-color:var(--accent-color,#0f7894)!important;transform:translateY(-1px)}.special-service-direction-label{color:var(--text-secondary,#666666);font-size:11px;margin-right:2px}.dark .special-service-direction-label,.dark-mode .special-service-direction-label,[data-theme=dark] .special-service-direction-label{color:var(--text-secondary,#9ca3af)}.special-services-daytype-tag{font-size:11px;font-weight:500;padding:1px 6px;border-radius:4px;background-color:rgba(0,0,0,.04);color:var(--text-secondary,#666);border:1px solid rgba(0,0,0,.08)}.special-service-entry-row.has-divider{border-top:1px dashed var(--divider,rgba(0,0,0,.08))!important}.dark .special-service-entry-row.has-divider,.dark-mode .special-service-entry-row.has-divider,[data-theme=dark] .special-service-entry-row.has-divider{border-top-color:rgba(255,255,255,.1)!important}.dark .special-services-daytype-tag,.dark-mode .special-services-daytype-tag,[data-theme=dark] .special-services-daytype-tag{background-color:rgba(255,255,255,.08);color:var(--text-secondary,#9ca3af);border-color:rgba(255,255,255,.12)}.tt-special-badge.state-2{background-color:#10b981;color:#ffffff}.dark .tt-special-badge.state-2,.dark-mode .tt-special-badge.state-2,[data-theme=dark] .tt-special-badge.state-2{background-color:#059669;color:#ffffff}.tt-special-badge.state-4{background-color:#64748b;color:#ffffff}.dark .tt-special-badge.state-4,.dark-mode .tt-special-badge.state-4,[data-theme=dark] .tt-special-badge.state-4{background-color:#475569;color:#ffffff}.station-qrcode-btn{box-shadow:0 2px 6px rgba(2,132,199,.25)}.station-qrcode-btn:hover{filter:brightness(1.08)}.station-qrcode-btn:active{transform:scale(.94)}.station-poster-overlay{animation:fadeInPoster .2s ease-out}.station-poster-card{animation:scaleUpPoster .24s cubic-bezier(.16,1,.3,1)}@keyframes fadeInPoster{0%{opacity:0}to{opacity:1}}@keyframes scaleUpPoster{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}