@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:800 var(--t-display)/var(--lh-display) var(--display);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:700 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:800 var(--t-title)/var(--lh-dense) var(--display);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:700 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:800 var(--t-display)/var(--lh-display) var(--display)!important;letter-spacing:var(--track-display);margin:0!important}.bus-line-number{display:flex;flex:none;align-items:center;justify-content:center;width:var(--s-9);height:var(--s-9);background:var(--bus-color);color:var(--bus-ink);font:800 var(--t-title)/1 var(--display);letter-spacing:-.02em;border-radius:50%}.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:800 var(--t-title)/var(--lh-head) var(--display)}.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:800 var(--t-display)/var(--lh-display) var(--display);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:700 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:800 var(--t-display)/var(--lh-display) var(--display);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:flex;flex-wrap:wrap;gap:var(--s-2);margin:var(--s-4) 0}.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:800 var(--t-display)/var(--lh-display) var(--display); }
 .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:700 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:700 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,#layers>.layer-field { 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:700 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:800 var(--t-display)/var(--lh-display) var(--display); }
 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) { 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; }
 @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; }
  /* Not quite opaque, on purpose: Chromium treats an opaque sheet as covering the map and can skip drawing
     the map above it, leaving the phone first view blank. 0.1% is invisible. */
  html[data-route="bus"] #bus-sheet { opacity:.999; }
  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; }
 }
}
/* Cúpulas y tejas: line numbers in the list are round tiles, like the domes. */
:root .line-row .badge { width:40px; min-width:40px; height:40px; padding:0; border:0; border-radius:50%; font-weight:900; letter-spacing:-.02em; }

/* September 2026: the map gets the space. No toolbar row; details open only
   when something is chosen; visibility tools appear only once routes are on. */
@media screen {
 html[data-route="bus"] .bus-workspace:not(.has-selection) #legend-toggle { display:none; }
 html[data-route="bus"] .bus-workspace:not(.has-visible) #catalog .catalog-bottom { display:none; }
 html[data-route="bus"] #catalog .catalog-bottom { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s-2); padding:var(--s-2) var(--s-4); border-top:1px solid var(--rule); }
 html[data-route="bus"] #catalog .catalog-bottom #visible-count { flex:1 1 100%; color:var(--ink-2); }
 html[data-route="bus"] #catalog .catalog-bottom .list-tools { display:contents; }
 html[data-route="bus"] #catalog .catalog-top { padding:var(--s-4) var(--s-4) var(--s-2); border-bottom:1px solid var(--rule); }
 html[data-route="bus"] #catalog .section-head { display:flex; flex-wrap:nowrap; align-items:center; gap:var(--s-3); }
 html[data-route="bus"] #catalog .section-head h2 { margin:0; flex:1; font:800 var(--t-sub)/var(--lh-head) var(--display); letter-spacing:var(--track-display); }
 html[data-route="bus"] #network-count { font:400 var(--t-dense)/var(--lh-dense) var(--sans); color:var(--ink-2); }
 html[data-route="bus"] .bus-panel-collapse { padding:0; font:700 var(--t-sub)/1 var(--sans); }
 html[data-route="bus"] .bus-workspace .search { margin-top:var(--s-3); }
 html[data-route="bus"] #list-count:not(.sr-only) { margin:var(--s-2) 0 0; }
 /* Compact rows: badge, name, one line of places, visibility at the end. */
 html[data-route="bus"] #collection { padding:var(--s-1) var(--s-2); }
 html[data-route="bus"] .line-row { align-items:center; gap:var(--s-3); padding:var(--s-1) 0 var(--s-1) var(--s-2); min-height:0; }
 html[data-route="bus"] .line-row .line-copy { display:flex; flex-direction:column; min-width:0; }
 html[data-route="bus"] .line-row strong, html[data-route="bus"] .line-row small { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; overflow-wrap:normal; }
 html[data-route="bus"] .line-row small { color:var(--ink-3); }
 html[data-route="bus"] .line-visibility { order:3; border:0; outline:1px solid var(--ink-3); outline-offset:-12px; border-radius:var(--radius); color:var(--celeste); font:700 var(--t-dense)/1 var(--sans); }
 html[data-route="bus"] .line-row[aria-selected="true"] .line-visibility { outline:2px solid var(--celeste); }
 html[data-route="bus"] #catalog-expand { display:none; }
}
@media screen and (min-width:851px) {
 html[data-route="bus"] .bus-workspace-controls { display:none; }
 .transit-page .cu-header~main#main-content.bus-workspace { grid-template-rows:0 minmax(0,1fr); }
 html[data-route="bus"] .bus-workspace.catalog-collapsed #catalog-expand { display:inline-flex; }
 html[data-route="bus"] .bus-workspace #inspector { border-left:1px solid var(--rule); }
}
@media screen and (max-width:850px) {
 html[data-route="bus"] .bus-panel-collapse { display:none; }
 html[data-route="bus"] .bus-workspace:not(.has-selection) .bus-workspace-controls { display:none; }
}
@media screen {
 html[data-route="bus"] #catalog .catalog-bottom .g-button { flex:none; padding:var(--s-2) var(--s-3); }
 html[data-route="bus"] #catalog .catalog-bottom .g-check { flex:1 1 100%; min-height:var(--hit); }
 html[data-route="bus"] .has-selection #map-status.panel-map-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 html[data-route="bus"] .bus-panel-collapse { border-color:var(--clear); }
}
@media screen and (min-width:851px) {
 .transit-page .cu-header~main#main-content.bus-workspace { --bus-catalog-width:calc(var(--rail) + var(--s-8)); --bus-inspector-width:calc(var(--rail) + var(--s-7)); }
 .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; }
}
@media screen and (max-width:850px) {
 html[data-route="bus"] #catalog .section-head h2 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 html[data-route="bus"] #catalog .catalog-top { padding-top:0; }
}
@media screen {
 html[data-route="bus"] #catalog .catalog-bottom #visible-count { order:0; flex:1 1 0; min-width:0; }
 html[data-route="bus"] #catalog .catalog-bottom #undo-visibility { order:1; }
 html[data-route="bus"] #catalog .catalog-bottom #all { order:2; }
 html[data-route="bus"] #catalog .catalog-bottom #none { order:3; }
 html[data-route="bus"] #catalog .catalog-bottom #fit-visible { order:4; }
 html[data-route="bus"] #catalog .catalog-bottom .g-check { order:5; }
 html[data-route="bus"] #catalog .catalog-bottom::after { content:''; order:1; flex-basis:100%; height:0; }
}

