:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg-base:#121212;--bg-panel:#2b3347f2;--bg-panel-solid:#2b3347;--bg-hover:#ffffff1a;--bg-hover-active:#ffffff2e;--text-primary:#fff;--text-secondary:#b6bbc8;--border-color:#ffffff2e;--color-line-1:#ffd100;--color-line-2:#e3007e;--color-line-3:#e2001a;--color-line-4:#004d99;--color-line-5:#00994d;--color-line-6:#8f6db8;--color-line-7:#f37021;--color-line-8:#00a3e0;--color-line-9:#963;--color-line-10:#a8c82b;--font-scale:1;--shadow-panel:0 8px 28px 0 #0000008c, 0 0 0 1px #ffffff0a;--radius:14px;font-family:Inter,Roboto,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-font-size=small]{--font-scale:.9}[data-font-size=default]{--font-scale:1}[data-font-size=large]{--font-scale:1.15}[data-font-size=xlarge]{--font-scale:1.3}html{font-size:calc(16px * var(--font-scale,1))}[data-theme=light]{--bg-base:#f0f2f5;--bg-panel:#e4ecf8f5;--bg-panel-solid:#e4ecf8;--bg-hover:#0f172a12;--bg-hover-active:#0f172a24;--text-primary:#121212;--text-secondary:#525a68;--border-color:#0f172a2e;--shadow-panel:0 8px 26px 0 #0f172a4d}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-base);width:100%;height:100dvh;min-height:100vh;color:var(--text-primary);overscroll-behavior:none;-webkit-overflow-scrolling:auto;-webkit-text-size-adjust:100%;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;padding:0;position:fixed;overflow:hidden}#root{-webkit-user-select:none;user-select:none;width:100%;height:100dvh;display:flex;position:relative;overflow:hidden}html.ui-zoomed{zoom:var(--ui-zoom)}html.ui-zoomed,html.ui-zoomed body,html.ui-zoomed #root{height:calc(100dvh / var(--ui-zoom));min-height:calc(100vh / var(--ui-zoom))}input,textarea,select{font-size:max(16px, calc(16px * var(--font-scale,1)))}input,textarea{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}.app-container{width:100%;height:100%;position:relative}.map-container{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.line3-train-count{right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:2;color:var(--text-primary);pointer-events:none;visibility:hidden;height:0;padding:0;font-size:12px;font-weight:700;position:absolute;overflow:hidden}.glass-panel{background:var(--bg-panel);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);box-shadow:var(--shadow-panel);border-radius:var(--radius)}.sidebar{top:calc(20px + env(safe-area-inset-top,0px));left:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40;flex-direction:column;width:320px;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s;display:flex;position:absolute}.sidebar.collapsed{pointer-events:none;opacity:0;transform:translate(-360px)}.sidebar-backdrop{z-index:35;opacity:0;pointer-events:none;-webkit-tap-highlight-color:transparent;background:0 0;transition:opacity .25s cubic-bezier(.4,0,.2,1);position:fixed;inset:0}.sidebar-backdrop.active{opacity:1;pointer-events:auto}@media (prefers-reduced-motion:reduce){.sidebar-backdrop{transition:none}}.sheet-drag-handle-wrap{cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;flex-shrink:0;justify-content:center;align-items:center;width:100%;padding:8px 0 4px;display:flex}.sheet-drag-handle-wrap:active{cursor:grabbing}.sheet-drag-handle{background:var(--text-secondary);opacity:.35;border-radius:999px;width:36px;height:4px;transition:opacity .15s,background-color .15s}.sheet-drag-handle-wrap:hover .sheet-drag-handle,.sheet-drag-handle-wrap:active .sheet-drag-handle{opacity:.7}.mobile-only-drag-handle{display:none}.top-bar-container{top:calc(20px + env(safe-area-inset-top,0px));z-index:40;touch-action:none;align-items:stretch;gap:10px;display:flex;position:absolute}@media (width>=769px){.top-bar-container{max-width:calc(100vw - 380px);transition:left .3s cubic-bezier(.4,0,.2,1);left:360px}.top-bar-container.sidebar-collapsed{max-width:calc(100vw - 40px);left:20px}.top-bar-container.sidebar-open .sidebar-toggle-btn{display:none}}.sidebar-toggle-btn{border-radius:var(--radius);border:1px solid var(--border-color);background:var(--bg-panel);-webkit-backdrop-filter:blur(20px);width:52px;min-width:52px;box-shadow:var(--shadow-panel);color:var(--text-primary);cursor:pointer;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;padding:0;transition:background .15s,transform .1s;display:flex}.sidebar-toggle-btn:hover{background:var(--bg-hover)}.sidebar-toggle-btn:active{transform:scale(.96)}.search-bar-container{box-sizing:border-box;touch-action:pan-y;flex:1;width:420px;min-width:0;min-height:52px}.search-bar-results{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}button{cursor:pointer;color:var(--text-primary);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:0 0;border:none;transition:background .15s,transform .1s}button:hover{background:var(--bg-hover)}button:active{transform:scale(.96)}.search-item-hover:hover{background:var(--bg-hover)}.line-card-hover:hover{transform:translateY(-1px)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes stationPanelSlideUp{0%{opacity:0;transform:translateY(120%)}to{opacity:1;transform:translateY(0)}}@keyframes stationPanelSlideInRight{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}.station-panel{animation:.3s cubic-bezier(.4,0,.2,1) stationPanelSlideUp}.station-panel[data-landscape=true]{animation-name:stationPanelSlideInRight}@media (prefers-reduced-motion:reduce){.station-panel{animation:none}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}@keyframes vehiclePulse{0%{opacity:.85;transform:scale(.95)}to{opacity:0;transform:scale(1.65)}}.ml-vehicle-marker-inner{position:relative}.ml-vehicle-marker-inner.pulsing:after{content:"";pointer-events:none;box-sizing:border-box;transform-origin:50%;will-change:transform, opacity;border:2px solid;border-radius:50%;animation:2s cubic-bezier(.2,.8,.4,1) infinite vehiclePulse;position:absolute;inset:-3px}@keyframes l3Breath{0%{box-shadow:0 0 #4caf5066}50%{box-shadow:0 0 12px 8px #4caf5014}to{box-shadow:0 0 #4caf5000}}.l3-badge{color:#fff;box-sizing:border-box;background:linear-gradient(#4caf50,#2e7d32);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:800;animation:2s ease-in-out infinite l3Breath;display:flex}.l3-badge .l3-inner-ring{pointer-events:none;z-index:-1;border-radius:50%;width:34px;height:34px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes filterBannerIn{0%{opacity:0;transform:translate(-50%)translateY(-8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.hub-chips-container{top:calc(80px + env(safe-area-inset-top,0px));z-index:39;pointer-events:none;position:absolute;left:12px;right:12px}@media (width>=769px){.hub-chips-container.sidebar-open{max-width:calc(100vw - 380px);left:360px;right:auto}.hub-chips-container.sidebar-collapsed{max-width:calc(100vw - 40px);left:20px;right:auto}}.hub-chips{scrollbar-width:none;pointer-events:auto;box-sizing:border-box;gap:8px;width:max-content;max-width:100%;padding:2px 2px 6px;display:flex;overflow-x:auto}.hub-chips::-webkit-scrollbar{display:none}.hub-chip{border:1px solid var(--border-color);background:var(--bg-panel-solid);height:32px;color:var(--text-primary);white-space:nowrap;cursor:pointer;border-radius:16px;flex:none;align-items:center;gap:6px;padding:0 12px;font-size:.8rem;font-weight:600;display:inline-flex;position:relative;box-shadow:0 2px 8px #00000040}.hub-chip:after{content:"";position:absolute;inset:-8px -2px}.hub-chip[data-selected=true]{background:var(--color-line-1);color:#1a1a1a;border-color:#0000}.hub-chip-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.hub-chip-line-id{font-weight:800}:root{--walk-short-bg:#1e4b26;--walk-short-fg:#bdebc0;--walk-medium-bg:#54430a;--walk-medium-fg:#ffe08a;--walk-long-bg:#6a2f10;--walk-long-fg:#ffc9b0}[data-theme=light]{--walk-short-bg:#d7f0d9;--walk-short-fg:#0b3d12;--walk-medium-bg:#fff1c2;--walk-medium-fg:#4a3800;--walk-long-bg:#ffdccb;--walk-long-fg:#5a2100}.walk-banner{box-sizing:border-box;background:var(--walk-short-bg);max-width:min(420px,100vw - 32px);min-height:48px;color:var(--walk-short-fg);border-radius:16px;align-items:center;gap:12px;padding:0 0 0 16px;font-size:.86rem;font-weight:500;animation:.2s ease-out walkBannerIn;display:flex;box-shadow:0 6px 18px #0000004d}.walk-banner[data-tone=medium]{background:var(--walk-medium-bg);color:var(--walk-medium-fg)}.walk-banner[data-tone=long]{background:var(--walk-long-bg);color:var(--walk-long-fg)}.walk-banner>svg{flex-shrink:0}.walk-banner-text{flex:1;padding:10px 0}.walk-banner-close{width:48px;height:48px;color:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}@keyframes walkBannerIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.walk-banner{animation:none}}.bottom-stack{right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(40px + env(safe-area-inset-bottom,0px));transform:translateY(calc(-1 * var(--sheet-lift,0px)));will-change:transform;z-index:25;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;transition:transform .2s cubic-bezier(.2,.9,.3,1);display:flex;position:fixed}.bottom-stack>*{pointer-events:auto}.bottom-stack[data-sheet=portrait]{bottom:calc(10px + env(safe-area-inset-bottom,0px))}.bottom-stack[data-sheet=landscape]{right:calc(16px + min(380px, 34vw) + 12px + env(safe-area-inset-right,0px))}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.locate-button{cursor:pointer;width:48px;height:48px;color:var(--text-primary);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;box-shadow:0 4px 16px #00000040, 0 0 0 1px var(--border-color);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0;transition:transform .15s,opacity .2s,background-color .2s;display:flex;position:relative}.locate-button:after{content:"";position:absolute;inset:-6px}.locate-button:active{transform:scale(.92)}.locate-button .lucide-locate-fixed circle:last-of-type{fill:currentColor}.locate-button.glass-panel{color:#fff;-webkit-backdrop-filter:blur(6px);background:linear-gradient(145deg,#3b82f6d1 0%,#2563ebcc 55%,#1d4ed8cc 100%);border:1px solid #ffffff52;box-shadow:0 6px 18px #2563eb59,0 0 0 1px #0f172a24}.locate-button.glass-panel:hover{background:linear-gradient(145deg,#4c8ff8e0 0%,#2f6fefdb 55%,#2058e0db 100%)}.locate-button[data-state=locating]{cursor:progress}.locate-button.glass-panel[data-state=unavailable]{background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-secondary);box-shadow:var(--shadow-panel)}.user-location-marker{pointer-events:none;width:0;height:0;transition:opacity 1s linear;position:relative;overflow:visible}.user-location-dot{box-sizing:border-box;background:#1a73e8;border:3px solid #fff;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;position:absolute;top:50%;left:50%;box-shadow:0 1px 6px #00000080}.user-location-accuracy{box-sizing:border-box;background:#1a73e829;border:1px solid #1a73e859;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.locate-notice{top:calc(124px + env(safe-area-inset-top,0px));z-index:15;text-align:center;cursor:pointer;max-width:min(420px,100vw - 48px);color:var(--text-primary);border:none;border-radius:20px;padding:8px 16px;font-size:.78rem;font-weight:600;animation:.2s ease-out filterBannerIn;position:absolute;left:50%;transform:translate(-50%)}.topbar-icon-btn{background:var(--bg-hover);min-width:34px;height:34px;color:var(--text-primary);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0 8px;display:flex}.topbar-icon-btn:hover{background:var(--bg-hover-active,var(--bg-hover))}.app-banner-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);padding:calc(20px + env(safe-area-inset-top,0px)) 20px calc(20px + env(safe-area-inset-bottom,0px));background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app-banner-sheet{background:var(--bg-panel-solid);border-radius:18px;flex-direction:column;width:min(440px,100%);max-height:100%;display:flex;overflow:hidden}.app-banner-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 18px 12px;display:flex}.app-banner-header h2{margin:0;font-size:1.05rem;font-weight:800}.app-banner-close{background:var(--bg-hover);width:32px;height:32px;color:var(--text-primary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.app-banner-body{flex-direction:column;gap:12px;padding:14px 18px;font-size:.84rem;line-height:1.5;display:flex;overflow-y:auto}.app-banner-body p{color:var(--text-primary);margin:0}.app-banner-body p.app-banner-note{color:var(--text-secondary);font-size:.74rem}.app-banner-download{color:#1a1a1a;background:#3ddc84;border-radius:10px;justify-content:center;align-items:center;min-height:46px;font-size:.9rem;font-weight:800;text-decoration:none;display:flex}.app-banner-link{color:var(--text-secondary);align-self:flex-start;font-size:.78rem;text-decoration:underline}.app-banner-done{background:var(--bg-hover-active);min-height:44px;color:var(--text-primary);cursor:pointer;border:none;border-radius:10px;margin:0 18px 16px;font-size:.86rem;font-weight:700}.sidebar-android-btn:hover{background:var(--bg-hover-active,var(--bg-hover))!important;border-color:#3ddc8466!important}.feedback-btn-anchor{flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.feedback-trigger-btn:hover{color:#ffd100}[data-theme=light] .feedback-trigger-btn:hover{color:#805600}.feedback-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);padding:calc(20px + env(safe-area-inset-top,0px)) 20px calc(20px + env(safe-area-inset-bottom,0px));touch-action:none;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.feedback-modal-content{width:min(480px,100%);max-height:min(90dvh, var(--visual-viewport-height,90dvh));background:var(--bg-panel-solid);border:1px solid var(--border-color);overscroll-behavior:contain;border-radius:18px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 20px 48px #0000008c}.feedback-modal-header{border-bottom:1px solid var(--border-color);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 20px 14px;display:flex}.feedback-modal-header:active{cursor:grabbing}.feedback-modal-title{letter-spacing:-.3px;margin:0;font-size:1.05rem;font-weight:800}.feedback-modal-subtitle{color:var(--text-secondary);margin-top:2px;font-size:.75rem}.feedback-modal-close{background:var(--bg-hover);width:32px;height:32px;color:var(--text-primary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.feedback-modal-close:hover{background:var(--bg-hover-active,var(--bg-hover))}.feedback-modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;gap:16px;padding:16px 20px;display:flex;overflow-y:auto}.feedback-form{flex-direction:column;gap:12px;display:flex}.feedback-field{flex-direction:column;gap:6px;display:flex}.feedback-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.78rem;font-weight:700}.feedback-textarea,.feedback-input{border:1px solid var(--border-color);background:var(--bg-hover);width:100%;color:var(--text-primary);box-sizing:border-box;-webkit-appearance:none;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:16px;line-height:1.5}.feedback-textarea{resize:vertical}.feedback-textarea:focus,.feedback-input:focus{border-color:var(--accent-blue,#007aff);outline:none;box-shadow:0 0 0 3px #007aff40}.feedback-error-banner{color:#ff6b6b;background:#e2001a1f;border:1px solid #e2001a4d;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:.8rem;font-weight:500;display:flex}.feedback-mobile-drag-handle{display:none}.feedback-submit-btn{color:#fff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#007aff 0%,#0056b3 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;font-size:.92rem;font-weight:700;transition:opacity .2s,transform .1s,box-shadow .2s;display:flex;box-shadow:0 4px 14px #007aff66,0 0 10px #007aff33}.feedback-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #007aff80,0 0 14px #007aff4d}.feedback-submit-btn:active:not(:disabled){transform:translateY(0)}.feedback-submit-btn:disabled{opacity:.45;box-shadow:none;cursor:not-allowed;opacity:.6;cursor:not-allowed}.feedback-spinner{animation:1s linear infinite spin}.feedback-success-card{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 12px;display:flex}.feedback-success-icon-wrap{background:#4caf501f;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:4px;display:flex}.feedback-success-title{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:800}.feedback-success-text{color:var(--text-secondary);max-width:340px;margin:0;font-size:.85rem;line-height:1.5}.feedback-success-actions{flex-direction:column;gap:8px;width:100%;margin-top:12px;display:flex}.feedback-secondary-btn{border:1px solid var(--border-color);min-height:38px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;font-size:.82rem;font-weight:600;transition:all .2s}.feedback-secondary-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.feedback-channels{border-top:1px solid var(--border-color);flex-direction:column;gap:10px;padding-top:8px;display:flex}.feedback-direct-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.feedback-direct-label{color:var(--text-secondary);font-size:.78rem}.feedback-email-pill{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:6px;padding:4px 8px;font-size:.78rem;display:inline-flex}.feedback-email-text{color:var(--text-primary);-webkit-user-select:all;user-select:all;font-weight:600}.feedback-copy-btn{background:var(--bg-panel-solid);color:var(--text-primary);cursor:pointer;border:none;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:.72rem;font-weight:600;display:inline-flex}.feedback-copy-btn:hover{background:var(--bg-hover-active)}.feedback-github-btn{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:.78rem;text-decoration:underline;display:inline-flex}.feedback-github-btn:hover{color:var(--text-primary)}.feedback-privacy-note{color:var(--text-secondary);margin:0;font-size:.72rem;line-height:1.4}.feedback-modal-footer{border-top:1px solid var(--border-color);flex-shrink:0;justify-content:flex-end;padding:12px 20px 16px;display:flex}.feedback-done-btn{border:1px solid var(--border-color);background:var(--bg-hover);min-height:38px;color:var(--text-primary);cursor:pointer;border-radius:8px;padding:0 16px;font-size:.82rem;font-weight:600}.feedback-done-btn:hover{background:var(--bg-hover-active)}@media (width<=768px){.sidebar{top:auto;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));border-radius:16px;width:auto;height:70dvh;transform:translateY(0)}.sidebar.collapsed{transform:translateY(120%)}.sidebar-backdrop{background:#00000040}.mobile-only-drag-handle{margin-top:-6px;margin-bottom:8px;display:flex}.top-bar-container{top:calc(12px + env(safe-area-inset-top,0px));gap:8px;width:auto;max-width:none;transition:none;left:12px;right:12px}.sidebar-toggle-btn{flex-shrink:0;align-self:stretch;width:52px;min-width:52px;height:auto;display:flex}.search-bar-container{flex:1;width:auto;min-width:0;max-width:none}.feedback-modal-backdrop{align-items:flex-end;padding:0}.feedback-modal-content{width:100%;max-width:100%;max-height:min(88dvh, var(--visual-viewport-height,88dvh));border-bottom:none;border-radius:20px 20px 0 0;animation:.3s cubic-bezier(.4,0,.2,1) stationPanelSlideUp}}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.station-focus-node{z-index:1200;pointer-events:none}.welcome-screen{z-index:10000;opacity:1;visibility:visible;will-change:opacity;pointer-events:auto;-webkit-user-select:none;user-select:none;background-color:#16161f;justify-content:center;align-items:center;transition:opacity .2s cubic-bezier(.4,0,.2,1),visibility .2s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0}.welcome-screen--fading{opacity:0;visibility:hidden;pointer-events:none}.welcome-screen-content{text-align:center;flex-direction:column;align-items:center;padding:24px;display:flex}.welcome-screen-logo-wrap{justify-content:center;align-items:center;width:96px;height:96px;margin-bottom:20px;display:flex}.welcome-screen-logo{filter:drop-shadow(0 8px 24px #0006);width:88px;height:88px}.welcome-screen-title{letter-spacing:-.02em;color:#fff;margin:0 0 6px;font-family:inherit;font-size:26px;font-weight:700}.welcome-screen-subtitle{color:#a0a0b0;letter-spacing:.01em;margin:0;font-size:14px;font-weight:500}@media (prefers-reduced-motion:reduce){.welcome-screen{transition:opacity .15s}}.font-size-control-group,.lang-option-group{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:10px;gap:4px;padding:3px;display:flex}.font-size-option-btn,.lang-option-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:44px;padding:6px 4px;transition:all .18s;display:flex}.font-size-option-btn:hover,.lang-option-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.font-size-option-btn.active,.lang-option-btn.active{background:var(--bg-panel-solid);color:#ffd100;font-weight:700;box-shadow:0 2px 8px #00000040}.font-size-option-preview,.lang-option-preview{font-weight:700;line-height:1.2}.font-size-option-label,.lang-option-label{text-transform:uppercase;letter-spacing:.4px;margin-top:2px;font-size:.68rem}.search-suggest{z-index:200;background:var(--bg-panel-solid);grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);gap:0 6px;padding:8px 6px 10px;display:grid;position:absolute;top:calc(100% + 10px);left:0;right:0;box-shadow:0 12px 32px #0006}.search-suggest-sep{background:var(--border-color);margin:28px 0 6px}.search-suggest-title{letter-spacing:.6px;text-transform:uppercase;color:var(--text-secondary);padding:4px 10px 6px;font-size:.68rem;font-weight:700}.search-suggest-station{width:100%;min-height:40px;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:2px 10px;font-size:.86rem;font-weight:600;display:flex}.search-suggest-station:hover{background:var(--bg-hover)}.search-suggest-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-suggest-dots{flex-shrink:0;gap:3px;display:inline-flex}.search-suggest-dots i{border-radius:50%;width:8px;height:8px;display:block}.search-suggest-lines{flex-wrap:wrap;gap:2px 4px;padding:0 6px;display:flex}.search-suggest-line{cursor:pointer;background:0 0;border:none;border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.search-suggest-line:hover{background:var(--bg-hover)}.search-suggest-line span{border-radius:9px;place-items:center;width:32px;height:32px;font-size:.95rem;font-weight:900;display:grid}.app-banner-intro{font-weight:600}.app-banner-benefits{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.app-banner-benefits li{color:var(--text-primary);align-items:flex-start;gap:10px;display:flex}.app-banner-benefits svg{color:#3ddc84;flex-shrink:0;margin-top:2px}.app-banner-steps-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:4px 0 0;font-size:.8rem;font-weight:800}.app-banner-steps{color:var(--text-primary);flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.sidebar-signature{border-top:1px solid var(--border-color);text-align:center;flex-direction:column;align-items:center;gap:2px;margin-top:14px;padding-top:12px;display:flex}.sidebar-signature-by{color:var(--text-secondary);letter-spacing:.3px;font-size:.68rem}.sidebar-signature-name{letter-spacing:.2px;color:var(--text-primary);font-size:.95rem;font-weight:800;line-height:1.2}.sidebar-signature-mail{min-height:32px;color:var(--text-secondary);align-items:center;gap:5px;margin-top:2px;font-size:.74rem;text-decoration:none;display:inline-flex}.sidebar-signature-mail:hover{color:var(--text-primary);text-decoration:underline}.sidebar-compact-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.sidebar-row-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:0;font-size:.8rem}.segmented-control,.size-stepper,.theme-icon-group,.lang-icon-group{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:10px;align-items:center;gap:2px;padding:3px;display:inline-flex}.size-stepper-btn,.theme-icon-btn,.lang-icon-btn{height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.size-stepper-btn:hover:not(:disabled),.theme-icon-btn:hover,.lang-icon-btn:hover{color:var(--text-primary);background:var(--bg-hover-active,var(--bg-hover))}.size-stepper-btn:disabled{opacity:.35;cursor:default}.theme-icon-btn.active,.lang-icon-btn.active{background:var(--bg-panel-solid);color:#ffd100;box-shadow:0 2px 8px #00000040}.size-stepper-value{text-align:center;min-width:24px;color:var(--text-primary);font-size:.88rem;font-weight:800}.lang-icon-btn{letter-spacing:.2px;padding:0 3px;font-size:.72rem;font-weight:800}.lang-code-text{line-height:1}[data-theme=light] .font-size-option-btn.active,[data-theme=light] .lang-option-btn.active,[data-theme=light] .theme-icon-btn.active,[data-theme=light] .lang-icon-btn.active{color:#a15c00}.walk-dock{left:calc(12px + env(safe-area-inset-left,0px));bottom:calc(env(safe-area-inset-bottom,0px) + 38px);transform:translateY(calc(-1 * max(0px, var(--sheet-lift,28px) - 28px)));will-change:transform;z-index:26;pointer-events:none;max-width:calc(100vw - 92px);transition:transform .2s cubic-bezier(.2,.9,.3,1);position:fixed}.walk-dock>*{pointer-events:auto}.sidebar-settings-row{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.sidebar-settings-row .sidebar-font-size-section,.sidebar-settings-row .sidebar-appearance-section,.sidebar-settings-row .sidebar-language-section{flex:1;min-width:0;display:flex}.sidebar-settings-row .size-stepper,.sidebar-settings-row .theme-icon-group,.sidebar-settings-row .lang-icon-group{flex:1;justify-content:space-between;min-width:0;display:flex}.sidebar-settings-row .size-stepper-btn,.sidebar-settings-row .theme-icon-btn,.sidebar-settings-row .lang-icon-btn{flex:1;width:auto;min-width:0;padding:0}.sidebar-settings-row .size-stepper-value{flex:1;min-width:0}
