/* ── Tokens ─────────────────────────────────────────────────────────────── */
:root {
  --bg:          #0a0e16;
  --surface:     #10141d;
  --border:      rgba(255,255,255,0.06);
  --text:        #e7eaf0;
  --text-muted:  #8a93a4;
  --text-subtle: #5b6475;
  --amber:       #f59332;
  --amber-dim:   rgba(245,147,50,0.15);
  --radius-sm:   9px;
  --radius:      14px;
  --radius-lg:   18px;
}

/* ── Reset ──────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; overflow-x: hidden; }
body { overflow-x: hidden; }
img, svg { display: block; max-width: 100%; }
button { cursor: pointer; border: none; background: none; font: inherit; }
a { color: inherit; text-decoration: none; }

/* ── Base ───────────────────────────────────────────────────────────────── */
body {
  font-family: 'Archivo', system-ui, sans-serif;
  background: var(--bg);
  color: var(--text);
  font-size: 15px;
  line-height: 1.6;
  min-height: 100dvh;
  -webkit-font-smoothing: antialiased;
}

/* ── Typography ─────────────────────────────────────────────────────────── */
.font-condensed {
  font-family: 'Saira Condensed', system-ui, sans-serif;
  font-weight: 700;
}

/* ── Layout ─────────────────────────────────────────────────────────────── */
.container {
  width: 100%;
  max-width: 1640px;
  margin: 0 auto;
  padding: 0 40px;
}

/* ── Header ─────────────────────────────────────────────────────────────── */
.site-header {
  padding: 26px 0 0;
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.site-header__logo {
  height: 46px;
  width: auto;
  display: block;
}
.site-header__logo-text {
  font-family: 'Saira Condensed', system-ui, sans-serif;
  font-weight: 800;
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  color: var(--amber);
  text-transform: uppercase;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 30px;
}
.site-nav a {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-muted);
  padding-top: 8px;
  padding-bottom: 6px;
  border-bottom: 2px solid transparent;
  transition: color 0.15s, border-color 0.15s;
}
.site-nav a:hover { color: var(--text); }
.site-nav a[aria-current] {
  font-weight: 600;
  color: #fff;
  border-bottom-color: var(--amber);
}
.site-nav__auth-pill {
  display: flex;
  align-items: stretch;
  border: 1.5px solid var(--amber);
  border-radius: 6px;
  overflow: hidden;
  margin-left: 10px;
  flex-shrink: 0;
}
.site-nav__auth-join,
.site-nav__auth-login {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--amber) !important;
  padding: 6px 13px !important;
  border-bottom: none !important;
  transition: background 0.15s, color 0.15s !important;
  white-space: nowrap;
  display: flex;
  align-items: center;
  line-height: 1;
}
.site-nav__auth-join:hover,
.site-nav__auth-login:hover,
.site-nav__auth-join[aria-current],
.site-nav__auth-login[aria-current] {
  background: var(--amber) !important;
  color: #0a0e16 !important;
}
.site-nav__auth-sep {
  width: 1px;
  background: var(--amber);
  opacity: 0.3;
  flex-shrink: 0;
}
/* sign out button — authenticated state */
.site-nav__login {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #10141d !important;
  background: var(--amber);
  padding: 9px 20px !important;
  border-radius: var(--radius-sm) !important;
  border-bottom: none !important;
  margin-left: 6px;
}
.site-nav__login:hover { opacity: 0.9; }

/* ── Nav dropdown (Awards) ───────────────────────────────────────────────── */
.site-nav__dropdown { position: relative; }
.site-nav__dropdown-trigger {
  display: flex; align-items: center; gap: 5px;
  font-size: 14px; font-weight: 500; color: var(--text-muted);
  padding-top: 8px; padding-bottom: 6px; border-bottom: 2px solid transparent;
  background: none; border-top: none; border-left: none; border-right: none;
  cursor: pointer; transition: color 0.15s, border-color 0.15s;
  font-family: inherit;
}
.site-nav__dropdown-trigger:hover,
.site-nav__dropdown.is-open .site-nav__dropdown-trigger { color: var(--text); }
.site-nav__dropdown.is-active .site-nav__dropdown-trigger {
  font-weight: 600; color: #fff; border-bottom-color: var(--amber);
}
.site-nav__dropdown-trigger svg { flex-shrink: 0; transition: transform 0.2s; }
.site-nav__dropdown.is-open .site-nav__dropdown-trigger svg { transform: rotate(180deg); }

.site-nav__dropdown-menu {
  display: none;
  flex-direction: column; gap: 2px;
  position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%);
  padding: 16px 6px 6px; /* 10px bridge + 6px inner top gap */
  min-width: 160px; z-index: 100;
}
.site-nav__dropdown-menu::before {
  content: '';
  position: absolute; inset: 10px 0 0 0;
  background: #111827; border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  box-shadow: 0 8px 24px rgba(0,0,0,.5);
  z-index: -1; pointer-events: none;
}
.site-nav__dropdown.is-open .site-nav__dropdown-menu { display: flex; }
.site-nav__dropdown-item {
  font-size: 13px; font-weight: 500; color: var(--text-muted);
  padding: 8px 12px; border-radius: 6px; white-space: nowrap;
  border-bottom: none !important; transition: background 0.12s, color 0.12s;
}
.site-nav__dropdown-item:hover { background: rgba(255,255,255,.06); color: var(--text); }
.site-nav__dropdown-item.is-active { color: var(--amber); font-weight: 600; }

/* ── Admin pages ─────────────────────────────────────────────────────────── */
.admin-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px;
  margin-bottom: 8px;
}
.admin-stat-card { padding: 20px; }
.admin-stat-label { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 8px; }
.admin-stat-value { font-size: 36px; font-weight: 700; color: var(--amber); }
.admin-table { width: 100%; border-collapse: collapse; }
.admin-th { text-align: left; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); padding: 12px 16px; border-bottom: 1px solid var(--border); }
.admin-td { padding: 12px 16px; font-size: 13px; border-bottom: 1px solid var(--border); }
.admin-table-row:last-child .admin-td { border-bottom: none; }
.admin-table-row:hover .admin-td { background: var(--surface); }
/* Scoped to #pt-edit-modal (public player-edit form) — these class names are reused
   with different (flex/inline-sized) rules in admin.css for the admin console, so an
   unscoped selector here would leak this block-stacked, full-width styling into it. */
#pt-edit-modal .admin-field-label { display: block; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 6px; margin-top: 16px; }
#pt-edit-modal .admin-field-label:first-child { margin-top: 0; }
#pt-edit-modal .admin-input {
  display: block; width: 100%;
  background: var(--bg); border: 1px solid var(--border); border-radius: 8px;
  color: var(--text-primary); font-family: inherit; font-size: 14px;
  padding: 10px 14px; margin-bottom: 4px; outline: none; transition: border-color .15s;
}
#pt-edit-modal .admin-input:focus { border-color: var(--amber); }
#pt-edit-modal .admin-btn {
  display: block; width: 100%; margin-top: 20px;
  background: var(--amber); border: none; border-radius: 8px;
  color: #020817; font-family: inherit; font-size: 14px; font-weight: 700;
  padding: 12px; cursor: pointer; letter-spacing: .04em; transition: opacity .15s;
}
#pt-edit-modal .admin-btn:hover { opacity: .88; }
#pt-edit-modal .admin-btn--sm {
  display: inline-flex; align-items: center; gap: 5px;
  width: auto; margin-top: 0;
  font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 6px;
}
#pt-edit-modal .admin-btn--inline-action {
  display: inline-flex; align-items: center; gap: 5px;
  width: auto; margin-top: 0;
  font-size: 12px; font-weight: 700; padding: 5px 12px; border-radius: 7px;
}
#pt-edit-modal .admin-btn--block   { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 0; }
#pt-edit-modal .admin-btn--success { background: rgba(34,197,94,.15); color: #4ade80; border: 1px solid rgba(34,197,94,.3); }
#pt-edit-modal .admin-btn--success:hover { background: rgba(34,197,94,.25); opacity: 1; }
#pt-edit-modal .admin-btn--danger  { background: rgba(239,68,68,.12); color: #f87171; border: 1px solid rgba(239,68,68,.25); }
#pt-edit-modal .admin-btn--danger:hover  { background: rgba(239,68,68,.22); opacity: 1; }
/* ── Login page ──────────────────────────────────────────────────────────── */
.login-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 70vh;
  padding: 40px 16px;
}
.login-box { width: 100%; max-width: 380px; }
.login-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 6px;
}
.login-brand__badge {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--amber);
  color: #0a0e16;
  font-size: 20px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Saira Condensed', sans-serif;
}
.login-brand__name { font-size: 20px; font-weight: 700; color: var(--text); }
.login-brand__sub { font-size: 13px; color: var(--text-muted); margin-bottom: 28px; }
.login-error {
  background: rgba(239,68,68,.1);
  border: 1px solid rgba(239,68,68,.3);
  border-radius: 8px;
  color: #f87171;
  font-size: 13px;
  padding: 10px 14px;
  margin-bottom: 18px;
}
.login-form {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 28px;
}
.login-field { margin-bottom: 16px; }
.login-field label {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 6px;
}
.login-field input {
  display: block;
  width: 100%;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 14px;
  color: var(--text);
  font-family: inherit;
  outline: none;
  transition: border-color .15s;
}
.login-field input:focus { border-color: var(--amber); }
.login-field input::placeholder { color: var(--text-muted); opacity: .5; }
.login-remember { margin-bottom: 20px; }
.login-check {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 13px;
  color: var(--text-muted);
}
.login-check input[type="checkbox"] {
  accent-color: var(--amber);
  width: 15px;
  height: 15px;
  cursor: pointer;
  flex-shrink: 0;
}
.login-submit {
  display: block;
  width: 100%;
  background: var(--amber);
  color: #0a0e16;
  border: none;
  border-radius: 8px;
  padding: 12px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .1em;
  cursor: pointer;
  transition: opacity .15s;
  font-family: inherit;
}
.login-submit:hover { opacity: .88; }
.login-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 18px 0;
  color: var(--text-subtle);
  font-size: 12px;
}
.login-divider::before,
.login-divider::after { content: ''; flex: 1; height: 1px; background: var(--border); }
.login-social { display: flex; flex-direction: column; gap: 10px; }
.login-social-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 11px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-muted);
  opacity: 0.5;
  cursor: not-allowed;
  font-family: inherit;
}
.login-fb__badge {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  background: var(--amber-dim);
  color: var(--amber);
  padding: 2px 6px;
  border-radius: 4px;
  margin-left: auto;
}
.login-register {
  margin: 20px 0 0;
  text-align: center;
  font-size: 13px;
  color: var(--text-muted);
}
.login-register a { color: var(--amber); font-weight: 600; text-decoration: none; }
.login-register a:hover { text-decoration: underline; }
/* ── Ledger table ─────────────────────────────────────────────────────────── */
/* ── Ledger table ─────────────────────────────────────────────────────────── */
.ledger-head {
  display: grid;
  grid-template-columns: 1fr 120px 68px;
  align-items: stretch;
  background: rgba(255,255,255,.02);
  border-bottom: 1px solid var(--border);
}
.ledger-head > div {
  font-size: 10px; font-weight: 700; letter-spacing: .07em; color: var(--text-muted); white-space: nowrap;
  display: flex; align-items: center; padding: 8px 12px; border-left: 1px solid var(--border);
}
.ledger-head > div:first-child { border-left: none; }
.ledger-player-row {
  display: grid;
  grid-template-columns: 1fr 120px 68px;
  align-items: stretch;
  border-bottom: 1px solid var(--border);
  transition: background .12s;
}
.ledger-player-row:hover { background: rgba(255,255,255,.025); }
.ledger-tx-head {
  display: grid;
  grid-template-columns: 110px 100px 150px 1fr 110px 110px;
  align-items: stretch;
  background: rgba(255,255,255,.015);
  border-bottom: 1px solid var(--border);
}
.ledger-tx-head > div {
  font-size: 10px; font-weight: 700; letter-spacing: .06em; color: var(--text-muted); min-height: 32px; white-space: nowrap;
  display: flex; align-items: center; padding: 10px 12px; border-left: 1px solid var(--border);
}
.ledger-tx-head > div:first-child { border-left: none; padding-left: 20px; }
.ledger-tx-row-inner {
  display: grid;
  grid-template-columns: 110px 100px 150px 1fr 110px 110px;
  align-items: stretch;
  border-bottom: 1px solid var(--border);
}
.ledger-tx-row-inner:last-child { border-bottom: none; }
.ledger-cell--player {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 16px; border-left: 3px solid var(--tc-color, var(--border));
  min-width: 0; overflow: hidden;
}
.ledger-player-name {
  font-size: 13px; font-weight: 600; color: var(--text-primary);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ledger-player-team {
  font-size: 12px; color: var(--text-muted); white-space: nowrap; flex-shrink: 0;
}
.ledger-cell--balance {
  display: flex; align-items: center;
  padding: 10px 12px; border-left: 1px solid var(--border);
  font-size: 13px; font-weight: 600; white-space: nowrap;
}
.ledger-cell--actions {
  display: flex; align-items: center; justify-content: center; gap: 4px;
  padding: 0 8px; border-left: 1px solid var(--border);
}
.ledger-cell--date, .ledger-cell--type, .ledger-cell--amount,
.ledger-cell--for, .ledger-cell--status, .ledger-cell--method {
  display: flex; align-items: center; padding: 10px 12px; border-left: 1px solid var(--border);
}
.ledger-cell--date { border-left: none; padding-left: 20px; }
.ledger-tx-head-modal {
  display: grid;
  grid-template-columns: 88px 80px 100px 1fr 130px;
  background: rgba(255,255,255,.015);
  border-bottom: 1px solid var(--border);
}
.ledger-tx-head-modal > div {
  font-size: 10px; font-weight: 700; letter-spacing: .06em; color: var(--text-muted); white-space: nowrap;
  display: flex; align-items: center; padding: 8px 12px; border-left: 1px solid var(--border);
}
.ledger-tx-head-modal > div:first-child { border-left: none; padding-left: 16px; }
.ledger-tx-row-modal {
  display: grid;
  grid-template-columns: 88px 80px 100px 1fr 130px;
  border-bottom: 1px solid var(--border);
}
.ledger-tx-row-modal:last-child { border-bottom: none; }
.ledger-icon-btn {
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 6px;
  background: none; border: 1px solid var(--border);
  color: var(--text-muted); cursor: pointer;
  transition: border-color .15s, color .15s;
}
.ledger-icon-btn:hover { border-color: var(--amber); color: var(--amber); }
.lgr-confirm-btn {
  margin-left: 6px; background: none; cursor: pointer;
  border: 1px solid var(--amber); border-radius: 4px;
  color: var(--amber); font-size: 10px; font-weight: 700;
  padding: 2px 7px; line-height: 1.4; vertical-align: middle;
  transition: background .12s, color .12s;
}
.lgr-confirm-btn:hover { background: var(--amber); color: #020817; }
.lgr-delete-btn {
  background: none; cursor: pointer;
  border: 1px solid var(--border); border-radius: 4px;
  color: var(--text-muted); font-size: 10px; font-weight: 700;
  padding: 2px 7px; line-height: 1.4;
  transition: border-color .12s, color .12s;
}
.lgr-delete-btn:hover { border-color: #ef4444; color: #ef4444; }

.site-nav__hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 4px;
  cursor: pointer;
  z-index: 101;
  position: relative;
  flex-shrink: 0;
}
.site-nav__hamburger-line {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--text);
  border-radius: 2px;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.site-nav__hamburger--open .site-nav__hamburger-line:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-nav__hamburger--open .site-nav__hamburger-line:nth-child(2) { opacity: 0; transform: scaleX(0); }
.site-nav__hamburger--open .site-nav__hamburger-line:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.header-rule {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08) 12%, rgba(255,255,255,0.08) 88%, transparent);
  margin: 22px 0 26px;
}

/* ── Card ───────────────────────────────────────────────────────────────── */
.card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

/* ── Team dot ───────────────────────────────────────────────────────────── */
.team-dot {
  display: block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
  align-self: center;
}

/* ── Team chip ──────────────────────────────────────────────────────────── */
.team-chip {
  display: inline-block;
  align-self: flex-start;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 3px 8px;
  border-radius: 5px;
}

/* ── Section divider ────────────────────────────────────────────────────── */
.section-divider {
  display: flex;
  align-items: center;
  gap: 14px
}
.section-divider__label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--text-muted);
  white-space: nowrap;
}
.section-divider__line {
  flex: 1;
  height: 1px;
  background: rgba(255,255,255,0.07);
}

/* ── Page wrapper ───────────────────────────────────────────────────────── */
.page-body {
  padding: 0 0 56px;
}

/* ── Footer ─────────────────────────────────────────────────────────────── */
.site-footer {
  border-top: 1px solid var(--border);
  margin-top: 64px;
  padding: 52px 0 40px;
  background: var(--bg);
}
.site-footer__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
}
.site-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-shrink: 0;
  max-width: 200px;
}
.site-footer__logo {
  font-family: 'Saira Condensed', system-ui, sans-serif;
  font-weight: 800;
  font-size: 1.15rem;
  letter-spacing: 0.06em;
  color: var(--amber);
  text-transform: uppercase;
}
.site-footer__tagline {
  font-size: 12px;
  color: var(--text-subtle);
  line-height: 1.5;
}
.site-footer__social {
  display: flex;
  gap: 12px;
  margin-top: 12px;
}
.site-footer__social-link {
  color: var(--text-muted);
  transition: color .15s;
  line-height: 0;
}
.site-footer__social-link:hover { color: var(--amber); }
.site-footer__groups {
  display: flex;
  gap: 64px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.site-footer__group { display: flex; flex-direction: column; gap: 10px; }
.site-footer__group-title {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-subtle);
  margin-bottom: 4px;
}
.site-footer__group a {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-muted);
  transition: color 0.15s;
}
.site-footer__group a:hover { color: var(--text); }
.site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 20px;
  border-top: 1px solid var(--border);
  margin-top: 40px;
  flex-wrap: wrap;
  gap: 12px;
}
.site-footer__legal {
  display: flex;
  gap: 20px;
}
.site-footer__legal a {
  font-size: 12px;
  color: var(--text-subtle);
  transition: color 0.15s;
}
.site-footer__legal a:hover { color: var(--text-muted); }
.site-footer__copy {
  font-size: 12px;
  color: var(--text-subtle);
}

