@media screen {
html:is([data-route="bus"],[data-route="trip"],[data-route="atlas"],[data-route="lines"],[data-route^="line:"]){background:var(--lime);font-family:var(--sans);color:var(--ink)}
html:is([data-route="bus"],[data-route="trip"],[data-route="atlas"]) body{background:var(--lime);font-family:var(--sans)}
.bus-heading{max-width:none;width:100%;padding:var(--s-5) var(--s-5);display:flex;gap:var(--s-6);align-items:center;justify-content:space-between;margin:0 auto;flex:none}
.bus-kicker{font:700 var(--t-dense)/var(--lh-dense) var(--sans);letter-spacing:var(--track-label);color:var(--ink-2);margin:0 0 var(--s-2)}
.bus-heading h1,.bus-page-heading h1{font:400 var(--t-display)/var(--lh-head) var(--serif);letter-spacing:var(--track-display);margin:0;color:var(--ink)}
.bus-journeys{display:flex;align-items:stretch;gap:0;font-size:var(--t-dense)}
.bus-journeys a{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-4);border-left:1px solid var(--rule);white-space:nowrap;text-decoration:none}
.bus-journeys a span{font-size:var(--t-dense);color:var(--ink-2)}.bus-journeys .bus-plan{background:var(--celeste);color:var(--ink-inverse);border:0;border-radius:var(--radius)}.bus-journeys .bus-plan span{color:var(--ink-inverse)}
.transit-page.transit-explore{height:auto;min-height:100dvh}
.transit-page .cu-header~main#main-content{flex:none;height:calc(100dvh - 243px);min-height:630px;max-height:1000px;width:calc(100% - 48px);max-width:none;margin:0 auto var(--s-6);grid-template-columns:300px minmax(250px,1fr) 300px;border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;background:var(--lime-raised)}
#catalog .catalog-top{padding:var(--s-4) var(--s-4) 0;background:var(--lime-raised)}#catalog .section-head h2{font:400 var(--t-head)/var(--lh-head) var(--serif);letter-spacing:var(--track-display)}.segmented{margin:var(--s-3) 0 var(--s-3)}.segmented button{min-height:36px}.bus-search-label{display:block;font:400 var(--t-dense)/var(--lh-dense) var(--sans);margin-bottom:var(--s-2);color:var(--ink-2)}.search input{height:44px;font-size:var(--t-dense)}.search>span:last-child{top:auto;bottom:8px}.bus-visibility{font-size:var(--t-dense);margin-top:var(--s-2)}.bus-visibility summary{cursor:pointer;padding:var(--s-1) 0}.bus-visibility .list-tools{margin:var(--s-1) 0 var(--s-2);font-size:var(--t-dense)}.list-tools button{min-height:34px}.list-tools input{width:16px;height:16px}#list-count{font-size:var(--t-dense);margin:var(--s-2) 0 var(--s-3)}
#collection{padding:var(--s-1) var(--s-4) var(--s-4);scroll-padding:var(--s-2)}.bus-card{background:var(--lime-raised);border:1px solid var(--rule);min-width:0;display:flex;flex-direction:column;margin:0;color:var(--ink);transition:none;overflow:visible}.bus-card+.bus-card{margin-top:var(--s-4)}.bus-card:hover{border-color:var(--rule)}.bus-card.selected{outline:2px solid var(--celeste);outline-offset:2px}.bus-card-select{display:flex;flex:1;flex-direction:column;width:100%;text-align:left;padding:0;border:0;background:none;color:inherit;text-decoration:none!important;font:inherit;cursor:pointer}.bus-card-number{display:flex;gap:var(--s-3);align-items:center;background:var(--bus-color);color:var(--bus-ink);padding:var(--s-2) var(--s-4);min-height:53px}.bus-card-number>span{font:700 var(--t-dense)/var(--lh-dense) var(--sans);letter-spacing:var(--track-label)}.bus-card-number b{font:700 var(--t-title)/var(--lh-dense) var(--sans);letter-spacing:var(--track-display)}.bus-card-destination{display:flex;align-items:center;padding:var(--s-2) var(--s-4);min-height:57px;background:color-mix(in srgb,var(--bus-color) 17%,var(--bus-band-paper));color:var(--bus-band-ink);font:700 var(--t-dense)/var(--lh-dense) var(--sans)}.bus-card-places{display:block;padding:var(--s-3) var(--s-4) var(--s-2);flex:1}.bus-card-caption{font:400 var(--t-dense)/var(--lh-dense) var(--sans);color:var(--ink-2);display:block;margin-bottom:var(--s-2)}.bus-card-places ul{list-style:none;padding:0;margin:0;font:400 var(--t-dense)/var(--lh-dense) var(--sans)}.bus-card-places li{overflow-wrap:anywhere;margin:0 0 var(--s-1)}.bus-card-action{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);border-top:1px solid var(--rule);margin:var(--s-2) var(--s-4) 0;padding:var(--s-3) 0;font:700 var(--t-dense)/var(--lh-dense) var(--sans)}.bus-card-action>span{font-size:var(--t-sub);transition:transform var(--dur) var(--ease)}.bus-card-select:hover .bus-card-action>span{transform:translate(3px,-2px)}.bus-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) var(--s-4);border-top:1px solid var(--rule);font:400 var(--t-dense)/var(--lh-dense) var(--sans)}.bus-card-footer a{display:flex;align-items:center;min-height:24px;text-decoration:underline;text-underline-offset:4px}.bus-card-footer label{display:flex;gap:var(--s-1);align-items:center;font-size:var(--t-dense)}.bus-card-footer input{width:15px;height:15px}#catalog .catalog-bottom{padding:var(--s-3) var(--s-4);font-size:var(--t-dense);background:var(--lime-raised)}#catalog .catalog-bottom button{min-height:32px}
#inspector{padding:var(--s-5) var(--s-4)}#details h2{font:400 var(--t-head)/var(--lh-head) var(--serif);letter-spacing:var(--track-display)}.empty-detail>p,#details>.muted{font-size:var(--t-dense);line-height:var(--lh-dense)}.empty-detail .primary{margin:var(--s-5) 0 var(--s-3)}.bus-disclosure{border-top:1px solid var(--rule);padding:var(--s-4) 0;margin-top:var(--s-5);font:400 var(--t-dense)/var(--lh-dense) var(--sans);color:var(--ink-2)}.bus-disclosure summary{cursor:pointer;color:var(--ink);font-weight:600;padding:var(--s-1) 0}.bus-disclosure p{font:400 var(--t-dense)/var(--lh-dense) var(--sans)}.bus-detail-link{display:block;font-size:var(--t-dense);text-decoration:underline;margin:0 0 var(--s-4)}.direction button{min-height:48px}.direction strong{font-size:var(--t-dense)}.section-label{font-size:var(--t-dense);letter-spacing:var(--track-label)}.timeline strong{font-size:var(--t-dense)}.timeline small,.stats small{font-size:var(--t-dense)}.detail-actions .source-note{font-size:var(--t-dense)}.stop-note{font-size:var(--t-dense)}.map-controls{top:66px}.map-controls button{min-height:36px}.mobile-switch{position:absolute;display:flex;bottom:12px;right:12px;background:var(--lime-raised);padding:var(--s-1);border:1px solid var(--rule);border-radius:var(--radius)}.mobile-switch button{font-size:var(--t-dense);min-height:38px;padding:var(--s-2)}#mobile-catalog,#mobile-detail{display:none}.map-credit{max-width:calc(100% - 25px);font-size:var(--t-micro)}.map-expanded{overflow:hidden}.map-expanded #main-content .map-panel{position:fixed;inset:0;z-index:100;min-height:100dvh}.map-expanded .map-panel #layers{max-height:calc(100dvh - 175px)}
html[data-route="lines"] main,html[data-route^="line:"] main{max-width:none;padding:var(--s-6) var(--s-5) var(--s-7)}.bus-page-heading p:last-child{font-size:var(--t-dense);color:var(--ink-2);margin:var(--s-3) 0 0}.bus-catalog-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-5);margin:var(--s-5) 0 var(--s-5);position:sticky;top:0;z-index:5;padding:var(--s-3) 0;background:var(--lime);border-bottom:1px solid var(--rule);backdrop-filter:none}.bus-catalog-toolbar label{display:block;font-size:var(--t-dense);min-width:340px}.bus-catalog-toolbar input{display:block;width:100%;margin-top:var(--s-2);min-height:46px;padding:var(--s-2) var(--s-3);border:1px solid var(--rule);border-radius:var(--radius-ctl);color:var(--ink);background:var(--lime-raised);font:400 var(--t-dense)/var(--lh-dense) var(--sans)}.bus-catalog-toolbar p{font-size:var(--t-dense);color:var(--ink-2);margin:0 0 var(--s-3)}.bus-directory{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s-5)}.bus-directory .bus-card{margin:0}.bus-directory .bus-card-number{min-height:58px}.bus-directory .bus-card-destination{min-height:65px}.bus-directory .bus-card-places{padding-bottom:var(--s-3)}
.bus-line-title{display:flex;gap:var(--s-4);align-items:center;margin:var(--s-5) 0 var(--s-4)}.bus-line-title h1{font:400 var(--t-display)/var(--lh-head) var(--serif)!important;letter-spacing:var(--track-display);margin:0!important}.bus-line-number{background:var(--bus-color);color:var(--bus-ink);font:700 var(--t-title)/var(--lh-dense) var(--sans);min-width:90px;text-align:center;padding:var(--s-5) var(--s-2);border-radius:var(--radius)}.bus-line-title .bus-kicker{margin-bottom:var(--s-2)}.bus-direction-picker{position:sticky;top:0;background:var(--lime);padding:var(--s-3) 0;z-index:4;backdrop-filter:none;border-bottom:1px solid var(--rule)}.bus-direction-picker a{font-size:var(--t-dense);min-height:44px}.bus-direction-picker [aria-current]{background:var(--celeste);color:var(--ink-inverse)}.bus-direction-inactive{display:none}.g-line-directions{display:block;max-width:850px}.g-line-directions h2{font:400 var(--t-title)/var(--lh-head) var(--serif)}.g-line-directions .g-stop-list{max-width:680px}.g-line-heading{border-top:0}.g-stop-list li{font-size:var(--t-dense)}.g-stop-list a{display:inline-block;min-height:28px}
html[data-route="trip"] main{max-width:none;margin:var(--s-5) auto var(--s-6);width:calc(100% - 48px);height:calc(100dvh - 173px);min-height:670px;border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;grid-template-columns:390px minmax(0,1fr)}
html[data-route="trip"] .planner-top{padding:var(--s-5) var(--s-5) 0}html[data-route="trip"] h1{font:400 var(--t-display)/var(--lh-head) var(--serif);letter-spacing:var(--track-display);margin:var(--s-3) 0}html[data-route="trip"] .intro{font-size:var(--t-dense);line-height:var(--lh-dense)}html[data-route="trip"] h2{font:400 var(--t-head)/var(--lh-head) var(--serif)}html[data-route="trip"] .welcome,html[data-route="trip"] #results{padding:var(--s-4) var(--s-5)}html[data-route="trip"] .journey-fields{border-radius:var(--radius)}html[data-route="trip"] .journey{box-shadow:none;border-radius:var(--radius)}html[data-route="trip"] .map-tools button{min-height:var(--hit)}html[data-route="trip"] .travel-step h3{font-size:var(--t-dense)}html[data-route="trip"] .notice{font-size:var(--t-dense)}.bus-phone-jumps{display:none}
html[data-route="atlas"] #atlas-main{max-width:none;width:calc(100% - 48px);padding:var(--s-5) 0;margin:auto}html[data-route="atlas"] .atlas-intro h1{font:400 var(--t-display)/var(--lh-head) var(--serif);letter-spacing:var(--track-display)}html[data-route="atlas"] .atlas-intro{margin-bottom:var(--s-4)}html[data-route="atlas"] .atlas-workspace{box-shadow:none;border-radius:var(--radius)}html[data-route="atlas"] .atlas-intro .lede{font-size:var(--t-dense)}html[data-route="atlas"] .atlas-trust{font-size:var(--t-dense)}
.bus-heading,.bus-page-heading{animation:bus-arrive var(--dur) var(--ease) both}@keyframes bus-arrive{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:1200px){.bus-heading{display:block}.bus-journeys{margin-top:var(--s-4)}.transit-page .cu-header~main#main-content{height:700px;grid-template-columns:280px minmax(220px,1fr) 270px}.bus-directory{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.bus-heading{padding:var(--s-5) var(--s-4)}.bus-heading h1{font-size:var(--t-display)}.bus-journeys{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2);margin-top:var(--s-4);font-size:var(--t-dense)}.bus-journeys .bus-plan{grid-column:1/-1}.bus-journeys a{padding:var(--s-3) var(--s-2);gap:var(--s-2);border:1px solid var(--rule);white-space:normal;min-height:44px}.transit-page .cu-header~main#main-content{width:calc(100% - 32px);height:900px;min-height:0;max-height:none;margin-bottom:var(--s-4);grid-template-columns:minmax(0,1fr);grid-template-rows:320px minmax(0,1fr)}#mobile-catalog,#mobile-detail{display:block}.mobile-switch{bottom:8px;left:8px;right:8px;justify-content:center}.mobile-switch button{flex:1;font-size:var(--t-dense);padding:var(--s-1) var(--s-2)}#main-content .map-credit{bottom:60px}.map-controls{top:55px;max-width:calc(100% - 62px)}.map-controls button{font-size:var(--t-dense);padding:var(--s-1) var(--s-2);min-height:32px}#map-legend{bottom:75px}#catalog .catalog-top{padding:var(--s-4) var(--s-3) 0}#collection{padding:var(--s-1) var(--s-3) var(--s-4)}.bus-card-places ul{font-size:var(--t-dense)}.bus-card-footer{font-size:var(--t-dense)}.bus-card-footer a{min-height:32px}.bus-card-footer label{min-height:32px}.bus-card-number b{font-size:var(--t-title)}#inspector{padding:var(--s-4) var(--s-4)}.map-expanded #main-content .map-panel{grid-row:auto}.bus-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4)}html[data-route="lines"] main,html[data-route^="line:"] main{padding:var(--s-5) var(--s-4) var(--s-6)}.bus-catalog-toolbar label{min-width:0;flex:1}.bus-catalog-toolbar{gap:var(--s-2)}.bus-catalog-toolbar p{white-space:nowrap;font-size:var(--t-dense)}.bus-line-title{gap:var(--s-3);align-items:flex-start}.bus-line-number{min-width:65px;font-size:var(--t-title);padding:var(--s-4) var(--s-2)}.bus-line-title h1{font-size:var(--t-display)!important}.bus-direction-picker{gap:var(--s-2)}.bus-direction-picker a{flex-basis:100%}.bus-direction-picker{position:relative}.bus-phone-jumps{position:sticky;top:0;z-index:30;display:flex;background:var(--lime);border-bottom:1px solid var(--rule);padding:var(--s-1) var(--s-4);gap:var(--s-3)}.bus-phone-jumps button{font:500 var(--t-dense)/var(--lh-dense) var(--sans);min-height:40px;padding:var(--s-2) var(--s-3);border:1px solid var(--rule);border-radius:var(--radius-ctl)}html[data-route="trip"] main{display:flex;flex-direction:column;width:calc(100% - 32px);height:auto;min-height:0;margin:var(--s-4) auto}html[data-route="trip"] .planner{overflow:visible;border:0}html[data-route="trip"] .map-panel{height:440px;min-height:440px;order:-1;scroll-margin-top:var(--s-8)}html[data-route="trip"] .planner{scroll-margin-top:var(--s-8)}html[data-route="trip"] .planner-top{padding:var(--s-5) var(--s-4) 0}html[data-route="trip"] .welcome,html[data-route="trip"] #results{padding:var(--s-4) var(--s-4)}html[data-route="trip"] body.map-expanded main .map-panel{height:100dvh;min-height:100dvh}html[data-route="trip"] body.map-expanded{overflow:hidden}html[data-route="atlas"] #atlas-main{width:calc(100% - 32px);padding:var(--s-5) 0}html[data-route="atlas"] .atlas-intro h1{font-size:var(--t-display)}
}
@media(max-width:540px){.bus-directory{grid-template-columns:minmax(0,1fr);gap:var(--s-4)}.bus-card-destination{font-size:var(--t-dense);min-height:50px}.bus-directory .bus-card-destination{min-height:50px}.bus-directory .bus-card-places ul{columns:2;column-gap:var(--s-4);font-size:var(--t-dense);line-height:var(--lh-dense)}.bus-directory .bus-card-places li{break-inside:avoid;margin-bottom:var(--s-1)}.bus-catalog-toolbar{flex-wrap:wrap}.bus-catalog-toolbar label{flex-basis:100%}.bus-catalog-toolbar p{margin:0}.bus-heading h1{font-size:var(--t-display)}.bus-heading .bus-kicker{font-size:var(--t-dense)}}
@media(prefers-reduced-motion:reduce){.bus-heading,.bus-page-heading{animation:none}.bus-card,.bus-card-action>span{transition:none}}
}
@media screen{.bus-stop-plan{display:grid;gap:var(--s-2);margin:var(--s-3) 0 var(--s-4)}.bus-stop-plan a{display:block;border:1px solid var(--rule);padding:var(--s-2);border-radius:var(--radius);font-size:var(--t-dense);text-decoration:underline}.bus-card{scroll-margin:var(--s-1)}.bus-card-select:focus-visible{outline:3px solid var(--celeste);outline-offset:-3px}}
@media screen{.bus-location:has(.selected-ref:empty){display:none}.bus-location{font-size:var(--t-dense);margin:var(--s-1) 0 0 var(--s-5);color:var(--ink-2)}.bus-location summary{cursor:pointer;padding:var(--s-1) 0}.bus-location .selected-ref{margin:var(--s-1) 0;overflow-wrap:anywhere}}

