/* Shared opaque surfaces and text colours, loaded after each page stylesheet. */
html[data-theme="light"]{color-scheme:light;--bg:#f4f7f5;--panel:#ffffff;--panel2:#edf3ef;--text:#10271b;--muted:#344d40;--accent:#075e3a;--accent2:#075e3a;--accent-2:#075e3a;--teal:#075e3a;--line:#617b6b;--warn:#704600;--danger:#962020;--focus:#174fa0;--action:#075e3a;--action-text:#ffffff}
html[data-theme="green"]{color-scheme:dark;--bg:#06110d;--panel:#0c2117;--panel2:#163525;--text:#f1fff6;--muted:#c1d9ca;--accent:#85ffb3;--accent2:#adffca;--accent-2:#adffca;--teal:#adffca;--line:#85aa94;--warn:#ffdb85;--danger:#ffb5b5;--focus:#ffdb85;--action:#adffca;--action-text:#082517}
html[data-theme] body{background:var(--bg);color:var(--text)}
html[data-theme] :is(.home-topbar,.guide-top,.legal-top,.guide-footer,.home-footer,.legal-foot,.share-card,.detail-row,.hero-card,.result-card,.info-card,.legal-card,.cover-card,.quick-strip article,.step-card,.mobile-tip,.data-note,.project-hub,.project-grid a,.suggestions,.suggestion,.stop-card,.selected-address,.stop-finder,.finder-result){background:var(--panel);color:var(--text);border-color:var(--line);box-shadow:none}
html[data-theme] :is(.back-link,.help-link,.back,.icon-button,.home-brand>span,.guide-brand span,.legal-brand span:first-child,.step-no,.project-grid a>span,.toc a,.info-links a,.privacy-action button,.share-back,.share-action,.finder-heading button){background:var(--panel2);color:var(--text);border-color:var(--line)}
html[data-theme] :is(.primary-button,.primary-button.secondary,.cta,.cta.secondary,.share-action.primary,.page-theme-toggle){background:var(--action);color:var(--action-text);border-color:var(--action);box-shadow:none}
html[data-theme] :is(.hero-card>p,.result-card>p,.planner-card p,.info-card p,.lead,.micro,.cover-card figcaption,.section-head p,.mobile-tip p,.data-note p,.step-card p,.legal-card p,.legal-card li,address,.guide-footer a,.legal-foot a,.guide-nav>a:not(.cta),.privacy-action span,.empty-state,.loading,.share-note,.detail-row small,.stop-finder p,.share-footer-actions,.trip-subtitle,.trip-foot,.footer,.footer a,.hint,.connection-meta,.group-copy small,.nearby-copy small,.stop-extra,.trip-chip,.city-suggestion-copy small,.city-suggestion-badge){color:var(--muted)}
html[data-theme] :is(.source-note,.privacy-note,.remember-row){color:var(--muted)!important;font-size:14px!important;line-height:1.55}
html[data-theme] :is(.address-form>label:first-child,.dep-chip strong,.suggestion strong,.stop-card h3){color:var(--text)}
html[data-theme] :is(.dep-chip,.dep-chip small,.status-badge){color:var(--muted);border-color:var(--line)}
html[data-theme] :is(.dep-chip.match,.status-badge.warn,.notice){background:var(--panel2);color:var(--warn);border-color:var(--warn)}
html[data-theme] :is(.status-badge.live,.share-status.is-live){background:var(--panel2);color:var(--accent);border-color:var(--accent)}
html[data-theme] :is(.share-status.is-ended,.share-alert,.stop-cancel,.stop-delay.late,.trip-chip.cancelled){color:var(--danger);background:var(--panel)}
html[data-theme] :is(.address-input-wrap input,.stop-finder input,.live-share-field select,.live-share-url){background:var(--panel);color:var(--text);border:2px solid var(--line)}
html[data-theme] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
html[data-theme] :is(.suggestion.active,.suggestion:hover,.finder-result:hover){background:var(--panel2);color:var(--text)}
html[data-theme] .travel-help-page :is(section){background:var(--panel);border-color:var(--line)}
html[data-theme] .travel-help-page :is(a,.eyebrow){color:var(--accent)}
html[data-theme] .travel-help-page :is(.small,footer){color:var(--muted)}
html[data-theme] .travel-help-page .primary{background:var(--action);color:var(--action-text);border-color:var(--action)}
html[data-theme] :is(.share-top,.share-title-row,.section-head,.guide-top,.guide-nav,.legal-top){flex-wrap:wrap}
html[data-theme] .page-theme-toggle{min-height:48px;padding:10px 14px;border:2px solid;border-radius:11px;font:700 16px/1.4 system-ui;cursor:pointer;max-width:100%;white-space:normal;grid-column:1/-1;justify-self:start}
html[data-theme] :is(.home-main,.legal-shell,.guide-main,.share-shell){min-width:0}
html[data-theme] :is(.hero-card>p,.result-card>p,.info-card p,.step-card p,.legal-card p,.legal-card li,.stop-card p){font-size:16px;line-height:1.6}
html[data-theme] :is(.suggestion strong,.stop-card h3){font-size:17px}
html[data-theme] :is(.suggestion small,.home-brand small,.dep-chip,.dep-chip small,.status-badge,.stop-distance,.micro,.cover-card figcaption,.project-grid small,.quick-strip small,.guide-footer,.home-footer,.legal-foot,.trip-subtitle){font-size:14px;line-height:1.5}
html[data-theme] :is(.primary-button,.suggestion,.cta,.info-links a,.toc a){min-height:48px}
html[data-theme] :is(.suggestions){max-height:50dvh;overflow:auto;overscroll-behavior:contain}
html[data-theme] :is(.remember-row input){width:24px;height:24px}
html[data-theme] :is(.stop-card,.section-head)>*{min-width:0}
html[data-theme] :is(.legal-card,.info-card,.step-card,.project-grid a,.detail-row,.share-direction){overflow-wrap:anywhere}
html[data-theme] :is(button,a,input,select,summary,textarea):focus-visible{outline:3px solid var(--focus);outline-offset:3px}
html[data-theme] .trip-stop.past{opacity:1}
html[data-theme] :is(.trip-stop.cancelled,.stop-departure.cancelled){opacity:1}
html[data-theme] .countdown-main{background:var(--panel2);color:var(--text)}
html[data-theme] .countdown-main small{color:var(--muted)}
html[data-theme] .map-chip{background:var(--panel);color:var(--text);border-color:var(--line)}
html[data-theme] .stop-delay.early{color:var(--accent);border-color:var(--line)}
@media(max-width:600px){
 html[data-theme] :is(.guide-top,.legal-top){position:relative}
 html[data-theme] .guide-nav{width:100%}
 html[data-theme] .section-head{align-items:flex-start;gap:10px}
 html[data-theme] .planner-card{grid-template-columns:minmax(0,1fr)}
 html[data-theme] .share-line{height:auto;min-height:46px;overflow-wrap:anywhere}
 html[data-theme] .trip-foot{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){html[data-theme] *{scroll-behavior:auto!important}}
html[data-theme] .travel-primary-actions>a:last-child{grid-column:1/-1;min-height:44px}
html[data-theme] .travel-controls{min-width:0}
html[data-theme] .travel-primary-actions{min-width:0}
html[data-theme] .page-theme-toggle:disabled,html[data-theme] #planJourney:disabled{cursor:wait}
html[data-theme] .ride-progress-note{color:var(--muted)}
html[data-theme="light"] .ride-progress{background:var(--panel2);color:var(--text)}
html[data-theme="green"] .ride-progress{background:var(--panel2);color:var(--text)}
