/* =========================================================
   Briefly V34 — Major Stability & Design Rebuild
   Final application layer. This file deliberately loads last.
   ========================================================= */

:root{
  --briefly-accent:#2dd4c7;
  --briefly-accent-rgb:45,212,199;

  --b34-bg:#f7f6f2;
  --b34-surface:#ffffff;
  --b34-surface-soft:#fbfbfc;
  --b34-text:#071923;
  --b34-muted:#6f818c;
  --b34-line:rgba(7,25,35,.11);
  --b34-dark:#062332;
  --b34-on-dark:#ffffff;
  --b34-on-accent:#07131d;
  --b34-radius:24px;
  --b34-nav-height:88px;

  --accent:var(--briefly-accent);
  --accent-rgb:var(--briefly-accent-rgb);
  --primary:var(--briefly-accent);
  --brand-accent:var(--briefly-accent);
}

html[data-theme="dark"]{
  --b34-bg:#07151e;
  --b34-surface:#0c202c;
  --b34-surface-soft:#102631;
  --b34-text:#f5f8f9;
  --b34-muted:#91a1ab;
  --b34-line:rgba(255,255,255,.09);
  --b34-dark:#102a38;
  --b34-on-dark:#ffffff;
}

html{
  min-height:100%;
  background:var(--b34-bg);
  -webkit-text-size-adjust:100%;
  color-scheme:light;
}
html[data-theme="dark"]{color-scheme:dark}

body{
  min-height:100dvh;
  padding-bottom:calc(var(--b34-nav-height) + env(safe-area-inset-bottom) + 12px)!important;
  -webkit-tap-highlight-color:transparent;
}

/* ---------- Canonical accent semantics ---------- */
.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(--briefly-accent)!important;
}

.v10Categories a.active,.chips a.active,
.v25Save,.briefbtn,.btn-primary,.button.primary,
.primary,.chip.active,.tab.active,
.v25PushActions button:not(.secondary),
.v32-switch a.active,.v32-tabs a.active,.v32-follow.active,
[data-accent-bg]{
  background:var(--briefly-accent)!important;
  border-color:var(--briefly-accent)!important;
  color:var(--b34-on-accent)!important;
}

.v10Categories a.active *,.chips a.active *,
.v25Save *,.briefbtn *,.btn-primary *,.button.primary *,
.primary *,.chip.active *,.tab.active *,
.v32-switch a.active *,.v32-tabs a.active *,.v32-follow.active *{
  color:inherit!important;
}

.v27Accent.active,.v25Segment button.active,
.v25TopicGrid input:checked+span,.v26TeamCard input:checked+span,
.v26Appearance button.active,.pill.verified,.pill.ai,
.followBtn.active,.v28PreviewActions button,
[data-accent-border]{
  border-color:rgba(var(--briefly-accent-rgb),.58)!important;
}

input[type="checkbox"],input[type="radio"],input[type="range"]{
  accent-color:var(--briefly-accent)!important;
}

/* Remove legacy petrol text from controls that are meant to follow accent. */
.v25Status.on,.v28Preview small,.control span,.mini span,
.v10Trust,.v10MiniSignal,.v31HomeHub i{
  color:var(--briefly-accent)!important;
}

/* ---------- Button contrast ---------- */
.v10IntroActions .secondary,
.v10IntroActions > :nth-child(2),
.heroActions > :nth-child(2),
.v25PushActions .secondary,
.btn-dark,.button.dark,[data-variant="dark"],[data-action="live"]{
  background:var(--b34-dark)!important;
  border-color:var(--b34-dark)!important;
  color:var(--b34-on-dark)!important;
}

.v10IntroActions .secondary *,
.v10IntroActions > :nth-child(2) *,
.heroActions > :nth-child(2) *,
.v25PushActions .secondary *,
.btn-dark *,.button.dark *,
[data-variant="dark"] *,[data-action="live"] *{
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  opacity:1!important;
}

