@charset "UTF-8";:root{color-scheme:dark;--bg: #0b1120;--card: #111c2d;--line: #293a50;--control: #687a92;--text: #f5f7fb;--muted: #a4b3c7;--amber: #ffbc45;--green: #59d5b0;--due: #ff9292;--action: #1b2c40;--highlight: #25302d;--wash: #ffbc450b;--glow: #17334850;font:14px/1.5 Inter,Arial,sans-serif;background:var(--bg);color:var(--text);font-variant-numeric:tabular-nums}:root[data-theme=light]{color-scheme:light;--bg: #f4f5f2;--card: #fffefa;--line: #d1d8d2;--control: #718175;--text: #142c29;--muted: #52635c;--amber: #8c4c00;--green: #16634a;--due: #a52b39;--action: #e8ede7;--highlight: #fff0d2;--wash: #fff0d2;--glow: #dce7de80}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 50% 0,var(--glow),transparent 60%)}button{font:inherit;color:inherit;cursor:pointer;min-height:48px;background:none;border:0}button:disabled{opacity:.55;cursor:default}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--amber);outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.symbols{position:absolute;width:0;height:0}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.app{max-width:500px;margin:auto;padding:20px 20px max(20px,env(safe-area-inset-bottom))}.masthead,.brand,.service-picker,.section-heading,.source,.dialog-top{display:flex;align-items:center;gap:12px}.masthead,.section-heading,.dialog-top{justify-content:space-between}.masthead{margin-bottom:18px}.brand{text-decoration:none;line-height:.95;gap:10px}.brand>svg{width:46px;height:34px;stroke-width:2.7}.brand>span{font-size:26px;font-weight:850;letter-spacing:-1px}.brand small{display:block;font-size:9px;letter-spacing:2.5px;margin-top:6px}.clock-block{display:grid;text-align:right}.clock-block time{font-size:25px;line-height:1.1;font-weight:750;letter-spacing:-.7px}.clock-block>span{font-size:11px;color:var(--muted)}.status{margin-bottom:16px;padding:10px 13px;border-left:2px solid var(--amber);background:var(--card);border-radius:6px;font-size:13px;color:var(--muted)}.service-picker,.stop-options button,#all-stops,.empty-action,.retry,.close,.service-card{border:1px solid var(--control);border-radius:9px}.service-picker{width:100%;gap:10px;padding:10px 13px;text-align:left;min-height:54px}.service-picker>svg:first-child{color:var(--muted);width:21px}.service-picker>svg:last-child,.source>svg:last-child{margin-left:auto;width:18px}.service-picker strong{font-size:18px;letter-spacing:-.3px}.service-picker small{font-size:10px;color:var(--muted);white-space:nowrap}.segmented{display:flex;border-bottom:1px solid var(--line);gap:24px;margin:5px 0 14px}.segmented button{width:50%;position:relative;color:var(--muted);font-size:15px;font-weight:650}.segmented button[aria-pressed=true]{color:var(--text)}.segmented button[aria-pressed=true]:after{content:"";position:absolute;height:3px;bottom:-1px;left:0;right:0;background:var(--text);border-radius:3px}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:650;color:var(--muted)}.selection-heading{margin:0 0 9px}.stop-options{display:flex;gap:7px;margin-bottom:14px}.stop-options button{flex:1;min-width:0;padding:10px 8px;color:var(--muted);font-weight:650;line-height:1.3;min-height:50px;overflow-wrap:anywhere}.stop-options button[aria-pressed=true],#all-stops[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.hero{--run: var(--green);background:var(--card);border:1px solid var(--line);border-left:3px solid var(--run);border-radius:14px;padding:20px 20px 0;overflow:hidden}.hero.imminent{--run: var(--amber)}.hero.due{--run: var(--due)}.hero>.eyebrow{margin-bottom:12px}.countdown{display:flex;align-items:center;gap:16px;min-height:116px;margin:0;font-size:inherit;font-weight:inherit;line-height:1.1}.number{font-size:128px;line-height:.9;font-weight:850;letter-spacing:-7px;color:var(--run)}.count-meta{min-width:0}.unit{display:block;font-size:26px;line-height:1.1;font-weight:750;color:var(--run)}.departure-time{display:block;font-size:37px;font-weight:750;letter-spacing:-1.5px;line-height:1.2;margin:4px 0}.departure-time small{font-size:14px;letter-spacing:0;margin-left:3px}time,td{white-space:nowrap}.origin{display:block;font-size:14px;font-weight:400;color:var(--muted);line-height:1.5}.route-detail{font-size:13px;color:var(--muted);margin:14px 0 18px}.hero h1:not(.countdown){font-size:29px;line-height:1.15;letter-spacing:-1px;margin:20px 0 12px;max-width:290px}.hero h1.loading{font-size:23px;color:var(--muted);margin-bottom:28px}.empty-detail{color:var(--muted);margin:0 0 18px}.empty-action,.retry{display:block;width:100%;padding:12px 13px;margin-bottom:20px;background:var(--action);text-align:left;font-weight:600}.following{border-top:1px dashed var(--control);padding:14px 0 16px;margin-top:15px}.following>.eyebrow{margin-bottom:12px;font-size:9px}.following-grid{display:grid;grid-template-columns:1fr 1fr}.following-run{display:grid;gap:4px}.following-run+div{border-left:1px solid var(--line);padding-left:22px}.following time{font-size:25px;line-height:1.2;font-weight:700;letter-spacing:-.6px}.following span,.schedule-context,.departure-row span{font-size:12px;line-height:1.4;color:var(--muted)}.hero:not(:has(.route-detail)) #hero-content{padding-bottom:18px}.view-state{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:48px;font-size:11px;color:var(--muted)}.text-button{font-size:12px;color:var(--muted);padding:8px;white-space:nowrap}#reset-period{color:var(--amber)}.schedule-section{margin-top:18px}.section-heading h2{margin:5px 0 0;font-size:22px;line-height:1.2;letter-spacing:-.5px}#all-stops{min-width:80px;color:var(--text)}.schedule-context{margin:10px 0 12px}.departure-list{border-top:1px solid var(--line)}.departure-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;padding:10px;border-bottom:1px solid var(--line)}.departure-row time{font-size:20px;font-weight:650}.departure-row.past time{color:var(--muted);font-weight:500}.departure-row.next{background:var(--wash);border-left:3px solid var(--amber);padding-left:7px}.departure-row.next time,.departure-row.next span{color:var(--amber);font-weight:650}.table-wrap{overflow-x:auto;border-top:1px solid var(--line);scrollbar-width:thin}table{border-collapse:collapse;width:100%;min-width:310px;font-size:15px;text-align:center}th,td{padding:16px 9px;border-bottom:1px solid var(--line)}th{font-size:11px;font-weight:600;color:var(--muted);background:var(--card)}th:first-child,td:first-child{position:sticky;left:0;background:var(--bg)}th.selected{color:var(--text)}tr.past td{color:var(--muted)}tr.next td{background:var(--highlight);color:var(--amber);font-weight:700}tr.next td:first-child{box-shadow:inset 3px 0 var(--amber)}.app footer{border-top:1px solid var(--line);margin-top:24px;padding-top:8px}.source{width:100%;padding:12px 0;text-align:left}.source>svg:first-child{color:var(--muted)}.source strong{display:block;font-size:14px;font-weight:550}.source small{display:block;margin-top:4px;font-size:11px;color:var(--muted)}.disclaimer{color:var(--muted);font-size:10px;margin:12px 0 2px}.disclaimer a{text-decoration:none}.footer-meta{display:flex;align-items:center;justify-content:space-between;gap:16px}#settings{padding-left:0;color:var(--text)}fieldset{border:0;padding:0;margin:0 0 22px;min-width:0}legend{font-weight:650;margin-bottom:10px}.setting-options{display:flex;gap:10px}.setting-options label{flex:1;padding:12px;min-height:64px;border:1px solid var(--control);border-radius:9px;cursor:pointer}.setting-options label:has(:checked){border-color:var(--text);background:var(--card);box-shadow:inset 0 0 0 1px var(--text)}.setting-options input{accent-color:var(--text);margin:0 7px 0 0}.setting-options input:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.setting-options small{display:block;margin-left:22px;color:var(--muted)}dialog{background:var(--bg);color:var(--text);border:1px solid var(--control);border-radius:18px;width:calc(100% - 24px);max-width:460px;max-height:85dvh;padding:22px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#020712cc;backdrop-filter:blur(6px)}.dialog-top{margin-bottom:20px}.dialog-top h2{font-size:27px;letter-spacing:-.8px;margin:5px 0 0}.close{width:48px;flex-shrink:0;border-radius:50%;font-size:20px}.service-card{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:8px;padding:5px 5px 5px 14px;margin-bottom:12px}.service-card.active{border-color:var(--text);background:var(--card)}.service-option{display:block;text-align:left;padding:12px 0;min-width:0}.service-option strong{display:block;font-size:19px;letter-spacing:-.3px}.service-option small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.favorite{width:48px;border-radius:8px;color:var(--muted);font-size:26px}.favorite[aria-pressed=true]{color:var(--amber)}.dialog-note,.photo-dialog>p{font-size:13px;color:var(--muted)}.photo-dialog{max-width:960px}.photo-dialog .source-effective{font-size:15px;color:var(--text);font-weight:650}.photo-wrap{overflow:auto}.photo-wrap img{display:block;width:100%;height:auto;border-radius:8px}.source-image-error{padding:15px;color:var(--muted);border:1px solid var(--line);border-radius:8px}@media(min-width:900px){.app{max-width:1020px;padding:40px 40px 30px}.masthead{margin-bottom:30px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}.schedule-section{margin-top:0;padding-top:5px}.app footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px}.source{max-width:420px}.disclaimer{text-align:right;white-space:nowrap}.footer-meta{flex-wrap:wrap;justify-content:flex-end;gap:4px 20px}.status{max-width:440px}.countdown{min-height:132px}.number{font-size:142px}.departure-time{font-size:42px}table{min-width:340px}}@media(max-width:360px){.app{padding-left:16px;padding-right:16px}.service-picker{gap:7px;padding:10px}.service-picker strong{font-size:16px}.hero{padding-left:16px;padding-right:16px}.number{font-size:112px}.countdown{gap:12px}.departure-time{font-size:34px}.unit{font-size:23px}.origin,.stop-options button{font-size:13px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}}@media(forced-colors:active){.stop-options button[aria-pressed=true],#all-stops[aria-pressed=true]{border:3px solid Highlight}.hero{border-color:CanvasText}.segmented button[aria-pressed=true]{border-bottom:3px solid ButtonText}.departure-row.next{border:2px solid Highlight}}