@media (max-width: 640px) {
  .site-footer__inner { flex-direction: column; align-items: flex-start; gap: 32px; }
  .site-footer__groups { gap: 28px; justify-content: flex-start; }
  .site-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ── Legal pages ─────────────────────────────────────────────────────────── */
.legal-page { max-width: 760px; margin: 0 auto; }
.legal-header { margin-bottom: 24px; }
.legal-title { font-size: 1.75rem; font-weight: 700; margin: 0 0 8px; letter-spacing: -0.01em; }
.legal-updated { font-size: 13px; color: var(--text-subtle); margin: 0; }
.legal-card { padding: 32px; }
.legal-section { padding-bottom: 28px; margin-bottom: 28px; border-bottom: 1px solid var(--border); }
.legal-section:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: none; }
.legal-section__heading { font-size: 14px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--amber); margin: 0 0 12px; }
.legal-section__body p { font-size: 14px; color: var(--text-muted); line-height: 1.7; margin: 0 0 10px; }
.legal-section__body p:last-child { margin-bottom: 0; }
.legal-section__body ul { font-size: 14px; color: var(--text-muted); line-height: 1.7; margin: 0 0 10px; padding-left: 20px; }
.legal-section__body li { margin-bottom: 6px; }
.legal-section__body a { color: var(--amber); text-decoration: underline; text-underline-offset: 3px; }
.legal-section__body a:hover { color: var(--text); }
.legal-section__body strong { color: var(--text); font-weight: 600; }
@media (max-width: 640px) { .legal-card { padding: 20px; } }

/* ── Score ticker ───────────────────────────────────────────────────────── */
.ticker-wrap {
  position: relative;
  margin-bottom: 30px;
}
.ticker-wrap::before,
.ticker-wrap::after {
  content: '';
  position: absolute;
  top: 0; bottom: 4px;
  width: 56px;
  pointer-events: none;
  z-index: 2;
  transition: opacity 0.25s;
}
.ticker-wrap::before { left: 0;  background: linear-gradient(to right, var(--bg), transparent); }
.ticker-wrap::after  { right: 0; background: linear-gradient(to left,  var(--bg), transparent); }
.ticker-wrap.at-start::before { opacity: 0; }
.ticker-wrap.at-end::after   { opacity: 0; }
.ticker-nav {
  position: absolute;
  top: 50%;
  transform: translateY(calc(-50% - 2px));
  z-index: 3;
  width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 50%;
  color: var(--text-muted);
  cursor: pointer;
  padding: 0;
  transition: opacity 0.25s, color 0.15s, border-color 0.15s;
}
.ticker-nav:hover { color: var(--text); border-color: #334155; }
.ticker-nav--prev { left: 6px; }
.ticker-nav--next { right: 6px; }
.ticker-wrap.at-start .ticker-nav--prev { opacity: 0; pointer-events: none; }
.ticker-wrap.at-end   .ticker-nav--next { opacity: 0; pointer-events: none; }
.score-ticker {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 4px;
}
.score-ticker::-webkit-scrollbar { display: none; }
.score-ticker__card {
  min-width: 160px;
  flex-shrink: 0;
  scroll-snap-align: start;
  padding: 0;
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.15s;
}
.score-ticker__card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(to right, var(--tc-a) 50%, var(--tc-b) 50%);
}
.score-ticker__card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.3); }
.ticker-card--upcoming { opacity: 0.5; cursor: default; }
.ticker-card--upcoming:hover { box-shadow: none; }
.ticker-score--tbd { color: var(--text-muted); }
.ticker-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px 5px;
}
.ticker-date {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--text-subtle);
}
.ticker-status {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.07em;
}
.ticker-status--final { color: var(--text-subtle); }
.ticker-status--upcoming {
  color: var(--amber);
  background: rgba(245,147,50,0.1);
  padding: 2px 5px;
  border-radius: 3px;
}
.ticker-team-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 12px;
  border-top: 1px solid var(--border);
}
.ticker-team { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ticker-team-name {
  font-size: 11px;
  letter-spacing: 0.04em;
  font-weight: 600;
  color: var(--text-subtle);
  white-space: nowrap;
}
.ticker-score {
  font-size: 19px;
  font-weight: 700;
  color: var(--text-subtle);
  flex-shrink: 0;
}
.ticker-row--win .ticker-team-name { color: var(--text); font-weight: 700; }
.ticker-row--win .ticker-score     { color: #fff; font-size: 23px; font-weight: 800; }

/* ── Home main grid (hero + sidebar) ────────────────────────────────────── */
.home-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 18px;
  margin-bottom: 30px;
  align-items: stretch;
  min-height: 560px;
}

/* ── Hero carousel ──────────────────────────────────────────────────────── */
.hero-carousel {
  position: relative;
  height: 100%;
  min-height: 560px;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border);
}
.hero-carousel--empty {
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-carousel--empty__label {
  color: var(--text-subtle);
  font-size: 13px;
  letter-spacing: 0.1em;
}
.hero-slide { position: absolute; inset: 0; display: none; }
.hero-slide--active { display: block; }
.hero-bg { position: absolute; inset: 0; z-index: 0; background: var(--bg); overflow: hidden; }
.hero-bg img { width: 100%; height: 100%; object-fit: cover; transform-origin: center center; }
.hero-slide--active .hero-bg img { animation: kenburns 10s ease-out forwards; }
@keyframes kenburns {
  0%   { transform: scale(1)    translate(0%, 0%); }
  100% { transform: scale(1.08) translate(-1.5%, -1%); }
}
.hero-flare { position: absolute; inset: 0; z-index: 1; }
.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(180deg, rgba(10,14,22,0.55) 0%, rgba(10,14,22,0.15) 30%, rgba(10,14,22,0.55) 62%, rgba(10,14,22,0.96) 100%);
}
.hero-date {
  position: absolute;
  top: 18px;
  left: 22px;
  z-index: 3;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.55);
}
.hero-progress {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: rgba(255,255,255,0.08);
  z-index: 5;
  border-radius: 0 0 var(--radius) var(--radius);
  overflow: hidden;
}
.hero-progress__bar {
  height: 100%;
  width: 0%;
  background: var(--amber);
}
@keyframes hero-progress-fill {
  from { width: 0%; }
  to   { width: 100%; }
}
.hero-dots {
  position: absolute;
  top: 18px;
  right: 22px;
  z-index: 4;
  display: flex;
  gap: 7px;
  align-items: center;
}
.hero-dot {
  height: 4px;
  border-radius: 2px;
  cursor: pointer;
  transition: width 0.2s, background 0.2s;
}
.hero-scoreboard {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -58%);
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 46px;
}
.hero-team { text-align: center; }
.hero-team__name {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,0.5);
  margin-bottom: 6px;
}
.hero-team__name--winner { color: #fff; }
.hero-team__score {
  font-size: 118px;
  font-weight: 800;
  line-height: 0.9;
  color: rgba(255,255,255,0.42);
  text-shadow: 0 2px 20px rgba(0,0,0,0.9), 0 0 60px rgba(0,0,0,0.7);
}
.hero-team__score--winner { color: #fff; }
.hero-divider { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.hero-divider__line { width: 1px; height: 46px; background: rgba(255,255,255,0.25); }
.hero-divider__label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: rgba(255,255,255,0.55);
}
@media (max-width: 600px) {
  .hero-scoreboard { gap: 24px; }
  .hero-team__name { font-size: 11px; }
  .hero-team__score { font-size: 64px; }
  .hero-divider__line { height: 28px; }
}
.hero-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 26px 28px;
  z-index: 3;
}
.hero-title {
  margin: 0 0 10px;
  font-size: 23px;
  font-weight: 700;
  line-height: 1.25;
  color: #fff;
  max-width: 90%;
  text-wrap: pretty;
}
.hero-excerpt {
  margin: 0 0 16px;
  font-size: 13.5px;
  line-height: 1.6;
  color: rgba(231,234,240,0.72);
  max-width: 78%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--amber);
}
.hero-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(10,14,22,0.55);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.7);
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.hero-arrow--prev { left: 18px; }
.hero-arrow--next { right: 18px; }

/* ── Sidebar (reusable column pattern) ───────────────────────────────────── */
.sidebar { padding: 0; min-width: 0; overflow: hidden; }

/* ── Highlight card row ──────────────────────────────────────────────────── */
#potg-anchor { scroll-margin-top: 16px; }
.highlight-card {
  display: block;
  color: inherit;
  text-decoration: none;
  border-top: 1px solid var(--border);
  transition: background 0.15s;
}
.highlight-card:hover { background: rgba(255,255,255,0.025); }
.hc-empty { padding: 14px 18px; font-size: 13px; color: var(--text-muted); }
.hc-top {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px 10px;
}
.hc-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.hc-avatar {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: #181d28;
  border: 2px solid;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
.hc-avatar .font-condensed { font-size: 12px; color: #cdd3de; }
.hc-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hc-name {
  flex: 1;
  min-width: 0;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hc-stat-line {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--amber);
}
.hc-body {
  margin: 0;
  padding: 4px 14px 12px;
  font-size: 12px;
  line-height: 1.5;
  max-height: 70px;
  color: var(--text-muted);
  overflow: hidden;
}

/* ── League leaders grid ────────────────────────────────────────────────── */
/* ── Registration Mini Strip ─────────────────────────────────────────────── */
.reg-mini {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 9px 16px;
  margin-bottom: 20px;
  background: #060d18;
  border: 1px solid var(--border);
  border-top: 2px solid var(--amber);
  border-radius: var(--radius);
  position: relative;
  overflow: hidden;
}
.reg-mini::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 35% 150% at 0% 50%, rgba(245,147,50,.1) 0%, transparent 60%);
  pointer-events: none;
}
.reg-mini__pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #22c55e;
  background: rgba(34,197,94,.12);
  border: 1px solid rgba(34,197,94,.3);
  padding: 2px 9px 2px 7px;
  border-radius: 99px;
  white-space: nowrap;
  flex-shrink: 0;
}
.reg-mini__text {
  font-size: 13px;
  color: var(--text-muted);
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.reg-mini__text strong { color: #cbd5e1; font-weight: 600; }
.reg-mini__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--amber);
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: opacity .15s;
}
.reg-mini__cta:hover { opacity: .7; }

/* ── Member Season Signup Banner ─────────────────────────────────────────── */
.member-signup-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 22px;
  margin-bottom: 28px;
  background: #060d18;
  border: 1px solid rgba(245,147,50,.28);
  border-top: 3px solid var(--amber);
  border-radius: var(--radius);
  position: relative;
  overflow: hidden;
}
.member-signup-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 45% 180% at 0% 50%, rgba(245,147,50,.16) 0%, transparent 60%);
  pointer-events: none;
}
.member-signup-banner__copy {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  position: relative;
  z-index: 1;
}
.member-signup-banner__pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  color: var(--amber);
  text-transform: uppercase;
  background: rgba(245,147,50,.14);
  border: 1px solid rgba(245,147,50,.35);
  padding: 5px 12px 5px 10px;
  border-radius: 99px;
  white-space: nowrap;
  flex-shrink: 0;
}
.member-signup-banner__msg {
  font-size: 13.5px;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.member-signup-banner__cta {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 800;
  letter-spacing: .02em;
  color: #0a0e16;
  background: var(--amber);
  text-decoration: none;
  white-space: nowrap;
  border-radius: 8px;
  padding: 10px 20px;
  transition: opacity .15s;
  flex-shrink: 0;
}
.member-signup-banner__cta:hover { opacity: .88; }
@media (max-width: 640px) {
  .member-signup-banner { flex-wrap: wrap; }
  .member-signup-banner__copy { flex-wrap: wrap; }
}

/* ── Registration Banner ─────────────────────────────────────────────────── */
.reg-banner {
  margin: 20px 0 28px;
  position: relative;
  overflow: hidden;
  background: #060d18;
  border: 1px solid var(--border);
  border-top: 2px solid var(--amber);
  border-radius: var(--radius);
}
.reg-banner__glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 55% 140% at 0% 50%, rgba(245,147,50,.13) 0%, transparent 65%);
  pointer-events: none;
}
.reg-banner__arc {
  position: absolute;
  right: -100px;
  top: 50%;
  transform: translateY(-50%);
  width: 260px;
  height: 260px;
  border-radius: 50%;
  border: 1px solid rgba(245,147,50,.08);
  pointer-events: none;
}
.reg-banner__arc::after {
  content: '';
  position: absolute;
  inset: 22px;
  border-radius: 50%;
  border: 1px solid rgba(245,147,50,.05);
}
.reg-banner__inner {
  max-width: 1640px;
  margin: 0 auto;
  padding: 24px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  position: relative;
}
.reg-banner__copy { min-width: 0; }
.reg-banner__eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}
.reg-banner__pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #22c55e;
  background: rgba(34,197,94,.12);
  border: 1px solid rgba(34,197,94,.3);
  padding: 3px 10px 3px 8px;
  border-radius: 99px;
}
.reg-banner__season-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.reg-banner__headline {
  font-size: 22px;
  font-weight: 800;
  color: #e2e8f0;
  line-height: 1.15;
  margin: 0 0 5px;
  letter-spacing: -.01em;
}
.reg-banner__deadline {
  font-size: 12.5px;
  color: var(--text-muted);
  margin: 0;
}
.reg-banner__deadline strong { color: #cbd5e1; font-weight: 600; }
.reg-banner__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--amber);
  color: #10141d;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 14px 32px;
  border-radius: 8px;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .15s, transform .12s, box-shadow .15s;
  box-shadow: 0 4px 16px rgba(245,147,50,.25);
}
.reg-banner__cta:hover {
  background: #f9a84c;
  transform: translateY(-1px);
  box-shadow: 0 6px 24px rgba(245,147,50,.35);
}
.reg-banner__cta:active { transform: translateY(0); }