@media screen{#collection{padding:0;scroll-padding:var(--s-1)}.line-row{padding:0 var(--s-4);min-height:70px;gap:var(--s-2)}.line-row>button{padding:var(--s-3) 0;gap:var(--s-3);min-height:64px}.line-row strong{font-size:var(--t-dense);line-height:var(--lh-dense)}.line-row small{font-size:var(--t-dense);color:var(--ink-2)}.line-row>input{width:16px;height:16px}.line-row .badge{min-width:34px;height:29px;font-size:var(--t-dense)}.line-row>button:focus-visible{outline-offset:-3px}.line-row .badge{color:var(--route-ink)}#details .detail-top .badge{color:var(--route-ink)}}
@media screen{html[data-route="atlas"] :is(.atlas-workspace,.atlas-intro,.atlas-bottom-bar){margin-left:0;margin-right:0}html[data-route="atlas"] .atlas-intro{padding:0 0 var(--s-4)}}

/* Tool rails use three of the shared twelve columns. Map space is flexible. */
@media screen {
 .bus-heading { max-width:var(--page-max); padding:var(--s-6) var(--gutter); align-items:flex-start; gap:var(--col-gap); }
 .bus-heading h1,.bus-page-heading h1 { font:500 var(--t-display)/var(--lh-display) var(--serif); }
 .bus-kicker { font:700 var(--t-label)/var(--lh-dense) var(--sans); letter-spacing:var(--track-label); color:var(--ochre); }
 .bus-journeys { flex-wrap:wrap; align-self:center; }
 .bus-journeys a { gap:var(--s-3); padding:var(--s-3) var(--s-4); min-height:var(--hit); }
 .bus-journeys .bus-plan { background:var(--celeste); color:var(--ink-inverse); }
 .transit-page .cu-header~main#main-content { width:100%; height:calc(100dvh - 280px); min-height:680px; max-height:none; margin:0 0 var(--s-6); grid-template-columns:minmax(0,3fr) minmax(0,6fr) minmax(0,3fr); border:0; border-top:1px solid var(--rule); border-bottom:var(--zocalo-h) solid var(--zocalo-band); border-radius:var(--radius); }
 #catalog, #inspector { min-width:0; }
 #catalog .catalog-top { padding:var(--s-5) var(--s-5) 0; }
 #catalog .section-head { flex-wrap:wrap; }
 #catalog .section-head h2 { font:500 var(--t-head)/var(--lh-head) var(--serif); }
 #catalog .catalog-bottom { gap:var(--s-2); padding:var(--s-3) var(--s-5); }
 #catalog .catalog-bottom button, .list-tools button { min-height:var(--hit); }
 .list-tools { flex-wrap:wrap; }
 .line-row { padding:0 var(--s-4); }
 .line-row.selected,.stop-row.selected { background:var(--ochre-pale); border-left:2px solid var(--celeste); }
 .line-row strong { font-weight:600; }
 .line-row>button { overflow-wrap:anywhere; }
 .line-row>button>span:last-child { min-width:0; }
 #inspector { padding:var(--s-5); }
 #details h2 { font:500 var(--t-head)/var(--lh-head) var(--serif); }
 .direction { align-items:center; }
 .direction small { flex-wrap:wrap; }
 .stats { gap:var(--s-4); flex-wrap:wrap; }
 .map-controls { top:var(--s-8); left:var(--s-4); right:var(--s-8); display:flex; flex-wrap:wrap; gap:var(--s-2); max-width:none; }
 .map-controls button { min-height:var(--hit); padding:var(--s-2) var(--s-3); }
 #map-status { left:var(--s-4); top:var(--s-4); right:var(--s-8); max-width:none; font:var(--t-dense)/var(--lh-dense) var(--sans); }
 #layers { left:var(--s-4); top:var(--s-4); width:calc(100% - var(--s-8)); max-width:var(--measure); max-height:calc(100% - var(--s-6)); padding:var(--s-5); border-radius:var(--radius); }
 #layers>label { margin-top:var(--s-4); }
 #layers .g-select { margin-top:var(--s-2); }
 #map-legend { font:var(--t-dense)/var(--lh-dense) var(--sans); left:var(--s-4); bottom:var(--s-8); max-width:calc(100% - var(--s-6)); padding:var(--s-2) var(--s-3); }
 .map-credit { font:var(--t-micro)/var(--lh-dense) var(--sans); }
 .mobile-switch { min-height:var(--hit); }
 .mobile-switch button { min-height:var(--hit); }
 html[data-route="lines"] main,html[data-route^="line:"] main { max-width:var(--page-max); padding:var(--s-6) var(--gutter) var(--s-8); }
 .bus-catalog-toolbar { background:var(--lime); gap:var(--s-5); }
 .bus-catalog-toolbar label { min-width:0; flex:1; max-width:var(--measure); }
 .bus-card-number>span,.bus-card-caption,.bus-card-footer,.bus-card-footer label { font-size:var(--t-dense); }
 .bus-card-number { border-radius:var(--radius); }
 .bus-card-footer a { min-height:var(--hit); }
 .bus-card-number b { font-size:var(--t-head); }
 .bus-card-places ul { line-height:var(--lh-body); }
 .bus-line-title h1 { font-size:var(--t-display)!important; line-height:var(--lh-display); }
 .bus-line-number { font-size:var(--t-title); }
 .bus-direction-picker { background:var(--lime); }
 .bus-direction-picker [aria-current] { background:var(--celeste); color:var(--ink-inverse); }
 html[data-route="trip"] main { width:100%; grid-template-columns:minmax(0,4fr) minmax(0,8fr); border:0; border-top:1px solid var(--rule); border-bottom:var(--zocalo-h) solid var(--zocalo-band); border-radius:var(--radius); margin:0 0 var(--s-6); min-height:760px; }
 html[data-route="trip"] .planner-top { padding:var(--s-5) var(--s-5) 0; }
 html[data-route="trip"] .welcome,html[data-route="trip"] #results { padding:var(--s-5); }
 html[data-route="trip"] .planner h2 { font:500 var(--t-head)/var(--lh-head) var(--serif); }
 html[data-route="trip"] .input-line input { min-height:var(--hit); height:auto; padding:var(--s-2) 0; }
 html[data-route="trip"] .journey-fields { border-radius:var(--radius); }
 html[data-route="trip"] .field { padding:var(--s-3); }
 html[data-route="trip"] .field label { margin:0 0 var(--s-1); }
 html[data-route="trip"] .clear { padding:var(--s-2); min-width:var(--hit); }
 html[data-route="trip"] .map-heading { max-width:calc(100% - var(--s-9)); padding:var(--s-3); }
 html[data-route="trip"] .map-tools { gap:var(--s-2); }
 html[data-route="trip"] .map-tools button { padding:var(--s-2) var(--s-3); text-decoration:none; }
 html[data-route="trip"] .map-tools [aria-pressed=true] { color:var(--celeste); border-color:var(--celeste); }
 html[data-route="trip"] .form-tools { gap:var(--s-3); }
 html[data-route="trip"] .g-button.g-button-row { display:block; }
 .bus-phone-jumps button { min-height:var(--hit); }
 html[data-route="atlas"] #atlas-main { width:100%; padding:var(--s-6) 0; }
 html[data-route="atlas"] .atlas-intro { max-width:var(--page-max); margin:auto; padding:0 var(--gutter) var(--s-5); }
 html[data-route="atlas"] .atlas-intro h1 { font:500 var(--t-display)/var(--lh-display) var(--serif); }
 html[data-route="atlas"] .atlas-workspace { grid-template-columns:minmax(0,3fr) minmax(0,6fr) minmax(0,3fr); border-inline:0; border-radius:var(--radius); border-bottom:var(--zocalo-h) solid var(--zocalo-band); }
 html[data-route="atlas"] .atlas-bottom-bar { padding:var(--s-5) var(--gutter); gap:var(--s-5); }
 html[data-route="atlas"] .coverage-actions { flex-wrap:wrap; gap:var(--s-2); }
 html[data-route="atlas"] .preview-toolbar { height:auto; min-height:var(--s-8); gap:var(--s-3); flex-wrap:wrap; padding:var(--s-2) 0; }
 html[data-route="atlas"] .page-thumb { display:block; }
 .atlas-trust { max-width:var(--measure); }
 .step-heading>span { border-radius:var(--radius); padding:var(--s-1); }
 .book-summary strong { white-space:normal; }
 @media(max-width:1100px) {
  .bus-heading { display:block; }
  .bus-journeys { margin-top:var(--s-5); }
  .transit-page .cu-header~main#main-content { grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,4fr); }
 }
 @media(max-width:900px) {
  html[data-route="atlas"] .atlas-workspace { display:flex; }
  html[data-route="atlas"] .atlas-intro { display:block; }
  .atlas-trust { text-align:left; margin-top:var(--s-4); }
  .book-actions { flex-wrap:wrap; }
 }
 @media(max-width:850px) {
  .bus-heading { padding:var(--s-5) var(--s-4); }
  .bus-journeys { grid-template-columns:1fr; }
  .bus-journeys a { min-width:0; }
  .transit-page .cu-header~main#main-content { grid-template-columns:minmax(0,1fr); grid-template-rows:440px minmax(0,1fr); height:1100px; min-height:0; }
  #catalog .catalog-top { padding:var(--s-4) var(--s-4) 0; }
  #inspector { padding:var(--s-5) var(--s-4); }
  #main-content .map-credit { bottom:var(--s-8); font-size:var(--t-micro); }
  #map-legend { bottom:var(--s-9); font-size:var(--t-dense); }
  #main-content .mobile-switch { bottom:var(--s-2); left:var(--s-2); right:var(--s-2); }
  .mobile-switch button { padding:var(--s-2); }
  html[data-route="trip"] main { min-height:0; height:auto; width:100%; margin:0; }
  html[data-route="trip"] .map-panel { height:440px; min-height:440px; }
  html[data-route="trip"] .planner-top { padding:var(--s-5) var(--s-4) 0; }
  html[data-route="trip"] .welcome,html[data-route="trip"] #results { padding:var(--s-5) var(--s-4); }
  html[data-route="atlas"] .atlas-bottom-bar { display:block; }
 }
}
@media screen { .bus-kicker { text-transform:uppercase; } html[data-route="trip"] .map-tools button { min-height:var(--hit); } }

/* Bus explorer: a full-height map with independently collapsible panels. */
@media screen {
 .transit-page .cu-header~main#main-content.bus-workspace {
  --bus-catalog-width:var(--rail);
  --bus-inspector-width:var(--rail);
  height:calc(100dvh - var(--bus-shell-height,calc(var(--header-h) + var(--hit))));
  min-height:calc(var(--s-9) * 6);
  margin:0;
  grid-template-columns:minmax(0,var(--bus-catalog-width)) minmax(0,1fr) minmax(0,var(--bus-inspector-width));
  grid-template-rows:auto minmax(0,1fr);
 }
 .transit-page .cu-header~main#main-content.bus-workspace.catalog-collapsed { --bus-catalog-width:0px; }
 .transit-page .cu-header~main#main-content.bus-workspace.inspector-collapsed { --bus-inspector-width:0px; }
 .bus-workspace-controls {
  grid-row:1; grid-column:1 / -1;
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--s-3); padding:var(--s-2) var(--s-4);
  border-bottom:1px solid var(--rule); background:var(--lime);
 }
 .bus-workspace-controls .g-button { white-space:nowrap; }
 .bus-workspace-controls [aria-expanded="true"] { border-color:var(--celeste); color:var(--celeste); }
 .bus-workspace #catalog { grid-row:2; grid-column:1; }
 .bus-workspace #catalog:not([hidden]) { display:flex; }
 .bus-workspace .map-panel { grid-row:2; grid-column:2; }
 .bus-workspace #inspector { grid-row:2; grid-column:3; }
 .bus-workspace #inspector:not([hidden]) { display:block; }
 .bus-workspace .search { margin-top:var(--s-4); }
 .bus-workspace-controls button:focus-visible { outline:3px solid var(--celeste); outline-offset:4px; }
 @media(max-width:850px) {
  .transit-page .cu-header~main#main-content.bus-workspace {
   height:auto; min-height:0;
   grid-template-columns:minmax(0,1fr);
   grid-template-rows:auto 440px calc(var(--s-9) * 6);
  }
  .bus-workspace .map-panel { grid-row:2; grid-column:1; }
  .bus-workspace #catalog,.bus-workspace #inspector { grid-row:3; grid-column:1; }
  .transit-page .cu-header~main#main-content.bus-workspace.panels-collapsed {
   height:calc(100dvh - var(--bus-shell-height,calc(var(--header-h) + var(--hit))));
   min-height:calc(var(--s-9) * 6);
   grid-template-rows:auto minmax(0,1fr) 0;
  }
 }
}

