/* =========================================================
   Briefly V35 — Canonical Light/Dark Theme System
   ========================================================= */

:root{
  --briefly-accent:#2dd4c7;
  --briefly-accent-rgb:45,212,199;
  --briefly-accent-ink-light:#087f77;

  --b35-bg:#f7f6f2;
  --b35-bg-soft:#f2f4f5;
  --b35-surface:#ffffff;
  --b35-surface-2:#f8fafb;
  --b35-text:#071923;
  --b35-text-2:#2f4652;
  --b35-text-3:#4f6672;
  --b35-placeholder:#607680;
  --b35-line:rgba(7,25,35,.16);
  --b35-dark-action:#062332;
  --b35-on-dark:#ffffff;
  --b35-on-accent:#07131d;
  --b35-shadow:0 10px 32px rgba(7,25,35,.05);
  --b35-nav-bg:rgba(255,255,255,.96);
  --b35-nav-muted:#5b707b;
  --b35-accent-text:var(--briefly-accent-ink-light);

  /* compatibility aliases for all historical CSS */
  --b34-bg:var(--b35-bg);
  --b34-surface:var(--b35-surface);
  --b34-surface-soft:var(--b35-surface-2);
  --b34-text:var(--b35-text);
  --b34-muted:var(--b35-text-3);
  --b34-line:var(--b35-line);
  --b34-dark:var(--b35-dark-action);
  --b34-on-dark:var(--b35-on-dark);
  --b34-on-accent:var(--b35-on-accent);

  --bg:var(--b35-bg);
  --surface:var(--b35-surface);
  --surface2:var(--b35-surface-2);
  --text:var(--b35-text);
  --muted:var(--b35-text-3);
  --line:var(--b35-line);
  --dark:var(--b35-dark-action);
}

/* The actual Theme engine sets data-briefly-theme. */
html[data-briefly-theme="dark"]{
  --b35-bg:#06151d;
  --b35-bg-soft:#091b25;
  --b35-surface:#0b222d;
  --b35-surface-2:#102a36;
  --b35-text:#f6f9fa;
  --b35-text-2:#d8e2e7;
  --b35-text-3:#b3c2ca;
  --b35-placeholder:#91a4ae;
  --b35-line:rgba(217,233,240,.15);
  --b35-dark-action:#163442;
  --b35-on-dark:#ffffff;
  --b35-on-accent:#07131d;
  --b35-shadow:0 12px 34px rgba(0,0,0,.18);
  --b35-nav-bg:rgba(7,22,31,.97);
  --b35-nav-muted:#a7b7bf;
  --b35-accent-text:var(--briefly-accent);

  --b34-bg:var(--b35-bg);
  --b34-surface:var(--b35-surface);
  --b34-surface-soft:var(--b35-surface-2);
  --b34-text:var(--b35-text);
  --b34-muted:var(--b35-text-3);
  --b34-line:var(--b35-line);
  --b34-dark:var(--b35-dark-action);
  --b34-on-dark:var(--b35-on-dark);
  --b34-on-accent:var(--b35-on-accent);

  --bg:var(--b35-bg);
  --surface:var(--b35-surface);
  --surface2:var(--b35-surface-2);
  --text:var(--b35-text);
  --muted:var(--b35-text-3);
  --line:var(--b35-line);
  --dark:var(--b35-dark-action);
}

/* Backwards compatibility if an older page uses data-theme */
html[data-theme="dark"]{
  --b35-bg:#06151d;
  --b35-bg-soft:#091b25;
  --b35-surface:#0b222d;
  --b35-surface-2:#102a36;
  --b35-text:#f6f9fa;
  --b35-text-2:#d8e2e7;
  --b35-text-3:#b3c2ca;
  --b35-placeholder:#91a4ae;
  --b35-line:rgba(217,233,240,.15);
  --b35-dark-action:#163442;
  --b35-on-dark:#ffffff;
  --b35-nav-bg:rgba(7,22,31,.97);
  --b35-nav-muted:#a7b7bf;
  --b35-accent-text:var(--briefly-accent);
}