/* ── Leaders carousel ────────────────────────────────────────────────────── */
.leaders-carousel { position: relative; }
.leaders-carousel::before,
.leaders-carousel::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 60px;
  pointer-events: none;
  z-index: 1;
}
.leaders-carousel::before { left: 0;  background: linear-gradient(to right, var(--bg), transparent); }
.leaders-carousel::after  { right: 0; background: linear-gradient(to left,  var(--bg), transparent); }
.lc-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: rgba(13,20,36,0.85);
  color: var(--text-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s;
}
.lc-nav:hover { color: var(--text); border-color: var(--text-muted); }
.lc-nav--prev { left: 6px; }
.lc-nav--next { right: 6px; }
.lc-track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.lc-track::-webkit-scrollbar { display: none; }
.leader-card {
  scroll-snap-align: start;
  flex-shrink: 0;
  width: calc((100% - 5 * 14px) / 6);
  padding: 20px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.leader-cat {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--amber);
  margin-bottom: 4px;
}
.leader-title {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-subtle);
  margin-bottom: 14px;
}
.leader-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #181d28;
  border: 2px solid;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 13px;
  position: relative;
  overflow: hidden;
}
.leader-avatar .font-condensed { font-size: 26px; color: #cdd3de; }
.leader-name { font-size: 13px; font-weight: 700; color: #f4f6fa; margin-bottom: 7px; width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.leader-chip { margin-bottom: 14px; margin-left: auto; margin-right: auto; }
.leader-stat { font-size: 42px; font-weight: 800; line-height: 1; color: var(--amber); }

/* ── Standings page ─────────────────────────────────────────────────────── */
.standings-dual {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: start;
}
@media (max-width: 900px) {
  .standings-dual { grid-template-columns: 1fr; }
}

.standings-season {
  font-size: 11px;
  font-weight: 700;
  color: var(--text-subtle);
  letter-spacing: 0.08em;
  flex-shrink: 0;
}
.standings-main { min-width: 0; }
.standings-table { padding: 0; overflow: hidden; }
.standings-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.standings-scroll::-webkit-scrollbar { display: none; }
/* Default: standings columns visible, H2H columns hidden */
.standings-scroll > * { min-width: 480px; }
.standings-scroll .st-h2h { display: none; }
/* H2H mode: swap column sets and grid template */
.standings-scroll.mode-h2h .st-std { display: none; }
.standings-scroll.mode-h2h .st-h2h { display: flex; }
.standings-scroll.mode-h2h .standings-row {
  grid-template-columns: 44px 1fr repeat(var(--st-h2h-count), 1fr);
}
/* H2H cell colours — scoped to beat .standings-cell specificity */
.standings-scroll .st-h2h--win  { color: #4ade80; font-weight: 700; }
.standings-scroll .st-h2h--loss { color: #f87171; }
.standings-scroll .st-h2h--self,
.standings-scroll .st-h2h--none { color: rgba(255,255,255,0.15); }

.standings-row {
  display: grid;
  grid-template-columns: 44px 1fr 56px 56px 72px 56px 56px 64px;
  align-items: stretch;
  border-bottom: 1px solid var(--border);
  transition: background 0.12s;
}
.standings-row:not(.standings-row--head):hover { background: rgba(255,255,255,0.025); }
.standings-row:last-child { border-bottom: none; }
.standings-row--head {
  background: rgba(255,255,255,0.02);
  border-bottom: 1px solid var(--border);
}
/* First place highlight */
.standings-row--first { background: rgba(245,147,50,0.03); }
.standings-row--divider { border-bottom: 2px solid var(--amber); }
.standings-cell {
  display: flex;
  align-items: center;
  font-size: 13px;
  color: var(--text-muted);
  padding: 0 8px;
  min-height: 56px;
}
.standings-row--head .standings-cell { min-height: 36px; }
.standings-cell--seed {
  padding: 0 4px 0 10px;
  justify-content: flex-start;
  position: sticky;
  left: 0;
  z-index: 2;
  background: var(--surface);
  border-left: 3px solid var(--tc-color, var(--border));
}
.standings-row--first .standings-cell--seed { background: #0d1520; }
.standings-row--head .standings-cell--seed { border-left-color: transparent; background: #0e1526; }
.standings-cell--team {
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
  letter-spacing: 0.02em;
  padding-left: 4px;
  position: sticky;
  left: 44px;
  z-index: 2;
  background: var(--surface);
  min-width: 0;
}
/* Sticky shadow via gradient (consistent with other tables) */
.standings-cell--team::after {
  content: '';
  position: absolute;
  top: 0; right: -14px; bottom: 0;
  width: 14px;
  background: linear-gradient(to right, rgba(0,0,0,0.2), transparent);
  pointer-events: none;
}
.standings-row--head .standings-cell--team {
  background: color-mix(in srgb, var(--surface) 100%, white 2%);
  justify-content: flex-start;
}
.standings-cell--num {
  justify-content: center;
  font-size: 13px;
  border-left: 1px solid var(--border);
  padding: 0 6px;
}
/* PCT visual fill bar */
.standings-row--head .standings-cell {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.07em;
  color: var(--text-subtle);
}
.standings-row--head .standings-cell--team { justify-content: flex-start; }
.standings-cell--w { color: #4ade80; font-weight: 700; font-size: 15px; }
.standings-cell--l { color: var(--text-muted); }
.standings-cell--gb  { color: var(--text-subtle); }
.standings-cell--quo { color: var(--text-subtle); font-size: 12px; }
.standings-cell--diff { font-weight: 600; }
.diff--pos { color: #4ade80; }
.diff--neg { color: #f87171; }
.standings-seed {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
}
.seed--top { background: var(--amber); color: #000; }
.seed--mid { background: rgba(255,255,255,0.07); color: var(--text-muted); }
.standings-badge {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--amber);
  background: rgba(245,147,50,0.12);
  border: 1px solid rgba(245,147,50,0.3);
  border-radius: 4px;
  padding: 1px 5px;
}
.standings-team-name { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.standings-badge { flex-shrink: 0; }
/* Team badge for stat panels (no player avatar) */
.st-team-badge {
  width: 36px; height: 36px; border-radius: 50%;
  flex-shrink: 0; opacity: 0.85;
}

/* ── Head-to-head matrix ────────────────────────────────────────────────── */
.h2h-card { padding: 0; overflow: hidden; }
.h2h-grid-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.h2h-grid-wrap::-webkit-scrollbar { display: none; }
.h2h-legend { display: flex; align-items: center; gap: 8px; padding-right: 8px; }
.h2h-legend__item {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 2px 7px;
  border-radius: 4px;
}
.h2h-legend__win  { background: rgba(74,222,128,0.12); color: #4ade80; }
.h2h-legend__loss { background: rgba(248,113,113,0.1); color: #f87171; }

.h2h-grid {
  display: grid;
  grid-template-columns: minmax(90px,1.4fr) repeat(calc(var(--h2h-cols) - 1), 1fr);
  gap: 1px;
  background: var(--border);
}
.h2h-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  font-family: 'Archivo', sans-serif;
  color: var(--text-muted);
  min-height: 52px;
  background: var(--surface);
}
.h2h-cell--corner {
  background: var(--surface);
  position: sticky;
  left: 0;
  z-index: 2;
  overflow: visible;
}
.h2h-cell--col-head {
  min-height: 40px;
  background: var(--surface);
}
.h2h-cell--row-head {
  justify-content: flex-start;
  gap: 10px;
  padding: 0 16px;
  font-size: 12px;
  font-weight: 700;
  font-family: 'Archivo', sans-serif;
  color: var(--text);
  background: var(--surface);
  letter-spacing: 0.02em;
  position: sticky;
  left: 0;
  z-index: 1;
  overflow: visible;
}
.h2h-cell--corner::after,
.h2h-cell--row-head::after {
  content: '';
  position: absolute;
  top: 0;
  right: -14px;
  width: 14px;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(to right, rgba(0,0,0,0.18), transparent);
  opacity: 0;
  transition: opacity 0.15s;
}
.h2h-grid-wrap.is-scrolled .h2h-cell--corner::after,
.h2h-grid-wrap.is-scrolled .h2h-cell--row-head::after { opacity: 1; }
.h2h-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.h2h-cell--col-head .h2h-dot { width: 10px; height: 10px; }

.h2h-cell--self { color: rgba(255,255,255,0.12); font-weight: 400; }
.h2h-cell--none { color: rgba(255,255,255,0.12); font-weight: 400; }
.h2h-cell--win  { color: #4ade80; }
.h2h-cell--loss { color: #f87171; }
.h2h-cell--split { color: var(--text-muted); }
.h2h-sep { color: rgba(255,255,255,0.2); margin: 0 1px; font-weight: 400; }

@media (max-width: 640px) {
  .standings-cell { font-size: 12px; min-height: 50px; padding: 0 6px; }
  .standings-cell--seed { padding: 0 2px 0 8px; }
  .standings-cell--num { padding: 0 4px; }
  .standings-cell--team { font-size: 13px; gap: 6px; }
  .standings-cell--w { font-size: 14px; }
  .standings-seed { width: 18px; height: 18px; font-size: 10px; }
  .standings-row--head .standings-cell { min-height: 34px; }
  .h2h-th, .h2h-td { padding: 10px 12px; font-size: 12px; }
  .tstat-grid { grid-template-columns: 1fr; }
  .leaders-page-grid { grid-template-columns: 1fr; }
}

/* ── H2H / Team Stats tab bar ───────────────────────────────────────────── */
.h2h-tabs-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 4px 0 0;
  border-bottom: 1px solid var(--border);
}
.h2h-tabs {
  display: flex;
  flex: 1;
}
.h2h-tab {
  padding: 13px 20px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-subtle);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
  margin-bottom: -1px;
  letter-spacing: 0.01em;
}
.h2h-tab:hover { color: var(--text-muted); }
.h2h-tab--active { color: var(--text); border-bottom-color: var(--amber); }
.h2h-stats-toggle {
  display: flex;
  gap: 4px;
  padding: 6px 0;
}

/* ── Stat Charts ─────────────────────────────────────────────────────────── */
.sc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border);
}
.sc-card {
  background: var(--surface);
  padding: 18px 20px;
}
.sc-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 14px;
}
.sc-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
  color: var(--amber);
  text-transform: uppercase;
}
.sc-title {
  font-size: 11px;
  color: var(--text-subtle);
}
.sc-row {
  display: grid;
  grid-template-columns: 10px 1fr 40px;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.sc-row:last-child { margin-bottom: 0; }
.sc-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}
.sc-track {
  height: 5px;
  background: rgba(255,255,255,0.06);
  border-radius: 3px;
  overflow: hidden;
}
.sc-fill {
  height: 100%;
  border-radius: 3px;
  opacity: 0.75;
}
.sc-val {
  font-size: 12px;
  font-weight: 700;
  color: var(--text);
  text-align: right;
  white-space: nowrap;
}
@media (max-width: 900px) { .sc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px)  { .sc-grid { grid-template-columns: 1fr; } }

/* ── Team Stat Bars (legacy, kept for other uses) ───────────────────────── */
.tstat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
@media (max-width: 900px) { .tstat-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .tstat-grid { grid-template-columns: 1fr; } }
.tstat-card { padding: 14px 16px; }
.tstat-head {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin-bottom: 12px;
}
.tstat-label {
  font-family: 'Saira Condensed', system-ui, sans-serif;
  font-size: 15px;
  font-weight: 800;
  color: var(--amber);
  letter-spacing: 0.04em;
}
.tstat-title {
  font-size: 11px;
  color: var(--text-subtle);
  font-weight: 500;
}
.tstat-row {
  display: grid;
  grid-template-columns: 14px 10px 1fr auto 36px;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
  min-height: 22px;
}
.tstat-row:last-child { margin-bottom: 0; }
.tstat-rank { font-size: 10px; color: var(--text-subtle); text-align: right; }
.tstat-name { font-size: 11px; font-weight: 600; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tstat-bar-wrap { height: 14px; background: rgba(255,255,255,0.03); border-radius: 2px; overflow: hidden; }
.tstat-bar { height: 100%; border-radius: 2px; transition: width 0.3s; }
.tstat-val { font-size: 12px; font-weight: 700; color: var(--text); text-align: right; font-family: 'Saira Condensed', system-ui, sans-serif; }

/* ── Offense vs Defense ─────────────────────────────────────────────────── */
.ov-power-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 0;
}
@media (max-width: 700px) {
  .ov-power-grid { grid-template-columns: 1fr; }
}
.ov-card { padding: 12px; }
.ov-svg { width: 100%; display: block; }

/* ── Power Rankings ─────────────────────────────────────────────────────── */
.power-card { padding: 16px 20px; display: flex; flex-direction: column; gap: 12px; }
.power-row {
  display: grid;
  grid-template-columns: 20px 10px 1fr auto 36px;
  align-items: center;
  gap: 8px;
}
.power-rank {
  font-size: 12px;
  font-weight: 700;
  color: var(--text-subtle);
  text-align: right;
}
.power-rank--top { color: var(--amber); }
.power-name { font-size: 13px; font-weight: 700; color: var(--text); letter-spacing: 0.02em; }
.power-bar-wrap { height: 6px; background: rgba(255,255,255,0.05); border-radius: 3px; overflow: hidden; }
.power-bar { height: 100%; border-radius: 3px; opacity: 0.8; }
.power-score { font-size: 14px; color: var(--text-muted); text-align: right; }

/* ── Leaders page ───────────────────────────────────────────────────────── */
.leaders-page-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 16px;
}
.leader-panel {
  padding: 0;
  position: relative;
  overflow: hidden;
}
/* Team color top strip */
.leader-panel::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(to right, var(--lp-color, var(--amber)), transparent 70%);
  z-index: 1;
}
.leader-panel__head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 16px 12px;
  border-bottom: 1px solid var(--border);
}
.leader-panel__cat { font-size: 11px; font-weight: 800; letter-spacing: 0.12em; color: var(--amber); }
.leader-panel__title { font-size: 11px; font-weight: 600; color: var(--text-muted); }
.leader-panel__min { font-size: 9.5px; color: var(--text-subtle); }
.leader-panel__actions {
  margin-left: auto;
  display: flex;
  gap: 6px;
}
.leader-panel__share {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  background: none;
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text-subtle);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
  white-space: nowrap;
  line-height: 1;
}
.leader-panel__share:hover { color: var(--amber); border-color: var(--amber); }
.leader-panel__share--copied { color: var(--amber) !important; border-color: var(--amber) !important; }
.leader-panel__top {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 16px;
  border-bottom: 1px solid var(--border);
}
.leader-panel__top .leader-avatar { width: 56px; height: 56px; flex-shrink: 0; margin-bottom: 0; }
.leader-panel__top .leader-avatar .font-condensed { font-size: 22px; }
.leader-panel__info { flex: 1; min-width: 0; }
.leader-panel__name { font-size: 13px; font-weight: 700; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis }
.leader-panel__stat { font-size: 38px; font-weight: 800; color: var(--amber); line-height: 1; flex-shrink: 0; }
.leader-panel__list { padding: 4px 0; }
.leader-panel__row {
  position: relative;
  display: grid;
  grid-template-columns: 18px 8px 1fr auto;
  align-items: center;
  gap: 0 8px;
  padding: 8px 14px 8px 10px;
  border-bottom: 1px solid var(--border);
  overflow: hidden;
}
/* Full-height background bar */
.leader-panel__row::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: var(--bar-w, 0%);
  background: var(--bar-color, var(--border));
  opacity: 0.015;
  pointer-events: none;
  transition: width 0.4s ease;
}
.leader-panel__row:last-child { border-bottom: none; }
.leader-panel__rank {
  font-size: 10px; font-weight: 700; color: var(--text-subtle);
  text-align: right; font-family: 'Saira Condensed', sans-serif;
  position: relative; z-index: 1;
}
.leader-panel__row-name {
  font-size: 11.5px; font-weight: 600; color: var(--text-muted);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  position: relative; z-index: 1;
}
.leader-panel__row-stat {
  font-size: 14px; font-weight: 700; color: var(--text);
  flex-shrink: 0; position: relative; z-index: 1;
}

/* ── Leaders toggle ─────────────────────────────────────────────────────── */
.leaders-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.leaders-season-pills {
  display: flex;
  gap: 6px;
  align-items: center;
}
.season-pill {
  padding: 5px 13px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.season-pill--active {
  background: var(--surface);
  border-color: var(--amber);
  color: var(--text);
}
.leaders-toggle {
  display: flex;
  gap: 4px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 3px;
}
.leaders-toggle__btn {
  padding: 5px 14px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  border-radius: 6px;
  border: none;
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
}
.leaders-toggle__desc {
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.02em;
  opacity: 0.65;
  line-height: 1;
}
.leaders-toggle__btn--active {
  background: var(--amber);
  color: #000;
}


/* ── Record panel extras ────────────────────────────────────────────────── */
.record-panel__ctx {
  display: block;
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 6px;
  line-height: 1.4;
}
.record-ctx--w { color: #4ade80; }
.record-ctx--l { color: #f87171; }
.record-panel__row {
  display: grid;
  grid-template-columns: 18px 8px 1fr auto;
  align-items: center;
  gap: 0 8px;
  padding: 8px 14px 8px 10px;
  border-bottom: 1px solid var(--border);
}
.record-panel__row:last-child { border-bottom: none; }
.record-panel__row-name { font-size: 11.5px; font-weight: 600; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.record-panel__row-game { font-size: 10px; color: var(--text-muted); text-decoration: none; transition: color 0.15s; opacity: 0.75; margin-left: 6px; }
.record-panel__row-game:hover { color: var(--amber); opacity: 1; }
.record-panel__row-val  { font-size: 14px; font-weight: 700; color: var(--text); }
.record-panel__row-ctx  { font-size: 11px; color: var(--text-muted); flex-shrink: 0; text-align: right; text-decoration: none; transition: color 0.15s; }
.record-panel__ctx:hover { color: var(--text); }

/* ── Admin game panel (right sidebar) ──────────────────────────────────── */
.card-label--admin { color: var(--amber); border-color: var(--amber); }
.admin-game-panel { display: flex; flex-direction: column; gap: 0; }
.agp-section { padding: 14px 16px; border-top: 1px solid var(--border); }
.agp-section:first-of-type { border-top: none; }
.agp-label { font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 8px; display: block; }
.agp-cover-preview { width: 100%; aspect-ratio: 16/9; background: var(--bg); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; margin-bottom: 8px; display: flex; align-items: center; justify-content: center; }
.agp-cover-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.agp-cover-empty { font-size: 12px; color: var(--text-subtle, var(--text-muted)); }
.agp-cover-actions { display: flex; gap: 8px; }
.agp-file-btn { font-size: 12px; font-weight: 600; padding: 5px 12px; border-radius: 6px; background: var(--amber); color: #000; cursor: pointer; border: none; }
.agp-remove-btn { font-size: 12px; padding: 5px 12px; border-radius: 6px; background: transparent; border: 1px solid var(--border); color: var(--text-muted); cursor: pointer; }
.agp-remove-btn:hover { border-color: #f87171; color: #f87171; }
.agp-row { display: flex; gap: 8px; }
.agp-input { flex: 1; background: var(--bg); border: 1px solid var(--border); border-radius: 6px; padding: 6px 10px; color: var(--text); font-size: 13px; min-width: 0; }
.agp-input:focus { outline: none; border-color: var(--amber); }
.agp-save-btn { font-size: 12px; font-weight: 600; padding: 6px 12px; border-radius: 6px; background: var(--surface); border: 1px solid var(--border); color: var(--text); cursor: pointer; white-space: nowrap; flex-shrink: 0; }
.agp-save-btn:hover { border-color: var(--amber); color: var(--amber); }
.agp-status { font-size: 11px; color: var(--amber); display: block; margin-top: 6px; min-height: 16px; }


/* ── Coming soon ────────────────────────────────────────────────────────── */
.coming-soon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 80px 24px;
  gap: 16px;
}
.coming-soon__eyebrow {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: var(--amber);
  text-transform: uppercase;
}
.coming-soon__title {
  font-size: 48px;
  font-weight: 800;
  color: var(--text);
  line-height: 1;
  margin: 0;
}
.coming-soon__desc {
  font-size: 14px;
  color: var(--text-muted);
  max-width: 360px;
  margin: 0;
  line-height: 1.6;
}
.coming-soon__back {
  margin-top: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--amber);
  text-decoration: none;
}
.coming-soon__back:hover { text-decoration: underline; }

/* ── Leader share page ──────────────────────────────────────────────────── */
.lsp {
  max-width: 680px;
  margin: 36px auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 0 16px 40px;
}
.lsp-eyebrow {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--text-muted);
}
.lsp-eyebrow__cat { font-weight: 800; letter-spacing: 0.16em; }
.lsp-eyebrow__sep { color: var(--border); }

/* Hero */
.lsp-hero {
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 28px 32px;
  position: relative;
  overflow: hidden;
  border-top: 4px solid var(--accent, var(--amber));
}
.lsp-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--accent, var(--amber)) 0%, transparent 55%);
  opacity: 0.07;
  pointer-events: none;
}
.lsp-avatar {
  flex-shrink: 0;
  width: 108px;
  height: 108px;
  border-radius: 50%;
  border: 3px solid;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.04);
  position: relative;
  z-index: 1;
}
.lsp-avatar .font-condensed { font-size: 34px; font-weight: 800; line-height: 1; }
/* Shared: photo overlays initials in all avatar types */
.leader-avatar img,
.ldr-avatar img,
.potg-card__avatar img,
.lsp-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* When an avatar is rendered as <a>, suppress anchor defaults */
a.leader-avatar, a.ldr-avatar, a.potg-card__avatar, a.lsp-avatar { text-decoration: none; }
/* Player name links — inherit container color, amber on hover */
a.player-link { color: inherit; text-decoration: none; transition: color 0.15s; }
a.player-link:hover { color: var(--amber); }
.lsp-hero__info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  position: relative;
  z-index: 1;
}
.lsp-hero__stat {
  font-size: 84px;
  font-weight: 800;
  line-height: 1;
  color: var(--text);
  letter-spacing: -0.02em;
}
.lsp-hero__stat-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--text-muted);
}
.lsp-hero__name {
  font-size: 22px;
  font-weight: 800;
  color: var(--text);
  letter-spacing: 0.05em;
  margin-top: 10px;
}
.lsp-hero__chips { margin-top: 6px; }

