*{box-sizing:border-box}body{margin:0;background:#f6f5f0;color:#202e40;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header,main{max-width:640px;margin:auto;padding:20px}header{display:flex;align-items:center;justify-content:space-between;padding-top:28px;padding-bottom:18px}.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:750;text-decoration:none;color:inherit;letter-spacing:-.6px}.mark{display:grid;place-items:center;background:#203e5a;color:#f5d978;border-radius:16px;width:46px;height:46px}.mark svg{width:27px;height:27px}main{padding-top:10px}.heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{margin:0 0 5px;font-size:11px;letter-spacing:1.3px;font-weight:700;color:#647488;text-transform:uppercase}h1{font-size:30px;letter-spacing:-1px;line-height:1.15;margin:0 0 20px}button{background:#203e5a;border:0;color:white;padding:12px 17px;border-radius:13px;font:600 14px system-ui;cursor:pointer;min-height:44px}button:disabled{opacity:.5;cursor:wait}button.secondary,.icon-button{background:#e7edf2;color:#203e5a}.icon-button{width:46px;height:46px;padding:0;font-size:25px;display:grid;place-items:center;border-radius:15px;flex-shrink:0}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ad742d;outline-offset:3px}#stop-tabs{display:flex;background:#e7edf2;padding:4px;border-radius:18px;gap:4px;overflow:auto}#stop-tabs:empty{display:none}.stop-tab{background:transparent;color:#647488;white-space:nowrap;flex:1;min-width:max-content;padding:10px 17px}.stop-tab[aria-pressed=true]{background:#203e5a;color:white}#status{font-size:12px;color:#647488;min-height:16px;margin:12px 2px}#status:empty{margin:8px 0;min-height:0}.board{background:white;border:1px solid #e0e5ea;border-radius:24px;padding:22px}.board h2{font-size:21px;letter-spacing:-.5px;line-height:1.3;margin:7px 0 17px;max-width:90%}.meta{color:#647488;font-size:11px;margin:7px 0}.board-top{display:flex;justify-content:space-between;align-items:center}.board-top .meta{letter-spacing:1px;font-weight:650}.options{border-top:1px solid #e0e5ea;margin-bottom:12px;padding-top:12px}.options summary{color:#647488;font-size:12px;cursor:pointer;min-height:30px;display:flex;align-items:center}.options summary::after{content:'⌄';margin-left:auto}.options[open] summary::after{content:'⌃'}.options button{font-size:12px;padding:8px 12px;background:#f6f5f0;color:#71453e}.route-filter{display:flex;gap:12px;align-items:center;font-size:12px;margin:6px 0 12px}.route-filter input{width:100%;min-width:0}.bus{display:flex;align-items:center;gap:12px;border-top:1px solid #e0e5ea;padding:18px 0}.bus:first-of-type{border-top:0}.badge{background:#f5d978;color:#203e5a;border-radius:11px;min-width:52px;text-align:center;padding:11px 7px;font-size:20px;font-weight:750}.headsign{flex:1;font-size:14px;font-weight:550;line-height:1.4}.time{text-align:right;font-size:29px;font-weight:750;letter-spacing:-1px;white-space:nowrap}.time small{display:block;font-size:10px;font-weight:500;letter-spacing:0;color:#647488;margin-top:4px}.message{padding:20px 0;color:#647488;font-size:14px;line-height:1.7}.add-stop{margin:16px 0;width:100%;background:transparent!important;border:1px dashed #bac8d5;color:#203e5a}dialog{border:1px solid #e0e5ea;border-radius:24px;padding:24px;width:min(520px,94vw);max-height:85vh;color:#202e40;background:#f6f5f0}dialog::backdrop{background:#202e4070}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px}h2{font-size:22px}dialog p,dialog li{font-size:14px;line-height:1.65;color:#53665e}dialog ol{padding-left:22px}dialog li{margin-bottom:10px}.new-badge{display:inline-block;background:#f5d978;color:#203e5a;border-radius:7px;padding:5px 8px;font-size:10px;font-weight:750;letter-spacing:1px}label{display:block;font-size:13px;margin:17px 0 7px}input,select{padding:11px;border:1px solid #bcc8b5;background:white;border-radius:9px;font:inherit;color:#203e5a}select{width:100%}.searchline{display:flex;gap:8px}.searchline input{min-width:0;flex:1}#results{max-height:40vh;overflow:auto;display:grid;gap:8px}#results button{text-align:left;background:#e7edf2;color:#203e5a;border:1px solid #e0e5ea}small{font-size:11px}@media(max-width:380px){header,main{padding-left:16px;padding-right:16px}.board{padding:17px}.headsign{font-size:12px}.time{font-size:25px}.badge{min-width:44px;font-size:18px}}

.mark{position:relative;overflow:hidden;color:#fff5dc;padding-bottom:5px}.mark::after{content:"";position:absolute;bottom:0;left:0;right:0;height:7px;background:linear-gradient(to right,#e35d59 0 25%,#f3c94e 25% 50%,#4b93cf 50% 75%,#4caa7b 75% 100%)}

.time.at-bay{color:#247548;font-size:23px;letter-spacing:-.5px}.time.at-bay small{color:#526c60;font-size:10px}

.planner-launch{width:100%;display:flex;justify-content:space-between;margin:0 0 14px;padding:14px 18px}.service-alert{background:#fff4d6;border:1px solid #e8d29b;border-radius:12px;margin:10px 0;padding:12px 14px;font-size:13px}.service-alert summary{cursor:pointer;font-weight:650;line-height:1.5}.service-alert p{line-height:1.6;white-space:pre-line}.alerts{margin-bottom:14px}.alerts small{color:#647488}.destination-tools{margin:10px 0;display:flex;gap:12px;align-items:center;justify-content:space-between}.destination-tools small{line-height:1.5;color:#647488}.destination-tools button{font-size:11px;flex-shrink:0;padding:8px}.plan-submit{width:100%;margin-top:20px}#planner input{width:100%;min-width:0}#planner form{margin:0}#plan-status{font-size:13px;line-height:1.5;color:#536579}.journey{background:white;border:1px solid #e0e5ea;border-radius:14px;padding:18px;margin:12px 0}.journey h3{font-size:18px;margin:8px 0 12px}.journey p{margin:6px 0}.journey small{color:#647488}#plan-results .meta{font-size:11px}.planner-intro{margin-top:0}#planner{width:min(580px,94vw)}

#planner .dialog-top{position:sticky;top:-24px;z-index:2;background:#f6f5f0;margin-top:-24px;padding-top:12px;padding-bottom:10px;border-bottom:1px solid #e0e5ea}#plan-results{scroll-margin-top:85px}@media(max-width:420px){#planner{padding:18px}#planner .dialog-top{top:-18px;margin-top:-18px}#planner .destination-tools{align-items:flex-start;flex-direction:column}}

.brand-caption{display:block;font-size:10px;font-weight:550;letter-spacing:0;color:#647488;margin-top:3px}.brand{line-height:1.15}#search-hint{display:block;color:#647488;line-height:1.5;margin-top:10px}#search-more{width:100%;margin-top:12px}#results button{line-height:1.5;white-space:normal}[hidden]{display:none!important}

.route-label{display:flex;gap:3px;align-items:center;flex-shrink:0}.route-label label{margin:0}.options .route-help-button{background:transparent;color:#203e5a;width:36px;min-height:44px;padding:0;font-size:20px}.route-filter-hint{display:block;margin:-4px 0 14px;color:#647488;font-size:11px}#route-help li{font-size:14px;line-height:1.65;color:#536579;margin:10px 0}#route-help ul{padding-left:21px}#route-help h2{font-size:20px}