html{
  min-height:100%;
  background:var(--b35-bg)!important;
  color:var(--b35-text)!important;
}

body{
  min-height:100dvh;
  background:var(--b35-bg)!important;
  color:var(--b35-text)!important;
}

/* ---------------- Typography ---------------- */
body,
main,
article,
section,
div{
  color:inherit;
}

h1,h2,h3,h4,h5,h6,
strong,b{
  color:var(--b35-text);
}

p,li,dd,dt,
.description,.subtitle,.hint,.muted,
.v25Hint,.v25Rows span,.v26TeamCard em,
.v32-story p,.v32-hub-title p,.v32-empty,
.v10LeadBody p,.v10TopCard p,.v10Feed p,
.v11DiscoverCard p{
  color:var(--b35-text-2)!important;
  -webkit-text-fill-color:currentColor!important;
  opacity:1!important;
}

small,time,.meta,
.v10Date,
.v32-game-date small,.v32-game-score small,.v32-game-teams span,
.v32-team-grid small{
  color:var(--b35-text-3)!important;
  -webkit-text-fill-color:currentColor!important;
  opacity:1!important;
}

/* Story/briefing readability */
.storyBody,.storyBody p,
.briefingBody,.briefingBody p,
.aiSummary,.aiSummary p,
.threePoints,.threePoints li,
.whyImportant,.whyImportant p,
[class*="point"] p,
[class*="summary"] p,
[class*="context"] p,
[class*="reason"] p{
  color:var(--b35-text-2)!important;
  -webkit-text-fill-color:currentColor!important;
  opacity:1!important;
}

/* Accent text needs a darker ink in light mode, original accent in dark mode */
.v10Logo span,.v25Logo span,.logo span,.brand span,
.v30Version,.kicker,.eyebrow,.cat,.live,
.v10Kicker,.v25Hero>small,.v25PanelHead small,
.v32-kicker,.v32-section-head>div>span,.v32-brand span,.v32-version,
.v11DiscoverHero small,.v31DiscoverSports small,
.accent,.accent-text,.section-kicker,.link-accent,
[data-accent-text]{
  color:var(--b35-accent-text)!important;
}

/* ---------------- Surfaces ---------------- */
.v25Panel,.savedCard,.alertCard,.v11DiscoverCard,
.v32-story,.v32-games-list,.v32-table-wrap,
.v32-teamdesk article,.v32-team-grid a,
.v32-stats article,.v32-team-select,
.v32-switch,.v32-back,
.settingsHero,.settingsShell,
.pageShell,.v10Shell,.v10StoryShell{
  background-color:var(--b35-surface)!important;
  color:var(--b35-text)!important;
  border-color:var(--b35-line)!important;
}

/* Body wrappers should not become white blocks */
.v10Shell,.v10StoryShell,.settingsShell,.pageShell,.v25Shell,.v32-shell{
  background:transparent!important;
}

/* ---------------- Buttons & controls ---------------- */
button,
input,
select,
textarea{
  color:var(--b35-text);
}

input[type="text"],input[type="search"],input[type="email"],
input[type="time"],select,textarea{
  background:var(--b35-surface)!important;
  color:var(--b35-text)!important;
  border-color:var(--b35-line)!important;
}
input::placeholder,textarea::placeholder{
  color:var(--b35-placeholder)!important;
  opacity:1!important;
}

/* Selected cards never become unreadable navy-on-navy */
.v25TopicGrid label,
.v26TeamCard,
.v25Segment label,
.v11TopicGrid label,
.v11Modes label{
  background:var(--b35-surface)!important;
  color:var(--b35-text)!important;
  border-color:var(--b35-line)!important;
}
.v25TopicGrid label:has(input:checked),
.v25TopicGrid label.is-checked,
.v26TeamCard:has(input:checked),
.v26TeamCard.is-checked,
.v25Segment label:has(input:checked),
.v25Segment label.is-checked,
.v11TopicGrid label:has(input:checked),
.v11TopicGrid label.is-checked,
.v11Modes label:has(input:checked),
.v11Modes label.is-checked{
  background:rgba(var(--briefly-accent-rgb),.16)!important;
  border-color:var(--briefly-accent)!important;
  color:var(--b35-text)!important;
}
.v25TopicGrid label *,
.v26TeamCard *,
.v25Segment label *,
.v11TopicGrid label *,
.v11Modes label *{
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  opacity:1!important;
}
.v25TopicGrid label small,
.v26TeamCard small,.v26TeamCard em,
.v25Segment label small,
.v11TopicGrid label small,.v11Modes label small{
  color:var(--b35-text-3)!important;
}