/* Rankings */
.lsp-rankings { padding: 0; overflow: hidden; }
.lsp-rankings__head {
  padding: 13px 20px;
  border-bottom: 1px solid var(--border);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.18em;
  color: var(--text-muted);
}
.lsp-rows { padding: 0; }
.lsp-row {
  display: grid;
  grid-template-columns: 26px 10px 1fr 140px 52px;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  border-bottom: 1px solid var(--border);
  transition: background 0.12s;
}
.lsp-row:last-child { border-bottom: none; }
.lsp-row:hover { background: rgba(255,255,255,0.025); }
.lsp-row--first { background: rgba(255,255,255,0.025); }
.lsp-row__rank {
  font-size: 12px;
  font-weight: 800;
  color: var(--text-subtle);
  text-align: right;
}
.lsp-row__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  align-self: center;
}
.lsp-row__name {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lsp-row--first .lsp-row__name { color: var(--text); font-weight: 700; }
.lsp-row__bar-wrap {
  height: 6px;
  background: rgba(255,255,255,0.04);
  border-radius: 3px;
  overflow: hidden;
}
.lsp-row__bar {
  height: 6px;
  border-radius: 3px;
  animation: lspBarGrow 0.55s cubic-bezier(0.4,0,0.2,1) both;
}
@keyframes lspBarGrow { from { width: 0 } to { width: var(--w, 0%) } }
.lsp-row__val {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-muted);
  text-align: right;
}
.lsp-row__val--first { font-weight: 800; font-size: 14px; }

/* Nav */
.lsp-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2px 2px;
}
.lsp-nav__back {
  font-size: 13px;
  font-weight: 600;
  color: var(--amber);
  text-decoration: none;
  letter-spacing: 0.03em;
}
.lsp-nav__back:hover { text-decoration: underline; }
.lsp-nav__brand {
  font-size: 10px;
  color: var(--text-subtle);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media (max-width: 520px) {
  .lsp-hero { flex-direction: column; align-items: flex-start; gap: 16px; padding: 22px 20px; }
  .lsp-avatar { width: 80px; height: 80px; }
  .lsp-hero__stat { font-size: 64px; }
  .lsp-hero__name { font-size: 18px; margin-top: 6px; }
  .lsp-row { grid-template-columns: 22px 10px 1fr 80px 44px; gap: 8px; padding: 9px 14px; }
}

/* ── Game detail layout ─────────────────────────────────────────────────── */
.game-detail-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 24px;
  align-items: start;
  margin-bottom: 40px;
}
.game-detail-left { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.game-detail-right { display: flex; flex-direction: column; gap: 14px; }

/* ── Sidebar hero (video or cover) ──────────────────────────────────────── */
.sidebar-hero {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--border);
}
.sidebar-hero--video {
  aspect-ratio: 16 / 9;
  border: none;
  border-radius: var(--radius);
}
.sidebar-hero__bg { position: absolute; inset: 0; z-index: 0; background: var(--bg); }
.sidebar-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.sidebar-hero__flare { position: absolute; inset: 0; z-index: 1; }
.sidebar-hero__iframe { width: 100%; height: 100%; display: block; border-radius: var(--radius); }

/* ── Score card ─────────────────────────────────────────────────────────── */
.game-score-card {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  padding: 26px 16px;
}
.game-score-card__board {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
}
.game-score-card__team { text-align: center; }
.game-score-card__team-name {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: rgba(255,255,255,0.35);
  margin-bottom: 6px;
}
.game-score-card__team-name--winner { color: #fff; }
.game-score-card__pts {
  font-size: 86px;
  font-weight: 800;
  line-height: 0.9;
  color: rgba(255,255,255,0.25);
}
.game-score-card__pts--winner { color: #fff; }
.game-score-card__divider {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.game-score-card__divider-line { width: 1px; height: 38px; background: rgba(255,255,255,0.15); }
.game-score-card__divider-label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: rgba(255,255,255,0.35);
}
.game-score-card__footer {
  margin-top: 16px;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: rgba(255,255,255,0.3);
  text-align: center;
}

/* ── Game tabs ──────────────────────────────────────────────────────────── */
.game-tabs { overflow: hidden; }
.game-tabs__nav {
  display: flex;
  border-bottom: 1px solid var(--border);
  padding: 0 4px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.game-tabs__nav::-webkit-scrollbar { display: none; }
.game-tabs__tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 14px 18px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-muted);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color 0.15s, border-color 0.15s;
  white-space: nowrap;
  flex-shrink: 0;
}
.game-tabs__tab .team-dot { width: 8px; height: 8px; }
.game-tabs__tab--active { color: #fff; border-bottom-color: var(--amber); }
.game-tabs__tab:hover:not(.game-tabs__tab--active) { color: var(--text); }
.tab-win-dot { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--amber); vertical-align: middle; margin-left: 4px; margin-bottom: 1px; }
.game-tabs__body { padding: 0; }
.game-tabs__body--hidden { display: none; }
.adm-recap-body { padding: 20px 24px 24px; }
.tabs-empty { padding: 32px 20px; color: var(--text-subtle); font-size: 13px; }

/* ── Team Comparison ────────────────────────────────────────────────────── */
.comp-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid var(--border);
}
.comp-head__label { font-size: 10px; font-weight: 800; letter-spacing: 0.1em; color: var(--text); }
.comp-head__sub { font-size: 10px; color: var(--text-subtle); }
.comp-teams {
  display: grid;
  grid-template-columns: 1fr 70px 1fr;
  padding: 8px 20px;
  border-bottom: 1px solid var(--border);
}
.comp-team-name { font-size: 10px; font-weight: 800; letter-spacing: 0.1em; text-align: right; }
.comp-team-name--b { text-align: left; }
.comp-team-label { font-size: 10px; font-weight: 700; letter-spacing: 0.08em; color: var(--text-subtle); text-align: center; }
.comp-row {
  display: grid;
  grid-template-columns: 1fr 70px 1fr;
  grid-template-rows: auto 2px;
  padding: 10px 20px 0;
  border-bottom: 1px solid var(--border);
}
.comp-row:last-child { border-bottom: none; margin-bottom: 16px; }

/* ── Play-by-Play tab ───────────────────────────────────────────────────── */
.pbp-tab {
  padding: 0 0 8px; max-height: 480px; overflow-y: auto;
  scrollbar-width: thin; scrollbar-color: var(--border) transparent;
}
.pbp-tab::-webkit-scrollbar { width: 6px; }
.pbp-tab::-webkit-scrollbar-track { background: transparent; }
.pbp-tab::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }
.pbp-tab::-webkit-scrollbar-thumb:hover { background: var(--text-muted); }
.pbp-quarter { margin-bottom: 4px; }
.pbp-q-header {
  display: grid; grid-template-columns: 1fr 44px 1fr;
  gap: 6px; align-items: center;
  padding: 8px 16px; border-bottom: 1px solid var(--border);
  position: sticky; top: 0; background: var(--surface); z-index: 1;
}
.pbp-q-team {
  font-size: 10px; font-weight: 800; letter-spacing: .08em;
  text-transform: uppercase; color: var(--text-muted); text-align: right;
}
.pbp-q-team--b { text-align: left; }
.pbp-q-label {
  font-size: 11px; font-weight: 800; letter-spacing: .1em;
  color: var(--amber); text-align: center;
}
.pbp-row {
  display: grid; grid-template-columns: 1fr 44px 1fr;
  gap: 6px; align-items: center;
  padding: 4px 16px; font-size: 12px; color: var(--text);
  border-bottom: 1px solid rgba(30,41,59,.5); min-height: 26px;
}
.pbp-cell { line-height: 1.4; }
.pbp-cell--a { text-align: right; }
.pbp-cell--b { text-align: left; }
.pbp-clock {
  font-size: 11px; color: var(--text-muted); text-align: center;
}
.pbp-full { grid-column: 1 / -1; text-align: center; }
.pbp-row--neutral {
  font-size: 11px; color: var(--text-muted);
  padding: 4px 16px; border-bottom: 1px solid rgba(30,41,59,.4);
}
.pbp-row--end {
  font-size: 11px; font-weight: 700; color: var(--text-muted);
  background: var(--bg); border-bottom: 1px solid var(--border); padding: 6px 16px;
}

/* ── Game Leaders tab ───────────────────────────────────────────────────── */
.ldr-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: auto 2px;
  padding: 10px 20px 0;
  border-bottom: 1px solid var(--border);
}
.ldr-row:last-child { border-bottom: none; margin-bottom: 16px; }
.ldr-col { display: flex; flex-direction: column; gap: 6px; padding-bottom: 10px; min-width: 0; }
.ldr-col--a { align-items: flex-end; }
.ldr-col--b { align-items: flex-start; }
.ldr-player { display: flex; align-items: center; gap: 8px; min-width: 0; max-width: 180px; }
.ldr-avatars { display: flex; flex-shrink: 0; }
.ldr-avatars .ldr-avatar + .ldr-avatar { margin-left: -10px; }
.ldr-names { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ldr-col--a .ldr-names { align-items: flex-end; }
.ldr-center { display: flex; align-items: center; gap: 10px; padding: 0 14px; flex-shrink: 0; }
.ldr-avatar {
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--bg); border: 2px solid;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; position: relative; overflow: hidden;
}
.ldr-avatar span { font-size: 10px; font-weight: 700; color: var(--text-muted); }
.ldr-val { font-size: 15px; font-weight: 700; color: var(--text); line-height: 1; min-width: 28px; text-align: center; }
.ldr-val--empty { color: var(--text-subtle); }
.ldr-cat { font-size: 9px; font-weight: 700; letter-spacing: 0.1em; color: var(--text-subtle); text-align: center; padding-top: 4px; white-space: nowrap; }
.ldr-name { font-size: 10px; font-weight: 600; color: var(--text-muted); letter-spacing: 0.02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.comp-val { font-size: 15px; font-weight: 700; color: var(--text); text-align: right; padding-bottom: 8px; }
.comp-val--b { text-align: left; }
.comp-label { font-size: 9px; font-weight: 700; letter-spacing: 0.1em; color: var(--text-subtle); text-align: center; padding-top: 4px; }
.comp-bars { grid-column: 1 / -1; display: flex; height: 2px; margin-left: -20px; margin-right: -20px; }
.comp-bars__half { width: 50%; display: flex; height: 2px; }
.comp-bars__half--a { justify-content: flex-end; }
.comp-bars__half--b { justify-content: flex-start; }
.comp-bar { height: 2px; }

/* ── Game Recap tab ─────────────────────────────────────────────────────── */
.recap-tab { padding: 24px 20px 28px; }
.recap-tab__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 14px;
  line-height: 1.3;
}
.recap-tab__body {
  font-size: 14px;
  line-height: 1.7;
  color: var(--text-muted);
  margin: 0;
  white-space: pre-wrap;
}

/* ── Line score ─────────────────────────────────────────────────────────── */
.ls-wrap {
  border-bottom: 1px solid var(--border);
  overflow-x: auto;
  padding: 16px 20px;
}
.ls-table { border-collapse: collapse; font-size: 13px; width: 100%; }
.ls-table th, .ls-table td {
  padding: 6px 10px;
  text-align: center;
  color: var(--text-muted);
}
.ls-table th { font-size: 10px; font-weight: 700; letter-spacing: 0.08em; color: var(--text-subtle); }
.ls-name { text-align: left !important; font-weight: 700; color: var(--text) !important; white-space: nowrap; }
.ls-total { font-weight: 800 !important; color: var(--text) !important; }

/* ── Box score ──────────────────────────────────────────────────────────── */
.bs-block { padding: 16px 0 0; }
.bs-block + .bs-block { border-top: 1px solid var(--border); }
.bs-team-header {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--text);
  padding: 0 20px 10px;
  border-left: 3px solid transparent;
  display: flex;
  align-items: center;
  gap: 8px;
}
.bs-win-badge {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  background: var(--amber);
  color: #111;
  padding: 2px 5px;
  border-radius: 4px;
}
.bs-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.bs-table {
  border-collapse: collapse;
  font-size: 12px;
  width: 100%;
  min-width: 860px;
}
.bs-table th, .bs-table td {
  padding: 7px 4px;
  text-align: center;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
  overflow: hidden;
  color: var(--text-muted);
}
.bs-table th {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--text-subtle);
  background: var(--surface);
}
.bs-table tbody tr:last-child td { border-bottom: none; }
.bs-table tbody tr:not(.bs-totals):not(.bs-dnp):hover td { background: rgba(255,255,255,0.04); }
.bs-table tbody tr:not(.bs-totals):not(.bs-dnp):hover .bs-name { background: #141a26; }
.bs-name {
  text-align: left !important;
  color: var(--text) !important;
  font-weight: 600;
  width: 190px !important;
  padding-left: 20px !important;
  padding-right: 16px !important;
  position: sticky;
  left: 0;
  z-index: 2;
  background: var(--surface);
  overflow: visible !important;
  white-space: nowrap;
}
.bs-name::after {
  content: '';
  position: absolute;
  top: 0; right: -14px; bottom: 0;
  width: 14px;
  background: linear-gradient(to right, rgba(0,0,0,0.22), transparent);
  pointer-events: none;
}
.bs-group {
  border-left: 1px solid var(--border);
  border-right: 1px solid var(--border);
  font-size: 10px; font-weight: 700; letter-spacing: 0.09em; color: var(--text-subtle);
}
.bs-subhead th { padding: 4px 4px 7px; }
.bs-num { width: 28px; color: var(--text-subtle); font-size: 11px; text-align: center; padding-right: 4px !important; }
.bs-stat { border-left: 1px solid var(--border); text-align: center; }
.bs-pct { color: var(--text-muted) !important; font-size: 11px; }
.bs-pts { font-weight: 700; color: var(--text) !important; }
.bs-per { color: var(--amber) !important; font-weight: 600; text-align: center !important; }
.bs-totals td { font-weight: 700; color: var(--text) !important; border-top: 1px solid var(--border); border-bottom: none; }
.bs-totals .bs-name { color: var(--text-subtle) !important; font-weight: 700; font-size: 9.5px; letter-spacing: 0.08em; }
.bs-dnp__cell { color: var(--text-subtle) !important; font-weight: 400; text-align: left !important; padding-left: 20px !important; }
.dnp-pill {
  display: inline-block;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--text-subtle);
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 1px 7px;
}
.boxscore-tab { padding-bottom: 8px; }

/* ── Shared card label bar ───────────────────────────────────────────────── */
.card-label {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--text-muted);
  padding: 14px 18px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.card-label--accent { color: var(--amber); }
.card-label__more {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--amber);
  text-decoration: none;
  opacity: 0.8;
}
.card-label__more:hover { opacity: 1; }

/* ── POTG card ──────────────────────────────────────────────────────────── */
.potg-card { padding: 0; }
.potg-card__player { display: flex; align-items: center; gap: 14px; padding: 0 18px; margin: 16px 0; }
.potg-card__avatar {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #181d28;
  border: 2px solid;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
.potg-card__avatar .font-condensed { font-size: 21px; color: #cdd3de; }
.potg-card__info { display: flex; flex-direction: column; gap: 6px; }
.potg-card__name { font-size: 14px; font-weight: 700; color: #f4f6fa; }
.potg-card__statline {
  display: flex;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  margin-bottom: 14px;
}
.potg-card__stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 0;
  border-right: 1px solid var(--border);
}
.potg-card__stat:last-child { border-right: none; }
.potg-card__stat-val { font-size: 26px; font-weight: 800; color: var(--text); line-height: 1; }
.potg-card__stat-lbl {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--text-subtle);
  margin-top: 4px;
}
.potg-card__shooting {
  display: flex;
  gap: 14px;
  font-size: 12px;
  color: var(--text-muted);
  margin-bottom: 14px;
}
.potg-card__writeup {
  font-size: 13px;
  line-height: 1.6;
  color: var(--text-muted);
  padding: 14px 18px 18px;
  margin: 0;
}

/* ── Top performers ─────────────────────────────────────────────────────── */
.performer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 18px;
  border-bottom: 1px solid var(--border);
}
.performer-row:last-child { border-bottom: none; }
.performer-row__left { display: flex; align-items: center; gap: 9px; min-width: 0; flex: 1; }
.performer-row__name {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.performer-row__line { font-size: 11px; color: var(--text-muted); white-space: nowrap; flex-shrink: 0; }

/* ── Games page layout ──────────────────────────────────────────────────── */
.games-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 24px;
  align-items: start;
  margin-bottom: 40px;
}
.games-main { display: flex; flex-direction: column; }

/* ── Game list ──────────────────────────────────────────────────────────── */
.game-list { display: flex; flex-direction: column; margin-top: 0; }
.game-list__empty { padding: 20px; color: var(--text-subtle); font-size: 13px; }

/* ── Game row (article card) ────────────────────────────────────────────── */
.game-row {
  display: flex;
  align-items: stretch;
  overflow: hidden;
  border-top: 1px solid var(--border);
  transition: background 0.15s;
}
.game-row:hover { background: rgba(255,255,255,0.03); }

