:root {
  --bg: #fbfaf7;
  --bg-elevated: #ffffff;
  --bg-soft: #f4f2ee;
  --bg-strong: #0c1622;
  --text: #111c2c;
  --text-soft: #596272;
  --text-on-strong: #f8f5ef;
  --line: #dddcd7;
  --line-strong: #c8c7c2;
  --violet: #7026fa;
  --violet-bright: #8c56ff;
  --violet-soft: #efe8ff;
  --action: #7026fa;
  --action-bright: #8750f8;
  --teal: #00b9a7;
  --teal-ink: #006e65;
  --teal-bright: #00d9c2;
  --teal-soft: #e2faf7;
  --on-accent: #ffffff;
  --coral: #f27449;
  --negative: #8752ee;
  --shadow: none;
  --shadow-small: none;
  --radius: 4px;
  --radius-small: 2px;
  --max: 1380px;
  --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  color-scheme: light;
}

html[data-theme="dark"] {
  --bg: #050505;
  --bg-elevated: #111113;
  --bg-soft: #18181c;
  --bg-strong: #000000;
  --text: #e9ecf2;
  --text-soft: #9aa0ae;
  --text-on-strong: #f4f6fb;
  --line: #2d2d33;
  --line-strong: #44444d;
  --violet: #7026fa;
  --violet-bright: #8c56ff;
  --violet-soft: #1f133b;
  --teal: #00d9c2;
  --teal-ink: #43f0de;
  --teal-bright: #18e8d2;
  --teal-soft: #082d2a;
  --coral: #ff8155;
  --negative: #bb84ff;
  --shadow: none;
  --shadow-small: none;
  color-scheme: dark;
}

html[data-fan-team][data-theme="dark"] {
  --bg: #050505;
  --bg-elevated: #111113;
  --bg-soft: #18181c;
  --bg-strong: #000000;
  --violet: color-mix(in srgb, var(--fan-primary) 55%, #fff);
  --violet-bright: color-mix(in srgb, var(--fan-primary) 48%, #fff);
  --teal: color-mix(in srgb, var(--fan-secondary) 70%, #fff);
  --teal-ink: color-mix(in srgb, var(--fan-secondary) 70%, #fff);
  --teal-bright: color-mix(in srgb, var(--fan-secondary) 70%, #fff);
}

html[data-fan-team][data-theme="light"] {
  --violet: var(--fan-primary);
  --violet-bright: color-mix(in srgb, var(--fan-primary) 55%, #fff);
  --teal: color-mix(in srgb, var(--fan-secondary) 50%, #001418);
  --teal-ink: color-mix(in srgb, var(--fan-secondary) 50%, #001418);
  --teal-bright: color-mix(in srgb, var(--fan-secondary) 70%, #fff);
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 92px; }

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
  transition: background-color 180ms ease, color 180ms ease;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image:
    linear-gradient(color-mix(in srgb, var(--line) 34%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--line) 34%, transparent) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.32), transparent 72%);
}

html[data-theme="dark"] body::before {
  background-image:
    linear-gradient(color-mix(in srgb, var(--line) 30%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--line) 30%, transparent) 1px, transparent 1px);
}

img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
h1, h2, h3, p, dl, dd { margin-top: 0; }

:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--violet) 72%, white);
  outline-offset: 3px;
}

.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;
}

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 100;
  transform: translateY(-150%);
  padding: 10px 16px;
  border-radius: 6px;
  background: var(--text);
  color: var(--bg);
}

.skip-link:focus { transform: translateY(0); }

.shell {
  width: min(calc(100% - 48px), var(--max));
  margin-inline: auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 72px;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--bg) 97%, transparent);
  backdrop-filter: blur(12px);
}

.site-header::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, var(--teal) 0 50%, var(--violet) 50%); }

.header-inner {
  width: min(calc(100% - 48px), 1460px);
  height: 100%;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 210px 1fr auto;
  align-items: center;
  gap: 24px;
}

.brand { width: 176px; line-height: 0; }
.brand, .footer-brand { position: relative; display: inline-block; }
.brand img, .footer-brand img { width: 100%; height: auto; }
html[data-theme="dark"] .brand img,
html[data-theme="dark"] .footer-brand img { filter: brightness(0) invert(1); }

.site-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(14px, 1.65vw, 28px);
}

.site-nav a {
  position: relative;
  padding: 24px 0 20px;
  color: var(--text-soft);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.site-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  transform: scaleX(0);
  background: var(--violet);
  transition: transform 150ms ease;
}

.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--text); }
.site-nav a:hover::after, .site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.site-nav-menu { position: relative; }
.site-nav-menu > summary { padding: 24px 15px 20px 0; color: var(--text-soft); cursor: pointer; list-style: none; font-size: 0.76rem; font-weight: 850; letter-spacing: 0.1em; text-transform: uppercase; }
.site-nav-menu > summary::-webkit-details-marker { display: none; }
.site-nav-menu > summary::after { position: absolute; top: 27px; right: 0; content: "⌄"; color: var(--teal); font-size: 0.8rem; line-height: 1; }
.site-nav-menu[open] > summary, .site-nav-menu.has-current > summary { color: var(--text); }
.site-nav-menu > div { position: absolute; top: 61px; left: 50%; z-index: 2; width: 230px; padding: 8px; display: grid; transform: translateX(-50%); border: 1px solid var(--line-strong); background: var(--bg-elevated); box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24); }
.site-nav-waiver-menu > div { right: 0; left: auto; width: 290px; transform: none; }
.site-nav-menu > div a { padding: 12px 14px; line-height: 1.35; }
.site-nav-menu > div a::after { display: none; }
.site-nav-menu > div a:hover, .site-nav-menu > div a[aria-current="page"] { background: var(--bg-soft); color: var(--text); }
.fan-nav-button { display: none; }

.header-actions { display: flex; align-items: center; gap: 18px; }
.icon-button { border: 0; background: none; cursor: pointer; }

.theme-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 0;
}

.sun { font-size: 1.55rem; line-height: 1; }

.toggle-track {
  width: 45px;
  height: 24px;
  padding: 3px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: var(--bg-soft);
}

.toggle-track span {
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--violet);
  box-shadow: 0 1px 4px rgba(0,0,0,.25);
  transition: transform 180ms ease;
}

html[data-theme="dark"] .toggle-track span { transform: translateX(20px); }

.menu-toggle { display: none; }

