:root{--cream:#f0ead8;--cream-deep:#e5dcc4;--card:#fbf8ee;--search-field:#fffdf5;--ink:#0e2d38;--ink-soft:#2a4754;--ink-mute:#4a636d;--accent:#5ca3b9;--accent-deep:#2f7181;--accent-text:#2f7181;--on-time:#c9e265;--ontime-pill-text:#2a3a10;--ontime-text:#3e6b2d;--warn:#f7d06b;--warn-wash:#faefd1;--late-text:#8a5200;--cancel-text:#a32718;--bad-wash:#e8c1b8;--ontime-invert:#9cc98b;--late-invert:#ebac52;--cancel-invert:#ec826c;--line:#0e2d381f;--line-strong:#0e2d3838;--shadow:0 10px 30px #0e2d3814;--shadow-lift:0 30px 60px -34px #0e2d3866;--shadow-pop:0 24px 50px -18px #0e2d3859;--bg:var(--cream);--bg-deep:var(--cream-deep);--surface:var(--card);--surface-input:var(--search-field);--text-primary:var(--ink);--text-secondary:var(--ink-soft);--text-muted:var(--ink-mute);--text-invert:var(--cream);--link:var(--accent-text);--status-late:var(--late-text);--status-cancel:var(--cancel-text);--status-ontime:var(--ontime-text);--focus-ring:var(--accent-deep);--display:-apple-system, "SF Pro Display", "Helvetica Neue", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace;--fs-micro:11px;--fs-label:12px;--fs-small:13px;--fs-body:15px;--fs-lead:17px;--fs-title:21px;--fs-h2:clamp(28px, 4.4vw, 46px);--fs-hero:clamp(40px, 6vw, 72px);--track-tight:-.035em;--track-wide:.12em;--track-wider:.18em;--track-widest:.28em;--r-tag:8px;--r-card:16px;--r-panel:24px;--r-pill:100px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px}[data-theme=dark]{--cream:#100e0a;--cream-deep:#080705;--card:#2c271e;--search-field:#373126;--ink:#f4efe3;--ink-soft:#d6cfbf;--ink-mute:#ada492;--accent:#6e6450;--accent-deep:#8fbacb;--accent-text:#8fbacb;--on-time:#34430f;--ontime-pill-text:#c9e265;--ontime-text:#9cc98b;--warn:#6b5210;--warn-wash:#3b2a05;--late-text:#ebac52;--cancel-text:#ec826c;--bad-wash:#6e3a2f;--ontime-invert:#3e6b2d;--late-invert:#8a5200;--cancel-invert:#a32718;--line:#f4efe32e;--line-strong:#f4efe34d;--shadow:0 10px 30px #00000073;--shadow-lift:0 30px 60px -34px #0009;--shadow-pop:0 24px 50px -18px #0000008c}*,:before,:after{box-sizing:border-box}*{margin:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);color:var(--text-primary);font-family:var(--display);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;line-height:1.5}img,svg{max-width:100%;display:block}button,input,select{font:inherit;color:inherit}a{color:var(--link);text-underline-offset:3px}h1,h2,h3{letter-spacing:-.04em;font-weight:500;line-height:1.02}h1{font-size:var(--fs-hero);letter-spacing:-.045em;line-height:.98}h2{font-size:var(--fs-h2)}h1 .q,h2 .q{color:var(--text-muted)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}::selection{background:var(--accent);color:var(--ink)}.wrap{max-width:1140px;margin:0 auto;padding-inline:28px}@media (width<=600px){.wrap{padding-inline:18px}}.skip-link{z-index:100;background:var(--ink);color:var(--text-invert);border-radius:0 0 var(--r-tag) 0;font-family:var(--mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:var(--track-wide);padding:10px 18px;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.kicker{font-family:var(--mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:var(--track-widest);color:var(--text-muted)}.kicker i{background:var(--on-time);border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}[data-theme=dark] .kicker i{background:var(--ontime-text)}.mono{font-family:var(--mono)}.microlabel{font-family:var(--mono);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--text-muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--shadow-lift);overflow:hidden}.card{background:var(--surface);border:1px solid var(--line);border-radius:20px}.chip{cursor:pointer;border:1px solid var(--line);border-radius:var(--r-pill);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text-secondary);background:0 0;align-items:center;gap:6px;padding:8px 13px;font-weight:600;display:inline-flex}.chip:hover{border-color:var(--ink-mute);color:var(--text-primary)}.chip[aria-pressed=true],.chip--active{background:var(--ink);border-color:var(--ink);color:var(--text-invert)}.chip--fav{border-color:color-mix(in srgb, var(--accent) 55%, var(--line))}.chip--dashed{border-style:dashed}.cta{cursor:pointer;white-space:nowrap;font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--track-wide);text-transform:uppercase;background:var(--ink);color:var(--text-invert);border-radius:var(--r-pill);border:0;justify-content:center;align-items:center;gap:9px;padding:10px 18px;font-weight:600;text-decoration:none;display:inline-flex}.cta:hover{background:var(--ink-soft)}.cta--ghost{color:var(--text-primary);border:1px solid var(--line);background:0 0}.cta--ghost:hover{border-color:var(--ink-mute);background:0 0}.seg{background:var(--bg-deep);border-radius:var(--r-pill);padding:3px;display:flex}.seg button{cursor:pointer;border-radius:var(--r-pill);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text-muted);background:0 0;border:0;padding:9px 15px;font-weight:600;transition:background .2s,color .2s}.seg button[aria-pressed=true]{background:var(--ink);color:var(--text-invert)}.seg button:not([aria-pressed=true]):hover{color:var(--text-primary)}.crs-tag{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:var(--track-wide);background:var(--bg-deep);color:var(--text-secondary);border-radius:7px;padding:4px 8px;font-weight:700}.stat-ok{color:var(--status-ontime)}.stat-late{color:var(--status-late)}.stat-cancel{color:var(--status-cancel);font-weight:700}.field-clear,.fav,.home-journeys__chip button,.jmap__views button,.nav-burger{position:relative}.field-clear:after,.fav:after,.home-journeys__chip button:after,.jmap__views button:after,.nav-burger:after{content:"";position:absolute;inset:min(0px,50% - 22px)}.planner__error{color:var(--status-late);font-size:var(--fs-small);margin-top:10px}.page{padding-block:48px 64px}.page .kicker{margin-bottom:18px;display:block}.combo{position:relative}.page-head{margin-bottom:30px}.page-head .kicker{margin-bottom:16px;display:block}.page-head h1{font-size:var(--fs-h2)}.page-head__sub{font-size:var(--fs-body);color:var(--text-secondary);max-width:560px;margin-top:12px;line-height:1.55}.field-pill{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-pill);align-items:center;gap:10px;padding:6px 6px 6px 18px;transition:border-color .2s,box-shadow .2s;display:flex}.field-pill:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent)}.field-pill input{min-width:0;font-family:var(--display);font-size:var(--fs-body);color:var(--text-primary);background:0 0;border:0;outline:none;flex:1;padding:10px 0}.field-pill input::placeholder{color:var(--text-muted)}.field-pill .field-go{cursor:pointer;font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--track-wide);text-transform:uppercase;background:var(--ink);color:var(--text-invert);border-radius:var(--r-pill);border:0;flex:none;padding:12px 20px;font-weight:600}.field-pill .field-go:hover{background:var(--ink-soft)}.field-pill .field-clear{cursor:pointer;background:var(--bg-deep);width:24px;height:24px;color:var(--text-secondary);border:0;border-radius:50%;flex:none;margin-right:6px;line-height:1}.field-pill .field-clear:hover{background:var(--ink);color:var(--text-invert)}.field-icon{fill:none;width:17px;height:17px;stroke:var(--ink-mute);stroke-width:2px;stroke-linecap:round;flex:none}.suggest{z-index:40;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-pop);border-radius:18px;max-height:340px;margin:0;padding:0;list-style:none;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden auto}.suggest li{cursor:pointer;border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 16px;display:flex}.suggest li:last-child{border-bottom:0}.suggest li[aria-selected=true],.suggest li:hover{background:color-mix(in srgb, var(--accent) 14%, transparent)}.suggest .s-name{font-size:var(--fs-small);letter-spacing:-.01em;flex:1;font-weight:600}.suggest .s-crs{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:var(--track-wide);background:var(--bg-deep);color:var(--text-secondary);border-radius:7px;padding:4px 8px;font-weight:700}.suggest .s-empty{color:var(--text-muted);font-size:var(--fs-small);cursor:default}.suggest .s-empty:hover{background:0 0}.skel{border-bottom:1px solid var(--line);padding:15px 26px}.skel i{background:var(--bg-deep);border-radius:6px;height:14px;animation:1.4s ease-in-out infinite pulse;display:block}.skel i+i{width:45%;height:10px;margin-top:8px}@keyframes pulse{50%{opacity:.45}}.banner{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-small);line-height:1.5}.banner--warn{background:color-mix(in srgb, var(--warn) 22%, var(--surface));color:var(--text-secondary)}.banner--bad{background:var(--bad-wash);color:var(--status-cancel)}.live-dot{background:var(--on-time);border-radius:50%;width:6px;height:6px;animation:2.4s infinite blink;display:inline-block}[data-theme=dark] .live-dot{background:var(--ontime-text)}@keyframes blink{50%{opacity:.3}}.tracker-bar{z-index:60;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));width:min(560px, calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));align-items:stretch;gap:8px;display:flex;position:fixed;transform:translate(-50%)}.tracker-bar__body{cursor:pointer;background:var(--ink);min-width:0;color:var(--text-invert);box-shadow:var(--shadow-pop);text-align:left;border:0;border-radius:16px;flex:1;align-items:center;gap:12px;padding:13px 16px;display:flex;position:relative;overflow:hidden}.tracker-bar__label{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--track-wide);white-space:nowrap;opacity:.85;align-items:center;gap:7px;display:inline-flex}.tracker-bar__value{min-width:0;font-size:var(--fs-small);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.tracker-bar__status{font-size:var(--fs-label);letter-spacing:var(--track-wide);white-space:nowrap}.tracker-bar__body .stat-ok{color:var(--ontime-invert)}.tracker-bar__body .stat-late{color:var(--late-invert)}.tracker-bar__body .stat-cancel{color:var(--cancel-invert)}.tracker-bar__progress{background:var(--accent);height:3px;transition:width 1s;position:absolute;bottom:0;left:0}[data-theme=dark] .tracker-bar__progress{background:var(--accent-text)}.tracker-bar.is-stale .tracker-bar__body{opacity:.82}.tracker-bar__stop{cursor:pointer;background:var(--ink);min-width:44px;color:var(--text-invert);font-size:var(--fs-title);box-shadow:var(--shadow-pop);border:0;border-radius:16px;flex:none;padding:0 12px;line-height:1}.tracker-bar__stop:hover{background:var(--ink-soft)}.tracker-bar__stop.is-armed{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--cancel-invert);font-weight:700}body.has-tracker-bar .site-foot{padding-bottom:120px}@media (width<=600px){.tracker-bar__label{display:none}}.site-head{z-index:50;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0}.site-head__row{align-items:center;gap:26px;padding-top:13px;padding-bottom:13px;display:flex}.wordmark{font-family:var(--mono);font-size:var(--fs-small);letter-spacing:var(--track-widest);color:var(--text-primary);flex:none;align-items:center;gap:9px;font-weight:700;text-decoration:none;display:inline-flex}.wordmark b{color:var(--accent-deep)}[data-theme=dark] .wordmark b{color:var(--accent-text)}.wordmark--small{font-size:var(--fs-micro)}.wordmark__mark{border:1px solid var(--line);border-radius:7px;flex:none}.wordmark__mark--dark,[data-theme=dark] .wordmark__mark--light{display:none}[data-theme=dark] .wordmark__mark--dark{display:block}.site-nav{align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.site-nav a{font-family:var(--mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--text-muted);border-radius:var(--r-pill);align-items:center;padding:8px 13px;font-weight:600;text-decoration:none;display:inline-flex}.site-nav a:hover{color:var(--text-primary);background:var(--bg-deep)}.site-nav a[aria-current=page]{color:var(--text-invert);background:var(--ink)}.site-head__desktop{margin-left:auto}.site-head__actions{flex:none;align-items:center;gap:8px;display:flex}.nav-burger{font-size:var(--fs-small);padding:7px 11px;display:none}.site-head__mobile{display:none}.nav-badge{border-radius:var(--r-pill);background:var(--warn-wash);min-width:18px;height:18px;color:var(--status-late);font-size:var(--fs-micro);letter-spacing:0;justify-content:center;align-items:center;margin-left:6px;padding:0 5px;font-weight:700;display:inline-flex}.site-nav a[aria-current=page] .nav-badge{background:var(--warn);color:var(--ontime-pill-text)}.site-main{min-height:72vh}.site-main:focus{outline:none}.update-toast{z-index:70;left:50%;top:calc(64px + env(safe-area-inset-top,0px));background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-pill);box-shadow:var(--shadow-pop);align-items:center;gap:14px;padding:8px 8px 8px 20px;display:flex;position:fixed;transform:translate(-50%)}.update-toast__label{color:var(--text-secondary)}.site-foot{border-top:1px solid var(--line);margin-top:64px;padding:44px 0 60px}.site-foot__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.site-foot__credits{justify-items:end;gap:8px;display:grid}.site-foot__powered{align-items:center;gap:10px;margin:0;display:inline-flex}.site-foot__nr{flex:none}.site-foot__legal{letter-spacing:var(--track-wide);text-align:right;margin:0;line-height:2}.site-foot__legal span{display:block}@media (width<=720px){.site-head__row{gap:14px}.site-head__desktop{display:none}.site-head__actions{margin-left:auto}.nav-burger{display:inline-flex}.site-head__mobile{display:block}.site-head__mobile[hidden]{display:none}.site-head__mobile .site-nav{flex-direction:column;align-items:stretch;gap:0;padding:6px 18px 14px}.site-head__mobile .site-nav li{border-top:1px solid var(--line)}.site-head__mobile .site-nav li:first-child{border-top:0}.site-head__mobile .site-nav a{font-size:var(--fs-label);border-radius:0;padding:14px 4px}.site-head__mobile .site-nav a[aria-current=page]{color:var(--text-primary);box-shadow:inset 3px 0 0 var(--accent-deep);background:0 0;padding-left:14px}.site-foot__row{flex-direction:column;align-items:center}.site-foot__credits{justify-items:center}.site-foot__legal{text-align:center}.site-foot__powered{text-align:center;flex-direction:column;gap:6px}.site-head.is-open~.update-toast{visibility:hidden}}.board-sec{padding-block:36px 48px}.board-kicker{margin-bottom:14px;display:block}.board-panel{margin:0}.board-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:20px 26px;display:flex}.bh-station{align-items:center;gap:10px;min-width:0;display:flex}.bh-station b,.bh-title{font-size:var(--fs-title);letter-spacing:-.025em;margin:0;font-weight:600;line-height:1.15}.bh-live{white-space:nowrap;margin-left:auto}.freshness{color:var(--accent-deep);align-items:center;gap:6px;display:inline-flex}.freshness__visual{align-items:center;gap:6px;display:inline-flex}[data-theme=dark] .freshness{color:var(--accent-text)}.freshness--stale{color:var(--status-late)}.freshness--stale .live-dot{background:var(--warn);animation:none}.freshness--err{color:var(--status-cancel)}.bh-tally{flex-basis:100%;margin:0}.fav{cursor:pointer;border:1px solid var(--line);background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.fav svg{fill:none;width:15px;height:15px;stroke:var(--ink-mute);stroke-width:1.6px;stroke-linejoin:round}.fav:hover{border-color:var(--ink-mute)}.fav.is-fav{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent)}.fav.is-fav svg{fill:var(--accent-deep);stroke:var(--accent-deep)}[data-theme=dark] .fav.is-fav svg{fill:var(--accent-text);stroke:var(--accent-text)}.board-msgs{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--warn) 22%, var(--surface))}.board-msg{font-size:var(--fs-small);color:var(--text-secondary);gap:10px;padding:13px 26px;line-height:1.5;display:flex}.board-msg+.board-msg{border-top:1px solid var(--line)}.board-msg>span{overflow-wrap:anywhere;min-width:0}.board-msg b{color:var(--status-late);flex:none;padding-top:2px}.board-msg a{color:var(--accent-deep)}[data-theme=dark] .board-msg a{color:var(--accent-text)}.board-controls{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg-deep) 30%, var(--surface));flex-wrap:wrap;align-items:center;gap:14px;padding:13px 26px;display:flex}.ctl-label{white-space:nowrap;flex:none}.ctl-filter{flex:1;min-width:220px;max-width:380px}.ctl-filter .field-pill{background:var(--surface);border-width:1px;padding:2px 4px 2px 14px}.ctl-filter .field-pill input{font-size:var(--fs-small);padding:7px 0}.ctl-time,.ctl-status{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ctl-time button,.ctl-status button{cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text-secondary);padding:8px 12px;font-weight:600}.ctl-time button:hover,.ctl-status button:hover{border-color:var(--ink-mute);color:var(--text-primary)}.ctl-time button[aria-pressed=true],.ctl-status button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--text-invert)}.brow{border-bottom:1px solid var(--line);grid-template-columns:74px 1fr 130px 96px 110px;align-items:center;gap:14px;padding:15px 26px;display:grid}.brow:last-child{border-bottom:0}.brow.bhead{background:color-mix(in srgb, var(--bg-deep) 45%, var(--surface));padding-top:11px;padding-bottom:11px}.brow.bhead div:last-child{text-align:right}button.brow{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0}button.brow:hover{background:color-mix(in srgb, var(--accent) 9%, transparent)}button.brow:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-3px}.btime{font-size:var(--fs-lead);letter-spacing:-.02em;font-weight:600}.brow.cancelled .btime{color:var(--text-muted);text-decoration:line-through}.bdest{min-width:0}.bdest b{font-size:var(--fs-body);letter-spacing:-.01em;font-weight:600;display:block}.bdest span{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.1em;color:var(--text-muted)}.bop{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.12em;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bplat{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.08em}.bplat-pill{background:var(--accent);color:var(--ink);border-radius:7px;padding:5px 9px;font-weight:700;display:inline-block}[data-theme=dark] .bplat-pill{color:var(--ink)}.bplat-pill.soft{background:color-mix(in srgb, var(--accent) 40%, var(--surface));outline:1.5px dashed var(--ink-mute)}.bplat-pill.none{color:var(--text-muted);background:0 0;padding-left:0}.bplat small{font-size:var(--fs-micro);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--text-muted);margin-top:3px;display:block}.bstat{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.12em;text-align:right}.bstat .chev{color:var(--text-muted);margin-top:4px;display:block}.bdetail{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg-deep) 30%, var(--surface));padding:4px 26px 22px}.bdetail .d-reason{font-size:var(--fs-small);color:var(--status-late);overflow-wrap:anywhere;max-width:640px;padding:10px 0 4px;line-height:1.5}.bdetail .d-meta{padding:8px 0 12px}.calls{--rail-x:4px;--rail-w:2px;--dot:7px;--pad-l:14px;padding:0 0 0 var(--pad-l);flex-wrap:wrap;gap:8px 22px;margin:0;list-style:none;display:flex;position:relative}.calls:before{content:"";left:calc(var(--rail-x) - var(--rail-w) / 2);width:var(--rail-w);background:var(--line);border-radius:2px;position:absolute;top:10px;bottom:10px}.call{flex:200px;align-items:baseline;gap:8px;min-width:200px;max-width:320px;padding:3px 0;display:flex;position:relative}.call:before{content:"";left:calc(var(--rail-x) - var(--pad-l) - var(--dot) / 2);width:var(--dot);height:var(--dot);background:var(--bg);border:2px solid var(--ink-mute);border-radius:50%;position:absolute;top:9px}.call.departed:before{background:var(--accent);border-color:var(--accent)}.call b{font-size:var(--fs-small);font-weight:600}.call span{font-family:var(--mono);font-size:var(--fs-micro);color:var(--text-muted);margin-left:auto}.call span.late{color:var(--status-late)}.call.cancelled b{color:var(--text-muted);text-decoration:line-through}.d-more{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--accent-deep);margin-top:14px;font-weight:600;text-decoration:none;display:inline-block}[data-theme=dark] .d-more{color:var(--accent-text)}.d-more:hover{text-decoration:underline}.show-more{cursor:pointer;border:0;border-top:1px solid var(--line);width:100%;font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--track-wider);text-transform:uppercase;color:var(--accent-deep);background:0 0;padding:16px;font-weight:600;display:block}[data-theme=dark] .show-more{color:var(--accent-text)}.show-more:hover{background:color-mix(in srgb, var(--accent) 9%, transparent)}.board-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 26px;display:flex}.bstate{text-align:center;padding:46px 26px}.bstate b{font-size:var(--fs-lead);letter-spacing:-.02em;font-weight:600;display:block}.bstate p{font-size:var(--fs-small);color:var(--text-secondary);margin-top:8px}.bstate button{cursor:pointer;border:1px solid var(--line);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--track-wider);text-transform:uppercase;color:var(--text-primary);border-radius:var(--r-pill);background:0 0;margin-top:18px;padding:11px 18px}.bstate button:hover{border-color:var(--ink-mute)}.board-change{flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px;display:flex}.board-change .combo{flex:1;min-width:240px;max-width:420px}@media (width<=900px){.brow{grid-template-columns:60px 1fr 80px 100px}.bop,.brow.bhead{display:none}}@media (width<=600px){.board-head{gap:12px;padding:16px 18px}.bh-station{width:100%}.bh-station b{font-size:var(--fs-lead)}.bh-live{order:3;margin-left:0}.seg{order:2}.seg button{padding:8px 13px}.board-msg{padding:12px 18px}.board-controls{gap:10px;padding:12px 18px}.ctl-filter{flex-basis:100%;min-width:0;max-width:none}.ctl-time{width:100%}.ctl-time button{text-align:center;flex:1;padding:9px 4px}.brow{grid-template-columns:1fr auto;grid-template-areas:"time plat""dest stat";gap:3px 14px;padding:14px 18px}.btime{grid-area:time}.bdest{grid-area:dest}.bdest b{font-size:var(--fs-small)}.bplat{grid-area:plat;justify-self:end}.bplat small{display:none}.bstat{grid-area:stat;align-self:end}.bdetail{padding:4px 18px 18px}.board-foot{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:14px 18px}.board-change{text-align:center;justify-content:center}.skel{padding:14px 18px}}.home-hero{padding:84px 0 56px;position:relative}.home-hero .kicker{margin-bottom:22px}.home-hero .wrap{z-index:1;position:relative}.hero-map{pointer-events:none;z-index:0;width:min(54%,660px);position:absolute;top:0;bottom:0;right:0;-webkit-mask-image:linear-gradient(270deg,#000 35%,#00000080 65%,#0000 96%);mask-image:linear-gradient(270deg,#000 35%,#00000080 65%,#0000 96%)}.hero-map svg{width:100%;height:100%;display:block}.hm path{fill:none;stroke-width:6px;stroke-linecap:round;stroke-linejoin:round}.hm circle{fill:var(--bg);stroke-width:2.5px}.hm{opacity:.4}.hm-a{stroke:var(--accent)}.hm-b{stroke:var(--on-time)}.hm-c{stroke:var(--warn)}.hm-d{stroke:var(--ink-mute);opacity:.3}.hm-e{stroke:var(--accent-deep);opacity:.32}.hm-interchange circle{fill:var(--bg);stroke:var(--ink);stroke-width:3px;opacity:.5}[data-theme=dark] .hm-a{stroke:var(--accent-text);opacity:.3}[data-theme=dark] .hm-b{stroke:var(--ontime-text);opacity:.3}[data-theme=dark] .hm-c{stroke:var(--late-text);opacity:.28}[data-theme=dark] .hm-d{stroke:var(--ink-mute);opacity:.25}[data-theme=dark] .hm-e{stroke:var(--accent);opacity:.35}@media (width<=900px){.hero-map{display:none}}.home-hero__sub{font-size:var(--fs-lead);color:var(--text-secondary);max-width:460px;margin-top:26px;line-height:1.55}.home-hero__search{max-width:500px;margin-top:32px;position:relative}.home-hero__geo{color:var(--status-late);font-size:var(--fs-small);margin-top:10px}.home-hero__chips{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.home__chip-label{margin-right:2px}.ticker{border-block:1px solid var(--line);overflow:hidden}.ticker-track{white-space:nowrap;width:max-content;font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--track-wider);color:var(--text-muted);gap:44px;padding:13px 0;animation:36s linear infinite tick;display:flex}.ticker-track em{color:var(--accent-deep);font-style:normal}[data-theme=dark] .ticker-track em{color:var(--accent-text)}@keyframes tick{to{transform:translate(-50%)}}.home-sec-kicker{margin-bottom:14px;display:block}.home-planner,.home-journeys,.home-stations{margin-top:44px}.home-planner__row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.home-planner__row .combo{flex:1;min-width:200px;max-width:320px}.home-journeys__row{flex-wrap:wrap;gap:8px;display:flex}.home-journeys__chip{padding-right:6px}.home-journeys__chip a{color:inherit;text-decoration:none}.home-journeys__chip button{cursor:pointer;color:var(--text-muted);font-size:var(--fs-small);background:0 0;border:0;padding:2px;line-height:1}.home-journeys__chip button:hover{color:var(--status-cancel)}.home-stations__grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.hsc{color:inherit;box-shadow:none;padding:18px 20px 12px;text-decoration:none;display:block}.hsc:hover{border-color:var(--line-strong)}.hsc__head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding-bottom:10px;display:flex}.hsc__head b{font-size:var(--fs-lead);letter-spacing:-.02em;font-weight:600}.hsc__row{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;padding:9px 0;display:flex}.hsc__row:last-child{border-bottom:0}.hsc__time{font-weight:700;font-size:var(--fs-small)}.hsc__dest{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:var(--fs-small);flex:1;font-weight:500;overflow:hidden}.hsc__stat{font-size:var(--fs-micro);letter-spacing:.1em;white-space:nowrap}.hsc__empty{padding:12px 0}.hsc__failed{color:var(--status-late)}.hsc .skel{border-bottom:0;padding:12px 0}@media (width<=900px){.home-hero{padding-top:52px}.home-hero__search{max-width:none}}@media (width<=600px){.home-hero__search .field-pill{border-radius:20px;flex-wrap:wrap;padding:6px 6px 6px 16px}.home-hero__search .field-pill input{flex-basis:calc(100% - 34px)}.home-hero__search .field-pill .field-go{border-radius:14px;width:100%;margin-top:2px;padding:14px 20px}.home-planner__row{flex-direction:column;align-items:stretch;gap:10px}.home-planner__row .combo{min-width:0;max-width:none}.home-planner__row>.microlabel{display:none}.home-planner__row .cta{padding:13px 18px}}.jmap{background:var(--ink);border-top:1px solid var(--line);margin:0}.jmap__stage{height:clamp(340px,52vw,500px);position:relative;overflow:hidden}.jmap__scene{position:absolute;inset:0}.jmap__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.jmap__loading{color:var(--text-invert);opacity:.6;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.jmap__views{background:color-mix(in srgb, var(--ink) 72%, transparent);border:1px solid color-mix(in srgb, var(--text-invert) 25%, transparent);border-radius:var(--r-pill);-webkit-backdrop-filter:blur(6px);gap:4px;padding:3px;display:flex;position:absolute;top:12px;right:12px}.jmap__views button{cursor:pointer;border-radius:var(--r-pill);font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--track-wide);text-transform:uppercase;color:color-mix(in srgb, var(--text-invert) 85%, transparent);background:0 0;border:0;padding:6px 12px;font-weight:600}.jmap__views button:hover{color:var(--text-invert)}.jmap__views button:focus-visible{outline:2px solid var(--text-invert);outline-offset:2px}.jmap__views button[aria-pressed=true]{background:var(--text-invert);color:var(--ink)}.jmap__views button:disabled{opacity:.4;cursor:default}.jmap__caption{color:var(--text-invert);opacity:.6;padding:9px 16px 10px}@media (width<=600px){.jmap__stage{height:clamp(300px,88vw,420px)}.jmap__caption{padding:8px 12px 9px}}.svc-back{color:var(--text-muted);font-size:var(--fs-lead);text-decoration:none}.svc-back:hover{color:var(--text-primary)}.svc-status{font-size:var(--fs-micro);letter-spacing:var(--track-wide)}.svc-gone{max-width:480px}.stops{--rail-x:37px;--rail-w:2.5px;--dot:9px;--pad-l:52px;padding:22px 26px 6px var(--pad-l);margin:0;list-style:none;position:relative}.stops:before{content:"";left:calc(var(--rail-x) - var(--rail-w) / 2);width:var(--rail-w);background:var(--line);border-radius:2px;position:absolute;top:34px;bottom:20px}.stops:after{content:"";left:calc(var(--rail-x) - var(--rail-w) / 2);height:calc((100% - 54px) * var(--prog,0));width:var(--rail-w);background:var(--accent);border-radius:2px;transition:height 1s;position:absolute;top:34px}.stop{align-items:baseline;gap:10px;padding:10px 0;display:flex;position:relative}.stop:before{content:"";left:calc(var(--rail-x) - var(--pad-l) - var(--dot) / 2);width:var(--dot);height:var(--dot);background:var(--bg);border:2.5px solid var(--ink-mute);z-index:1;border-radius:50%;position:absolute;top:17px}.stop.done:before{background:var(--accent);border-color:var(--accent)}.stop.here:before{background:var(--ink);border-color:var(--ink);box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 30%, transparent)}.stop b{font-size:var(--fs-body);align-items:baseline;gap:8px;min-width:0;font-weight:600;display:flex}.stop b a{color:inherit;text-decoration:none}.stop b a:hover{text-decoration:underline}.stop.here b a{color:var(--accent-deep)}[data-theme=dark] .stop.here b a{color:var(--accent-text)}.stop.done b{color:var(--text-muted);font-weight:500}.stop.cancelled b a{color:var(--status-cancel);text-decoration:line-through}.stop__plat{font-size:var(--fs-micro);color:var(--text-muted);letter-spacing:.08em}.stop__time{font-family:var(--mono);font-size:var(--fs-label);color:var(--text-muted);white-space:nowrap;margin-left:auto}.stop__time.late{color:var(--status-late)}.la-pill{background:var(--ink);color:var(--text-invert);border-radius:16px;justify-content:space-between;align-items:center;gap:14px;margin:14px 26px 22px;padding:13px 16px;display:flex}.la-pill span{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:var(--track-wide);opacity:.85}.la-pill b{font-size:var(--fs-small);text-align:right;font-weight:600}.coach-strip{border-top:1px solid var(--line);background:color-mix(in srgb, var(--bg-deep) 30%, var(--surface));flex-wrap:wrap;align-items:center;gap:14px;padding:13px 26px;display:flex}.coach-strip__row{flex-wrap:wrap;gap:5px;display:flex}.coach-loz{border:1px solid var(--line-strong);font-size:var(--fs-micro);letter-spacing:.08em;background:var(--surface);border-radius:8px;align-items:center;padding:5px 10px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.coach-loz--first{border-color:var(--accent-deep)}.coach-loz__fill{background:color-mix(in srgb, var(--accent) 35%, transparent);position:absolute;top:0;bottom:0;left:0}.coach-loz>span{position:relative}.route-stats{border-top:1px solid var(--line);flex-wrap:wrap;gap:38px;padding:20px 26px;display:flex}.route-stats b{letter-spacing:-.03em;font-size:26px;font-weight:500;display:block}.route-stats .microlabel{letter-spacing:var(--track-wider);font-size:var(--fs-label)}.svc-alts .bhead{border-top:1px solid var(--line);grid-template-columns:1fr}.svc-alt-row{color:inherit;grid-template-columns:74px 1fr 96px 110px;text-decoration:none}.svc-alt-row:hover{background:color-mix(in srgb, var(--accent) 9%, transparent)}.track-strip__stop{color:var(--status-cancel)}.track-strip__missed{text-align:center;color:var(--status-late);text-decoration:none;display:block}.track-confirm{border-top:1px solid var(--line);background:color-mix(in srgb, var(--bg-deep) 30%, var(--surface));flex-wrap:wrap;align-items:center;gap:12px;padding:13px 26px;display:flex}.track-confirm__select{background:var(--surface);min-width:180px;max-width:320px;color:var(--text-primary);border:1px solid var(--line-strong);border-radius:var(--r-pill);font-size:var(--fs-small);flex:1;padding:9px 14px}.stop__alight{color:var(--accent-deep);border:1px dashed var(--accent-deep);border-radius:var(--r-pill);padding:2px 8px}[data-theme=dark] .stop__alight{color:var(--accent-text);border-color:var(--accent-text)}.svc-share{text-align:left;border-top:0;width:auto;padding:0}.svc-share:hover{background:0 0;text-decoration:underline}@media (width<=600px){.stops{--rail-x:28px;--pad-l:42px;padding-top:18px;padding-bottom:4px;padding-right:18px}.la-pill{margin:12px 18px 18px}.la-pill b{font-size:var(--fs-label)}.coach-strip{padding:12px 18px}.route-stats{justify-content:space-between;gap:18px;padding:16px 18px}.route-stats b{font-size:21px}.svc-alt-row{grid-template-columns:1fr auto;grid-template-areas:"time plat""dest stat"}.svc-alt-row .btime{grid-area:time}.svc-alt-row .bdest{grid-area:dest}.svc-alt-row .bplat{grid-area:plat;justify-self:end}.svc-alt-row .bstat{grid-area:stat;align-self:end}}.planner{margin-bottom:22px}.planner__row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.planner__row .combo{flex:1;min-width:200px;max-width:340px}.planner__swap{flex:none;padding:8px 11px}.planner__at{background:var(--surface);color:var(--text-primary);border:1px solid var(--line-strong);border-radius:var(--r-pill);font-size:var(--fs-small);padding:9px 14px}.jhello__head{grid-template-columns:1fr}.brow.bhead.jhello__head div:last-child{text-align:left}.jhello__row{color:inherit;grid-template-columns:1fr auto 90px;text-decoration:none}.jhello__row:hover{background:color-mix(in srgb, var(--accent) 9%, transparent)}.jhello__pair{min-width:0;font-size:var(--fs-body)}.jhello__pair b{letter-spacing:-.01em;font-weight:600}.jhello__arrow{color:var(--text-muted);padding-inline:4px}.jrow{color:inherit;grid-template-columns:150px 1fr 90px 70px 110px;text-decoration:none}.jrow:hover{background:color-mix(in srgb, var(--accent) 9%, transparent)}.jrow .btime{white-space:nowrap}.jrow__arr{color:var(--text-muted);font-weight:500}.jrow__badge{font-size:var(--fs-micro);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--accent-deep);font-weight:700}[data-theme=dark] .jrow__badge{color:var(--accent-text)}.jrow__dur{font-size:var(--fs-label);color:var(--text-secondary)}.jrow.cancelled .btime{color:var(--text-muted);text-decoration:line-through}.leg__head{grid-template-columns:1fr auto}.leg__head div:last-child{text-align:right}.leg__svc-link{color:var(--accent-deep);text-transform:uppercase;letter-spacing:var(--track-wide);text-decoration:none}[data-theme=dark] .leg__svc-link{color:var(--accent-text)}.leg__svc-link:hover{text-decoration:underline}.leg__stops{padding-bottom:14px}.change-strip--warn{background:color-mix(in srgb, var(--warn) 34%, var(--surface))}.change-strip--bad{background:var(--bad-wash)}.change-strip--bad .board-msg b,.change-strip--bad .board-msg span{color:var(--status-cancel)}@media (width<=900px){.jrow{grid-template-columns:130px 1fr 90px 100px}.jrow__dur{display:none}.brow.bhead.jhello__head{display:grid}}@media (width<=720px){.planner__row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"from swap""to swap""at go";display:grid}.planner__row>.combo{min-width:0;max-width:none}.planner__row>.combo:first-of-type{grid-area:from}.planner__row>.combo:last-of-type{grid-area:to}.planner__swap{grid-area:swap;align-self:center}.planner__at{grid-area:at;min-width:0}.planner__row>.cta{grid-area:go}}@media (width<=600px){.jrow{grid-template-columns:1fr auto;grid-template-areas:"time badge""dest stat"}.jrow .btime{grid-area:time}.jrow .bdest{grid-area:dest}.jrow__badge{grid-area:badge;justify-self:end}.jrow .bstat{grid-area:stat;align-self:end}.jhello__row{grid-template-columns:1fr auto;grid-template-areas:none}.jhello__row .bstat{grid-area:auto}.jhello__row .crs-tag{display:none}}.dis-pill{font-size:var(--fs-micro);letter-spacing:var(--track-wide)}.dis-bhead{grid-template-columns:1fr}.dis-station{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:16px;padding:13px 26px;display:flex}.dis-station__name{color:inherit;align-items:center;gap:10px;min-width:220px;text-decoration:none;display:inline-flex}.dis-station__name b{font-size:var(--fs-body);font-weight:600}.dis-station__name:hover b{text-decoration:underline}.dis-station__clear{color:var(--status-ontime)}.dis-station__failed{color:var(--status-late)}.dis-station__incidents{flex:1;gap:6px;min-width:260px;display:grid}.dis-station__incidents p{font-size:var(--fs-small);color:var(--text-secondary);margin:0;line-height:1.5}.dis-sev{font-size:var(--fs-micro);letter-spacing:var(--track-wide)}.dis-row{grid-template-columns:64px 1fr 140px}div.dis-row--static{cursor:default}div.dis-row--static:hover{background:0 0}.dis-row .brow__opcode{justify-self:start}.dis-detail{gap:10px;padding-top:14px;display:grid}.dis-detail p{font-size:var(--fs-small);color:var(--text-secondary);max-width:640px;margin:0;line-height:1.55}@media (width<=600px){.dis-station{padding:12px 18px}.dis-row{grid-template-columns:52px 1fr;grid-template-areas:none}.dis-row .bdest{grid-area:auto}.dis-row .bstat{text-align:left;grid-area:auto/2}}.faq-list{gap:10px;max-width:720px;margin-top:34px;display:grid}.faq{padding:0;overflow:hidden}.faq summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:14px;padding:18px 22px;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary b{font-size:var(--fs-lead);letter-spacing:-.02em;font-weight:600}.faq__chev{font-family:var(--mono);font-size:var(--fs-micro);color:var(--text-muted)}.faq[open] .faq__chev{transform:rotate(180deg)}.faq p{font-size:var(--fs-small);color:var(--text-secondary);max-width:620px;margin:0;padding:0 22px 20px;line-height:1.6}.faq-foot{margin-top:28px}