.game-row__thumb {
  width: 200px;
  height: 200px;
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
}
.game-row__thumb-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.game-row__thumb-placeholder {
  width: 100%;
  height: 100%;
  background: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
}
.game-row__thumb-flare {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.game-row__thumb-vs {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: rgba(255,255,255,0.3);
  position: relative;
  z-index: 2;
}

.game-row__body {
  flex: 1;
  padding: 18px 22px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.game-row__meta {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--text-subtle);
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.game-row__title {
  font-size: 15px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.35;
  margin-bottom: 8px;
}
.game-row__excerpt {
  font-size: 13px;
  line-height: 1.55;
  color: var(--text-muted);
  margin: 0 0 12px;
}
.game-row__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--amber);
}
.game-row__score-inline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 4px;
}
.game-row__score-team-name {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-subtle);
  letter-spacing: 0.03em;
}
.game-row__score-team-name--win { color: var(--text); font-weight: 700; }
.game-row__score-num {
  font-size: 14px;
  color: var(--text-subtle);
}
.game-row__score-num--win { color: #fff; }
.game-row__score-sep { color: var(--text-subtle); font-size: 11px; }

/* ── Playoff badge ──────────────────────────────────────────────────────── */
.badge-playoff {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--amber);
  border: 1px solid rgba(245,147,50,0.4);
  padding: 2px 6px;
  border-radius: 4px;
}

/* ── Section header (shared) ────────────────────────────────────────────── */
.section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.section-header h2 {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--text-muted);
  text-transform: uppercase;
  margin: 0;
}

/* ── Player hero ─────────────────────────────────────────────────────────── */
.player-hero {
  overflow: hidden;
  margin-bottom: 20px;
  position: relative;
}
/* Team color top accent strip */
.player-hero::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(to right, var(--ph-color, var(--amber)) 0%, transparent 65%);
  z-index: 2;
}
/* Team color background wash */
.player-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 55% 120% at 0% 50%, var(--ph-color, transparent), transparent);
  opacity: 0.08;
  pointer-events: none;
}
.player-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
}
.player-hero__left { display: flex; gap: 24px; align-items: center; padding: 32px 28px; }
.player-hero__right {
  position: relative;
  display: flex; flex-direction: column; gap: 14px; align-items: flex-end;
  padding: 32px 32px 32px 40px;
  overflow: hidden;
}
/* Jersey number watermark */
.player-hero__num-bg {
  position: absolute;
  font-family: 'Saira Condensed', system-ui, sans-serif;
  font-size: 150px; font-weight: 800; line-height: 1;
  color: var(--ph-color, var(--border));
  opacity: 0.09;
  right: 4px; top: 50%; transform: translateY(-50%);
  pointer-events: none; user-select: none;
  letter-spacing: -0.02em;
}
.player-hero__avatar-wrap { position: relative; flex-shrink: 0; }
.player-hero__avatar {
  width: 112px; height: 112px; border-radius: 50%; border: 4px solid;
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  font-size: 36px; font-family: 'Saira Condensed', system-ui, sans-serif;
  font-weight: 700; color: rgba(255,255,255,0.7); background: rgba(0,0,0,0.2);
}
.player-hero__avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.player-avatar-img--has-photo { cursor: pointer; }
.player-avatar-replace {
  position: absolute; bottom: 2px; right: 2px; z-index: 3;
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--amber); border: 3px solid var(--surface);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: #000;
}
.player-avatar-replace--loading { opacity: 0.6; pointer-events: none; }
.player-avatar-replace--loading svg { opacity: 0.4; }
.player-hero__info { flex: 1; min-width: 0; }
.player-hero__name { font-size: 2rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; margin: 0 0 10px; }
.player-hero__meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.player-hero__number { font-family: 'Saira Condensed', system-ui, sans-serif; font-weight: 700; font-size: 1rem; color: var(--text-muted); }
.player-hero__pos { font-size: 13px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; }
.player-hero__bio { margin-top: 10px; font-size: 14px; color: var(--text-muted); line-height: 1.6; }
.player-hero__no-stats { font-size: 13px; color: var(--text-muted); margin: 0; }

/* Career averages */
.ca-label {
  font-size: 10px; font-weight: 700; letter-spacing: 0.12em;
  color: var(--amber); text-transform: uppercase;
  position: relative; z-index: 1;
}
.ca-grid {
  display: grid;
  grid-template-columns: repeat(var(--ca-count, 5), 1fr);
  position: relative; z-index: 1;
  width: 100%;
}
.ca-item {
  display: flex; flex-direction: column; align-items: center; gap: 5px;
  padding: 10px 8px;
}
.ca-item__val { font-size: 1.5rem; line-height: 1; color: var(--text); }
.ca-item__lbl { font-size: 10px; font-weight: 700; letter-spacing: 0.08em; color: var(--text-muted); text-transform: uppercase; }

/* Season column */
.gl-season { color: var(--text-muted); font-size: 12px; font-weight: 600; white-space: nowrap; }
.gl-opp__vs { font-size: 11px; color: var(--text-muted); font-weight: 500; }

/* ── Game log ────────────────────────────────────────────────────────────── */
.game-log-card { overflow: hidden; }
.gl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.gl-wrap::-webkit-scrollbar { display: none; }
.gl-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 900px; }
.gl-table thead th {
  font-size: 10px; font-weight: 700; letter-spacing: 0.07em;
  color: var(--text-subtle); text-align: center;
  padding: 10px 6px; border-bottom: 1px solid var(--border);
}
.gl-table thead th:first-child { text-align: left; padding-left: 24px; }
.gl-table thead th.gl-opp-col { text-align: left; padding-left: 16px; padding-right: 16px; }
.gl-table thead th.gl-star-col { padding-right: 16px; }
.gl-group {
  border-left: 1px solid var(--border);
  border-right: 1px solid var(--border);
  letter-spacing: 0.09em;
}
.gl-subhead th { border-bottom: 1px solid var(--border); padding: 5px 6px 8px; }
.gl-row td { padding: 9px 6px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.gl-row td:first-child { padding-left: 24px; }
.gl-row td:last-child { padding-right: 16px; }
.gl-row:hover td { background: rgba(255,255,255,0.03); }
.gl-row:hover td.gl-date { background: var(--surface); }
.gl-row--dnp td { opacity: 0.55; }
.gl-date {
  color: var(--text-muted); font-size: 12px; white-space: nowrap; text-align: left;
  position: sticky; left: 0; z-index: 2; background: var(--surface); min-width: 82px;
  border-right: 1px solid var(--border);
}
.gl-date::after {
  content: '';
  position: absolute;
  top: 0; right: -14px; bottom: 0;
  width: 14px;
  background: linear-gradient(to right, rgba(0,0,0,0.22), transparent);
  pointer-events: none;
}
.gl-table thead .gl-date { z-index: 4; }
.gl-opp-col { white-space: nowrap; border-right: 1px solid var(--border); }
.gl-table tbody td:nth-child(2) { padding-left: 16px; padding-right: 16px; border-right: 1px solid var(--border); }
.gl-result { font-size: 12px; font-weight: 600; white-space: nowrap; text-align: left !important; padding-left: 10px !important; }
.gl-opp { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.gl-opp__link { color: var(--text); font-weight: 600; font-size: 12px; letter-spacing: 0.03em; }
.gl-opp__link:hover { color: var(--amber); }
.gl-badge { font-size: 10px; font-weight: 700; letter-spacing: 0.08em; padding: 1px 5px; border-radius: 4px; }
.gl-badge--po { color: var(--amber); border: 1px solid rgba(245,147,50,0.4); }
.gl-result--w { color: #4ade80; }
.gl-result--l { color: var(--text-muted); }
.gl-result--dnp { color: var(--text-muted); font-style: italic; }
.gl-stat { text-align: center; font-size: 13px; color: var(--text); border-left: 1px solid var(--border); }
.gl-pct { color: var(--text-muted); font-size: 12px; }
.gl-pts { font-weight: 700; color: var(--text) !important; }
.gl-per { color: var(--amber) !important; font-weight: 600; text-align: center !important; }
.gl-star-col { width: 32px; text-align: center; }
.gl-star { color: var(--amber); font-size: 12px; }
.gl-avg-row td {
  padding: 8px 6px; font-size: 12px; color: var(--text-subtle);
  background: rgba(255,255,255,0.02);
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
}
.gl-avg-row td:first-child { padding-left: 24px; }
.gl-avg-label { font-size: 11px; font-weight: 600; letter-spacing: 0.04em; color: var(--text-muted); text-align: left !important; }
.gl-avg-row .gl-stat { color: var(--text-subtle); }



/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .leader-card { width: calc((100% - 3 * 14px) / 4); }
  .leaders-page-grid { grid-template-columns: repeat(2, 1fr); }
  .leader-panel__stat { font-size: 32px; }
}

@media (max-width: 900px) {
  .home-grid { grid-template-columns: 1fr; }
  .games-layout { grid-template-columns: 1fr; }
  .game-detail-layout { grid-template-columns: 1fr; }
  .container { padding: 0 20px; }
  .player-hero__grid { grid-template-columns: 1fr; }
  .player-hero__right {
    border-left: none;
    border-top: 1px solid var(--border);
    align-items: flex-start;
    padding: 24px 28px;
  }
  .player-hero__num-bg { font-size: 110px; }
}

@media (max-width: 640px) {
  .leader-card { width: calc((100% - 2 * 14px) / 3); }
  .leaders-page-grid { grid-template-columns: 1fr; }
  .leader-panel__stat { font-size: 28px; }
  .leader-panel__top .leader-avatar { width: 48px; height: 48px; }
  .score-ticker__card { min-width: 148px; }
  .player-hero__avatar { width: 80px; height: 80px; font-size: 26px; }
  .player-avatar-replace { width: 26px; height: 26px; }
  .player-hero__name { font-size: 1.4rem; }
  .player-hero__left { padding: 22px 20px; gap: 16px; }
  .player-hero__right { padding: 20px 20px; }
  .ca-item__val { font-size: 1.2rem; }
  .ca-item { padding: 8px 4px; }
  .ca-item:nth-child(n+6) { display: none; }
  .ca-grid { --ca-count: 5; }
  .game-row { flex-direction: column; }
  .game-row__thumb { width: 100%; height: 180px; }

  /* Registration mini */
  .reg-mini__text { display: none; }

  /* Registration banner */
  .reg-banner__inner { flex-direction: column; align-items: flex-start; gap: 16px; padding: 20px; }
  .reg-banner__headline { font-size: 17px; }
  .reg-banner__cta { width: 100%; justify-content: center; }

  /* Mobile nav overlay */
  .site-nav__hamburger { display: flex; }
  .site-nav {
    position: fixed;
    inset: 0;
    background: var(--bg);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 36px;
    z-index: 100;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }
  .site-nav--open { opacity: 1; pointer-events: auto; }
  .site-nav a {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-muted);
    border-bottom: none;
    padding-bottom: 0;
  }
  .site-nav a[aria-current] { color: #fff; border-bottom: none; }
  .site-nav__auth-pill {
    border-radius: 8px !important;
  }
  .site-nav__auth-join,
  .site-nav__auth-login {
    font-size: 15px !important;
    padding: 12px 28px !important;
    justify-content: center !important;
  }
  .site-nav__login {
    display: flex !important;
    font-size: 15px !important;
    padding: 11px 28px !important;
  }

  /* Mobile dropdown — accordion */
  .site-nav__dropdown { display: flex; flex-direction: column; align-items: center; }
  .site-nav__dropdown-trigger {
    display: flex;
    font-size: 20px;
    font-weight: 700;
    color: var(--text-muted);
    gap: 8px;
    background: none;
    border: none;
    padding: 0;
  }
  .site-nav__dropdown.is-active .site-nav__dropdown-trigger { color: #fff; }
  .site-nav__dropdown.is-open .site-nav__dropdown-trigger svg { transform: rotate(180deg); }
  .site-nav__dropdown-menu {
    display: none;
    position: static;
    transform: none;
    padding: 16px 0 0;
    min-width: unset;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    background: none;
    box-shadow: none;
  }
  .site-nav__dropdown-menu::before { display: none; }
  .site-nav__dropdown.is-open .site-nav__dropdown-menu { display: flex; }
  .site-nav__dropdown-item {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-muted);
    padding: 0;
    border-radius: 0;
    white-space: nowrap;
    background: none !important;
  }
  .site-nav__dropdown-item.is-active { color: var(--amber); background: none !important; }

  /* Players table */
  .pt-toolbar { gap: 10px; justify-content: flex-start; }
  .pt-toolbar__group { width: 100%; }
  .pt-toolbar__label { display: none; }
  .pt-search-wrap { width: 100%; }
}

/* ── Players table ──────────────────────────────────────────────────────── */
.pt-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
}

.pt-toolbar__group {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.pt-toolbar__label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.07em;
  color: var(--text-subtle);
  white-space: nowrap;
  margin-right: 6px;
}

.pt-search-wrap {
  position: relative;
  width: 200px;
  flex-shrink: 0;
}

.pt-search-icon {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  color: var(--text-muted);
  pointer-events: none;
}

.pt-search {
  width: 100%;
  padding: 7px 12px 7px 32px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  font-family: inherit;
  font-size: 13px;
  outline: none;
  transition: border-color 0.15s;
  box-sizing: border-box;
}

.pt-search:focus { border-color: rgba(255,255,255,0.18); }
.pt-search::placeholder { color: var(--text-muted); }

.pt-pills {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}


.pt-pill {
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 5px 13px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s, background 0.15s;
}

.pt-pill:hover { color: var(--text); border-color: rgba(255,255,255,0.2); }
.pt-pill--dot { width: 28px; height: 28px; padding: 0; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }

.pt-pill--active {
  border-color: var(--amber);
  color: var(--text);
  background: rgba(245,147,50,0.08);
}

.pt-card { overflow: hidden; }

.pt-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.pt-table-wrap::-webkit-scrollbar { display: none; }

.pt-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

/* Header */
.pt-table thead th {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.07em;
  color: var(--text-subtle);
  text-align: center;
  padding: 10px 6px;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
  user-select: none;
}

.pt-table th.pt-sortable { cursor: pointer; transition: color 0.15s; }
.pt-table th.pt-sortable:hover  { color: var(--text); }
.pt-table th.pt-sort-active     { color: var(--amber); }
.pt-table th.pt-sortable::after  { content: ' ↕'; opacity: 0.35; font-size: 9px; }
.pt-table th.pt-sort-asc::after  { content: ' ↑'; opacity: 1; }
.pt-table th.pt-sort-desc::after { content: ' ↓'; opacity: 1; }

/* Sticky player column */
.pt-sticky {
  text-align: left;
  padding-left: 18px;
  min-width: 190px;
  position: sticky;
  left: 0;
  z-index: 4;
  background: var(--surface);
  border-right: 1px solid var(--border);
}

.pt-sticky::before {
  content: '';
  position: absolute;
  top: 0; right: -14px; bottom: 0;
  width: 14px;
  background: linear-gradient(to right, rgba(0,0,0,0.18), transparent);
  pointer-events: none;
}

.pt-table th.pt-th-sm  { width: 60px; padding-left: 28px; padding-right: 12px; text-align: left; border-right: 1px solid var(--border); }
.pt-th-pos { text-align: center; border-right: 1px solid var(--border); }

/* Body rows */
.pt-table tbody tr { border-bottom: 1px solid var(--border); transition: background 0.1s; }
.pt-table tbody tr:last-child { border-bottom: none; }
.pt-table tbody tr:hover { background: rgba(255,255,255,0.03); }

.pt-table td {
  padding: 9px 6px;
  vertical-align: middle;
  color: var(--text);
}

/* Sticky player cell (body) */
.pt-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  background: var(--surface);
  border-right: 1px solid var(--border);
  padding-left: 18px;
}

.pt-table td:first-child::after {
  content: '';
  position: absolute;
  top: 0; right: -14px; bottom: 0;
  width: 14px;
  background: linear-gradient(to right, rgba(0,0,0,0.18), transparent);
  pointer-events: none;
}

.pt-table tbody tr:hover td:first-child { background: rgba(255,255,255,0.03); }

/* Player cell contents */
.pt-player { padding: 8px 6px 8px 18px; }

.pt-player-link {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.pt-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 2px solid var(--border);
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: rgba(255,255,255,0.55);
  background: rgba(255,255,255,0.04);
}

.pt-avatar img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.pt-player-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.pt-first {
  font-size: 10px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
}