/* Assignment review keeps its controls beside the map, with no geographic overlay. */
@media screen {
 .review-entry { display:grid; gap:var(--s-2); padding:var(--s-3) 0; margin-bottom:var(--s-4); border-bottom:2px solid var(--rule-strong); font:400 var(--t-dense)/var(--lh-dense) var(--sans); }
 .review-entry .g-select { display:block; margin-top:var(--s-1); }
 #details .browse-trail { font:400 var(--t-dense)/var(--lh-dense) var(--sans); padding:var(--s-3) 0; margin-bottom:var(--s-4); border-bottom:2px solid var(--rule-strong); }
 #details .browse-trail .g-select { display:block; margin-top:var(--s-1); }
 #details .browse-trail>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-2); }
 #details .browse-trail button { white-space:normal; min-height:var(--hit); font:600 var(--t-dense)/var(--lh-dense) var(--sans); }
 #details .browse-trail>button { display:block; width:100%; margin-top:var(--s-2); }
 .reviewing-stops #bus-sheet { display:none !important; }
 .transit-page.reviewing-stops .cu-header~main#main-content.bus-workspace { display:grid; grid-template-columns:minmax(0,calc(var(--rail) + var(--s-9))) minmax(0,1fr); grid-template-rows:minmax(0,1fr); }
 html[data-route="bus"] .reviewing-stops .bus-workspace .map-panel { grid-column:2; grid-row:1; position:relative; inset:auto; min-height:0; height:100%; }
 .reviewing-stops #catalog-expand { display:none !important; }
 #stop-review { grid-column:1; grid-row:1; min-width:0; overflow:auto; padding:var(--s-4); border-right:1px solid var(--rule); background:var(--lime); font:400 var(--t-dense)/var(--lh-dense) var(--sans); scroll-padding:var(--s-4); scroll-padding-top:calc(var(--s-9) * 2); }
 #stop-review[hidden] { display:none; }
 #stop-review p { margin:var(--s-2) 0; }
 #stop-review h2 { margin:var(--s-2) 0; font:700 var(--t-sub)/var(--lh-head) var(--sans); }
 #stop-review :is(button,input,select,textarea,summary) { font:inherit; min-height:var(--hit); }
 #stop-review button { white-space:normal; padding:var(--s-2); min-width:var(--hit); }
 #stop-review :is(button,input,select,textarea,summary):focus-visible { outline:3px solid var(--celeste); outline-offset:4px; }
 .review-top { display:flex; align-items:center; justify-content:space-between; gap:var(--s-2); }
 #review-context { position:sticky; top:0; z-index:2; background:var(--lime); padding:var(--s-1) 0; overflow-wrap:anywhere; border-bottom:1px solid var(--rule); }
 .review-direction { color:var(--ink); }
 #review-stop-id,.review-help { color:var(--ink-2); }
 .review-navigation,.review-classifications,.review-actions,.review-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-2); }
 .review-navigation { margin:var(--s-3) 0 var(--s-2); }
 .review-navigation button { font-weight:700 !important; }
 .review-classifications button { text-align:left; }
 .review-classifications [aria-pressed="true"] { background:var(--ochre-pale); color:var(--ink); border-color:var(--ink); }
 .review-classifications [aria-pressed="true"]::before { content:'✓ '; }
 .review-classifications button:last-child { grid-column:1/-1; }
 #review-scope { color:var(--ink-2); }
 #review-message:not(:empty) { border-left:2px solid var(--celeste); padding-left:var(--s-2); }
 .review-map-state { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s-1); }
 #review-recenter { border:0; text-decoration:underline; background:var(--clear); }
 #stop-review details { border-top:1px solid var(--rule); padding:var(--s-2) 0; }
 #stop-review summary { display:list-item; align-content:center; cursor:pointer; font-weight:600; }
 #stop-review label { display:block; min-width:0; }
 #stop-review label.g-check { display:flex; margin:var(--s-2) 0; }
 #stop-review .g-select { display:block; margin:var(--s-1) 0 var(--s-2); }
 #stop-review select { max-width:100%; }
 #review-note { width:100%; resize:vertical; padding:var(--s-2); margin:var(--s-1) 0 var(--s-2); font:inherit; }
 #review-save { margin-bottom:var(--s-2); }
 .review-identifiers { display:grid; grid-template-columns:auto minmax(0,1fr); gap:var(--s-2); margin:var(--s-2) 0; }
 .review-identifiers dd { margin:0; overflow-wrap:anywhere; }
 #review-neighbor-list p { padding:var(--s-2) 0; border-top:1px solid var(--rule); overflow-wrap:anywhere; }
 @media (max-width:850px) {
  .transit-page.reviewing-stops .cu-header~main#main-content.bus-workspace { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(calc(var(--s-9) * 3),42%) minmax(0,1fr); min-height:calc(var(--s-9) * 6); }
  html[data-route="bus"] .reviewing-stops .bus-workspace .map-panel { grid-column:1; grid-row:1; }
  #stop-review { grid-column:1; grid-row:2; border-right:0; border-top:2px solid var(--rule-strong); padding:var(--s-3); }
  .review-top { gap:var(--s-1); }
 }
}

