:root{color-scheme:light;--ink: #14211f;--muted: #5e6764;--paper: #f4f1ea;--card: #fffdf8;--line: #d9d4ca;--brand: #2c65a4;--accent: #2c65a4;--on-accent: #ffffff;--on-brand: #ffffff;--red: #c23029;--green: #2e7d32;--orange: #de6700;--tint: #f0f7d3;--tint-line: #cbdc87;--surface-2: #e9e5dc;--placeholder: #9d9b91;--radius: 0px;--shadow: none;--search-radius: 20px;--search-border-width: 3px;--search-font: clamp(1.2rem, 2.5vw, 1.3rem);--search-font-m: clamp(.92rem, 4.4vw, 1.05rem);--font-display: Georgia, "Times New Roman", serif;--font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-weight: 400;--heading-tracking: -.07em}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:120%}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:var(--font-body);display:flex;flex-direction:column}.settings-wrap{position:fixed;top:14px;right:14px;z-index:50;display:flex;gap:8px}.settings-toggle{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:999px;background:var(--card);box-shadow:var(--shadow);color:var(--muted);cursor:pointer;transition:color .15s,background .15s}.settings-toggle:hover{color:var(--ink);background:var(--surface-2)}.settings-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.install-btn{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:999px;background:var(--card);box-shadow:var(--shadow);color:var(--muted);cursor:pointer;transition:color .15s,background .15s}.install-btn[hidden]{display:none}.install-btn:hover{color:var(--ink);background:var(--surface-2)}.install-btn:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.lang-toggle{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:999px;background:var(--card);box-shadow:var(--shadow);color:var(--muted);cursor:pointer;font:inherit;font-size:.72rem;font-weight:700;letter-spacing:.04em;transition:color .15s,background .15s}.lang-toggle:hover{color:var(--ink);background:var(--surface-2)}.lang-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.settings{position:absolute;top:46px;right:0;min-width:220px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:9px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--shadow);color:var(--muted);font-size:.78rem}.settings[hidden]{display:none}.settings-label{font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;color:var(--muted);flex:1 0 100%}.settings label{display:inline-flex;align-items:center;gap:6px}.settings-field{flex:1 0 100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;max-width:140px}.settings-field select{width:100%;max-width:100%}.settings-field-toggle{flex-direction:row;align-items:center;max-width:none}.settings select{border:1px solid var(--line);border-radius:8px;padding:4px 7px;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer}.settings select:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.settings-history{flex:1 0 100%;display:flex;flex-direction:column;gap:6px;min-width:0}.shell{flex:1 0 auto;display:grid;overflow-x:clip;grid-template-areas:"masthead" "search" "hint" "local" "status" "train" "results" "disclaimer" "faq" "footer";grid-template-rows:repeat(9,auto) minmax(0,1fr);grid-template-columns:minmax(0,1fr);width:min(900px,calc(100% - 40px));margin:0 auto;padding:42px 0 24px}.masthead{grid-area:masthead;max-width:610px}.eyebrow{margin:0 0 18px;color:var(--muted);font-size:.73rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}h1{margin:0;font-family:var(--font-display);font-size:clamp(44.8px,8vw,76.8px);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);line-height:.88}h1 a{color:inherit;text-decoration:none;cursor:pointer}h1 a:hover{opacity:.7}h1 em{color:var(--brand);font-style:italic}.h1-tagline{display:block;margin-top:14px;color:var(--muted);font-family:var(--font-body);font-size:clamp(15px,2vw,19px);font-weight:600;letter-spacing:normal;line-height:1.35}.intro{max-width:460px;margin:22px 0 28px;color:var(--muted);font-size:1rem;line-height:1.5}.search-wrap{grid-area:search;max-width:680px}.search{display:flex;align-items:center;width:100%;border:var(--search-border-width) solid var(--line);border-radius:var(--search-radius);background:var(--card);box-shadow:var(--shadow);overflow:hidden;transition:border-color .2s ease,box-shadow .25s ease}.search:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}.search:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent),var(--shadow)}.search input,.pair input,.board input{min-width:0;flex:1;border:0;outline:0;padding:14px 10px 14px 1.2em;background:transparent;color:var(--ink);font-weight:600;font-size:var(--search-font);line-height:1.2;font-family:inherit}.search input::placeholder,.pair input::placeholder,.board input::placeholder{color:var(--placeholder);opacity:1;text-overflow:ellipsis}.search-clear{display:none;flex-shrink:0;width:34px;height:34px;margin-right:4px;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;place-items:center;transition:color .15s ease,background .15s ease}.search-clear svg{width:20px;height:20px;pointer-events:none}.search-clear:hover{color:var(--ink);background:var(--surface-2)}.search-clear:focus-visible{outline:2px solid var(--brand)}.search input:not(:placeholder-shown)~.search-clear{display:grid}.search-submit{display:grid;place-items:center;width:72px;flex-shrink:0;align-self:stretch;margin:2px;border:0;border-radius:20px;background:var(--accent);color:var(--on-accent);cursor:pointer;transition:transform .15s ease,background .15s,filter .15s}.search-submit svg{width:20px;height:20px}.search-submit:hover{filter:brightness(1.05)}.search-submit:active{transform:scale(.96)}.search-submit:focus-visible{outline:2px solid var(--brand);outline-offset:-3px}.search-locate{display:grid;flex-shrink:0;width:34px;height:34px;margin-right:4px;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;place-items:center;transition:color .15s ease,background .15s ease}.search-locate svg{width:20px;height:20px;pointer-events:none}.search-locate:hover{color:var(--ink);background:var(--surface-2)}.search-locate:focus-visible{outline:2px solid var(--brand)}.search-anchor,.pair-anchor,.board-anchor{position:relative}.suggest{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:40;margin:0;padding:6px;list-style:none;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);max-height:min(60vh,340px);overflow-y:auto}.suggest[hidden]{display:none}.suggest-option{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-height:44px;padding:8px 12px;border-radius:calc(var(--radius) - 2px);cursor:pointer}.suggest-option.active{background:var(--tint)}.suggest-label{color:var(--ink);font-weight:700;font-size:1.05rem;white-space:nowrap}.suggest-detail{color:var(--muted);font-size:.85rem;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggest-option-category .suggest-label{color:var(--brand)}.suggest-option-station .suggest-label{font-size:1rem;font-weight:600}@media(max-width:600px){.suggest-option{flex-direction:column;align-items:flex-start;gap:2px;min-height:52px}.suggest-detail{text-align:left;white-space:normal}}.date-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px;color:var(--muted);font-size:.87rem}.date-label{color:var(--muted)}.date-row input[type=date]{padding:4px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);font:inherit;font-size:.9rem}.date-row input[type=date]:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}.date-row input[type=date]:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.date-clear{padding:4px 10px;border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--muted);font:inherit;font-size:.83rem;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.date-clear:hover{color:var(--ink);border-color:var(--brand);background:var(--tint)}.date-clear:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.mode-switch{display:inline-flex;gap:2px;margin-bottom:10px;padding:3px;border-radius:999px;background:var(--surface-2)}.mode-option{display:inline-flex;align-items:center;min-height:32px;padding:4px 14px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:.85rem;line-height:1;cursor:pointer;transition:color .15s,background .15s,box-shadow .15s}.mode-option:hover:not(.is-active){color:var(--ink);background:color-mix(in srgb,var(--ink) 10%,transparent)}.mode-option:focus-visible{outline:2px solid var(--brand);outline-offset:1px;z-index:1}.mode-option.is-active{background:var(--brand);color:var(--on-brand);box-shadow:0 1px 4px #00000038;cursor:default}html.mode-tabs-hidden .mode-switch{visibility:hidden}.search[hidden],.pair[hidden],.board[hidden]{display:none}.pair{display:flex;align-items:stretch;width:100%;border:var(--search-border-width) solid var(--line);border-radius:var(--search-radius);background:var(--card);box-shadow:var(--shadow);overflow:hidden;transition:border-color .2s ease,box-shadow .25s ease}.pair:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}.pair:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent),var(--shadow)}.pair-field{display:flex;align-items:center;flex:1;min-width:0}.pair-field input{flex:1}.pair-field .search-clear{margin-right:6px}.pair-field input:not(:placeholder-shown)~.search-clear{display:grid}.pair #to-input{padding-left:.4em}.pair-swap{display:grid;place-items:center;flex-shrink:0;width:36px;margin:2px 0;border:0;background:transparent;color:var(--muted);cursor:pointer;transition:color .15s ease,background .15s ease}.pair-swap svg{width:20px;height:20px}.pair-swap:hover{color:var(--brand);background:var(--surface-2)}.pair-swap:focus-visible{outline:2px solid var(--brand);outline-offset:-3px}@media(max-width:600px){.pair{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"from swap" "to submit"}.pair-field:first-of-type{grid-area:from}.pair-field:last-of-type{grid-area:to;border-top:1px solid var(--line)}.pair-field:last-of-type #to-input{padding-left:1.2em}.pair-swap{grid-area:swap;border-bottom:1px solid var(--line)}.pair-swap svg{transform:rotate(90deg)}.pair .search-submit{grid-area:submit}.pair-swap{width:34px}}.auto-arrow{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;color:var(--brand);font-size:1.05rem;font-weight:700;pointer-events:none}.auto-arrow[hidden]{display:none}.auto-next,.auto-swap{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;transition:color .15s ease,background .15s ease}.auto-next{width:28px;color:var(--brand);font-size:1.15rem;font-weight:700}.auto-swap{width:34px}.auto-swap svg{width:20px;height:20px;transform:rotate(90deg)}.auto-next:hover,.auto-swap:hover{color:var(--brand);background:var(--surface-2)}.auto-next:focus-visible,.auto-swap:focus-visible{outline:2px solid var(--brand);outline-offset:-3px}.auto-next[hidden],.auto-swap[hidden],.search.is-journey .search-locate{display:none}.search.is-journey .auto-dest{padding-left:.15em}.search.is-journey-open{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"from  from  from  action" "arrow dest  clear submit"}.search.is-journey-open #auto-input{grid-area:from;border-bottom:1px solid var(--line)}.search.is-journey-open .auto-arrow{grid-area:arrow}.search.is-journey-open .auto-dest{grid-area:dest}.search.is-journey-open .search-clear{grid-area:clear}.search.is-journey-open .search-submit{grid-area:submit}.search.is-journey-open .auto-next,.search.is-journey-open .auto-swap{grid-area:action}.search.is-journey-open[hidden]{display:none}@media(max-width:600px){.search.is-journey:not(.is-journey-open) .search-submit{display:none}}.station-choice-panel{position:relative}.station-choice-panel .result-close{position:absolute;top:0;right:0}.station-choice-panel h2{margin-bottom:6px;padding-right:44px}.station-list{display:grid;gap:8px}.station-choice{display:block;width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.station-choice:hover{border-color:var(--brand);background:var(--tint)}.station-choice:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.board-anchor{position:relative}.board{display:flex;align-items:center;width:100%;border:var(--search-border-width) solid var(--line);border-radius:var(--search-radius);background:var(--card);box-shadow:var(--shadow);overflow:hidden;transition:border-color .2s ease,box-shadow .25s ease}.board:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}.board:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent),var(--shadow)}.board .search-clear{margin-right:8px}.board input:not(:placeholder-shown)~.search-clear{display:grid}.hint{grid-area:hint;margin:13px 0 0;min-height:13px}.chip{display:inline-flex;align-items:center;min-height:32px;padding:3px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--ink);cursor:pointer;font:inherit;font-size:.85rem;line-height:1;transition:background .15s,border-color .15s}.chip:hover{border-color:var(--brand);background:var(--tint)}.chip:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.chip-fav .star{color:var(--brand)}.chip-fav:hover{border-color:var(--brand);background:var(--tint)}.mem-wrap{position:relative}.mem-toggle{display:grid;place-items:center;position:relative;width:38px;height:38px;border:1px solid var(--line);border-radius:999px;background:var(--card);box-shadow:var(--shadow);color:var(--muted);cursor:pointer;transition:color .15s,background .15s}.mem-toggle:hover{color:var(--ink);background:var(--surface-2)}.mem-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.mem-badge{position:absolute;top:-5px;right:-5px;min-width:17px;padding:1px 4px;border-radius:999px;background:var(--brand);color:var(--card);font-size:.62rem;font-weight:700;line-height:1.2;text-align:center}.mem-badge[hidden]{display:none}.mem-panel{position:absolute;top:46px;right:0;z-index:50;display:flex;flex-direction:column;gap:10px;min-width:220px;max-width:260px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--shadow);color:var(--muted);font-size:.78rem}.mem-panel[hidden]{display:none}.mem-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.mem-heading{font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;color:var(--muted)}.mem-clear{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--muted);cursor:pointer;transition:color .15s,background .15s}.mem-clear:hover{color:var(--ink);background:var(--surface-2)}.mem-clear:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.mem-entry{display:flex;align-items:center;justify-content:space-between;gap:6px}.mem-entry .chip{flex:0 0 auto;justify-content:center}.mem-remove{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;border:none;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;transition:color .15s,background .15s}.mem-remove:hover{color:var(--ink);background:var(--surface-2)}.mem-remove:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.mem-empty{margin:0;color:var(--muted)}.local-mode-wrap{grid-area:local;display:flex;align-items:center;flex-wrap:nowrap;gap:10px;margin-top:13px}.local-mode-area{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}.times-switch{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--surface-2)}.times-option{display:inline-flex;align-items:center;min-height:32px;padding:4px 14px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:.85rem;line-height:1;cursor:pointer;transition:color .15s,background .15s,box-shadow .15s}.times-option:hover:not(.is-active){color:var(--ink);background:color-mix(in srgb,var(--ink) 10%,transparent)}.times-option:focus-visible{outline:2px solid var(--brand);outline-offset:1px;z-index:1}.times-option.is-active{background:var(--brand);color:var(--on-brand);box-shadow:0 1px 4px #00000038;cursor:default}.local-mode-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none;font-size:.85rem;color:var(--muted)}.local-mode-switch:hover{color:var(--ink)}.local-mode-checkbox{position:absolute;opacity:0;width:0;height:0}.local-mode-slider{position:relative;width:34px;height:18px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);transition:background .2s,border-color .2s;flex-shrink:0}.local-mode-slider:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--muted);transition:transform .2s,background .2s}.local-mode-checkbox:checked+.local-mode-slider{background:var(--tint);border-color:var(--brand)}.local-mode-checkbox:checked+.local-mode-slider:after{transform:translate(16px);background:var(--brand)}.local-mode-checkbox:focus-visible+.local-mode-slider{outline:2px solid var(--brand);outline-offset:2px}.local-mode-label{line-height:1}.local-mode-status{color:var(--brand);font-size:.85rem;font-weight:500;white-space:nowrap}.status{grid-area:status;min-height:28px;margin:30px 0 15px;color:var(--muted)}.status.error{color:var(--red)}.status.info{color:var(--green)}.status.loading:after{content:"";display:inline-block;width:10px;height:10px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.retry-btn{display:inline-block;margin-left:10px;padding:3px 12px;border:1px solid currentColor;border-radius:var(--radius);background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:.85rem}.retry-btn:hover{background:var(--surface-2)}.retry-btn:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.disclaimer{grid-area:disclaimer;margin:24px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}.train-empty{grid-area:train;margin-top:10px}.train-empty svg{display:block;width:min(400px,80%);height:auto;margin-inline:auto;animation:chug 3.2s ease-in-out infinite}.train-empty.is-leaving{transform:translate(80vw);transition:transform .7s ease-in}.train-empty .train-body{fill:var(--brand)}.train-empty .train-window{fill:var(--card)}.train-empty .train-light{fill:#d8ff53}.train-empty .train-trim{fill:var(--ink);opacity:.2}@keyframes chug{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media(max-width:760px){.train-empty svg{width:min(600px,80%)}}.results{grid-area:results;overflow:hidden;border-top:1px solid var(--line)}.results h2:focus,.results h3:focus{outline:none}.choice-panel{position:relative;padding:22px 0}.choice-panel h2{margin:0;padding-right:44px;font-family:var(--font-display);font-size:1.8rem;font-weight:var(--heading-weight)}.choice-panel p{margin:7px 0 18px;color:var(--muted)}.choice-panel .result-close{position:absolute;top:22px;right:0}.choice-list{display:grid;gap:8px}.choice-group h3{margin:14px 0 6px;font-family:var(--font-display);font-size:1.05rem;font-weight:var(--heading-weight)}.choice-group:first-child h3{margin-top:0}.choice{display:grid;grid-template-columns:minmax(80px,.3fr) 1fr auto;gap:14px;align-items:center;width:100%;padding:14px 16px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;text-align:left;font:inherit}.choice:hover,.choice:focus-visible{border-color:var(--brand);background:var(--tint);outline:0}.choice span{color:var(--muted)}.choice-operator{margin-left:6px;padding:1px 7px;border:1px solid var(--line);border-radius:999px;background:var(--tint);color:var(--muted);font-size:.72em;font-weight:500;white-space:nowrap}.choice time{display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-variant-numeric:tabular-nums}.choice time .choice-times{color:inherit;white-space:nowrap}.choice time .choice-arrow{color:var(--muted)}.choice time .choice-duration{color:var(--brand);font-size:.82em;white-space:nowrap}.window-list{display:flex;flex-direction:column;gap:8px;padding:2px}.window{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;text-align:left;font:inherit}.window:hover,.window:focus-visible{border-color:var(--brand);background:var(--tint);outline:0}.window strong{font-variant-numeric:tabular-nums;font-weight:700}.window .window-count{color:var(--muted);font-size:.82rem;white-space:nowrap}.window-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}.board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:22px 0 14px}.board-head h2{margin:0;font-family:var(--font-display);font-size:1.8rem;font-weight:var(--heading-weight)}.board-head-side{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 14px}.board-head-side .updated{order:1;flex:1 0 100%;text-align:right}.board-refresh,.map-toggle,.train-refresh,.share-link,.result-close,.result-actions-toggle{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--muted);font-size:1.15rem;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.board-refresh:hover,.map-toggle:hover,.train-refresh:hover,.share-link:hover,.result-close:hover,.result-actions-toggle:hover{color:var(--brand);border-color:var(--brand);background:var(--tint)}.board-refresh:focus-visible,.map-toggle:focus-visible,.train-refresh:focus-visible,.share-link:focus-visible,.result-close:focus-visible,.result-actions-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.map-toggle[aria-pressed=true]{color:var(--brand);border-color:var(--brand);background:var(--tint)}.board-filters{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 14px}.board-filter{padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:.82rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.board-filter[aria-pressed=true]{color:var(--brand);border-color:var(--brand);background:var(--tint)}.board-filter:hover{color:var(--brand);border-color:var(--brand)}.board-filter[aria-pressed=true]:hover{background:var(--tint)}.board-filter:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.board-list{display:grid;border-top:1px solid var(--line)}.board-row{display:grid;grid-template-columns:92px minmax(86px,auto) 1fr minmax(64px,auto);gap:6px 14px;align-items:center;width:100%;padding:12px 6px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .15s ease}.board-row:hover,.board-row:focus-visible{background:var(--tint);outline:0}.board-time{display:flex;flex-direction:column;gap:1px;font-variant-numeric:tabular-nums}.board-time strong{font-size:1.02rem;font-weight:750}.board-time b{font-size:.78rem;font-weight:700;color:var(--green)}.board-time b.changed{color:var(--orange)}.board-time b.changed.cancelled{color:var(--red)}.board-row.cancelled .board-time strong,.board-row.cancelled .board-line{text-decoration:line-through;opacity:.55}.board-line{font-weight:750;white-space:nowrap}.board-direction{overflow:hidden;color:var(--ink);font-weight:550;white-space:nowrap;text-overflow:ellipsis}.board-platform{color:var(--muted);font-size:.78rem;white-space:nowrap;text-align:right}.board-terminates{margin-right:6px;color:var(--muted);font-size:.72rem;font-weight:600}.board-provenance{grid-column:2 / -1;color:var(--muted);font-size:.68rem}.board-provenance[title]{cursor:help}.board-empty{margin:18px 2px;color:var(--muted)}.board-more{display:block;margin:16px auto;padding:9px 18px;border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--muted);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.board-more:hover{color:var(--brand);border-color:var(--brand);background:var(--tint)}.board-more:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.board-more[hidden]{display:none}.board-hint{margin:12px 2px 22px;color:var(--muted);font-size:.75rem}@media(max-width:600px){.board-row{grid-template-columns:48px minmax(0,1fr) auto;gap:2px 10px;padding:8px 4px}.board-time{grid-row:1 / span 2;grid-column:1}.board-line{grid-row:1;grid-column:2;overflow:hidden;text-overflow:ellipsis}.board-platform{grid-row:1;grid-column:3}.board-direction{grid-row:2;grid-column:2 / -1}.board-provenance{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}.train-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 0 17px}.train-head h2{margin:0;font-family:var(--font-display);font-size:2rem;font-weight:var(--heading-weight)}.train-category{display:inline-block;padding:2px 8px;margin-right:8px;background:var(--brand);color:var(--on-brand);font-family:var(--font-body);font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;vertical-align:middle}.updated{color:var(--muted);font-size:.78rem;display:inline-flex;flex-direction:column;align-items:flex-end}.updated .schedule-date{font-weight:700}.updated .refresh-time{display:block}.next-stop{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 13px;padding:0 0 20px}.next-stop:empty{display:none}.next-stop-dot{grid-row:1 / span 2;width:15px;height:15px;border-radius:50%;background:var(--line)}.next-stop-dot.live{background:var(--green)}.next-stop-dot.late{background:var(--orange)}.next-stop-dot.cancel{background:var(--red)}.next-stop-dot.none{background:transparent;box-shadow:inset 0 0 0 2px var(--line)}.next-stop-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 10px;margin:0}.next-stop-label{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.next-stop-name{font-size:1.5rem;font-weight:750;letter-spacing:-.015em}.next-stop-rel{color:var(--brand);font-size:1rem;font-weight:700}.next-stop-chip{font-size:.95rem;font-weight:800}.next-stop-chip.late{color:var(--orange)}.next-stop-chip.cancel{color:var(--red)}.next-stop-chip.none{color:var(--muted);font-size:.8rem;font-weight:700}.next-stop-times{grid-column:2;margin:0;color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}.next-stop-times b{color:var(--ink);font-weight:700}.next-stop-times.cancelled b{text-decoration:line-through;opacity:.55}.updated .live-at{display:block;cursor:help}.updated .auto-refresh{display:inline-flex;align-items:center;gap:6px;margin-top:4px}.auto-refresh-dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--brand)}.auto-refresh.is-live .auto-refresh-dot{animation:auto-refresh-pulse 2.4s ease-in-out infinite}button.auto-refresh{margin:4px 0 0;padding:0;border:0;background:none;font:inherit;color:var(--muted);cursor:pointer}button.auto-refresh:hover,button.auto-refresh:focus-visible{color:var(--red)}button.auto-refresh .auto-refresh-dot{background:var(--orange)}button.auto-refresh:hover .auto-refresh-dot,button.auto-refresh:focus-visible .auto-refresh-dot{background:var(--red)}@keyframes auto-refresh-pulse{0%,to{opacity:1}50%{opacity:.3}}.fresh-flash{animation:fresh-flash 2.2s ease-out}@keyframes fresh-flash{0%{background-color:var(--tint);box-shadow:inset 3px 0 0 var(--brand)}to{background-color:transparent;box-shadow:inset 3px 0 0 transparent}}.train-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 18px}.train-meta .updated{order:1;flex:1 0 100%}.result-actions-wrap{position:relative;display:flex;align-items:center;gap:18px}.board-head-side .result-actions-wrap{gap:14px}.result-actions{display:flex;align-items:center;gap:18px}.board-head-side .result-actions{gap:14px}.result-actions-toggle,.action-label{display:none}.pin-btn{margin-left:.45em;padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:.75em;vertical-align:baseline;line-height:1;cursor:pointer;transition:color .15s}.pin-btn:hover{color:var(--brand)}.pin-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.pin-btn[aria-pressed=true]{color:var(--brand)}.mine-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:.4em;padding:0;border:0;background:none;color:var(--muted);vertical-align:baseline;cursor:pointer;transition:color .15s}.mine-btn svg{display:block}.mine-btn:hover{color:var(--brand)}.mine-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.mine-btn[aria-pressed=true]{color:var(--red)}.mine-btn[aria-pressed=true] svg{fill:currentColor}.mine-badge{padding:2px 6px;margin-left:.5em;box-shadow:inset 0 0 0 1px var(--brand);color:var(--brand);font-size:.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.station-row.mine .station-title strong{color:var(--brand)}.time-legend{padding:14px 0 0;color:var(--muted);font-size:.72rem}.time-legend .legend-plan{color:var(--ink);font-weight:700}.time-legend .legend-ist{color:var(--green);font-weight:700}.time-legend .legend-delay{color:var(--orange);font-weight:700}.time-legend .legend-cancel{color:var(--red);font-weight:700}.live-wait{padding:10px 14px;margin-bottom:14px;background:var(--surface-2);color:var(--muted);font-size:.78rem;line-height:1.45}.share-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%);z-index:55;max-width:min(90vw,30rem);padding:9px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);font-size:.85rem;box-shadow:var(--shadow)}.map-panel{position:relative;margin-bottom:18px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.route-svg{display:block;width:100%;height:auto;max-height:340px;overflow:visible}.route-line{fill:none;stroke:var(--ink);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.route-progress{fill:none;stroke:var(--brand);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.route-stop circle{fill:var(--ink);stroke:var(--paper);stroke-width:1.5}.route-stop[data-state=passed] circle{fill:var(--brand)}.route-stop[data-cancelled="1"] circle,.route-stop[data-skipped="1"] circle{fill:var(--paper);stroke:var(--muted);stroke-width:2}.route-label{fill:var(--ink);font-weight:500;paint-order:stroke;stroke:var(--paper);stroke-width:3}.route-label-strong{font-weight:800}.route-label.route-label-next{fill:var(--brand)}.train-position{transition:transform .8s ease}.train-position-halo{fill:var(--red);opacity:.22}.train-position-direction{fill:var(--red);stroke:var(--paper);stroke-width:1.5;paint-order:stroke;transform-origin:0 0;transition:transform .8s ease}@media(prefers-reduced-motion:reduce){.train-position,.train-position-direction{transition:none}.train-empty svg{animation:none}.auto-refresh.is-live .auto-refresh-dot,.fresh-flash{animation:none}.status.loading:after{animation:none}}.map-tiles-toggle{position:absolute;top:14px;right:14px;z-index:3;width:26px;height:26px;padding:0;display:grid;place-items:center;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:6px;cursor:pointer}.map-tiles-toggle:hover,.map-tiles-toggle:focus-visible{color:var(--brand);border-color:var(--brand);outline:none}.map-tiles-toggle[aria-pressed=true]{color:var(--brand);border-color:var(--brand);background:var(--tint)}.map-tiles-stack{position:relative}.map-tiles-stack .route-svg{position:absolute;top:0;left:0;width:100%;height:100%;max-height:none}.map-canvas{position:relative;overflow:hidden;border-radius:calc(var(--radius) - 6px);background:var(--tint)}.map-tile{position:absolute;width:256px;height:256px;user-select:none;pointer-events:none}.map-attribution{position:absolute;right:4px;bottom:4px;z-index:3;font-size:.62rem;line-height:1.4;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:1px 5px;text-decoration:none}.route-line-casing{fill:none;stroke:var(--paper);stroke-width:7;opacity:.8;stroke-linecap:round;stroke-linejoin:round}.map-tiles-error{margin:10px 0 0;font-size:.75rem;color:var(--muted)}.map-viewport{position:relative;overflow:hidden;border-radius:calc(var(--radius) - 6px);touch-action:none;cursor:grab;user-select:none}.map-viewport.map-panning{cursor:grabbing}.map-pan{will-change:transform}.map-zoom{position:absolute;top:48px;right:14px;z-index:3;display:grid;gap:4px}.map-zoom-btn{width:26px;height:26px;padding:0;display:grid;place-items:center;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:6px;cursor:pointer}.map-zoom-btn:hover:not(:disabled),.map-zoom-btn:focus-visible{color:var(--brand);border-color:var(--brand);outline:none}.map-zoom-btn:disabled{opacity:.45;cursor:default}.list-heading{display:flex;align-items:center;gap:14px;margin:10px 0 16px;color:var(--muted);font-size:1.15rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.list-heading:before,.list-heading:after{content:"";flex:1;min-width:12px;border-top:1px dashed var(--line)}.station-row{display:grid;grid-template-columns:38px 1fr 28px;gap:16px;min-height:82px;border-bottom:1px solid var(--line)}.station-row.current{margin:0 -12px;padding:0 12px;border:1px solid var(--tint-line);background:var(--tint)}.rail-marker{position:relative;min-height:82px}.rail-marker:before{position:absolute;top:0;bottom:-1px;left:18px;width:2px;background:var(--line);content:""}.station-row:first-child .rail-marker:before{top:50%}.station-row:last-child .rail-marker:before{bottom:50%}.rail-dot{position:absolute;z-index:1;top:50%;left:12px;width:14px;height:14px;transform:translateY(-50%);border:3px solid var(--paper);border-radius:50%;background:var(--line);box-shadow:0 0 0 1px var(--line)}.station-row.passed .rail-dot{background:var(--brand);box-shadow:0 0 0 1px var(--brand)}.station-row.current .rail-dot{width:18px;height:18px;left:10px;border-color:var(--accent);background:var(--brand);box-shadow:0 0 0 2px var(--brand)}.train-marker{position:absolute;z-index:2;left:8px;display:grid;width:22px;height:22px;place-items:center;background:var(--brand);color:var(--on-brand);font-size:1rem;font-weight:900;line-height:1}.station-marker{top:50%;transform:translateY(-50%)}.between-marker{bottom:-11px;border-radius:50%;transform:translateY(50%)}.station-main{align-self:center;padding:13px 0}.station-title{display:flex;align-items:center;gap:10px;min-height:23px}.station-title strong{font-size:1rem}.current-label{padding:3px 7px;background:var(--brand);color:var(--on-brand);font-size:.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.station-times{display:flex;flex-wrap:wrap;gap:16px;margin-top:6px}.event-time{display:grid;grid-template-columns:minmax(7ch,max-content) minmax(4.8ch,max-content) minmax(4.8ch,max-content) max-content;column-gap:7px;align-items:baseline;color:var(--muted);font-size:.75rem}.event-time strong,.event-time b{color:var(--ink);font-variant-numeric:tabular-nums}.event-time b{font-size:.8rem;font-weight:650}.event-time b.changed{color:var(--orange);font-weight:800}.event-time b.changed.cancelled{color:var(--red)}.event-time b.live{color:var(--green);font-weight:800}.event-time small{color:var(--muted);font-size:.68rem}.event-time small.platform{padding-left:26px}.event-time small.platform.changed,.board-platform.changed{font-weight:600}.event-time small.relative{grid-column:1 / -1;color:var(--brand);font-weight:700}.event-time b[title],.event-time strong[title]{cursor:help}.live-note{flex-basis:100%;color:var(--muted);font-size:.68rem}.delay{min-height:17px;margin-top:5px;color:var(--orange);font-size:.78rem;font-weight:750}.delay.cancelled{color:var(--red);font-weight:800}.event-time small.empty{visibility:hidden}.station-row.cancelled .event-time strong,.station-row.cancelled .event-time b,.station-row.skipped .event-time strong,.station-row.skipped .event-time b{text-decoration:line-through;opacity:.55}.station-row.cancelled .delay,.station-row.skipped .delay{letter-spacing:.02em}.passed-check{align-self:center;position:relative;display:block;width:20px;height:20px;cursor:default}.passed-check input{position:absolute;opacity:0}.checkmark{display:block;width:18px;height:18px;border:1px solid var(--line);background:transparent}.passed-check input:checked+.checkmark{border-color:var(--brand);background:var(--brand)}.passed-check input:checked+.checkmark:after{display:block;width:5px;height:9px;margin:2px 0 0 5px;border:solid var(--on-brand);border-width:0 2px 2px 0;transform:rotate(45deg);content:""}.coverage{margin-top:24px;padding:14px 16px;background:var(--surface-2);color:var(--muted);font-size:.78rem;line-height:1.45}footer{grid-area:footer;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin-top:80px;color:var(--muted);font-size:.72rem}footer a:link,footer a:visited{color:var(--muted);text-decoration:underline;text-underline-offset:2px}footer a:hover,footer a:focus{color:var(--ink)}footer nav.legal{display:flex;gap:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;text-decoration:none;color:var(--muted);font-size:.8rem}.skip-link:focus-visible{position:fixed;top:12px;left:12px;z-index:60;width:auto;height:auto;padding:10px 16px;margin:0;overflow:visible;clip:auto;white-space:normal;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);outline:2px solid var(--brand);outline-offset:1px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:600px){html{font-size:105%}.shell{width:min(100% - 28px,900px);padding-top:42px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.settings-wrap{top:10px;right:10px}.settings-toggle,.lang-toggle,.install-btn{width:44px;height:44px}.settings{top:52px;max-width:calc(100vw - 28px)}.mem-toggle{width:44px;height:44px}.mem-panel{top:52px;max-width:calc(100vw - 28px)}.masthead{padding-right:96px}h1{font-size:clamp(36px,11vw,52px)}.intro{margin-bottom:31px}.search input,.pair input,.board input{font-size:var(--search-font-m);padding:12px 8px 12px 1.2em}.search-submit{width:44px;font-size:1.5rem}html.mode-tabs-hidden .mode-switch{display:none}.chip{padding:6px 12px}.date-row{font-size:.83rem}.local-mode-switch,.times-option{font-size:.9rem}.next-stop-name{font-size:1.25rem}.next-stop-rel,.next-stop-chip{font-size:.88rem}.station-row{grid-template-columns:30px 1fr 24px;gap:10px}.rail-marker:before{left:14px}.rail-dot{left:8px}.station-row.current{margin:0 -7px;padding:0 7px}.station-row.current .rail-dot{left:6px}.train-marker{left:3px}.choice{grid-template-columns:1fr auto;gap:5px 12px;padding:12px 14px}.choice span{grid-column:1 / -1;grid-row:2}.choice time{grid-column:2;grid-row:1}.station-times{gap:8px 13px}.train-head h2,.board-head h2{font-size:1.5rem}.board-refresh,.map-toggle,.train-refresh,.share-link,.result-close,.result-actions-toggle{width:40px;height:40px}footer{flex-direction:column;gap:5px;margin-top:55px}}@media(max-width:760px){.train-head,.board-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:18px 0 12px}.train-head h2,.board-head h2{flex:1 1 0;min-width:0;overflow-wrap:anywhere}.board-head h2{text-wrap:balance}.train-meta,.board-head-side{display:contents}.train-head .result-actions-wrap,.board-head .result-actions-wrap{gap:8px}.result-actions-toggle{display:grid}.result-actions-wrap[data-open=true] .result-actions-toggle{color:var(--brand);border-color:var(--brand);background:var(--tint)}.train-head .result-actions,.board-head .result-actions{position:absolute;top:calc(100% + 6px);right:0;z-index:40;display:none;flex-direction:column;align-items:stretch;gap:2px;width:min(260px,calc(100vw - 28px));padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:var(--shadow)}.result-actions-wrap[data-open=true] .result-actions{display:flex}.result-actions>button{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;height:auto;min-height:44px;padding:8px 10px;border:0;border-radius:8px;font-size:.9rem;text-align:left}.result-actions .action-label{display:inline}.train-meta .updated,.board-head-side .updated{flex:1 0 100%;flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:2px 12px;text-align:right}.train-meta .updated .auto-refresh,.board-head-side .updated .auto-refresh{margin-top:0}}@media(max-width:340px){.board-head h2 .pin-btn{margin-left:.1em;font-size:.7em}}html[data-theme=sand]{color-scheme:light;--ink: #14211f;--muted: #5e6764;--paper: #f4f1ea;--card: #fffdf8;--line: #d9d4ca;--brand: #2c65a4;--accent: #2c65a4;--on-accent: #ffffff;--on-brand: #ffffff;--red: #c23029;--green: #2e7d32;--orange: #de6700;--tint: #f0f7d3;--tint-line: #cbdc87;--surface-2: #e9e5dc;--placeholder: #9d9b91;--radius: 0px;--shadow: none;--font-display: Georgia, "Times New Roman", serif;--font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-weight: 400;--heading-tracking: -.07em}html[data-theme=midnight]{color-scheme:dark;--ink: #e7eef7;--muted: #8594ab;--paper: #0a0e17;--card: #121826;--line: #26324a;--brand: #4da3ff;--accent: #33e6c0;--on-accent: #06231c;--on-brand: #07131f;--red: #ff6b7a;--green: #66bb6a;--orange: #f28e36;--tint: #12243a;--tint-line: #24466b;--surface-2: #101a2c;--placeholder: #4c5c78;--radius: 10px;--shadow: 0 8px 24px rgba(0, 0, 0, .35);--font-display: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Consolas, monospace;--font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-weight: 600;--heading-tracking: -.04em}html[data-theme=rail-red]{color-scheme:light;--ink: #171717;--muted: #636363;--paper: #ffffff;--card: #ffffff;--line: #d8d8d8;--brand: #e4001b;--accent: #e4001b;--on-accent: #ffffff;--on-brand: #ffffff;--red: #cd2100;--green: #1e7d32;--orange: #d27100;--tint: #fdecee;--tint-line: #f5c2c7;--surface-2: #f2f2f2;--placeholder: #a0a0a0;--radius: 0px;--shadow: none;--font-display: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--heading-weight: 800;--heading-tracking: -.05em}html[data-theme=forest]{color-scheme:light;--ink: #1e2a1f;--muted: #5e6b57;--paper: #f1f3ec;--card: #fbfcf7;--line: #d5dccb;--brand: #3f6b45;--accent: #cfd84a;--on-accent: #1e2a1f;--on-brand: #ffffff;--red: #bd3523;--green: #2e5e33;--orange: #dc6700;--tint: #e7eed9;--tint-line: #b9c99e;--surface-2: #e6ead9;--placeholder: #9aa489;--radius: 8px;--shadow: 0 2px 10px rgba(30, 42, 31, .08);--font-display: Georgia, "Iowan Old Style", "Times New Roman", serif;--font-body: Georgia, "Iowan Old Style", "Times New Roman", serif;--search-font-m: clamp(.88rem, 3.9vw, .95rem);--heading-weight: 400;--heading-tracking: -.04em}html[data-theme=neon]{color-scheme:dark;--ink: #d8ffe6;--muted: #5f9a6f;--paper: #050505;--card: #0a0a0a;--line: #123a24;--brand: #00ff9c;--accent: #00ff9c;--on-accent: #00150a;--on-brand: #00150a;--red: #ff3fa4;--green: #7fff00;--orange: #f28e36;--tint: #0a2a1a;--tint-line: #145232;--surface-2: #0d120d;--placeholder: #3f6b4f;--radius: 6px;--shadow: 0 0 18px rgba(0, 255, 156, .25);--font-display: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Consolas, monospace;--font-body: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Consolas, monospace;--search-font: clamp(1.1rem, 2.3vw, 1.2rem);--search-font-m: clamp(.82rem, 3.9vw, .95rem);--heading-weight: 700;--heading-tracking: -.02em}html[data-theme=catppuccin]{color-scheme:dark;--ink: #cdd6f4;--muted: #a6adc8;--paper: #1e1e2e;--card: #181825;--line: #313244;--brand: #89b4fa;--accent: #a6e3a1;--on-accent: #1e1e2e;--on-brand: #1e1e2e;--red: #f38ba8;--green: #a6e3a1;--orange: #f28e36;--tint: #313244;--tint-line: #45475a;--surface-2: #262640;--placeholder: #7f849c;--radius: 10px;--shadow: 0 8px 24px rgba(0, 0, 0, .35);--font-display: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-weight: 700;--heading-tracking: -.04em}html[data-theme=dracula]{color-scheme:dark;--ink: #f8f8f2;--muted: #a9a6bd;--paper: #282a36;--card: #343746;--line: #44475a;--brand: #bd93f9;--accent: #8be9fd;--on-accent: #1c1d26;--on-brand: #1c1d26;--red: #ff5555;--green: #50fa7b;--orange: #f28e36;--tint: #3a3c52;--tint-line: #6272a4;--surface-2: #323549;--placeholder: #7d7f94;--radius: 8px;--shadow: 0 8px 24px rgba(0, 0, 0, .4);--font-display: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Consolas, monospace;--font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-weight: 600;--heading-tracking: -.03em}html[data-theme=nord]{color-scheme:dark;--ink: #eceff4;--muted: #b9c4d4;--paper: #2e3440;--card: #3b4252;--line: #434c5e;--brand: #88c0d0;--accent: #a3be8c;--on-accent: #2e3440;--on-brand: #2e3440;--red: #bf616a;--green: #a3be8c;--orange: #f39849;--tint: #3d4a60;--tint-line: #5e81ac;--surface-2: #3b4252;--placeholder: #737f96;--radius: 4px;--shadow: 0 4px 16px rgba(0, 0, 0, .3);--font-display: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-weight: 500;--heading-tracking: -.05em}html[data-theme=gruvbox]{color-scheme:dark;--ink: #ebdbb2;--muted: #b0a08a;--paper: #282828;--card: #3c3836;--line: #504945;--brand: #83a598;--accent: #fabd2f;--on-accent: #282828;--on-brand: #282828;--red: #fb4934;--green: #b8bb26;--orange: #f28e36;--tint: #453f39;--tint-line: #665c54;--surface-2: #32302f;--placeholder: #7c6f64;--radius: 2px;--shadow: none;--font-display: Georgia, "Times New Roman", serif;--font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-weight: 400;--heading-tracking: -.07em}html[data-theme=tokyo-night]{color-scheme:dark;--ink: #c0caf5;--muted: #9aa5ce;--paper: #1a1b26;--card: #24283b;--line: #3b4261;--brand: #7aa2f7;--accent: #7dcfff;--on-accent: #1a1b26;--on-brand: #1a1b26;--red: #f7768e;--green: #9ece6a;--orange: #f28e36;--tint: #292e42;--tint-line: #565f89;--surface-2: #222538;--placeholder: #565f89;--radius: 8px;--shadow: 0 8px 24px rgba(0, 0, 0, .4);--font-display: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-weight: 600;--heading-tracking: -.04em}html[data-theme=solarized]{color-scheme:dark;--ink: #839496;--muted: #819da7;--paper: #002b36;--card: #073642;--line: #12333d;--brand: #268bd2;--accent: #2aa198;--on-accent: #002b36;--on-brand: #002b36;--red: #dc322f;--green: #859900;--orange: #f28e36;--tint: #0a3a48;--tint-line: #586e75;--surface-2: #04303d;--placeholder: #586e75;--radius: 0px;--shadow: none;--font-display: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-weight: 400;--heading-tracking: -.03em}html[data-theme=monokai]{color-scheme:dark;--ink: #f8f8f2;--muted: #a4a18a;--paper: #272822;--card: #32322b;--line: #4a4a3d;--brand: #66d9ef;--accent: #a6e22e;--on-accent: #272822;--on-brand: #272822;--red: #f92672;--green: #a6e22e;--orange: #f28e36;--tint: #3e3d32;--tint-line: #75715e;--surface-2: #35352c;--placeholder: #75715e;--radius: 0px;--shadow: none;--font-display: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Consolas, monospace;--font-body: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Consolas, monospace;--search-font: clamp(1.1rem, 2.3vw, 1.2rem);--search-font-m: clamp(.82rem, 3.9vw, .95rem);--heading-weight: 700;--heading-tracking: 0em}html[data-theme=one-dark]{color-scheme:dark;--ink: #abb2bf;--muted: #8b93a4;--paper: #282c34;--card: #21252b;--line: #3e4451;--brand: #61afef;--accent: #98c379;--on-accent: #282c34;--on-brand: #282c34;--red: #e06c75;--green: #98c379;--orange: #f28e36;--tint: #2c313a;--tint-line: #4b5263;--surface-2: #232830;--placeholder: #7f848e;--radius: 6px;--shadow: 0 6px 20px rgba(0, 0, 0, .35);--font-display: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-weight: 600;--heading-tracking: -.04em}html[data-theme=everforest]{color-scheme:dark;--ink: #d3c6aa;--muted: #a8b29a;--paper: #1e2326;--card: #272e33;--line: #3d484d;--brand: #a7c080;--accent: #7fbbb3;--on-accent: #1e2326;--on-brand: #1e2326;--red: #e67e80;--green: #83c092;--orange: #f28e36;--tint: #343f44;--tint-line: #4a575c;--surface-2: #22292e;--placeholder: #859289;--radius: 4px;--shadow: 0 4px 16px rgba(0, 0, 0, .3);--font-display: Georgia, "Iowan Old Style", "Times New Roman", serif;--font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-weight: 400;--heading-tracking: -.03em}html[data-theme=rose-pine]{color-scheme:dark;--ink: #e0def4;--muted: #9893b5;--paper: #191724;--card: #1f1d2e;--line: #26233a;--brand: #c4a7e7;--accent: #f6c177;--on-accent: #191724;--on-brand: #191724;--red: #eb6f92;--green: #a3b899;--orange: #f28e36;--tint: #26233a;--tint-line: #403d52;--surface-2: #1c1a28;--placeholder: #6e6a86;--radius: 10px;--shadow: 0 8px 24px rgba(0, 0, 0, .35);--font-display: Georgia, "Iowan Old Style", "Times New Roman", serif;--font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-weight: 400;--heading-tracking: -.05em}html[data-theme=matrix]{color-scheme:dark;--ink: #b9ffcb;--muted: #4f9f63;--paper: #020d02;--card: #06120a;--line: #0f3d1d;--brand: #00ff41;--accent: #00ff41;--on-accent: #020d02;--on-brand: #020d02;--red: #ff3b5c;--green: #66ff66;--orange: #f28e36;--tint: #0a2412;--tint-line: #145232;--surface-2: #040b06;--placeholder: #2e7a42;--radius: 0px;--shadow: 0 0 18px rgba(0, 255, 65, .25);--font-display: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Consolas, monospace;--font-body: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Consolas, monospace;--search-font: clamp(1.1rem, 2.3vw, 1.2rem);--search-font-m: clamp(.82rem, 3.9vw, .95rem);--heading-weight: 700;--heading-tracking: 0em}html[data-theme=cappuccino]{color-scheme:light;--ink: #3d2c1c;--muted: #72614b;--paper: #f6efe3;--card: #fffdf7;--line: #e2d5c0;--brand: #8a5a2b;--accent: #d9a05b;--on-accent: #3d2c1c;--on-brand: #fffdf7;--red: #b6311b;--green: #6b8e23;--orange: #de6700;--tint: #f0e3cd;--tint-line: #d9c29b;--surface-2: #ece0ca;--placeholder: #b39b7d;--radius: 10px;--shadow: 0 4px 18px rgba(90, 60, 30, .1);--font-display: Georgia, "Iowan Old Style", "Times New Roman", serif;--font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-weight: 400;--heading-tracking: -.04em}html[data-theme=sky]{color-scheme:light;--ink: #10365c;--muted: #4f6e8f;--paper: #f2f7fc;--card: #ffffff;--line: #caddf0;--brand: #1a70d6;--accent: #2b9cd8;--on-accent: #ffffff;--on-brand: #ffffff;--red: #ca233b;--green: #1f9d55;--orange: #e06800;--tint: #ddebf7;--tint-line: #b6d1ea;--surface-2: #e5effa;--placeholder: #8aa8c4;--radius: 10px;--shadow: 0 4px 18px rgba(20, 80, 160, .1);--font-display: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-weight: 600;--heading-tracking: -.03em}html[data-theme=chalk]{color-scheme:light;--ink: #1c1c1c;--muted: #6a6a6a;--paper: #f4f4f4;--card: #ffffff;--line: #d9d9d9;--brand: #1c1c1c;--accent: #4d4d4d;--on-accent: #ffffff;--on-brand: #ffffff;--red: #ba3b3e;--green: #3f8f52;--orange: #e06800;--tint: #e9e9e9;--tint-line: #cfcfcf;--surface-2: #ececec;--placeholder: #a8a8a8;--radius: 6px;--shadow: 0 4px 18px rgba(0, 0, 0, .1);--font-display: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--heading-weight: 600;--heading-tracking: -.02em}html[data-layout=klassik] .status,html[data-layout=karten] .status,html[data-layout=zeitachse] .status{margin:10px 0 0;min-height:0}html[data-layout=klassik] .train-empty,html[data-layout=karten] .train-empty,html[data-layout=zeitachse] .train-empty{margin-top:0}.side{display:contents}html[data-layout=seitenleiste] .shell{position:relative;display:grid;grid-template-columns:600px minmax(0,1fr);grid-template-rows:auto auto;grid-template-areas:"side results" "side disclaimer";width:100%;max-width:none;margin:0;padding:0;min-height:100vh}html[data-layout=seitenleiste] .side{display:flex;flex-direction:column;grid-area:side;position:sticky;top:0;height:100vh;min-height:0;overflow-y:auto;z-index:1}html[data-layout=seitenleiste] .results{grid-area:results;align-self:flex-start}html[data-layout=seitenleiste] .disclaimer{grid-area:disclaimer}html[data-layout=seitenleiste] .shell:before{position:absolute;top:0;left:0;bottom:0;width:600px;background:var(--card);border-right:1px solid var(--line);content:"";z-index:0}html[data-layout=seitenleiste] .masthead,html[data-layout=seitenleiste] .search-wrap,html[data-layout=seitenleiste] .hint,html[data-layout=seitenleiste] .local-mode-wrap,html[data-layout=seitenleiste] .status,html[data-layout=seitenleiste] .faq,html[data-layout=seitenleiste] footer{position:relative;z-index:1;padding-left:34px;padding-right:34px}html[data-layout=seitenleiste] .masthead{max-width:none;padding-top:12px}html[data-layout=seitenleiste] h1{font-size:clamp(26px,3.2vw,38px)}html[data-layout=seitenleiste] .eyebrow{margin-bottom:10px}html[data-layout=seitenleiste] .intro{font-size:.9rem;margin:8px 0 12px}html[data-layout=seitenleiste] .search-wrap{max-width:600px;padding-left:22px;padding-right:22px}html[data-layout=seitenleiste] .hint,html[data-layout=seitenleiste] .local-mode-wrap{margin-top:10px}html[data-layout=seitenleiste] .date-row{margin-top:8px}html[data-layout=seitenleiste] footer{margin-top:0;padding-top:10px;padding-bottom:10px;flex-direction:row;flex-wrap:wrap;column-gap:18px;row-gap:4px}html[data-layout=seitenleiste] .faq{margin-top:auto;padding-bottom:12px}html[data-layout=seitenleiste] .disclaimer,html[data-layout=seitenleiste] .results{padding-left:clamp(24px,4vw,60px);padding-right:clamp(24px,4vw,60px)}html[data-layout=seitenleiste] .status{margin-top:24px;min-height:24px}html[data-layout=seitenleiste] .disclaimer{margin-top:24px}html[data-layout=seitenleiste] .train-empty{grid-area:results;align-self:start;z-index:2;margin-top:64px}html[data-layout=seitenleiste] .results>.train-head:first-child{padding-right:94px}html[data-layout=seitenleiste] .results{max-width:980px}@media(max-width:760px){html[data-layout=seitenleiste] .side{display:contents;position:static;height:auto;min-height:0;overflow:visible}html[data-layout=seitenleiste] .shell{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(9,auto) minmax(0,1fr);grid-template-areas:"masthead" "search" "hint" "local" "status" "train" "results" "disclaimer" "faq" "footer";min-height:0}html[data-layout=seitenleiste] .shell:before{display:none}html[data-layout=seitenleiste] .faq{margin-top:24px;padding-bottom:0}html[data-layout=seitenleiste] .masthead,html[data-layout=seitenleiste] .search-wrap,html[data-layout=seitenleiste] .hint,html[data-layout=seitenleiste] .local-mode-wrap,html[data-layout=seitenleiste] .status,html[data-layout=seitenleiste] footer{padding-left:20px;padding-right:20px}html[data-layout=seitenleiste] .results{padding-left:20px;padding-right:20px;align-self:auto;padding-top:0}html[data-layout=seitenleiste] .train-empty{grid-area:train;align-self:auto;z-index:auto;margin-top:10px}html[data-layout=seitenleiste] .results>.train-head:first-child{padding-right:0}html[data-layout=seitenleiste] .search-wrap{padding-left:12px;padding-right:12px}html[data-layout=seitenleiste].mode-tabs-hidden .mode-switch{display:none}html[data-layout=seitenleiste] .masthead{padding-top:42px}html[data-layout=seitenleiste] footer{margin-top:55px}}html:is([data-layout=klassik],[data-layout=karten],[data-layout=zeitachse]) h1{font-size:clamp(37.3px,6.7vw,64px)}html[data-layout=karten] .shell{width:min(720px,calc(100% - 40px));padding-top:56px}html[data-layout=karten] .masthead{max-width:none;text-align:center}html[data-layout=karten] .intro{margin-left:auto;margin-right:auto;margin-bottom:32px}html[data-layout=karten] .search{border:var(--search-border-width) solid var(--line);border-radius:var(--search-radius);background:var(--card);box-shadow:var(--shadow);overflow:hidden}html[data-layout=karten] .hint,html[data-layout=karten] .disclaimer{text-align:center}html[data-layout=karten] .results{border-top:0}html[data-layout=karten] .train-head{padding-top:34px}html[data-layout=karten] .station-plan{display:grid;gap:12px;margin-top:4px}html[data-layout=karten] .station-row{grid-template-columns:42px 1fr 28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);padding:2px 18px;min-height:auto}html[data-layout=karten] .station-row.current{margin:0;border-color:var(--tint-line);background:var(--tint)}html[data-layout=karten] .rail-marker{min-height:0}html[data-layout=karten] .rail-marker:before{display:none}html[data-layout=karten] .rail-dot{left:50%;transform:translate(-50%,-50%)}html[data-layout=karten] .station-row.current .rail-dot{left:50%}html[data-layout=karten] .train-marker{left:50%;transform:translate(-50%)}html[data-layout=karten] .between-marker{bottom:auto;top:50%;transform:translate(-50%,-50%)}html[data-layout=karten] .choice{border-radius:var(--radius);box-shadow:var(--shadow);background:var(--card)}@media(max-width:600px){html[data-layout=karten] .shell{width:min(100% - 28px,720px);padding-top:42px}html[data-layout=karten] .station-row{grid-template-columns:34px 1fr 24px;padding:2px 12px}html[data-layout=karten] .train-head{padding-top:24px}}html[data-layout=zeitachse] .shell{width:min(90vw,calc(100% - 32px))}html[data-layout=zeitachse] .masthead{max-width:none;text-align:center}html[data-layout=zeitachse] .intro{margin-left:auto;margin-right:auto}html[data-layout=zeitachse] .search-wrap{width:min(680px,100%);margin-inline:auto}html[data-layout=zeitachse] .hint,html[data-layout=zeitachse] .status,html[data-layout=zeitachse] .disclaimer{text-align:center}html[data-layout=zeitachse] .results{border-top:0}html[data-layout=zeitachse] .train-head{justify-content:center;text-align:center}html[data-layout=zeitachse] .train-meta{justify-content:center}html[data-layout=zeitachse] .train-meta .updated{align-items:center;justify-content:center;text-align:center}html[data-layout=zeitachse] .next-stop{grid-template-columns:auto auto;justify-content:center}html[data-layout=zeitachse] .next-stop-main,html[data-layout=zeitachse] .next-stop-times{justify-content:center;text-align:center}html[data-layout=zeitachse] .station-plan{display:flex;flex-direction:row;overflow-x:auto;padding:18px 8px;scroll-snap-type:x proximity}html[data-layout=zeitachse] .station-row{display:flex;flex-direction:column;align-items:center;flex:1 0 190px;min-height:0;border-bottom:0;padding:0 12px;scroll-snap-align:center}html[data-layout=zeitachse] .rail-marker{width:100%;height:26px;min-height:0}html[data-layout=zeitachse] .rail-marker:before{inset:50% -12px auto;width:auto;height:3px;transform:translateY(-50%)}html[data-layout=zeitachse] .station-row:first-child .rail-marker:before{left:50%}html[data-layout=zeitachse] .station-row:last-child .rail-marker:before{right:50%}html[data-layout=zeitachse] .rail-dot{left:50%;transform:translate(-50%,-50%)}html[data-layout=zeitachse] .station-row.current .rail-dot{left:50%}html[data-layout=zeitachse] .train-marker,html[data-layout=zeitachse] .station-marker,html[data-layout=zeitachse] .between-marker{top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%);border-radius:50%}html[data-layout=zeitachse] .station-main{width:100%;text-align:center;padding:12px 0 0}html[data-layout=zeitachse] .station-title{justify-content:center}html[data-layout=zeitachse] .station-times{flex-direction:column;gap:6px}html[data-layout=zeitachse] .event-time{justify-content:center}html[data-layout=zeitachse] .passed-check{margin-top:10px}@media(max-width:600px){html[data-layout=zeitachse] .shell{width:calc(100% - 28px)}html[data-layout=zeitachse] .search-wrap{margin:0;max-width:none}html[data-layout=zeitachse] .station-plan{padding:26px 4px 14px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}html[data-layout=zeitachse] .station-row{flex:1 0 160px;padding:0 8px}html[data-layout=zeitachse] .station-title strong{font-size:.9rem}}html[data-layout=kompakt] .shell{grid-template-columns:minmax(0,1fr) minmax(0,580px);grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto auto auto;grid-template-areas:"masthead search" ".        hint" ".        local" "status   status" "train    train" "results  results" "disclaimer disclaimer" "faq      faq" "footer   footer";column-gap:48px;width:min(980px,calc(100% - 40px));align-items:start;position:relative}html[data-layout=kompakt] .times-switch{position:absolute;left:0}html[data-layout=kompakt] .masthead{max-width:none}html[data-layout=kompakt] .eyebrow{margin-bottom:8px}html[data-layout=kompakt] h1{font-size:clamp(32px,5vw,48px)}html[data-layout=kompakt] .intro{display:none}html[data-layout=kompakt] .search-wrap{width:min(580px,100%);align-self:center}html[data-layout=kompakt] .hint{margin-top:-4px;font-size:.8rem}html[data-layout=kompakt] .status{margin:22px 0 10px;min-height:20px}html[data-layout=kompakt] .train-head{padding:14px 0 10px}html[data-layout=kompakt] .train-head h2{font-size:1.35rem}html[data-layout=kompakt] .next-stop{padding-bottom:12px}html[data-layout=kompakt] .next-stop-name{font-size:1.15rem}html[data-layout=kompakt] .next-stop-rel,html[data-layout=kompakt] .next-stop-chip{font-size:.85rem}html[data-layout=kompakt] .next-stop-times{font-size:.78rem}html[data-layout=kompakt] .list-heading{font-size:1rem;margin:6px 0 12px}html[data-layout=kompakt] .station-row{grid-template-columns:22px 1fr 24px;gap:12px;min-height:0}html[data-layout=kompakt] .rail-marker{min-height:0}html[data-layout=kompakt] .rail-marker:before{left:8px;width:1px}html[data-layout=kompakt] .rail-dot{left:5px;width:10px;height:10px;border-width:2px}html[data-layout=kompakt] .station-row.current .rail-dot{width:12px;height:12px;left:4px}html[data-layout=kompakt] .train-marker{left:1px;width:18px;height:18px;font-size:.85rem}html[data-layout=kompakt] .between-marker{bottom:-8px}html[data-layout=kompakt] .station-main{padding:7px 0}html[data-layout=kompakt] .station-title{min-height:0}html[data-layout=kompakt] .station-title strong{font-size:.9rem}html[data-layout=kompakt] .current-label{padding:2px 5px;font-size:.58rem}html[data-layout=kompakt] .mine-btn{width:18px;height:18px}html[data-layout=kompakt] .mine-badge{padding:2px 5px;font-size:.58rem}html[data-layout=kompakt] .station-times{gap:14px;margin-top:2px}html[data-layout=kompakt] .event-time{font-size:.72rem}html[data-layout=kompakt] .delay{margin-top:2px;font-size:.72rem}html[data-layout=kompakt] .coverage{margin-top:16px;padding:10px 14px;font-size:.72rem}@media(max-width:640px){html[data-layout=kompakt] .shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"masthead" "search" "hint" "local" "status" "train" "results" "disclaimer" "faq" "footer";grid-template-rows:repeat(9,auto) minmax(0,1fr)}html[data-layout=kompakt] .search-wrap,html[data-layout=kompakt] .search{max-width:none}html[data-layout=kompakt] .search-wrap{margin-top:20px}html[data-layout=kompakt].mode-tabs-hidden .mode-switch{display:none}html[data-layout=kompakt] .hint{margin-top:12px}html[data-layout=kompakt] .local-mode-wrap{margin-top:14px}html[data-layout=kompakt] .times-switch{position:static}}.seo-blocks{width:min(900px,calc(100% - 40px));margin:0 auto 24px;font-size:.85rem;line-height:1.55}.seo-blocks h2{margin:26px 0 10px;font-family:var(--font-display);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);font-size:1.15rem}.seo-blocks p{margin:8px 0;color:var(--ink)}.seo-blocks a{color:var(--brand)}.seo-blocks .seo-home h2{font-family:var(--font-body)}.seo-route{columns:2;column-gap:22px;margin:12px 0;padding-left:20px}.seo-route li{break-inside:avoid;padding:1px 0}.seo-title{margin:26px 0 10px;font-family:var(--font-display);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking);font-size:1.35rem;line-height:1.25}.seo-timetable-wrap{margin:12px 0;overflow-x:auto}.seo-timetable{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.seo-timetable caption{text-align:left;color:var(--muted);font-size:.78rem;padding-bottom:6px}.seo-timetable th,.seo-timetable td{text-align:left;padding:4px 10px 4px 0;border-bottom:1px solid var(--line)}.seo-timetable th{font-weight:600;color:var(--muted)}.faq{grid-area:faq;margin-top:24px}.faq-toggle{padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:.78rem;text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .15s ease}.faq-toggle:hover,.faq-toggle:focus-visible{color:var(--ink)}.faq-list details{border-top:1px solid var(--line);padding:8px 0}.faq-list summary{cursor:pointer;font-weight:500;color:var(--muted);list-style:none;display:flex;align-items:center;gap:8px;transition:color .15s ease}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:before{content:"+";width:1em;color:var(--brand);font-weight:600}.faq-list details[open] summary:before{content:"\2212"}.faq-list summary:hover{color:var(--brand)}.faq-list p{color:var(--muted);margin:8px 0 2px 1.55em}@media(max-width:640px){.seo-route{columns:1}}