.pt-last {
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pt-player-link:hover .pt-last { color: var(--amber); }

.pt-edit-btn {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.15s, color 0.15s, border-color 0.15s;
  cursor: pointer;
}
.pt-table tbody tr:hover .pt-edit-btn { opacity: 1; }
.pt-edit-btn:hover { color: var(--amber); border-color: var(--amber); }

/* ── Compare mode ──────────────────────────────────────────────────────────── */
.pt-body--compare tr { cursor: pointer; }
.pt-body--compare tr:hover { background: rgba(245,147,50,0.04); }
.pt-body--compare tr td:first-child a { pointer-events: none; }
.pt-row--selected { background: rgba(245,147,50,0.06) !important; box-shadow: inset 3px 0 0 var(--amber); }
.pt-row--selected td:first-child { background: rgba(245,147,50,0.06) !important; }

/* Non-stat info cells */
.pt-table td.pt-num {
  font-size: 12px;
  color: var(--text-muted);
  font-weight: 600;
  white-space: nowrap;
  padding-left: 28px;
  padding-right: 12px;
  border-right: 1px solid var(--border);
}

.pt-pos {
  font-size: 11px;
  color: var(--text-muted);
  white-space: nowrap;
  text-align: center;
  border-right: 1px solid var(--border);
}

/* Stat cells */
.pt-stat {
  text-align: center;
  font-size: 13px;
  font-weight: 400;
  white-space: nowrap;
  border-left: 1px solid var(--border);
}

.pt-pct { color: var(--text-muted); font-size: 12px; }

.pt-empty {
  padding: 32px;
  text-align: center;
  font-size: 13px;
  color: var(--text-muted);
}

/* ── Admin Shell ──────────────────────────────────────────────────────────── */
.admin-body {
  overflow: hidden;
  height: 100dvh;
}
.admin-shell {
  display: flex;
  flex-direction: column;
  height: 100dvh;
}

/* Topbar */
.admin-topbar {
  height: 48px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  flex-shrink: 0;
  z-index: 10;
}
.admin-topbar__brand {
  display: flex;
  align-items: center;
  gap: 8px;
}
.admin-topbar__badge {
  width: 26px;
  height: 26px;
  border-radius: 7px;
  background: var(--amber);
  color: #000;
  font-size: 13px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.admin-topbar__name {
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
  letter-spacing: 0.02em;
}
.admin-topbar__sep {
  color: var(--border);
  font-size: 14px;
  margin: 0 2px;
}
.admin-topbar__sub {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-muted);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.admin-topbar__logout {
  font-size: 12px;
  color: var(--text-muted);
  border: 1px solid var(--border);
  padding: 5px 12px;
  border-radius: 6px;
  transition: color 0.15s, border-color 0.15s;
}
.admin-topbar__logout:hover {
  color: var(--text);
  border-color: rgba(255,255,255,0.2);
}

/* Layout */
.admin-layout {
  display: flex;
  flex: 1;
  overflow: hidden;
}

/* Sidebar */
.admin-sidebar {
  width: 220px;
  flex-shrink: 0;
  background: var(--surface);
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}
.admin-sb__nav {
  flex: 1;
  padding: 8px 0;
}
.admin-sb__group { margin-bottom: 4px; }
.admin-sb__label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--text-subtle);
  text-transform: uppercase;
  padding: 12px 16px 4px;
}
.admin-sb__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 16px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-muted);
  text-decoration: none;
  position: relative;
  transition: background 0.12s, color 0.12s;
}
.admin-sb__item svg { flex-shrink: 0; }
.admin-sb__item:hover {
  background: rgba(255,255,255,0.04);
  color: var(--text);
}
.admin-sb__item.is-active {
  color: var(--text);
  background: rgba(245,147,50,0.08);
}
.admin-sb__item.is-active::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--amber);
  border-radius: 0 2px 2px 0;
}
.admin-sb__item--soon {
  opacity: 0.45;
  pointer-events: none;
}
.admin-sb__soon {
  margin-left: auto;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  background: rgba(255,255,255,0.06);
  padding: 2px 5px;
  border-radius: 4px;
  text-transform: uppercase;
}
.admin-sb__footer {
  padding: 12px 16px;
  border-top: 1px solid var(--border);
  flex-shrink: 0;
}
.admin-sb__portal {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: var(--text-muted);
  transition: color 0.12s;
}
.admin-sb__portal:hover { color: var(--text); }

/* Content area */
.admin-content {
  --content-pad: 32px;
  flex: 1;
  overflow-y: auto;
  padding: var(--content-pad);
  background: var(--bg);
}

/* ── Admin Games ──────────────────────────────────────────────────────────── */
.agm-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  gap: 12px;
  flex-wrap: wrap;
}
.agm-page-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--text);
  flex-shrink: 0;
}
.agm-toolbar__right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.agm-search {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--text);
  font: 13px/1 inherit;
  padding: 7px 12px;
  outline: none;
  width: 200px;
  transition: border-color 0.15s;
}
.agm-search:focus { border-color: var(--amber); }
.agm-new-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  font-size: 13px;
  font-weight: 700;
  border: none;
  border-radius: 8px;
  background: var(--amber);
  color: #020817;
  cursor: pointer;
  transition: opacity 0.15s;
  white-space: nowrap;
}
.agm-new-btn:hover { opacity: .88; }
.agm-new-btn--ghost { background: transparent; border: 1px solid var(--border); color: var(--text-muted); }
.agm-new-btn--ghost:hover { border-color: var(--text-muted); opacity: 1; }
/* New Game modal */
.agm-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(2,8,23,.72);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 16px;
}
.agm-modal-backdrop:not([hidden]) { display: flex; }
.agm-modal {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  width: 100%;
  max-width: 420px;
  overflow: hidden;
}
.agm-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
}
.agm-modal-title { font-size: 15px; font-weight: 700; color: var(--text); }
.agm-modal-close {
  background: none; border: none; color: var(--text-muted); cursor: pointer;
  font-size: 15px; line-height: 1; padding: 4px;
}
.agm-modal-close:hover { color: var(--text); }
.agm-modal-body { padding: 20px; display: flex; flex-direction: column; gap: 14px; }
.agm-modal-footer {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding: 14px 20px;
  border-top: 1px solid var(--border);
}
.agm-modal-field { display: flex; flex-direction: column; gap: 5px; flex: 1; }
.agm-modal-row { display: flex; gap: 12px; }
.agm-modal-label { font-size: 12px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: .04em; }
.agm-modal-input, .agm-modal-select {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 7px;
  color: var(--text);
  font: 13px/1.4 inherit;
  padding: 8px 10px;
  outline: none;
  width: 100%;
  transition: border-color 0.15s;
}
.agm-modal-input:focus, .agm-modal-select:focus { border-color: var(--amber); }
.agm-modal-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' stroke='%2364748b' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; padding-right: 28px; }
.agm-modal-err { font-size: 12px; color: #f87171; margin: 0; }
.agm-modal-cancel {
  background: none; border: 1px solid var(--border); border-radius: 7px;
  color: var(--text-muted); font: 13px/1 inherit; font-weight: 600;
  padding: 8px 16px; cursor: pointer; transition: border-color 0.15s;
}
.agm-modal-cancel:hover { border-color: var(--text-muted); color: var(--text); }
.agm-modal-submit {
  background: var(--amber); border: none; border-radius: 7px;
  color: #020817; font: 13px/1 inherit; font-weight: 700;
  padding: 8px 16px; cursor: pointer; transition: opacity 0.15s;
}
.agm-modal-submit:hover { opacity: .88; }
.agm-modal-submit:disabled { opacity: .45; cursor: default; }
.agm-import-btn {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 14px;
  font-size: 13px;
  font-weight: 600;
  border: 1px solid var(--amber);
  border-radius: 8px;
  color: var(--amber);
  background: rgba(245,147,50,0.06);
  cursor: pointer;
  transition: background 0.15s;
}
.agm-import-btn:hover { background: rgba(245,147,50,0.12); }
.agm-import-notice {
  background: rgba(245,147,50,0.08);
  border: 1px solid rgba(245,147,50,0.2);
  border-radius: 8px;
  color: var(--text);
  font-size: 13px;
  padding: 12px 16px;
  margin-bottom: 16px;
}
.agm-filters {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
  align-items: center;
}
.agm-filter-group { display: flex; gap: 4px; }
.agm-pill {
  padding: 5px 11px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  transition: background 0.12s, color 0.12s, border-color 0.12s;
}
.agm-pill:hover { color: var(--text); border-color: rgba(255,255,255,0.15); }
.agm-pill.is-active {
  background: var(--surface);
  border-color: var(--amber);
  color: var(--text);
}

/* Table cells */
.agm-td--date    { color: var(--text-muted); white-space: nowrap; font-size: 13px; }
.agm-td--matchup { font-size: 13px; white-space: nowrap; }
.agm-td--season  { color: var(--text-muted); font-size: 12px; }
.agm-td--action  { text-align: right; }
.agm-team--win   { font-weight: 700; color: var(--text); }
.agm-vs          { color: var(--text-muted); font-size: 12px; margin: 0 6px; }
.agm-score       { color: var(--text-muted); font-size: 12px; margin: 0 8px; }
.agm-type {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  background: rgba(255,255,255,0.06);
  color: var(--text-muted);
}
.agm-type--po { background: rgba(245,147,50,0.12); color: var(--amber); }
.agm-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 99px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.agm-badge--green { background: rgba(34,197,94,0.12); color: #22c55e; }
.agm-badge--amber { background: rgba(245,147,50,0.15); color: var(--amber); }
.agm-badge--gray  { background: rgba(255,255,255,0.06); color: var(--text-muted); }
.agm-dots { display: inline-flex; gap: 5px; align-items: center; }
.agm-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.1);
}
.agm-dot--on { background: #22c55e; border-color: #22c55e; }
.agm-edit-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-muted);
  transition: color 0.12s;
}
.agm-edit-link:hover { color: var(--amber); }

/* Game detail */
.agm-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--text-muted);
  margin-bottom: 20px;
}
.agm-breadcrumb a { color: var(--text-muted); transition: color 0.12s; }
.agm-breadcrumb a:hover { color: var(--text); }
.agm-breadcrumb span { color: var(--text); }

.agm-game-header {
  padding: 20px 24px;
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.agm-game-header__teams {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  font-size: 15px;
  font-weight: 600;
}
.agm-game-header__team {
  display: flex;
  align-items: center;
  gap: 8px;
}
.agm-game-header__score {
  font-family: 'Saira Condensed', sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  color: var(--text-muted);
  min-width: 36px;
  text-align: center;
}
.agm-game-header__score--win { color: var(--text); }
.agm-game-header__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  font-size: 12px;
  color: var(--text-muted);
  flex-wrap: wrap;
}
.agm-sep { opacity: 0.4; }
.agm-view-link {
  font-size: 12px;
  color: var(--text-muted);
  border: 1px solid var(--border);
  padding: 2px 8px;
  border-radius: 5px;
  transition: color 0.12s, border-color 0.12s;
}
.agm-view-link:hover { color: var(--text); border-color: rgba(255,255,255,0.2); }

