/* New York transit tools — deliberately scoped to protect existing tools. */
.b29-transit{padding:0 24px 26px;font-size:17px;line-height:1.55;color:#172839}
.b29-transit [hidden]{display:none!important}
.b29-transit *{box-sizing:border-box}
.b29-tr-location{font-weight:800;letter-spacing:.07em;font-size:.78em;margin:5px 0 14px;color:#465c71}
.b29-tr-location span{margin:0 8px}
.b29-tr-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.b29-tr-services a{display:flex;align-items:center;justify-content:center;text-align:center;border:2px solid #58748b;border-radius:10px;padding:13px 10px;min-height:62px;text-decoration:none;color:#163d67;font-weight:800;background:#fff}
.b29-tr-services a[aria-current=page]{background:#173f70;color:#fff;border-color:#173f70}
.b29-tr-services a:hover{outline:2px solid #526f88;outline-offset:2px}
.b29-tr-lead{font-size:1.08em;margin:20px 0}
.b29-transit .b29-tr-form{margin:18px 0;padding:22px;background:#f5f8fc;border:1px solid #b8c8d9}
.b29-tr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.b29-transit input,.b29-transit select{max-width:100%;min-width:0;min-height:46px;background:#fff;color:#172839;font:inherit}
.b29-transit select{width:100%;text-overflow:ellipsis}
.b29-transit label{font-weight:700}
.b29-tr-check{display:flex!important;gap:10px;align-items:center;font-weight:600!important;margin:8px 0!important;line-height:1.4}
.b29-transit .b29-tr-check input[type=checkbox]{width:22px!important;height:22px!important;min-height:22px!important;flex-shrink:0;margin:0!important;padding:0!important;accent-color:#174a9a}
.b29-tr-checkbox-wrap{display:flex;align-items:flex-end;padding-bottom:9px}
.b29-tr-help{font-size:.9em;line-height:1.55;color:#4d6072;margin:13px 0}
.b29-tr-direct{border-top:1px solid #bccadb;margin-top:20px;padding-top:9px}
.b29-tr-direct input{width:100%;max-width:420px}
.b29-tr-actions,.b29-tr-links{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0 10px}
.b29-transit .b29-btn{min-height:46px;text-align:center;font:inherit;font-weight:750;line-height:1.35;cursor:pointer;white-space:normal;text-decoration:none!important}
.b29-transit .b29-btn:disabled{opacity:.6;cursor:not-allowed}
.b29-transit :is(a,button,input,select,summary):focus-visible{outline:3px solid #156bbf;outline-offset:3px}
.b29-tr-message,.b29-tr-note{padding:14px 16px;background:#eaf2fc;border:1px solid #adc3dc;border-left:4px solid #235994;border-radius:6px;margin:14px 0;overflow-wrap:anywhere}
.b29-tr-message.warning{background:#fff5e0;border-color:#b77a0b;color:#603d00}
.b29-tr-message.error{background:#fff0ef;border-color:#b33730;color:#7e241f}
.b29-tr-board{margin:25px 0;border:1px solid #a7bad0;border-radius:12px;padding:22px;background:#fff}
.b29-tr-boardhead{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.b29-tr-board h2,.b29-tr-official h2{font-size:1.35em!important;line-height:1.3;margin:0 0 10px!important;color:#183e68}
.b29-tr-quality{display:inline-block;font-size:.83em;font-weight:750;padding:5px 10px;border-radius:5px;background:#e8f0f9;color:#173f70}
.b29-tr-quality[data-quality=delayed],.b29-tr-quality[data-quality=unknown]{background:#fff2d8;color:#603c00}
.b29-tr-quality[data-quality=expired]{background:#ffeded;color:#7b2220}
.b29-tr-timing{font-size:.87em;color:#485d70;white-space:pre-line;line-height:1.6}
.b29-tr-row{padding:17px 0;border-top:1px solid #d3dde8;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 20px}
.b29-tr-row h3{font-size:1.08em!important;line-height:1.4;margin:0!important;overflow-wrap:anywhere}
.b29-tr-row .b29-tr-route{font-size:.9em;display:inline-block;border:1px solid #60798f;border-radius:5px;padding:2px 8px;margin-right:8px;white-space:normal;color:#173f70}
.b29-tr-row p{margin:6px 0 0!important;overflow-wrap:anywhere}
.b29-tr-time{text-align:right;min-width:138px}
.b29-tr-time strong{display:block;font-size:1.3em;line-height:1.3;color:#143d6b}
.b29-tr-time span{display:block;font-size:.85em;color:#465d73;margin-top:4px}
.b29-tr-detail{grid-column:1/-1;color:#4b5e70;font-size:.88em}
.b29-tr-alerts{border-top:2px solid #c7d5e4;margin-top:24px;padding-top:16px}
.b29-tr-alerts h3{font-size:1.08em!important;margin:0!important}
.b29-tr-alerts details{padding:12px 0;border-bottom:1px solid #d3dde8}
.b29-transit summary{cursor:pointer;font-weight:750;min-height:44px;line-height:1.5}
.b29-tr-alerts details p{white-space:pre-line}
.b29-tr-official{margin-top:25px;border-top:1px solid #afc1d4;padding-top:24px}
.b29-tr-official-search{display:grid;gap:10px;margin:17px 0;max-width:650px}
.b29-tr-official-search input{padding:12px!important;border:2px solid #607a91;border-radius:9px;width:100%}
.b29-tr-official-search button{justify-self:start}
.b29-tr-about{margin-top:22px;padding:15px 18px;border:1px solid #b5c5d7;border-radius:9px;background:#f5f8fc}
.b29-tr-attribution{font-size:.83em;line-height:1.6;color:#536579;margin-top:23px!important}
@media(max-width:650px){.b29-transit{padding:0 14px 20px;font-size:16px}.b29-tr-services{grid-template-columns:repeat(2,minmax(0,1fr))}.b29-tr-grid{grid-template-columns:minmax(0,1fr);gap:6px}.b29-transit .b29-tr-form,.b29-tr-board{padding:16px}.b29-tr-row{grid-template-columns:minmax(0,1fr)}.b29-tr-time{text-align:left;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.b29-tr-time strong{font-size:1.3em}.b29-tr-actions .b29-btn{flex:1 1 100px}.b29-tr-links .b29-btn{width:100%}.b29-tr-boardhead{display:block}.b29-tr-quality{margin-bottom:6px}.b29-tr-checkbox-wrap{padding-bottom:0}}
@media(prefers-reduced-motion:reduce){.b29-transit *{scroll-behavior:auto!important;transition:none!important}}

.b29-tool-intro > .b29-transit{padding-left:0;padding-right:0}
.b29-transit input[type=search]{display:block;width:100%;padding:12px!important;border:2px solid #607a91!important;border-radius:9px!important;font:inherit!important;line-height:1.4!important;-webkit-appearance:none;appearance:none}
.b29-transit input[type=search]::placeholder{font-family:inherit;color:#586a7d;opacity:1}

.b29-tr-nearby{margin:18px 0;padding:22px;border:1px solid #b8c8d9;border-radius:12px;background:#f5f8fc}
.b29-tr-nearby h2{font-size:1.35em!important;margin:0 0 14px!important;color:#183e68}
.b29-tr-location-btn{width:100%;max-width:420px;font-size:1.08em!important}
.b29-tr-nearby-stops{display:grid;gap:10px;margin-top:12px}
.b29-tr-nearby-stop{display:grid;gap:3px;width:100%;text-align:left;padding:14px 16px;border:1px solid #9fb4c8;border-radius:9px;background:#fff;color:#172839;font:inherit;cursor:pointer}
.b29-tr-nearby-stop strong{font-size:1.05em;color:#173f70}.b29-tr-nearby-stop span{font-size:.9em;color:#4d6072}
.b29-tr-nearby-stop:focus-visible,.b29-tr-nearby-stop:hover{outline:3px solid #156bbf;outline-offset:2px}
.b29-tr-or{text-align:center;margin:18px 0 8px;color:#465c71}
