:root[data-theme=amsterdam]{--bg:#fff;--fg:#1a1a1a;--muted:#6e6e6e;--rule:#e30613;--row-divider:#e3e3e3;--row-alt:#f5f5f5;--arriving:#e30613;--arriving-fg:#fff;--suspended:#e30613;--accent:#1a1a1a;--font:"Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;--train-columns:2.9em auto 1fr auto;--sign-fg:#fff;--sign-bg:#1a1a1a;--notice-bg:#ffd200;--notice-fg:#1a1a1a;--map-paper:#fff;--map-ink:#1a1a1a;--map-muted:#666;--works-ink:#7a6100;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=amsterdam] .board__header{background:var(--sign-bg);--flap-base:var(--sign-bg);color:var(--sign-fg);border-top:6px solid var(--rule);border-radius:6px;padding:12px 14px}[data-theme=amsterdam] .board__station{align-items:center;gap:12px;display:flex}[data-theme=amsterdam] .board__station:before{content:"";background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'><path d='M7 3h10a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3zm0 3v5h10V6H7zm1.5 7.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm7 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z'/><path d='M7.5 19 5 22h2.2l1.6-2h6.4l1.6 2H19l-2.5-3z'/></svg>");background-position:50%;background-repeat:no-repeat;background-size:72%;background-color:var(--rule);color:#fff;border-radius:.15em;flex-shrink:0;place-items:center;width:1.15em;height:1.15em;font-size:.8em;font-weight:700;display:inline-grid}[data-theme=amsterdam] .board__station .label__en{font-size:.42em}[data-theme=amsterdam] .train{border-bottom:none;border-radius:4px;padding:12px 8px}[data-theme=amsterdam] .train__index{display:none}[data-theme=amsterdam] .status .label__en{color:var(--muted);font-size:11px}[data-theme=amsterdam] .board__station{font-size:clamp(24px,6vw,40px)}[data-theme=amsterdam] .map__clashes .map__clash-label{color:#b8050f}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/barlow-semi-condensed-latin-500-normal-G0uxJNrM.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/barlow-semi-condensed-latin-ext-500-normal-BXdp1BvY.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:600 700;font-display:swap;src:url(/assets/barlow-semi-condensed-latin-700-normal-BpqDG8I9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:600 700;font-display:swap;src:url(/assets/barlow-semi-condensed-latin-ext-700-normal-BhgEo64M.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:800 900;font-display:swap;src:url(/assets/barlow-semi-condensed-latin-800-normal-C0_dLkYa.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-weight:800 900;font-display:swap;src:url(/assets/barlow-semi-condensed-latin-ext-800-normal-mDlgYxrz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root[data-theme=auckland]{--bg:#0b1f3a;--fg:#fff;--muted:#9db3cf;--rule:#fd0;--row-divider:#1d3557;--arriving:#fd0;--suspended:#ff6b5e;--clash-bg:#d6001c;--accent:#fff;--font:"Gotham Narrow", "Barlow Semi Condensed", "Arial Narrow", sans-serif-condensed, sans-serif;--train-columns:1.6em auto 1fr auto;--sign-fg:#fff;--sign-bg:#0076bc;--notice-bg:#fd0;--notice-fg:#0b1f3a;--map-paper:#fff;--map-ink:#003a70;--map-muted:#4d6b8f}[data-theme=auckland] .board__header{background:var(--sign-bg);--flap-base:var(--sign-bg);border-bottom:5px solid var(--rule);border-radius:8px;padding:12px 14px}[data-theme=auckland] .board__station,[data-theme=auckland] .bullet--fill{font-weight:800}[data-theme=auckland] .train__time{display:none}[data-theme=auckland] .bullet--pill.bullet--sign{aspect-ratio:4/3}:root[data-theme=auckland] :not(input){text-transform:none!important;letter-spacing:normal!important}:root[data-theme=auckland] body{font-variant-numeric:tabular-nums}:root[data-theme=berlin]{--bg:#000;--fg:#fff;--muted:#a5a5a5;--rule:#f0d722;--row-divider:#2a2a2a;--arriving:#f0d722;--suspended:#ff5a4a;--clash-bg:#e2001a;--accent:#f0d722;--font:"Transit", "FF Transit", "DIN Next", "DIN", "Helvetica Neue", Arial, sans-serif;--train-columns:1.6em auto 1fr auto;--sign-fg:#000;--sign-bg:#f0d722;--notice-bg:#f0d722;--notice-fg:#000;--map-paper:#fff;--map-ink:#000;--map-muted:#555}[data-theme=berlin] .board__header{background:var(--sign-bg);--flap-base:var(--sign-bg);color:var(--sign-fg);padding:12px 14px}[data-theme=berlin] .board__station{align-items:center;gap:12px;display:flex}[data-theme=berlin] .board__station:before{content:"";color:#fff;background-color:#115d91;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'><path d='M7 3h10a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3zm0 3v5h10V6H7zm1.5 7.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm7 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z'/><path d='M7.5 19 5 22h2.2l1.6-2h6.4l1.6 2H19l-2.5-3z'/></svg>");background-position:50%;background-repeat:no-repeat;background-size:72%;flex-shrink:0;place-items:center;width:1.15em;height:1.15em;font-size:.85em;font-weight:700;display:inline-grid}[data-theme=berlin] .board__station .label__en{font-size:.42em}[data-theme=berlin] .train__time{display:none}[data-theme=berlin] .board__lines .bullet{box-shadow:0 0 0 1.5px #000}[data-theme=berlin] .board__station{font-size:clamp(24px,6vw,40px)}[data-theme=berlin] .board__lines{gap:5px}:root[data-theme=hongkong]{--bg:#f4f4f1;--fg:#111;--muted:#5e5e5e;--rule:#c8102e;--row-divider:#dcdcd6;--row-alt:#ebebe6;--arriving:#c8102e;--arriving-fg:#fff;--suspended:#c8102e;--accent:#111;--font:"PingFang HK", "Noto Sans HK", "Microsoft JhengHei", "Myriad Pro", "Helvetica Neue", Arial, sans-serif;--train-columns:2.9em auto 1fr auto;--sign-fg:#111;--sign-bg:#fff;--notice-bg:#c8102e;--notice-fg:#fff;--map-paper:#fff;--map-ink:#111;--map-muted:#666;--works-ink:#7a6100;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=hongkong] .board__header{--flap-base:#fff;border-top:6px solid var(--rule);background:#fff;border-radius:6px;padding:10px 14px;box-shadow:0 1px 3px #0000001f}[data-theme=hongkong] .board__station .label__en{font-size:.42em}[data-theme=hongkong] .train{border-bottom:none;border-radius:4px;padding:12px 8px}[data-theme=hongkong] .train__index{display:none}[data-theme=hongkong] .status .label__en{color:var(--muted);font-size:11px}[data-theme=hongkong] .map__clashes .map__clash-label{color:#a50d26}:root[data-theme=london]{--bg:#000;--fg:#ffb000;--muted:#b07c12;--rule:#dc241f;--row-divider:#2a2108;--arriving:#ffd54a;--suspended:#ff5a4a;--clash-bg:#dc241f;--accent:#ffb000;--font:"Johnston", "P22 Underground", "Gill Sans", "Gill Sans MT", "Helvetica Neue", Arial, sans-serif;--train-columns:1.6em auto 1fr auto;--sign-fg:#fff;--sign-bg:#0019a8;--notice-bg:#0019a8;--notice-fg:#fff;--map-paper:#fff;--map-ink:#000f9f;--map-muted:#4a55a8}[data-theme=london] .board__top{margin-bottom:6px}[data-theme=london] .board__station{border-left:10px solid var(--rule);color:#fff;letter-spacing:.01em;background:#0019a8;padding:4px 14px;font-size:clamp(22px,5.6vw,34px);position:relative}[data-theme=london] .board__clock{color:#fff}[data-theme=london] .train__title,[data-theme=london] .status,[data-theme=london] .train__index{text-shadow:0 0 6px #ffb00073;font-family:Lucida Console,Courier New,ui-monospace,monospace}[data-theme=london] .train__title{letter-spacing:.02em;font-weight:700}[data-theme=london] .train{border-bottom-style:dashed}[data-theme=london] .settings,[data-theme=london] .tabbar__tab[aria-current=page]{color:#fff}[data-theme=london] .train__time{display:none}[data-theme=london] .timetable__today{color:#fff}:root[data-theme=nyc]{--bg:#000;--fg:#fff;--muted:#a7a9ac;--rule:#fff;--row-divider:#2b2b2b;--arriving:#fccc0a;--suspended:#ee352e;--clash-bg:#d52b1e;--font:"Helvetica Neue", Helvetica, Arial, sans-serif;--train-columns:1.6em auto 1fr auto}[data-theme=nyc] .board__header{border-top:3px solid var(--rule);padding-top:12px}[data-theme=nyc] .train__time{display:none}:root[data-theme=paris]{--bg:#0b1645;--fg:#fff;--muted:#a3acd1;--rule:#fff;--row-divider:#1f2c66;--arriving:#ffcd00;--suspended:#ff6d6d;--clash-bg:#e2231a;--accent:#ffcd00;--font:"Parisine", "Avenir Next", Avenir, "Futura", "Helvetica Neue", Arial, sans-serif;--train-columns:1.6em auto 1fr auto;--sign-fg:#fff;--sign-bg:#0b1645;--notice-bg:#ffcd00;--notice-fg:#0b1645;--map-paper:#fbf8f0;--map-ink:#0b1645;--map-muted:#55608e}[data-theme=paris] .board__header{--flap-base:#14246b;background:#14246b;border-radius:10px;padding:12px 14px;box-shadow:inset 0 0 0 3px #14246b,inset 0 0 0 5px #fff}[data-theme=paris] .board__station .label__en{font-size:.42em}[data-theme=paris] .status{color:var(--accent)}[data-theme=paris] .train__time{display:none}:root[data-theme=seoul]{--bg:#1a1d24;--fg:#fff;--muted:#a2a9b8;--rule:#00a84d;--row-divider:#2b303b;--row-alt:#20242c;--arriving:#ffd400;--suspended:#ff5a6a;--clash-bg:#d6001c;--accent:#fff;--font:"Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Helvetica Neue", Arial, sans-serif;--train-columns:1.6em auto 1fr auto;--map-paper:#fff;--map-ink:#1a1d24;--map-muted:#5a6170}[data-theme=seoul] .board__header{border-bottom:5px solid #0000;border-image:linear-gradient(90deg,#0052a4 0 14.3%,#00a84d 0 28.6%,#ef7c1c 0 42.9%,#00a5de 0 57.2%,#996cac 0 71.5%,#cd7c2f 0 85.8%,#e6186c 0) 1;padding-bottom:12px}[data-theme=seoul] .board__station .label__en{font-size:.42em}[data-theme=seoul] .train{border-bottom:none;border-radius:4px;padding:12px 8px}[data-theme=seoul] .status .label__en{color:var(--muted);font-size:11px}[data-theme=seoul] .train__time{display:none}:root[data-theme=stockholm]{--bg:#0a2240;--fg:#fff;--muted:#9fb7d6;--rule:#0089ca;--row-divider:#1b3a63;--arriving:#ffd23f;--suspended:#ff6b6b;--clash-bg:#e3000f;--accent:#fff;--font:"SL Gothic", "Futura", "Avenir Next", "Helvetica Neue", Arial, sans-serif;--train-columns:1.6em auto 1fr auto;--notice-bg:#ffd23f;--notice-fg:#0a2240;--map-paper:#fff;--map-ink:#0a2240;--map-muted:#4c6585;--map-roundel-bar:#0089ca}:root[data-theme=stockholm] body{background:radial-gradient(120% 60% at 0% 0%, #0089ca40, transparent 60%), radial-gradient(90% 50% at 100% 100%, #0089ca2e, transparent 60%), var(--bg);background-attachment:fixed}[data-theme=stockholm] .board__station{align-items:center;gap:12px;display:flex}[data-theme=stockholm] .board__station:before{content:"";background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'><path d='M7 3h10a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3zm0 3v5h10V6H7zm1.5 7.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3zm7 0a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z'/><path d='M7.5 19 5 22h2.2l1.6-2h6.4l1.6 2H19l-2.5-3z'/></svg>");background-position:50%;background-repeat:no-repeat;background-size:72%;background-color:var(--rule);border:.08em solid #fff;border-radius:50%;flex-shrink:0;place-items:center;width:1.2em;height:1.2em;font-size:.8em;font-weight:700;display:inline-grid}[data-theme=stockholm] .board__station .label__en{font-size:.42em}[data-theme=stockholm] .train__time{display:none}[data-theme=stockholm] .timetable__today{color:#fff;background:#0072ad}:root[data-theme=tokyo]{--bg:#0b1a2e;--fg:#fff;--muted:#9fb0c6;--rule:#ff9500;--row-divider:#1d3150;--row-alt:#10233d;--arriving:#ffd23f;--suspended:#ff5a5f;--clash-bg:#e60012;--accent:#ffb547;--font:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", "Helvetica Neue", Arial, sans-serif;--train-columns:2.9em auto 1fr auto;--sign-fg:#0b1a2e;--sign-bg:#fff;--notice-bg:#ffd23f;--notice-fg:#0b1a2e;--map-paper:#fff;--map-ink:#0b1a2e;--map-muted:#4a5a70}[data-theme=tokyo] .board__header{--flap-base:#fff;color:#0b1a2e;border-bottom:6px solid var(--rule);background:#fff;border-radius:6px;padding:10px 14px}[data-theme=tokyo] .board__station{font-size:clamp(26px,6.5vw,40px)}[data-theme=tokyo] .board__station .label__en{font-size:.42em}[data-theme=tokyo] .bullet--ring.bullet--sign{border-width:4px}[data-theme=tokyo] .bullet--sign .bullet__letter{font-size:13px}[data-theme=tokyo] .board__clock{font-weight:700}[data-theme=tokyo] .train{border-bottom:none;border-radius:4px;padding:12px 8px}[data-theme=tokyo] .train__index{display:none}[data-theme=tokyo] .bullet--ring{color:#000;background:#fff;border-style:solid;border-radius:50%;font-family:Helvetica Neue,Arial,sans-serif}[data-theme=tokyo] .bullet--ring.bullet--md{border-width:5px;flex-direction:column;justify-content:center;gap:1px;width:46px;height:46px;display:inline-flex}[data-theme=tokyo] .bullet--ring.bullet--sm{border-width:3px;font-size:11px}[data-theme=tokyo] .bullet__letter{font-size:15px}[data-theme=tokyo] .bullet--sm .bullet__letter{font-size:11px}[data-theme=tokyo] .bullet__stop{font-size:13px;font-weight:700}[data-theme=tokyo] .status .label__en{color:var(--muted);font-size:11px}[data-theme=tokyo] .status--arriving .label__en{color:inherit}:root{--sign-fg:var(--fg);--sign-bg:var(--bg);--notice-bg:#fccc0a;--notice-fg:#000;--map-paper:#f4f1ea;--map-ink:#111;--map-muted:#555;--bg:#000;--fg:#fff;--muted:#a7a9ac;--rule:#fff;--row-divider:#2b2b2b;--row-alt:transparent;--arriving:#fccc0a;--suspended:#ee352e;--clash-bg:var(--suspended);--clash-fg:#fff;--arriving-fg:#000;--works-ink:#f6c700;--accent:#fff;--font:system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{overscroll-behavior-y:none}html,body{background:var(--bg);color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;transition:background-color .3s}.app{max-width:720px;min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex-direction:column;gap:24px;margin:0 auto;display:flex}.label{flex-direction:column;line-height:1.1;display:inline-flex}.label__en{color:var(--muted);letter-spacing:.02em;font-size:max(.5em,11px);font-weight:500}:is(.board__station,.train__clash,.button,.status--suspended,.status--arriving,.line-status__level,.gap--rush,.service-notice__label,.map__clash-label,.works__label,.train-info__clash-label) .label__en{color:inherit}.board__top{justify-content:space-between;align-items:center;gap:16px;display:flex}.board__station{letter-spacing:-.02em;margin:0;font-size:clamp(28px,7vw,44px);font-weight:700}.board__lines{flex-wrap:wrap;gap:2px;margin:4px 0 0 -5px;display:flex}.line-filter{min-width:38px;height:44px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;padding:0 2px;transition:opacity .15s,transform .1s;display:inline-grid;position:relative}.line-filter:after{content:"";position:absolute;inset:0 -3px}.line-filter--line[aria-pressed=true] .bullet{outline:2px solid var(--sign-fg);outline-offset:1px}.board__lines:has(.line-filter--line[aria-pressed=true]) .line-filter--line[aria-pressed=false]{opacity:.35}.line-filter--all{width:auto;height:30px;font:inherit;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin:7px 4px 7px 5px;padding:0 12px;font-size:14px;font-weight:700;box-shadow:inset 0 0 0 2px}.line-filter--all:after{inset:-7px 0}.line-filter--all[aria-pressed=true]{background:var(--sign-fg);color:var(--sign-bg)}.line-filter:focus-visible{outline:2px solid var(--arriving);outline-offset:1px}.bullet--sign{width:30px;height:30px;font-size:18px}.bullet--sign.bullet--rect,.bullet--sign.bullet--pill{height:26px;font-size:16px}.board__meta{align-items:center;gap:8px;display:flex}.board__clock{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(20px,5vw,28px);font-weight:500}.board__empty{border:2px dashed var(--row-divider);color:var(--muted);text-align:center;border-radius:10px;margin-top:24px;padding:32px 16px;font-size:18px}.board__empty p{margin:0}.board__empty .label{align-items:center}.connect{border:2px dashed var(--row-divider);border-radius:10px;margin-top:24px;padding:20px 16px}.connect__title{margin:0 0 6px;font-size:22px}.connect__text{color:var(--muted);margin:0 0 16px;line-height:1.4}.sources{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.source{border:1px solid var(--row-divider);border-radius:10px;gap:8px;padding:12px;display:grid}.source__head{align-items:center;gap:12px;min-width:0;display:flex}.source__mark{background:var(--fg);width:40px;height:40px;color:var(--bg);border-radius:10px;flex:none;place-items:center;font-size:18px;font-weight:800;display:grid}.source__mark--outlook{color:#fff;background:#0f6cbd}.source__mark--google{color:#1a73e8;background:#fff;box-shadow:inset 0 0 0 1px #00000026}.source__mark--file{font-size:12px}.source__mark--link{background:var(--row-divider);color:var(--fg)}.source__link{overflow-wrap:anywhere;color:var(--fg);font-size:12px}.link-form{gap:8px;padding:4px 0 8px;display:grid}.link-form__advice{border-left:3px solid var(--arriving);color:var(--fg);margin:0;padding:8px 10px}.link-help{gap:2px;padding-top:8px;display:grid}.link-help__title{margin:0;font-weight:600}.link-help__app summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:44px;list-style:none;display:flex}.link-help__app summary::-webkit-details-marker{display:none}.link-help__app summary:after{content:"▾";color:var(--muted)}.link-help__app[open] summary:after{content:"▴"}.link-help__app>*{margin:0 0 8px}.link-help__steps{padding-left:20px;line-height:1.5}.link-help__example{overflow-wrap:anywhere}.source__info{flex-direction:column;min-width:0;display:flex}.source__name{font-weight:700}.source__detail{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.source .settings__fineprint{margin:0}.source__calendars summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:44px;font-weight:600;list-style:none;display:flex}.source__calendars summary::-webkit-details-marker{display:none}.source__calendars summary:after{content:"▾";color:var(--muted)}.source__calendars[open] summary:after{content:"▴"}.source__actions{gap:8px;display:flex}.source__actions .button{flex:1;justify-content:center;align-items:center;display:flex}.sources__empty{color:var(--muted);margin:0 0 12px}.add-source{gap:8px;display:grid}.add-source__title{margin:4px 0 0;font-size:15px}.add-source__option{border:1px solid var(--row-divider);width:100%;min-height:60px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.add-source__option:disabled{color:var(--muted);cursor:progress}.add-source__option:has(input:disabled){color:var(--muted);cursor:progress}.add-source__option:focus-visible,.file-picker:focus-within{outline:2px solid var(--arriving);outline-offset:2px}@media (hover:hover){.add-source__option:hover{border-color:var(--muted)}}.add-source__text{flex-direction:column;min-width:0;display:flex}.add-source__name{font-weight:700}.add-source__hint{color:var(--muted);font-size:14px}.file-picker{cursor:pointer}.connect .add-source{margin-bottom:12px}.connect__sample{min-height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.connect__error{margin:12px 0 0}.skeleton{margin-top:16px}.skeleton__row{border-bottom:1px solid var(--row-divider);align-items:center;gap:12px;padding:14px 0;display:flex}.skeleton__badge,.skeleton__line,.skeleton__time,.map-skeleton{background:color-mix(in srgb, var(--fg) 10%, transparent);animation:1.4s ease-in-out infinite skeleton-pulse}.skeleton__badge{border-radius:50%;flex:none;width:36px;height:36px}.skeleton__lines{flex:1;gap:8px;display:grid}.skeleton__line{border-radius:4px;height:14px}.skeleton__line--short{width:55%}.skeleton__time{border-radius:4px;flex:none;width:44px;height:22px}.map-skeleton{border-radius:10px;height:min(72vh,600px)}@keyframes skeleton-pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.skeleton__badge,.skeleton__line,.skeleton__time,.map-skeleton{animation:none}}.map-empty p{margin:0}.map-empty .map-empty__detail{margin-top:8px;font-size:15px}.board__list{margin:16px 0 0;padding:0;list-style:none}.train{grid-template-columns:var(--train-columns,1.6em auto 1fr auto);border:none;border-bottom:1px solid var(--row-divider);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;padding:14px 0;display:grid}@media (hover:hover){.train:hover{background:color-mix(in srgb, var(--fg) 6%, transparent)}}.train:focus-visible{outline:2px solid var(--arriving);outline-offset:-2px}.board__list>li:nth-child(2n)>.train{background:var(--row-alt)}.train__index{color:var(--muted);font-variant-numeric:tabular-nums;font-size:18px;font-weight:500}.train__time{font-variant-numeric:tabular-nums;color:var(--accent);font-size:15px;font-weight:700}.train__dest{flex-direction:column;min-width:0;display:flex}.train__title{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(18px,4.8vw,24px);font-weight:700;overflow:hidden}.train__details{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.train--suspended .train__title{color:var(--muted);text-decoration:line-through}.train--suspended .bullet{opacity:.45}.bullet{border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;line-height:1;display:inline-grid}.bullet--md{width:44px;height:44px;font-size:26px}.bullet--sm{width:22px;height:22px;font-size:13px}.bullet--square{border-radius:22%}.bullet.bullet--rect{aspect-ratio:4/3;border-radius:3px;width:auto}.bullet.bullet--pill{aspect-ratio:8/5;border-radius:999px;width:auto}.status{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;flex-direction:column;align-items:flex-end;font-size:clamp(22px,6vw,30px);font-weight:700;display:flex}.status small{color:var(--muted);font-size:13px;font-weight:500;display:block}.status--time{font-size:clamp(16px,4.2vw,20px);font-weight:500}.status--scheduled{font-size:clamp(15px,4vw,18px);font-weight:500}.status--platform{font-size:clamp(15px,4vw,18px)}.status--suspended{color:var(--suspended);font-size:clamp(14px,3.8vw,17px)}.status--arriving{color:var(--arriving);animation:1.2s steps(2,jump-none) 5 blink}@keyframes blink{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.status--arriving{animation:none}}.footer{border-top:1px solid var(--row-divider);flex-direction:column;gap:16px;margin-top:auto;padding-top:16px;display:flex}.legend{color:var(--muted);flex-wrap:wrap;gap:10px 18px;font-size:14px;display:flex}.legend__item{align-items:center;gap:6px;display:inline-flex}.notice{color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:12px}.notice--error{color:var(--suspended)}.notice--offline{color:var(--arriving)}.icon-button{width:44px;height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;place-items:center;padding:0;font-size:18px;display:inline-grid}@media (hover:hover){.icon-button:hover{background:color-mix(in srgb, currentColor 12%, transparent)}}.icon-button:focus-visible,.button:focus-visible{outline:2px solid var(--arriving);outline-offset:2px}.skin:has(input:focus-visible){outline:2px solid var(--arriving);outline-offset:2px}.button{font:inherit;border:1px solid var(--row-divider);background:var(--fg);width:100%;min-height:44px;color:var(--bg);cursor:pointer;border-radius:8px;padding:10px 16px;font-size:15px;font-weight:600}.button:disabled{color:var(--muted);cursor:not-allowed;background:0 0}.settings{overscroll-behavior:contain;background:var(--bg);width:100%;max-width:520px;max-height:calc(100dvh - 24px);color:var(--fg);font-family:var(--font);border:none;border-radius:16px 16px 0 0;margin:auto auto 0;padding:0;overflow-y:auto}.settings::backdrop{background:#0009}.settings[open]{animation:.2s ease-out sheet-in}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.settings[open]{animation:none}}@media (width>=600px){.settings{border-radius:16px;margin:auto}}.settings__panel{padding:8px 16px max(24px, env(safe-area-inset-bottom));border-top:3px solid var(--rule);border-radius:inherit}.settings__grabber{background:var(--muted);opacity:.5;border-radius:3px;width:40px;height:5px;margin:0 auto 6px}@media (width>=600px){.settings__grabber{display:none}}.settings__header{justify-content:space-between;align-items:center;display:flex}.settings__header h2{margin:0;font-size:24px}.settings__section{border-top:1px solid var(--row-divider);flex-direction:column;gap:12px;padding:16px 0;display:flex}.settings__section:first-of-type{border-top:none}.settings__section h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-size:13px}.settings__section p{margin:0;font-size:15px;line-height:1.5}.settings__fineprint{color:var(--muted);font-size:13px!important}.settings a{color:inherit}.settings__details summary{cursor:pointer;color:var(--muted);font-size:14px}.settings__details ul{margin:8px 0 0;padding-left:20px;font-size:14px;line-height:1.5}.undo-row{align-items:center;gap:8px;font-size:14px;display:flex}.undo-row:empty{margin-top:-12px}.undo-row .button,.confirm__actions .button{width:auto}.confirm{flex-direction:column;gap:8px;display:flex}.confirm__actions{gap:8px;display:flex}.skins{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.skin{border:1px solid var(--row-divider);cursor:pointer;border-radius:10px;flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex}.skin input{opacity:0;pointer-events:none;position:absolute}.skin:has(input:checked){border-color:var(--rule);box-shadow:inset 0 0 0 1px var(--rule)}.skin__name{font-size:15px;font-weight:700}.skin__sign{border-bottom:4px solid;border-radius:6px;flex-direction:column;flex:1;justify-content:space-between;gap:8px;padding:10px 10px 8px;font-family:system-ui,sans-serif;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #7f7f7f40}.skin__station{align-items:center;gap:6px;min-width:0;display:flex}.skin__station-name{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.skin__mark{flex-shrink:0;place-items:center;width:18px;height:18px;font-size:12px;font-weight:800;display:inline-grid}.skin__mark--roundel{border:4px solid;border-radius:50%;position:relative}.skin__mark--roundel span{height:5px;position:absolute;top:50%;left:-5px;right:-5px;transform:translateY(-50%)}.skin__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 6px;display:flex}.skin__badges{flex-shrink:0;gap:3px;display:flex}.skin__badge{place-items:center;width:18px;height:18px;font-size:11px;font-weight:700;line-height:1;display:inline-grid}.skin__arriving{white-space:nowrap;font-size:11px;font-weight:700}.about{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:15px;display:grid}.about dt{color:var(--muted)}.about dd{margin:0}.about__row{display:contents}.wip{border:1px solid var(--muted);letter-spacing:.06em;vertical-align:1px;border-radius:4px;margin-left:6px;padding:2px 6px;font-size:10px;display:inline-block}.wip--dev{border-color:var(--arriving);color:var(--arriving)}.settings__section--dev{border-top-style:dashed}.toggle{cursor:pointer;align-items:center;gap:12px;min-height:44px;display:flex;position:relative}.toggle--disabled{cursor:not-allowed;opacity:.5}.toggle__text{flex-direction:column;flex:1;min-width:0;display:flex}.toggle__label{font-weight:600}.toggle__description{color:var(--muted);font-size:14px}.toggle__input{opacity:0;pointer-events:none;position:absolute}.toggle__track{background:var(--row-divider);border-radius:999px;flex-shrink:0;width:46px;height:28px;transition:background-color .15s;position:relative}.toggle__track:after{content:"";background:var(--fg);border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle__input:checked+.toggle__track{background:var(--rule)}.toggle__input:checked+.toggle__track:after{background:var(--bg);transform:translate(18px)}.toggle__input:focus-visible+.toggle__track{outline:2px solid var(--arriving);outline-offset:2px}.field{justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-weight:600;display:flex}.field--disabled{opacity:.5}.field select{font:inherit;color:var(--fg);border:1px solid var(--row-divider);background:0 0;border-radius:8px;padding:8px 10px;font-weight:500}.dev-actions{flex-direction:column;gap:8px;display:flex}a.button{justify-content:center;align-items:center;text-decoration:none;display:flex}.button--secondary{color:var(--fg);background:0 0}.button--danger{color:var(--suspended);border-color:var(--suspended);background:0 0}.dev-result{color:var(--arriving);margin:0;font-size:14px}.check{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:flex}.check input{width:20px;height:20px;accent-color:var(--rule);margin:0}.check__swatch{border-radius:50%;flex-shrink:0;width:12px;height:12px}.check__hint{color:var(--muted);margin-left:auto;font-size:13px}.city-row{--preview-width:176px;grid-template-columns:var(--preview-width) 1fr;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:16px;padding:0;display:grid}.city-row:focus-visible{outline:2px solid var(--arriving);outline-offset:4px;border-radius:8px}.city-row__text{flex-direction:column;gap:4px;display:flex}.city-row__name{font-size:18px;font-weight:700}.city-row__change{color:var(--muted);font-size:14px;font-weight:600}@media (hover:hover){.city-row:hover .city-row__change{color:inherit}}.footer__links{justify-content:center;gap:16px;font-size:13px;display:flex}.footer__links a{color:var(--muted)}.line-list__item{grid-template-columns:1fr auto;align-items:center;display:grid}.line-list__label{align-items:center;gap:10px;min-width:0;display:flex}.line-list__order{padding-right:6px;display:flex}.line-list__move{width:36px;height:44px;font-size:18px}.line-list__move:disabled{opacity:.3}.add-line__row{gap:8px;display:flex}.add-line__row input{flex:1;min-width:0}.line-page__heading{align-items:center;gap:10px;display:flex}.field-error{color:var(--suspended)}.swatches{border:none;margin:0;padding:0}.swatches legend{margin-bottom:8px;font-weight:700}.swatches .settings__fineprint{margin-top:14px}.swatches__grid{grid-template-columns:repeat(6,44px);gap:10px;display:grid}.swatch{width:44px;height:44px;font:inherit;cursor:pointer;border:2px solid #0000;border-radius:50%;font-weight:800}.swatch--used{opacity:.55}.swatch[aria-pressed=true]{opacity:1;outline:3px solid var(--fg);outline-offset:2px}.swatch:focus-visible{outline:3px solid var(--arriving);outline-offset:2px}.settings-menu{border:1px solid var(--row-divider);border-radius:12px;margin:0 0 16px;padding:0;list-style:none;overflow:hidden}.settings-menu li+li{border-top:1px solid var(--row-divider)}.settings-row{width:100%;min-height:56px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px 14px;display:grid}.settings-row:focus-visible{outline:2px solid var(--arriving);outline-offset:-2px}.settings-row:active{background:color-mix(in srgb, var(--fg) 8%, transparent)}@media (hover:hover){.settings-row:hover{background:color-mix(in srgb, var(--fg) 5%, transparent)}}.settings-row__label{font-size:17px;font-weight:700}.settings-row__value{color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.settings-row__chevron{color:var(--muted);font-size:24px;line-height:1}.settings__page--calendars>.settings__section>h3:first-child,.settings__page--lines>.settings__section>h3:first-child,.settings__page--map>.settings__section>h3:first-child,.settings__page--about>.settings__section>h3:first-child,.settings__page--developer>.settings__section>h3:first-child{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.settings__page>.settings__section:first-child{border-top:none;padding-top:0}.settings__field{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.settings__label{margin:0;font-weight:700}.settings__back{margin-right:4px;font-size:30px;line-height:1}.city-picker__intro{margin:4px 0 14px}.train__clash{background:var(--clash-bg);color:var(--clash-fg);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;align-self:flex-start;padding:2px 8px;font-size:12px;font-weight:700}.train__clash .label{flex-direction:row;align-items:baseline;gap:6px}.train__clash .label__en{text-transform:none;font-size:max(.85em,11px)}.train-info__status{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.train-info__where{color:var(--muted);font-size:16px}.train-info__times{border-top:1px solid var(--row-divider);border-bottom:1px solid var(--row-divider);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:10px 0;font-size:20px;font-weight:700;display:flex}.train-info__date{color:var(--muted);flex-basis:100%;font-size:14px;font-weight:600}.train-info__times--all-day .train-info__date{color:inherit;font-size:inherit;flex-basis:auto}.train-info__owner{color:var(--muted);margin:0 0 8px;font-size:15px}.train-info__arrow{background:currentColor;flex:0 48px;min-width:20px;height:2px;position:relative}.train-info__arrow:after{content:"";border:5px solid #0000;border-left:7px solid;border-right:0;position:absolute;top:-4px;right:-1px}.train-info__length{color:var(--muted);margin-left:auto;font-size:15px;font-weight:600}.train-info__heading{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}.train-info__people{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.train-info__person{border:1px solid var(--row-divider);border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px;font-size:15px;display:inline-flex}.train-info__person--more{color:var(--muted);padding-left:12px}.train-info__initials{background:var(--fg);width:28px;height:28px;color:var(--bg);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.train-info__role{color:var(--muted);font-size:12px}.train-info__fare{color:var(--muted);margin:0;font-size:14px}.train-info__fare-label{letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.train-info__fare strong{color:var(--fg)}.train-info__more summary{cursor:pointer;color:var(--muted);font-size:14px;font-weight:600}.train-info__more .about{margin-top:10px}.train-info__clash{border-left:4px solid var(--suspended);background:color-mix(in srgb, var(--suspended) 14%, transparent);border-radius:4px;flex-direction:column;gap:4px;padding:10px 12px;font-size:15px;display:flex}.train-info__clash--works{background:#f6c70024;border-left-color:#f6c700}.train-info__clash--works .train-info__clash-label{color:var(--works-ink)}.train-info__clash-label{color:var(--suspended);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.works{width:100%;color:var(--fg);font:inherit;text-align:left;cursor:pointer;background:repeating-linear-gradient(-45deg,#f6c700 0 6px,#111 6px 12px) 0/10px 100% no-repeat,#f6c7001a;border:2px solid #f6c700;border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:12px 0 0;padding:8px 14px 8px 22px;display:flex}.works__label{color:var(--works-ink);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.works__time{font-variant-numeric:tabular-nums}.works__warning{color:var(--suspended);font-weight:700}.train__tags{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.train__clash--works{color:#111;background:repeating-linear-gradient(-45deg,#f6c700 0 6px,#e0b400 6px 12px)}.night{color:#e8ecff;background:linear-gradient(135deg,#10163a,#1d2560);border-radius:10px;grid-template-columns:auto 1fr;grid-template-areas:"moon title""moon detail";align-items:center;column-gap:14px;margin-top:16px;padding:14px 16px;display:grid}.night__moon{border-radius:50%;grid-area:moon;width:28px;height:28px;box-shadow:inset -9px -3px #ffe9a8}.night__title{grid-area:title;margin:0;font-size:17px;font-weight:700}.night__detail{color:#b9c2f0;grid-area:detail;margin:0;font-size:14px}.night .label{display:inline-flex}.board--night .board__list{opacity:.6}.settings__header h2{overflow-wrap:anywhere;flex:1;min-width:0}.settings__header .bullet{margin-right:12px}.train-info__status .status{text-align:left;flex-direction:row;align-items:baseline;gap:6px}.train-info__status .status small{display:inline}.settings .button--board{background:var(--arriving);border-color:var(--arriving);color:var(--arriving-fg);justify-content:center;align-items:center;gap:4px;text-decoration:none;display:inline-flex}.button--board .label{flex-direction:row;align-items:baseline;gap:6px}.button--board .label__en{font-size:.8em}.gap{border:2px dashed var(--row-divider);color:var(--muted);border-radius:6px;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:16px 0 0;padding:8px 14px;display:flex}.gap__label{letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.gap__time{font-variant-numeric:tabular-nums}.gap--rush{border-style:solid;border-color:color-mix(in srgb, var(--arriving) 55%, transparent);color:var(--fg)}.gap--rush .gap__label{color:var(--arriving)}.line-status{flex-direction:column;gap:8px;display:flex}.line-status__title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:13px}.line-status__list{border:1px solid var(--row-divider);border-radius:8px;margin:0;padding:0;list-style:none;overflow:hidden}.line-status__row{border-top:1px solid var(--row-divider);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"badge name level""badge detail level";align-items:center;column-gap:10px;padding:8px 12px;display:grid}.line-status__row:first-child{border-top:none}.line-status__row .bullet{grid-area:badge}.line-status__name{grid-area:name;font-weight:700}.line-status__detail{color:var(--muted);grid-area:detail;font-size:13px}.line-status__level{text-align:right;grid-area:level;font-size:14px;font-weight:700}.line-status__level .label{align-items:flex-end}.line-status__row--severe .line-status__level{color:var(--suspended)}.line-status__row--minor .line-status__level,.line-status__row--partSuspended .line-status__level{color:var(--arriving)}.notices{flex-direction:column;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.service-notice{background:var(--notice-bg);width:100%;min-height:44px;color:var(--notice-fg);font:inherit;text-align:left;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:12px;padding:10px 14px;display:flex}.service-notice:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.service-notice__label{letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;font-size:12px;font-weight:700}.service-notice__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.line-editor{border:1px solid var(--row-divider);border-radius:10px}.line-editor[open]{border-color:var(--muted)}.line-editor__summary{cursor:pointer;align-items:center;gap:10px;min-height:48px;padding:6px 12px;list-style:none;display:flex}.line-editor__summary::-webkit-details-marker{display:none}.line-editor__summary:after{content:"▾";color:var(--muted)}.line-editor[open] .line-editor__summary:after{content:"▴"}.line-editor__name{flex:1;font-weight:700}.line-editor__count{color:var(--muted);font-size:13px}.line-editor__body{flex-direction:column;gap:14px;padding:4px 12px 14px;display:flex}.line-editor__row{gap:12px;display:flex}.field--stack{flex-direction:column;flex:1;align-items:stretch;gap:4px;min-width:0;font-size:14px}.field--stack input{width:100%}.field--letter{flex:0 0 72px}.field input,.tag-field__input{font:inherit;color:var(--fg);border:1px solid var(--row-divider);background:0 0;border-radius:8px;min-width:0;padding:8px 10px;font-size:16px}.field--letter input{text-align:center;text-transform:uppercase;font-weight:700}.tag-field{flex-direction:column;gap:6px;display:flex}.tag-field__label{font-size:14px;font-weight:600}.tag-field__hint{color:var(--muted);margin-left:6px;font-weight:400}.tag-field__box{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tag-field__input{flex:120px}.tag{background:color-mix(in srgb, var(--fg) 12%, transparent);border-radius:999px;align-items:center;gap:2px;padding:2px 4px 2px 10px;font-size:14px;display:inline-flex}.tag__remove{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;font-size:16px;display:inline-grid;position:relative}.tag__remove:after{content:"";position:absolute;inset:-8px}@media (hover:hover){.tag__remove:hover{color:var(--fg)}}.disruption{background:var(--suspended);color:#fff;border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:16px;padding:10px 14px;display:flex}.disruption__message{flex:200px;font-size:15px}.disruption__action{color:#000;background:#fff;border-color:#fff;width:auto;min-height:44px;padding:6px 14px}.app{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.sync-now{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:12px;display:flex}.sync-now .settings__fineprint{flex:200px;margin:0}.pull-sync{left:50%;top:max(8px, env(safe-area-inset-top));z-index:11;background:var(--fg);color:var(--bg);pointer-events:none;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:600;position:fixed;transform:translate(-50%);box-shadow:0 4px 14px #0000004d}.update-toast{left:50%;bottom:calc(80px + env(safe-area-inset-bottom));z-index:11;background:var(--fg);max-width:calc(100% - 32px);color:var(--bg);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:4px 6px 4px 16px;font-size:14px;font-weight:600;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 4px 14px #0000004d}.update-toast:empty{box-shadow:none;padding:0}.update-toast__reload{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 12px;text-decoration:underline}.tabbar{z-index:10;padding:6px max(16px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--row-divider);justify-content:center;gap:8px;display:flex;position:fixed;inset:auto 0 0}.tabbar__tab{min-width:96px;min-height:52px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:4px 12px;font-size:12px;font-weight:600;display:flex}.tabbar__tab[aria-current=page]{color:var(--fg)}.tabbar__tab[aria-current=page] svg{color:var(--rule)}.tabbar__tab:focus-visible{outline:2px solid var(--arriving)}.app--timetable{max-width:1136px}.timetable-page{flex-direction:column;gap:16px;padding-bottom:72px;display:flex}.timetable-page .map-page__header{max-width:none}.timetable-page__section{flex-direction:column;gap:8px;display:flex}.timetable-page__title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:8px 0 0;font-size:13px}.timetable{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:start;gap:12px;display:grid}.timetable__day{border:1px solid var(--row-divider);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.timetable__day--today{border-color:var(--rule);box-shadow:inset 0 3px 0 var(--rule)}.timetable__date{align-items:baseline;gap:8px;margin:0;font-size:17px;display:flex}.timetable__today{background:var(--rule);color:var(--bg);letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:1px 6px;font-size:11px}.timetable__notice{background:var(--notice-bg);color:var(--notice-fg);font:inherit;text-align:left;cursor:pointer;border:none;border-radius:4px;padding:4px 8px;font-size:13px;font-weight:700}.timetable__empty{color:var(--muted);margin:0;font-size:14px}.timetable__list{margin:0;padding:0;list-style:none}.timetable__train{border:none;border-top:1px solid var(--row-divider);width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:4.6em auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 0;display:grid}@media (hover:hover){.timetable__train:hover{background:color-mix(in srgb, var(--fg) 6%, transparent)}}.timetable__train:focus-visible{outline:2px solid var(--arriving)}.timetable__time{color:var(--accent);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.timetable__title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.timetable__train--departed{opacity:.5}.timetable__train--cancelled .timetable__title{color:var(--muted);text-decoration:line-through}.timetable__flag{color:var(--suspended);text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:700}.timetable__flag .label__en{display:none}.timetable__time--cont{color:var(--muted);font-weight:500}.timetable__signal{background:var(--suspended);width:10px;height:10px;box-shadow:0 0 0 3px color-mix(in srgb, var(--suspended) 30%, transparent);border-radius:50%;margin-right:4px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.timetable__train--works{background:repeating-linear-gradient(-45deg,#0000 0 8px,#f6c70024 8px 16px)}.timetable__flag--works{color:var(--works-ink)}.travel-card-flip{aspect-ratio:85.6/54;width:100%;max-width:440px;color:inherit;font:inherit;text-align:left;cursor:pointer;perspective:1200px;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0;display:block;container-type:inline-size}.travel-card-flip:focus-visible{outline:3px solid var(--arriving);outline-offset:4px;border-radius:16px}.travel-card-flip__inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.3,.7,.3,1);display:block;position:relative}.travel-card-flip.is-flipped .travel-card-flip__inner{transform:rotateY(180deg)}@media (prefers-reduced-motion:reduce){.travel-card-flip__inner{transition:none}}.travel-card{backface-visibility:hidden;border-radius:4.5cqw;flex-direction:column;justify-content:space-between;gap:2cqw;padding:5cqw 5.5cqw;font-family:system-ui,sans-serif;font-size:clamp(11px,3.6cqw,16px);display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 10px 30px #0000004d,inset 0 1px #ffffff40}.travel-card__face--back{transform:rotateY(180deg)}.travel-card__face--front,.travel-card__face--back{transition:visibility 0s linear .3s}.travel-card__face--back,.travel-card-flip.is-flipped .travel-card__face--front{visibility:hidden}.travel-card-flip.is-flipped .travel-card__face--back{visibility:visible}@media (prefers-reduced-motion:reduce){.travel-card__face--front,.travel-card__face--back{transition:none}}.travel-card__face--front:after{content:"";pointer-events:none;background:radial-gradient(closest-side,#ffffff2e,#0000);width:70%;height:120%;position:absolute;inset:-40% -10% auto auto}.travel-card__top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.travel-card__brand,.travel-card__back-title{letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:1.35em;font-weight:800;overflow:hidden}.travel-card__back-title{font-size:1.1em}.travel-card__week{opacity:.85;flex-shrink:0;font-size:.85em}.travel-card__trips{align-items:center;gap:.8em;line-height:1.25;display:flex}.travel-card__trips small{opacity:.8;display:block}.travel-card__count{font-variant-numeric:tabular-nums;font-size:3.2em;font-weight:800;line-height:1}.travel-card__contactless{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;opacity:.8;width:2em;height:2em;margin-left:auto}.travel-card__bar{border-radius:.3em;height:.6em;display:flex;overflow:hidden;box-shadow:0 0 0 2px #ffffff80}.travel-card__hint{opacity:.7;text-align:right;font-size:.72em}.travel-card>.travel-card__stripe{background:#111;height:16%;position:absolute;top:9%;left:0;right:0}.travel-card__face--back:has(.travel-card__stripe) .travel-card__top{margin-top:18%}.travel-card__lines{flex-wrap:wrap;gap:.3em 1em;font-size:.9em;font-weight:600;display:flex}.travel-card__line{align-items:center;gap:.4em;display:inline-flex}.travel-card__stats{border-top:1px solid #7f7f7f59;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5em 1em;padding-top:.6em;display:grid}.travel-card__stat{flex-direction:column;min-width:0;display:flex}.travel-card__stat-label{letter-spacing:.06em;text-transform:uppercase;opacity:.75;font-size:.66em}.travel-card__stat-value{white-space:nowrap;text-overflow:ellipsis;font-size:.95em;font-weight:700;overflow:hidden}.travel-card>*,.card-preview>*{z-index:1;position:relative}.travel-card--credit:before,.travel-card--holo:before,.travel-card--ticket:before,.travel-card--pixel:before,.travel-card--network:before{content:"";pointer-events:none;position:absolute;inset:0}.travel-card__chip{vertical-align:-.15em;background:linear-gradient(135deg,#f8e7a1,#c9a646 55%,#f1d77b);border-radius:.25em;width:1.6em;height:1.2em;margin-right:.5em;display:inline-block;box-shadow:inset 0 0 0 1px #00000040}.travel-card__number{letter-spacing:.12em;opacity:.85;font-family:OCR A Std,Courier New,ui-monospace,monospace;font-size:1em}.travel-card--credit:before{background:repeating-linear-gradient(90deg,#ffffff08 0 1px,#0000 1px 3px)}.travel-card--holo:before{mix-blend-mode:soft-light;opacity:.7;background:conic-gradient(from 210deg at 70% 30%,#ff9ad5,#8be9ff,#b9ffb0,#fff59a,#d6a8ff,#ff9ad5)}.travel-card--ticket{border:2px dashed #3b2f2073;border-radius:6px;font-family:Courier New,ui-monospace,monospace;box-shadow:0 6px 18px #00000040}.travel-card--ticket:before{background:radial-gradient(circle at 0 50%, var(--bg) 0 3cqw, transparent calc(3cqw + 1px)), radial-gradient(circle at 100% 50%, var(--bg) 0 3cqw, transparent calc(3cqw + 1px))}.travel-card--neon{text-shadow:0 0 6px #00e5ffcc;box-shadow:0 0 0 2px #ff4fd8,0 0 22px #ff4fd899,inset 0 0 24px #00e5ff40}.travel-card--pixel{border-radius:0;font-family:"Press Start 2P",Courier New,ui-monospace,monospace;box-shadow:4px 0 #000,-4px 0 #000,0 4px #000,0 -4px #000}.travel-card--pixel:before{background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:8px 8px}.travel-card--network:before{opacity:.4;background:linear-gradient(62deg,#0000 46%,#ee352e 46% 52%,#0000 52%),linear-gradient(-58deg,#0000 56%,#0039a6 56% 62%,#0000 62%),linear-gradient(90deg,#0000 70%,#00933c 70% 76%,#0000 76%),linear-gradient(#0000 78%,#fccc0a 78% 82%,#0000 82%);top:24%;left:78%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 45%);mask-image:linear-gradient(90deg,#0000,#000 45%)}.travel-card--network{box-shadow:0 10px 30px #0000004d,inset 0 0 0 1px #0000001f}.card-picker__heading{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 0 8px;font-size:13px}.card-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;display:grid}.card-option{cursor:pointer;border-radius:12px;flex-direction:column;gap:4px;padding:6px;display:flex}.card-option input{opacity:0;pointer-events:none;position:absolute}.card-option:has(input:checked){box-shadow:inset 0 0 0 2px var(--rule)}.card-option:has(input:focus-visible){outline:2px solid var(--arriving)}.card-option__name{font-size:14px;font-weight:700}.card-option__sub{color:var(--muted);font-size:12px}.card-preview{aspect-ratio:1.586;border-radius:9px;flex-direction:column;justify-content:space-between;padding:8% 9%;font-family:system-ui,sans-serif;font-size:12px;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 10px #0000004d}.card-preview__name{white-space:nowrap;text-overflow:ellipsis;font-weight:800;overflow:hidden}.card-preview__count{font-size:26px;font-weight:800;line-height:1}.city-row .card-preview{width:var(--preview-width)}.card-preview.travel-card--ticket{border-radius:5px}.card-preview.travel-card--pixel{border-radius:0}.app--map{max-width:none}.map-page{flex-direction:column;gap:16px;min-width:0;display:flex}.map-page__header{border-top:3px solid var(--rule);justify-content:space-between;align-items:flex-start;gap:16px;width:100%;max-width:900px;margin:0 auto;padding-top:12px;display:flex}.map-page__sub{color:var(--muted);margin:4px 0 0;font-size:14px}.map-page .footer{width:100%;max-width:900px;margin:0 auto}.map{flex-direction:column;gap:16px;width:100%;max-width:900px;margin:0 auto;display:flex}.map-view-switch{border:1px solid var(--row-divider);border-radius:10px;gap:4px;padding:3px;display:inline-flex}.map-view-switch__option{min-height:38px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:0 16px;font-weight:600}.map-view-switch__option[aria-pressed=true]{background:var(--fg);color:var(--bg)}.map-view-switch__option:focus-visible{outline:2px solid var(--arriving);outline-offset:2px}.map-page__bar,.timeline-wrap{width:100%;max-width:900px;margin:0 auto}.timeline-wrap{flex-direction:column;gap:12px;display:flex}.timeline-wrap .map__tool{flex:none}.timeline{background:var(--map-paper);color:var(--map-ink);overscroll-behavior-x:contain;border-radius:10px;overflow-x:auto}.timeline__svg{display:block}.timeline__hour line{stroke:var(--map-ink);stroke-opacity:.1}.timeline__hour text{fill:var(--map-ink);fill-opacity:.55;font-size:11px}.timeline__line{stroke-width:5px;stroke-linecap:round}.timeline__terminus{fill:#1a1a1a}.timeline__siding{fill:none;stroke-width:3px;stroke-linejoin:round}.timeline__bar--departed,.timeline__station--departed{opacity:.45}.timeline__now line{stroke:var(--suspended);stroke-width:2px}.timeline__train{fill:#1a1a1a;stroke:#fff;stroke-width:2px}.timeline__station{cursor:pointer}.timeline__station:focus-visible{outline:none}.timeline__station:focus-visible .timeline__label{text-decoration:underline}.timeline__hit{fill:#0000}.timeline__leader{fill:none;stroke:var(--map-ink);stroke-opacity:.35}.timeline__interchange{fill:#fff;stroke:#1a1a1a;stroke-width:2.5px}.timeline__signal{fill:var(--suspended);stroke:#fff;stroke-width:1.5px}.timeline__bullet{font-size:10px;font-weight:700}.timeline__label{fill:var(--map-ink);font-size:13px;font-weight:600}.timeline__label-time{fill-opacity:.6;font-weight:500}.map__paper{touch-action:pan-x pan-y;cursor:grab;background:var(--map-paper);-webkit-overflow-scrolling:touch;border-radius:10px;max-height:min(72vh,100dvh - 220px);overflow:auto;box-shadow:0 1px #0003}.map__svg{width:100%;height:auto;display:block}.map__track{pointer-events:none;fill:none;stroke-linecap:round;stroke-linejoin:round}.map__station{cursor:pointer}.map__hit{fill:#0000}.map__dot{fill:#fff;stroke:var(--map-ink);stroke-width:3.5px}.map__dot--ink{fill:var(--map-ink);stroke:#fff;stroke-width:2px}.map__dot--code{stroke-width:4px}.map__code{fill:var(--map-ink);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-size:8px;font-weight:700}.map__terminus-ring{fill:#fff;stroke-width:5px}@media (hover:hover){.map__station:hover .map__dot{fill:var(--arriving)}}.map__station:focus-visible .map__dot{fill:var(--arriving)}.map__station:focus-visible{outline:none}.map__station:focus-visible .map__hit{stroke:var(--map-ink);stroke-width:4px}.map__label{fill:var(--map-ink);font-size:calc(12px * var(--map-text,1));font-weight:700}.map__label--time{fill:var(--map-muted);font-size:calc(11px * var(--map-text,1));font-weight:500}.map__label--terminus{font-size:calc(13px * var(--map-text,1))}.map__terminus-letters{text-anchor:middle;dominant-baseline:central;font-size:10px;font-weight:700}.map__train{pointer-events:none}.map__train-body{stroke:#fff;stroke-width:2.5px}.map__train-window{fill:#fff}.map__train-stripe{stroke-width:2px;stroke-linecap:round;opacity:.7}.map__train--moving .map__train-body{animation:1.6s ease-in-out 3 train-pulse}@keyframes train-pulse{50%{stroke-width:5px}}@media (prefers-reduced-motion:reduce){.map__train--moving .map__train-body{animation:none}}.map__status{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.map__status-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border:none;border-bottom:1px solid var(--row-divider);background:0 0;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:10px 0;display:grid}.map__status-more{align-self:center}.map__status-badge{border-radius:50%;place-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:grid}.map__status-name{font-weight:700}.map__status-text{color:var(--muted);text-align:right;font-size:14px}.map__dot--tick{stroke-width:5px;stroke-linecap:butt}.map__dot--linked rect,.map__dot--linked circle{fill:inherit;stroke:inherit;stroke-width:3px}.map__roundel-bar{fill:var(--map-roundel-bar,#0019a8)}.map__roundel-letters{fill:#fff}.map__rush{fill:none;stroke:#fff;stroke-dasharray:6 6;stroke-linecap:round;pointer-events:none}.map__clashes li.map__notice--rush{border-left-color:var(--arriving);background:color-mix(in srgb, var(--arriving) 12%, transparent)}.map__notice--rush .map__clash-label{color:var(--arriving)}.map__signal{pointer-events:none}.map__signal line{stroke:#222;stroke-width:2px}.map__signal rect{fill:#1b1b1b;stroke:#fff;stroke-width:1.5px}.map__signal-red{fill:#ff3b30;filter:drop-shadow(0 0 3px #ff3b30e6)}.map__signal-off{fill:#3a3a3a}.map__clashes{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.map__clashes li{border-left:4px solid var(--suspended);background:color-mix(in srgb, var(--suspended) 14%, transparent);border-radius:4px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:8px 12px;font-size:14px;display:flex}.map__clash-label{color:var(--suspended);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.map__scrubber{align-items:center;gap:12px;display:flex}.map__scrubber-range{min-width:0;height:44px;accent-color:var(--rule);appearance:none;cursor:pointer;touch-action:none;background:0 0;flex:1;margin:0}.map__scrubber-range::-webkit-slider-runnable-track{background:color-mix(in srgb, var(--fg) 30%, transparent);border-radius:2px;height:4px}.map__scrubber-range::-moz-range-track{background:color-mix(in srgb, var(--fg) 30%, transparent);border-radius:2px;height:4px}.map__scrubber-range::-webkit-slider-thumb{appearance:none;box-sizing:content-box;border:2px solid var(--bg);background:var(--fg);border-radius:50%;width:24px;height:24px;margin-top:-12px}.map__scrubber-range::-moz-range-thumb{box-sizing:content-box;border:2px solid var(--bg);background:var(--fg);border-radius:50%;width:24px;height:24px}.map__scrubber-range:focus-visible{outline:2px solid var(--arriving);outline-offset:2px}.map__scrubber-time{font-variant-numeric:tabular-nums;min-width:5.5em;color:var(--muted);font-weight:700}.map__scrubber--scrubbing .map__scrubber-time{color:var(--arriving)}.map__search{align-items:center;gap:8px;display:flex;position:relative}.map__search-input{border:1px solid var(--row-divider);min-width:0;height:44px;color:var(--fg);font:inherit;background:0 0;border-radius:8px;flex:1;padding:0 12px;font-size:16px}.map__search-input::placeholder{color:var(--muted)}.map__search-input:focus-visible{outline:2px solid var(--arriving);outline-offset:2px}.map__search-clear{text-overflow:ellipsis;white-space:nowrap;max-width:50%;overflow:hidden}.map__search-results{z-index:5;border:1px solid var(--row-divider);background:var(--bg);border-radius:8px;margin:0;padding:0 12px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 24px #00000040}.map__search-results li:last-child .map__status-row{border-bottom:none}.map__search-empty{color:var(--muted);padding:12px 0}.map__tools{justify-content:flex-end;gap:8px;display:flex}@media (width<=520px){.map__tool{flex:auto}}.map__tool{border:1px solid var(--row-divider);min-width:44px;height:44px;color:var(--fg);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:0 12px;font-size:18px;font-weight:700}.map__tool--wide{font-size:14px}.map__tool:disabled{opacity:.4;cursor:default}.map__tool:focus-visible,.map__status-row:focus-visible{outline:2px solid var(--arriving);outline-offset:2px}.map__dim{opacity:.15;transition:opacity .2s}.map__status-row[aria-pressed=true] .map__status-name{text-underline-offset:4px;text-decoration:underline}::view-transition-old(root){animation-duration:.22s;animation-timing-function:ease-out}::view-transition-new(root){animation-duration:.22s;animation-timing-function:ease-out}::view-transition-old(root){animation-name:vt-out}::view-transition-new(root){animation-name:vt-in}:root[data-direction=back]::view-transition-old(root){animation-name:vt-out-back}:root[data-direction=back]::view-transition-new(root){animation-name:vt-in-back}@keyframes vt-out{to{opacity:0;transform:translate(-16px)}}@keyframes vt-in{0%{opacity:0;transform:translate(16px)}}@keyframes vt-out-back{to{opacity:0;transform:translate(16px)}}@keyframes vt-in-back{0%{opacity:0;transform:translate(-16px)}}.map__timelapse{background:var(--arriving);color:var(--arriving-fg);font-variant-numeric:tabular-nums;border-radius:999px;align-self:center;margin-right:auto;padding:4px 10px;font-size:13px;font-weight:700}.map__paper.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.train{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.quick-actions__when{color:var(--muted)}button,a,.map__tool,.line-filter{touch-action:manipulation}.timetable__train{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.train:active,.board__list>li>.train:active,.timetable__train:active,.map__status-row:active{background:color-mix(in srgb, var(--fg) 10%, transparent)}.button,.map__tool,.icon-button,.tabbar__tab{transition:transform .1s}.button:active:not(:disabled),.map__tool:active:not(:disabled),.icon-button:active:not(:disabled),.line-filter:active,.tabbar__tab:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.button,.map__tool,.icon-button,.tabbar__tab,.line-filter{transition:none}.button:active:not(:disabled),.map__tool:active:not(:disabled),.icon-button:active:not(:disabled),.line-filter:active,.tabbar__tab:active{transform:none}}:root{--flap-base:var(--bg);--flap-time:.3s}.flap__c--flip{white-space:pre;perspective:3em;display:inline-block;position:relative}.flap__leaf{text-align:center;background:color-mix(in srgb, currentColor 14%, var(--flap-base));backface-visibility:hidden;pointer-events:none;animation-duration:var(--flap-time);animation-delay:var(--flap-delay,0s);animation-fill-mode:both;position:absolute;inset:0}.flap__leaf--old-top{clip-path:inset(0 0 50%);transform-origin:50%;animation-name:flap-fall;animation-timing-function:ease-in}.flap__leaf--old-bottom{clip-path:inset(50% 0 0);animation-name:flap-hold;animation-timing-function:step-end}.flap__leaf--new-bottom{clip-path:inset(50% 0 0);transform-origin:50%;animation-name:flap-drop;animation-timing-function:ease-out}.flap__leaf--old-bottom:before{content:"";border-top:1px solid color-mix(in srgb, var(--flap-base) 70%, transparent);position:absolute;inset:50% 0 auto}@keyframes flap-fall{0%{transform:rotateX(0)}50%,to{visibility:hidden;transform:rotateX(-90deg)}}@keyframes flap-drop{0%,50%{opacity:1;transform:rotateX(90deg)}99%{opacity:1;transform:rotateX(0)}to{opacity:0;transform:rotateX(0)}}@keyframes flap-hold{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.flap__leaf{display:none}}.desk{height:100dvh;padding:max(2.5vmin, env(safe-area-inset-top)) max(3.5vmin, env(safe-area-inset-right)) max(2.5vmin, env(safe-area-inset-bottom)) max(3.5vmin, env(safe-area-inset-left));cursor:none;position:relative;overflow:hidden}.desk--awake{cursor:auto}.desk__board{left:var(--desk-x,0);top:var(--desk-y,0);flex-direction:column;gap:2vmin;height:100%;transition:filter 2s;display:flex;position:relative}.desk--night .desk__board{filter:brightness(.7)}.desk .board{flex-direction:column;flex:1;min-height:0;display:flex}.desk .board__station{font-size:clamp(30px,6vmin,96px)}.desk .board__clock{font-size:clamp(30px,7.5vmin,120px);font-weight:700}.desk .board__list{flex-flow:column wrap;flex:1;min-height:0;margin-top:1vmin;display:flex;overflow:hidden}.desk .board__list>li{width:100%}.desk .train{gap:.8em;padding:.4em 0;font-size:clamp(16px,min(3.4vw,2.3vh),48px)}.desk .train__index{font-size:1em}.desk .train__time{font-size:.95em}.desk .train__title{font-size:1.5em}.desk .train__details{font-size:.75em}.desk .train .bullet--md{width:2.3em;height:2.3em;font-size:1.35em}.desk .train .bullet--ring.bullet--md{font-size:1em}.desk .status{font-size:1.8em}.desk .status--time,.desk .status--scheduled,.desk .status--platform,.desk .status--suspended{font-size:1.3em}.desk .status small{font-size:max(13px,.45em)}.desk .night{padding:2vmin 2.5vmin}.desk .night__title{font-size:clamp(17px,3.6vmin,48px)}.desk .night__detail{font-size:clamp(14px,2.6vmin,34px)}.desk .line-status{gap:.6vmin}.desk .line-status__title{font-size:clamp(12px,1.7vmin,22px)}.desk .line-status__list{flex-wrap:wrap;display:flex}.desk .line-status__row{border-top:none;border-left:1px solid var(--row-divider);flex:13em;grid-template-areas:"badge name level";padding:1vmin 1.4vmin;font-size:clamp(14px,2vmin,28px)}.desk .line-status__row:first-child{border-left:none}.desk .line-status__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.desk .line-status__level{font-size:inherit}.desk .line-status__detail{display:none}.train--display{cursor:inherit}@media (hover:hover){.train--display:hover{background:0 0}}.desk__controls{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));opacity:0;pointer-events:none;gap:8px;transition:opacity .4s;display:flex;position:absolute}.desk--awake .desk__controls,.desk__controls:focus-within{opacity:1;pointer-events:auto}.desk__button{background:var(--fg);min-height:44px;color:var(--bg);font:inherit;cursor:pointer;border:none;border-radius:999px;padding:8px 18px;font-size:16px;font-weight:700;box-shadow:0 4px 14px #0000004d}.desk__button:focus-visible{outline:3px solid var(--arriving);outline-offset:2px}@media (prefers-reduced-motion:reduce){.desk__board,.desk__controls{transition:none}}.tour{gap:16px;display:grid}.tour__body{margin:0;line-height:1.5}.tour__board{border:1px solid var(--row-divider);border-radius:10px;align-items:center;gap:12px;padding:14px 12px;font-weight:700;display:flex}.tour__board-title{flex:1;font-size:18px}.tour__board-time{color:var(--arriving);font-variant-numeric:tabular-nums}.tour__lines{border:1px solid var(--row-divider);border-radius:10px;flex-wrap:wrap;gap:8px;padding:14px 12px;display:flex}.tour__map{background:var(--map-paper);border-radius:10px;width:100%;max-height:140px;display:block}.tour__map-line{fill:none;stroke-width:9px;stroke-linecap:round;stroke-linejoin:round}.tour__map-interchange,.tour__map-stop{fill:#fff;stroke:var(--map-ink);stroke-width:3.5px}.tour__dots{justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tour__dot{background:var(--row-divider);border-radius:50%;width:8px;height:8px}.tour__dot--on{background:currentColor}.versions{gap:18px;margin:0 0 16px;padding:0;list-style:none;display:grid}.versions .versions__title{text-transform:none;letter-spacing:0;color:var(--fg);margin:0;font-size:16px}.versions__number{background:var(--fg);color:var(--bg);font-variant-numeric:tabular-nums;border-radius:4px;margin-right:6px;padding:1px 6px;font-size:13px}.versions__date{color:var(--muted);margin:2px 0 6px;font-size:13px}.versions__changes{margin:0;padding-left:20px;line-height:1.45}.versions__changes li+li{margin-top:4px}.tour__actions{gap:8px;display:flex}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;max-width:520px;min-height:100dvh;margin:0 auto;padding:24px 16px;display:flex}.not-found__scene{width:100%;max-width:420px;overflow:visible}.not-found__dashes{stroke-width:4px;stroke-dasharray:2 10;stroke-linecap:round;opacity:.5}.not-found__station{fill:#fff;stroke:var(--fg);stroke-width:3px}.not-found__stop{fill:var(--muted);font-size:12px;font-weight:600}.not-found__stop--nowhere{opacity:.6;font-size:16px}.not-found__window{fill:#fff;opacity:.9}.not-found__light{fill:#ffe9a8}.not-found__train{animation:4.5s cubic-bezier(.45,0,.7,1) infinite not-found-ride}@keyframes not-found-ride{0%{opacity:0;transform:translate(40px)}8%{opacity:1}20%{transform:translate(40px)}70%{opacity:1}to{opacity:0;transform:translate(330px)}}@media (prefers-reduced-motion:reduce){.not-found__train{animation:none;transform:translate(200px)}}.not-found__code{color:var(--muted);letter-spacing:.2em;margin:8px 0 0;font-size:13px;font-weight:700}.not-found__title{letter-spacing:-.01em;margin:0;font-size:clamp(24px,6vw,34px)}.not-found__body{color:var(--muted);margin:0 0 12px}.not-found__home{max-width:320px}