.agm-sections { display: flex; flex-direction: column; gap: 16px; }
.agm-section { padding: 20px 24px; }
.agm-section__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.agm-section__title {
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
}
.agm-section__foot { margin-top: 14px; }
.agm-textarea {
  width: 100%;
  resize: vertical;
  min-height: 80px;
  font-family: inherit;
  line-height: 1.6;
}
.agm-save-msg { font-size: 12px; }
.agm-save-msg--ok  { color: #22c55e; }
.agm-save-msg--err { color: #f87171; }

.agm-visibility-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.agm-vis-btn { flex-shrink: 0; }
.agm-vis-btn--draft {
  background: rgba(239,68,68,0.12);
  color: #f87171;
  border: 1px solid rgba(239,68,68,0.2);
}
.agm-vis-btn--draft:hover { background: rgba(239,68,68,0.2); }

.agm-cover-canvas {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  height: 130px;
  border: 1.5px dashed var(--border);
  border-radius: 10px;
  cursor: pointer;
  color: var(--text-muted);
  transition: border-color 0.15s, color 0.15s;
}
.agm-cover-canvas:hover { border-color: rgba(255,255,255,0.25); color: var(--text); }
.agm-cover-canvas__label { font-size: 12px; font-weight: 500; }
.agm-cover-slot { position: relative; border-radius: 8px; overflow: hidden; }
.agm-cover-img { display: block; width: 100%; border-radius: 8px; }
.agm-cover-btns {
  position: absolute;
  top: 8px;
  right: 8px;
  display: flex;
  gap: 5px;
  opacity: 0;
  transition: opacity 0.15s;
}
.agm-cover-slot:hover .agm-cover-btns { opacity: 1; }
.agm-cover-btn {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: rgba(2,8,23,0.78);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s;
}
.agm-cover-btn:hover { background: rgba(2,8,23,0.95); border-color: rgba(255,255,255,0.25); }
.agm-cover-btn--del { color: #f87171; }
.agm-cover-btn--del:hover { background: rgba(239,68,68,0.35); border-color: rgba(239,68,68,0.5); }
.agm-cover-status { display: block; font-size: 11px; color: var(--text-muted); margin-top: 6px; min-height: 14px; }

/* Import section (scheduled games only) */
.agm-import-section {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  border: 1px solid rgba(245,147,50,0.25);
  background: rgba(245,147,50,0.04);
}
.agm-import-icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: rgba(245,147,50,0.12);
  color: var(--amber);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.agm-import-icon svg { width: 16px; height: 16px; }
.agm-import-body { flex: 1; min-width: 0; }
.agm-import-desc {
  font-size: 13px;
  color: var(--text-muted);
  margin: 4px 0 14px;
  line-height: 1.5;
}
.agm-file-label {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  margin-bottom: 14px;
  transition: border-color 0.15s;
  max-width: 420px;
}
.agm-file-label:hover { border-color: rgba(255,255,255,0.2); }
.agm-file-label--has-file { border-color: var(--amber); }
.agm-file-placeholder {
  flex: 1;
  padding: 8px 12px;
  font-size: 13px;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.agm-file-label--has-file .agm-file-placeholder { color: var(--text); }
.agm-file-browse {
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 700;
  background: rgba(255,255,255,0.06);
  color: var(--text-muted);
  border-left: 1px solid var(--border);
  flex-shrink: 0;
}
.agm-import-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.agm-import-trigger {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  background: var(--amber);
  color: #000;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: opacity 0.15s;
}
.agm-import-trigger:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.agm-import-trigger:not(:disabled):hover { opacity: 0.88; }

.agm-progress-wrap {
  display: none;
  flex-direction: column;
  gap: 6px;
  margin-top: 10px;
  max-width: 420px;
}
.agm-progress-wrap.agm-progress-wrap--visible { display: flex; }
.agm-progress-bar-track {
  height: 4px;
  background: var(--border);
  border-radius: 2px;
  overflow: hidden;
}
.agm-progress-bar-fill {
  height: 100%;
  background: var(--amber);
  border-radius: 2px;
  transition: width 0.2s ease;
  width: 0%;
}
.agm-progress-label {
  font-size: 12px;
  color: var(--text-muted);
}
.agm-cover-progress {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
}
.agm-cover-progress-track {
  flex: 1;
  height: 3px;
  background: var(--border);
  border-radius: 2px;
  overflow: hidden;
}
.agm-cover-progress-fill {
  height: 100%;
  background: var(--amber);
  border-radius: 2px;
  transition: width 0.2s ease;
  width: 0%;
}

/* ── Admin edit bar (sticky WP-style save) ───────────────────────────────── */
.admin-content:has(.agm-edit-bar) {
  padding-top: 0;
}
.agm-edit-bar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  margin: 0 calc(-1 * var(--content-pad)) 24px;
  padding: 10px var(--content-pad);
}
.agm-edit-bar__back {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; color: var(--text-muted); transition: color .12s;
}
.agm-edit-bar__back:hover { color: var(--text); }
.agm-edit-bar__right { display: flex; align-items: center; gap: 12px; }
.agm-edit-bar__save {
  background: var(--amber); border: none; border-radius: 7px;
  color: #000; font-weight: 700; font-size: 12px;
  padding: 7px 18px; cursor: pointer; letter-spacing: .04em; transition: opacity .15s;
  white-space: nowrap;
}
.agm-edit-bar__save:hover { opacity: .88; }
.agm-edit-bar__save:disabled { opacity: .45; cursor: default; }

/* ── Award graphic editor ────────────────────────────────────────────────── */
.agr-wrap { max-width: 980px; margin: 0 auto; }
.agr-title { font-size: 20px; font-weight: 700; margin: 0 0 6px; color: var(--text); }
.agr-title__season { font-size: 13px; font-weight: 500; color: var(--text-muted); margin-left: 8px; }
.agr-hint { font-size: 12.5px; color: var(--text-muted); margin: 0 0 16px; max-width: 640px; }

.agr-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.agr-grid-toggle {
  display: flex; align-items: center; gap: 6px; flex-shrink: 0;
  font-size: 12px; font-weight: 600; color: var(--text-muted);
  cursor: pointer; user-select: none; padding-top: 2px; white-space: nowrap;
}
.agr-grid-toggle input { accent-color: var(--amber); cursor: pointer; }

.agr-canvas {
  position: relative; width: 100%; background: #000;
  border-radius: 10px; overflow: hidden; border: 1px solid var(--admin-border, #1e293b);
  container-type: inline-size;
}
.agr-grid-overlay { position: absolute; inset: 0; z-index: 8; pointer-events: none; display: none; }
.agr-canvas--grid .agr-grid-overlay { display: block; }
.agr-grid-overlay__h {
  position: absolute; left: 0; right: 0; height: 0;
  border-top: 1px dashed rgba(245, 147, 50, .65);
}
.agr-strip__vline {
  position: absolute; top: 0; bottom: 0; left: 50%; width: 0;
  border-left: 1px dashed rgba(245, 147, 50, .5);
  z-index: 8; pointer-events: none; display: none;
}
.agr-canvas--grid .agr-strip__vline { display: block; }
.agr-banner {
  position: absolute; top: 0; left: 0; width: 100%; z-index: 6;
  background: #020817; border-bottom: 3px solid transparent;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 3%; box-sizing: border-box; pointer-events: none;
}
.agr-banner__bar { position: absolute; left: 0; top: 0; bottom: 0; width: 5px; }
.agr-banner__left, .agr-banner__right { display: flex; flex-direction: column; gap: 2px; }
.agr-banner__right { align-items: flex-end; }
.agr-banner__eyebrow {
  font-size: .75cqw; font-weight: 700; letter-spacing: .2em;
  color: #475569; opacity: .85; text-transform: uppercase;
}
.agr-banner__label { color: #f1f5f9; font-weight: 800; font-size: 1.833cqw; letter-spacing: .03em; }
.agr-banner__season { color: #64748b; font-weight: 800; font-size: 1.5cqw; letter-spacing: .03em; }

.agr-strip {
  position: absolute; top: 0; height: 100%;
  overflow: hidden; box-sizing: border-box;
  border-left: 2px solid #0d1424;
}
.agr-strip:first-child { border-left: none; }
/* Hero mode (MVP/DPOY): name/badge/stats overlay spans the whole canvas, on top of every
   photo slot — mirrors .agr-strip__text's positioning but at the canvas level instead of
   scoped to one column, since the text never repeats per photo. */
.agr-hero-text {
  position: absolute; left: 4%; right: 4%; bottom: 3%; z-index: 5; pointer-events: none;
  text-align: center; color: #f1f5f9;
}
.agr-strip__frame {
  /* top matches BANNER_H/CANVAS_H (72/630) in server.js/award-graphic-editor.js — the real
     compositor places the photo tile starting at canvas row 72 (top: bannerPct) and its
     bottom 72px fall off the canvas edge. height stays 100% of the strip (not the visible
     area) so the frame is the full tile size and strip's overflow:hidden clips the same
     bottom slice reality discards, keeping the pan/zoom math identical to the server's. */
  position: absolute; top: 11.4286%; left: 0; right: 0; height: 100%;
  overflow: hidden; cursor: grab; touch-action: none;
}
.agr-strip__frame.is-dragging { cursor: grabbing; }
.agr-strip__img {
  position: absolute; max-width: none; user-select: none; -webkit-user-drag: none;
}
.agr-strip__shade {
  /* background is set inline per-column (server-computed, matches the real SVG gradient
     stops exactly — see shadeGradient() in server.js) */
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
}
.agr-strip__bar { position: absolute; left: 0; right: 0; bottom: 0; height: 5px; z-index: 3; pointer-events: none; }
.agr-strip__text {
  position: absolute; left: 4%; right: 4%; bottom: 3%; z-index: 3; pointer-events: none;
  text-align: center; color: #f1f5f9;
}
/* line-height:1 on every line — without it the browser's default leading adds extra space
   the margin-top gap values (computed server-side from real baseline deltas) don't account for. */
.agr-strip__team {
  font-size: 1cqw; font-weight: 700; line-height: 1;
  letter-spacing: .08em;
}
.agr-strip__pill {
  display: inline-flex; align-items: center; justify-content: center; gap: .45em;
  border: 1.5px solid var(--amber); color: var(--amber);
  border-radius: 999px; font-size: .833cqw; font-weight: 800; line-height: 1;
  letter-spacing: .06em; padding: 0 .7cqw; white-space: nowrap;
}
.agr-strip__pill-icon { height: 1.4em; width: auto; flex-shrink: 0; fill: currentColor; }
.agr-strip__stats { font-size: 1.083cqw; font-weight: 700; color: var(--amber); letter-spacing: .03em; line-height: 1; }
.agr-strip__stat-val { font-size: 2.5cqw; font-weight: 800; color: var(--amber); line-height: 1; }
.agr-strip__stat-unit { font-size: .833cqw; font-weight: 700; letter-spacing: .12em; line-height: 1; }
.agr-strip__first { font-size: 1.083cqw; color: #64748b; line-height: 1; }
.agr-strip__last  { font-size: 1.75cqw; font-weight: 800; letter-spacing: .02em; line-height: 1; }

.agr-strip__ctl {
  position: absolute; top: calc(12% + 8px); left: 0; right: 0; z-index: 6;
  display: flex; align-items: center; justify-content: center; gap: 4px;
  opacity: 0; transition: opacity .12s; pointer-events: none;
}
.agr-strip:hover .agr-strip__ctl { opacity: 1; pointer-events: auto; }
.agr-ctl-btn {
  width: 24px; height: 24px; border-radius: 50%;
  background: rgba(0,0,0,.7); border: 1px solid rgba(255,255,255,.25);
  color: #fff; font-size: 13px; font-weight: 700; line-height: 1;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: background .12s;
}
.agr-ctl-btn:hover { background: rgba(0,0,0,.9); }

.agr-preview { margin-top: 22px; }
.agr-preview__head {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--text-muted); margin-bottom: 8px;
}
.agr-preview__img { width: 100%; border-radius: 10px; border: 1px solid var(--admin-border, #1e293b); display: block; }

@media (max-width: 640px) {
  .agr-strip__ctl { opacity: 1; pointer-events: auto; }
}

/* ── Admin game edit — WordPress layout ─────────────────────────────────── */
.agm-wp-layout {
  display: grid;
  grid-template-columns: 1fr 310px;
  gap: 20px;
  align-items: start;
}
.agm-wp-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.agm-wp-sidebar { display: flex; flex-direction: column; gap: 14px; position: sticky; top: 53px; }

.agm-editor-card { padding: 20px 24px; }
.agm-editor-card__title {
  font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--text-muted);
  margin: 0 -24px 14px;
  padding: 0 24px 10px;
  border-bottom: 1px solid var(--border);
}

.agm-sidebar-card { padding: 16px 18px; }
.agm-sidebar-card__title {
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--text-muted);
  margin: 0 -18px 14px;
  padding: 0 18px 10px;
  border-bottom: 1px solid var(--border);
}
.agm-sidebar-field { margin-bottom: 10px; }
.agm-sidebar-field .admin-field-label { margin-top: 0; }

.agm-save-btn {
  display: block; width: 100%; margin-top: 8px;
  background: var(--amber); border: none; border-radius: 8px;
  color: #000; font-weight: 700; font-size: 13px;
  padding: 10px 16px; cursor: pointer; letter-spacing: .04em; transition: opacity .15s;
}
.agm-save-btn:hover { opacity: .88; }
.agm-save-btn:disabled { opacity: .45; cursor: default; }

.agm-sidebar-action-btn {
  display: block; width: 100%; padding: 9px 12px; text-align: center;
  background: rgba(255,255,255,0.05); border: 1px solid var(--border); border-radius: 7px;
  font-size: 12px; color: var(--text-muted); transition: background .12s, color .12s;
  margin-bottom: 8px;
}
.agm-sidebar-action-btn:hover { background: rgba(255,255,255,0.09); color: var(--text); }

/* Delete */
.agm-sidebar-danger { padding-top: 4px; }
.agm-delete-btn {
  display: flex; align-items: center; gap: 7px;
  width: 100%; padding: 9px 14px;
  background: transparent; border: 1px solid rgba(239,68,68,0.25); border-radius: 8px;
  color: rgba(239,68,68,0.7); font-size: 12px; font-weight: 500;
  cursor: pointer; transition: background .12s, color .12s, border-color .12s;
}
.agm-delete-btn:hover {
  background: rgba(239,68,68,0.1); color: #ef4444; border-color: rgba(239,68,68,0.5);
}

/* Box score tabs */
.agm-bs-tabs {
  display: flex; gap: 2px;
  margin: 0 -24px 16px;
  padding: 0 24px;
  border-bottom: 1px solid var(--border);
}
.agm-bs-tab {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 14px; font-size: 12px; font-weight: 600;
  color: var(--text-muted); background: none; border: none;
  border-bottom: 2px solid transparent; margin-bottom: -1px;
  cursor: pointer; transition: color .12s;
}
.agm-bs-tab:hover { color: var(--text); }
.agm-bs-tab.is-active { color: var(--text); border-bottom-color: var(--amber); }
.agm-bs-tab .team-dot { width: 8px; height: 8px; flex-shrink: 0; }

/* Box score table */
.agm-bs-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.agm-bs-th {
  text-align: left; padding: 5px 8px 5px 0;
  font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--text-subtle); border-bottom: 1px solid var(--border); white-space: nowrap;
}
.agm-bs-td {
  padding: 7px 8px 7px 0; border-bottom: 1px solid var(--border);
  vertical-align: middle; color: var(--text-muted); white-space: nowrap;
}
.agm-bs-row:last-child .agm-bs-td { border-bottom: none; }
.agm-bs-td--num { width: 28px; font-size: 11px; color: var(--text-subtle); }
.agm-bs-td--name { color: var(--text); font-weight: 500; width: 100%; }
.agm-bs-td--stat { text-align: right; min-width: 32px; font-family: 'Saira Condensed', sans-serif; font-size: 13px; }
.agm-bs-td--pts { color: var(--text); font-weight: 600; }
.agm-bs-td--sm { min-width: 44px; font-size: 12px; }
.agm-bs-totals .agm-bs-td { border-top: 1px solid var(--border); font-weight: 600; }
.agm-bs-totals .agm-bs-td--name { font-size: 10px; letter-spacing: .06em; color: var(--text-subtle); }
.bs-scroll .agm-bs-table { min-width: 560px; }

@media (max-width: 900px) {
  .admin-content { --content-pad: 24px; }
  .agm-wp-layout { grid-template-columns: 1fr; }
  .agm-wp-sidebar { position: static; }
  .agm-game-header__meta { flex-wrap: wrap; row-gap: 6px; }
}

/* ── Admin hamburger + mobile drawer ──────────────────────────────────────── */
.admin-topbar__hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 32px;
  height: 32px;
  padding: 6px;
  background: none;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
}
.admin-topbar__hamburger span {
  display: block;
  height: 2px;
  background: var(--text-muted);
  border-radius: 2px;
  transition: background 0.15s;
}
.admin-topbar__hamburger:hover span { background: var(--text); }

.admin-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(2,8,23,.6);
  backdrop-filter: blur(2px);
  z-index: 99;
}
.admin-overlay.is-open { display: block; }

/* ── Responsive admin tables ──────────────────────────────────────────────── */
.admin-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.admin-table-scroll .admin-table { min-width: 560px; }

/* Frozen first column with shadow */
.admin-table-scroll .admin-table th:first-child,
.admin-table-scroll .admin-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  background: var(--surface);
}
.admin-table-scroll .admin-table th:first-child::after,
.admin-table-scroll .admin-table td:first-child::after {
  content: '';
  position: absolute;
  top: 0; right: -14px; bottom: 0;
  width: 14px;
  background: linear-gradient(to right, rgba(0,0,0,0.22), transparent);
  pointer-events: none;
}
.admin-table-scroll .admin-table-row:hover td:first-child {
  background: var(--surface);
}

@media (max-width: 900px) {
  .admin-content { --content-pad: 24px; }
  .agm-wp-layout { grid-template-columns: 1fr; }
  .agm-wp-sidebar { position: static; }
  .agm-game-header__meta { flex-wrap: wrap; row-gap: 6px; }
  .agm-filters { flex-wrap: wrap; }
  .agm-toolbar { flex-wrap: wrap; gap: 10px; }
}

@media (max-width: 768px) {
  .admin-topbar__hamburger { display: flex; }
  .admin-sidebar {
    position: fixed;
    left: 0; top: 48px; bottom: 0;
    z-index: 100;
    transform: translateX(-100%);
    transition: transform 0.22s ease;
    box-shadow: 4px 0 24px rgba(0,0,0,.4);
  }
  .admin-sidebar.is-open { transform: translateX(0); display: flex; }
  .admin-content { --content-pad: 16px; }
  .agm-game-header { padding: 16px; }
  .agm-game-header__teams { font-size: 13px; gap: 12px; }
  .agm-game-header__score { font-size: 22px; min-width: 28px; }
  .agm-edit-bar { padding: 0 16px; }
  .agm-edit-bar__back span { display: none; }
}

@media (max-width: 480px) {
  .admin-content { --content-pad: 12px; }
  .agm-game-header__teams { flex-direction: column; gap: 10px; }
  .agm-vs { display: none; }
  .agm-toolbar__right { width: 100%; }
  .agm-search { flex: 1; }
}

/* ── Quill dark theme ────────────────────────────────────────────────────── */
.ql-toolbar.ql-snow {
  background: var(--surface);
  border: 1px solid var(--border) !important;
  border-bottom: none !important;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  padding: 8px;
}
.ql-container.ql-snow {
  border: 1px solid var(--border) !important;
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
  background: var(--bg);
  font-family: 'Archivo', sans-serif;
}
.ql-editor {
  color: var(--text); min-height: 180px;
  font-size: 14px; line-height: 1.75;
}
.ql-editor.ql-blank::before { color: var(--text-muted); font-style: normal; }
.ql-snow .ql-stroke { stroke: var(--text-muted); }
.ql-snow .ql-fill, .ql-snow .ql-stroke.ql-fill { fill: var(--text-muted); }
.ql-snow.ql-toolbar button:hover .ql-stroke,
.ql-snow .ql-toolbar button:hover .ql-stroke,
.ql-snow.ql-toolbar button:focus .ql-stroke { stroke: var(--text); }
.ql-snow.ql-toolbar button.ql-active .ql-stroke,
.ql-snow .ql-toolbar button.ql-active .ql-stroke { stroke: var(--amber); }
.ql-snow.ql-toolbar button:hover .ql-fill { fill: var(--text); }
.ql-snow .ql-picker { color: var(--text-muted); }
.ql-snow .ql-picker-options {
  background: var(--surface); border-color: var(--border);
  border-radius: 8px; box-shadow: 0 4px 16px rgba(0,0,0,0.4);
}
.ql-snow .ql-tooltip {
  background: var(--surface); border-color: var(--border);
  color: var(--text); box-shadow: 0 4px 20px rgba(0,0,0,0.4);
  border-radius: 8px;
}
.ql-snow .ql-tooltip input[type=text] {
  background: var(--bg); border-color: var(--border); color: var(--text); border-radius: 6px;
}
.ql-snow a { color: var(--amber); }

/* ── Front Office page ───────────────────────────────────────────────────── */
.fo-header {
  text-align: center;
  padding: 48px 0 36px;
}
.fo-header__title {
  font-size: clamp(26px, 5vw, 38px);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text);
}
.fo-header__sub {
  margin-top: 6px;
  font-size: 14px;
  color: var(--text-muted);
}
.fo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding-bottom: 60px;
}
.fo-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px 20px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.fo-card__avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(245,147,50,0.3);
  flex-shrink: 0;
}
.fo-card__avatar svg { width: 100%; height: 100%; display: block; }
.fo-card__name {
  font-size: 18px;
  font-weight: 800;
  color: var(--amber);
  letter-spacing: .01em;
}
.fo-card__title {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text-muted);
  text-align: center;
  line-height: 1.4;
}
.fo-card__stats {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
}
.fo-stat__meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 3px;
}
.fo-stat__label {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--text-subtle);
}
.fo-stat__display {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .05em;
  color: var(--text-muted);
}
.fo-stat__track {
  height: 5px;
  background: rgba(255,255,255,0.06);
  border-radius: 99px;
  overflow: hidden;
}
.fo-stat__fill {
  height: 100%;
  border-radius: 99px;
  transition: width .4s ease;
  background: #ef4444;
}
.fo-stat__fill--mid  { background: var(--amber); }
.fo-stat__fill--high { background: #4ade80; }
.fo-card__ability {
  width: 100%;
  margin-top: 6px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.fo-ability__label {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--amber);
  opacity: .7;
}
.fo-ability__text {
  font-size: 11px;
  color: var(--text-muted);
  line-height: 1.5;
  font-style: italic;
}

@media (max-width: 900px) {
  .fo-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .fo-grid { grid-template-columns: 1fr; }
}

/* ── Player crop modal (Cropper.js) ─────────────────────────────────────── */
.pcp-backdrop {
  position: fixed; inset: 0; z-index: 1000;
  background: rgba(0,0,0,0.75);
  display: flex; align-items: center; justify-content: center;
  padding: 16px;
}
.pcp-backdrop[hidden] { display: none; }
.pcp-modal {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius); width: 100%; max-width: 560px;
  display: flex; flex-direction: column; overflow: hidden;
  max-height: 90dvh;
}
.pcp-modal__header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px; border-bottom: 1px solid var(--border);
}
.pcp-modal__title { font-size: 14px; font-weight: 600; }
.pcp-modal__close {
  width: 28px; height: 28px; border-radius: 50%;
  background: rgba(255,255,255,0.06); color: var(--text-muted);
  font-size: 13px; display: flex; align-items: center; justify-content: center;
  cursor: pointer; border: none; transition: background .12s;
}
.pcp-modal__close:hover { background: rgba(255,255,255,0.12); color: var(--text); }
.pcp-modal__body {
  position: relative;
  flex: 1; overflow: hidden; background: #000;
  min-height: 320px; max-height: 520px;
}
.pcp-modal__body .cropper-container { max-height: 520px; }
.pcp-modal__footer {
  display: flex; gap: 8px; justify-content: flex-end;
  padding: 12px 16px; border-top: 1px solid var(--border);
}
.pcp-modal__cancel {
  padding: 8px 18px; border-radius: 7px;
  background: rgba(255,255,255,0.06); border: 1px solid var(--border);
  color: var(--text-muted); font-size: 13px; cursor: pointer;
  transition: background .12s;
}
.pcp-modal__cancel:hover { background: rgba(255,255,255,0.1); color: var(--text); }
.pcp-modal__save {
  padding: 8px 20px; border-radius: 7px;
  background: var(--amber); border: none;
  color: #000; font-size: 13px; font-weight: 700;
  cursor: pointer; transition: opacity .12s;
}
.pcp-modal__save:hover { opacity: .88; }
.pcp-modal__save:disabled { opacity: .5; cursor: default; }
.pcp-modal__hint {
  padding: 8px 16px 0;
  font-size: 11px; color: var(--text-muted); text-align: center;
}
.pcp-head-guide { position: absolute; inset: 0; pointer-events: none; z-index: 5; }
.pcp-head-guide__oval {
  position: absolute; left: 22%; right: 22%; top: 8%; height: 64%;
  border: 2px dashed rgba(245, 147, 50, 0.85);
  border-radius: 50%;
}
.pcp-head-guide__eyeline {
  position: absolute; left: 8%; right: 8%; top: 42%;
  border-top: 1px dashed rgba(245, 147, 50, 0.55);
}
.pcp-zoom-ctrl {
  position: absolute; right: 10px; bottom: 10px;
  display: flex; gap: 6px; z-index: 20;
}
.pcp-zoom-ctrl #pcp-zoom-reset { margin-right: 4px; font-size: 14px; }
.pcp-zoom-btn {
  width: 30px; height: 30px; border-radius: 50%;
  background: rgba(0,0,0,0.65); border: 1px solid rgba(255,255,255,0.25);
  color: #fff; font-size: 16px; font-weight: 700; line-height: 1;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: background .12s;
}
.pcp-zoom-btn:hover { background: rgba(0,0,0,0.85); }
.pcp-zoom-btn:active { background: rgba(245,147,50,0.85); border-color: transparent; }

