@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap");:root{--ink:#182d29;--green:#264c40;--muted:#65746e;--line:#dce3dc;--paper:#f5f6f0}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM Sans,Arial,sans-serif;font-size:14px}button,input,select{font:inherit}a,button,input,select,summary{touch-action:manipulation}button{cursor:pointer}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c58e24;outline-offset:3px}header{height:86px;justify-content:space-between;padding:0 4%;border-bottom:1px solid var(--line);background:#fafbf7;gap:20px}.brand,header{display:flex;align-items:center}.brand{text-decoration:none;color:var(--ink);font:800 22px Manrope,Arial;gap:12px}.brand em{font-size:12px;font-style:normal;color:var(--muted)}.brand-icon{background:var(--green);color:#d3edb1;width:42px;height:42px;display:grid;place-items:center;border-radius:12px}nav{display:flex;gap:9px;align-items:center}nav a,nav button{border:0;background:none;padding:11px 15px;border-radius:30px;text-decoration:none;color:var(--muted)}nav .active{background:#e5ecdf;color:var(--green)}nav small{margin-left:6px}.city{font-size:10px;letter-spacing:1.3px;color:var(--muted)}main{max-width:1500px;padding:0 4%;margin:auto}.intro{padding:50px 0 39px;display:flex;justify-content:space-between;align-items:center}.eyebrow,.section-label{font-size:10px;letter-spacing:1.7px;font-weight:700;color:var(--muted)}.eyebrow{display:flex;gap:8px;align-items:center}.dot{display:inline-block;flex-shrink:0;width:7px;height:7px;background:#527548;border-radius:50%}h1{font:800 clamp(34px,4vw,55px)/1.12 Manrope,Arial;margin:17px 0;letter-spacing:-2px}h1 span{color:#708777}.intro p{color:var(--muted);font-size:15px}.intro-note{border-left:1px solid #cad4c6;padding-left:26px}.intro-note>span{font-size:9px;letter-spacing:1.3px}.intro-note strong{display:block;font:600 23px/1.4 Manrope;margin:15px 0}.intro-note p{font-size:10px}.workspace{display:grid;grid-template-columns:310px 1fr;gap:24px;align-items:start}.detail,aside{background:#fff;border:1px solid var(--line);border-radius:18px}aside{padding:23px 18px;position:sticky;top:20px}h2{font:700 23px Manrope;letter-spacing:-.6px;margin:13px 0 19px}aside h2{font-size:18px}label{display:block;font-size:11px;color:var(--muted);margin:16px 0 7px}input,select{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fcfdf9;color:var(--ink)}.list-caption{display:flex;justify-content:space-between;margin:22px 0 12px;font-size:10px;color:var(--muted)}.list-caption span{font-size:9px}.station-list{max-height:540px;overflow:auto}.station{background:white;width:100%;text-align:left;display:flex;justify-content:space-between;gap:10px;padding:15px 9px;border:1px solid transparent;border-bottom-color:#edf0e9;border-radius:9px}.station strong{font-size:12px;display:block}.station small{display:block;color:var(--muted);margin-top:5px;font-size:10px}.station.selected{background:#edf3e7;border-color:#cfddbd}.badges{display:flex;gap:4px;flex-wrap:wrap}.badge,.badges{align-items:center}.badge{width:25px;height:25px;display:inline-flex;justify-content:center;border-radius:50%;font-weight:700;color:white;font-size:12px;flex-shrink:0}.station .badge{width:18px;height:18px;font-size:9px}.station .badges{max-width:85px;justify-content:flex-end}.detail{padding:29px}.station-heading{display:flex;justify-content:space-between;gap:12px}.station-heading h2{font-size:30px;margin:10px 0 12px}.muted{color:var(--muted);font-size:12px}.badges .muted{margin-left:8px}.save{align-self:center;background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 14px;color:var(--green)}.board-tools{display:flex;justify-content:space-between;gap:10px;margin-top:28px}.segmented{display:flex;border:1px solid var(--line);background:#f6f8f2;border-radius:9px;padding:4px;gap:3px;width:fit-content}.segmented button{border:0;background:none;padding:9px 16px;color:var(--muted);border-radius:6px;font-size:12px}.segmented button.active{background:var(--green);color:white}.pause{border:0;background:none;color:var(--muted);font-size:11px}.direction-note{font-size:10px;color:var(--muted);margin:10px 0 20px}.health{display:flex;align-items:center;gap:7px;background:#f0f5eb;padding:11px;border-radius:7px;font-size:10px;flex-wrap:wrap}.health>span:last-child{margin-left:auto;color:var(--muted)}.warning{color:#7d5015;background:#fff4d8;padding:10px;border-radius:7px;font-size:11px}.warning .dot{background:#b77f27}.arrival-head{font-size:9px;letter-spacing:1.4px;color:var(--muted);padding:24px 0 12px}.arrival,.arrival-head{display:flex;justify-content:space-between}.arrival{border-top:1px solid var(--line);padding:17px 0;gap:15px}.arrival>div:first-child{display:flex;align-items:center;gap:12px}.arrival .badge{width:35px;height:35px;font-size:17px}.arrival strong{font-size:13px}.arrival small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.eta{text-align:right}.eta strong{font:700 25px Manrope}.eta strong small{display:inline;font:500 12px DM Sans;color:var(--muted)}.eta>span{display:block;font-size:10px;margin-top:4px}.empty,.eta>span{color:var(--muted)}.empty{padding:32px 12px;text-align:center;font-size:13px;line-height:1.7}.bottom-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:23px;border-top:1px solid var(--line);padding-top:25px;margin-top:10px}h3{font:700 17px Manrope;margin:11px 0 16px}h3>span{font-size:11px;background:#edf1e7;padding:4px 8px;border-radius:5px;margin-left:6px}details{border-bottom:1px solid var(--line);padding:17px 0}summary{cursor:pointer;font-size:12px;line-height:1.6}details p{white-space:pre-line;font-size:12px;line-height:1.8;color:var(--muted)}.alert-type{display:block;color:#8b631d;font-size:10px;font-weight:700}.source-note{display:block;font-size:9px;color:var(--muted);margin-top:9px}.map-panel svg{width:100%;border-radius:12px;margin-top:6px}.map-panel g{cursor:pointer}.map-note{font-size:10px;line-height:1.6;color:var(--muted)}.lab-link{display:block;background:#eaf0e1;border-radius:10px;padding:18px;margin-top:20px;color:var(--green);text-decoration:none}.lab-link strong{display:block;font-size:13px}.lab-link span{display:block;font-size:11px;line-height:1.7;margin-top:7px}footer{display:flex;justify-content:space-between;gap:15px;padding:30px 0;font-size:10px;color:var(--muted);flex-wrap:wrap}footer a{color:var(--green)}@media (min-width:1400px){.workspace{grid-template-columns:340px 1fr}}@media (max-width:1000px){.city{display:none}.workspace{grid-template-columns:260px 1fr}.detail{padding:20px}.bottom-grid{grid-template-columns:1fr}.intro-note{display:none}}@media (max-width:700px){header{height:auto;flex-wrap:wrap;padding:18px 5%;gap:16px}nav{width:100%;justify-content:space-between}nav a,nav button{padding:9px;font-size:12px}main{padding:0 5%}.intro{padding:30px 0 24px}h1{font-size:38px}.workspace{grid-template-columns:1fr}aside{position:static}.station-list{max-height:190px}.detail{padding:20px 16px}.station-heading h2{font-size:24px}.board-tools{flex-wrap:wrap}.segmented button{padding:9px 12px}.health>span:last-child{margin-left:14px}.save{padding:9px;font-size:12px}}:root{color-scheme:dark;--ink:#f1f6f8;--green:#b9edc1;--muted:#bbcbd1;--line:#364951;--paper:#0c151c}body{font-size:16px;font-weight:600;line-height:1.55}header{background:#101e27}.brand-icon{background:#b9edc1;color:#102b23}nav a,nav button{font-weight:700;color:#d0dce1}nav .active{background:#294438;color:#d9ffe0}.city,.eyebrow,.section-label{font-size:12px;color:#c6d5dc}.intro-note p,.intro-note>span{font-size:12px}.intro-note{border-color:var(--line)}h1 span{color:#b9edc1}.intro p{font-size:17px;color:#d0dce1}.detail,aside{background:#14232d;border-color:#364951;box-shadow:0 8px 30px #0002}label{font-size:13px;font-weight:700;color:#d5e0e5}input,select{background:#0d1a23;color:#f1f6f8;font-size:15px;font-weight:600;border-color:#52656d}input::placeholder{color:#b9c9d0}.list-caption,.list-caption span{font-size:12px}.station{background:transparent;color:#f1f6f8;border-bottom-color:#30434c;padding:16px 10px}.station strong{font-size:15px;font-weight:800}.station small{font-size:12px}.station.selected{background:#294438;border-color:#8cb69a}.station:hover{background:#20353f}.station.selected:hover{background:#345540}.station .badge{width:23px;height:23px;font-size:12px}.station .badges{max-width:110px}.badge{font-weight:800;box-shadow:0 0 0 1px #ffffff20}.muted,.save{font-size:14px}.save{background:#20352d;color:#e1ffe6;font-weight:800;border-color:#789b83}.segmented{background:#0d1a23;border-color:#52656d}.segmented button{color:#d3e0e6;font-weight:700;font-size:14px}.segmented button.active{background:#b9edc1;color:#102b23}.pause{color:#d3e0e6;font-size:13px;font-weight:700}.direction-note,.health{font-size:12px}.health{background:#213b30;color:#e3f8e7}.eyebrow .dot,.health .dot{background:#b9edc1}.health>span:last-child{color:#d4e3da}.warning{background:#44351b;color:#ffe0a2;font-size:13px}.warning .dot{background:#ffd27d}.warning>span:last-child{color:#ffe0a2}.arrival-head{font-size:12px;font-weight:800;letter-spacing:1px}.arrival strong{font-size:17px;font-weight:800}.arrival small{font-size:12px}.eta strong{font-size:30px}.eta strong small{font-size:15px;font-weight:700}.eta>span{font-size:12px}.empty{font-size:15px;color:#c6d5dc}h3{font-size:20px}h3>span{background:#294438;color:#d9ffe0;font-size:13px}summary{font-size:14px;font-weight:700}details p{font-size:14px;color:#d0dce1}.alert-type{font-size:13px;color:#ffda95}.map-note,.source-note{font-size:12px}.map-panel svg{background:#152b35}.map-panel svg rect{fill:#152b35}.map-panel svg path{stroke:#213f50}.map-panel svg circle{stroke:#b9edc1;fill:#456d59}.map-panel svg g:focus circle{stroke:#ffdc92;stroke-width:4}.lab-link{background:#233c31;color:#e1ffe6;border:1px solid #51745d}.lab-link strong{font-size:16px}.lab-link span{font-size:14px}footer{font-size:12px}footer a{color:#c3f5ca}@media (max-width:700px){nav a,nav button{font-size:13px}.station-heading h2{font-size:25px}.save{font-size:13px}.intro p{font-size:16px}.arrival-head{font-size:11px}.detail{padding:22px 16px}}