/* Audit repair: the map owns the viewport; the phone panel has three detents. */
@media screen {
 html[data-route="bus"] #bus-sheet { display:contents; }
 html[data-route="bus"] #sheet-detent { display:none; }
 html[data-route="bus"] .bus-workspace #catalog { grid-column:1; grid-row:2; }
 html[data-route="bus"] .bus-workspace #inspector { grid-column:3; grid-row:2; }
 html[data-route="bus"] #map-status.panel-map-status { position:static; max-width:none; padding:0; margin:0 0 var(--s-3); background:var(--clear); color:var(--ink-2); }
 html[data-route="bus"] .map-controls { top:var(--s-4); left:var(--s-4); max-width:calc(100% - var(--s-9)); flex-wrap:nowrap; gap:var(--s-2); }
 html[data-route="bus"] .map-controls button { min-height:var(--hit); }
 html[data-route="bus"] #map-legend { bottom:var(--s-7); left:var(--s-4); right:var(--s-4); padding:var(--s-4); border:1px solid var(--rule); }
 html[data-route="bus"] .map-credit { bottom:var(--s-2); left:var(--s-2); }
 html[data-route="bus"] #layers { top:var(--s-8); left:var(--s-4); width:calc(var(--rail) + var(--s-8)); max-width:calc(100% - var(--s-6)); max-height:calc(100% - var(--s-8) - var(--s-5)); }
 html[data-route="bus"] .line-row { position:relative; padding:var(--s-2) 0; gap:var(--s-2); cursor:pointer; border-left:3px solid var(--clear); }
 html[data-route="bus"] .line-row:focus-visible { outline:3px solid var(--celeste); outline-offset:4px; }
 html[data-route="bus"] .line-row[aria-current="true"] { border-left-color:var(--ink); background:var(--ochre-pale); }
 html[data-route="bus"] .line-row[aria-current="true"] strong { font-weight:700; }
 html[data-route="bus"] .line-copy { min-width:0; flex:1; }
 html[data-route="bus"] .line-visibility { flex:none; width:var(--hit); height:var(--hit); display:grid; place-items:center; color:var(--celeste); border:1px solid var(--rule); border-radius:var(--radius-ctl); font-weight:700; }
 html[data-route="bus"] .line-row small { overflow-wrap:anywhere; }
 html[data-route="bus"] #collection { padding:var(--s-2) var(--s-3); }
 html[data-route="bus"] #catalog .catalog-bottom { gap:var(--s-2); }
 html[data-route="bus"] .data-review { display:flex; align-items:center; min-height:var(--hit); width:fit-content; color:var(--teja); font:600 var(--t-dense)/var(--lh-dense) var(--sans); text-decoration:underline; }
 html[data-route="bus"] :is(.bus-detail-link,.entity-links a,.bus-stop-plan a) { display:flex; align-items:center; min-height:var(--hit); padding:var(--s-2) 0; }
 html[data-route="bus"] .bus-detail-link { margin:0; }
 html[data-route="bus"] :is(.direction,.service-row) { align-items:center; }
 html[data-route="bus"] .map-options-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-3); margin-top:var(--s-4); }
 html[data-route="bus"] .map-options-actions button { white-space:normal; min-height:var(--hit); }
 html[data-route="bus"] #keyboard-shortcuts dl { display:grid; grid-template-columns:auto 1fr; gap:var(--s-3); font:400 var(--t-dense)/var(--lh-dense) var(--sans); }
 html[data-route="bus"] #keyboard-shortcuts dd { margin:0; }
 html[data-route="bus"] #keyboard-shortcuts dt { font-weight:700; }
 html[data-route="bus"] #map canvas { touch-action:pan-y; }
 @media (max-width:850px) {
  html[data-route="bus"] .cu-header,html[data-route="bus"] .cu-section-nav { position:relative; top:auto; }
  .transit-page .cu-header~main#main-content.bus-workspace,
  .transit-page .cu-header~main#main-content.bus-workspace.panels-collapsed {
   --sheet-peek:var(--s-9);
   position:relative; display:block; width:100%; height:calc(100dvh - var(--bus-shell-height,calc(var(--header-h) + var(--hit)))); min-height:calc(var(--s-9) * 4); max-height:none; margin:0; overflow:visible;
  }
  html[data-route="bus"] .bus-workspace .map-panel { position:absolute; inset:0 0 var(--sheet-peek); height:auto; min-height:0; border:0; }
  html[data-route="bus"] #bus-sheet { position:absolute; bottom:0; inset-inline:0; z-index:5; height:var(--sheet-peek); display:flex; flex-direction:column; background:var(--lime-raised); border-top:2px solid var(--rule-strong); overflow:hidden; }
  html[data-route="bus"] [data-detent="half"] #bus-sheet { height:55%; }
  html[data-route="bus"] [data-detent="full"] #bus-sheet { height:100%; }
  html[data-route="bus"] #sheet-detent { display:block; flex:none; width:100%; height:var(--hit); min-height:var(--hit); padding:var(--s-2) var(--s-4); margin:0; border:0; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; touch-action:none; cursor:ns-resize; font-weight:700; }
  html[data-route="bus"] .bus-workspace-controls { flex:none; position:static; padding:0 var(--s-2) var(--s-1); gap:var(--s-2); background:var(--lime-raised); }
  html[data-route="bus"] .bus-workspace-controls button { flex:1; min-width:0; height:var(--hit); }
  html[data-route="bus"] .bus-workspace :is(#catalog,#inspector) { position:static; height:auto; min-height:0; max-height:none; flex:1; border:0; overflow:auto; }
  html[data-route="bus"] [data-detent="peek"] :is(#catalog,#inspector) { visibility:hidden; }
  html[data-route="bus"] .bus-workspace #inspector { padding:var(--s-4); }
  html[data-route="bus"] .bus-workspace #catalog .catalog-top { padding-top:var(--s-3); }
  html[data-route="bus"] .bus-workspace .search { margin-top:var(--s-2); }
  html[data-route="bus"] #map-options { margin:auto 0 0; width:100%; max-width:none; max-height:85dvh; padding:var(--s-5); border-bottom:var(--zocalo-h) solid var(--zocalo-band); }
  html[data-route="bus"] #layers { position:fixed; inset:auto 0 0; z-index:20; width:100%; max-width:none; max-height:80dvh; padding:var(--s-5); }
  html[data-route="bus"] .map-controls { top:var(--s-2); left:var(--s-2); max-width:calc(100% - var(--s-8)); }
  html[data-route="bus"] .map-controls button { padding:var(--s-2); }
  html[data-route="bus"] #map-legend { bottom:var(--s-7); left:var(--s-2); right:var(--s-2); max-width:calc(100% - var(--s-4)); }
 }
 @media (forced-colors:active) {
  html[data-route="bus"] .line-row[aria-current="true"] { outline:2px solid; }
  html[data-route="bus"] .line-row[aria-selected="true"] .line-visibility { border-width:3px; }
 }
}
@media screen {
 html[data-route="bus"] .direction>button.g-button-row { display:block; min-width:0; text-align:left; }
 html[data-route="bus"] .direction small { display:flex; flex-wrap:wrap; }
 html[data-route="bus"] .direction-summary { margin:var(--s-2) 0; font:600 var(--t-dense)/var(--lh-dense) var(--sans); }
 @media(max-width:850px) {
  html[data-route="bus"] .cu-section-nav { flex-wrap:nowrap; overflow-x:auto; min-width:0; padding-inline:var(--s-2); gap:var(--s-2); }
  html[data-route="bus"] .cu-section-nav a { flex-shrink:0; }
 }
}