/* ── AI Generate bar ─────────────────────────────────────────────────────── */
.agm-gen-bar {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 0; margin-bottom: 6px;
}
.agm-gen-bar--sm { padding: 6px 0 0; margin-bottom: 0; }
.agm-gen-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 6px 14px; border-radius: 7px;
  background: rgba(245,147,50,0.12); border: 1px solid rgba(245,147,50,0.3);
  color: var(--amber); font-size: 12px; font-weight: 600;
  cursor: pointer; transition: background .15s, border-color .15s;
  white-space: nowrap;
}
.agm-gen-btn:hover { background: rgba(245,147,50,0.2); border-color: rgba(245,147,50,0.5); }
.agm-gen-btn:disabled { opacity: .5; cursor: default; }
.agm-gen-btn--sm { padding: 5px 11px; font-size: 11px; }
.agm-gen-status { font-size: 11px; }
.agm-gen-status--ok  { color: #4ade80; }
.agm-gen-status--err { color: #f87171; }

/* ── MVP Race ────────────────────────────────────────────────────────────── */
.mvp-list { display: flex; flex-direction: column; margin-top: 0; padding: 0; overflow: hidden; }

.mvp-row {
  display: flex; align-items: stretch;
  border-top: 1px solid var(--border);
  overflow: hidden; position: relative;
  color: inherit; text-decoration: none;
  transition: background 0.15s;
}
.mvp-row:hover { background: rgba(255,255,255,0.03); }

.mvp-row__thumb {
  width: 200px; height: 200px; flex-shrink: 0;
  overflow: hidden; position: relative;
  background: var(--bg);
  display: flex; align-items: center; justify-content: center;
}
.mvp-row__thumb-placeholder {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
}
.mvp-row__thumb-placeholder .font-condensed { font-size: 36px; font-weight: 800; color: var(--border); }
.mvp-row__thumb-img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center 5%; display: block;
}
.mvp-row__thumb-flare {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
}
.mvp-row__rank {
  position: absolute; top: 10px; left: 10px; z-index: 3;
  font-size: 13px; font-weight: 700; line-height: 1;
  color: var(--bt);
  background: var(--bc);
  padding: 4px 9px; border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.45);
}

.mvp-row__body {
  flex: 1; min-width: 0; padding: 18px 22px;
  display: flex; flex-direction: column; gap: 4px; justify-content: center;
  background: linear-gradient(135deg, color-mix(in srgb, var(--bc) 10%, transparent) 0%, transparent 55%);
}

.mvp-row__name {
  display: flex; align-items: center; gap: 7px;
  font-size: 15px; font-weight: 700; color: var(--text); line-height: 1.2;
  letter-spacing: .02em;
}

.mvp-row__pills {
  position: absolute; top: 14px; right: 16px; z-index: 2;
  display: flex; align-items: center; gap: 6px;
}
.mvp-row__badge {
  font-size: 9.5px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
  padding: 3px 8px; border-radius: 5px;
}
.mvp-row__score {
  font-size: 12px; font-weight: 700;
  background: var(--bg); border: 1px solid var(--border);
  padding: 2px 8px; border-radius: 5px;
}

.mvp-row__cta {
  display: inline-flex; align-items: center; gap: 5px; margin-top: 6px;
  font-size: 11.5px; font-weight: 700; letter-spacing: 0.04em;
  color: var(--amber); opacity: 0.3; transition: opacity 0.15s;
}
.mvp-row:hover .mvp-row__cta { opacity: 1; }

.mvp-row-wrap { position: relative; }
.mvp-share-btn {
  position: absolute; bottom: 10px; right: 10px;
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 6px; border: 1px solid var(--border);
  background: rgba(13,20,36,0.85); color: var(--text-muted);
  cursor: pointer; opacity: 0; transition: opacity 0.15s, background 0.15s, color 0.15s;
  z-index: 2;
}
.mvp-row-wrap:hover .mvp-share-btn { opacity: 1; }
.mvp-share-btn:hover { background: var(--surface); color: #e2e8f0; border-color: #2e4066; }

.mvp-card-share-btn {
  display: flex; align-items: center; justify-content: center;
  width: 26px; height: 26px; border-radius: 5px; border: 1px solid var(--border);
  background: transparent; color: var(--text-muted);
  cursor: pointer; transition: background 0.15s, color 0.15s;
}
.mvp-card-share-btn:hover { background: var(--surface); color: #e2e8f0; }

/* ── MVP sidebar ladder table ────────────────────────────────────────────── */
.mvp-sb-table { overflow: hidden; }
.mvp-sb-row {
  display: grid;
  grid-template-columns: 28px 1fr 40px 42px 48px;
  gap: 0;
  align-items: center;
  min-height: 40px;
  padding: 0;
  border-top: 1px solid var(--border);
  color: inherit; text-decoration: none;
  transition: background 0.12s;
}
.mvp-sb-row--head {
  background: rgba(255,255,255,0.02);
  border-top: none;
  border-bottom: 1px solid var(--border);
  min-height: 30px;
  font-size: 10px; font-weight: 700; letter-spacing: 0.05em;
  color: var(--text-muted);
}
.mvp-sb-row:not(.mvp-sb-row--head):hover { background: rgba(255,255,255,0.025); }
.mvp-sb-row--first { background: rgba(245,147,50,0.03); }
.mvp-sb-rank {
  font-size: 10px; font-weight: 700; color: var(--text-muted);
  display: flex; align-items: center; justify-content: center;
  align-self: stretch; padding: 0 4px;
}
.mvp-sb-name {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 600; color: var(--text);
  overflow: hidden; align-self: stretch;
  border-left: 1px solid var(--border); padding: 0 6px;
}
.mvp-sb-name-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mvp-sb-cell--r { text-align: right; }
.mvp-sb-num {
  font-size: 12px; color: var(--text-muted);
  display: flex; align-items: center; justify-content: flex-end;
  align-self: stretch;
  border-left: 1px solid var(--border); padding: 0 8px;
}
.mvp-sb-score {
  font-size: 12px; font-weight: 700; color: var(--amber);
  display: flex; align-items: center; justify-content: flex-end;
  align-self: stretch;
  border-left: 1px solid var(--border); padding: 0 10px 0 6px;
}

/* ── MVP category leaders sidebar ───────────────────────────────────────── */
.mvp-cl-row {
  display: grid;
  grid-template-columns: 44px 1fr 48px;
  align-items: center; min-height: 38px;
  border-top: 1px solid var(--border);
  padding: 0; gap: 0;
}
.mvp-cl-cat {
  font-size: 10px; font-weight: 700; letter-spacing: 0.05em;
  color: var(--text-muted);
  display: flex; align-items: center; justify-content: center;
  align-self: stretch; padding: 0 4px;
}
.mvp-cl-player {
  display: flex; align-items: center; gap: 6px;
  align-self: stretch;
  border-left: 1px solid var(--border); padding: 0 8px;
  overflow: hidden;
}
.mvp-cl-name {
  font-size: 12px; font-weight: 600; color: var(--text);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.mvp-cl-val {
  font-size: 12px; font-weight: 700; color: var(--amber);
  display: flex; align-items: center; justify-content: flex-end;
  align-self: stretch;
  border-left: 1px solid var(--border); padding: 0 10px 0 6px;
}

/* ── MVP top 3 comparison sidebar ───────────────────────────────────────── */
.mvp-cmp-row {
  display: grid;
  grid-template-columns: 44px repeat(3, 1fr);
  align-items: center; min-height: 36px;
  border-top: 1px solid var(--border);
  padding: 0; gap: 0;
}
.mvp-cmp-row--head { min-height: 30px; }
.mvp-cmp-label {
  font-size: 10px; font-weight: 700; letter-spacing: 0.05em;
  color: var(--text-muted);
  display: flex; align-items: center;
  align-self: stretch; padding: 0 0 0 12px;
}
.mvp-cmp-name {
  font-size: 10px; font-weight: 700; letter-spacing: 0.04em;
  color: var(--text-muted);
  display: flex; align-items: center; justify-content: center;
  align-self: stretch;
  border-left: 1px solid var(--border);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  padding: 0 4px;
}
.mvp-cmp-name--gold { color: var(--amber); }
.mvp-cmp-val {
  font-size: 12px; color: var(--text-muted);
  display: flex; align-items: center; justify-content: center;
  align-self: stretch;
  border-left: 1px solid var(--border);
}
.mvp-cmp-val--hi { color: var(--text); font-weight: 700; }

/* ── MVP standings sidebar ───────────────────────────────────────────────── */
.mvp-standings-sidebar .standings-scroll > * { min-width: 0; }
.mvp-standings-sidebar .standings-row {
  grid-template-columns: 44px 1fr 52px 52px;
}


.mvp-row__article {
  font-size: 13px; line-height: 1.55; color: var(--text-muted);
  margin: 4px 0 0; font-style: normal;
}
.mvp-row__article--pending { color: var(--border); }

/* ── Awards page ─────────────────────────────────────────────────────────── */
.awd-avatar {
  border-radius: 50%; border: 3px solid; flex-shrink: 0;
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; color: rgba(255,255,255,.65); background: rgba(0,0,0,.25);
}
.awd-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; }

.awd-label {
  font-size: 10px; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--amber); margin-bottom: 14px;
}

/* Season tabs */
.awd-season-tabs { display: flex; gap: 8px; margin-bottom: 28px; flex-wrap: wrap; }
.awd-season-tab {
  font-size: 13px; font-weight: 700; padding: 7px 20px;
  border-radius: 99px; background: var(--surface);
  border: 1px solid var(--border); color: var(--text-muted);
  transition: color .15s, border-color .15s, background .15s;
}
.awd-season-tab:hover { color: var(--text); border-color: #334155; }
.awd-season-tab.is-active { background: var(--amber-dim); border-color: rgba(245,147,50,.4); color: var(--amber); }

/* Hero cards — MVP & DPOY */
.awd-hero {
  border-radius: var(--radius); border: 1px solid var(--border);
  background: var(--surface); padding: 28px; margin-bottom: 12px;
}
.awd-hero--mvp {
  background: linear-gradient(135deg, rgba(245,147,50,.08) 0%, var(--surface) 60%);
  border-color: rgba(245,147,50,.25);
}
.awd-hero--dpoy { background: linear-gradient(135deg, rgba(96,165,250,.06) 0%, var(--surface) 60%); }
.awd-hero__label {
  font-size: 10px; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--amber); margin-bottom: 20px;
}
.awd-hero--dpoy .awd-hero__label { color: #60a5fa; }
.awd-hero__body { display: flex; align-items: center; gap: 28px; }
.awd-hero__info { flex: 1; min-width: 0; }
.awd-hero__name {
  font-family: 'Saira Condensed', system-ui, sans-serif;
  font-weight: 800; letter-spacing: -.02em; color: var(--text); line-height: 1.05;
  display: block;
}
.awd-hero__name:hover { color: var(--amber); }
.awd-hero__stats { font-size: 13px; color: var(--text-muted); margin-top: 12px; font-family: 'Saira Condensed', system-ui; letter-spacing: .03em; }
.awd-hero__notes { font-size: 14px; color: var(--text-muted); margin-top: 14px; line-height: 1.65; font-style: italic; }

/* Team sections (All WKND) */
.awd-section { margin-bottom: 12px; }
.awd-section__label {
  font-size: 10px; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--text-muted);
  margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--border);
}
.awd-team-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.awd-team-player {
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 20px 10px;
}
.awd-team-avatar-wrap { position: relative; }
.awd-team-number {
  position: absolute; bottom: -6px; left: 50%; transform: translateX(-50%);
  background: var(--amber); color: #000; font-size: 10px; font-weight: 800;
  font-family: 'Saira Condensed', system-ui; padding: 1px 8px; border-radius: 99px;
  white-space: nowrap;
}
.awd-team-player__name { font-size: 13px; font-weight: 700; color: var(--text); line-height: 1.3; }
.awd-team-player__name:hover { color: var(--amber); }

/* Stat leaders row */
.awd-leaders { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 12px; }
.awd-stat-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding-top: 8px; }
.awd-stat-card__val { line-height: 1; color: var(--amber); margin: 4px 0 2px; }
.awd-stat-card__val .font-condensed { font-size: 52px; font-weight: 800; }
.awd-stat-card__unit { font-size: 16px; font-weight: 700; color: var(--text-muted); margin-left: 3px; vertical-align: middle; }
.awd-stat-card__name { font-size: 14px; font-weight: 700; color: var(--text); }
.awd-stat-card__name:hover { color: var(--amber); }

/* Article blurb */
.awd-article {
  font-size: 14px; line-height: 1.72; color: var(--text-muted);
  margin-top: 16px; padding: 16px 20px;
  background: rgba(255,255,255,.025); border-left: 2px solid rgba(245,147,50,.4);
  border-radius: 0 6px 6px 0;
}

/* Player profile awards */
.player-awards-section { margin-bottom: 12px; }
.player-award-season { padding: 10px 18px; border-bottom: 1px solid var(--border); }
.player-award-season:last-child { border-bottom: none; padding-bottom: 14px; }
.player-award-season__label { font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 8px; }
.player-award-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 600; border: 1px solid transparent; border-radius: 6px; padding: 3px 9px; margin: 2px 4px 2px 0; }

@media (max-width: 900px) {
  .awd-team-grid { grid-template-columns: repeat(3, 1fr); }
  .awd-hero { padding: 22px; }
  .awd-hero__body { gap: 20px; }
}
@media (max-width: 600px) {
  .awd-hero__body { flex-direction: column; align-items: flex-start; }
  .awd-team-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .awd-leaders { grid-template-columns: 1fr 1fr; }
  .awd-stat-card__val .font-condensed { font-size: 40px; }
}
@media (max-width: 400px) {
  .awd-team-grid { grid-template-columns: repeat(2, 1fr); }
  .awd-leaders { grid-template-columns: 1fr; }
}

/* ── The Roast page ──────────────────────────────────────────────────────── */
.roast-header { margin-bottom: 4px; }
.roast-intro { font-size: 13px; color: var(--text-muted); margin: 0 0 24px; }
.roast-stat { color: #f87171; }
.roast-sub { font-size: 11px; color: var(--text-muted); margin-top: 4px; display: block; }

@media (max-width: 600px) {
  .mvp-row { flex-direction: column; }
  .mvp-row__thumb { width: 100%; height: 180px; }
  .mvp-row__rank { font-size: 28px; top: auto; bottom: 10px; left: 12px; }
  .mvp-row__body { padding: 14px 18px; }
  .mvp-row__name { font-size: 14px; }
}

/* ── Playoffs page ───────────────────────────────────────────────────────── */
.playoffs-bracket {
  display: grid;
  grid-template-columns: 1fr 36px 1.15fr 36px 1fr;
  align-items: center;
}
.playoffs-connector {
  height: 2px;
  background: var(--border);
  align-self: center;
}

/* Matchup card */
.pm-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
}
.pm-card--finals { border-color: rgba(245,147,50,.3); }
.pm-card__header {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 13px 16px 11px;
  border-bottom: 1px solid var(--border);
}
.pm-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-muted);
}
.pm-label--finals { color: var(--amber); }
.pm-sublabel { font-size: 11px; color: var(--text-subtle); }

/* Team rows */
.pm-team {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px 14px 12px 11px;
  border-left: 3px solid var(--tc, #334155);
}
.pm-divider { height: 1px; background: var(--border); margin: 0 14px; }
.pm-team__seed {
  font-size: 10px;
  font-weight: 700;
  color: var(--text-muted);
  width: 14px;
  text-align: center;
  flex-shrink: 0;
}
.pm-team__name {
  font-size: 15px;
  font-weight: 600;
  color: var(--text);
  flex: 1;
  transition: color .15s;
}
.pm-card--finals .pm-team__name { font-size: 16px; }
.pm-team__name--dim { color: var(--text-subtle); }
.pm-team__badge {
  font-size: 9px;
  font-weight: 600;
  background: rgba(245,147,50,.15);
  color: var(--amber);
  border-radius: 3px;
  padding: 2px 5px;
  flex-shrink: 0;
}
.pm-team__score {
  font-size: 20px;
  font-weight: 700;
  color: var(--text-muted);
  width: 24px;
  text-align: right;
  flex-shrink: 0;
  transition: color .15s;
}
.pm-card--finals .pm-team__score { font-size: 26px; width: 28px; }
.pm-team__score--gold   { color: var(--amber); }
.pm-team__score--active { color: var(--text); }
.pm-team__score--dim    { color: var(--text-subtle); }

/* Game chips */
.pm-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 10px 14px 13px;
  border-top: 1px solid var(--border);
}
.pm-chip {
  font-size: 11px;
  font-weight: 600;
  font-family: 'Saira Condensed', sans-serif;
  padding: 3px 9px;
  border-radius: 5px;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity .15s;
}
.pm-chip:hover { opacity: .75; }
.pm-chip--win     { background: rgba(34,197,94,.12); color: #4ade80; }
.pm-chip--loss    { background: rgba(239,68,68,.1);  color: #f87171; }
.pm-chip--pending { background: var(--bg); color: var(--text-subtle); border: 1px dashed var(--border); }
.pm-awaiting {
  padding: 13px 14px;
  font-size: 12px;
  color: var(--text-subtle);
  font-style: italic;
  border-top: 1px solid var(--border);
}

/* Winner footer */
.pm-footer {
  padding: 9px 14px;
  border-top: 1px solid var(--border);
  background: rgba(34,197,94,.05);
}
.pm-footer--finals {
  background: rgba(245,147,50,.06);
  border-top-color: rgba(245,147,50,.2);
}
.pm-winner {
  font-size: 11px;
  font-weight: 700;
  color: #4ade80;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.pm-footer--finals .pm-winner { color: var(--amber); font-size: 12px; }

@media (max-width: 768px) {
  .playoffs-bracket { grid-template-columns: 1fr; gap: 12px; }
  .playoffs-connector { display: none; }
  .playoffs-finals { order: -1; }
}

/* ── Facebook connect card ─────────────────────────────────────────────────── */
.fb-connect-btn, .fb-disconnect-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  flex-shrink: 0;
}
.fb-connect-btn {
  background: #1877F2;
  color: #fff;
  border: none;
}
.fb-connect-btn:hover { background: #166fe5; color: #fff; }
.fb-disconnect-btn {
  background: transparent;
  color: var(--text-muted);
  border: 1px solid var(--border);
}
.fb-disconnect-btn:hover { border-color: #ef4444; color: #ef4444; }
.fb-status {
  font-size: 11px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 99px;
  letter-spacing: .04em;
}
.fb-status--on { background: rgba(74,222,128,.15); color: #4ade80; }
.fb-status--off { background: rgba(100,116,139,.15); color: var(--text-muted); }
