:root{color-scheme:light;--paper:#fff;--background:#f9fbfa;--on-accent:#fff;--action-bg:#026f78;--action-ink:#fff;--danger:#962a26}
html[data-theme="dark"]{color-scheme:dark;--background:#10191d;--paper:#18252b;--ink:#ecf3f4;--slate:#aec3c7;--teal:#76d5d2;--mist:#213b40;--line:#354b52;--on-accent:#10272b;--action-bg:#096972;--action-ink:#fff;--danger:#ffaaaa;--shadow:0 12px 35px #0003}
body{background:var(--background);color:var(--ink)}
.site-preferences{display:flex;align-items:center;gap:8px;flex-shrink:0}
.preference-button,.language-choice{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:600 12px/1.3 Inter,Arial,sans-serif}
.preference-button{padding:8px 12px;cursor:pointer;white-space:nowrap}
.preference-button:hover,.language-choice:focus-within{border-color:var(--teal)}
.preference-button svg{width:17px!important;height:17px!important}
.language-choice select{border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;min-height:42px;padding:8px 26px 8px 10px;width:100%}
.language-choice option{background:var(--paper);color:var(--ink)}
[data-theme="light"] .theme-sun,[data-theme="dark"] .theme-moon{display:none}
.language-note{font-size:12px;line-height:1.65;color:var(--slate);border-bottom:1px solid var(--line);background:var(--mist);padding:11px 0}
.language-note[hidden]{display:none}
.language-note p{margin:0}
.site-preferences:focus-within{position:relative;z-index:2}
.button-teal,.calendar-dialog .calendar-action{background:var(--action-bg);color:var(--action-ink);border-color:var(--action-bg)}
.button-teal:hover{background:var(--action-bg);filter:brightness(1.1);color:var(--action-ink)}
.calendar-dialog .calendar-action-secondary{background:var(--paper);color:var(--teal);border-color:var(--line)}
.filter-chip[aria-pressed=true],.day.selected,.subscription-category a[aria-current]{color:var(--on-accent)}
.day.selected .day-dot{background:var(--on-accent)}
.form-error,.button-danger{color:var(--danger)}
html[data-theme="dark"] .brand{background:#fff;border-radius:9px;padding:4px}
html[data-theme="dark"] .button-apple,html[data-theme="dark"] .apple-calendar-panel .calendar-action{background:#080e11;color:#fff!important;border-color:var(--line)}
html[data-theme="dark"] .tag.neutral{background:var(--mist)}
html[data-theme="dark"] .tag.sport{background:#303c27;color:#dbebbd}
html[data-theme="dark"] .field input,html[data-theme="dark"] .field select,html[data-theme="dark"] .field textarea{border-color:var(--line)}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#9bafb5;opacity:1}
html[data-theme="dark"] .empty-panel{border-color:var(--line)}
html[data-theme="dark"] .match-card,html[data-theme="dark"] .home-news .news-card:first-child{border-color:var(--line)}
html[data-theme="dark"] .subscription-source{border-color:var(--line)}
html[data-theme="dark"] .traffic-map-panel,html[data-theme="dark"] .traffic-snapshot,html[data-theme="dark"] .google-direct-panel,html[data-theme="dark"] .apple-calendar-panel,html[data-theme="dark"] .calendar-copy input{background:var(--background)}
html[data-theme="dark"] .traffic-card.is-selected,html[data-theme="dark"] .primary-navigation>a:hover,html[data-theme="dark"] .navigation-parent>a:hover,html[data-theme="dark"] .navigation-expand:hover{background:var(--mist)}
html[data-theme="dark"] .traffic-map-status,html[data-theme="dark"] .subscription-status{background:#352e20;color:#f1d99c;border-color:#655435}
html[data-theme="dark"] .local-team-badge,html[data-theme="dark"] .cleaning-badge{background:#243d34;color:#b0e5ca;border-color:#446d5c}
html[data-theme="dark"] .traffic-map .leaflet-control-zoom a,html[data-theme="dark"] .leaflet-popup-content-wrapper,html[data-theme="dark"] .leaflet-popup-tip{background:var(--paper);color:var(--ink)}
html[data-theme="dark"] .leaflet-control-attribution{background:#18252bed;color:var(--slate)}
html[data-theme="dark"] .leaflet-control-attribution a{color:var(--teal)}
html[data-theme="dark"] .leaflet-container a.leaflet-popup-close-button{color:var(--ink)}
html[data-theme="dark"] .traffic-map .cleaning-popup-date{color:var(--teal)}
/* Keep original base-map colours and restriction colours intact. */
html[data-theme="dark"] .traffic-marker{background:#fff}
html[data-theme="dark"] .calendar-dialog-item{color:var(--slate)}
html[data-theme="dark"] #toast{background:#dbe9eb;color:#10272b}
.preference-button:focus-visible,.language-choice select:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
@media(min-width:981px){.header-inner{gap:14px;flex-wrap:wrap;padding-block:16px}.header-context{flex:1;min-width:160px}.site-preferences{margin-left:auto}.header-inner .search-form{margin-left:0}}
@media(max-width:980px){.site-preferences{order:3;margin-left:auto}.header-inner{column-gap:10px;row-gap:10px;padding-block:14px}.header-inner .search-form{order:4}.header-add{order:5}.header-inner .mobile-brand{max-width:150px}.header-inner .mobile-brand img{width:100%}}
@media(max-width:560px){.site-preferences{width:100%;justify-content:flex-end;order:3;margin:0}.preference-button,.language-choice{min-height:44px}.header-inner .search-form{width:100%;flex:1;min-width:0}.header-add{margin-left:0;white-space:normal;font-size:12px;padding-inline:12px}.language-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.page{animation:none}.button,.preference-button{transition:none}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
