:root{color-scheme:dark;--st-green: #008542;--st-green-glow: rgba(0, 133, 66, .4);--st-green-light: #10b981;--st-blue: #0072ce;--st-blue-glow: rgba(0, 114, 206, .4);--st-blue-light: #38bdf8;--status-ontime: #10b981;--status-ontime-bg: rgba(16, 185, 129, .15);--status-delayed: #f59e0b;--status-delayed-bg: rgba(245, 158, 11, .15);--status-delayed-severe: #ef4444;--status-delayed-severe-bg: rgba(239, 68, 68, .18);--status-early: #38bdf8;--status-early-bg: rgba(56, 189, 248, .15);--status-scheduled: #94a3b8;--status-scheduled-bg: rgba(148, 163, 184, .15);--bg-app: #070a0f;--bg-surface: #0e1522;--bg-surface-elevated: #131c2e;--bg-surface-subtle: #0c1220;--bg-card: rgba(16, 24, 38, .75);--bg-card-hover: rgba(22, 33, 52, .9);--bg-glass: rgba(15, 23, 38, .65);--bg-glass-heavy: rgba(10, 16, 26, .85);--bg-pill: rgba(255, 255, 255, .07);--bg-pill-hover: rgba(255, 255, 255, .12);--border-subtle: rgba(255, 255, 255, .08);--border-medium: rgba(255, 255, 255, .15);--border-strong: rgba(255, 255, 255, .25);--border-focus: #38bdf8;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--text-accent: #38bdf8;--font-display: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 20px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 30px -5px rgba(0, 0, 0, .7), 0 0 25px rgba(0, 133, 66, .15);--shadow-glow-green: 0 0 20px var(--st-green-glow);--shadow-glow-blue: 0 0 20px var(--st-blue-glow);--glow-card: 0 0 20px rgba(0, 0, 0, .3);--header-height: 72px;--max-width: 1320px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 24px;--radius-pill: 9999px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--touch-target-min: 44px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .35s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{font-size:16px;color-scheme:dark;background-color:var(--bg-app);color:var(--text-primary);font-family:var(--font-body);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;height:100%}h1,h2,h3,h4,.modal-title,.section-title,.brand-title,.empty-dashboard-title{text-wrap:balance}p,.station-subname,.route-desc,.faq-a,.empty-dashboard-desc,.section-subtitle{text-wrap:pretty}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}body{min-height:100vh;background:radial-gradient(circle at 50% 0%,#111a2e 0%,var(--bg-app) 75%);background-attachment:fixed;color:var(--text-primary);display:flex;flex-direction:column;overflow-x:hidden;position:relative}@media(max-width:768px){body{background-attachment:scroll}}body:before{content:"";position:fixed;top:0;left:0;right:0;height:520px;pointer-events:none;z-index:0;opacity:0;transition:opacity .5s cubic-bezier(.16,1,.3,1),background .5s cubic-bezier(.16,1,.3,1)}body[data-active-line=line-1]:before{background:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(0,133,66,.15) 0%,rgba(0,133,66,.04) 55%,transparent 100%);opacity:1}body[data-active-line=line-2]:before{background:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(0,114,206,.15) 0%,rgba(0,114,206,.04) 55%,transparent 100%);opacity:1}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit;outline:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;transition:all var(--transition-fast)}button:active{transform:scale(.97)}button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}input,select{font-family:inherit;font-size:inherit;color:inherit;background:transparent;outline:none}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}#app{display:flex;flex-direction:column;min-height:100vh;width:100%}.app-container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.app-header{position:sticky;top:0;z-index:50;background:var(--bg-glass-heavy);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);transition:border-color var(--transition-normal)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);gap:1rem}.brand-section{display:flex;align-items:center;gap:.85rem;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius-lg);padding:.25rem .5rem;margin:-.25rem -.5rem;transition:opacity var(--transition-fast),transform var(--transition-fast)}.brand-section:hover{opacity:.94}.brand-section:hover .brand-logo{transform:scale(1.05)}.brand-section:active .brand-logo{transform:scale(.95)}.brand-section:focus-visible{outline:2px solid var(--st-green-light);outline-offset:2px}.brand-logo{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;color:#fff;flex-shrink:0;position:relative;overflow:hidden;transition:all var(--transition-normal)}.brand-logo.line-1-logo{background:linear-gradient(135deg,var(--st-green) 0%,#005a2d 100%);box-shadow:var(--shadow-glow-green)}.brand-logo.line-2-logo{background:linear-gradient(135deg,var(--st-blue) 0%,#004d8c 100%);box-shadow:var(--shadow-glow-blue)}.brand-logo svg{width:22px;height:22px;transition:transform var(--transition-fast)}.brand-logo:hover svg{transform:scale(1.08)}.brand-text{display:flex;flex-direction:column}.brand-title{font-family:var(--font-display);font-size:1.18rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;margin:0;line-height:1.2}.brand-subtitle{font-size:.76rem;color:var(--text-secondary);font-weight:500;display:flex;align-items:center;gap:.35rem}.line-switcher{display:inline-flex;align-items:center;background:#080e1aa6;box-shadow:inset 0 2px 4px #0006,0 1px 2px #ffffff0d;padding:3px;border-radius:var(--radius-pill);border:1px solid rgba(255,255,255,.1);gap:2px;position:relative}.line-btn,.view-mode-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.35rem .95rem;height:32px;border-radius:var(--radius-pill);font-family:var(--font-display);font-size:.84rem;font-weight:600;color:var(--text-secondary);background:transparent;border:1px solid transparent;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.line-btn:hover:not(.active),.view-mode-btn:hover:not(.active){color:var(--text-primary);background:#ffffff14}.line-btn:active,.view-mode-btn:active{transform:scale(.96)}.line-btn.active.line-1-active,.view-mode-btn.active.line-1-active{background:linear-gradient(180deg,#00994d 0%,var(--st-green) 100%);color:#fff;border-color:#fff3;box-shadow:0 2px 6px #00000059}.line-btn.active.line-2-active,.view-mode-btn.active.line-2-active{background:linear-gradient(180deg,#0084eb 0%,var(--st-blue) 100%);color:#fff;border-color:#fff3;box-shadow:0 2px 6px #00000059}.line-badge-circle{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:50%;font-weight:800;font-size:.72rem;color:#fff;transition:all var(--transition-fast)}.line-1-circle{background:var(--st-green)}.line-2-circle{background:var(--st-blue)}.line-btn.active.line-1-active .line-1-circle{background:#fff;color:var(--st-green);box-shadow:0 1px 3px #0003}.line-btn.active.line-2-active .line-2-circle{background:#fff;color:var(--st-blue);box-shadow:0 1px 3px #0003}.header-actions{display:flex;align-items:center;gap:.6rem}.header-text-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;height:36px;border-radius:var(--radius-pill);background:var(--bg-pill);border:1px solid var(--border-subtle);font-family:var(--font-display);font-size:.82rem;font-weight:600;color:var(--text-secondary);transition:all var(--transition-fast);white-space:nowrap}.header-text-btn svg{width:16px;height:16px;flex-shrink:0}.header-btn-label-desktop{display:inline}.header-btn-label-mobile{display:none}.header-text-btn:hover{background:var(--bg-pill-hover);color:var(--text-primary);border-color:var(--border-medium);transform:translateY(-1px)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-pill);background:var(--bg-pill);border:1px solid var(--border-subtle);color:var(--text-secondary);transition:all var(--transition-fast)}.icon-btn:hover{background:var(--bg-pill-hover);color:var(--text-primary);border-color:var(--border-medium);transform:translateY(-1px)}.icon-btn svg{width:17px;height:17px}.icon-btn.modal-close-btn{transition:all var(--transition-fast)}.icon-btn.modal-close-btn:hover{background:#ef444429;border-color:#ef444473;color:#f87171;box-shadow:0 0 12px #ef444440;transform:translateY(-1px) scale(1.04)}.icon-btn.modal-close-btn:active{background:#ef444447;border-color:#ef4444a6;color:#fff;transform:translateY(0) scale(.94)}.btn-primary{display:inline-flex;align-items:center;gap:.45rem;background:linear-gradient(135deg,#1e293b,#0f172a);border:1px solid var(--border-medium);color:var(--text-primary);padding:.45rem 1.15rem;border-radius:var(--radius-pill);font-family:var(--font-display);font-size:.85rem;font-weight:600;box-shadow:var(--shadow-sm);transition:all var(--transition-fast);cursor:pointer}.btn-primary:hover{background:var(--bg-pill-hover);border-color:var(--text-accent);color:#fff;transform:translateY(-1px);box-shadow:0 0 12px #38bdf833}.hidden{display:none!important}.main-content{flex:1;padding:1.75rem 0 3.5rem}.dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.toolbar-heading{display:flex;flex-direction:column}.section-title{font-family:var(--font-display);font-size:1.45rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);display:flex;align-items:center;gap:.6rem}.section-subtitle{font-size:.82rem;color:var(--text-secondary);margin-top:.15rem;font-weight:500}.toolbar-controls{display:flex;align-items:center;gap:.75rem}.status-banner{display:flex;align-items:center;justify-content:space-between;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);padding:.75rem 1.25rem;border-radius:var(--radius-md);margin-bottom:1.5rem;color:#fbbf24;font-size:.88rem;font-weight:500}body.modal-open{overflow:hidden;touch-action:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;opacity:0;pointer-events:none;transition:opacity var(--transition-normal);padding:1.5rem;overscroll-behavior:contain;transform:translateZ(0);-webkit-transform:translateZ(0)}.modal-overlay.open{opacity:1;pointer-events:auto;will-change:opacity}.modal-container{background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;transform:scale(.96) translateY(8px) translateZ(0);-webkit-transform:scale(.96) translateY(8px) translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform var(--transition-bounce);position:relative;overscroll-behavior:contain}.modal-container-wide{max-width:700px}.modal-overlay.open .modal-container{transform:scale(1) translateY(0) translateZ(0);-webkit-transform:scale(1) translateY(0) translateZ(0);will-change:transform}.modal-header{padding:1.15rem 1.5rem;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.picker-search-wrap{position:relative;display:flex;align-items:center;background:#ffffff0d;border:1px solid var(--border-medium);border-radius:var(--radius-md);padding:0 .85rem;gap:.5rem;transition:all var(--transition-fast)}.picker-search-wrap:focus-within{border-color:var(--border-focus);background:#ffffff14;box-shadow:0 0 0 2px #38bdf840}.picker-search-icon{display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.picker-search-icon svg{width:16px;height:16px}.picker-search-input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:.88rem;padding:.65rem 0;outline:none}.picker-search-input::placeholder{color:var(--text-muted)}.modal-title{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--text-primary)}.modal-body{padding:1.5rem;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:1.25rem}.modal-footer{padding:.9rem 1.5rem;border-top:1px solid var(--border-subtle);background:transparent;display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.form-group{display:flex;flex-direction:column;gap:.45rem}.form-label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.form-group-row{flex-direction:row;align-items:center;justify-content:space-between}.form-label-inline{margin-bottom:0}.settings-row{background:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1rem 1.15rem;gap:1rem;transition:all var(--transition-fast)}.settings-row:hover{background:#ffffff0d;border-color:var(--border-strong)}.settings-label-wrap{display:flex;flex-direction:column;gap:.25rem;flex:1}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;flex-shrink:0;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:9999px;transition:background-color .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1)}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#94a3b8;border-radius:50%;transition:transform .25s cubic-bezier(.4,0,.2,1),background-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0006}.toggle-switch:hover .toggle-slider{border-color:#ffffff59;background-color:#ffffff26}.toggle-switch:hover .toggle-slider:before{background-color:#cbd5e1}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,var(--st-green) 0%,var(--st-green-light) 100%);border-color:#10b98199;box-shadow:0 0 12px #10b98159}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px);background-color:#fff;box-shadow:0 2px 5px #0006}.toggle-switch input:focus-visible+.toggle-slider{outline:2px solid var(--st-green-light);outline-offset:2px}.faq-featured-card{background:linear-gradient(135deg,#0072ce1f,#101826e6);border:1px solid rgba(56,189,248,.25);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.faq-featured-header{display:flex;flex-direction:column;gap:.45rem}.faq-tag-group{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.faq-tag{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-accent);background:#38bdf826;padding:.15rem .5rem;border-radius:var(--radius-pill);align-self:flex-start}.faq-featured-title{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--text-primary);line-height:1.5}.route-option-card{background:#0000004d;border:1px solid var(--border-subtle);border-radius:10px;padding:.85rem 1rem;margin-bottom:.75rem;display:flex;flex-direction:column;gap:.35rem}.route-option-card:last-child{margin-bottom:0}.route-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;align-self:flex-start;padding:.15rem .5rem;border-radius:var(--radius-pill)}.route-badge.direct{background:var(--status-ontime-bg);color:var(--st-green-light);border:1px solid rgba(16,185,129,.3)}.route-badge.transfer{background:#38bdf826;color:var(--text-accent);border:1px solid rgba(56,189,248,.3)}.faq-tip-badge{display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.1rem .45rem;border-radius:var(--radius-pill);margin-right:.25rem;vertical-align:middle}.faq-tip-badge.tip{background:#38bdf82e;color:#38bdf8;border:1px solid rgba(56,189,248,.35)}.faq-tip-badge.warning{background:#ef44442e;color:#f87171;border:1px solid rgba(239,68,68,.35)}.route-title{font-family:var(--font-display);font-weight:700;font-size:.92rem;color:var(--text-primary)}.route-desc{font-size:.82rem;color:var(--text-secondary);line-height:1.5}.faq-section-wrap{display:flex;flex-direction:column;gap:.85rem}.faq-section-heading{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary)}details.faq-item{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;padding:.85rem 1rem;transition:border-color var(--transition-fast),background var(--transition-fast)}details.faq-item[open]{border-color:#38bdf840;background:#101826f2}summary.faq-q{font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;justify-content:space-between;align-items:center;list-style:none}summary.faq-q::-webkit-details-marker{display:none}.faq-chevron{font-size:.85rem;color:var(--text-muted);transition:transform .2s cubic-bezier(.4,0,.2,1),color .2s ease}details.faq-item[open] .faq-chevron{transform:rotate(180deg);color:var(--text-accent)}.faq-a{font-size:.82rem;color:var(--text-secondary);line-height:1.55;margin-top:.65rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.06)}.faq-contact-group{display:flex;flex-direction:column;gap:.85rem;margin-top:.35rem}.faq-contact-row{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.faq-contact-label{font-size:.82rem;color:var(--text-primary)}.faq-action-btns{display:flex;gap:.5rem;flex-wrap:wrap}.faq-action-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:6px;font-size:.8rem;font-weight:600;text-decoration:none;transition:all var(--transition-fast)}.faq-action-btn.tel{background:#10b98126;color:var(--st-green-light);border:1px solid rgba(16,185,129,.35)}.faq-action-btn.tel:hover{background:#10b98140;border-color:#10b98180;color:#fff}.faq-action-btn.sms{background:#38bdf826;color:var(--text-accent);border:1px solid rgba(56,189,248,.35)}.faq-action-btn.sms:hover{background:#38bdf840;border-color:#38bdf880;color:#fff}.faq-links-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.faq-link-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem .85rem;border-radius:8px;background:#ffffff08;border:1px solid var(--border-subtle);color:var(--text-primary);font-size:.82rem;font-weight:600;text-decoration:none;transition:all var(--transition-fast)}.faq-link-row:hover{background:#38bdf814;border-color:#38bdf84d;color:var(--text-accent)}@media(max-width:768px){.app-container{padding:0 1rem}.app-header{padding-top:max(0px,env(safe-area-inset-top))}.header-inner{height:auto;padding:.35rem 0;flex-wrap:wrap;gap:.35rem}.brand-logo{width:34px;height:34px;border-radius:8px}.brand-logo svg{width:18px;height:18px}.brand-title{font-size:1.02rem}.brand-subtitle{font-size:.7rem;line-height:1.15}.header-actions{gap:.4rem}.header-btn-label-desktop{display:none}.header-btn-label-mobile{display:inline}.header-text-btn{font-size:.78rem;padding:.25rem .65rem;height:36px;min-height:36px;gap:.3rem}.icon-btn{width:36px;height:36px;min-height:36px}.line-switcher{order:3;width:100%;display:flex;justify-content:stretch;margin-top:0;padding:2px}.line-switcher .line-btn,.toolbar-controls .view-mode-btn{flex:1;justify-content:center;padding:.35rem .5rem;font-size:.82rem;height:34px}.main-content{padding:.85rem 0 2.5rem}.dashboard-toolbar{flex-direction:column;align-items:stretch;gap:.55rem;margin-bottom:.95rem}.section-title{font-size:1.2rem}.toolbar-controls{width:100%}.toolbar-controls .line-switcher{width:100%;margin-top:0}.modal-overlay{padding:0;align-items:flex-end;backdrop-filter:none;-webkit-backdrop-filter:none;background:#080e1ae0;overscroll-behavior:contain}.modal-container{max-height:88vh;max-height:88dvh;border-radius:24px 24px 0 0;border-bottom:none;border-left:none;border-right:none;transform:translateY(100%) translateZ(0);-webkit-transform:translateY(100%) translateZ(0);padding-bottom:0;touch-action:pan-y;transition:transform var(--transition-normal)}.modal-body:last-child{padding-bottom:max(1.25rem,env(safe-area-inset-bottom))}.modal-overlay.open .modal-container{transform:translateY(0) translateZ(0);-webkit-transform:translateY(0) translateZ(0)}.faq-modal-overlay{padding:0;margin:0;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;align-items:stretch;justify-content:stretch;backdrop-filter:none;-webkit-backdrop-filter:none;background:#080e1a}.faq-modal-container{width:100vw;height:100vh;height:100dvh;max-height:100dvh;border-radius:0;border:none;margin:0}.faq-modal-container .modal-header{padding:max(.85rem,env(safe-area-inset-top)) 1.25rem .85rem}.faq-modal-container .modal-body{padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}.modal-header{padding:1.15rem 1.25rem .85rem;touch-action:pan-y}.modal-title{font-size:1.12rem}.modal-body{padding:1rem 1.25rem;gap:.95rem;-webkit-overflow-scrolling:touch}.modal-footer{padding:.85rem 1.25rem max(1rem,env(safe-area-inset-bottom));background:transparent}.picker-filter-pills{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.filter-pill{text-align:center;padding:.45rem .5rem;font-size:.8rem}.filter-pill-route{display:none}.settings-row{padding:.85rem 1rem}}@media(max-width:480px){.brand-subtitle{display:none}}.app-toast{position:fixed;bottom:max(1.5rem,calc(env(safe-area-inset-bottom) + 1.25rem));left:50%;transform:translate(-50%) translateY(24px) scale(.96);opacity:0;pointer-events:none;z-index:10000;display:inline-flex;align-items:center;gap:.65rem;padding:.65rem 1.25rem;border-radius:var(--radius-pill);background:#0f172af0;border:1px solid rgba(255,255,255,.15);box-shadow:0 16px 36px #0000008c,0 0 20px #38bdf82e;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--text-primary);font-size:.88rem;font-weight:600;letter-spacing:-.01em;transition:all .28s cubic-bezier(.16,1,.3,1);max-width:90vw}.app-toast.visible{opacity:1;transform:translate(-50%) translateY(0) scale(1);pointer-events:auto}.app-toast .toast-star{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.app-toast .toast-star.filled{color:#facc15;filter:drop-shadow(0 0 6px rgba(250,204,21,.5))}.app-toast .toast-star svg{width:17px;height:17px}.stations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(540px,1fr));gap:1.35rem}@media(max-width:640px){.stations-grid{grid-template-columns:1fr}}.station-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden;box-shadow:var(--shadow-md);transition:all var(--transition-normal);display:flex;flex-direction:column;position:relative;content-visibility:auto;contain-intrinsic-size:auto 280px}.station-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.station-card.line-1-card{border-top:3px solid var(--st-green)}.station-card.line-2-card{border-top:3px solid var(--st-blue)}@media(max-width:768px){.station-card{backdrop-filter:none;-webkit-backdrop-filter:none;background:#101826f5}}.station-header{padding:1.15rem 1.35rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-subtle);background:#ffffff05}.station-approach-track-wrap{width:100%;height:3px;background:#ffffff0f;position:relative;overflow:visible;display:none;border-top:1px solid rgba(0,0,0,.3)}.station-approach-track-wrap.active{display:block}.station-approach-bar{position:absolute;top:0;left:0;height:100%;width:100%;transform-origin:left center;transform:scaleX(0);border-radius:var(--radius-pill);transition:transform .9s linear}.station-approach-track-wrap.active .station-approach-bar{will-change:transform}.station-approach-bar.line-1-approach{background:linear-gradient(90deg,rgba(0,133,66,.2) 0%,var(--st-green-light) 100%);box-shadow:0 0 10px var(--st-green-glow)}.station-approach-bar.line-2-approach{background:linear-gradient(90deg,rgba(0,114,206,.2) 0%,var(--st-blue-light) 100%);box-shadow:0 0 10px var(--st-blue-glow)}.station-approach-train{position:absolute;left:0%;top:50%;transform:translate(-50%,-50%);width:11px;height:11px;border-radius:50%;background:#fff;border:2px solid var(--st-green);box-shadow:0 0 8px #ffffffe6;transition:left .9s linear,border-color var(--transition-fast);pointer-events:none;z-index:2}.station-approach-track-wrap.line-2-approach .station-approach-train,.station-approach-bar.line-2-approach .station-approach-train,.station-approach-train.line-2-train{border-color:var(--st-blue)}.station-approach-track-wrap.arriving-pulse .station-approach-train,.station-approach-bar.arriving-pulse .station-approach-train,.station-approach-train.arriving-pulse{animation:train-bullet-pulse 1.1s cubic-bezier(.4,0,.6,1) infinite}@keyframes train-bullet-pulse{0%{transform:translate(-50%,-50%) scale(1);box-shadow:0 0 4px #fff}50%{transform:translate(-50%,-50%) scale(1.45);box-shadow:0 0 12px var(--st-green-light)}to{transform:translate(-50%,-50%) scale(1);box-shadow:0 0 4px #fff}}.station-approach-track-wrap.line-2-approach.arriving-pulse .station-approach-train,.station-approach-bar.line-2-approach.arriving-pulse .station-approach-train,.station-approach-train.line-2-train.arriving-pulse{animation:train-bullet-pulse-blue 1.1s cubic-bezier(.4,0,.6,1) infinite}@keyframes train-bullet-pulse-blue{0%{transform:translate(-50%,-50%) scale(1);box-shadow:0 0 4px #fff}50%{transform:translate(-50%,-50%) scale(1.45);box-shadow:0 0 12px var(--st-blue-light)}to{transform:translate(-50%,-50%) scale(1);box-shadow:0 0 4px #fff}}.station-title-group{display:flex;align-items:center;gap:.75rem}.station-line-pill{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-family:var(--font-display);font-weight:800;font-size:.85rem;color:#fff;flex-shrink:0}.station-name-wrap{display:flex;flex-direction:column}.station-name{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.station-subname{font-size:.75rem;color:var(--text-muted);font-weight:500}.station-actions{display:flex;align-items:center;gap:.35rem}@keyframes starPop{0%{transform:scale(.8)}45%{transform:scale(1.35) rotate(10deg)}75%{transform:scale(.95) rotate(-3deg)}to{transform:scale(1) rotate(0)}}.star-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:var(--text-muted);transition:all var(--transition-fast);cursor:pointer}.star-btn:hover{color:#facc15;background:#facc151f;transform:scale(1.15)}.star-btn.pinned{color:#facc15;filter:drop-shadow(0 0 5px rgba(250,204,21,.35));animation:starPop .35s cubic-bezier(.175,.885,.32,1.275)}.star-btn svg{width:19px;height:19px;fill:currentColor}.direction-segmented-control{display:inline-flex;align-items:center;background:#0f172abf;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:3px;gap:2px;-webkit-user-select:none;user-select:none}.direction-segment-btn{background:transparent;border:none;color:var(--text-secondary);font-family:var(--font-display);font-size:.74rem;font-weight:600;padding:.25rem .65rem;border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;transition:all var(--transition-fast);white-space:nowrap;line-height:1.2}.direction-segment-btn:hover{color:var(--text-primary);background:#ffffff0f}.direction-segment-btn:active{transform:scale(.96)}.direction-segment-btn.active{background:var(--bg-surface-elevated);color:#fff;box-shadow:0 1px 3px #0006}.line-1-card .direction-segment-btn.active{background:linear-gradient(135deg,#00854280,#008542d9);border:1px solid rgba(0,133,66,.9);color:#fff;box-shadow:0 0 10px #00854259}.line-2-card .direction-segment-btn.active{background:linear-gradient(135deg,#0072ce80,#0072ced9);border:1px solid rgba(0,114,206,.9);color:#fff;box-shadow:0 0 10px #0072ce59}.station-platforms{display:grid;grid-template-columns:1fr 1fr;flex:1;transition:all var(--transition-normal)}.station-platforms.view-both .platform-column:nth-child(2){border-left:1px solid var(--border-subtle)}.station-platforms.view-dir1{display:block}.station-platforms.view-dir1 .platform-column:first-child{width:100%}.station-platforms.view-dir1 .platform-column:nth-child(2){display:none}.station-platforms.view-dir2{display:block}.station-platforms.view-dir2 .platform-column:first-child{display:none}.station-platforms.view-dir2 .platform-column:nth-child(2){width:100%;border-left:none}@media(max-width:650px){.station-header{flex-wrap:wrap;gap:.5rem;padding:.85rem 1rem}.station-title-group{flex:1 1 auto;min-width:0}.station-name{font-size:1.08rem}.station-actions{display:contents}.star-btn{width:44px;height:44px;margin:-.35rem -.35rem -.35rem auto}.star-btn svg{width:20px;height:20px}.direction-segmented-control{order:3;width:100%;display:flex;padding:3px}.direction-segment-btn{flex:1;justify-content:center;padding:.35rem .5rem;font-size:.8rem;height:36px;line-height:1}.station-platforms.view-both{display:flex;flex-direction:column}.station-platforms.view-both .platform-column:nth-child(2){border-left:none;border-top:1px solid var(--border-subtle)}.departures-list{gap:.65rem}.departure-row{padding:.7rem .85rem}.picker-station-row{padding:.85rem 1rem}}.platform-column{padding:.95rem 1rem;display:flex;flex-direction:column;gap:.65rem;transition:all var(--transition-normal);min-width:0;box-sizing:border-box}.platform-header{background:transparent;border-bottom:1px dashed var(--border-subtle);font:inherit;display:flex;align-items:center;justify-content:space-between;gap:.45rem;padding-bottom:.45rem;width:100%;box-sizing:border-box}.platform-dest{font-family:var(--font-display);font-size:.82rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:.35rem;transition:color var(--transition-fast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}.platform-dest .dest-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;min-width:0}.platform-dest svg{width:14px;height:14px;color:var(--text-muted);flex-shrink:0}.departures-list{display:flex;flex-direction:column;gap:.55rem}.departure-row{display:flex;align-items:center;justify-content:space-between;gap:.65rem;background:#ffffff08;border:1px solid var(--border-subtle);padding:.6rem .75rem;border-radius:var(--radius-md);transition:background var(--transition-fast)}.departure-row:active{background:#ffffff14}.departure-row.arriving-soon{background:linear-gradient(135deg,#10b98126,#10b9810d);border-color:#10b98159;box-shadow:0 0 15px #10b9811a}.dep-info{display:flex;flex-direction:column;gap:.2rem;flex:1 1 auto;min-width:0}.dep-dest{font-weight:600;font-size:.92rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25;display:flex;align-items:center;gap:.45rem}.dep-line-tag{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;font-family:var(--font-display);font-weight:800;font-size:.66rem;color:#fff;flex-shrink:0;line-height:1}.dep-line-tag.line-1-tag{background:var(--st-green);box-shadow:0 1px 3px #00854266}.dep-line-tag.line-2-tag{background:var(--st-blue);box-shadow:0 1px 3px #0072ce66}.dep-dest-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dep-meta{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-muted)}.dep-clock{font-variant-numeric:tabular-nums;font-weight:500}.status-pill{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;font-weight:700;padding:.15rem .45rem;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.02em}.status-pill.ontime{color:var(--status-ontime);background:var(--status-ontime-bg)}.status-pill.delayed{color:var(--status-delayed);background:var(--status-delayed-bg)}.status-pill.delayed-severe{color:var(--status-delayed-severe);background:var(--status-delayed-severe-bg);border:1px solid rgba(239,68,68,.35);box-shadow:0 0 8px #ef444440}.status-pill.early{color:var(--status-early);background:var(--status-early-bg)}.status-pill.scheduled{color:var(--status-scheduled);background:var(--status-scheduled-bg)}.countdown-chip{font-variant-numeric:tabular-nums;font-weight:800;font-size:.92rem;letter-spacing:-.02em;padding:.3rem .55rem;border-radius:8px;background:#0f172ae6;color:#f8fafc;display:flex;align-items:center;justify-content:center;min-width:68px;white-space:nowrap;flex-shrink:0;box-shadow:inset 0 1px 2px #0006;border:1px solid rgba(255,255,255,.1);transition:all var(--transition-fast)}.countdown-chip.now{background:var(--st-green);color:#fff;box-shadow:0 0 12px var(--st-green-glow);animation:pulse-arriving 1.5s infinite}@keyframes pulse-arriving{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.departures-empty{padding:1.5rem 0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem;text-align:center;gap:.4rem}.skeleton-row{height:48px;background:linear-gradient(90deg,#ffffff08 25%,#ffffff14,#ffffff08 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-dashboard-card{grid-column:1 / -1;background:var(--bg-card);border:2px dashed var(--border-medium);border-radius:var(--radius-lg);padding:3.5rem 2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1rem}.empty-dashboard-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.empty-dashboard-icon.line-1-icon{background:#00854226;color:var(--st-green-light);box-shadow:0 0 16px #00854240;border:1px solid rgba(0,133,66,.3)}.empty-dashboard-icon.line-2-icon{background:#0072ce26;color:var(--st-blue-light);box-shadow:0 0 16px #0072ce40;border:1px solid rgba(0,114,206,.3)}.empty-dashboard-icon svg{width:28px;height:28px}.empty-dashboard-title{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--text-primary)}.empty-dashboard-desc{font-size:.9rem;color:var(--text-secondary);max-width:440px}.empty-dashboard-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1.15rem;border-radius:var(--radius-pill);background:var(--bg-pill);border:1px solid var(--border-medium);color:var(--text-primary);font-family:var(--font-display);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.empty-dashboard-btn:hover{background:var(--bg-pill-hover);color:#fff;transform:translateY(-1px)}.empty-dashboard-btn.line-1-btn:hover{border-color:var(--st-green);box-shadow:0 0 14px var(--st-green-glow)}.empty-dashboard-btn.line-2-btn:hover{border-color:var(--st-blue);box-shadow:0 0 14px var(--st-blue-glow)}.empty-dashboard-btn svg{width:15px;height:15px}.empty-dashboard-btn.line-1-btn svg{color:var(--st-green-light)}.empty-dashboard-btn.line-2-btn svg{color:var(--st-blue-light)}.picker-station-row{display:flex;align-items:center;justify-content:space-between;background:#ffffff08;border:1px solid var(--border-subtle);padding:.75rem 1rem;border-radius:12px;transition:all var(--transition-fast);cursor:pointer}.picker-station-row:active{background:#ffffff1a;transform:scale(.98)}.picker-station-row .station-line-pill{width:24px;height:24px;font-size:.8rem}.picker-station-row .station-name{font-size:1rem}.modal-body .departures-list{max-height:390px;overflow-y:auto;overscroll-behavior:contain;margin-top:.75rem;margin-right:-1.15rem;padding-right:.85rem;padding-bottom:.75rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;mask-image:linear-gradient(to bottom,black calc(100% - 24px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black calc(100% - 24px),transparent 100%)}.modal-body .departures-list::-webkit-scrollbar{width:6px}.modal-body .departures-list::-webkit-scrollbar-track{background:#ffffff0a;border-radius:var(--radius-pill)}.modal-body .departures-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-pill);transition:background var(--transition-fast)}.modal-body .departures-list::-webkit-scrollbar-thumb:hover{background:#fff6}.picker-station-row:hover{background:#ffffff12;border-color:var(--border-medium)}.picker-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem .9rem;min-width:105px;border-radius:var(--radius-pill);font-family:var(--font-display);font-size:.8rem;font-weight:700;background:var(--bg-pill);border:1px solid var(--border-medium);color:var(--text-primary);transition:all var(--transition-fast);cursor:pointer}.picker-add-btn:hover{background:var(--st-green);border-color:var(--st-green);color:#fff}.picker-add-btn.pinned{background:#10b9811f;border-color:#10b98159;color:var(--st-green-light)}.picker-add-btn.pinned .btn-text-hover{display:none}.picker-add-btn.pinned .btn-text-default{display:inline}.picker-add-btn.pinned:hover{background:#ef444426;border-color:#ef444473;color:#f87171}.picker-add-btn.pinned:hover .btn-text-default{display:none}.picker-add-btn.pinned:hover .btn-text-hover{display:inline}.picker-filter-pills{display:flex;gap:.5rem;margin-bottom:.25rem;flex-wrap:wrap}.filter-pill{padding:.3rem .75rem;border-radius:var(--radius-pill);font-size:.78rem;font-weight:600;background:var(--bg-pill);border:1px solid var(--border-subtle);color:var(--text-secondary);transition:all var(--transition-fast)}.filter-pill:hover{color:var(--text-primary);background:var(--bg-pill-hover)}.filter-pill:active{transform:scale(.96);opacity:.9}.filter-pill.active{background:var(--text-accent);color:#070a0f;font-weight:700;border-color:var(--text-accent)}.filter-pill.active.line-1{background:var(--st-green);color:#fff;border-color:var(--st-green)}.filter-pill.active.line-2{background:var(--st-blue);color:#fff;border-color:var(--st-blue)}.system-map-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;background:#080e1ad9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));box-sizing:border-box;opacity:0;pointer-events:none;transition:opacity var(--transition-normal);overscroll-behavior:contain;transform:translateZ(0);-webkit-transform:translateZ(0)}.system-map-modal-overlay.open{opacity:1;pointer-events:auto;will-change:opacity}.system-map-container{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:0 25px 60px -15px #000000b3,var(--glow-card);width:95vw;max-width:960px;height:88vh;height:88dvh;max-height:850px;max-height:calc(100dvh - 2rem);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;transform:scale(.96) translateY(12px) translateZ(0);-webkit-transform:scale(.96) translateY(12px) translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.system-map-modal-overlay.open .system-map-container{transform:scale(1) translateY(0) translateZ(0);-webkit-transform:scale(1) translateY(0) translateZ(0);will-change:transform}.system-map-header{display:flex;flex-direction:column;padding:.85rem 1.25rem .75rem;background:var(--bg-surface-subtle);border-bottom:1px solid var(--border-subtle);gap:.65rem;flex-shrink:0;box-sizing:border-box}.system-map-header-top{display:flex;align-items:center;justify-content:space-between;width:100%}.system-map-title-group{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.system-map-icon-badge{width:36px;height:36px;border-radius:var(--radius-md);background:linear-gradient(135deg,#00854259,#0072ce59);border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.system-map-icon-badge svg{width:20px;height:20px;stroke:#fff}.system-map-text{display:flex;flex-direction:column;gap:.25rem;min-width:0}.system-map-title{font-family:var(--font-display);font-size:1.12rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.2}.system-map-header-legend{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.map-legend-item{display:inline-flex;align-items:center;gap:.45rem;font-size:.78rem;color:var(--text-secondary);white-space:nowrap}.map-legend-line-sample{width:18px;height:5px;border-radius:3px;flex-shrink:0}.map-legend-line-sample.line-1{background:var(--st-green);box-shadow:0 0 8px #008542b3}.map-legend-line-sample.line-2{background:var(--st-blue);box-shadow:0 0 8px #0072ceb3}.map-official-link{color:var(--text-accent);text-decoration:none;font-size:.76rem;font-weight:600;display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:var(--radius-md);background:#38bdf814;border:1px solid rgba(56,189,248,.2);transition:all var(--transition-fast);white-space:nowrap}.map-official-link:hover{background:#38bdf829;border-color:#38bdf866;transform:translateY(-1px)}.system-map-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.system-map-body{position:relative;flex:1;background:radial-gradient(circle at 50% 40%,#0d1527,#070b14);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;contain:layout paint}.system-map-body.is-panning{cursor:grabbing}.map-svg-canvas{width:830px;height:1280px;position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform;contain:layout style;overflow:visible;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:flat;pointer-events:none}.system-map-svg{width:830px;height:1280px;display:block;shape-rendering:geometricPrecision;text-rendering:optimizeLegibility;overflow:visible;pointer-events:none}.system-map-svg text{font-family:var(--font-body)}.map-track-path{fill:none;stroke-linecap:round;stroke-linejoin:round}.map-track-path.line-1-aura{stroke:var(--st-green);stroke-width:16;opacity:.12}.map-track-path.line-1-glow{stroke:var(--st-green);stroke-width:11;opacity:.32}.map-track-path.line-1-main{stroke:var(--st-green);stroke-width:7}.map-track-path.line-2-aura{stroke:var(--st-blue);stroke-width:16;opacity:.12}.map-track-path.line-2-glow{stroke:var(--st-blue);stroke-width:11;opacity:.32}.map-track-path.line-2-main{stroke:var(--st-blue);stroke-width:7}.map-station-circle{stroke-width:2.5}.map-station-label{fill:#f8fafc;font-size:11.5px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.9)}.map-station-sublabel{fill:#94a3b8;font-size:8.5px;font-weight:500}.map-transfer-station-title{fill:#fff;font-size:12px;font-weight:800;text-shadow:0 0 10px rgba(56,189,248,.5),0 2px 4px rgba(0,0,0,.95)}@media(max-width:768px){.system-map-modal-overlay{padding:0;margin:0;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;align-items:stretch;justify-content:stretch;overscroll-behavior:contain;backdrop-filter:none;-webkit-backdrop-filter:none;background:#080e1a}.system-map-container{width:100vw;height:100vh;height:100dvh;max-height:100dvh;border-radius:0;border:none;margin:0;transform:translateY(100%) translateZ(0);-webkit-transform:translateY(100%) translateZ(0);transition:transform var(--transition-normal);overscroll-behavior:contain}.system-map-modal-overlay.open .system-map-container{transform:translateY(0) translateZ(0);-webkit-transform:translateY(0) translateZ(0)}.system-map-header{padding:max(.65rem,env(safe-area-inset-top)) 1rem .65rem;gap:.5rem;touch-action:pan-y}.system-map-header-top{display:flex;align-items:center;justify-content:space-between;width:100%}.system-map-title-group{display:flex;align-items:center;gap:.65rem;flex:1;min-width:0}.system-map-icon-badge{width:32px;height:32px}.system-map-icon-badge svg{width:17px;height:17px}.system-map-title{font-size:1rem;line-height:1.2}.system-map-header-actions{flex-shrink:0;margin-left:.5rem}.system-map-header-legend{display:flex;align-items:center;gap:.35rem .6rem;padding-top:.35rem;border-top:1px solid rgba(255,255,255,.08)}.map-legend-item{font-size:.74rem}.legend-dest-desc{display:none}.map-official-link{font-size:.72rem;padding:.15rem .45rem}}
