/* Canonical semantic colors. Layout and artwork belong to existing components. */
:root,html[data-theme=day]{--background:#fff;--surface:#fff;--surface-secondary:#f3f7fa;--text-primary:#102840;--text-secondary:#465b6d;--border:#bdcbd7;--accent:#ba1730;--button-primary-background:#173d5b;--button-primary-text:#fff;--button-secondary-background:#f3f7fa;--button-secondary-text:#102840;--input-background:#fff;--input-text:#102840;--dropdown-background:#fffffffa;--modal-background:#fff;--scorecard-background:#fff;--admin-surface:#fff;--shadow:0 8px 24px #10284018;color-scheme:light}
html[data-theme=night]{--background:#080f18;--surface:#101a25;--surface-secondary:#1a2938;--text-primary:#f4f7fa;--text-secondary:#bdcad6;--border:#485c6e;--accent:#ff7182;--button-primary-background:#ba1730;--button-primary-text:#fff;--button-secondary-background:#1a2938;--button-secondary-text:#f4f7fa;--input-background:#1a2938;--input-text:#f4f7fa;--dropdown-background:#101a25fa;--modal-background:#101a25;--scorecard-background:#101a25;--admin-surface:#101a25;--shadow:0 8px 24px #0005;color-scheme:dark}
html{--bb-surface:var(--surface);--bb-raised:var(--surface-secondary);--bb-text:var(--text-primary);--bb-secondary:var(--text-secondary);--bb-border:var(--border);--bb-accent:var(--accent);--bb-shadow:var(--shadow)}
html[data-theme] body.bb-app :is(dialog,.bb-panel,.bb-settings-panel,.bb-map-dialog,.bb-share-dialog,.bb-browser-dialog,.ticker-pause-card){background:var(--bb-surface)!important;color:var(--bb-text)!important;border-color:var(--bb-border)!important;box-shadow:var(--bb-shadow)}
html[data-theme] body.bb-app :is(dialog,.bb-panel,.bb-settings-panel) :is(input,select,textarea,option){background:var(--bb-raised)!important;color:var(--bb-text)!important;border-color:var(--bb-border)!important;color-scheme:inherit}
html[data-theme] body.bb-app :is(dialog,.bb-settings-panel,.bb-map-dialog,.bb-share-dialog) :is(button,.bb-button){background:var(--bb-raised)!important;color:var(--bb-text)!important;border-color:var(--bb-border)!important}
html[data-theme] body.bb-app :is(dialog,.bb-settings-panel) :is(input,textarea)::placeholder{color:var(--bb-secondary)!important;opacity:1}
html[data-theme] body.bb-app :is(.bb-browser-dialog>header,.bb-browser-loading,.explore-results>header,.discovery-collection>header){background:var(--bb-surface)!important;color:var(--bb-text)!important;border-color:var(--bb-border)!important}
html[data-theme] body.bb-app .bb-browser-dialog>header :is(a,small){color:var(--bb-text)!important}
html[data-theme] body.bb-app .bb-app-scroll :is(.filters,.area-picker,.refine-search,.directory-drop-body,.empty-state,.bb-form,.bb-location-permission){background:var(--bb-surface)!important;color:var(--bb-text)!important;border-color:var(--bb-border)!important}
html[data-theme] body.bb-app .bb-app-scroll :is(input,select,textarea,option){background:var(--bb-raised)!important;color:var(--bb-text)!important;border-color:var(--bb-border)!important}
html[data-theme] body.bb-app .bb-app-scroll :is(input,textarea)::placeholder{color:var(--bb-secondary)!important;opacity:1}
html[data-theme] body.bb-app .bb-app-scroll .date-shortcuts button{background:var(--bb-raised)!important;color:var(--bb-text)!important;border-color:var(--bb-border)!important}
html[data-theme] body.bb-app .bb-app-scroll .date-shortcuts button[aria-pressed=true]{background:#ba1730!important;color:#fff!important;border-color:#ba1730!important}
html[data-theme] body.bb-app .bb-app-scroll .bb-looking-selector{background:var(--bb-raised)!important;color:var(--bb-text)!important;border-color:var(--bb-border)!important}
html[data-theme] body.bb-app .bb-app-scroll .bb-looking-selector :is(a,button){background:transparent!important;color:var(--bb-text)!important}
html[data-theme=day] body.bb-app .bb-app-scroll .bb-selector-lens{background:linear-gradient(135deg,#ffffffcc,#e6f2fa66)!important;border-color:#b8ccd9!important;box-shadow:inset 0 1px 2px #fff,0 2px 7px #10284020!important}
html[data-theme=night] body.bb-app .bb-app-scroll .bb-selector-lens{background:#cce6ff20!important;border-color:#91aac170!important;box-shadow:inset 0 1px 2px #ffffff30,0 2px 8px #0004!important}
html[data-theme] body.bb-app .bb-app-scroll .bb-radio-picker .bb-panel [data-radio-station]{background:var(--bb-surface)!important;color:var(--bb-text)!important;border-color:var(--bb-border)!important}
html[data-theme] body.bb-app .bb-app-scroll .bb-radio-picker .bb-panel [data-radio-station]:is(:hover,.is-selected){background:var(--bb-raised)!important}
html[data-theme] body.bb-app .bb-app-scroll .bb-radio-picker .bb-panel [data-radio-station].is-selected strong{color:var(--bb-accent)!important}
html[data-theme] body.bb-app .bb-app-scroll .score-card{background:var(--bb-surface)!important;color:var(--bb-text)!important;border-color:var(--bb-border)!important;box-shadow:var(--bb-shadow)}
html[data-theme] body.bb-app .bb-app-scroll .score-card .score-red{color:var(--bb-accent)!important}
html[data-theme] body.bb-app .bb-app-scroll :is(.score-live,.poster-live){background:#ba1730!important;color:#fff!important}
html[data-theme=night] body.bb-app :is(.home-discovery,.discovery-collection) .discovery-cover.is-live{box-shadow:0 0 0 1px #ff3048,0 0 14px #ff30484d!important}
html[data-theme=day] body.bb-app :is(.home-discovery,.discovery-collection) .discovery-cover.is-live{box-shadow:0 0 0 1px #e61935,0 0 10px #dc153b40!important}
html[data-theme] body.bb-app .bb-app-scroll :is(.discovery-empty,.discovery-subtitle,.score-source,.explore-empty,.explore-result-status){color:var(--bb-secondary)!important}
html[data-theme] body.bb-app .bb-app-scroll .discovery-collection :is(button,input,select),html[data-theme] body.bb-app dialog.discovery-collection :is(button,input,select){background:var(--bb-raised)!important;color:var(--bb-text)!important;border-color:var(--bb-border)!important}
html[data-theme] body.bb-app dialog.discovery-detail button,html[data-theme] body.bb-app dialog.explore-results button{background:var(--bb-raised)!important;color:var(--bb-text)!important;border-color:var(--bb-border)!important}
html[data-theme] body.bb-app dialog.discovery-detail .event-social-actions a{background:var(--bb-raised)!important;color:var(--bb-text)!important;border-color:var(--bb-border)!important}
html[data-theme] body.bb-app :is(.bb-settings-panel,.bb-panel,dialog) :focus-visible{outline-color:var(--bb-accent)!important}

/* Shared button surfaces include dynamically inserted sports controls. */
html[data-theme] body.bb-app .bb-app-scroll :is(.sports-primary,.sports-personal-tools,.score-row-header,.football-row-tools,.discovery-arrows) button{background:var(--bb-surface)!important;color:var(--bb-text)!important;border-color:var(--bb-border)!important}
html[data-theme] body.bb-app .bb-app-scroll .sports-primary button[aria-pressed=true]{border-color:var(--bb-accent)!important;box-shadow:inset 0 -3px var(--bb-accent)!important}
html[data-theme] body.bb-app .bb-app-scroll .bb-header-brief .daily-full-brief>summary{color:var(--bb-text)!important}

/* Shared control contract also covers portals and controls inserted after launch. */
html[data-theme] body.bb-app :is(.bb-form,.auth-form,.member-welcome,.bucket-item,.recovery-note,.owner-claim,.review-card,.forum-question,.cinema-card,.market-card,.bb-cover-desk,.bb-place-desk){background:var(--surface)!important;color:var(--text-primary)!important;border-color:var(--border)!important}
html[data-theme] body.bb-app :is(.bb-form,.auth-form,.member-welcome,.recovery-note,.owner-claim,.bb-cover-desk,.bb-place-desk) :is(label,legend,h1,h2,h3,p){color:var(--text-primary)!important}
html[data-theme] body.bb-app :is(.bb-form,.auth-form,.recovery-note,.owner-claim) :is(small,.quiet){color:var(--text-secondary)!important}
html[data-theme] body.bb-app :is(.bb-form,.auth-form,.bb-place-desk,.bb-cover-desk,dialog,.bb-panel) :is(input,select,textarea,option){background:var(--input-background)!important;color:var(--input-text)!important;border-color:var(--border)!important}
html[data-theme] body.bb-app :is(.bb-form button,.bb-button,.member-welcome button,.bucket-item button,.owner-claim button,.recovery-note button,.market-primary){background:var(--button-primary-background)!important;color:var(--button-primary-text)!important;border-color:var(--button-primary-background)!important}
html[data-theme] body.bb-app :is(.auth-tabs button,.bb-place-desk button,.bb-cover-desk button){background:var(--button-secondary-background)!important;color:var(--button-secondary-text)!important;border-color:var(--border)!important}
html[data-theme] body.bb-app .text-button{background:transparent!important;color:var(--text-primary)!important}
html[data-theme] body.bb-app :is(.bb-panel,.bb-settings-panel){background:var(--dropdown-background)!important}
html[data-theme] body.bb-app dialog{background:var(--modal-background)!important}
html[data-theme] body.bb-app .score-card{background:var(--scorecard-background)!important}
html[data-theme] body.bb-app :is(.bb-cover-desk,.bb-place-desk){background:var(--admin-surface)!important}
html[data-theme] body.bb-app .bb-radio-picker>.bb-panel{background:var(--dropdown-background)!important;color:var(--text-primary)!important;border-color:var(--border)!important}
html[data-theme] body.bb-app .bb-app-scroll .bb-looking-selector.bb-repaired-glass{background:var(--surface-secondary)!important;color:var(--text-primary)!important;border-color:var(--border)!important}
html[data-theme] body.bb-app .bb-app-scroll .bb-repaired-glass :is(a,button){color:var(--text-primary)!important}

/* See All is a plain black/white feed in the selected appearance. */
:root,html[data-theme=day]{--event-feed-background:#fff}
html[data-theme=night]{--event-feed-background:#000}
html[data-theme] body.bb-app :is(.discovery-collection[data-collection-layout=flyer-feed],.event-feed-page){--bb-surface:var(--event-feed-background);--bb-raised:var(--event-feed-background);--paper:var(--event-feed-background);background:var(--event-feed-background)!important;color:var(--bb-text)!important}
html[data-theme] body.bb-app :is(.discovery-collection[data-collection-layout=flyer-feed],.event-feed-page) :is(.collection-item,.event-card,.event-card-body,.event-social-feed,.event-action-row,.event-comments-panel){background:var(--event-feed-background)!important;color:var(--bb-text)!important}
html[data-theme] body.bb-app [data-event-actions] .event-action-row{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:6px;margin:0;padding:0;min-height:44px}
html[data-theme] body.bb-app [data-event-actions] .event-action-row>*{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;margin:0;border:0!important;border-radius:8px;background:transparent!important;color:var(--bb-text)!important;text-decoration:none}
[data-event-actions] .event-action-row svg{width:24px;height:24px;flex-shrink:0}
html[data-theme] body.bb-app [data-event-actions] [data-member-state][aria-pressed=true]{color:var(--bb-accent)!important}
[data-event-actions] [data-member-state][aria-pressed=true] svg{fill:currentColor}
[data-event-actions] .event-action-row>:focus-visible{outline:2px solid var(--bb-accent);outline-offset:1px}
[data-event-actions] [data-share-feedback]:empty{display:none}
[data-event-actions] .event-comments-panel[hidden]{display:none!important}
[data-event-actions] .event-comments-panel{padding:12px 0;font:400 14px/1.5 Arial,sans-serif}
[data-event-actions] .event-comments-panel h4{margin:0 0 12px}
[data-event-actions] .event-comments-panel p{margin:8px 0}
[data-event-actions] .event-comments-panel label{display:grid;gap:6px}
[data-event-actions] .event-comments-panel textarea{width:100%;box-sizing:border-box;font:inherit;padding:10px;resize:vertical}
[data-event-actions] .event-comments-panel button{min-height:44px;padding:8px 12px;font:inherit}
[data-event-actions] .event-comments-panel small{display:block;margin:8px 0;color:var(--bb-secondary)}
html[data-theme] body.bb-app :is(.discovery-collection[data-collection-layout=flyer-feed],.event-feed-page,.football-dialog,.weather-day-dialog){--muted:var(--text-secondary)}
html[data-theme=night] body.bb-app dialog.discovery-detail{--muted:var(--text-secondary)}
html[data-theme] body.bb-app .weather-day-dialog .source{color:var(--text-secondary)}
html[data-theme] body.bb-app .discovery-collection[data-collection-layout=flyer-feed] .collection-description{color:var(--text-secondary)!important}
html[data-theme] body.bb-app [data-event-actions] .event-comments-panel p{color:var(--text-primary)}
html[data-theme] body.bb-app:has(.event-feed-page) .bb-app-scroll{background:var(--event-feed-background)!important}

/* Weather alerts appear in red in the top running ticker in either theme. */
#community-banner [data-priority-track] .ticker-weather-alert,
#community-banner [data-priority-track] .ticker-weather-alert > button{color:var(--accent)!important}

/* Use unblended semantic text colors at small sizes. Geometry is unchanged. */
html[data-theme] body.bb-app .bb-app-scroll .discovery-subtitle{opacity:1}
html[data-theme] body.bb-app .bb-app-title>a>em{color:var(--bb-accent)}