.button {
  min-height: 44px;
  padding: 11px 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid transparent;
  border-radius: 2px;
  cursor: pointer;
  font-weight: 850;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  line-height: 1;
  text-transform: uppercase;
  transition: transform 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.button:hover { transform: translateY(-1px); }
.button-primary { background: var(--action); color: var(--on-accent); box-shadow: inset 0 -3px color-mix(in srgb, #000 24%, transparent); }
.button:disabled { cursor: not-allowed; opacity: 0.5; transform: none; box-shadow: none; }
.button-primary:hover { box-shadow: inset 0 -3px color-mix(in srgb, #000 34%, transparent); }
.button-secondary { border-color: var(--line-strong); background: color-mix(in srgb, var(--bg-elevated) 80%, transparent); }
.button-secondary:hover { border-color: var(--violet); }

main { min-height: calc(100vh - 152px); }

.eyebrow {
  margin-bottom: 10px;
  color: var(--violet);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.status-pill, .live-indicator {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text-soft);
  font-size: 0.76rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.status-pill {
  width: max-content;
  margin-bottom: 22px;
  padding: 7px 10px;
  border: 1px solid color-mix(in srgb, var(--teal) 35%, var(--line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--teal-soft) 54%, transparent);
}

.status-pill i, .live-indicator i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--teal);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--teal) 12%, transparent);
}

.hero {
  min-height: 445px;
  padding-block: 52px 44px;
  display: grid;
  grid-template-columns: minmax(400px, 0.9fr) minmax(540px, 1.25fr);
  align-items: center;
  gap: clamp(48px, 7vw, 110px);
}

.hero h1 {
  max-width: 720px;
  margin-bottom: 18px;
  color: var(--text);
  font-size: clamp(3rem, 4.6vw, 5rem);
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.hero-intro {
  max-width: 560px;
  margin-bottom: 24px;
  color: var(--text-soft);
  font-size: 1.08rem;
  line-height: 1.6;
}

.button-row { display: flex; flex-wrap: wrap; gap: 14px; }

.signal { display: inline-flex; align-items: center; gap: 6px; }
.signal i { width: 4px; height: 14px; background: var(--teal); }
.signal i.violet { background: var(--violet); }
.hero-signal { margin-top: 25px; }

.league-wire {
  border-bottom: 1px solid var(--line);
  background: var(--bg-strong);
  color: var(--text-on-strong);
}

.league-wire-inner {
  min-height: 38px;
  display: grid;
  grid-template-columns: auto auto auto 1fr auto;
  align-items: center;
  gap: clamp(18px, 2.5vw, 38px);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.league-wire-inner > span { color: color-mix(in srgb, var(--text-on-strong) 66%, transparent); }
.league-wire-inner strong, .league-wire-inner a { color: var(--teal); }
.league-wire-inner a { justify-self: end; }
.wire-brand { display: inline-flex; align-items: center; gap: 8px; color: var(--text-on-strong) !important; }
.wire-brand i { width: 7px; height: 7px; background: var(--teal); }
.wire-schedule { justify-self: end; }

.broadcast-hero {
  min-height: 580px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 0.42fr);
  border-inline: 1px solid var(--line);
  background: var(--bg-elevated);
}

.broadcast-main {
  min-width: 0;
  padding: clamp(42px, 6vw, 82px) clamp(28px, 5.4vw, 76px) 0;
  display: flex;
  flex-direction: column;
}

.broadcast-kicker { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--text-soft); font-size: 0.7rem; font-weight: 850; letter-spacing: 0.12em; text-transform: uppercase; }
.broadcast-kicker > span { display: inline-flex; align-items: center; gap: 9px; color: var(--teal); }
.broadcast-kicker i { width: 22px; height: 3px; background: currentColor; }
.broadcast-main h1 { max-width: 900px; margin: 34px 0 18px; font-family: var(--font-display); font-size: clamp(4rem, 7.3vw, 7.4rem); font-weight: 900; line-height: 0.85; letter-spacing: 0.015em; text-transform: uppercase; text-wrap: balance; }
.broadcast-main > p { max-width: 680px; margin-bottom: 28px; color: var(--text-soft); font-size: clamp(1rem, 1.25vw, 1.18rem); line-height: 1.65; }
.broadcast-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.broadcast-stats {
  margin-top: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
}

.broadcast-stats div { min-width: 0; padding: 22px 18px 20px 0; }
.broadcast-stats div + div { padding-left: 18px; border-left: 1px solid var(--line); }
.broadcast-stats small, .broadcast-stats strong { display: block; }
.broadcast-stats small { color: var(--text-soft); font-size: 0.63rem; font-weight: 850; letter-spacing: 0.11em; text-transform: uppercase; }
.broadcast-stats strong { margin-top: 4px; font-family: var(--font-display); font-size: clamp(1.45rem, 2.3vw, 2.25rem); line-height: 1; letter-spacing: 0.03em; text-transform: uppercase; }
.broadcast-progress { height: 5px; margin-inline: calc(clamp(28px, 5.4vw, 76px) * -1); background: var(--bg-soft); }
.broadcast-progress i { height: 100%; display: block; background: linear-gradient(90deg, var(--teal), var(--violet)); }

.broadcast-order { display: flex; flex-direction: column; border-left: 1px solid var(--line); background: var(--bg-soft); }
.broadcast-order > header { min-height: 52px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.1em; text-transform: uppercase; }
.broadcast-order > header strong { color: var(--teal); }
.broadcast-order ol { margin: 0; padding: 0; list-style: none; }
.broadcast-order li + li { border-top: 1px solid var(--line); }
.broadcast-order li > a { min-height: 82px; padding: 13px 22px; display: grid; grid-template-columns: 30px auto minmax(0, 1fr); align-items: center; gap: 12px; }
.broadcast-order li > a:hover { background: var(--bg-elevated); }
.broadcast-order li > a > b { color: var(--violet); font-family: var(--font-display); font-size: 1.3rem; font-weight: 400; }
.broadcast-order li > a > span { min-width: 0; }
.broadcast-order li strong, .broadcast-order li small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.broadcast-order li strong { font-size: 0.83rem; }
.broadcast-order li small { color: var(--text-soft); font-size: 0.66rem; }
.broadcast-order-link { margin-top: auto; min-height: 58px; padding: 0 22px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); color: var(--teal); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.07em; text-transform: uppercase; }
.broadcast-order-pending > div { margin: auto 0; padding: 32px 28px; }
.broadcast-order-pending h2 { margin-bottom: 10px; font-size: clamp(1.6rem, 2.6vw, 2.5rem); line-height: 1; }
.broadcast-order-pending p:last-child { margin-bottom: 0; color: var(--text-soft); }

.club-ribbon { padding-block: 34px 36px; }
.club-ribbon > header { margin-bottom: 15px; display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.club-ribbon > header h2 { margin: 0; font-family: var(--font-display); font-size: clamp(2.2rem, 4vw, 4rem); font-weight: 400; line-height: 0.9; letter-spacing: 0.03em; text-transform: uppercase; }
.club-ribbon > header span { color: var(--text-soft); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.club-ribbon-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 24%); overflow-x: auto; overscroll-behavior-inline: contain; border: 1px solid var(--line); scrollbar-color: var(--violet) var(--bg-soft); }
.club-ribbon-track > a { min-height: 104px; padding: 18px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-rows: auto 1fr; align-items: center; gap: 7px 12px; background: var(--bg-elevated); }
.club-ribbon-track > a + a { border-left: 1px solid var(--line); }
.club-ribbon-track > a:hover { background: var(--bg-soft); }
.club-slot { grid-column: 1 / -1; color: var(--teal); font-size: 0.62rem; font-weight: 850; letter-spacing: 0.1em; }
.club-name { min-width: 0; }
.club-name strong, .club-name small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.club-name strong { font-size: 0.8rem; }
.club-name small { color: var(--text-soft); font-size: 0.64rem; }
.club-ribbon-track > a > b { color: var(--violet); }
.service-mark-note { margin: 10px 0 0; color: var(--text-soft); font-size: 0.72rem; }

.teams-directory-page { padding-block: clamp(44px, 7vw, 92px); }
.teams-directory-header { max-width: 920px; margin-bottom: 38px; }
.teams-directory-header h1 { margin: 4px 0 16px; font-family: var(--font-display); font-size: clamp(4.8rem, 10vw, 9.5rem); font-weight: 400; line-height: 0.78; letter-spacing: 0.01em; text-transform: uppercase; }
.teams-directory-header > p:last-child { max-width: 720px; margin: 0; color: var(--text-soft); font-size: 1rem; }
.teams-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.teams-directory-grid > a { position: relative; min-height: 190px; padding: 26px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--bg-elevated); }
.teams-directory-grid > a:hover { background: var(--bg-soft); }
.teams-directory-grid > a > span:nth-of-type(3) { min-width: 0; }
.teams-directory-grid small, .teams-directory-grid strong, .teams-directory-grid em { display: block; }
.teams-directory-grid small { color: var(--text-soft); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.teams-directory-grid strong { margin-top: 3px; font-family: var(--font-display); font-size: 2rem; font-weight: 400; line-height: 1; text-transform: uppercase; }
.teams-directory-grid em { margin-top: 9px; color: var(--text-soft); font-size: 0.78rem; font-style: normal; }
.teams-directory-grid > a > b { color: var(--teal); font-size: 1.25rem; }
.teams-directory-slot { position: absolute; top: 13px; right: 15px; color: var(--violet); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }

.nfl-news { margin-block: 16px 34px; background: #000; color: #f7f7fb; border-block: 1px solid #29292f; }
.nfl-news-shell { padding-block: 32px; }
.nfl-news-masthead { min-height: 118px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; border-bottom: 4px solid #f7f7fb; }
.nfl-news-masthead .eyebrow { color: var(--teal); }
.nfl-news-masthead h1, .nfl-news-masthead h2 { margin: 0 0 14px; font-family: var(--font-display); font-size: clamp(4.5rem, 9vw, 9rem); font-weight: 400; line-height: 0.72; letter-spacing: 0.01em; text-transform: uppercase; }
.nfl-news-status { padding: 0 0 14px; display: grid; grid-template-columns: auto auto; align-items: center; gap: 4px 9px; text-align: right; }
.nfl-news-status i { width: 8px; height: 8px; display: block; border-radius: 50%; background: var(--teal); box-shadow: 0 0 12px var(--teal); }
.nfl-news-status span, .nfl-news-status small { font-size: 0.69rem; font-weight: 850; letter-spacing: 0.09em; text-transform: uppercase; }
.nfl-news-status small { grid-column: 1 / -1; color: #8f8f9a; }
.nfl-news-grid { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(480px, 0.82fr); border-inline: 1px solid #29292f; border-bottom: 1px solid #29292f; }
.nfl-news-lead { position: relative; min-height: 520px; padding: clamp(28px, 4.3vw, 66px); display: flex; overflow: hidden; flex-direction: column; justify-content: space-between; gap: 38px; border-right: 1px solid #29292f; background: #050505; isolation: isolate; }
.nfl-news-photo { display: block; overflow: hidden; background: #111; }
.nfl-news-photo img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 420ms ease; }
.nfl-news-lead-photo { position: absolute; inset: 0; z-index: -2; }
.nfl-news-lead-photo::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.58) 48%, #050505 100%), linear-gradient(90deg, rgba(0, 0, 0, 0.32), transparent 72%); }
.nfl-news-lead.has-photo:hover .nfl-news-lead-photo img { transform: scale(1.025); }
.nfl-news-lead.has-photo .nfl-news-number { text-shadow: 0 2px 24px rgba(0, 0, 0, 0.8); }
.nfl-news-number { color: var(--violet); font-family: var(--font-display); font-size: clamp(3rem, 5vw, 5.5rem); line-height: 0.8; }
.nfl-news-lead-copy > small { color: #b8b8c2; font-size: 0.7rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.nfl-news-lead h3 { max-width: 850px; margin: 15px 0 0; font-family: var(--font-display); font-size: clamp(3rem, 5vw, 5.7rem); font-weight: 400; line-height: 0.92; letter-spacing: 0.01em; text-transform: uppercase; }
.nfl-news-lead > b { display: flex; align-items: center; justify-content: space-between; color: var(--teal); font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; }
.nfl-news-lead > b i { color: #f7f7fb; font-style: normal; }
.nfl-news-board { background: #09090b; }
.nfl-news-board > p { min-height: 58px; margin: 0; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid #29292f; }
.nfl-news-board > p span, .nfl-news-board > p small { font-size: 0.67rem; font-weight: 850; letter-spacing: 0.09em; text-transform: uppercase; }
.nfl-news-board > p small { color: #858590; }
.nfl-news-board ol { margin: 0; padding: 0; list-style: none; }
.nfl-news-board li + li { border-top: 1px solid #29292f; }
.nfl-news-board li > a { min-height: 66px; padding: 11px 18px; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 13px; }
.nfl-news-board li > a.has-photo { min-height: 88px; grid-template-columns: 78px 34px minmax(0, 1fr) auto; }
.nfl-news-thumb { width: 78px; height: 64px; }
.nfl-news-board li > a.has-photo:hover .nfl-news-thumb img { transform: scale(1.06); }
.nfl-news-board li > a:hover { background: #131317; }
.nfl-news-board li > a > b { color: var(--violet); font-family: var(--font-display); font-size: 1.15rem; font-weight: 400; }
.nfl-news-board li span { min-width: 0; }
.nfl-news-board li small, .nfl-news-board li strong { display: block; }
.nfl-news-board li small { color: #858590; font-size: 0.65rem; font-weight: 750; letter-spacing: 0.04em; text-transform: uppercase; }
.nfl-news-board li strong { margin-top: 3px; font-size: 0.82rem; line-height: 1.25; }
.nfl-news-board li i { color: var(--teal); font-style: normal; }
.nfl-news-credit { margin: 12px 0 0; color: #858590; font-size: 0.7rem; }
.nfl-news-credit b { color: #f7f7fb; text-transform: uppercase; }
.nfl-news-foot { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; }
.nfl-news-foot > a { flex: 0 0 auto; color: var(--teal); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.nfl-news-foot > a:hover span { display: inline-block; transform: translateX(3px); }
.nfl-news-page { min-height: calc(100vh - 152px); margin-top: 0; margin-bottom: 0; border-top: 0; }
.nfl-news-page .nfl-news-shell { padding-top: 54px; padding-bottom: 48px; }
.nfl-news-page .nfl-news-lead { min-height: 610px; }
.nfl-news-empty { min-height: 300px; padding: 48px; display: flex; align-items: flex-start; justify-content: center; flex-direction: column; border: 1px solid #29292f; background: #050505; }
.nfl-news-empty strong { font-size: 1.25rem; }
.nfl-news-empty p { max-width: 700px; margin: 7px 0 0; color: var(--text-soft); }
.nfl-news-empty a { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; }

.waiver-page { padding-bottom: 50px; }
.waiver-hero { background: #000; color: #f7f7fb; border-bottom: 1px solid #29292f; }
.waiver-hero-shell { min-height: 610px; display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(430px, 0.78fr); border-inline: 1px solid #29292f; }
.waiver-hero-copy { min-width: 0; padding: clamp(42px, 6vw, 88px); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; border-right: 1px solid #29292f; }
.waiver-hero-copy .eyebrow { color: var(--teal); }
.waiver-live-status { margin: 26px 0 18px; display: inline-flex; align-items: center; gap: 9px; color: #a2a2ad; font-size: 0.75rem; font-weight: 850; letter-spacing: 0.09em; text-transform: uppercase; }
.waiver-live-status i { width: 8px; height: 8px; border-radius: 50%; background: var(--violet); box-shadow: 0 0 14px var(--violet); }
.waiver-hero-copy h1 { max-width: 900px; margin: 0; font-family: var(--font-display); font-size: clamp(4.3rem, 7.6vw, 8.2rem); font-weight: 400; line-height: 0.86; letter-spacing: 0.01em; text-transform: uppercase; }
.waiver-hero-copy > p { max-width: 750px; margin: 28px 0 0; color: #b7b7c0; font-size: 1.03rem; line-height: 1.65; }
.waiver-hero-copy > small { margin-top: 24px; color: #83838e; font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; }
.waiver-hero-schedule { align-self: stretch; display: flex; flex-direction: column; background: #08080a; }
.waiver-hero-schedule > header { min-height: 74px; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid #29292f; }
.waiver-hero-schedule > header span, .waiver-hero-schedule > header small { font-size: 0.72rem; font-weight: 850; letter-spacing: 0.09em; text-transform: uppercase; }
.waiver-hero-schedule > header small { color: #858590; }
.waiver-coverage-list { height: 100%; margin: 0; padding: 0; display: grid; grid-template-rows: repeat(3, 1fr); list-style: none; }
.waiver-coverage-list li { min-height: 0; padding: 28px 24px; display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 18px; align-items: start; }
.waiver-coverage-list li + li { border-top: 1px solid #29292f; }
.waiver-coverage-list li > b { color: var(--violet); font-family: var(--font-display); font-size: 1.65rem; font-weight: 400; }
.waiver-coverage-list small, .waiver-coverage-list strong { display: block; }
.waiver-coverage-list small { color: var(--teal); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.waiver-coverage-list strong { margin-top: 5px; font-size: 1.05rem; }
.waiver-coverage-list p { margin: 9px 0 0; color: #92929d; font-size: 0.86rem; line-height: 1.5; }
.waiver-coverage-empty { margin: auto; padding: 34px; color: #92929d; }
.waiver-content { padding-top: 32px; }
.waiver-awaiting { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr); border: 1px solid var(--line); background: var(--bg-elevated); }
.waiver-awaiting > div { min-height: 380px; padding: clamp(34px, 5vw, 68px); display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line); }
.waiver-awaiting h2, .waiver-rules h2, .waiver-consensus h2 { margin: 0; font-family: var(--font-display); font-size: clamp(2.7rem, 5vw, 5.2rem); font-weight: 400; line-height: 0.93; text-transform: uppercase; }
.waiver-awaiting > div > p:last-child { max-width: 620px; margin: 22px 0 0; color: var(--text-soft); line-height: 1.65; }
.waiver-awaiting ul { margin: 0; padding: 0; list-style: none; }
.waiver-awaiting li { min-height: 126px; padding: 24px 28px; display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 18px; }
.waiver-awaiting li + li { border-top: 1px solid var(--line); }
.waiver-awaiting li > b { color: var(--violet); font-family: var(--font-display); font-size: 1.7rem; font-weight: 400; }
.waiver-awaiting li strong, .waiver-awaiting li small { display: block; }
.waiver-awaiting li small { max-width: 560px; margin-top: 5px; color: var(--text-soft); line-height: 1.5; }
.waiver-rules { margin-top: 12px; padding: clamp(32px, 4vw, 58px); display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(500px, 1.2fr); gap: 50px; border: 1px solid var(--line); border-top: 4px solid var(--teal); background: var(--bg-elevated); }
.waiver-rules > div { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; align-content: center; }
.waiver-rules > div p { margin: 0; color: var(--text-soft); line-height: 1.65; }
.waiver-consensus { border: 1px solid var(--line); background: var(--bg-elevated); }
.waiver-consensus > header { min-height: 118px; padding: 24px 30px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); }
.waiver-consensus > header span { color: var(--text-soft); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.waiver-consensus ol, .waiver-analysis ol { margin: 0; padding: 0; list-style: none; }
.waiver-consensus li, .waiver-analysis li { min-height: 150px; padding: 24px 28px; display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 20px; align-items: center; }
.waiver-consensus li + li, .waiver-analysis li + li { border-top: 1px solid var(--line); }
.waiver-consensus li > b, .waiver-analysis li > b { color: var(--violet); font-family: var(--font-display); font-size: 1.8rem; font-weight: 400; }
.waiver-consensus li small, .waiver-consensus li strong, .waiver-analysis li small, .waiver-analysis li strong { display: block; }
.waiver-consensus li small, .waiver-analysis li small { color: var(--teal-ink); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.waiver-consensus li strong, .waiver-analysis li strong { margin-top: 4px; font-size: 1.05rem; }
.waiver-consensus li p, .waiver-analysis li p { max-width: 780px; margin: 8px 0 0; color: var(--text-soft); font-size: 0.88rem; line-height: 1.55; }
.waiver-consensus dl, .waiver-analysis dl { min-width: 190px; margin: 0; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); }
.waiver-consensus dl > div, .waiver-analysis dl > div { padding: 12px 14px; }
.waiver-consensus dl > div + div, .waiver-analysis dl > div + div { border-left: 1px solid var(--line); }
.waiver-consensus dt, .waiver-analysis dt { color: var(--text-soft); font-size: 0.65rem; font-weight: 800; text-transform: uppercase; }
.waiver-consensus dd, .waiver-analysis dd { margin: 3px 0 0; font-weight: 900; }
.waiver-analyst-grid { margin-top: 12px; display: grid; gap: 12px; }
.waiver-analysis { border: 1px solid var(--line); background: var(--bg-elevated); }
.waiver-analysis > header { padding: 30px; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; border-bottom: 1px solid var(--line); }
.waiver-analysis > header small { color: var(--teal-ink); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.06em; text-transform: uppercase; }
.waiver-analysis > header h2 { margin: 3px 0 0; font-family: var(--font-display); font-size: clamp(2rem, 3.5vw, 3.8rem); font-weight: 400; line-height: 0.98; text-transform: uppercase; }
.waiver-analysis > header p { max-width: 800px; margin: 10px 0 0; color: var(--text-soft); }
.waiver-analysis li span { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px 14px; }
.waiver-analysis li a { color: var(--teal-ink); font-size: 0.72rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; text-transform: uppercase; }

.league-desk { padding-block: 14px 28px; display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(480px, 1.1fr); gap: 10px; }
.fan-personalization-card {
  min-height: 310px;
  padding: clamp(26px, 3.6vw, 48px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 34px;
  border: 1px solid var(--line);
  border-top: 4px solid var(--teal);
  background: var(--bg-elevated);
}

.fan-personalization-copy { position: relative; }
.fan-personalization-copy .eyebrow { color: var(--teal); }
.fan-personalization-copy h2 { margin-bottom: 10px; font-family: var(--font-display); font-size: clamp(2.3rem, 4vw, 4.25rem); font-weight: 400; line-height: 0.9; letter-spacing: 0.02em; text-transform: uppercase; }
.fan-personalization-copy p:last-child { max-width: 520px; margin-bottom: 0; color: var(--text-soft); }
.fan-personalization-action { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.fan-palette-preview { display: flex; gap: 5px; }
.fan-palette-preview i { width: 7px; height: 32px; background: var(--teal); }
.fan-palette-preview i:nth-child(n+4) { background: var(--violet); }

.league-bulletin { border: 1px solid var(--line); background: var(--bg-elevated); }
.league-bulletin > header { min-height: 82px; padding: 17px 22px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); }
.league-bulletin > header h2 { margin: 0; font-family: var(--font-display); font-size: 2.1rem; font-weight: 400; line-height: 0.9; letter-spacing: 0.03em; text-transform: uppercase; }
.league-bulletin > header > span { color: var(--teal); font-size: 0.66rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.league-bulletin ol { margin: 0; padding: 0; list-style: none; }
.league-bulletin li { min-height: 74px; padding: 13px 20px; display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 13px; }
.league-bulletin li + li { border-top: 1px solid var(--line); }
.league-bulletin li > b { color: var(--violet); font-family: var(--font-display); font-size: 1.15rem; font-weight: 400; }
.league-bulletin li strong, .league-bulletin li small { display: block; }
.league-bulletin li strong { font-size: 0.79rem; }
.league-bulletin li small { margin-top: 2px; color: var(--text-soft); font-size: 0.68rem; }
.league-bulletin li > a { padding: 10px; color: var(--teal); font-weight: 900; }


.league-status {
  min-height: 300px;
  padding: clamp(28px, 4vw, 48px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--teal-soft) 46%, transparent), transparent 55%),
    var(--bg-elevated);
  box-shadow: var(--shadow);
}

.status-card-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.status-card-heading .eyebrow { margin-bottom: 0; }
.status-card-heading > span {
  padding: 5px 9px;
  border: 1px solid color-mix(in srgb, var(--teal) 35%, var(--line));
  border-radius: 999px;
  color: var(--teal);
  font-size: 0.67rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.league-status h2 {
  max-width: 590px;
  margin: 22px 0 8px;
  font-size: clamp(2rem, 3.7vw, 3.4rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.league-status > p {
  max-width: 640px;
  margin-bottom: 24px;
  color: var(--text-soft);
}

.status-metrics {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-block: 1px solid var(--line);
}

.status-metrics > div { padding: 18px 20px 18px 0; }
.status-metrics > div + div { padding-left: 24px; border-left: 1px solid var(--line); }
.status-metrics dt { color: var(--text-soft); font-size: 0.67rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.status-metrics dd { margin: 3px 0 0; color: var(--teal); font-size: 1.75rem; font-weight: 850; line-height: 1.2; }
.status-metrics small { color: var(--text-soft); font-size: 0.72rem; font-weight: 700; }
.league-status > .text-link { margin: 19px 0 0; }
.league-status.state-blocked { border-color: color-mix(in srgb, var(--violet) 45%, var(--line)); }
.league-status.state-blocked .status-card-heading > span { border-color: color-mix(in srgb, var(--violet) 38%, var(--line)); color: var(--violet); }
.league-status.state-unavailable { background: var(--bg-elevated); }
.league-status.state-unavailable .status-card-heading > span { border-color: var(--line-strong); color: var(--text-soft); }
.status-blocked i { background: var(--violet); box-shadow: 0 0 0 4px color-mix(in srgb, var(--violet) 12%, transparent); }
.status-unavailable i, .live-indicator[data-state="unavailable"] i { background: var(--text-soft); box-shadow: 0 0 0 4px color-mix(in srgb, var(--text-soft) 12%, transparent); }

.launch-roadmap { padding-block: 30px 42px; }
.milestone-grid {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  list-style: none;
}

.milestone {
  min-height: 138px;
  padding: 18px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--bg-elevated);
  box-shadow: var(--shadow-small);
}

.milestone > span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 0;
  color: var(--text-soft);
  font-size: 0.7rem;
  font-weight: 850;
}

.milestone small { color: var(--text-soft); font-size: 0.66rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.milestone h3 { margin: 3px 0 5px; font-size: 1rem; }
.milestone p { margin: 0; color: var(--text-soft); font-size: 0.78rem; }
.milestone-complete > span { border-color: var(--teal); background: var(--teal-soft); color: var(--teal); }
.milestone-complete small { color: var(--teal); }
.milestone-next { border-color: color-mix(in srgb, var(--violet) 48%, var(--line)); }
.milestone-next > span { border-color: var(--violet); background: var(--violet-soft); color: var(--violet); }
.milestone-next small { color: var(--violet); }

.official-update { padding-block: 10px 24px; }
.official-update .section-heading .text-link { margin: 0; }
.official-pick-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.official-pick { min-width: 0; padding: 15px; display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: 10px; }
.official-pick:hover { border-color: color-mix(in srgb, var(--violet) 55%, var(--line)); }
.official-pick > span { color: var(--teal); font-size: 0.72rem; font-weight: 850; }
.official-pick p { min-width: 0; margin: 0; }
.official-pick p > * { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.official-pick small, .official-pick em { color: var(--text-soft); font-size: 0.67rem; font-style: normal; }
.official-pick strong { font-size: 0.86rem; }

.featured-matchup {
  position: relative;
  min-height: 285px;
  padding: clamp(28px, 4vw, 54px);
  overflow: hidden;
  border: 1px solid #263545;
  border-radius: 13px;
  background:
    linear-gradient(120deg, rgba(255,255,255,.03), transparent 50%),
    #0c1622;
  color: var(--text-on-strong);
  box-shadow: 0 24px 60px rgba(12, 22, 34, 0.16);
}

.featured-matchup::after {
  content: "";
  position: absolute;
  width: 250px;
  height: 250px;
  right: -100px;
  bottom: -160px;
  border: 1px solid rgba(34, 201, 187, .22);
  border-radius: 50%;
}

.featured-meta { display: flex; gap: 9px; margin-bottom: 24px; font-size: 0.8rem; letter-spacing: 0.12em; text-transform: uppercase; }
.featured-meta strong { color: var(--teal-bright); }

.featured-score {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid #2b3947;
}

.featured-score > div:last-child { text-align: right; }
.featured-score span { display: block; margin-bottom: 2px; font-size: 1.25rem; font-weight: 750; }
.featured-score strong, .score-team > div > strong {
  display: block;
  color: var(--teal-bright);
  font-family: "Arial Narrow", Impact, sans-serif;
  font-size: clamp(3.6rem, 6vw, 6rem);
  font-stretch: condensed;
  letter-spacing: 0.02em;
  line-height: 1;
}

.featured-score .secondary-score, .score-team.away > div > strong { color: #f3efe8; }
.featured-score > b { color: #aeb8c3; font-size: 0.8rem; font-weight: 550; text-transform: uppercase; }

.matchup-link { display: flex; justify-content: space-between; align-items: center; padding-top: 21px; color: var(--violet-bright); font-weight: 750; }
.matchup-link i { font-style: normal; font-size: 1.35rem; }

.matchup-strip {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  min-height: 102px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-small);
  background: var(--bg-elevated);
  box-shadow: var(--shadow-small);
}

.strip-label { display: flex; flex-direction: column; justify-content: center; padding: 18px 22px; border-right: 1px solid var(--line); }
.strip-label span { color: var(--teal); font-size: 0.75rem; font-weight: 800; text-transform: uppercase; }
.strip-label strong { font-size: 0.86rem; }

.matchup-scroll { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(200px, 1fr); overflow-x: auto; scrollbar-width: thin; }
.mini-matchup { min-width: 0; padding: 18px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; border-right: 1px solid var(--line); }
.mini-matchup:hover { background: var(--bg-soft); }
.mini-matchup > span { min-width: 0; }
.mini-matchup > span:last-child { text-align: right; }
.mini-matchup b { display: block; overflow: hidden; font-size: 0.72rem; white-space: nowrap; text-overflow: ellipsis; }
.mini-matchup strong { color: var(--teal); font-size: 1.1rem; }
.mini-matchup .secondary-score { color: var(--violet); }
.mini-matchup small { color: var(--text-soft); font-size: 0.65rem; line-height: 1.25; text-align: center; }
.mini-matchup em { color: var(--text); font-style: normal; text-transform: uppercase; }

.dashboard-grid { margin-top: 18px; display: grid; grid-template-columns: 1fr 1.08fr; gap: 18px; }

.panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--bg-elevated) 94%, transparent);
  box-shadow: var(--shadow-small);
}

.panel-heading { min-height: 54px; padding: 17px 22px 10px; display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.panel-heading h2 { margin-bottom: 0; font-size: 1.16rem; letter-spacing: -0.02em; }
.panel-heading > span, .panel-heading > a { color: var(--violet); font-size: 0.78rem; font-weight: 750; text-transform: uppercase; }

.table-wrap { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 0.84rem; }
th { font-weight: 700; text-align: left; }
th, td { padding: 10px 22px; border-bottom: 1px solid var(--line); white-space: nowrap; }
thead th { padding-block: 8px; color: var(--text-soft); font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase; }
tbody tr:last-child th, tbody tr:last-child td { border-bottom: 0; }
.rank, .position, .points { color: var(--teal); font-weight: 800; }

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 13px 22px 17px;
  color: var(--violet);
  font-size: 0.86rem;
  font-weight: 750;
}
.text-link span { font-size: 1.1rem; transition: transform 150ms ease; }
.text-link:hover span { transform: translateX(3px); }

.decision-list { padding: 0 14px; display: grid; gap: 7px; }
.decision-row, .key-row {
  min-height: 57px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: color-mix(in srgb, var(--bg-soft) 55%, transparent);
}
.decision-row p, .key-row p { margin: 0; font-size: 0.84rem; }
.decision-row p small, .key-row p small { display: block; color: var(--text-soft); font-size: 0.7rem; }
.decision-row time { color: var(--text-soft); font-size: 0.68rem; }
.full-link { width: calc(100% - 28px); margin-inline: 14px; justify-content: center; border: 1px solid var(--line); border-radius: 6px; }

.team-badge {
  position: relative;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, currentColor 36%, transparent);
  border-radius: 9px;
  background: color-mix(in srgb, currentColor 12%, var(--bg-elevated));
  color: var(--violet);
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: -0.03em;
}
.team-badge-fallback { position: relative; z-index: 0; }
.team-badge-logo { position: absolute; inset: 18%; z-index: 1; width: 64%; height: 64%; object-fit: contain; }
.team-badge.has-logo { overflow: hidden; border-color: #d7d9df; background: #ffffff; color: #111318; }
.team-badge.has-logo .team-badge-fallback { visibility: hidden; }
.badge-small { width: 34px; height: 34px; border-radius: 50%; }
.badge-large { width: 64px; height: 64px; border-radius: 18px; font-size: 0.9rem; }
.team-coral { color: var(--coral); }
.team-teal { color: var(--teal); }
.team-blue { color: #4285f4; }
.team-indigo { color: #5369ff; }
.team-orange { color: #f58a24; }
.team-lime { color: #76b947; }
.team-rose { color: #d7759e; }
.team-ink { color: var(--text); }
.team-spectrum { color: #5c6df8; }

.teams-section { padding-block: 34px 38px; }
.section-heading { margin-bottom: 16px; display: flex; justify-content: space-between; align-items: end; gap: 30px; }
.section-heading h2 { margin-bottom: 0; font-size: 1.6rem; }
.section-heading p:last-child { max-width: 480px; margin: 0; color: var(--text-soft); font-size: 0.9rem; }
.team-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 9px; }
.team-card { min-width: 0; min-height: 74px; padding: 12px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg-elevated); box-shadow: var(--shadow-small); }
.team-card:hover { border-color: color-mix(in srgb, var(--violet) 56%, var(--line)); transform: translateY(-1px); }
.team-card span { min-width: 0; }
.team-card small, .team-card strong { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.team-card small { color: var(--text-soft); font-size: 0.62rem; text-transform: uppercase; }
.team-card strong { font-size: 0.82rem; }
.team-card > i { color: var(--violet); font-style: normal; }

.reason-band { margin-top: 4px; background: var(--bg-strong); color: var(--text-on-strong); }
.reason-inner { min-height: 124px; display: grid; grid-template-columns: auto minmax(250px, 1fr) auto auto; align-items: center; gap: 28px; }
.reason-icon { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid #8051dd; border-radius: 50%; color: #b887ff; font-size: 2rem; }
.reason-inner h2 { margin-bottom: 2px; font-size: 1.5rem; }
.reason-inner p { margin: 0; color: #aeb8c3; font-size: 0.88rem; }
.reason-inner .text-link { margin: 0; color: #b887ff; }

.publication-note { margin-top: 18px; margin-bottom: 28px; color: var(--text-soft); font-size: 0.73rem; text-align: right; }

.site-footer { border-top: 1px solid var(--line); }
.footer-inner { width: min(calc(100% - 48px), var(--max)); min-height: 84px; margin-inline: auto; display: grid; grid-template-columns: auto auto 1fr auto; align-items: center; gap: 28px; color: var(--text-soft); font-size: 0.76rem; }
.footer-brand { width: 144px; line-height: 0; }
.footer-inner p { margin: 0; }
.footer-inner nav { display: flex; justify-content: center; gap: 28px; }
.footer-inner a:hover { color: var(--text); }

.breadcrumbs { padding-block: 22px 14px; display: flex; align-items: center; gap: 12px; color: var(--text-soft); font-size: 0.82rem; }
.breadcrumbs a:hover { color: var(--violet); }
.breadcrumbs strong { color: var(--violet); font-weight: 650; }

.team-page, .matchup-page { padding-bottom: 16px; }

.team-identity { min-height: 176px; padding: 28px; display: flex; align-items: center; justify-content: space-between; gap: 34px; }
.team-title-block { display: flex; align-items: center; gap: 24px; }
.team-title-block > div { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 14px; }
.team-title-block .team-badge { grid-row: 1 / span 3; }
.team-title-block .eyebrow { margin-bottom: 2px; }
.team-title-block h1 { margin-bottom: 3px; font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1; letter-spacing: -0.035em; text-transform: uppercase; }
.team-title-block .live-indicator { grid-column: 2; }
.rank-tile { width: 92px; height: 112px; display: grid; place-items: center; border-radius: 18px; background: var(--bg-strong); color: white; font-family: Impact, "Arial Narrow", sans-serif; font-size: 3.2rem; letter-spacing: 0.04em; }

.team-stats { min-width: min(52%, 690px); margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); }
.team-stats div { padding: 10px 22px; border-left: 1px solid var(--line); }
.team-stats dt { color: var(--text-soft); font-size: 0.68rem; font-weight: 750; letter-spacing: 0.08em; text-transform: uppercase; }
.team-stats dd { margin: 5px 0 0; color: var(--teal); font-family: Impact, "Arial Narrow", sans-serif; font-size: 2rem; letter-spacing: 0.03em; }

.subnav { min-height: 58px; margin-top: 14px; padding: 0 8px; display: flex; align-items: stretch; gap: 12px; border-bottom: 1px solid var(--line); overflow-x: auto; }
.subnav a { min-width: max-content; padding: 18px 24px 14px; border-bottom: 3px solid transparent; color: var(--text-soft); font-size: 0.86rem; font-weight: 700; }
.subnav a:hover, .subnav a.active { border-bottom-color: var(--violet); color: var(--violet); }

.team-overview { margin-top: 16px; display: grid; grid-template-columns: 1.03fr 1fr; gap: 16px; }
.team-side { display: grid; gap: 16px; }
.roster-panel th, .roster-panel td { padding-block: 9px; }
.roster-slot-groups { padding: 14px; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.9fr); gap: 10px; }
.roster-slot-group { border: 1px solid var(--line); background: var(--bg-soft); }
.roster-slot-group:first-child { grid-row: 1 / span 2; }
.roster-slot-group > header { min-height: 44px; padding: 0 13px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--line); }
.roster-slot-group h3 { margin: 0; font-size: 0.76rem; letter-spacing: 0.08em; text-transform: uppercase; }
.roster-slot-group > header span { color: var(--text-soft); font-size: 0.7rem; font-weight: 800; text-transform: uppercase; }
.roster-slot-group ol { margin: 0; padding: 0; list-style: none; }
.roster-slot-group li { min-height: 54px; padding: 8px 12px; display: grid; grid-template-columns: 45px minmax(0, 1fr) auto; align-items: center; gap: 12px; background: var(--bg-elevated); }
.roster-slot-group li + li { border-top: 1px solid var(--line); }
.roster-slot-group li > b { min-width: 42px; color: var(--teal-ink); font-size: 0.72rem; letter-spacing: 0.05em; }
.roster-slot-group li strong, .roster-slot-group li small { display: block; }
.roster-slot-group li strong { font-size: 0.82rem; }
.roster-slot-group li small { color: var(--text-soft); font-size: 0.7rem; }
.roster-slot-group li i { color: var(--line-strong); font-style: normal; }
.roster-pending-note { padding: 0 14px 14px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.roster-pending-note p { margin: 0; color: var(--text-soft); font-size: 0.78rem; }
.roster-pending-note p strong { color: var(--text); }
.roster-pending-note .text-link { margin: 0; flex: 0 0 auto; }
.versus-row { min-height: 100px; padding: 20px 34px; display: grid; grid-template-columns: 1fr auto 1fr; place-items: center; border-block: 1px solid var(--line); text-align: center; text-transform: uppercase; }
.versus-row > strong:last-child { justify-self: end; }
.versus-row > strong:first-child { justify-self: start; }
.versus-row span { color: var(--text-soft); font-size: 0.75rem; }
.versus-row small { display: block; padding-top: 5px; font-size: 0.67rem; text-transform: none; }
.next-matchup > .signal { display: flex; width: max-content; margin: 14px auto; }

.status-summary { min-height: 145px; padding: 26px 30px 22px; display: grid; place-items: center; text-align: center; }
.status-summary > strong { font-size: 1.2rem; }
.status-summary > p { max-width: 480px; margin: 7px 0 20px; color: var(--text-soft); font-size: 0.85rem; }
.status-summary .signal { width: max-content; }

.empty-state { min-height: 270px; padding: 44px 28px; display: grid; place-items: center; align-content: center; text-align: center; }
.empty-state > strong { margin-top: 12px; font-size: 1.25rem; }
.empty-state > p { max-width: 650px; margin: 7px auto 0; color: var(--text-soft); }
.empty-state .text-link { margin-bottom: 0; }
.compact-empty { min-height: 210px; padding: 30px 24px; }
.compact-empty > strong { margin-top: 0; }
.empty-mark .signal i { height: 20px; }

.pick-list { padding: 0 14px 14px; display: grid; gap: 7px; }
.pick-list article { min-height: 55px; padding: 9px 12px; display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 7px; background: color-mix(in srgb, var(--bg-soft) 55%, transparent); }
.pick-list article > span { color: var(--teal); font-size: 0.74rem; font-weight: 850; }
.pick-list p { margin: 0; font-size: 0.83rem; }
.pick-list small { display: block; color: var(--text-soft); font-size: 0.7rem; }

.insight-grid { margin-top: 16px; display: grid; grid-template-columns: 1.15fr 0.95fr 1.15fr; gap: 16px; }
.performance-summary { padding: 2px 20px 20px; display: grid; grid-template-columns: 100px 1fr; align-items: center; gap: 20px; }
.performance-summary p { margin: 0; }
.performance-summary small, .performance-summary span { display: block; color: var(--text-soft); font-size: 0.7rem; text-transform: uppercase; }
.performance-summary strong { display: block; margin-block: 2px; color: var(--teal); font-family: Impact, sans-serif; font-size: 1.9rem; letter-spacing: 0.04em; }
.chart-area { fill: color-mix(in srgb, var(--teal) 12%, transparent); }
.chart-line { fill: none; stroke: var(--teal); stroke-width: 2; }
.chart-dots { fill: var(--teal); stroke: var(--bg-elevated); stroke-width: 2; }

.position-grid { padding: 4px 20px 20px; display: grid; grid-template-columns: repeat(4, 1fr); }
.position-grid span { min-height: 62px; padding: 8px 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.position-grid span:nth-child(4n) { border-right: 0; }
.position-grid span:nth-child(n+5) { border-bottom: 0; }
.position-grid small { color: var(--teal); font-size: 0.68rem; font-weight: 750; text-transform: uppercase; }
.position-grid strong { font-size: 1.04rem; }
.rationale-panel { padding-bottom: 12px; }
.rationale-panel > p { margin: 0 22px 11px; color: var(--text-soft); font-size: 0.88rem; }

.draft-page { padding-bottom: 16px; }
.draft-stage { overflow: hidden; border-color: #29292f; background: #050506; color: #f5f7fb; }
.draft-stage > header { min-height: 58px; padding: 0 24px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; border-bottom: 1px solid #29292f; }
.draft-stage > header > div { display: flex; align-items: center; gap: 13px; }
.draft-stage > header strong { font-family: var(--font-display); font-size: 1.35rem; font-weight: 400; letter-spacing: .06em; text-transform: uppercase; }
.draft-stage > header > span { padding: 6px 11px; border: 1px solid color-mix(in srgb, var(--teal) 55%, #29292f); color: var(--teal); font-size: .75rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.draft-stage > header > small { color: #9298a4; font-size: .75rem; font-weight: 750; text-align: right; text-transform: uppercase; }
.draft-stage-main { min-height: 285px; display: grid; grid-template-columns: 190px minmax(0, 1fr) minmax(340px, .48fr); align-items: stretch; }
.draft-stage-number { padding: 42px 28px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid #29292f; }
.draft-stage-number small, .draft-stage-number span { color: #969ca7; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.draft-stage-number strong { margin: 8px 0 4px; color: var(--teal); font-family: var(--font-display); font-size: clamp(4.5rem, 7vw, 7.5rem); font-weight: 400; line-height: .78; letter-spacing: .01em; }
.draft-stage-team { min-width: 0; padding: 38px 44px; display: grid; grid-template-columns: auto minmax(0, 1fr); align-content: center; align-items: center; gap: 8px 22px; background: linear-gradient(120deg, color-mix(in srgb, var(--violet) 17%, transparent), transparent 58%); }
.draft-stage-team > p { grid-column: 1 / -1; margin: 0; color: var(--violet-bright); font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.draft-stage-team > div { min-width: 0; }
.draft-stage-team small, .draft-stage-team strong { display: block; color: #aeb3be; font-size: .8rem; }
.draft-stage-team small { font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.draft-stage-team h1 { margin: 2px 0 4px; overflow: hidden; color: #fff; font-family: var(--font-display); font-size: clamp(3rem, 6vw, 6.8rem); font-weight: 400; line-height: .82; letter-spacing: .01em; text-overflow: ellipsis; text-transform: uppercase; }
.draft-stage-team .badge-large { width: 86px; height: 86px; border-radius: 22px; }
.draft-stage-time { padding: 38px 32px; display: flex; flex-direction: column; justify-content: center; border-left: 1px solid #29292f; }
.draft-stage-time > small { color: var(--teal); font-size: .75rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.draft-stage-time > strong { max-width: 330px; margin: 8px 0 22px; color: #fff; font-size: clamp(1.25rem, 2vw, 1.8rem); line-height: 1.2; }
.draft-stage-time .countdown-grid span { border-color: #34343a; background: #111114; }
.draft-stage-time .countdown-grid strong { color: var(--violet-bright); }
.draft-stage-time .countdown-grid small { color: #9298a4; }
.draft-stage-time .draft-room-open, .draft-stage-time .draft-time-pending { color: var(--teal); text-align: left; }
.draft-stage-order { margin: 0; padding: 0; display: grid; grid-auto-flow: column; grid-auto-columns: 178px; overflow-x: auto; border-top: 1px solid #29292f; list-style: none; scroll-snap-type: x proximity; scrollbar-color: var(--violet) #111114; scrollbar-width: thin; }
.draft-stage-order li { min-width: 0; border-right: 1px solid #29292f; scroll-snap-align: start; }
.draft-stage-order li:last-child { border-right: 0; }
.draft-stage-order a { min-height: 72px; padding: 10px 12px; display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: 9px; }
.draft-stage-order b { color: #858b96; font-family: var(--font-display); font-size: 1.1rem; font-weight: 400; }
.draft-stage-order span { min-width: 0; }
.draft-stage-order span strong, .draft-stage-order span small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.draft-stage-order span strong { color: #eef0f5; font-size: .76rem; font-weight: 850; }
.draft-stage-order span small { margin-top: 2px; color: #858b96; font-size: .58rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.draft-stage-order li.is-active { background: color-mix(in srgb, var(--violet) 22%, #09090b); box-shadow: inset 0 -3px 0 var(--teal); }
.draft-stage-order li.is-active b, .draft-stage-order li.is-active span strong { color: #fff; }
.draft-hero { min-height: 205px; padding: 34px 40px; display: flex; align-items: center; justify-content: space-between; gap: 36px; overflow: hidden; background: linear-gradient(120deg, color-mix(in srgb, var(--violet-soft) 38%, transparent), transparent 50%), var(--bg-elevated); }
.draft-hero h1 { margin-bottom: 8px; font-size: clamp(2.2rem, 5vw, 4.6rem); line-height: 1; letter-spacing: -0.045em; }
.draft-hero p:last-child { max-width: 650px; margin-bottom: 0; color: var(--text-soft); }
.draft-progress { min-width: 230px; padding: 22px 28px; border-left: 1px solid var(--line); text-align: right; }
.draft-progress strong { display: block; color: var(--teal); font-family: Impact, "Arial Narrow", sans-serif; font-size: 3rem; line-height: 1; }
.draft-progress strong small { color: var(--text-soft); font-family: var(--font); font-size: 0.82rem; font-weight: 700; }
.draft-progress > span { display: block; margin-top: 8px; color: var(--violet); font-size: 0.73rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.draft-progress-track { width: 100%; height: 6px; margin-top: 14px; overflow: hidden; border-radius: 999px; background: var(--bg-soft); }
.draft-progress-track i { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--teal), var(--violet)); transition: width 260ms ease; }
.draft-waiting, .draft-board, .draft-livebar, .draft-recent { margin-top: 16px; }
.draft-order-note { margin-top: 14px; padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid color-mix(in srgb, var(--teal) 35%, var(--line)); border-radius: var(--radius-small); background: color-mix(in srgb, var(--teal-soft) 38%, var(--bg-elevated)); }
.draft-order-note p { margin: 0; color: var(--text-soft); font-size: 0.86rem; }
.draft-order-note strong { color: var(--text); }
.draft-order-note a { flex: 0 0 auto; color: var(--violet); font-size: 0.82rem; font-weight: 850; }
.draft-team-list { padding: 0 24px 30px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.draft-team-list a { min-width: 0; padding: 11px 13px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg-elevated); }
.draft-team-list a:hover { border-color: color-mix(in srgb, var(--violet) 55%, var(--line)); }
.draft-team-list a > span { min-width: 0; }
.draft-team-list small, .draft-team-list strong { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.draft-team-list small { color: var(--text-soft); font-size: 0.65rem; text-transform: uppercase; }
.draft-team-list strong { font-size: 0.85rem; }
.draft-livebar { display: grid; grid-template-columns: 1.25fr 1fr; gap: 16px; }
.draft-schedule-card, .draft-clock-card { min-height: 154px; padding: 24px 28px; }
.draft-schedule-card { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.draft-card-label { min-width: 0; display: flex; align-items: center; gap: 14px; }
.draft-card-label p, .draft-clock-card p { margin: 0; }
.draft-card-label small, .draft-card-label strong { display: block; }
.draft-card-label small { margin-bottom: 5px; color: var(--text-soft); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.draft-card-label strong { font-size: clamp(1rem, 2vw, 1.35rem); line-height: 1.25; }
.draft-state-dot { width: 13px; height: 13px; flex: 0 0 auto; border-radius: 50%; background: var(--violet); box-shadow: 0 0 0 6px color-mix(in srgb, var(--violet) 13%, transparent); }
.draft-state-dot.state-live { background: var(--teal); box-shadow: 0 0 0 6px color-mix(in srgb, var(--teal) 15%, transparent); animation: live-pulse 1.8s ease-in-out infinite; }
.draft-state-dot.state-official { background: var(--teal); }
@keyframes live-pulse { 50% { box-shadow: 0 0 0 11px color-mix(in srgb, var(--teal) 2%, transparent); } }
.countdown-grid { display: grid; grid-template-columns: repeat(4, minmax(52px, 1fr)); gap: 7px; }
.countdown-grid span { min-width: 54px; padding: 9px 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg-soft); text-align: center; }
.countdown-grid strong, .countdown-grid small { display: block; }
.countdown-grid strong { color: var(--violet); font-family: Impact, "Arial Narrow", sans-serif; font-size: 1.55rem; font-weight: 500; line-height: 1; letter-spacing: 0.03em; }
.countdown-grid small { margin-top: 5px; color: var(--text-soft); font-size: 0.58rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.draft-time-pending, .draft-room-open { max-width: 270px; margin: 0; color: var(--violet); font-size: 0.82rem; font-weight: 800; text-align: right; }
.draft-room-open { color: var(--teal-ink); text-transform: uppercase; }
.draft-clock-card { display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: 16px; background: var(--bg-strong); color: var(--text-on-strong); }
.draft-clock-card > .eyebrow { grid-column: 1 / -1; align-self: end; margin-bottom: -5px; color: #b887ff; }
.draft-clock-card > div { min-width: 0; }
.draft-clock-card small, .draft-clock-card strong, .draft-clock-card span { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.draft-clock-card small { color: #aeb8c3; font-size: 0.68rem; font-weight: 750; text-transform: uppercase; }
.draft-clock-card strong { margin-block: 1px; font-size: 1.35rem; }
.draft-clock-card span { color: #aeb8c3; font-size: 0.78rem; }
.draft-queue-card { grid-column: 1 / -1; overflow: hidden; }
.draft-queue-card > header { min-height: 68px; padding: 15px 20px 12px; display: flex; align-items: end; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.draft-queue-card > header .eyebrow { margin-bottom: 2px; }
.draft-queue-card > header h2 { margin: 0; font-size: 1.15rem; }
.draft-queue-card > header > span { color: var(--text-soft); font-size: 0.72rem; font-weight: 750; text-transform: uppercase; }
.draft-queue-card ol { margin: 0; padding: 12px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; list-style: none; }
.draft-queue-card li { min-width: 0; min-height: 72px; padding: 10px; display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 9px; background: color-mix(in srgb, var(--bg-soft) 56%, transparent); }
.draft-queue-card li.is-current { border-color: color-mix(in srgb, var(--violet) 70%, var(--line)); background: color-mix(in srgb, var(--violet-soft) 72%, var(--bg-elevated)); box-shadow: inset 3px 0 0 var(--violet); }
.draft-queue-number { min-width: 29px; color: var(--teal); font-family: Impact, "Arial Narrow", sans-serif; font-size: 1.25rem; line-height: 1; text-align: center; }
.draft-queue-number small { display: block; color: var(--text-soft); font-family: var(--font); font-size: 0.52rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.draft-queue-card li > div { min-width: 0; }
.draft-queue-card li strong, .draft-queue-card li > div small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.draft-queue-card li strong { font-size: 0.8rem; }
.draft-queue-card li > div small { color: var(--text-soft); font-size: 0.62rem; }
.draft-queue-card li > em { color: var(--violet); font-size: 0.61rem; font-style: normal; font-weight: 850; text-transform: uppercase; }
.draft-board { overflow: hidden; }
.draft-board-heading { min-height: 82px; padding: 18px 22px 14px; display: flex; align-items: end; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); }
.draft-board-heading .eyebrow { margin-bottom: 3px; }
.draft-board-heading h2 { margin: 0; font-size: 1.55rem; }
.draft-board-tools { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px 14px; }
.draft-follow-button { min-height: 36px; padding: 7px 11px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 999px; background: var(--bg-soft); color: var(--text-soft); font-size: 0.72rem; font-weight: 800; cursor: pointer; }
.draft-follow-button i { width: 8px; height: 8px; border-radius: 50%; background: var(--text-soft); }
.draft-follow-button[aria-pressed="true"] { border-color: color-mix(in srgb, var(--teal) 45%, var(--line)); color: var(--teal-ink); }
.draft-follow-button[aria-pressed="true"] i { background: var(--teal); box-shadow: 0 0 0 4px color-mix(in srgb, var(--teal) 15%, transparent); animation: live-pulse 1.8s ease-in-out infinite; }
.position-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.position-legend span { min-width: 38px; padding: 5px 8px; border-radius: 999px; font-size: 0.66rem; font-weight: 900; text-align: center; }
.draft-board-scroll { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-color: var(--violet) var(--bg-soft); }
.draft-board-scroll:focus-visible { outline-offset: -4px; }
.draft-mobile-board { display: none; }
.draft-matrix { min-width: 1660px; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: 0.78rem; }
.draft-matrix th, .draft-matrix td { height: 96px; padding: 10px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); vertical-align: top; white-space: normal; }
.draft-matrix tr:last-child th, .draft-matrix tr:last-child td { border-bottom: 0; }
.draft-matrix th:last-child, .draft-matrix td:last-child { border-right: 0; }
.draft-matrix thead th { height: 82px; background: var(--bg-elevated); vertical-align: middle; }
.draft-matrix thead th:not(.round-heading) { width: 130px; }
.draft-matrix thead a { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 0 8px; }
.draft-matrix thead a > small { grid-column: 2; color: var(--text-soft); font-size: 0.6rem; font-weight: 750; text-transform: uppercase; }
.draft-matrix thead a > .team-badge { grid-row: 1 / span 2; }
.draft-matrix thead a > strong { grid-column: 2; overflow: hidden; font-size: 0.78rem; white-space: nowrap; text-overflow: ellipsis; }
.round-heading, .round-number { width: 88px; position: sticky; left: 0; z-index: 2; background: var(--bg-strong) !important; color: var(--text-on-strong); text-align: center; }
.round-heading { z-index: 3; font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; }
.round-number { vertical-align: middle !important; }
.round-number small, .round-number strong, .round-number span { display: block; }
.round-number small { color: #aeb8c3; font-size: 0.55rem; letter-spacing: 0.09em; text-transform: uppercase; }
.round-number strong { font-family: Impact, "Arial Narrow", sans-serif; font-size: 1.65rem; line-height: 1.1; }
.round-number span { color: #b887ff; font-size: 0.85rem; }
.draft-pick-empty { background: color-mix(in srgb, var(--bg-soft) 74%, transparent); color: var(--text-soft); }
.draft-pick-empty span, .draft-pick-filled > span { display: block; margin-bottom: 12px; color: var(--text-soft); font-size: 0.62rem; font-weight: 800; }
.draft-pick-empty strong { font-size: 0.72rem; font-weight: 650; }
.draft-pick-empty.is-on-clock { background: color-mix(in srgb, var(--violet-soft) 64%, var(--bg-elevated)); box-shadow: inset 0 0 0 2px var(--violet); color: var(--violet); }
.draft-pick-filled { border-top: 4px solid transparent; background: var(--bg-elevated); }
.draft-pick-filled > strong, .draft-pick-filled > small { display: block; }
.draft-pick-filled > strong { font-size: 0.79rem; line-height: 1.25; }
.draft-pick-filled > small { margin-top: 6px; color: var(--text-soft); font-size: 0.64rem; font-weight: 750; }
.position-qb { --position-color: #f05b78; background-color: color-mix(in srgb, #f05b78 10%, var(--bg-elevated)); border-color: #f05b78; }
.position-rb { --position-color: #00a99d; background-color: color-mix(in srgb, #00a99d 11%, var(--bg-elevated)); border-color: #00a99d; }
.position-wr { --position-color: #5369ff; background-color: color-mix(in srgb, #5369ff 10%, var(--bg-elevated)); border-color: #5369ff; }
.position-te { --position-color: #f58a24; background-color: color-mix(in srgb, #f58a24 11%, var(--bg-elevated)); border-color: #f58a24; }
.position-k { --position-color: #8e55d8; background-color: color-mix(in srgb, #8e55d8 10%, var(--bg-elevated)); border-color: #8e55d8; }
.position-def { --position-color: #596272; background-color: color-mix(in srgb, #596272 10%, var(--bg-elevated)); border-color: #596272; }
.position-other { --position-color: var(--line-strong); }
.position-legend .position-qb, .position-legend .position-rb, .position-legend .position-wr, .position-legend .position-te, .position-legend .position-k, .position-legend .position-def { color: var(--position-color); }
.draft-recent { padding-block: 18px 16px; }
.draft-recent-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.draft-recent-card { min-width: 0; padding: 14px; display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: 10px; border-top: 4px solid var(--position-color, var(--line-strong)); }
.draft-recent-card > span { align-self: start; color: var(--text-soft); font-size: 0.68rem; font-weight: 850; }
.draft-recent-card > div { min-width: 0; }
.draft-recent-card small, .draft-recent-card strong, .draft-recent-card em { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.draft-recent-card small { color: var(--text-soft); font-size: 0.61rem; text-transform: uppercase; }
.draft-recent-card strong { font-size: 0.88rem; }
.draft-recent-card em { color: var(--text-soft); font-size: 0.67rem; font-style: normal; }
.draft-recent-card details { grid-column: 1 / -1; padding-top: 8px; border-top: 1px solid var(--line); }
.draft-recent-card summary { color: var(--violet); cursor: pointer; font-size: 0.7rem; font-weight: 800; }
.draft-recent-card details p { margin: 8px 0 0; color: var(--text-soft); font-size: 0.76rem; }
.draft-lab-promo { margin-top: 16px; padding: 24px 28px; display: flex; align-items: center; justify-content: space-between; gap: 28px; border: 1px solid color-mix(in srgb, var(--violet) 45%, var(--line)); background: linear-gradient(110deg, color-mix(in srgb, var(--violet-soft) 64%, var(--bg-elevated)), var(--bg-elevated)); }
.draft-lab-promo .eyebrow { margin-bottom: 3px; }
.draft-lab-promo h2 { margin-bottom: 4px; font-size: 1.55rem; }
.draft-lab-promo p:last-child { margin: 0; color: var(--text-soft); }
.draft-lab-promo .button { flex: 0 0 auto; }

.mock-setup-page, .mock-room-page { padding-bottom: 28px; }
.mock-setup-shell { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(520px, 1.28fr); border: 1px solid var(--line); background: var(--bg-elevated); }
.mock-setup-copy { min-height: 610px; padding: 44px 38px 34px; display: flex; flex-direction: column; justify-content: flex-start; position: sticky; top: 86px; align-self: start; border-right: 1px solid var(--line); background: linear-gradient(155deg, color-mix(in srgb, var(--violet-soft) 68%, var(--bg-elevated)), var(--bg-elevated) 62%); }
.mock-setup-copy h1 { margin-bottom: 20px; font-family: var(--font-display); font-size: clamp(3.5rem, 6.6vw, 6.8rem); font-weight: 400; line-height: .86; letter-spacing: .01em; text-transform: uppercase; }
.mock-setup-copy > p:not(.eyebrow) { max-width: 510px; color: var(--text-soft); font-size: 1rem; line-height: 1.65; }
.mock-team-visual { min-height: 250px; margin: 22px 0 0; position: relative; isolation: isolate; overflow: hidden; border: 2px solid color-mix(in srgb, var(--mock-team-secondary) 72%, #fff); background: linear-gradient(135deg, var(--mock-team-primary), color-mix(in srgb, var(--mock-team-primary) 62%, #000) 54%, var(--mock-team-secondary)); color: #fff; }
.mock-team-visual::before, .mock-team-visual::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.mock-team-visual::before { background: linear-gradient(112deg, color-mix(in srgb, var(--mock-team-primary) 86%, transparent), transparent 50%, color-mix(in srgb, var(--mock-team-secondary) 70%, transparent)); mix-blend-mode: color; }
.mock-team-visual::after { background: linear-gradient(180deg, rgba(0,0,0,.02) 18%, rgba(0,0,0,.88) 100%); }
.mock-team-stock-photo { width: 100%; height: 250px; object-fit: cover; object-position: var(--mock-photo-position); filter: grayscale(1) contrast(1.16); opacity: .82; }
.mock-team-player-stack { height: 250px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; overflow: hidden; }
.mock-team-player-stack > span { height: 250px; position: relative; display: grid; align-items: end; overflow: hidden; border-right: 1px solid rgba(255,255,255,.16); background: linear-gradient(155deg, color-mix(in srgb, var(--mock-team-primary) 82%, #000), color-mix(in srgb, var(--mock-team-secondary) 72%, #000)); }
.mock-team-player-stack > span:last-child { border-right: 0; }
.mock-team-player-stack img { width: 118%; max-width: none; height: 232px; margin-left: -9%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 7px 10px rgba(0,0,0,.45)) saturate(.88) contrast(1.06); }
.mock-team-player-stack small, .mock-team-player-stack strong { position: absolute; left: 10px; z-index: 2; display: none; }
.mock-team-player-stack > span.is-broken { place-items: center; align-content: center; padding: 14px; text-align: center; }
.mock-team-player-stack > span.is-broken small, .mock-team-player-stack > span.is-broken strong { position: static; display: block; }
.mock-team-player-stack > span.is-broken small { color: rgba(255,255,255,.72); font-size: .62rem; }
.mock-team-player-stack > span.is-broken strong { margin-top: 4px; color: #fff; font-size: .78rem; }
.mock-team-visual figcaption { position: absolute; inset: auto 18px 16px; z-index: 2; display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.mock-team-visual figcaption small, .mock-team-visual figcaption strong { display: block; }
.mock-team-visual figcaption small { margin-bottom: 2px; color: rgba(255,255,255,.72); font-size: .65rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.mock-team-visual figcaption strong { font-size: .9rem; }
.mock-team-visual figcaption b { color: color-mix(in srgb, var(--mock-team-secondary) 72%, #fff); font-family: var(--font-display); font-size: 2.2rem; font-weight: 400; line-height: .85; letter-spacing: .04em; }
.mock-team-visual > a { position: absolute; top: 8px; right: 10px; z-index: 2; color: rgba(255,255,255,.72); font-size: .6rem; font-weight: 700; text-shadow: 0 1px 3px #000; }
.mock-team-visual > a:hover { color: #fff; }
.mock-team-visual > em { position: absolute; top: 8px; right: 10px; z-index: 2; color: rgba(255,255,255,.76); font-size: .6rem; font-style: normal; font-weight: 750; text-shadow: 0 1px 3px #000; }
.mock-setup-copy dl { margin: 18px 0 0; display: grid; border-top: 1px solid var(--line); }
.mock-setup-copy dl > div { min-height: 66px; display: grid; grid-template-columns: 90px minmax(0, 1fr); align-items: center; gap: 18px; border-bottom: 1px solid var(--line); }
.mock-setup-copy dt { color: var(--text-soft); font-size: .75rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.mock-setup-copy dd { margin: 0; font-size: .82rem; font-weight: 800; }
.mock-setup-form { padding: 38px 40px; }
.mock-setup-form fieldset { margin: 0; padding: 0 0 28px; border: 0; }
.mock-setup-form fieldset + fieldset { padding-top: 25px; border-top: 1px solid var(--line); }
.mock-setup-form legend { width: 100%; margin-bottom: 14px; padding: 0; color: var(--text); font-size: .86rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.mock-setup-form legend span { margin-right: 8px; color: var(--teal-ink); }
.mock-choice-grid { display: grid; gap: 8px; }
.scoring-choices { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.team-count-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mock-format-row { display: grid; grid-template-columns: minmax(0, 1fr) 140px 140px; align-items: stretch; gap: 8px; }
.mock-round-control { padding: 10px 12px; display: grid; align-content: center; gap: 5px; border: 1px solid var(--line); background: var(--bg-soft); color: var(--text); font-size: .75rem; font-weight: 850; }
.mock-round-control select, .mock-lineup-controls select { min-height: 38px; padding: 7px 9px; border: 1px solid var(--line-strong); border-radius: 0; background: var(--bg-elevated); color: var(--text); font: inherit; }
.mock-round-control small { color: var(--text-soft); font-size: .68rem; }
.mock-lineup-controls { display: grid; grid-template-columns: repeat(4, minmax(72px, 1fr)); gap: 8px; }
.mock-lineup-controls > label, .mock-bench-total { min-height: 78px; padding: 10px; display: grid; align-content: center; gap: 5px; border: 1px solid var(--line); background: var(--bg-soft); }
.mock-lineup-controls > label > span, .mock-bench-total > span { color: var(--text-soft); font-size: .7rem; font-weight: 900; letter-spacing: .06em; }
.mock-bench-total { background: color-mix(in srgb, var(--teal-soft) 54%, var(--bg-soft)); }
.mock-bench-total strong { color: var(--teal-ink); font-family: var(--font-display); font-size: 1.5rem; font-weight: 400; line-height: 1; }
.mock-bench-total small { color: var(--text-soft); font-size: .63rem; line-height: 1.2; }
.mock-field-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mock-choice-grid label, .mock-slot-grid label { position: relative; cursor: pointer; }
.mock-choice-grid input, .mock-slot-grid input { position: absolute; opacity: 0; pointer-events: none; }
.mock-choice-grid label > span { min-height: 78px; padding: 14px 16px; display: flex; justify-content: center; flex-direction: column; border: 1px solid var(--line); background: var(--bg-soft); transition: border-color 140ms ease, background-color 140ms ease, transform 140ms ease; }
.mock-choice-grid label:hover > span, .mock-slot-grid label:hover > span { transform: translateY(-1px); border-color: var(--violet); }
.mock-choice-grid input:focus-visible + span, .mock-slot-grid input:focus-visible + span { outline: 3px solid color-mix(in srgb, var(--violet) 72%, white); outline-offset: 3px; }
.mock-choice-grid input:checked + span { border-color: var(--violet); background: color-mix(in srgb, var(--violet-soft) 72%, var(--bg-elevated)); box-shadow: inset 4px 0 0 var(--violet); }
.mock-choice-grid strong, .mock-choice-grid small { display: block; }
.mock-choice-grid strong { font-size: .9rem; }
.mock-choice-grid small { margin-top: 3px; color: var(--text-soft); font-size: .75rem; }
.mock-slot-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; }
.mock-slot-grid label > span { min-height: 68px; display: grid; place-items: center; align-content: center; border: 1px solid var(--line); background: var(--bg-soft); color: var(--text); font-family: var(--font-display); font-size: 1.55rem; line-height: 1; transition: border-color 140ms ease, background-color 140ms ease, transform 140ms ease; }
.mock-slot-grid label small { margin-bottom: 3px; display: block; color: var(--text-soft); font-family: var(--font); font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.mock-slot-grid input:checked + span { border-color: var(--teal); background: color-mix(in srgb, var(--teal-soft) 72%, var(--bg-elevated)); color: var(--teal-ink); box-shadow: inset 0 -4px 0 var(--teal); }
.mock-setup-submit { padding-top: 24px; display: flex; align-items: center; justify-content: space-between; gap: 22px; border-top: 1px solid var(--line); }
.mock-setup-submit p { margin: 0; color: var(--text-soft); font-size: .78rem; font-weight: 750; }
.mock-personal-preview { margin-top: 14px; border: 1px solid var(--line); background: var(--bg-elevated); }
.mock-personal-preview > header { min-height: 76px; padding: 15px 22px; display: flex; align-items: end; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.mock-personal-preview h2 { margin: 0; font-size: 1.35rem; }
.mock-personal-preview .eyebrow { margin-bottom: 2px; }
.mock-personal-preview header > span { color: var(--teal-ink); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.mock-personal-preview > p { margin: 0; padding: 18px 22px; color: var(--text-soft); font-size: .82rem; }
.mock-personal-preview ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); list-style: none; }
.mock-personal-preview li { border-bottom: 1px solid var(--line); min-width: 0; min-height: 98px; padding: 13px; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 8px; border-right: 1px solid var(--line); }
.mock-personal-preview li:last-child { border-right: 0; }
.mock-personal-preview li > b { color: var(--violet); font-family: var(--font-display); font-size: 1.15rem; font-weight: 400; }
.mock-personal-preview li small, .mock-personal-preview li i { display: block; overflow-wrap: anywhere; }
.mock-personal-preview li small { font-size: .7rem; font-weight: 850; }
.mock-personal-preview li i { color: var(--text-soft); font-size: .61rem; font-style: normal; font-weight: 600; }
.mock-history-preview { margin-top: 14px; border: 1px solid var(--line); background: var(--bg-elevated); }
.mock-history-preview > header { min-height: 76px; padding: 15px 22px; display: flex; align-items: end; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.mock-history-preview h2 { margin: 0; font-size: 1.35rem; }
.mock-history-preview .eyebrow { margin-bottom: 2px; }
.mock-history-preview header > span { color: var(--teal-ink); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.mock-history-preview details + details { border-top: 1px solid var(--line); }
.mock-history-preview summary { min-height: 68px; padding: 13px 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; list-style: none; }
.mock-history-preview summary::-webkit-details-marker { display: none; }
.mock-history-preview summary small, .mock-history-preview summary strong { display: block; }
.mock-history-preview summary small { color: var(--text-soft); font-size: .64rem; }
.mock-history-preview summary strong { margin-top: 2px; font-size: .82rem; }
.mock-history-preview summary > b { color: var(--violet); font-size: .7rem; text-transform: uppercase; }
.mock-history-preview details > ol { margin: 0; padding: 10px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; border-top: 1px solid var(--line); list-style: none; }
.mock-history-preview details li { min-width: 0; min-height: 54px; padding: 8px 10px; display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 8px; border: 1px solid var(--line); border-left: 3px solid var(--position-color, var(--line)); background: var(--bg-soft); }
.mock-history-preview details li > b { color: var(--text-soft); font-size: .66rem; }
.mock-history-preview details li small, .mock-history-preview details li strong { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.mock-history-preview details li small { color: var(--text-soft); font-size: .6rem; }
.mock-history-preview details li strong { font-size: .76rem; }
.mock-order-preview { margin-top: 14px; border: 1px solid var(--line); background: var(--bg-elevated); }
.mock-order-preview > header { min-height: 86px; padding: 18px 24px; display: flex; align-items: end; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); }
.mock-order-preview .eyebrow { margin-bottom: 2px; }
.mock-order-preview h2 { margin: 0; font-size: 1.45rem; }
.mock-order-preview > header > p { margin: 0; color: var(--text-soft); font-size: .8rem; }
.mock-order-preview ol { margin: 0; padding: 0; display: grid; overflow-x: auto; list-style: none; }
.mock-order-preview ol.teams-10 { grid-template-columns: repeat(10, minmax(100px, 1fr)); }
.mock-order-preview ol.teams-12 { grid-template-columns: repeat(12, minmax(100px, 1fr)); }
.mock-order-preview li { min-width: 100px; min-height: 88px; padding: 14px 12px; display: grid; grid-template-columns: auto minmax(0, 1fr); align-content: center; gap: 9px; border-right: 1px solid var(--line); }
.mock-order-preview li:last-child { border-right: 0; }
.mock-order-preview li > b { color: var(--text-soft); font-family: var(--font-display); font-size: 1.25rem; font-weight: 400; }
.mock-order-preview li span { min-width: 0; }
.mock-order-preview li strong, .mock-order-preview li small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.mock-order-preview li strong { font-size: .78rem; }
.mock-order-preview li small { color: var(--text-soft); font-size: .68rem; }
.mock-order-preview li.is-user { background: color-mix(in srgb, var(--violet-soft) 70%, var(--bg-elevated)); box-shadow: inset 0 -4px 0 var(--teal); }
.mock-order-preview li.is-user b, .mock-order-preview li.is-user small { color: var(--teal-ink); }

.mock-room-status { min-height: 142px; padding: 25px 28px; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 30px; border: 1px solid var(--line); background: linear-gradient(120deg, color-mix(in srgb, var(--violet-soft) 55%, var(--bg-elevated)), var(--bg-elevated)); }
.mock-room-status .eyebrow { margin-bottom: 2px; }
.mock-room-status h1 { margin-bottom: 3px; font-family: var(--font-display); font-size: clamp(2.5rem, 5vw, 5rem); font-weight: 400; line-height: .9; text-transform: uppercase; }
.mock-room-status p:last-child { margin: 0; color: var(--text-soft); }
.mock-room-status dl { display: flex; margin: 0; }
.mock-room-status dl > div { min-width: 108px; padding: 6px 20px; border-left: 1px solid var(--line); }
.mock-room-status dt { color: var(--text-soft); font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.mock-room-status dd { margin: 2px 0 0; color: var(--teal-ink); font-family: var(--font-display); font-size: 2rem; line-height: 1; }
.mock-room-status dd small { color: var(--text-soft); font-family: var(--font); font-size: .75rem; }
.mock-room-actions { display: grid; gap: 7px; }
.mock-pick-desk { margin-top: 14px; border: 2px solid color-mix(in srgb, #d7a429 60%, var(--line)); background: var(--bg-elevated); box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 28%, transparent); }
.mock-pick-desk > header { min-height: 78px; padding: 16px 20px; display: flex; align-items: end; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); }
.mock-pick-desk h2 { margin: 0; font-size: 1.35rem; }
.mock-pick-desk .eyebrow { margin-bottom: 2px; }
.mock-pick-desk > header > p { max-width: 520px; margin: 0; color: var(--text-soft); font-size: .76rem; text-align: right; }
.mock-pick-desk ol { margin: 0; padding: 10px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; list-style: none; }
.mock-pick-desk li { --medal:#d7a429; --medal-deep:#73510c; min-width: 0; min-height: 144px; padding: 16px; position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: 48px 52px minmax(0, 1fr); align-items: center; gap: 11px; border: 2px solid var(--medal); background: linear-gradient(138deg, color-mix(in srgb, var(--medal) 23%, var(--bg-elevated)), var(--bg-elevated) 46%, color-mix(in srgb, var(--medal) 10%, var(--bg-soft))); box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 32%, transparent), 0 5px 16px rgba(0,0,0,.11); }
.mock-pick-desk li::before { content: ""; position: absolute; inset: -60% 48% -60% -20%; z-index: 0; transform: rotate(14deg); background: linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent); pointer-events: none; }
.mock-pick-desk li > * { position: relative; z-index: 1; }
.mock-pick-desk li.is-silver { --medal:#b8c0ca; --medal-deep:#58606b; }
.mock-pick-desk li.is-bronze { --medal:#bd7445; --medal-deep:#6f371d; }
.mock-pick-medal { width: 48px; min-height: 66px; display: grid; place-items: center; align-content: center; border: 1px solid color-mix(in srgb, var(--medal-deep) 70%, #000); background: linear-gradient(145deg, color-mix(in srgb, var(--medal) 74%, #fff), var(--medal) 48%, var(--medal-deep)); color: #111; box-shadow: inset 1px 1px 0 rgba(255,255,255,.58), inset -1px -1px 0 rgba(0,0,0,.24); text-shadow: 0 1px rgba(255,255,255,.5); }
.mock-pick-medal small { color: #111 !important; font-size: .55rem !important; font-weight: 950; letter-spacing: .06em; text-transform: uppercase; }
.mock-pick-medal b { font-family: var(--font-display); font-size: 1.75rem; font-weight: 400; line-height: 1; }
.mock-pick-desk li > div { min-width: 0; }
.mock-pick-desk li small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.mock-pick-desk li small { color: var(--text-soft); font-size: .64rem; }
.mock-pick-name { width: 100%; margin-top: 2px; padding: 0; overflow: hidden; border: 0; background: transparent; color: var(--text); cursor: pointer; font-size: 1rem; font-weight: 950; text-align: left; white-space: nowrap; text-overflow: ellipsis; }
.mock-pick-name:hover { color: var(--medal-deep); }
.mock-pick-desk li p { margin: 4px 0 0; color: var(--text-soft); font-size: .68rem; line-height: 1.3; }
.mock-pick-desk li > button { min-height: 38px; grid-column: 1 / -1; border: 1px solid var(--medal-deep); background: linear-gradient(180deg, color-mix(in srgb, var(--medal) 82%, #fff), var(--medal)); color: #111; cursor: pointer; font-size: .7rem; font-weight: 950; letter-spacing: .035em; text-transform: uppercase; box-shadow: inset 0 1px 0 rgba(255,255,255,.5); }
.mock-pick-desk li > button:disabled { border-color: var(--line); background: var(--bg-soft); color: var(--text-soft); cursor: not-allowed; }
.mock-draft-results { display: grid; gap: 14px; }
.mock-report-card { margin-top: 14px; border: 2px solid color-mix(in srgb, var(--violet) 68%, var(--line)); background: var(--bg-elevated); box-shadow: inset 0 0 0 1px color-mix(in srgb, #fff 22%, transparent), 0 16px 44px rgba(0,0,0,.14); }
.mock-report-card > header { padding: 26px; display: grid; grid-template-columns: 140px minmax(0, 1fr); align-items: center; gap: 26px; background: linear-gradient(118deg, color-mix(in srgb, var(--violet-soft) 76%, var(--bg-elevated)), var(--bg-elevated)); border-bottom: 1px solid var(--line); }
.mock-report-card > header h2 { margin: 2px 0 7px; font-size: clamp(1.55rem, 3vw, 2.35rem); }
.mock-report-card > header p:last-child { max-width: 820px; margin: 0; color: var(--text-soft); line-height: 1.5; }
.mock-report-grade { min-height: 132px; display: grid; place-items: center; align-content: center; border: 3px solid var(--grade-color, var(--violet)); background: linear-gradient(145deg, color-mix(in srgb, var(--grade-color, var(--violet)) 24%, var(--bg-elevated)), var(--bg-elevated)); box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--grade-color, var(--violet)) 24%, transparent); }
.mock-report-grade.grade-a { --grade-color:#d7a429; }
.mock-report-grade.grade-b { --grade-color:var(--teal); }
.mock-report-grade.grade-c { --grade-color:#f58a24; }
.mock-report-grade.grade-d { --grade-color:var(--coral); }
.mock-report-grade small, .mock-report-grade strong, .mock-report-grade span { display: block; }
.mock-report-grade small { color: var(--text-soft); font-size: .63rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.mock-report-grade strong { color: var(--grade-color); font-family: var(--font-display); font-size: 4.2rem; font-weight: 400; line-height: .9; }
.mock-report-grade span { margin-top: 4px; color: var(--text-soft); font-size: .68rem; font-weight: 850; }
.mock-report-scores { margin: 0; padding: 16px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; border-bottom: 1px solid var(--line); list-style: none; }
.mock-report-scores li { padding: 13px; border: 1px solid var(--line); background: var(--bg-soft); }
.mock-report-scores li > span { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mock-report-scores b { font-size: .72rem; }
.mock-report-scores strong { color: var(--violet); font-size: .8rem; }
.mock-report-scores i { height: 5px; margin-top: 10px; display: block; overflow: hidden; background: color-mix(in srgb, var(--line) 75%, transparent); }
.mock-report-scores em { width: var(--report-score); height: 100%; display: block; background: linear-gradient(90deg, var(--violet), var(--teal)); }
.mock-report-analysis { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(220px, .72fr); }
.mock-report-analysis > article, .mock-report-analysis > aside { min-width: 0; padding: 22px; }
.mock-report-analysis > * + * { border-left: 1px solid var(--line); }
.mock-report-analysis h3 { margin: 0 0 13px; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
.mock-report-strengths h3 { color: var(--teal-ink); }
.mock-report-weaknesses h3 { color: var(--coral); }
.mock-report-analysis article ul { margin: 0; padding: 0; list-style: none; }
.mock-report-analysis article li { position: relative; padding-left: 18px; color: var(--text-soft); font-size: .78rem; line-height: 1.45; }
.mock-report-analysis article li + li { margin-top: 10px; }
.mock-report-analysis article li::before { content: "+"; position: absolute; left: 0; color: var(--teal-ink); font-weight: 950; }
.mock-report-weaknesses li::before { content: "!" !important; color: var(--coral) !important; }
.mock-report-analysis aside { display: grid; align-content: center; gap: 9px; background: var(--bg-soft); }
.mock-report-analysis aside > div { padding: 13px; border: 1px solid var(--line); background: var(--bg-elevated); }
.mock-report-analysis aside small, .mock-report-analysis aside strong, .mock-report-analysis aside span { display: block; }
.mock-report-analysis aside small { color: var(--text-soft); font-size: .6rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.mock-report-analysis aside strong { margin-top: 3px; overflow: hidden; font-size: .82rem; white-space: nowrap; text-overflow: ellipsis; }
.mock-report-analysis aside span { margin-top: 2px; color: var(--violet); font-size: .65rem; font-weight: 800; }
.mock-report-card > footer { padding: 11px 20px; border-top: 1px solid var(--line); color: var(--text-soft); font-size: .65rem; }
.mock-draft-complete-panel { margin-top: 14px; padding: 24px; display: grid; grid-template-columns: minmax(250px, .72fr) minmax(240px, .48fr); gap: 24px; border: 2px solid var(--teal); background: linear-gradient(120deg, color-mix(in srgb, var(--teal-soft) 66%, var(--bg-elevated)), var(--bg-elevated)); }
.mock-draft-results .mock-draft-complete-panel { margin-top: 0; }
.mock-draft-complete-panel h2 { margin-bottom: 6px; font-size: 1.55rem; }
.mock-draft-complete-panel p { margin: 0; color: var(--text-soft); }
.mock-complete-actions { display: grid; grid-template-columns: 1fr 1fr; align-content: start; gap: 8px; }
.mock-complete-actions small { grid-column: 1 / -1; color: var(--text-soft); font-size: .72rem; }
.mock-complete-actions small[data-state="saved"] { color: var(--teal-ink); }
.mock-complete-actions small[data-state="error"] { color: var(--coral); }
.mock-draft-complete-panel > ol { grid-column: 1 / -1; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; list-style: none; }
.mock-draft-complete-panel > ol li { min-width: 0; padding: 9px; display: grid; grid-template-columns: 26px 36px minmax(0, 1fr); align-items: center; gap: 7px; border: 1px solid var(--line); border-left: 3px solid var(--position-color, var(--line)); background: var(--bg-elevated); }
.mock-draft-complete-panel .mock-player-photo { width: 36px; height: 36px; }
.mock-draft-complete-panel li small, .mock-draft-complete-panel li strong { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.mock-draft-complete-panel li small { color: var(--text-soft); font-size: .6rem; }
.mock-draft-complete-panel li strong { font-size: .75rem; }
.mock-room-grid { margin-top: 14px; display: grid; grid-template-columns: minmax(0, 1fr) 350px; align-items: start; gap: 14px; }
.mock-player-panel, .mock-roster-panel, .mock-queue-panel, .mock-intel-panel, .mock-pick-train { border: 1px solid var(--line); background: var(--bg-elevated); }
.mock-player-panel > header { padding: 18px 20px 14px; border-bottom: 1px solid var(--line); }
.mock-player-panel > header > div:first-child, .mock-roster-panel > header, .mock-queue-panel > header, .mock-intel-panel > header, .mock-pick-train > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.mock-player-panel h2, .mock-roster-panel h2, .mock-queue-panel h2, .mock-intel-panel h2, .mock-pick-train h2 { margin: 0; font-size: 1.25rem; }
.mock-player-panel > header > div:first-child > span, .mock-roster-panel > header > span, .mock-queue-panel > header > span, .mock-intel-panel > header > span, .mock-pick-train > header > span { color: var(--teal-ink); font-size: .75rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.mock-board-tools { margin-top: 14px; display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 8px; }
.mock-mobile-sort { display: block; }
.mock-player-panel input[type="search"], .mock-player-panel select { width: 100%; min-height: 46px; padding: 10px 13px; border: 1px solid var(--line-strong); border-radius: 0; background: var(--bg-soft); color: var(--text); }
.mock-data-note { margin: 10px 0 0; color: var(--text-soft); font-size: .68rem; }
.mock-position-tabs { margin-top: 9px; display: flex; overflow-x: auto; gap: 5px; }
.mock-position-tabs button { min-width: 48px; min-height: 36px; padding: 7px 11px; border: 1px solid var(--line); background: var(--bg-soft); color: var(--text-soft); cursor: pointer; font-size: .75rem; font-weight: 850; }
.mock-position-tabs button.is-active { border-color: var(--violet); background: var(--violet-soft); color: var(--violet); }
.mock-player-list, .mock-roster-panel ol, .mock-queue-panel ol, .mock-pick-train ol { margin: 0; padding: 0; list-style: none; }
.mock-player-list { max-height: 680px; overflow-y: auto; }
.mock-player-columns { min-height: 38px; padding: 5px 15px; display: grid; align-items: center; gap: 8px; border-bottom: 1px solid var(--line); background: var(--bg-soft); color: var(--text-soft); font-size: .62rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.mock-player-columns.is-fantasy-view, .mock-player-list li.is-fantasy-view { grid-template-columns: 42px minmax(180px, 1fr) 52px 52px 54px 58px 52px 58px 38px 162px; }
.mock-player-columns.is-production-view.stats-qb, .mock-player-list li.is-production-view.stats-qb { grid-template-columns: 42px minmax(190px, 1fr) repeat(5, 62px) 162px; }
.mock-player-columns.is-production-view.stats-rb, .mock-player-list li.is-production-view.stats-rb,
.mock-player-columns.is-production-view.stats-wr, .mock-player-list li.is-production-view.stats-wr,
.mock-player-columns.is-production-view.stats-te, .mock-player-list li.is-production-view.stats-te { grid-template-columns: 42px minmax(180px, 1fr) repeat(6, 58px) 162px; }
.mock-player-columns.is-production-view.stats-all, .mock-player-list li.is-production-view.stats-all,
.mock-player-columns.is-production-view.stats-k, .mock-player-list li.is-production-view.stats-k,
.mock-player-columns.is-production-view.stats-def, .mock-player-list li.is-production-view.stats-def { grid-template-columns: 42px minmax(220px, 1fr) repeat(3, 70px) 162px; }
.mock-sort-column { min-width: 0; padding: 7px 0; display: flex; align-items: center; gap: 4px; border: 0; background: transparent; color: inherit; cursor: pointer; font: inherit; letter-spacing: inherit; text-align: left; text-transform: inherit; }
.mock-sort-column:hover, .mock-sort-column.is-sorted { color: var(--violet); }
.mock-sort-column.is-sorted::after { color: var(--teal-ink); font-size: .72rem; }
.mock-sort-column.is-sorted.is-asc::after { content: "↑"; }
.mock-sort-column.is-sorted.is-desc::after { content: "↓"; }
.mock-player-profile { min-height: 190px; padding: 20px; display: grid; grid-template-columns: 128px minmax(220px, 1fr) minmax(210px, .8fr); gap: 20px; align-items: center; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--violet-soft) 36%, var(--bg-elevated)); }
.mock-player-photo { width: 46px; height: 46px; display: grid; place-items: center; overflow: hidden; border: 1px solid color-mix(in srgb, var(--position-color, var(--teal)) 45%, var(--line)); border-radius: 50%; background: var(--bg-strong); color: #fff; font-size: .72rem; font-weight: 900; }
.mock-player-photo b, .mock-player-photo img { grid-area: 1 / 1; }
.mock-player-photo.has-photo b { visibility: hidden; }
.mock-player-photo.is-fallback b { visibility: visible; }
.mock-player-photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.mock-player-photo-large { width: 128px; height: 128px; border-radius: 8px; font-size: 1.25rem; }
.mock-player-profile-copy { min-width: 0; }
.mock-player-profile-copy > small { color: var(--teal-ink); font-size: .7rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.mock-player-profile-copy h3 { margin: 4px 0 8px; font-size: 1.55rem; }
.mock-player-profile-copy p, .mock-player-news p { margin: 0; color: var(--text-soft); font-size: .78rem; line-height: 1.5; }
.mock-player-profile-copy dl { margin: 12px 0 0; display: flex; flex-wrap: wrap; gap: 6px; }
.mock-player-profile-copy dl > div { padding: 6px 8px; border: 1px solid var(--line); background: var(--bg-soft); }
.mock-player-profile-copy dt { color: var(--text-soft); font-size: .6rem; text-transform: uppercase; }
.mock-player-profile-copy dd { margin: 2px 0 0; font-size: .76rem; font-weight: 850; }
.mock-player-news { align-self: stretch; padding-left: 18px; display: grid; align-content: center; border-left: 1px solid var(--line); }
.mock-player-news > strong { font-size: .75rem; text-transform: uppercase; }
.mock-player-news ul { margin: 8px 0 0; padding: 0; list-style: none; }
.mock-player-news li + li { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); }
.mock-player-news a { color: var(--text); font-size: .76rem; font-weight: 800; line-height: 1.35; }
.mock-player-news a:hover { color: var(--violet); }
.mock-player-news li small { margin-top: 3px; display: block; color: var(--text-soft); font-size: .64rem; }
.mock-player-list li { min-height: 70px; padding: 10px 15px; display: grid; align-items: center; gap: 8px; border-bottom: 1px solid var(--line); border-left: 4px solid var(--position-color, var(--line)); }
.mock-player-list li:last-child { border-bottom: 0; }
.mock-player-list li.is-recommended { border-block: 1px solid color-mix(in srgb, var(--recommendation-metal, #d7a429) 72%, var(--line)); border-right: 2px solid var(--recommendation-metal, #d7a429); border-left-width: 5px; background: linear-gradient(90deg, color-mix(in srgb, var(--recommendation-metal, #d7a429) 12%, var(--bg-elevated)), var(--bg-elevated) 60%); }
.mock-player-list li.is-silver { --recommendation-metal:#aab4c0; }
.mock-player-list li.is-bronze { --recommendation-metal:#bd7445; }
.mock-player-list li > b { color: var(--text-soft); font-size: .72rem; }
.mock-player-list li > span, .mock-roster-panel li > span, .mock-queue-panel li > span, .mock-pick-train li > span { min-width: 0; color: var(--text-soft); font-size: .72rem; }
.mock-player-list li > span { font-variant-numeric: tabular-nums; }
.mock-player-list [data-column="value"] { width: fit-content; min-width: 38px; padding: 4px 6px; font-weight: 900; text-align: center; }
.mock-player-list [data-value-signal="value"] { background: var(--teal-soft); color: var(--teal-ink); }
.mock-player-list [data-value-signal="reach"] { background: color-mix(in srgb, var(--coral) 14%, transparent); color: var(--coral); }
.mock-player-list [data-value-signal="fair"] { background: var(--bg-soft); color: var(--text-soft); }
.mock-player-identity { min-width: 0; display: grid; grid-template-columns: 46px minmax(0, 1fr); align-items: center; gap: 10px; }
.mock-player-list small, .mock-player-list strong, .mock-roster-panel small, .mock-roster-panel strong, .mock-pick-train small, .mock-pick-train strong, .mock-pick-train em { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.mock-player-list small, .mock-roster-panel small, .mock-pick-train small, .mock-pick-train em { color: var(--text-soft); font-size: .72rem; }
.mock-mobile-metric { display: none; color: var(--violet); font-style: normal; font-weight: 900; }
.mock-recommendation-inline { margin-left: 7px; padding: 3px 6px; display: inline-block; border: 1px solid color-mix(in srgb, var(--recommendation-metal, #d7a429) 72%, #000); background: linear-gradient(180deg, color-mix(in srgb, var(--recommendation-metal, #d7a429) 72%, #fff), var(--recommendation-metal, #d7a429)); color: #111; font-size: .57rem; font-style: normal; font-weight: 950; letter-spacing: .04em; line-height: 1; text-transform: uppercase; vertical-align: 2px; }
.mock-recommendation-inline.is-silver { --recommendation-metal:#aab4c0; }
.mock-recommendation-inline.is-bronze { --recommendation-metal:#bd7445; }
.mock-player-list strong, .mock-roster-panel strong, .mock-pick-train strong { font-size: .9rem; }
.mock-player-list button { min-width: 74px; min-height: 38px; border: 1px solid var(--violet); background: var(--violet); color: var(--on-accent); cursor: pointer; font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.mock-player-list .mock-player-name { min-width: 0; padding: 0; display: block; border: 0; background: transparent; color: var(--text); text-align: left; text-transform: none; }
.mock-player-list .mock-player-name:hover strong { color: var(--violet); }
.mock-player-list button:disabled { border-color: var(--line); background: var(--bg-soft); color: var(--text-soft); cursor: not-allowed; }
.mock-player-actions { display: grid; grid-template-columns: 78px 78px; gap: 6px; }
.mock-player-actions .mock-queue-button { min-width: 0; border-color: var(--line-strong); background: var(--bg-soft); color: var(--text); }
.mock-player-actions .mock-queue-button.is-queued { border-color: var(--teal); background: var(--teal-soft); color: var(--teal-ink); }
.mock-player-list .mock-player-empty { grid-template-columns: 1fr; border-left: 0; }
.mock-side-stack { position: sticky; top: 86px; display: grid; gap: 14px; }
.mock-roster-panel > header, .mock-queue-panel > header, .mock-intel-panel > header, .mock-pick-train > header { min-height: 64px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.mock-queue-panel li { min-height: 52px; padding: 8px 12px; display: grid; grid-template-columns: 24px minmax(0, 1fr) 34px; align-items: center; gap: 8px; border-bottom: 1px solid var(--line); border-left: 3px solid var(--position-color, transparent); }
.mock-queue-panel li > b { color: var(--teal-ink); font-family: var(--font-display); font-weight: 400; }
.mock-queue-panel li small, .mock-queue-panel li strong { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.mock-queue-panel li small { color: var(--text-soft); font-size: .66rem; }
.mock-queue-panel li strong { font-size: .82rem; }
.mock-queue-panel li button { width: 30px; height: 30px; border: 1px solid var(--line); background: var(--bg-soft); color: var(--text); cursor: pointer; }
.mock-queue-panel > p, .mock-roster-panel > p { margin: 0; padding: 12px 16px; color: var(--text-soft); font-size: .75rem; }
.mock-intel-panel dl { margin: 0; }
.mock-intel-panel dl > div { min-height: 48px; padding: 9px 14px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--line); }
.mock-intel-panel dl > div:last-child { border-bottom: 0; }
.mock-intel-panel dt { color: var(--text-soft); font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.mock-intel-panel dd { margin: 0; font-size: .78rem; font-weight: 850; text-align: right; }
.mock-roster-panel li { min-height: 54px; padding: 8px 14px; display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 10px; border-bottom: 1px solid var(--line); border-left: 3px solid var(--position-color, transparent); }
.mock-roster-panel li > b { color: var(--text-soft); font-size: .68rem; }
.mock-pick-train { margin-top: 14px; }
.mock-pick-train ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.mock-pick-train li { min-width: 0; min-height: 88px; padding: 13px; display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 9px; border-right: 1px solid var(--line); border-bottom: 3px solid var(--position-color, var(--line)); }
.mock-pick-train li:last-child { border-right: 0; }
.mock-pick-train li > b { color: var(--text-soft); font-size: .7rem; }
.mock-pick-train li em { font-style: normal; }
.mock-pick-train li.is-user { background: color-mix(in srgb, var(--teal-soft) 68%, var(--bg-elevated)); }

.combine-page { padding-bottom: 16px; }

.combine-hero {
  min-height: 230px;
  padding: 36px 40px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.36fr);
  align-items: center;
  gap: 42px;
  overflow: hidden;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--teal-soft) 42%, transparent), transparent 52%),
    var(--bg-elevated);
}

.combine-hero h1 { margin-bottom: 9px; font-size: clamp(2.3rem, 5vw, 4.8rem); line-height: 1; letter-spacing: -0.045em; }
.combine-hero > div:first-child > p:last-child { max-width: 700px; margin-bottom: 0; color: var(--text-soft); font-size: 1rem; }
.combine-state-blocked { border-color: color-mix(in srgb, var(--violet) 45%, var(--line)); }
.combine-state-unavailable { background: var(--bg-elevated); }

.combine-status { min-width: 260px; padding: 20px 0 20px 30px; border-left: 1px solid var(--line); }
.combine-status > span { display: block; margin-bottom: 14px; color: var(--violet); font-size: 0.76rem; font-weight: 850; letter-spacing: 0.09em; text-transform: uppercase; }
.combine-status > strong { display: block; color: var(--teal); font-family: Impact, "Arial Narrow", sans-serif; font-size: 3.4rem; font-weight: 800; line-height: 1; letter-spacing: 0.02em; }
.combine-status > strong small { color: var(--text); font-family: var(--font); font-size: 0.88rem; font-weight: 800; letter-spacing: 0; }
.combine-status > p { margin: 9px 0 0; color: var(--text-soft); font-size: 0.82rem; }

.combine-mechanic {
  min-height: 82px;
  margin-top: 14px;
  padding: 18px 28px;
  display: grid;
  grid-template-columns: minmax(230px, 0.35fr) 1fr;
  align-items: center;
  gap: 28px;
  border-radius: var(--radius-small);
  background: var(--bg-strong);
  color: var(--text-on-strong);
}

.combine-mechanic strong { color: var(--teal-bright); font-size: 1.18rem; }
.combine-mechanic p { margin: 0; color: #b6c0ca; font-size: 0.9rem; }

.combine-buzzer { margin-top: 16px; overflow: hidden; border-color: color-mix(in srgb, var(--teal) 48%, var(--line)); }
.buzzer-intro { padding: 24px 26px; display: grid; grid-template-columns: minmax(260px, 0.6fr) 1fr; align-items: center; gap: 32px; background: linear-gradient(120deg, color-mix(in srgb, var(--teal-soft) 55%, transparent), transparent); }
.buzzer-intro h2 { margin: 0; font-size: clamp(1.6rem, 3vw, 2.35rem); }
.buzzer-intro > p { margin: 0; color: var(--text-soft); }
.buzzer-results { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; border-top: 1px solid var(--line); }
.buzzer-results > li { min-width: 0; padding: 18px 14px; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px; border-right: 1px solid var(--line); }
.buzzer-results > li:last-child { border-right: 0; }
.buzzer-results .combine-team-cell { grid-column: 1 / -1; }
.buzzer-results > li > strong { grid-column: 1 / -1; }
.buzzer-results > li > strong b, .buzzer-results > li > strong small, .buzzer-rank small { display: block; }
.buzzer-results > li > strong b { color: var(--violet); font-size: 1.02rem; }
.buzzer-results > li > strong small, .buzzer-rank small { color: var(--text-soft); font-size: 0.7rem; text-transform: uppercase; }
.buzzer-rank { color: var(--teal); font-family: Impact, "Arial Narrow", sans-serif; font-size: 1.6rem; line-height: 1; }
.buzzer-audit { padding: 15px 24px 20px; border-top: 1px solid var(--line); }
.buzzer-audit summary { color: var(--violet); cursor: pointer; font-weight: 850; }
.buzzer-audit pre { max-height: 420px; margin: 14px 0 0; padding: 16px; overflow: auto; border-radius: 8px; background: var(--bg-strong); color: var(--text-on-strong); font-size: 0.75rem; white-space: pre-wrap; }

.combine-waiting { margin-top: 16px; overflow: hidden; }
.combine-waiting .empty-state { min-height: 230px; }
.combine-waiting-blocked { border-color: color-mix(in srgb, var(--violet) 44%, var(--line)); }
.combine-guardrails {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  list-style: none;
}

.combine-guardrails li { min-height: 96px; padding: 20px 24px; }
.combine-guardrails li + li { border-left: 1px solid var(--line); }
.combine-guardrails strong, .combine-guardrails span { display: block; }
.combine-guardrails strong { margin-bottom: 4px; color: var(--violet); font-size: 0.86rem; }
.combine-guardrails span { color: var(--text-soft); font-size: 0.8rem; }

.combine-events { padding-block: 34px 26px; }
.combine-event-grid {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  list-style: none;
}

.combine-event-card { min-width: 0; min-height: 260px; padding: 20px; display: flex; flex-direction: column; }
.combine-event-heading { display: flex; align-items: flex-start; gap: 11px; }
.combine-event-heading > span { width: 32px; height: 32px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid var(--teal); border-radius: 50%; background: var(--teal-soft); color: var(--teal); font-size: 0.75rem; font-weight: 850; }
.combine-event-heading h3 { margin: 2px 0 0; font-size: 1rem; line-height: 1.25; }
.combine-event-card > p { margin: 15px 0 17px; color: var(--text-soft); font-size: 0.84rem; }
.combine-event-rule { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); }
.combine-event-rule small { color: var(--violet); font-size: 0.74rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.combine-event-rule p { margin: 5px 0 0; color: var(--text-soft); font-size: 0.78rem; }
.tiebreaker-tag { width: max-content; margin-top: 12px; padding: 4px 7px; border-radius: 999px; background: var(--violet-soft); color: var(--violet); font-size: 0.7rem; letter-spacing: 0.04em; text-transform: uppercase; }

.combine-results { margin-top: 16px; }
.combine-sudden-death { margin-bottom: 16px; overflow: hidden; border-color: color-mix(in srgb, var(--violet) 30%, var(--line)); background: linear-gradient(135deg, color-mix(in srgb, var(--teal-soft) 35%, var(--bg-elevated)) 0%, var(--bg-elevated) 48%, color-mix(in srgb, var(--violet-soft) 40%, var(--bg-elevated)) 100%); }
.sudden-death-intro { padding: 24px 26px 20px; display: grid; grid-template-columns: minmax(310px, 0.8fr) minmax(0, 1.2fr); align-items: end; gap: 36px; border-bottom: 1px solid var(--line); }
.sudden-death-intro .eyebrow { margin-bottom: 6px; color: var(--teal-ink); }
.sudden-death-intro h2 { margin: 0; font-size: clamp(1.55rem, 3vw, 2.4rem); line-height: 1.08; letter-spacing: -0.03em; }
.sudden-death-copy { max-width: 710px; }
.sudden-death-copy p { margin: 0; color: var(--text-soft); font-size: 0.86rem; }
.sudden-death-copy p + p { margin-top: 7px; }
.sudden-death-finalists { margin: 0; padding: 18px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; list-style: none; }
.sudden-death-finalists > li { min-width: 0; padding: 13px; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 9px 10px; align-items: center; border: 1px solid var(--line); border-radius: 10px; background: color-mix(in srgb, var(--bg-elevated) 88%, transparent); box-shadow: var(--shadow-small); }
.sudden-death-finalists > li:first-child { border-color: color-mix(in srgb, var(--teal) 48%, var(--line)); }
.sudden-death-finalists .combine-team-cell { min-width: 0; }
.sudden-death-finalists .team-badge { display: none; }
.sudden-death-rank { width: 48px; height: 48px; grid-row: 1 / span 2; display: grid; place-items: center; align-content: center; border-radius: 8px; background: var(--bg-strong); color: white; font-size: 1.02rem; font-weight: 900; line-height: 1.1; }
.sudden-death-rank small { color: #b6c0ca; font-size: 0.5rem; font-weight: 750; letter-spacing: 0.05em; text-transform: uppercase; }
.sudden-death-result { grid-column: 2; color: var(--violet); line-height: 1; }
.sudden-death-result b { font-size: 1.22rem; }
.sudden-death-result small { margin-left: 3px; color: var(--text-soft); font-size: 0.64rem; font-weight: 650; }
.sudden-death-audit { border-top: 1px solid var(--line); }
.sudden-death-audit > summary { padding: 18px 26px; display: flex; align-items: center; gap: 18px; cursor: pointer; list-style: none; font-weight: 850; }
.sudden-death-audit > summary::-webkit-details-marker { display: none; }
.sudden-death-audit > summary::after { content: "+"; color: var(--violet); font-size: 1.4rem; }
.sudden-death-audit[open] > summary::after { content: "−"; }
.sudden-death-audit > summary small { margin-left: auto; color: var(--text-soft); font-size: 0.72rem; font-weight: 600; text-align: right; }
.sudden-death-policy { padding: 0 26px 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.sudden-death-policy p { margin: 0; color: var(--text-soft); font-size: 0.8rem; }
.sudden-death-questions { padding: 0 18px 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.sudden-death-questions > article { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg-elevated); }
.sudden-death-questions header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: start; }
.sudden-death-questions header > span { padding: 3px 6px; border-radius: 5px; background: var(--teal-soft); color: var(--teal-ink); font-size: 0.7rem; font-weight: 900; }
.sudden-death-questions h3, .sudden-death-questions header p { margin: 0; }
.sudden-death-questions h3 { font-size: 0.92rem; }
.sudden-death-questions header p { margin-top: 3px; color: var(--text-soft); font-size: 0.72rem; }
.sudden-death-questions header > strong { color: var(--violet); font-size: 0.75rem; white-space: nowrap; }
.sudden-death-questions .combine-test-data { margin-left: 0; }
.sudden-death-key { margin: 12px 0 0; padding: 9px 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-radius: 7px; background: var(--violet-soft); }
.sudden-death-key small { color: var(--text-soft); font-size: 0.66rem; font-weight: 750; text-transform: uppercase; }
.sudden-death-key strong { color: var(--violet); font-size: 0.8rem; overflow-wrap: anywhere; text-align: right; }
.sudden-death-questions ul { margin: 10px 0 0; padding: 0; list-style: none; }
.sudden-death-questions li { min-width: 0; padding: 8px 0; display: grid; grid-template-columns: minmax(130px, 1fr) minmax(70px, 0.7fr) auto; gap: 8px; align-items: center; border-top: 1px solid var(--line); font-size: 0.68rem; }
.sudden-death-questions li .combine-team-cell { min-width: 0; }
.sudden-death-questions li .team-badge { width: 25px; height: 25px; font-size: 0.56rem; }
.sudden-death-submitted { color: var(--text-soft); overflow-wrap: anywhere; }
.sudden-death-questions li > b { text-align: right; white-space: nowrap; }
.sudden-death-questions .answer-correct b { color: var(--teal-ink); }
.combine-dq-explainer { margin-bottom: 16px; padding: 18px 22px; display: grid; grid-template-columns: minmax(150px, 0.25fr) minmax(0, 1fr); align-items: center; gap: 18px; border: 1px solid color-mix(in srgb, #a91c3b 28%, var(--line)); border-radius: var(--radius); background: color-mix(in srgb, #ffe8ed 45%, var(--bg-elevated)); }
.combine-dq-explainer strong { color: #a91c3b; font-size: 0.92rem; text-transform: uppercase; letter-spacing: 0.04em; }
.combine-dq-explainer p { margin: 0; color: var(--text-soft); font-size: 0.82rem; line-height: 1.55; }
[data-theme="dark"] .combine-dq-explainer { border-color: color-mix(in srgb, #ff9bb0 28%, var(--line)); background: color-mix(in srgb, #4d1725 35%, var(--bg-elevated)); }
[data-theme="dark"] .combine-dq-explainer strong { color: #ff9bb0; }
.combine-leaderboard { overflow: hidden; }
.combine-leaderboard table { min-width: 1300px; }
.combine-leaderboard th, .combine-leaderboard td { padding-inline: 14px; }
.combine-leaderboard tbody tr.combine-row-valid:nth-child(-n+3) { background: color-mix(in srgb, var(--teal-soft) 36%, transparent); }
.combine-leaderboard tbody tr:hover, .combine-slot-selections tbody tr:hover { background: color-mix(in srgb, var(--violet-soft) 42%, transparent); }
.combine-row-invalid { background: color-mix(in srgb, #ffe8ed 55%, transparent); }
[data-theme="dark"] .combine-row-invalid { background: color-mix(in srgb, #4d1725 48%, transparent); }
.event-score-heading { width: 130px; min-width: 110px; white-space: normal; }
.event-score-heading span { display: block; line-height: 1.25; }
.event-score { color: var(--text); font-weight: 750; text-align: center; }
.combine-rank, .combine-total { color: var(--teal); font-weight: 900; }
.draft-slot { color: var(--violet); font-weight: 900; }
.submission-status { display: inline-flex; min-width: 48px; justify-content: center; padding: 5px 8px; border-radius: 999px; font-size: 0.68rem; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; }
.submission-status-valid { background: var(--teal-soft); color: var(--teal); }
.submission-status-invalid { background: #ffe8ed; color: #a91c3b; }
[data-theme="dark"] .submission-status-invalid { background: #4d1725; color: #ff9bb0; }

.combine-team-cell { min-width: 160px; display: inline-flex; align-items: center; gap: 10px; }
.combine-team-cell > a, .combine-team-cell > span { min-width: 0; }
.combine-team-cell strong, .combine-team-cell small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.combine-team-cell strong { font-size: 0.84rem; }
.combine-team-cell small { color: var(--text-soft); font-size: 0.72rem; font-weight: 500; }
.combine-team-cell a:hover strong { color: var(--violet); }

.combine-order-grid { margin-top: 16px; display: grid; grid-template-columns: minmax(620px, 0.9fr) minmax(0, 1.1fr); gap: 18px; align-items: start; }
.combine-slot-selections { min-width: 0; overflow: hidden; }
.combine-slot-selections .table-wrap { overflow-x: visible; }
.combine-slot-selections table { min-width: 0; table-layout: fixed; }
.combine-slot-selections th, .combine-slot-selections td { padding-inline: 12px; }
.combine-slot-selections th:nth-child(1) { width: 24%; }
.combine-slot-selections th:nth-child(2) { width: 34%; }
.combine-slot-selections th:nth-child(3) { width: 18%; }
.combine-slot-selections th:nth-child(4) { width: 24%; }
.combine-slot-selections .combine-team-cell { min-width: 0; max-width: 100%; }
.combine-slot-selections .draft-slot { white-space: nowrap; }
.combine-draft-order .section-heading { min-height: 54px; margin-bottom: 10px; padding: 0 4px; align-items: center; }
.combine-draft-order .section-heading h2 { font-size: 1.35rem; }
.combine-draft-order .section-heading p:last-child { max-width: 330px; font-size: 0.78rem; }
.combine-draft-grid { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; list-style: none; }
.combine-draft-grid > li { min-width: 0; min-height: 90px; padding: 13px; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 4px 10px; }
.combine-draft-grid > li > .combine-team-cell { min-width: 0; }
.combine-draft-grid > li > small { grid-column: 2; color: var(--text-soft); font-size: 0.7rem; }
.draft-order-slot { width: 40px; height: 55px; grid-row: 1 / span 2; display: grid; place-items: center; align-content: center; border-radius: 8px; background: var(--bg-strong); color: white; font-family: Impact, "Arial Narrow", sans-serif; font-size: 1.55rem; line-height: 1; }
.draft-order-slot small { color: #b6c0ca; font-family: var(--font); font-size: 0.6rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.combine-draft-grid .team-badge { display: none; }

.combine-data-gap { min-height: 180px; padding: 35px; display: grid; place-items: center; align-content: center; text-align: center; }
.combine-data-gap p { margin: 6px 0 0; color: var(--text-soft); }
.combine-transparency { padding-block: 34px 8px; }
.combine-audit-intro { margin-bottom: 12px; padding: 18px 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.combine-audit-intro p, .combine-transparency-pending p { margin: 0; color: var(--text-soft); font-size: 0.84rem; }
.combine-audit-section { margin-top: 12px; overflow: hidden; }
.combine-audit-section > summary { padding: 20px 22px; display: flex; justify-content: space-between; align-items: center; gap: 18px; cursor: pointer; font-weight: 850; list-style: none; }
.combine-audit-section > summary::-webkit-details-marker, .combine-gm-report > summary::-webkit-details-marker { display: none; }
.combine-audit-section > summary::after { content: "+"; color: var(--violet); font-size: 1.4rem; }
.combine-audit-section[open] > summary::after { content: "−"; }
.combine-audit-section > summary small { margin-left: auto; color: var(--text-soft); font-weight: 650; }
.combine-question-events, .combine-gm-reports { padding: 0 22px 22px; display: grid; gap: 12px; }
.combine-question-events > article { padding: 18px; border: 1px solid var(--line); border-radius: 12px; }
.combine-question-events header { display: flex; gap: 12px; }
.combine-question-events header > span { color: var(--teal); font-weight: 900; }
.combine-question-events h3, .combine-question-events p { margin: 0; }
.combine-question-events header p { margin-top: 4px; color: var(--text-soft); font-size: 0.8rem; }
.combine-question-events ol { margin: 15px 0 0; padding: 0; list-style: none; }
.combine-question-events li { padding: 10px 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; border-top: 1px solid var(--line); align-items: center; }
.combine-question-events li div { min-width: 0; }
.combine-question-events code { margin-top: 4px; display: block; color: var(--text-soft); font-size: 0.72rem; white-space: normal; overflow-wrap: anywhere; }
.combine-question-events li > span { color: var(--violet); font-size: 0.78rem; white-space: nowrap; }
.combine-test-data { margin: 12px 0 0 30px; }
.combine-test-data summary { color: var(--violet); cursor: pointer; font-size: 0.76rem; font-weight: 800; }
.combine-test-data pre { max-height: 300px; padding: 12px; overflow: auto; border-radius: 8px; background: var(--bg-strong); color: #e8edf4; font-size: 0.7rem; white-space: pre-wrap; }
.combine-gm-report { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.combine-gm-report > summary { padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 14px; cursor: pointer; list-style: none; }
.combine-gm-report > summary > span:last-child { color: var(--violet); font-size: 0.78rem; font-weight: 850; }
.combine-gm-report > p { margin: 0; padding: 0 16px 12px; color: var(--text-soft); font-size: 0.8rem; }
.combine-gm-dq { border-color: color-mix(in srgb, #a91c3b 30%, var(--line)); }
.combine-answer-events { padding: 0 16px 16px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.combine-answer-events section { padding: 12px; border: 1px solid var(--line); border-radius: 9px; }
.combine-answer-events h4 { margin: 0 0 8px; display: flex; justify-content: space-between; gap: 8px; font-size: 0.8rem; }
.combine-answer-events h4 span { color: var(--teal); }
.combine-answer-events ul { margin: 0; padding: 0; list-style: none; }
.combine-answer-events li { padding: 6px 0; display: grid; grid-template-columns: 64px 1fr 1fr auto; gap: 7px; border-top: 1px solid var(--line); font-size: 0.68rem; }
.combine-answer-events li span { color: var(--text-soft); overflow-wrap: anywhere; }
.answer-correct b { color: var(--teal); }
.answer-wrong b { color: #a91c3b; }
.combine-transparency-pending { margin-top: 24px; padding: 20px 22px; }

.loading-state { min-height: calc(100vh - 160px); display: grid; place-items: center; align-content: center; gap: 12px; color: var(--text-soft); }
.loading-state span { width: 32px; height: 32px; border: 3px solid var(--line); border-top-color: var(--teal); border-radius: 50%; animation: loading-spin 800ms linear infinite; }
.loading-state p { margin: 0; }
@keyframes loading-spin { to { transform: rotate(360deg); } }

.scoreboard { padding: 24px clamp(24px, 5vw, 72px); }
.scoreboard > .eyebrow { margin-bottom: 12px; }
.scoreboard-grid { display: grid; grid-template-columns: 1fr 190px 1fr; align-items: center; gap: 30px; }
.score-team { display: flex; align-items: center; gap: 22px; }
.score-team.away { justify-content: flex-end; text-align: right; }
.score-team > div > span { display: block; font-size: 1rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.score-team > div > small { color: var(--text-soft); }
.score-team > div > strong { font-size: clamp(3.4rem, 5vw, 5.4rem); }
.winner { display: grid; place-items: center; gap: 8px; color: var(--text-soft); font-size: 0.78rem; text-align: center; text-transform: uppercase; }
.winner strong { color: var(--teal); }

.matchup-detail-grid { margin-top: 16px; display: grid; grid-template-columns: minmax(0, 1.85fr) minmax(330px, 0.95fr); gap: 16px; }
.box-score th, .box-score td { padding: 9px 16px; }
.box-score th:nth-child(4), .box-score td:nth-child(4) { border-left: 1px solid var(--line); }
.total-row { border-top: 2px solid var(--line-strong); font-weight: 800; text-transform: uppercase; }
.key-decisions { padding-bottom: 12px; }
.key-decisions .key-row { margin: 0 12px 7px; }
.key-row p a { display: block; margin-top: 4px; color: var(--violet); font-size: 0.72rem; font-weight: 700; }
.key-row > span:last-child { font-size: 0.78rem; font-weight: 800; text-align: right; }
.key-row > span:last-child small { display: block; color: var(--text-soft); font-size: 0.67rem; font-weight: 500; }
.positive { color: var(--teal); }
.negative { color: var(--negative); }

.matchup-insights { margin-top: 16px; display: grid; grid-template-columns: 1.1fr 1fr; gap: 16px; }
.panel-heading .legend-teal, .panel-heading .legend-violet { display: inline-block; width: 18px; height: 3px; margin: 0 5px 3px 12px; background: var(--teal); vertical-align: middle; }
.panel-heading .legend-violet { background: var(--violet); }
.timeline-panel svg { padding: 0 18px 15px; }
.grid-lines { fill: none; stroke: var(--line); stroke-width: 1; }
.timeline-chatgpt, .timeline-claude { fill: none; stroke: var(--teal); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.timeline-claude { stroke: var(--violet); }
.axis-labels { fill: var(--text-soft); font: 12px var(--font); }
.thought-grid { padding: 4px 20px 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.thought-grid article { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 10px; }
.thought-grid article + article { padding-left: 22px; border-left: 1px solid var(--line); }
.thought-grid h3 { margin: 0; font-size: 0.95rem; }
.thought-grid p { grid-column: 1 / -1; margin: 10px 0 0; color: var(--text-soft); font-size: 0.82rem; }

.page-intro { padding-top: 100px; text-align: center; }
.page-intro h1 { margin-bottom: 12px; font-size: clamp(2.4rem, 6vw, 5rem); }
.page-intro > p:last-child { color: var(--text-soft); }
.not-found-action { padding: 20px 0 100px; text-align: center; }

.fan-dialog {
  width: min(980px, calc(100% - 32px));
  max-width: none;
  max-height: 92dvh;
  padding: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--teal) 35%, var(--line));
  border-radius: 14px;
  background: var(--bg-elevated);
  color: var(--text);
  box-shadow: 0 30px 100px rgba(0, 0, 0, 0.56);
}

.fan-dialog::backdrop {
  background: rgba(1, 2, 5, 0.82);
  backdrop-filter: blur(8px);
}

.fan-dialog-card { max-height: 92dvh; overflow-y: auto; }
.fan-dialog-header { padding: 28px 30px 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.fan-dialog-header h2 { margin-bottom: 6px; font-size: clamp(1.7rem, 3vw, 2.55rem); line-height: 1.05; letter-spacing: -0.03em; }
.fan-dialog-header p:last-child { max-width: 650px; margin-bottom: 0; color: var(--text-soft); }
.fan-dialog-close { width: 44px; height: 44px; flex: 0 0 44px; border: 1px solid var(--line); border-radius: 7px; background: var(--bg-soft); font-size: 1.65rem; line-height: 1; }
.fan-dialog-close:hover { border-color: var(--teal); }

.fan-team-grid {
  margin: 0 30px;
  padding: 2px 2px 18px;
  max-height: 330px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: var(--line-strong) transparent;
}

.fan-team-choice {
  min-width: 0;
  min-height: 74px;
  padding: 11px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  align-items: center;
  gap: 5px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg-soft);
  color: var(--text);
  text-align: left;
  cursor: pointer;
  transition: border-color 140ms ease, background-color 140ms ease, transform 140ms ease;
}

.fan-team-choice:hover { transform: translateY(-1px); border-color: var(--choice-secondary); }
.fan-team-choice[aria-pressed="true"] {
  border-color: var(--choice-secondary);
  background: color-mix(in srgb, var(--choice-primary) 22%, var(--bg-soft));
  box-shadow: inset 3px 0 0 var(--choice-secondary);
}
.fan-team-code { grid-row: 1 / span 2; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 6px; background: var(--choice-primary); color: var(--choice-on-primary, #fff); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.04em; }
.fan-team-name { min-width: 0; overflow: hidden; font-size: 0.78rem; font-weight: 800; line-height: 1.18; text-overflow: ellipsis; }
.fan-team-name small { margin-top: 3px; display: block; color: var(--text-soft); font-size: 0.66rem; font-weight: 650; }
.fan-team-swatches { display: flex; gap: 4px; }
.fan-team-swatches i { width: 22px; height: 3px; background: var(--choice-primary); }
.fan-team-swatches i:last-child { background: var(--choice-secondary); }
.fan-team-choice-original { grid-column: 1 / -1; min-height: 64px; grid-template-columns: 52px minmax(0, 1fr) auto; grid-template-rows: 1fr; border-color: color-mix(in srgb, var(--violet) 48%, var(--line)); background: var(--bg-elevated); }
.fan-team-choice-original .fan-team-code { grid-row: auto; width: 52px; background: var(--choice-primary); }
.fan-team-choice-original .fan-team-swatches { align-self: center; }
.fan-team-choice-original .fan-team-swatches i { width: 34px; height: 5px; }

.fan-signup-form { position: relative; padding: 22px 30px 20px; border-top: 1px solid var(--line); background: color-mix(in srgb, var(--bg-soft) 78%, var(--bg-elevated)); }
.fan-profile-connected { display: flex; align-items: center; gap: 10px; min-height: 46px; color: var(--text-soft); font-size: 0.84rem; }
.fan-profile-connected strong { color: var(--teal); }
.fan-profile-connected[hidden], .fan-signup-fields[hidden], .fan-updates-opt-in[hidden], .fan-privacy-note[hidden] { display: none; }
.fan-signup-fields { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px; }
.fan-signup-fields label { display: grid; gap: 7px; color: var(--text); font-size: 0.78rem; font-weight: 800; }
.fan-signup-fields input {
  width: 100%;
  min-height: 46px;
  padding: 10px 13px;
  border: 1px solid var(--line-strong);
  border-radius: 7px;
  background: var(--bg-elevated);
  color: var(--text);
}
.fan-signup-fields input::placeholder { color: var(--text-soft); }
.fan-signup-fields input:focus { border-color: var(--teal); outline: 2px solid color-mix(in srgb, var(--teal) 24%, transparent); outline-offset: 1px; }
.fan-updates-opt-in { margin-top: 14px; display: flex; align-items: flex-start; gap: 9px; color: var(--text-soft); font-size: 0.78rem; cursor: pointer; }
.fan-updates-opt-in input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--violet); }
.fan-bot-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.fan-privacy-note, .fan-trademark-note, .fan-form-status { font-size: 0.72rem; }
.fan-privacy-note { margin: 11px 0 0; color: var(--text-soft); }
.fan-form-status { min-height: 18px; margin: 8px 0 0; color: var(--teal); font-weight: 750; }
.fan-form-status[data-state="error"] { color: #ff9bb0; }
.fan-trademark-note { margin: 0; padding: 0 30px 24px; color: var(--text-soft); background: color-mix(in srgb, var(--bg-soft) 78%, var(--bg-elevated)); }

@media (max-width: 1450px) {
  .combine-order-grid { grid-template-columns: 1fr; }
  .combine-draft-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 1180px) {
  .header-inner { grid-template-columns: 185px 1fr auto; }
  .site-nav { gap: 22px; }
  .hero { grid-template-columns: 0.85fr 1fr; gap: 45px; }
  .team-grid { grid-template-columns: repeat(4, 1fr); }
  .team-identity { align-items: stretch; flex-direction: column; }
  .team-stats { min-width: 100%; }
  .team-stats div:first-child { border-left: 0; }
  .insight-grid { grid-template-columns: 1fr 1fr; }
  .rationale-panel { grid-column: 1 / -1; }
  .draft-team-list { grid-template-columns: repeat(3, 1fr); }
  .draft-livebar { grid-template-columns: 1fr; }
  .draft-order-note { align-items: flex-start; flex-direction: column; gap: 8px; }
  .draft-recent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .combine-event-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .buzzer-results { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .buzzer-results > li:nth-child(3) { border-right: 0; }
  .buzzer-results > li:nth-child(n + 4) { border-top: 1px solid var(--line); }
  .sudden-death-finalists { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .combine-order-grid { grid-template-columns: 1fr; }
  .combine-draft-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .broadcast-hero { grid-template-columns: minmax(0, 1fr) 330px; }
  .broadcast-main h1 { font-size: clamp(4rem, 8.3vw, 6.4rem); }
}

@media (max-width: 1040px) {
  .hero { grid-template-columns: 1fr; }
  .hero-copy { max-width: 720px; }
  .broadcast-hero { grid-template-columns: 1fr; }
  .broadcast-order { border-top: 1px solid var(--line); border-left: 0; }
  .broadcast-order ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .broadcast-order li + li { border-top: 0; border-left: 1px solid var(--line); }
  .broadcast-order li > a { min-height: 124px; padding: 14px; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto 1fr; }
  .broadcast-order li > a > b { grid-column: 1 / -1; }
  .broadcast-order-link { min-height: 48px; }
  .broadcast-order-pending > div { margin: 0; }
  .league-desk { grid-template-columns: 1fr; }
  .teams-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nfl-news-grid { grid-template-columns: 1fr; }
  .nfl-news-lead { min-height: 410px; border-right: 0; border-bottom: 1px solid #29292f; }
  .waiver-hero-shell { grid-template-columns: 1fr; }
  .waiver-hero-copy { min-height: 520px; border-right: 0; border-bottom: 1px solid #29292f; }
  .waiver-hero-schedule { min-height: 410px; }
  .waiver-awaiting { grid-template-columns: 1fr; }
  .mock-setup-shell { grid-template-columns: 1fr; }
  .mock-setup-copy { min-height: 440px; position: static; border-right: 0; border-bottom: 1px solid var(--line); }
  .mock-player-profile { grid-template-columns: 110px minmax(0, 1fr) minmax(200px, .8fr); }
  .mock-player-photo-large { width: 110px; height: 110px; }
  .mock-room-grid { grid-template-columns: 1fr; }
  .mock-side-stack { position: static; }
  .mock-roster-panel ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mock-roster-panel li { border-right: 1px solid var(--line); }
  .mock-personal-preview ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mock-personal-preview li:nth-child(3) { border-right: 0; }
  .mock-personal-preview li:nth-child(n + 4) { border-top: 1px solid var(--line); }
  .mock-draft-complete-panel > ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mock-report-analysis { grid-template-columns: 1fr 1fr; }
  .mock-report-analysis > aside { grid-column: 1 / -1; border-top: 1px solid var(--line); border-left: 0; grid-template-columns: 1fr 1fr; }
  .waiver-awaiting > div { min-height: 300px; border-right: 0; border-bottom: 1px solid var(--line); }
  .waiver-rules { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 900px) {
  .site-header { height: 68px; }
  .header-inner { grid-template-columns: auto 1fr auto; }
  .brand { width: 130px; }
  .menu-toggle { width: 42px; height: 42px; padding: 10px; display: grid; align-content: center; gap: 5px; justify-self: end; order: 2; }
  .menu-toggle span { width: 22px; height: 2px; display: block; background: var(--text); }
  .site-nav { position: absolute; top: 68px; right: 0; left: 0; padding: 14px 24px 22px; display: none; align-items: stretch; flex-direction: column; gap: 0; border-bottom: 1px solid var(--line); background: var(--bg-elevated); box-shadow: var(--shadow); }
  .site-nav.open { display: flex; }
  .site-nav a { padding: 12px; display: block; }
  .site-nav a::after { display: none; }
  .site-nav-menu > summary { padding: 12px 28px 12px 12px; }
  .site-nav-menu > summary::after { top: 15px; right: 12px; }
  .site-nav-menu > div, .site-nav-waiver-menu > div { position: static; width: auto; padding: 0 0 4px 12px; transform: none; border: 0; background: transparent; box-shadow: none; }
  .site-nav-menu > div a { padding: 10px 14px; color: var(--text-soft); }
  .fan-nav-button { padding: 12px; display: block; border: 0; background: none; color: var(--teal); font-size: 0.9rem; font-weight: 750; text-align: left; cursor: pointer; }
  .header-actions { justify-self: end; order: 1; }
  .header-cta { display: none; }
  .hero { padding-top: 42px; grid-template-columns: 1fr; }
  .hero-copy { max-width: 720px; }
  .milestone-grid { grid-template-columns: 1fr 1fr; }
  .official-pick-grid { grid-template-columns: 1fr 1fr; }
  .dashboard-grid, .team-overview, .matchup-detail-grid, .matchup-insights { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: repeat(3, 1fr); }
  .reason-inner { grid-template-columns: auto 1fr auto; }
  .reason-inner > .signal { display: none; }
  .footer-inner { padding-block: 18px; grid-template-columns: auto 1fr auto; }
  .footer-inner nav { display: none; }
  .team-stats dd { font-size: 1.65rem; }
  .scoreboard-grid { grid-template-columns: 1fr 120px 1fr; }
  .draft-hero { align-items: stretch; flex-direction: column; }
  .draft-stage-main { grid-template-columns: 150px minmax(0, 1fr); }
  .draft-stage-time { grid-column: 1 / -1; min-height: 170px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: center; align-items: center; gap: 4px 28px; border-top: 1px solid #29292f; border-left: 0; }
  .draft-stage-time > strong { margin-bottom: 0; }
  .draft-stage-time > div { grid-column: 2; grid-row: 1 / span 2; }
  .draft-progress { min-width: 0; padding: 20px 0 0; border-top: 1px solid var(--line); border-left: 0; text-align: left; }
  .draft-team-list { grid-template-columns: repeat(2, 1fr); }
  .draft-matrix { min-width: 1540px; }
  .draft-queue-card ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .draft-queue-card li:nth-child(n + 4) { grid-column: span 1; }
  .combine-hero { grid-template-columns: 1fr; gap: 24px; }
  .combine-status { min-width: 0; padding: 20px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .combine-guardrails { grid-template-columns: 1fr; }
  .combine-guardrails li { min-height: 0; }
  .combine-guardrails li + li { border-top: 1px solid var(--line); border-left: 0; }
  .combine-event-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sudden-death-intro { grid-template-columns: 1fr; align-items: start; gap: 12px; }
  .sudden-death-questions { grid-template-columns: 1fr; }
  .combine-draft-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fan-team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .mock-board-tools { grid-template-columns: 1fr; }
  .mock-mobile-sort { display: block; }
  .mock-player-columns { display: none; }
  .mock-player-list li.is-fantasy-view, .mock-player-list li.is-production-view { padding-inline: 10px; grid-template-columns: 34px minmax(0, 1fr) 130px; gap: 8px; }
  .mock-player-list li > span { display: none; }
  .mock-player-identity { grid-template-columns: 42px minmax(0, 1fr); gap: 8px; }
  .mock-player-photo { width: 42px; height: 42px; }
  .mock-mobile-metric { display: inline; }
  .mock-player-actions { grid-template-columns: 1fr 1fr; }
  .mock-player-list button { min-width: 0; }
}

@media (max-width: 680px) {
  .draft-stage { width: 100%; border-inline: 0; }
  .draft-lab-promo { margin-inline: -14px; padding: 24px 20px; align-items: stretch; flex-direction: column; }
  .mock-setup-page, .mock-room-page { width: 100%; }
  .mock-setup-shell, .mock-personal-preview, .mock-history-preview, .mock-order-preview, .mock-room-status, .mock-pick-desk, .mock-report-card, .mock-draft-complete-panel, .mock-player-panel, .mock-roster-panel, .mock-queue-panel, .mock-intel-panel, .mock-pick-train { border-inline: 0; }
  .mock-setup-copy { min-height: 430px; padding: 42px 20px 34px; }
  .mock-team-player-stack img { width: 138%; margin-left: -19%; }
  .mock-personal-preview ol { grid-template-columns: 1fr 1fr; }
  .mock-personal-preview li:nth-child(2n) { border-right: 0; }
  .mock-personal-preview li:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .mock-history-preview details > ol { grid-template-columns: 1fr 1fr; }
  .mock-report-card > header { padding: 20px; grid-template-columns: 104px minmax(0, 1fr); gap: 16px; }
  .mock-report-grade { min-height: 108px; }
  .mock-report-grade strong { font-size: 3.35rem; }
  .mock-report-scores { grid-template-columns: 1fr 1fr; }
  .mock-report-analysis { grid-template-columns: 1fr; }
  .mock-report-analysis > * + * { border-top: 1px solid var(--line); border-left: 0; }
  .mock-report-analysis > aside { grid-column: auto; grid-template-columns: 1fr; }
  .mock-draft-complete-panel { grid-template-columns: 1fr; padding: 20px; }
  .mock-draft-complete-panel > ol { grid-column: auto; grid-template-columns: 1fr 1fr; }
  .mock-setup-copy h1 { font-size: clamp(3.5rem, 18vw, 5.4rem); }
  .mock-setup-form { padding: 28px 18px; }
  .mock-format-row { grid-template-columns: 1fr; }
  .mock-lineup-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mock-player-profile { padding: 16px 12px; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; }
  .mock-player-photo-large { width: 72px; height: 72px; }
  .scoring-choices { grid-template-columns: 1fr; }
  .mock-field-choices { grid-template-columns: 1fr; }
  .mock-lineup-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mock-player-news { grid-column: 1 / -1; padding: 14px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .mock-choice-grid label > span { min-height: 68px; }
  .mock-slot-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .mock-setup-submit { align-items: stretch; flex-direction: column; }
  .mock-setup-submit .button { width: 100%; }
  .mock-order-preview > header { align-items: flex-start; flex-direction: column; gap: 6px; }
  .mock-order-preview ol { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 150px; }
  .mock-room-status { padding: 28px 18px; grid-template-columns: 1fr; gap: 20px; }
  .mock-room-status dl { border-top: 1px solid var(--line); }
  .mock-room-status dl > div:first-child { border-left: 0; }
  .mock-room-actions { grid-template-columns: 1fr 1fr; }
  .mock-room-status .button { width: 100%; }
  .mock-pick-desk > header { align-items: flex-start; flex-direction: column; gap: 5px; }
  .mock-pick-desk > header > p { text-align: left; }
  .mock-pick-desk ol { grid-template-columns: 1fr; }
  .mock-pick-desk li { border-width: 2px; }
  .mock-room-grid { gap: 10px; }
  .mock-player-panel > header { padding-inline: 14px; }
  .mock-board-tools { grid-template-columns: 1fr; }
  .mock-mobile-sort { display: block; }
  .mock-player-columns { display: none; }
  .mock-player-list li { padding-inline: 10px; grid-template-columns: 34px minmax(0, 1fr) 130px; gap: 8px; }
  .mock-player-list li > span { display: none; }
  .mock-player-identity { grid-template-columns: 42px minmax(0, 1fr); gap: 8px; }
  .mock-player-photo { width: 42px; height: 42px; }
  .mock-player-actions { grid-template-columns: 1fr 1fr; }
  .mock-player-list button { min-width: 0; }
  .mock-roster-panel ol { grid-template-columns: 1fr; }
  .mock-pick-train ol { display: grid; grid-template-columns: 1fr 1fr; }
  .mock-pick-train li:nth-child(2n) { border-right: 0; }
  .draft-stage > header { min-height: 72px; padding: 12px 18px; grid-template-columns: 1fr auto; }
  .draft-stage > header > small { grid-column: 1 / -1; text-align: left; }
  .draft-stage-main { min-height: 0; grid-template-columns: 112px minmax(0, 1fr); }
  .draft-stage-number { min-height: 190px; padding: 28px 18px; }
  .draft-stage-number strong { font-size: 4rem; }
  .draft-stage-team { min-height: 190px; padding: 25px 18px; gap: 7px 12px; }
  .draft-stage-team .badge-large { width: 58px; height: 58px; border-radius: 16px; }
  .draft-stage-team h1 { font-size: clamp(2rem, 10vw, 3.5rem); }
  .draft-stage-time { min-height: 215px; padding: 28px 18px; display: flex; align-items: stretch; }
  .draft-stage-time > strong { margin: 6px 0 18px; }
  .draft-stage-order { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 155px; }
  .draft-board-scroll { display: none; }
  .draft-mobile-board { display: block; }
  .draft-mobile-board details + details { border-top: 1px solid var(--line); }
  .draft-mobile-board summary { min-height: 64px; padding: 10px 16px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; cursor: pointer; list-style: none; }
  .draft-mobile-board summary::-webkit-details-marker { display: none; }
  .draft-mobile-board summary > span { min-width: 52px; color: var(--violet); font-family: var(--font-display); font-size: 1.65rem; line-height: .9; }
  .draft-mobile-board summary small { display: block; color: var(--text-soft); font-family: var(--font); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
  .draft-mobile-board summary strong { font-size: .84rem; }
  .draft-mobile-board summary i { color: var(--teal); font-style: normal; transition: transform 160ms ease; }
  .draft-mobile-board details[open] summary i { transform: rotate(90deg); }
  .draft-mobile-board ol { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
  .draft-mobile-board li { min-height: 70px; padding: 10px 14px; display: grid; grid-template-columns: 34px auto minmax(0, 1fr); align-items: center; gap: 10px; border-bottom: 1px solid var(--line); background: var(--bg-elevated); }
  .draft-mobile-board li:last-child { border-bottom: 0; }
  .draft-mobile-board li > b { color: var(--text-soft); font-size: .75rem; }
  .draft-mobile-board li > span { min-width: 0; }
  .draft-mobile-board li small, .draft-mobile-board li strong, .draft-mobile-board li em { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .draft-mobile-board li small { color: var(--text-soft); font-size: .7rem; font-weight: 750; text-transform: uppercase; }
  .draft-mobile-board li strong { font-size: .92rem; }
  .draft-mobile-board li em { color: var(--text-soft); font-size: .72rem; font-style: normal; }
  .draft-mobile-board li.is-filled { border-left: 4px solid var(--position-color); }
  .draft-mobile-board li.is-on-clock { border-left: 4px solid var(--violet); background: color-mix(in srgb, var(--violet-soft) 60%, var(--bg-elevated)); }
  .sudden-death-intro { padding: 21px 18px 17px; }
  .sudden-death-finalists { padding: 12px; grid-template-columns: 1fr 1fr; }
  .sudden-death-audit > summary { padding-inline: 18px; align-items: flex-start; }
  .sudden-death-audit > summary small { display: none; }
  .sudden-death-policy { padding-inline: 18px; grid-template-columns: 1fr; gap: 8px; }
  .sudden-death-questions { padding-inline: 12px; }
  .combine-audit-intro, .combine-answer-events { grid-template-columns: 1fr; }
  .combine-audit-section > summary { align-items: flex-start; }
  .combine-audit-section > summary small { display: none; }
  .combine-question-events, .combine-gm-reports { padding-inline: 12px; }
  .combine-question-events li { grid-template-columns: 1fr; gap: 5px; }
  .combine-question-events li > span { white-space: normal; }
  .combine-answer-events li { grid-template-columns: 58px 1fr auto; }
  .combine-answer-events li span:nth-of-type(2) { grid-column: 2; }
  .shell, .header-inner, .footer-inner { width: min(calc(100% - 28px), var(--max)); }
  .header-inner { gap: 6px; }
  .theme-toggle .sun { display: none; }
  .hero { min-height: auto; padding-block: 36px 26px; gap: 30px; }
  .hero h1 { font-size: clamp(2.45rem, 11.5vw, 3.6rem); line-height: 1; letter-spacing: -0.03em; }
  .hero-intro { font-size: 1rem; }
  .league-wire-inner { grid-template-columns: auto 1fr auto; gap: 12px; }
  .league-wire-inner > span:nth-child(2), .wire-schedule { display: none; }
  .league-wire-inner a { font-size: 0; }
  .league-wire-inner a b { font-size: 0.9rem; }
  .broadcast-hero { width: 100%; min-height: 0; border-inline: 0; }
  .broadcast-main { min-height: 500px; padding: 38px 20px 0; }
  .broadcast-kicker { align-items: flex-start; }
  .broadcast-kicker > b { text-align: right; }
  .broadcast-main h1 { margin-top: 28px; font-size: clamp(3.45rem, 18vw, 5.2rem); line-height: 0.86; }
  .broadcast-main > p { font-size: 0.95rem; line-height: 1.55; }
  .broadcast-actions .button { flex: 1 1 100%; }
  .broadcast-stats { grid-template-columns: 1fr 1fr; margin-top: 34px; }
  .broadcast-stats div { padding: 15px 12px 14px 0; }
  .broadcast-stats div + div { padding-left: 12px; }
  .broadcast-stats div:nth-child(3) { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .broadcast-stats div:nth-child(4) { border-top: 1px solid var(--line); }
  .broadcast-progress { margin-inline: -20px; }
  .broadcast-order ol { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(210px, 72%); overflow-x: auto; }
  .broadcast-order li + li { border-left: 1px solid var(--line); }
  .broadcast-order li > a { min-height: 105px; }
  .club-ribbon { width: 100%; padding-block: 28px; }
  .club-ribbon > header { padding-inline: 14px; align-items: flex-start; flex-direction: column; gap: 7px; }
  .club-ribbon-track { border-inline: 0; grid-auto-columns: minmax(245px, 78%); }
  .teams-directory-page { width: 100%; padding-block: 40px; }
  .teams-directory-header { padding-inline: 18px; }
  .teams-directory-header h1 { font-size: clamp(4rem, 20vw, 6.4rem); }
  .teams-directory-grid { grid-template-columns: 1fr; border-inline: 0; }
  .teams-directory-grid > a { min-height: 150px; padding: 22px 20px; border-right: 0; }
  .teams-directory-grid strong { font-size: 1.75rem; }
  .teams-directory-page > .service-mark-note { padding-inline: 18px; }
  .service-mark-note { padding-inline: 14px; }
  .nfl-news { width: 100%; margin-block: 10px 28px; }
  .nfl-news-shell { padding: 26px 0; }
  .nfl-news-masthead { padding-inline: 16px; align-items: flex-start; flex-direction: column; gap: 20px; }
  .nfl-news-masthead h1, .nfl-news-masthead h2 { margin-bottom: 18px; font-size: clamp(4.3rem, 21vw, 7rem); }
  .nfl-news-status { padding-bottom: 16px; text-align: left; }
  .nfl-news-lead { min-height: 380px; padding: 34px 20px; }
  .nfl-news-lead h3 { font-size: clamp(2.8rem, 12vw, 4.2rem); }
  .nfl-news-grid { border-inline: 0; }
  .nfl-news-board ol { max-height: 440px; overflow-y: auto; }
  .nfl-news-board li > a { padding-inline: 14px; }
  .nfl-news-board li > a.has-photo { grid-template-columns: 62px 28px minmax(0, 1fr) auto; gap: 10px; }
  .nfl-news-thumb { width: 62px; height: 54px; }
  .nfl-news-credit { padding-inline: 14px; }
  .nfl-news-foot { padding: 0 14px; align-items: flex-start; flex-direction: column; gap: 10px; }
  .nfl-news-foot .nfl-news-credit { padding-inline: 0; }
  .nfl-news-page .nfl-news-shell { padding-top: 34px; }
  .nfl-news-empty { border-inline: 0; padding: 28px 20px; }
  .waiver-hero-shell { width: 100%; border-inline: 0; }
  .waiver-hero-copy { min-height: 470px; padding: 44px 20px; }
  .waiver-hero-copy h1 { font-size: clamp(4rem, 18vw, 6.5rem); }
  .waiver-hero-schedule { min-height: 0; }
  .waiver-coverage-list { display: block; }
  .waiver-coverage-list li { min-height: 150px; }
  .waiver-content { width: 100%; padding-top: 10px; }
  .waiver-awaiting, .waiver-rules, .waiver-consensus, .waiver-analysis { border-inline: 0; }
  .waiver-awaiting > div { padding: 38px 20px; }
  .waiver-awaiting li { padding-inline: 20px; }
  .waiver-rules { padding: 38px 20px; }
  .waiver-rules > div { grid-template-columns: 1fr; gap: 20px; }
  .waiver-consensus > header { align-items: flex-start; flex-direction: column; }
  .waiver-consensus li, .waiver-analysis li { grid-template-columns: 38px minmax(0, 1fr); padding: 22px 18px; }
  .waiver-consensus dl, .waiver-analysis dl { grid-column: 2; width: 100%; }
  .waiver-analysis > header { padding: 24px 20px; }
  .league-desk { width: 100%; gap: 8px; }
  .roster-slot-groups { grid-template-columns: 1fr; }
  .roster-slot-group:first-child { grid-row: auto; }
  .roster-pending-note { align-items: flex-start; flex-direction: column; }
  .fan-personalization-card { min-height: 280px; padding: 26px 20px; gap: 20px; }
  .fan-personalization-action { justify-content: space-between; }
  .league-bulletin > header { align-items: flex-start; }
  .league-bulletin li { padding-inline: 15px; }
  .milestone-grid { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(250px, 82%); overflow-x: auto; overscroll-behavior-inline: contain; }
  .site-footer { margin-bottom: 0; }
  .fan-dialog-header { padding: 24px 20px 17px; }
  .fan-team-grid { margin-inline: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fan-signup-form { padding: 20px; }
  .fan-signup-fields { grid-template-columns: 1fr; }
  .fan-signup-fields .button { width: 100%; }
  .fan-trademark-note { padding: 0 20px 20px; }
  .league-status { min-height: 0; padding: 26px 22px; }
  .league-status h2 { font-size: 2rem; }
  .milestone-grid, .official-pick-grid { grid-template-columns: 1fr; }
  .matchup-strip { width: 100%; border-radius: 0; border-inline: 0; grid-template-columns: 92px minmax(0, 1fr); }
  .strip-label { padding: 14px; }
  .matchup-scroll { grid-auto-columns: 230px; }
  .dashboard-grid { width: 100%; gap: 12px; }
  .dashboard-grid .panel { border-radius: 0; border-inline: 0; }
  .team-grid { grid-template-columns: 1fr 1fr; }
  .section-heading { align-items: start; flex-direction: column; gap: 8px; }
  .reason-inner { min-height: 174px; padding-block: 24px; grid-template-columns: auto 1fr; gap: 18px; }
  .reason-inner .text-link { grid-column: 1 / -1; margin-left: 76px; }
  .footer-inner { grid-template-columns: auto 1fr; }
  .footer-inner .live-indicator { grid-column: 1 / -1; }
  .team-identity { padding: 20px; }
  .team-title-block { align-items: flex-start; gap: 14px; }
  .rank-tile { width: 62px; height: 80px; border-radius: 12px; font-size: 2.2rem; }
  .team-title-block .badge-large { display: none; }
  .team-title-block > div { display: block; }
  .team-title-block h1 { font-size: 2rem; }
  .team-stats { grid-template-columns: 1fr 1fr; }
  .team-stats div { border-top: 1px solid var(--line); }
  .team-stats div:nth-child(odd) { border-left: 0; }
  .subnav { gap: 0; }
  .subnav a { padding-inline: 18px; }
  .insight-grid { grid-template-columns: 1fr; }
  .rationale-panel { grid-column: auto; }
  .performance-summary { grid-template-columns: 1fr; }
  .scoreboard { padding: 20px 18px; }
  .scoreboard-grid { grid-template-columns: 1fr; gap: 18px; }
  .score-team, .score-team.away { justify-content: center; text-align: center; }
  .score-team.away { flex-direction: row-reverse; }
  .score-team > div > strong { font-size: 3.6rem; }
  .winner { padding-block: 14px; border-block: 1px solid var(--line); }
  .box-score th, .box-score td { padding: 8px 10px; }
  .thought-grid { grid-template-columns: 1fr; }
  .thought-grid article + article { padding: 18px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .draft-schedule-card { align-items: stretch; flex-direction: column; gap: 18px; }
  .draft-time-pending, .draft-room-open { max-width: none; text-align: left; }
  .countdown-grid { width: 100%; }
  .draft-board-heading { align-items: flex-start; flex-direction: column; }
  .draft-board-tools { justify-content: flex-start; }
  .position-legend { justify-content: flex-start; }
  .draft-queue-card ol { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(230px, 84%); overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-color: var(--violet) var(--bg-soft); }
  .draft-recent-grid { grid-template-columns: 1fr; }
  .combine-hero { min-height: 0; padding: 27px 22px; }
  .combine-hero h1 { font-size: clamp(2.35rem, 12vw, 3.4rem); }
  .combine-mechanic { padding: 20px 22px; grid-template-columns: 1fr; gap: 7px; }
  .buzzer-intro { grid-template-columns: 1fr; gap: 10px; }
  .combine-event-grid { grid-template-columns: 1fr; }
  .combine-event-card { min-height: 0; }
  .combine-dq-explainer { padding: 16px 18px; grid-template-columns: 1fr; gap: 6px; }
  .combine-slot-selections .panel-heading { align-items: flex-start; flex-direction: column; gap: 6px; }
  .combine-slot-selections table, .combine-slot-selections tbody { display: block; }
  .combine-slot-selections thead { display: none; }
  .combine-slot-selections tbody { padding: 0 12px 12px; }
  .combine-slot-selections tbody tr {
    min-width: 0;
    padding: 14px 10px;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    grid-template-areas: "rank team status" ". slot slot";
    gap: 8px 10px;
    border-bottom: 1px solid var(--line);
  }
  .combine-slot-selections tbody tr:last-child { border-bottom: 0; }
  .combine-slot-selections tbody th, .combine-slot-selections tbody td { width: auto; padding: 0; border: 0; }
  .combine-slot-selections tbody td:nth-child(1) { grid-area: rank; }
  .combine-slot-selections tbody th:nth-child(2) { grid-area: team; }
  .combine-slot-selections tbody td:nth-child(3) { grid-area: status; }
  .combine-slot-selections tbody td:nth-child(4) { grid-area: slot; }
  .combine-draft-order .section-heading { align-items: flex-start; }
  .combine-draft-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 460px) {
  .brand { width: 112px; }
  .toggle-track { width: 41px; }
  html[data-theme="dark"] .toggle-track span { transform: translateX(16px); }
  .hero h1 { font-size: clamp(2.2rem, 11.2vw, 2.7rem); letter-spacing: -0.025em; }
  .button-row .button { width: 100%; }
  .fan-personalization-action { align-items: stretch; flex-direction: column; }
  .fan-personalization-action .button { width: 100%; }
  .fan-palette-preview { display: none; }
  .fan-dialog { width: calc(100% - 16px); }
  .fan-team-choice { grid-template-columns: 34px minmax(0, 1fr); min-height: 66px; padding: 8px; gap: 4px 7px; }
  .fan-team-code { width: 34px; height: 38px; font-size: 0.7rem; }
  .fan-team-name { font-size: 0.7rem; }
  .status-card-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .status-metrics { grid-template-columns: 1fr; }
  .status-metrics > div { padding: 15px 0; }
  .status-metrics > div + div { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .team-grid { grid-template-columns: 1fr; }
  .reason-icon { width: 50px; height: 50px; }
  .reason-inner h2 { font-size: 1.25rem; }
  .reason-inner .text-link { margin-left: 68px; }
  .team-stats { grid-template-columns: 1fr 1fr; }
  .team-stats div { padding: 10px; }
  .position-grid { grid-template-columns: repeat(2, 1fr); }
  .position-grid span:nth-child(2n) { border-right: 0; }
  .position-grid span:nth-child(4n) { border-right: 0; }
  .position-grid span:nth-child(n+5) { border-bottom: 1px solid var(--line); }
  .position-grid span:nth-child(n+7) { border-bottom: 0; }
  .key-row { grid-template-columns: auto 1fr; }
  .key-row > span:last-child { grid-column: 2; text-align: left; }
  .draft-hero { padding: 27px 22px; }
  .draft-schedule-card, .draft-clock-card { padding: 20px; }
  .draft-queue-card > header { align-items: flex-start; }
  .draft-queue-card > header > span { display: none; }
  .countdown-grid { grid-template-columns: repeat(2, 1fr); }
  .draft-clock-card { grid-template-columns: auto minmax(0, 1fr); }
  .draft-board { margin-inline: -14px; border-radius: 0; border-inline: 0; }
  .draft-board-heading { padding-inline: 18px; }
  .draft-team-list { grid-template-columns: 1fr; }
  .combine-draft-grid { grid-template-columns: 1fr; }
  .buzzer-results { grid-template-columns: 1fr; }
  .buzzer-results > li, .buzzer-results > li:nth-child(3) { border-right: 0; border-top: 1px solid var(--line); }
  .buzzer-results > li:first-child { border-top: 0; }
  .sudden-death-finalists { grid-template-columns: 1fr; }
  .sudden-death-questions li { grid-template-columns: minmax(0, 1fr) auto; }
  .sudden-death-submitted { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

.mock-drafted-label { color: var(--text-soft); font-size: .8rem; text-align: right; }
.mock-drafted-label b, .mock-drafted-label small { display: block; }
.mock-board-notice { padding: 12px 20px; border-top: 1px solid var(--line); background: var(--bg-soft); color: var(--text-soft); font-size: .875rem; }
.mock-board-notice button { margin-left: 8px; padding: 8px 12px; border: 1px solid var(--line-strong); background: var(--bg-elevated); color: var(--text); font: inherit; cursor: pointer; }

.home-section-heading { margin-block: 30px 20px; }
.home-section-heading h2, .home-mock-copy h2 { margin: 0; font-family: var(--font-display); font-size: clamp(3rem, 5vw, 5rem); line-height: 1; text-transform: uppercase; }
.home-mock-preview { margin-block: 40px 60px; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-top: 4px solid var(--violet); background: var(--bg-elevated); }
.home-mock-copy, .home-mock-features { min-width: 0; padding: clamp(24px, 4vw, 52px); }
.home-mock-copy > p:not(.eyebrow), .home-mock-features > p { color: var(--text-soft); line-height: 1.7; }
.home-mock-features { border-left: 1px solid var(--line); }
.home-mock-features dl { margin: 0; }
.home-mock-features dl > div { padding-block: 14px; border-bottom: 1px solid var(--line); }
.home-mock-features dt { color: var(--teal-ink); font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.home-mock-features dd { margin: 5px 0 0; font-weight: 750; }
.mock-personal-empty { padding: 18px 22px; }
.mock-personal-empty p { margin-top: 0; color: var(--text-soft); }
#my-draft-favorites { scroll-margin-top: 100px; }
@media (max-width: 760px) {
  .home-mock-preview { grid-template-columns: 1fr; }
  .home-mock-features { border-left: 0; border-top: 1px solid var(--line); }
  .mock-personal-preview > header { align-items: start; flex-direction: column; gap: 8px; }
}

.site-header::before { display: none; }
.site-header { background: var(--bg); backdrop-filter: none; }
.site-nav a { font-weight: 650; letter-spacing: .01em; text-transform: none; }
.site-nav-menu > summary { font-weight: 650; letter-spacing: .01em; text-transform: none; }
@media (min-width: 1041px) {
  .site-header { height: 84px; }
  .brand { width: 176px; }
}
@media (max-width: 1040px) {
  .brand { width: 144px; }
}
@media (max-width: 460px) {
  .brand { width: 132px; }
}
/* The news desk stays black in both themes, so its accents must stay light. */
.nfl-news {
  --violet: color-mix(in srgb, var(--fan-primary, #dedede) 55%, #ffffff);
  --teal: color-mix(in srgb, var(--fan-secondary, #c7c7c7) 70%, #ffffff);
}

/* Editorial surfaces: typography, photography and restrained team accents. */
body::before, .signal, .mock-pick-desk li::before { display: none; }
.button { text-transform: none; letter-spacing: .01em; transition: background-color 150ms ease, border-color 150ms ease; }
.button-primary, .button-primary:hover { box-shadow: none; }
.button:hover { transform: none; }
.nfl-news-status i, .waiver-live-status i, .status-blocked i,
.status-unavailable i, .live-indicator i, .draft-state-dot,
.draft-state-dot.state-live { box-shadow: none; animation: none; }
.broadcast-progress i, .draft-progress-track i, .mock-report-scores em { background: var(--violet); }
.league-status, .draft-hero, .mock-room-status,
.mock-report-card > header, .mock-report-grade, .mock-draft-complete-panel,
.combine-sudden-death, .buzzer-intro { background: var(--bg-elevated); box-shadow: none; }
.draft-stage-team { background: #050506; }
.mock-pick-desk li { background: var(--bg-elevated); border: 1px solid var(--line); border-top: 3px solid var(--medal); box-shadow: none; }
.mock-pick-medal { background: var(--medal); border: 0; box-shadow: none; text-shadow: none; }
.mock-pick-desk li > button { background: var(--bg-soft); color: var(--text); border-color: var(--line-strong); box-shadow: none; text-transform: none; font-size: .875rem; }
.mock-player-list li.is-recommended { background: var(--bg-elevated); }
.mock-recommendation-inline { background: var(--recommendation-metal, #d7a429); font-size: .75rem; letter-spacing: 0; }
.home-section-heading h2, .home-mock-copy h2 { font-size: clamp(2.5rem, 4vw, 4rem); }
.mock-setup-copy h1 { font-size: clamp(3rem, 5vw, 5rem); }
.eyebrow { font-size: .8125rem; letter-spacing: .08em; }
.home-mock-features dt, .nfl-news-credit, .fan-privacy-note,
.fan-trademark-note, .service-mark-note { font-size: .8125rem; }
.mock-data-note { font-size: .875rem; line-height: 1.6; }
/* Palette options show their own colors before selection, in either theme. */
.fan-team-code { position: relative; overflow: hidden; padding-bottom: 5px; }
.fan-team-code::after { content: ""; position: absolute; inset: auto 0 0; height: 7px; background: var(--choice-secondary); }
.fan-team-swatches i { width: 24px; height: 10px; border-radius: 3px; border: 1px solid color-mix(in srgb, var(--text) 25%, transparent); }
.fan-team-choice-original .fan-team-swatches i { width: 34px; height: 12px; }
html:not([data-fan-team]) {
  --violet: #7026fa; --violet-bright: #8c56ff; --violet-soft: #efe8ff;
  --action: #7026fa; --action-bright: #8750f8; --on-accent: #ffffff;
  --teal: #00b9a7; --teal-ink: #006e65; --teal-bright: #00d9c2; --teal-soft: #e2faf7;
}
html[data-theme="dark"]:not([data-fan-team]) {
  --violet: #a97cff; --violet-soft: #1f133b;
  --teal: #00d9c2; --teal-ink: #43f0de; --teal-bright: #18e8d2; --teal-soft: #082d2a;
}

/* Raiders keep true black surfaces and silver accents on dark backgrounds. */
html[data-fan-team="lv"][data-theme="dark"] {
  --violet: var(--fan-secondary);
  --violet-bright: #ffffff;
}

/* League overview: standings and weekly scorecards. */
.league-overview { padding-bottom: 80px; }
.league-overview-bar, .league-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.league-overview-bar { padding: 20px 0; border-block: 1px solid var(--line); }
.league-overview-bar p { margin: 0; font-weight: 700; }
.league-overview-bar small { display: block; margin-top: 5px; color: var(--text-soft); font-weight: 400; }
.league-overview section { margin-top: 44px; }
.league-section-heading { margin-bottom: 20px; }
.league-section-heading h2 { margin: 0; font-size: clamp(26px, 4vw, 38px); }
.league-section-heading .eyebrow { margin: 0 0 8px; }
.league-section-heading > a { font-weight: 700; }
.league-table-scroll { overflow-x: auto; border-top: 2px solid var(--text); }
.league-standings { width: 100%; min-width: 660px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.league-standings caption { caption-side: bottom; text-align: left; padding: 14px 0; color: var(--text-soft); font-size: 13px; }
.league-standings th, .league-standings td { padding: 15px 16px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
.league-standings thead th { background: var(--bg-soft); color: var(--text-soft); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.league-standings th:nth-child(2), .league-standings th[scope="row"] { text-align: left; }
.league-standings th[scope="row"] a { display: flex; align-items: center; gap: 12px; }
.league-standings tbody tr:hover { background: var(--bg-soft); }
.league-week-picker { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.league-week-picker select { min-height: 44px; padding: 8px 12px; color: var(--text); background: var(--bg-elevated); border: 1px solid var(--line-strong); border-radius: 2px; font: inherit; }
.league-matchups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.league-matchup { padding: 20px; border: 1px solid var(--line); background: var(--bg-elevated); }
.league-matchup > .eyebrow { margin: 0 0 16px; color: var(--text-soft); }
.league-matchup-team { display: flex; align-items: center; gap: 12px; padding-block: 10px; }
.league-matchup-team > span:not(.team-badge) { flex: 1; }
.league-matchup-team > strong { margin-left: auto; font-size: 22px; font-variant-numeric: tabular-nums; }
.league-matchup-team small { display: block; font-size: 11px; color: var(--text-soft); margin-top: 3px; }
.league-matchup-team.is-winner { font-weight: 800; }
.league-schedule-empty { padding: 32px; border: 1px solid var(--line); background: var(--bg-elevated); }
.league-schedule-empty h3 { margin: 0 0 8px; font-size: 24px; }
.league-schedule-empty p, .league-section-note { color: var(--text-soft); line-height: 1.6; }
.league-schedule-empty a { display: inline-block; margin-top: 12px; font-weight: 700; }
@media (max-width: 1000px) { .league-matchups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .league-overview-bar, .league-section-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
  .league-matchups { grid-template-columns: 1fr; }
  .league-week-picker, .league-week-picker select { width: 100%; }
  .league-schedule-empty { padding: 24px; }
}

/* Keep the dialog inside the visible screen, including the software keyboard. */
body:has(.fan-dialog[open]) { overflow: hidden; }
.fan-dialog {
  max-height: calc(var(--fan-viewport-height, 100dvh) - 24px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scroll-padding-block: 20px;
}
.fan-dialog-card { max-height: none; overflow: visible; }
.fan-dialog-header > div { min-width: 0; }
.fan-team-grid { max-height: min(330px, 36dvh); overscroll-behavior: auto; }
.fan-team-choice { grid-template-areas: "badge name" "badge swatches"; }
.fan-team-code { grid-area: badge; }
.fan-team-name { grid-area: name; white-space: normal; overflow: visible; overflow-wrap: anywhere; }
.fan-team-swatches { grid-area: swatches; flex-wrap: wrap; }
.fan-team-choice-original { grid-template-areas: "badge name swatches"; }
.fan-team-choice-original .fan-team-code { grid-area: badge; }
.fan-profile-connected { flex-wrap: wrap; }
.fan-signup-fields > *, .fan-signup-fields input { min-width: 0; }
.fan-form-status, .fan-profile-connected, .fan-privacy-note { overflow-wrap: anywhere; }

/* Shrink layout children, while keeping wide data in its own scroll region. */
main, .shell, .panel, .table-wrap, .league-table-scroll,
.mock-room-grid > *, .mock-setup-shell > *, .mock-board-tools > *,
.dashboard-grid > *, .team-overview > *, .combine-order-grid > *,
.nfl-news-grid > *, .league-desk > *, .home-mock-preview > * { min-width: 0; }
.table-wrap, .league-table-scroll { max-width: 100%; overscroll-behavior-inline: contain; }

@media (max-width: 900px) {
  .site-nav { max-height: calc(100dvh - 68px); overflow-y: auto; padding-bottom: calc(22px + env(safe-area-inset-bottom)); }
  .site-nav a, .site-nav-menu > summary { min-height: 44px; }
  .header-inner { gap: 12px; grid-template-columns: minmax(0, 1fr) auto auto; }
  .header-actions { gap: 10px; }
}

@media (max-width: 680px) {
  .button { min-width: 0; min-height: 44px; white-space: normal; text-align: center; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea { max-width: 100%; min-width: 0; font-size: 1rem; }
  .fan-dialog { width: calc(100% - 20px); border-radius: 10px; }
  .fan-dialog-header { padding: 18px 16px 14px; gap: 12px; }
  .fan-dialog-header .eyebrow { margin-bottom: 8px; font-size: .75rem; }
  .fan-dialog-header h2 { font-size: 1.55rem; line-height: 1.15; }
  .fan-dialog-header p:last-child { font-size: 1rem; line-height: 1.45; }
  .fan-dialog-close { position: sticky; top: 12px; z-index: 1; }
  .fan-team-grid { margin-inline: 16px; gap: 8px; }
  .fan-team-choice { min-height: 82px; grid-template-columns: 34px minmax(0, 1fr); grid-template-rows: auto auto; padding: 10px 8px; gap: 6px 8px; }
  .fan-team-code, .fan-team-choice-original .fan-team-code { width: 34px; height: 40px; font-size: .75rem; }
  .fan-team-name { font-size: .875rem; line-height: 1.3; }
  .fan-team-name small { font-size: .75rem; line-height: 1.3; }
  .fan-team-choice-original { grid-template-columns: 34px minmax(0, 1fr); grid-template-areas: "badge name" "badge swatches"; }
  .fan-team-swatches i, .fan-team-choice-original .fan-team-swatches i { width: 24px; height: 10px; }
  .fan-signup-form { padding: 16px; }
  .fan-signup-fields { gap: 10px; }
  .fan-signup-fields label, .fan-updates-opt-in, .fan-profile-connected { font-size: .875rem; }
  .fan-updates-opt-in input { flex: 0 0 18px; }
  .fan-trademark-note { padding: 0 16px 16px; }
  .fan-privacy-note, .fan-trademark-note, .fan-form-status { font-size: .75rem; }
  .page-intro { padding-top: 36px; }
  .page-intro h1, .teams-directory-header h1, .nfl-news-masthead h1, .nfl-news-masthead h2,
  .mock-setup-copy h1, .waiver-hero-copy h1 { overflow-wrap: anywhere; line-height: 1; }
  .nfl-news-lead h3 { font-size: clamp(2rem, 9vw, 3.2rem); overflow-wrap: anywhere; }
  .nfl-news-board h3, .league-matchup-team > span { overflow-wrap: anywhere; }
  .mock-room-status dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mock-room-status dl > div { min-width: 0; padding: 10px; overflow-wrap: anywhere; }
  .mock-player-panel > header > div:first-child, .mock-roster-panel > header,
  .mock-queue-panel > header, .mock-intel-panel > header, .mock-pick-train > header { flex-wrap: wrap; gap: 8px; }
  .mock-position-tabs button { min-height: 44px; font-size: .875rem; }
  .mock-player-list li { grid-template-columns: 28px minmax(0, 1fr); gap: 10px; }
  .mock-player-actions { grid-column: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mock-player-actions button { min-height: 44px; font-size: .875rem; }
  .mock-player-list strong, .mock-roster-panel strong, .mock-queue-panel strong { white-space: normal; overflow-wrap: anywhere; }
  .mock-player-list small { white-space: normal; font-size: .75rem; }
  .mock-report-card > header { grid-template-columns: 80px minmax(0, 1fr); padding: 16px; gap: 12px; }
  .mock-report-card h2, .mock-room-status h1 { overflow-wrap: anywhere; }
  .draft-stage-main { grid-template-columns: 82px minmax(0, 1fr); }
  .draft-stage-number { padding-inline: 12px; }
  .draft-stage-number strong { font-size: 3rem; }
  .draft-stage-team { grid-template-columns: minmax(0, 1fr); padding: 20px 16px; }
  .draft-stage-team h1 { font-size: clamp(1.8rem, 8vw, 3rem); line-height: 1; overflow: visible; overflow-wrap: anywhere; }
  .draft-stage-team .badge-large { width: 44px; height: 44px; }
  .draft-stage > header { min-width: 0; gap: 8px; }
  .draft-stage > header > * { min-width: 0; overflow-wrap: anywhere; }
  .draft-stage-time { min-width: 0; }
  .combine-team-cell { min-width: 0; }
  .combine-event-card h3, .combine-question-events li div, .sudden-death-questions header { overflow-wrap: anywhere; }
  .league-matchup-team > span:not(.team-badge) { min-width: 0; }
  .league-matchup-team > strong { flex-shrink: 0; }
  .league-standings th, .league-standings td { padding: 12px; }
  .league-week-picker { min-width: 0; }
  .league-week-picker select { width: auto; flex: 1; min-width: 0; }
  .footer-inner { gap: 16px; grid-template-columns: minmax(0, 1fr); }
  .footer-inner > * { min-width: 0; overflow-wrap: anywhere; }
}
@media (max-width: 360px) {
  .fan-team-grid { grid-template-columns: minmax(0, 1fr); }
  .fan-team-choice { min-height: 64px; }
  .header-inner { width: calc(100% - 24px); gap: 8px; }
  .brand { width: 112px; max-width: 100%; }
  .mock-room-actions { grid-template-columns: minmax(0, 1fr); }
  .mock-report-scores { grid-template-columns: minmax(0, 1fr); }
}

/* One colored house palette, with the established black surfaces. */
html:not([data-fan-team]) .nfl-news {
  --violet: #a97cff;
  --teal: #36e2cd;
}
.nfl-news-masthead { border-bottom-color: var(--teal); }
.nfl-news-masthead h1, .nfl-news-masthead h2 { color: var(--violet); }
@supports (mask-image: url('/assets/logo.png')) {
  .brand, .footer-brand { background-color: #7026fa; mask-image: url('/assets/logo.png?v=ww2'); mask-size: contain; mask-repeat: no-repeat; mask-position: center; }
  .brand { background-color: #000; }
  html[data-theme="dark"] .brand { background-color: #fff; }
  .brand img, .footer-brand img { opacity: 0; }
}
.news-story { max-width: 960px; padding-block: 44px 80px; }
.news-story-back { display: inline-block; margin-bottom: 32px; color: var(--teal-ink); font-weight: 750; }
.news-story header { border-bottom: 3px solid var(--teal); }
.news-story h1 { max-width: 900px; font-size: clamp(2rem, 5vw, 3.8rem); line-height: 1.08; letter-spacing: -.03em; overflow-wrap: anywhere; }
.news-story-meta, .news-story-credit { color: var(--text-soft); font-size: .875rem; line-height: 1.6; }
.news-story-body { max-width: 760px; padding-block: 32px; }
.news-story blockquote { margin: 0 0 24px; padding: 0 0 0 20px; border-left: 3px solid var(--violet); font-size: clamp(1.125rem, 2vw, 1.5rem); line-height: 1.6; overflow-wrap: anywhere; }
.news-story-related { padding-top: 28px; border-top: 1px solid var(--line); }
.news-story-related ul { padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.news-story-related a { height: 100%; padding: 20px; display: block; border: 1px solid var(--line); background: var(--bg-elevated); }
.news-story-related a:hover { border-color: var(--teal); }
.news-story-related small { display: block; margin-bottom: 8px; color: var(--teal-ink); }
.news-story-related strong { font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
@media (max-width: 680px) {
  .news-story { padding-block: 28px 44px; }
  .news-story-related ul { grid-template-columns: minmax(0, 1fr); }
  .news-story-body .button { width: 100%; }
}

/* One primary menu across screens; collapse before the longer league label crowds it. */
@media (max-width: 1180px) {
  .site-header { height: 68px; }
  .header-inner { grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; }
  .menu-toggle { width: 44px; height: 44px; padding: 10px; display: grid; align-content: center; gap: 5px; justify-self: end; order: 2; }
  .menu-toggle span { width: 22px; height: 2px; display: block; background: var(--text); }
  .site-nav { position: absolute; top: 68px; right: 0; left: 0; max-height: calc(100dvh - 68px); overflow-y: auto; padding: 14px 24px calc(22px + env(safe-area-inset-bottom)); display: none; align-items: stretch; flex-direction: column; gap: 0; border-bottom: 1px solid var(--line); background: var(--bg-elevated); box-shadow: var(--shadow); }
  .site-nav.open { display: flex; }
  .site-nav a { min-height: 44px; padding: 12px; display: block; }
  .site-nav a::after { display: none; }
  .site-nav-menu > summary { min-height: 44px; padding: 12px 28px 12px 12px; }
  .site-nav-menu > summary::after { top: 15px; right: 12px; }
  .site-nav-menu > div, .site-nav-waiver-menu > div { position: static; width: auto; padding: 0 0 4px 12px; transform: none; border: 0; background: transparent; box-shadow: none; }
  .site-nav-menu > div a { padding: 10px 14px; color: var(--text-soft); }
  .fan-nav-button { margin-top: 10px; padding: 16px 12px 12px; display: block; border: 0; border-top: 1px solid var(--line); background: none; color: var(--teal-ink); font-size: .9rem; font-weight: 750; text-align: left; cursor: pointer; }
  .header-actions { justify-self: end; order: 1; gap: 10px; }
  .header-cta { display: none; }
}
@media (max-width: 680px) {
  .site-footer { padding-bottom: env(safe-area-inset-bottom); }
}

/* The home page introduces the league; operational boards live on league routes. */
.home-page { min-width: 0; }
.home-page > * { min-width: 0; max-width: 100%; }
.home-league-preview {
  margin-block: 40px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  border: 1px solid var(--line);
  border-top: 4px solid var(--teal);
  background: var(--bg-elevated);
}
.home-league-preview > * { min-width: 0; }
.home-league-copy, .home-league-field { padding: clamp(22px, 4vw, 48px); }
.home-league-copy h2 { margin: 16px 0 20px; font-family: var(--font-display); font-size: clamp(2.25rem, 4.7vw, 4.2rem); font-weight: 400; line-height: 1.05; letter-spacing: .01em; text-transform: uppercase; overflow-wrap: anywhere; }
.home-league-copy > p:not(.eyebrow) { max-width: 540px; margin-bottom: 24px; color: var(--text-soft); font-size: 1rem; line-height: 1.65; }
.home-league-copy .button { max-width: 100%; white-space: normal; }
.home-league-field { border-left: 1px solid var(--line); display: flex; flex-direction: column; justify-content: center; }
.home-league-field h3 { margin-bottom: 18px; font-size: 1rem; }
.home-league-field ul { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.home-league-field li { min-width: 0; }
.home-league-field li a { min-height: 86px; padding: 12px 6px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 8px; border: 1px solid var(--line); background: var(--bg-soft); text-align: center; }
.home-league-field li a:hover { border-color: var(--teal); }
.home-league-field li span:not(.team-badge) { max-width: 100%; font-size: .875rem; font-weight: 750; overflow-wrap: anywhere; }
.home-league-all-teams { align-self: flex-start; margin-top: 14px; min-height: 44px; display: inline-flex; align-items: center; gap: 10px; color: var(--teal-ink); font-size: .875rem; font-weight: 750; }
.home-league-features { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.home-league-features > a { min-width: 0; padding: 24px; }
.home-league-features > a + a { border-left: 1px solid var(--line); }
.home-league-features > a:hover { background: var(--bg-soft); }
.home-league-features h3 { margin-bottom: 8px; font-size: 1.125rem; }
.home-league-features p { margin-bottom: 16px; color: var(--text-soft); font-size: 1rem; line-height: 1.5; }
.home-league-features span { color: var(--teal-ink); font-size: .875rem; font-weight: 750; }
/* A scrollable child must not determine its parent's page width. */
.broadcast-hero > *, .broadcast-order, .broadcast-order ol { min-width: 0; }
@media (max-width: 760px) {
  .home-league-preview, .home-mock-preview { grid-template-columns: minmax(0, 1fr); }
  .home-league-field { padding-top: 24px; border-left: 0; border-top: 1px solid var(--line); }
  .home-league-features { grid-template-columns: minmax(0, 1fr); }
  .home-league-features > a + a { border-left: 0; border-top: 1px solid var(--line); }
  .home-league-features > a { padding: 20px 22px; }
  .home-league-copy .button { width: 100%; }
  .home-league-field li a { min-height: 78px; }
  .home-league-copy h2 { font-size: clamp(2.1rem, 9vw, 3.25rem); }
}
