/* Appearance control and dark palette. Layout and geometry remain shared. */
:root{color-scheme:light}
.header-actions{display:flex;align-items:center;gap:9px}
#theme-toggle{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #6c809929;border-radius:50%;background:#ffffffb8;color:#596672;box-shadow:0 3px 12px #23354d0b;anchor-name:--appearance}
#theme-toggle:hover{background:#e9edf2}
#theme-menu{position:fixed;inset:65px 24px auto auto;margin:0;padding:7px;min-width:160px;border:1px solid #dce1e8;border-radius:16px;background:#fffffff2;color:#1d1d1f;box-shadow:0 8px 28px #18243926;backdrop-filter:blur(20px)}
@supports(position-anchor:--appearance){#theme-menu{position-anchor:--appearance;top:calc(anchor(bottom) + 8px);right:anchor(right)}}
#theme-menu>span{display:block;font-size:12px;color:#6e6e73;padding:7px 10px}
#theme-menu button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px;border:0;border-radius:9px;background:none;color:inherit;text-align:left;font-size:14px}
#theme-menu button[aria-pressed=true]{background:#e8edf4;color:#0066cc}
#theme-menu button[aria-pressed=true]::after{content:'✓'}
#theme-menu button:hover{background:#edf0f4}
:root[data-theme=dark]{color-scheme:dark;--cream:#101216;--plum:#f1f3f7;--text:#f1f3f7;--secondary:#a6adb9;--teal-ink:#75b6ff;--soft-teal:#20344b;--hairline:#ffffff12;--glass-hover:linear-gradient(145deg,#ffffff16,#ffffff0a);--surface:#1b1e24;--raised:#252931;--edge:#ffffff16}
html[data-theme=dark] body{background:var(--cream);color:var(--text)}
html[data-theme=dark] :is(.event-card,.empty,dialog,[popover],#location-popover.location-modal){background:var(--surface);color:var(--text);border-color:var(--edge);box-shadow:0 8px 28px #0002}
html[data-theme=dark] :is(h1,h2,h3,.event-time,.roster-count,.day-heading,#summary,.brand,.popover-heading h2,.location-modal .popover-heading h2,.schedule-popover .popover-heading h2){color:var(--text)}
html[data-theme=dark] :is(.duration,.venue,.roster-total,.range-scale,.level-heading,.help,#centre-message,.transit-meta,.transit-heading>span,.transit-leg-time,.transit-leg-detail,.transit-alight,.transit-leg-route>span:last-child,.transit-stop-list li,.transit-walk,.location-modal .location-step label){color:var(--secondary)}
html[data-theme=dark] .brand .mark{filter:brightness(1.9)}
html[data-theme=dark] .event-facts .metric-price{color:#e0e4ec;background:transparent}
html[data-theme=dark] .event-facts .metric-level{background:#35284e;box-shadow:inset 0 0 0 1px #b894ef20}
html[data-theme=dark] .event-facts .metric-level strong{color:#c6a8fa}
html[data-theme=dark] .event-booking .roster-count{color:var(--text)}
html[data-theme=dark] .event-card :is(.event-facts,.event-booking){border-color:var(--edge)}
html[data-theme=dark] :is(.controls .activity-bar,.mobile-activity-dock){background:linear-gradient(130deg,#292e36dc,#1d222be8)!important;border-color:#ffffff18!important;box-shadow:0 8px 30px #0005,inset 0 1px 0 #ffffff0a!important}
html[data-theme=dark] :is(.controls .activity-bar,.mobile-activity-dock)::before{background:none!important;box-shadow:none!important}
html[data-theme=dark] :is(.controls .activity-bar,.mobile-activity-dock) button{color:#b4bdc9!important}
html[data-theme=dark] :is(.controls .activity-bar,.mobile-activity-dock) button:is(.selected,[aria-pressed=true]){background:linear-gradient(145deg,#ffffff1e,#ffffff10)!important;color:#7ab8ff!important;box-shadow:0 2px 8px #0002!important;border-color:transparent!important}
html[data-theme=dark] :is(.controls .activity-bar,.mobile-activity-dock) button:hover:not(.selected):not([aria-pressed=true]){background:#ffffff0d!important;color:#e8edf5!important}
html[data-theme=dark] .controls .filter-toolbar .utility-filters :is(#location-toggle,#centre-toggle,#schedule-toggle,#level-toggle){background:linear-gradient(135deg,#292e36ee,#20252ded)!important;border-color:#ffffff14!important;color:#c2c9d3!important;box-shadow:0 3px 14px #0002!important}
html[data-theme=dark] .controls .filter-toolbar .utility-filters :is(#location-toggle,#centre-toggle,#schedule-toggle,#level-toggle):is(.selected,[aria-expanded=true]){background:linear-gradient(135deg,#394351ed,#303947ee)!important;border-color:#b0c4dd30!important;color:#e4ebf5!important}
html[data-theme=dark] .controls .filter-toolbar .utility-filters :is(.fi,.filter-circle){color:#acb8c7!important}
html[data-theme=dark] .controls .filter-toolbar #schedule-toggle .schedule-icon{background:#acb8c7!important}
html[data-theme=dark] .controls .filter-toolbar .utility-filters [id^=quick-clear-]{color:#c2cfdf!important}
html[data-theme=dark] .controls .filter-toolbar .utility-filters [id^=quick-clear-]::before{background:#c2cfdf30!important}
html[data-theme=dark] :is(#account-toggle,#theme-toggle){background:#242a32;color:#c1cbd9;border-color:var(--edge)}
html[data-theme=dark] :is(input:not([type=range]):not([type=checkbox]),select,#centre-search,#account-email,.location-modal .location-step input:not([type=range])){background:var(--raised);border-color:var(--edge);color:var(--text)}
html[data-theme=dark] input::placeholder{color:#8e99aa}
html[data-theme=dark] :is(.popover-heading button,#account-close,.location-modal-actions button,#account-google,.location-result,.directions-results button){background:var(--raised);color:var(--text);border-color:var(--edge)}
html[data-theme=dark] #account-google{background:#fff;color:#1f1f1f}
html[data-theme=dark] :is(#save-location,.location-modal #find-origin){background:#0879e8;color:white}
html[data-theme=dark] :is(.centre-tabs,.range-tabs,.directions-modes){background:#12151a}
html[data-theme=dark] :is(.centre-tabs,.range-tabs,.directions-modes) button{color:var(--secondary)}
html[data-theme=dark] :is(.centre-tabs,.range-tabs,.directions-modes) button[aria-pressed=true]{background:#343c48;color:#91c5ff;box-shadow:none}
html[data-theme=dark] :is(.schedule-days button,#all-levels){background:var(--raised);color:var(--secondary);border-color:var(--edge)}
html[data-theme=dark] :is(.schedule-days button,#all-levels)[aria-pressed=true]{background:#243b55;color:#92c7ff;border-color:#44678e}
html[data-theme=dark] :is(.event-menu button,.centre-favourite,#theme-menu button,#account-signout):hover{background:#ffffff0b}
html[data-theme=dark] #theme-menu button[aria-pressed=true]{background:#343c48;color:#91c5ff}
html[data-theme=dark] :is(.event-menu .fi,.event-menu .event-menu-back,.event-more,.empty p,#account-status,#centre-count,#theme-menu>span){color:var(--secondary)}
html[data-theme=dark] .event-more img{filter:brightness(1.7)}
html[data-theme=dark] .centre-favourite[aria-pressed=true]{color:#f3c666}
html[data-theme=dark] :is(.location-step,.location-modal-actions,.account-or,.account-brand,.directions-steps li,.event-menu .event-menu-back,#centre-list .centre-option){border-color:var(--edge)}
html[data-theme=dark] .location-modal-actions{background:var(--surface)}
html[data-theme=dark] .empty-symbol{background:#243b55;color:#8bc2ff}
html[data-theme=dark] .transit-leg-rail .fi{background:var(--surface)}
html[data-theme=dark] .transit-arrival{background:#1d382c;color:#91d8ad}
html[data-theme=dark] :is(.directions-current,.transit-stop-list summary,#schedule-reset,#clear-origin){color:#80bdff}
html[data-theme=dark] :is(dialog::backdrop){background:#0008}
html[data-theme=dark] .junto-map.leaflet-container{background:#161b24}
html[data-theme=dark] .junto-map :is(.leaflet-control-zoom a,.map-fit-control button,.leaflet-popup-content-wrapper,.leaflet-popup-tip,.leaflet-tooltip){background:#252b35;color:#dce3ed;border-color:#ffffff15}
html[data-theme=dark] .junto-map :is(.leaflet-control-attribution,.leaflet-control-scale-line){background:#1c222cdd;color:#b6c0ce}
html[data-theme=dark] .junto-map .leaflet-control-attribution a{color:#9fc7f4}
html[data-theme=dark] .skeleton{background:#232832}
@media(max-width:620px){html[data-theme=dark] .controls::before{background:linear-gradient(to bottom,#101216 0%,#101216 22%,#101216d9 48%,#10121600 100%)}#theme-menu{right:62px}}
html[data-theme=dark] .event-card .event-booking .metric-level{background:#35284e;color:#c6a8fa;border-color:#b894ef20}
html[data-theme=dark] .event-card .event-booking .metric-level strong{color:#c6a8fa}
html[data-theme=dark] .provider-court22{filter:brightness(2.5) saturate(.65)}
html[data-theme=dark] .mobile-activity-dock button{text-shadow:none}
html[data-theme=dark] .mobile-activity-dock::after{box-shadow:inset 0 1px 0 #ffffff16;background:none}