/* Stops whose position needs checking (assets/bus/shared-stops.json locationCheck). */
#details .stop-check{margin:var(--s-3) 0 var(--s-4);padding:var(--s-3);border-left:2px solid var(--teja);background:var(--lime-sunken)}
#details .stop-check strong{display:block;font:700 var(--t-dense)/var(--lh-dense) var(--sans);color:var(--ink)}
#details .stop-check p{margin:var(--s-1) 0 var(--s-3);font:400 var(--t-dense)/var(--lh-dense) var(--sans);color:var(--ink-2)}
.timeline .stop-check-tag{display:block;margin-top:var(--s-1);font:600 var(--t-label)/1.3 var(--sans);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--teja)}
#map-legend .check-ring{display:inline-block;width:12px;height:12px;border:2px solid var(--teja);border-radius:50%;vertical-align:-2px}

/* Line page: the stop list beside a small route map (scripts/lib/line-map.mjs). Line number is a round tile, like the domes. */
.bus-line-layout { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:var(--s-7); align-items:start; }
.bus-line-layout .g-line-directions { grid-template-columns:minmax(0,1fr); }
.bus-line-map { position:sticky; top:var(--s-5); margin:0; }
.bus-line-map svg { display:block; width:100%; height:auto; background:var(--lime-raised); }
.bus-line-map-network { fill:none; stroke:var(--rule); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.bus-line-map-casing { fill:none; stroke:var(--lime-raised); stroke-width:9; stroke-linecap:round; stroke-linejoin:round; }
.bus-line-map-route { fill:none; stroke:var(--line); stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
.bus-line-map-route.is-return { stroke-width:3; stroke-dasharray:7 6; }
.bus-line-map-end { fill:var(--lime-raised); stroke:var(--ink); stroke-width:3; }
.bus-line-map figcaption a { display:inline-flex; align-items:center; min-height:var(--hit); }
@media (max-width:850px) {
 .bus-line-layout { grid-template-columns:minmax(0,1fr); gap:var(--s-5); }
 .bus-line-map { position:static; order:-1; }
 .bus-line-number { width:var(--s-8); height:var(--s-8); font-size:var(--t-head); }
}

/* Stop detail: the lines that stop here, as round tiles that open each line. */
html[data-route="bus"] .stop-lines { margin:var(--s-4) 0; }
html[data-route="bus"] .stop-lines ul { list-style:none; display:flex; flex-wrap:wrap; gap:var(--s-2); margin:var(--s-2) 0 0; padding:0; }
html[data-route="bus"] .stop-lines button { display:flex; align-items:center; justify-content:center; min-width:var(--hit); min-height:var(--hit); padding:0; border:0; border-radius:50%; background:none; cursor:pointer; }
html[data-route="bus"] .stop-lines .badge { display:flex; align-items:center; justify-content:center; width:var(--hit); height:var(--hit); padding:0; border:0; border-radius:50%; font-weight:900; letter-spacing:-.02em; }
html[data-route="bus"] .stop-lines button:focus-visible { outline:3px solid var(--celeste); outline-offset:2px; }
html[data-route="bus"] .stop-check .g-button { margin-top:var(--s-2); }


/* Local bus assignment experiment: the existing map/review grid stays in charge. */
.review-experiment #stop-review { display:none !important; }
#experiment-panel { grid-column:1; grid-row:1; min-width:0; overflow:auto; padding:var(--s-4); border-right:1px solid var(--rule); background:var(--lime); font:400 var(--t-dense)/var(--lh-dense) var(--sans); }
#experiment-panel h2 { font:700 var(--t-sub)/var(--lh-head) var(--sans); margin:var(--s-2) 0; }
#experiment-panel p { margin:var(--s-2) 0; }
#experiment-panel details { padding:var(--s-2) 0; border-top:1px solid var(--rule); }
#experiment-panel summary { min-height:var(--hit); align-content:center; cursor:pointer; font-weight:600; }
#experiment-panel label,#experiment-panel .g-select { display:block; min-width:0; }
#experiment-panel :is(input,textarea,select) { width:100%; max-width:100%; }
#experiment-panel input[type=checkbox] { width:var(--s-4); }
#experiment-panel :is(button,input,select,textarea,summary,a):focus-visible { outline:3px solid var(--celeste); outline-offset:4px; }
#experiment-panel :is(button,select,input,textarea) { font:inherit; min-height:var(--hit); }
#experiment-panel :is(button,a) { white-space:normal; }
#experiment-panel :is(p,li,span,a,h2) { overflow-wrap:anywhere; }
#experiment-panel ul { padding-left:var(--s-4); }
.experiment-heading,.experiment-nav { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s-2); }
.experiment-heading { justify-content:space-between; }
.experiment-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.experiment-nav button:last-child { grid-column:1/-1; }
.experiment-meta,.experiment-id { color:var(--ink-3); }
.experiment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-2); }
.experiment-candidates { padding:0; margin:var(--s-2) 0; list-style:none; }
.experiment-candidates li { display:grid; gap:var(--s-1); padding:var(--s-2) 0; border-bottom:1px solid var(--rule); }
.experiment-candidates button { text-align:left; }
.experiment-map-legend { position:absolute; bottom:var(--s-5); left:var(--s-3); max-width:calc(100% - var(--s-6)); display:grid; gap:var(--s-1); padding:var(--s-2); border:1px solid var(--rule); background:var(--lime); color:var(--ink); font:400 var(--t-dense)/var(--lh-dense) var(--sans); pointer-events:none; z-index:3; }
.experiment-marker { min-width:var(--hit); min-height:var(--hit); border:2px solid var(--celeste); border-radius:50%; background:var(--lime-raised); color:var(--ink); font:700 var(--t-dense)/var(--lh-dense) var(--sans); cursor:pointer; }
.experiment-marker.is-current { border-width:4px; border-color:var(--ink); }
.experiment-map-legend { max-height:40%; overflow:auto; overscroll-behavior:contain; pointer-events:auto; }
.experiment-map-legend:focus-visible { outline:3px solid var(--celeste); outline-offset:4px; }
.review-experiment .experiment-marker { width:var(--hit); height:var(--hit); padding:0; border-radius:50%; }
@media(max-width:380px){
 .review-experiment .cu-brand-name { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .review-experiment .cu-brand { margin-right:auto; }
}
@media(max-width:850px){
 #experiment-panel { grid-column:1; grid-row:2; border-right:0; border-top:2px solid var(--rule-strong); padding:var(--s-3); }
 .experiment-map-legend span:nth-child(n+5) { display:none; }
 .experiment-map-legend { font-size:var(--t-dense); }
}

/* Inline links in the map credit and the About dialog read as links. */
html[data-route="bus"] :is(.map-credit,dialog p) a{text-decoration:underline;text-underline-offset:2px}