/* Accent indicator inside dark buttons remains accent. */
.v10IntroActions > :nth-child(2) .dot,
.heroActions > :nth-child(2) .dot,
[data-action="live"] .dot{
  background:var(--briefly-accent)!important;
}

/* ---------- ONE global bottom navigation ---------- */
#briefly-global-nav{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:2147483000!important;
  width:100%!important;
  height:calc(var(--b34-nav-height) + env(safe-area-inset-bottom))!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:start!important;
  gap:0!important;
  margin:0!important;
  padding:8px 8px max(env(safe-area-inset-bottom),6px)!important;
  border:0!important;
  border-top:1px solid var(--b34-line)!important;
  border-radius:0!important;
  background:color-mix(in srgb,var(--b34-surface) 95%,transparent)!important;
  -webkit-backdrop-filter:blur(22px) saturate(160%)!important;
  backdrop-filter:blur(22px) saturate(160%)!important;
  box-sizing:border-box!important;
  transform:none!important;
}

#briefly-global-nav a{
  min-width:0!important;
  width:100%!important;
  height:72px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  margin:0!important;
  padding:3px 2px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--b34-muted)!important;
  text-decoration:none!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:500!important;
  transform:none!important;
  opacity:1!important;
}

#briefly-global-nav .b34-nav-icon{
  width:32px!important;
  height:32px!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 32px!important;
  margin:0!important;
  font-size:28px!important;
  line-height:1!important;
  font-weight:400!important;
  color:inherit!important;
}

#briefly-global-nav .b34-nav-label{
  display:block!important;
  height:14px!important;
  color:inherit!important;
  font-size:11px!important;
  line-height:14px!important;
  white-space:nowrap!important;
}

#briefly-global-nav a.active,
#briefly-global-nav a[aria-current="page"]{
  color:var(--briefly-accent)!important;
}