/* Filled accent actions */
.primary,.btn-primary,.briefbtn,.v25Save,.v11Save,
button[type="submit"],input[type="submit"],
.v10Categories a.active,.chips a.active,
.v32-switch a.active,.v32-tabs a.active,.v32-follow.active{
  background:var(--briefly-accent)!important;
  border-color:var(--briefly-accent)!important;
  color:var(--b35-on-accent)!important;
}
.primary *,.btn-primary *,.briefbtn *,.v25Save *,.v11Save *,
.v32-switch a.active *,.v32-tabs a.active *,.v32-follow.active *{
  color:inherit!important;
}

/* Dark actions */
.btn-dark,.button.dark,[data-variant="dark"],[data-action="live"],
.v10IntroActions > :nth-child(2):not(.primary){
  background:var(--b35-dark-action)!important;
  border-color:var(--b35-dark-action)!important;
  color:var(--b35-on-dark)!important;
}
.btn-dark *,.button.dark *,[data-variant="dark"] *,
[data-action="live"] *,.v10IntroActions > :nth-child(2):not(.primary) *{
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  opacity:1!important;
}

/* Secondary / outline */
.secondary,button.secondary,.v25PushActions .secondary{
  background:var(--b35-surface)!important;
  color:var(--b35-text)!important;
  border-color:var(--b35-line)!important;
}

/* ---------------- Global nav ---------------- */
#briefly-global-nav{
  background:var(--b35-nav-bg)!important;
  border-top-color:var(--b35-line)!important;
  color:var(--b35-nav-muted)!important;
}
#briefly-global-nav a{
  color:var(--b35-nav-muted)!important;
}
#briefly-global-nav a.active,
#briefly-global-nav a[aria-current="page"]{
  color:var(--b35-accent-text)!important;
}

/* ---------------- Sports Hub ---------------- */
.v32-shell,.v32-header,.v32-main{
  color:var(--b35-text)!important;
}
.v32-brand,.v32-hub-title h1,.v32-section-head h2,
.v32-story h3,.v32-game-teams strong,.v32-game-score b,
.v32-table td,.v32-teamdesk b,.v32-team-grid strong{
  color:var(--b35-text)!important;
}
.v32-feature-game,.v32-team-hero{
  background:linear-gradient(145deg,rgba(var(--briefly-accent-rgb),.10),var(--b35-surface))!important;
  color:var(--b35-text)!important;
  border-color:rgba(var(--briefly-accent-rgb),.30)!important;
}
.v32-tabs a,.v32-switch a{
  background:var(--b35-surface)!important;
  color:var(--b35-text-3)!important;
  border-color:var(--b35-line)!important;
}
.v32-tabs a.active,.v32-switch a.active{
  background:var(--briefly-accent)!important;
  color:var(--b35-on-accent)!important;
}

/* ---------------- Home sports buttons ---------------- */
.v31HomeHub{
  background:linear-gradient(145deg,rgba(var(--briefly-accent-rgb),.10),var(--b35-surface))!important;
  color:var(--b35-text)!important;
  border-color:rgba(var(--briefly-accent-rgb),.30)!important;
}
.v31HomeHub em{color:var(--b35-text-3)!important}
.v31HomeHub i{color:var(--b35-accent-text)!important}

/* ---------------- Disabled states ---------------- */
button:disabled,input:disabled,select:disabled{
  color:var(--b35-text-3)!important;
  opacity:.62!important;
}
