*{box-sizing:border-box}body{margin:0;background:#f5f4ee;color:#243c33;font-family:Arial,Helvetica,sans-serif;font-size:16px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus,select:focus{outline:3px solid #d6a64c;outline-offset:3px}button:disabled{opacity:.55;cursor:wait}button svg,svg.icon{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6}svg use{stroke:inherit}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.sidebar{width:218px;background:#193d33;color:#f2f2e8;position:fixed;left:0;top:0;bottom:0;padding:39px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-size:23px;letter-spacing:-1px;font-weight:bold}.brand-mark{border:1px solid #88a394;width:38px;height:42px;border-radius:12px;font-size:28px;text-align:center;font-weight:normal;line-height:37px}.brand-mark span{color:#d9b35f;font-size:15px}.brand small{display:block;font-size:7px;letter-spacing:1.5px;font-weight:normal;margin-top:7px;color:#bacbc0}.nav-caption{margin:65px 10px 18px;font-size:9px;letter-spacing:1.6px;color:#8fae9d}.nav{width:100%;border:0;background:transparent;color:#c1d0c7;text-align:left;border-radius:10px;padding:17px 13px;margin-bottom:10px;display:flex;align-items:center;gap:13px;font-size:15px;position:relative}.nav svg{flex-shrink:0}.nav.active{background:#f1f1df;color:#193d33;font-weight:bold}.nav-dot{display:none;width:5px;height:5px;border-radius:50%;background:#355c46;margin-left:auto}.nav.active .nav-dot{display:block}.sidebar-bottom{margin-top:auto;padding:25px 10px 0}.home-label{display:flex;align-items:center;gap:12px;font-size:16px}.home-label svg{width:23px;height:26px;fill:none;stroke:#b6c9bc;stroke-width:1.5}.home-label small{display:block;font-size:11px;color:#a5bcb0;margin-top:6px}.sidebar-rule{height:1px;background:#3a584b;margin:25px 0}.prototype{font-size:8px;letter-spacing:1.6px;color:#91ad9b}main{margin-left:218px;padding:32px 38px 22px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dedfd5;padding-bottom:23px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold}.date{margin-top:9px;font-size:15px;color:#738071}.clock{font-size:36px;letter-spacing:-1.5px;font-weight:normal;font-variant-numeric:tabular-nums}.clock small{font-size:12px;letter-spacing:1px;margin-left:7px;color:#7c8374}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:32px 0 26px;gap:20px}h1{font-size:39px;font-weight:normal;letter-spacing:-1.6px;margin:0 0 10px}p{line-height:1.6}.page-heading p{margin:0;color:#7b8277;font-size:14px}.outline{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:transparent;border:1px solid #c9cebf;border-radius:7px;color:#3d5142;padding:13px 17px;font-size:12px;min-height:46px;white-space:nowrap}.outline svg{width:18px;height:18px}.bus-layout{display:flex;gap:22px;align-items:stretch}.arrivals-card{flex:1;min-width:0;background:#fffefa;border:1px solid #e0e2d5;border-radius:13px;overflow:hidden;display:flex;flex-direction:column}.stop-header{display:flex;align-items:center;gap:13px;padding:23px 22px;border-bottom:1px solid #e9eadf}.stop-icon{width:44px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#eaf0e5;color:#2e5845;flex-shrink:0}.stop-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.5}h2{font-size:21px;letter-spacing:-.5px;font-weight:normal;margin:0}.stop-title{flex:1;min-width:0}.stop-title h2{font-size:20px}.stop-title p{font-size:11px;margin:6px 0 0;color:#7c8577}.badge{display:inline-block;border:1px solid #cbd9c9;background:#edf3e9;color:#53704e;border-radius:20px;font-size:9px;letter-spacing:1px;padding:7px 9px;white-space:nowrap}.badge.amber{color:#8a682a;background:#fff3d6;border-color:#eddbb2}.badge.error{color:#944e3c;background:#fae8de;border-color:#eacaba}.table-head,.bus-row{display:flex;align-items:center}.table-head{padding:19px 23px 10px;font-size:9px;letter-spacing:1.4px;color:#8c9184}.table-head>span,.bus-row>div{width:25%;text-align:center}.table-head>span:first-child,.bus-row>div:first-child{text-align:left;width:28%}.table-head>span:nth-child(2),.bus-row>div:nth-child(2){width:22%}.bus-row{margin:0 22px;padding:17px 0;border-bottom:1px solid #eceee4;min-height:79px}.bus-row:last-child{border:0}.service-number{font-size:28px;font-weight:bold;letter-spacing:-1px}.operator{display:block;color:#8b9284;font-size:9px;letter-spacing:.5px;margin-top:4px}.arrival-time{font-size:25px;font-variant-numeric:tabular-nums;letter-spacing:-.6px;color:#566151}.arrival-time.next{color:#234e39;font-size:31px}.arrival-time small{font-size:10px;letter-spacing:0;margin-left:3px;color:#8a917f}.arrival-time .arriving{font-size:18px;letter-spacing:0}.load{display:block;width:5px;height:5px;border-radius:50%;background:#83a079;margin:7px auto 0}.load.standing{background:#d5a849}.load.full{background:#c27858}.arrivals-footer{margin-top:auto;border-top:1px solid #e9eadf;padding:13px 22px;display:flex;align-items:center;justify-content:space-between;color:#8d9386;font-size:10px;gap:10px}.text-button{border:0;background:none;padding:9px 0;color:#3c6649;font-size:11px;text-align:left;min-height:35px}.right-column{width:245px;flex-shrink:0;display:flex;flex-direction:column;gap:16px}.weather-mini{display:block;text-align:left;padding:22px;width:100%;border:1px solid #dbe1cd;border-radius:13px;background:#e9eddd;color:#304d38}.weather-mini .eyebrow{font-size:9px;letter-spacing:1.4px;display:flex;justify-content:space-between}.weather-art{width:160px;height:100px;display:block;margin:5px auto 10px}.weather-mini h2{font-size:24px;line-height:1.2}.weather-mini p{font-size:11px;margin:8px 0 17px;color:#7d8775}.weather-mini-bottom{border-top:1px solid #d4dbc7;padding-top:15px;display:flex;justify-content:space-between;font-size:11px}.note-card{padding:21px 22px;border:1px solid #dfdfd1;border-radius:13px;flex:1}.little-line{display:block;width:26px;height:3px;background:#cca967;margin-bottom:15px}.note-card h3{font-size:15px;font-weight:normal;margin:0}.note-card p{font-size:12px;color:#8c9082;margin:10px 0 5px}.bottom-note{display:flex;gap:8px;align-items:center;margin:18px 0 0;color:#939888;font-size:10px}.status-dot{width:5px;height:5px;border-radius:50%;background:#c9a668}footer{display:flex;justify-content:space-between;border-top:1px solid #dedfd5;margin-top:27px;padding-top:17px;color:#9a9c8c;font-size:8px;letter-spacing:1.6px}footer>span{letter-spacing:.5px}.footer-dot{margin:0 9px}.weather-main{background:#e8edde;border:1px solid #d7dfca;border-radius:16px;padding:45px;display:flex;align-items:center;min-height:365px}.weather-copy{flex:1}.weather-copy h2{font-size:48px;margin:25px 0 15px;line-height:1.1}.weather-copy p{color:#7b8770;max-width:400px;font-size:15px}.big-weather-art{width:40%;max-width:330px;flex-shrink:0}.weather-valid{margin:25px 0}.weather-valid span{display:block;font-size:9px;letter-spacing:1.5px;color:#7d8975}.weather-valid strong{display:block;font-size:17px;font-weight:normal;margin-top:9px}.weather-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;font-size:11px;color:#8b9183}.settings-grid{display:flex;gap:20px}.settings-grid>div{flex:1;min-width:0}.settings-card{background:#fffefa;padding:24px;border:1px solid #dedfd3;border-radius:12px}.settings-card h2{margin:12px 0 8px}.step{font-size:9px;letter-spacing:1.5px;color:#949a85}.help{color:#8a9280;font-size:12px;line-height:1.5;margin:10px 0}.settings-card label{display:block;font-size:12px;margin:20px 0 9px;color:#4c614b}.settings-card label span{color:#989e8e}.settings-card input,.settings-card select{width:100%;padding:13px 12px;min-height:46px;background:#f8f8f1;border:1px solid #d8dece;border-radius:6px;color:#3c5542;font-size:13px}.settings-card select{padding-right:25px}.stop-results{max-height:160px;overflow:auto;margin-top:9px}.stop-option{display:block;width:100%;border:1px solid transparent;border-radius:6px;background:transparent;padding:11px;text-align:left;color:#3c5542;font-size:13px;min-height:48px}.stop-option small{display:block;color:#8a9380;font-size:10px;margin-top:5px}.stop-option.selected{background:#eaf0df;border-color:#cbd9ba}.input-row{display:flex;gap:9px}.input-row input{min-width:0}.solid{background:#254e3b;border:1px solid #254e3b;color:#fff;border-radius:6px;padding:13px 18px;min-height:47px;font-size:12px;white-space:nowrap}.mode-card{margin-top:20px}.settings-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.settings-actions span{font-size:12px;color:#6a7b59}.empty{padding:45px 25px;text-align:center;color:#7d8871;font-size:14px;line-height:1.7}.empty strong{display:block;color:#415c43;margin-bottom:10px}.busy{opacity:.6}
.header-right{display:flex;align-items:center;gap:18px}.fullscreen{border:1px solid #d8dece;border-radius:7px;background:transparent;color:#71806c;width:44px;height:44px;font-size:25px}.fullscreen:hover{background:#e9eddd}
.dense .bus-row{padding:7px 0;min-height:54px}.dense .service-number{font-size:24px}.dense .arrival-time,.dense .arrival-time.next{font-size:24px}.dense .load{margin-top:3px}.dense .operator{font-size:8px;margin-top:2px}
@media(min-width:1000px) and (max-height:850px){main{padding-top:24px;padding-bottom:15px}header{padding-bottom:16px}.page-heading{margin:24px 0 20px}h1{font-size:36px}.stop-header{padding:18px 22px}.bus-row{padding:11px 0;min-height:70px}.arrival-time.next{font-size:29px}.table-head{padding-top:15px}.bottom-note{margin-top:12px}footer{margin-top:18px;padding-top:13px}.note-card{padding-top:17px;padding-bottom:17px}.weather-mini{padding-top:18px;padding-bottom:18px}}
@media(min-width:1450px){main{padding:45px 65px}.right-column{width:300px}.bus-row{min-height:95px}.weather-art{height:125px}.page-heading{margin:40px 0}.sidebar{width:240px}main{margin-left:240px}}
@media(max-width:1100px){.sidebar{width:175px;padding:30px 12px}.brand{font-size:19px}.brand small{font-size:6px}.nav{font-size:13px;padding:15px 10px}.nav-caption{font-size:8px;letter-spacing:1px}main{margin-left:175px;padding:25px}.right-column{width:205px}.stop-header{padding:18px 14px}.bus-row{margin:0 15px}.table-head{padding-left:15px;padding-right:15px}.weather-mini{padding:18px}.page-heading h1{font-size:34px}.weather-copy h2{font-size:38px}}
@media(max-width:800px){.sidebar{width:76px;padding:25px 10px}.brand>span:last-child,.nav-caption,.nav-dot,.sidebar-bottom,.nav:not(.active) .nav-dot{display:none}.brand{justify-content:center}.nav{font-size:0;padding:17px;justify-content:center;margin-top:10px;gap:0}.nav svg{width:24px;height:24px}nav{margin-top:50px}main{margin-left:76px;padding:20px}.right-column{width:190px}.page-heading{align-items:flex-start}.page-heading h1{font-size:30px}.stop-title h2{font-size:17px}.stop-icon{display:none}.settings-grid{display:block}.settings-grid>div{margin-bottom:15px}.big-weather-art{width:32%}.weather-main{padding:25px}.weather-copy h2{font-size:34px}}
@media(max-width:600px){.bus-layout{display:block}.right-column{width:100%;margin-top:18px}.note-card{display:none}.weather-mini{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.weather-art{width:85px;height:60px;margin:0}.weather-mini .eyebrow,.weather-mini-bottom{width:100%}.weather-mini p{margin:0}.page-heading{display:block}.page-heading .outline{margin-top:15px}h1{font-size:29px}.clock{font-size:26px}.date{font-size:11px}.eyebrow{font-size:8px;letter-spacing:1px}main{padding:15px}.weather-main{display:block}.big-weather-art{display:none}.weather-footer{display:block}.weather-footer button{margin-top:15px}footer{line-height:1.8;gap:20px;font-size:7px}.table-head{font-size:8px;letter-spacing:.5px}.arrival-time.next{font-size:25px}.arrival-time{font-size:21px}}

/* Readable date and per-device appearance. */
header .date{margin:0;font-size:30px;line-height:1.25;font-weight:500;letter-spacing:-.7px;color:#243c33}
.theme-toggle{min-height:44px;padding:10px 15px;background:transparent;border:1px solid #c9cebf;border-radius:7px;color:#3d5142;font-size:13px;white-space:nowrap}
.theme-toggle:hover{background:#e9eddd}
[data-theme="dark"]{color-scheme:dark}
[data-theme="dark"] body{background:#121c18;color:#e3ece4}
[data-theme="dark"] .sidebar{background:#0c1712}
[data-theme="dark"] .nav.active{background:#31513e;color:#f0f6e9}
[data-theme="dark"] header .date,[data-theme="dark"] .clock{color:#e3ece4}
[data-theme="dark"] .arrivals-card,[data-theme="dark"] .settings-card,[data-theme="dark"] .note-card{background:#1b2921;border-color:#35463a}
[data-theme="dark"] .weather-mini,[data-theme="dark"] .weather-main{background:#26372a;border-color:#41543e;color:#e5eddb}
[data-theme="dark"] header,[data-theme="dark"] footer,[data-theme="dark"] .stop-header,[data-theme="dark"] .bus-row,[data-theme="dark"] .arrivals-footer,[data-theme="dark"] .weather-mini-bottom{border-color:#35463a}
[data-theme="dark"] .stop-icon,[data-theme="dark"] .stop-option.selected{background:#334b34;color:#e5eddb;border-color:#617752}
[data-theme="dark"] .arrival-time{color:#c2cdb9}
[data-theme="dark"] .arrival-time.next,[data-theme="dark"] .text-button,[data-theme="dark"] .stop-option,[data-theme="dark"] .settings-card label,[data-theme="dark"] .empty strong{color:#c8e1b4}
[data-theme="dark"] .outline,[data-theme="dark"] .theme-toggle,[data-theme="dark"] .fullscreen{color:#d7e2cf;border-color:#56634e}
[data-theme="dark"] .theme-toggle:hover,[data-theme="dark"] .fullscreen:hover{background:#334b34}
[data-theme="dark"] .settings-card input,[data-theme="dark"] .settings-card select{background:#142018;border-color:#506049;color:#e5eddb}
[data-theme="dark"] .solid{background:#b2c99c;color:#16251b;border-color:#b2c99c}
[data-theme="dark"] .badge{background:#30482e;color:#c8e1b4;border-color:#52694a}
[data-theme="dark"] .badge.amber{background:#483b20;color:#f1d18d;border-color:#786139}
[data-theme="dark"] .badge.error{background:#4b2c26;color:#f0b7a5;border-color:#805046}
[data-theme="dark"] .page-heading p,[data-theme="dark"] .stop-title p,[data-theme="dark"] .table-head,[data-theme="dark"] .operator,[data-theme="dark"] .arrival-time small,[data-theme="dark"] .arrivals-footer,[data-theme="dark"] .weather-mini p,[data-theme="dark"] .note-card p,[data-theme="dark"] .help,[data-theme="dark"] .step,[data-theme="dark"] .bottom-note,[data-theme="dark"] footer,[data-theme="dark"] .weather-footer,[data-theme="dark"] .weather-copy p,[data-theme="dark"] .weather-valid span,[data-theme="dark"] .stop-option small,[data-theme="dark"] .empty,[data-theme="dark"] .clock small,[data-theme="dark"] .settings-actions span{color:#abb9a3}
[data-theme="dark"] input::placeholder{color:#9cae96}
[data-theme="dark"] .weather-art>path,[data-theme="dark"] .big-weather-art>path:first-of-type{fill:#425248;stroke:#8ea78e}
@media(max-width:1100px){header .date{font-size:25px}.header-right{gap:10px}}
@media(max-width:600px){header{flex-wrap:wrap;gap:15px}header .date{font-size:23px}.header-right{width:100%;justify-content:space-between}}