/* ---------- Home sport hub buttons ---------- */
.v31HomeHubs{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:12px!important;
  width:100%!important;
  margin:20px 0 24px!important;
  padding:0!important;
}
.v31HomeHub{
  position:relative!important;
  min-width:0!important;
  min-height:104px!important;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:11px!important;
  align-content:center!important;
  padding:16px 34px 16px 15px!important;
  border:1px solid rgba(var(--briefly-accent-rgb),.28)!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,rgba(var(--briefly-accent-rgb),.10),rgba(var(--briefly-accent-rgb),.035))!important;
  color:var(--b34-text)!important;
  text-decoration:none!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.v31HomeHub b{
  grid-row:1/3!important;
  align-self:center!important;
  width:42px!important;height:42px!important;
  display:grid!important;place-items:center!important;
  border-radius:14px!important;
  background:var(--briefly-accent)!important;
  color:var(--b34-on-accent)!important;
  font-size:14px!important;line-height:1!important;font-weight:900!important;
}
.v31HomeHub span{
  min-width:0!important;
  color:inherit!important;
  font-size:16px!important;
  line-height:1.1!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.v31HomeHub em{
  min-width:0!important;
  margin-top:6px!important;
  color:var(--b34-muted)!important;
  font-size:10px!important;
  line-height:1.15!important;
  font-weight:600!important;
  font-style:normal!important;
  white-space:nowrap!important;
}
.v31HomeHub i{
  position:absolute!important;right:13px!important;top:50%!important;
  transform:translateY(-50%)!important;
  color:var(--briefly-accent)!important;
  font-size:25px!important;font-style:normal!important;
}

/* =========================================================
   SPORTS HUB — complete Briefly design
   ========================================================= */
.v32-shell{
  max-width:760px!important;
  min-height:100dvh!important;
  margin:0 auto!important;
  color:var(--b34-text)!important;
}
.v32-header{
  padding:calc(18px + env(safe-area-inset-top)) 20px 0!important;
}
.v32-topline{
  display:flex!important;align-items:center!important;gap:12px!important;
}
.v32-back{
  width:44px!important;height:44px!important;
  display:grid!important;place-items:center!important;
  border:1px solid var(--b34-line)!important;border-radius:15px!important;
  background:var(--b34-surface)!important;color:var(--b34-text)!important;
  text-decoration:none!important;font-size:31px!important;
}
.v32-brand{
  font-size:30px!important;font-weight:900!important;letter-spacing:-1.4px!important;
  color:var(--b34-text)!important;text-decoration:none!important;
}
.v32-version{
  margin-left:auto!important;
  padding:7px 10px!important;
  border:1px solid rgba(var(--briefly-accent-rgb),.35)!important;
  border-radius:999px!important;
  background:rgba(var(--briefly-accent-rgb),.06)!important;
  color:var(--briefly-accent)!important;
  font-size:12px!important;font-weight:850!important;
}
.v32-hub-title{
  display:flex!important;justify-content:space-between!important;align-items:flex-end!important;
  gap:16px!important;margin-top:31px!important;
}
.v32-hub-title h1{
  margin:7px 0 8px!important;
  color:var(--b34-text)!important;
  font-size:44px!important;line-height:.98!important;letter-spacing:-2px!important;
}
.v32-hub-title p{margin:0!important;color:var(--b34-muted)!important;font-size:16px!important}
.v32-kicker{color:var(--briefly-accent)!important;font-size:11px!important;font-weight:900!important;letter-spacing:1.5px!important}
.v32-follow{
  flex:0 0 auto!important;
  padding:12px 14px!important;
  border:1px solid rgba(var(--briefly-accent-rgb),.42)!important;
  border-radius:17px!important;
  background:var(--b34-surface)!important;
  color:var(--briefly-accent)!important;
  font-size:14px!important;font-weight:800!important;
}
.v32-follow.active{background:var(--briefly-accent)!important;color:var(--b34-on-accent)!important}
.v32-switch{
  display:grid!important;grid-template-columns:1fr 1fr!important;
  gap:4px!important;margin-top:23px!important;padding:4px!important;
  border:1px solid var(--b34-line)!important;border-radius:18px!important;
  background:var(--b34-surface)!important;
}
.v32-switch a{
  padding:12px 8px!important;border-radius:14px!important;
  color:var(--b34-muted)!important;text-align:center!important;text-decoration:none!important;font-weight:800!important;
}
.v32-switch a.active{background:var(--briefly-accent)!important;color:var(--b34-on-accent)!important}
.v32-team-select{
  display:flex!important;align-items:center!important;gap:12px!important;
  margin-top:13px!important;padding:11px 14px!important;
  border:1px solid var(--b34-line)!important;border-radius:17px!important;
  background:var(--b34-surface)!important;
}
.v32-team-select span{color:var(--briefly-accent)!important;font-size:11px!important;font-weight:900!important;letter-spacing:1px!important}
.v32-team-select select{
  flex:1!important;min-width:0!important;border:0!important;outline:0!important;
  background:transparent!important;color:var(--b34-text)!important;font:inherit!important;font-weight:750!important;
}
.v32-tabs{
  display:flex!important;gap:8px!important;overflow-x:auto!important;
  margin:18px -20px 0!important;padding:0 20px 14px!important;scrollbar-width:none!important;
}
.v32-tabs::-webkit-scrollbar{display:none!important}
.v32-tabs a{
  flex:0 0 auto!important;
  padding:10px 14px!important;border:1px solid var(--b34-line)!important;border-radius:999px!important;
  background:var(--b34-surface)!important;color:var(--b34-muted)!important;
  text-decoration:none!important;font-size:14px!important;font-weight:750!important;
}
.v32-tabs a.active{background:var(--briefly-accent)!important;color:var(--b34-on-accent)!important;border-color:var(--briefly-accent)!important}
.v32-main{padding:18px 20px 38px!important}
.v32-stats{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;
}
.v32-stats article{
  min-width:0!important;padding:16px 13px!important;border:1px solid var(--b34-line)!important;
  border-radius:20px!important;background:var(--b34-surface)!important;
}
.v32-stats small{display:block!important;color:var(--b34-muted)!important;font-size:11px!important}
.v32-stats b{display:block!important;margin-top:6px!important;color:var(--b34-text)!important;font-size:19px!important}
.v32-section{margin-top:30px!important}.v32-section.first{margin-top:2px!important}
.v32-section-head{
  display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:12px!important;margin-bottom:13px!important;
}
.v32-section-head h2{margin:5px 0 0!important;color:var(--b34-text)!important;font-size:29px!important;line-height:1.03!important;letter-spacing:-1px!important}
.v32-section-head>div>span{color:var(--briefly-accent)!important;font-size:11px!important;font-weight:900!important;letter-spacing:1.4px!important}
.v32-section-head>a{padding-bottom:3px!important;color:var(--briefly-accent)!important;text-decoration:none!important;font-size:13px!important;font-weight:750!important;white-space:nowrap!important}
.v32-feature-game,.v32-team-hero{
  padding:21px!important;
  border:1px solid rgba(var(--briefly-accent-rgb),.26)!important;border-radius:24px!important;
  background:linear-gradient(145deg,rgba(var(--briefly-accent-rgb),.11),var(--b34-surface))!important;
  color:var(--b34-text)!important;
}
.v32-versus{display:grid!important;grid-template-columns:1fr auto 1fr!important;gap:10px!important;align-items:center!important;margin:18px 0!important}
.v32-versus strong{font-size:19px!important;line-height:1.15!important}.v32-versus strong:last-child{text-align:right!important}
.v32-versus b{color:var(--briefly-accent)!important}
.v32-feature-game time,.v32-feature-game small{color:var(--b34-muted)!important}
.v32-news-grid{display:grid!important;gap:12px!important}
.v32-story{
  position:relative!important;padding:18px!important;
  border:1px solid var(--b34-line)!important;border-radius:23px!important;
  background:var(--b34-surface)!important;color:var(--b34-text)!important;
  box-shadow:0 10px 30px rgba(6,35,50,.035)!important;
}
.v32-story-meta,.v32-story-bottom{
  display:flex!important;justify-content:space-between!important;gap:12px!important;
  color:var(--b34-muted)!important;font-size:11px!important;
}
.v32-story-meta span{color:var(--briefly-accent)!important;font-weight:900!important;letter-spacing:.7px!important}
.v32-story h3{margin:10px 0!important;color:var(--b34-text)!important;font-size:21px!important;line-height:1.12!important;letter-spacing:-.45px!important}
.v32-story p{margin:0 0 15px!important;color:var(--b34-muted)!important;font-size:14px!important;line-height:1.48!important}
.v32-story-bottom{padding-top:13px!important;border-top:1px solid var(--b34-line)!important}
.v32-cover{position:absolute!important;inset:0!important;border-radius:inherit!important}
.v32-games-list{
  overflow:hidden!important;border:1px solid var(--b34-line)!important;border-radius:23px!important;
  background:var(--b34-surface)!important;
}
.v32-game{
  display:grid!important;grid-template-columns:66px minmax(0,1fr) 56px!important;gap:10px!important;
  align-items:center!important;padding:15px!important;border-bottom:1px solid var(--b34-line)!important;
  color:var(--b34-text)!important;
}
.v32-game:last-child{border-bottom:0!important}
.v32-game-date b,.v32-game-date small,.v32-game-score b,.v32-game-score small{display:block!important}
.v32-game-date small,.v32-game-score small{margin-top:4px!important;color:var(--b34-muted)!important;font-size:10px!important}
.v32-game-teams{display:grid!important;gap:8px!important;min-width:0!important}
.v32-game-teams div{display:flex!important;justify-content:space-between!important;gap:8px!important;min-width:0!important}
.v32-game-teams strong{min-width:0!important;color:var(--b34-text)!important;font-size:13px!important;line-height:1.2!important}
.v32-game-teams span{color:var(--b34-muted)!important;font-size:11px!important}
.v32-game-score{text-align:right!important}.v32-game-score b{color:var(--b34-text)!important;font-size:16px!important}
.v32-table-wrap{
  overflow:auto!important;border:1px solid var(--b34-line)!important;border-radius:23px!important;background:var(--b34-surface)!important;
}
.v32-table{width:100%!important;min-width:600px!important;border-collapse:collapse!important}
.v32-table th,.v32-table td{padding:12px 10px!important;border-bottom:1px solid var(--b34-line)!important;color:var(--b34-text)!important;text-align:right!important;font-size:12px!important}
.v32-table th{color:var(--b34-muted)!important;font-size:10px!important;letter-spacing:.4px!important}
.v32-table th:nth-child(2),.v32-table td:nth-child(2),.v32-table.nfl th:first-child,.v32-table.nfl td:first-child{text-align:left!important}
.v32-table tr.focus{background:rgba(var(--briefly-accent-rgb),.11)!important}
.v32-table tr.focus td:first-child{box-shadow:inset 4px 0 var(--briefly-accent)!important}
.v32-division{margin:24px 3px 9px!important;color:var(--b34-text)!important;font-size:18px!important}
.v32-teamdesk{display:grid!important;gap:10px!important;margin-bottom:14px!important}
.v32-teamdesk article{
  padding:18px!important;border:1px solid var(--b34-line)!important;border-radius:22px!important;background:var(--b34-surface)!important;
}
.v32-teamdesk b{color:var(--b34-text)!important;font-size:18px!important}
.v32-teamdesk p{color:var(--b34-muted)!important;line-height:1.45!important}
.v32-teamdesk a{color:var(--briefly-accent)!important;text-decoration:none!important;font-weight:750!important}
.v32-team-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.v32-team-grid a{
  display:block!important;padding:15px!important;border:1px solid var(--b34-line)!important;border-radius:20px!important;
  background:var(--b34-surface)!important;color:var(--b34-text)!important;text-decoration:none!important;
}
.v32-team-grid a.active{border-color:var(--briefly-accent)!important;box-shadow:inset 0 0 0 1px var(--briefly-accent)!important}
.v32-team-grid span{display:block!important;color:var(--briefly-accent)!important;font-size:10px!important;font-weight:900!important}
.v32-team-grid strong{display:block!important;margin-top:5px!important;color:var(--b34-text)!important;line-height:1.15!important}
.v32-team-grid small{display:block!important;margin-top:5px!important;color:var(--b34-muted)!important}
.v32-empty{
  padding:20px!important;border:1px dashed var(--b34-line)!important;border-radius:20px!important;
  background:var(--b34-surface)!important;color:var(--b34-muted)!important;line-height:1.45!important;
}

/* Hide the Sports page's own old bottom bar; V34 global nav owns navigation. */
.v32-bottomnav{display:none!important}

/* ---------- Generic surface stabilization for core pages ---------- */
.settingsShell,.pageShell,.v25Shell,.v10Shell,.v10StoryShell{
  color:var(--b34-text);
}
.settingsHero,.savedCard,.alertCard,.v25Panel,.v11DiscoverCard{
  border-color:var(--b34-line)!important;
}

/* ---------- Responsive ---------- */
@media(max-width:420px){
  .v31HomeHubs{gap:9px!important}
  .v31HomeHub{min-height:98px!important;padding:14px 29px 14px 12px!important;grid-template-columns:38px minmax(0,1fr)!important;column-gap:8px!important}
  .v31HomeHub b{width:37px!important;height:37px!important;border-radius:12px!important;font-size:12px!important}
  .v31HomeHub span{font-size:14px!important}
  .v31HomeHub em{font-size:9px!important}
  .v32-header,.v32-main{padding-left:16px!important;padding-right:16px!important}
  .v32-tabs{margin-left:-16px!important;margin-right:-16px!important;padding-left:16px!important;padding-right:16px!important}
  .v32-hub-title h1{font-size:39px!important}
  .v32-stats article{padding:14px 10px!important}
  .v32-stats b{font-size:16px!important}
  .v32-game{grid-template-columns:56px minmax(0,1fr) 46px!important;padding:13px 11px!important}
}
