/* 17-0 NFL — football overrides layered on top of the shared 84-0 styles.css */

/* ---------- night-game theme (scoped to body.nfl so other games are untouched) ---------- */
body.nfl {
  --bg-1: #2b2f36;                       /* stadium-light glow up top */
  --bg-2: #17191e;
  --bg-3: #0c0d10;                       /* night-game charcoal */
  --leather: #e08a3c;                    /* pigskin accent */
  /* retint the shared theme tokens so NO hockey blue leaks anywhere in dark
     mode (hover borders, spin pulse, auth tabs, focus rings, modal, insets) */
  --accent: #e08a3c;
  --accent-press: #c8702a;
  --on-accent: #21130a;
  --modal-bg: #211b13;
  --inset: #211b13;
  --reel-1: #2c2218;
  --reel-2: #1a1410;
  --panel: rgba(22, 18, 13, 0.55);       /* card surfaces: warm charcoal, not navy */
  --line-on-turf: rgba(255, 255, 255, 0.10);
  background-image:
    radial-gradient(1200px 760px at 50% -12%, rgba(224, 138, 60, 0.16), rgba(12, 13, 16, 0) 62%),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.018) 0 2px, rgba(255,255,255,0) 2px 120px),
    linear-gradient(180deg, var(--bg-2), var(--bg-3));
}
:root[data-theme="light"] body.nfl {
  --bg-1: #ece5d8;
  --bg-2: #f3eee4;
  --bg-3: #e8e1d2;
  --leather: #b06a1e;
  --accent: #b06a1e;
  --accent-press: #8f5418;
  --on-accent: #ffffff;
  --modal-bg: #ffffff;
  --inset: #f4ecdd;
  --reel-1: #f7f0e2;
  --reel-2: #e9ddc8;
  --line-on-turf: rgba(80, 60, 30, 0.16);
  background-image:
    radial-gradient(1200px 760px at 50% -12%, rgba(224, 165, 100, 0.30), rgba(232, 225, 210, 0) 62%),
    repeating-linear-gradient(0deg, rgba(120, 95, 50, 0.05) 0 2px, rgba(255,255,255,0) 2px 120px),
    linear-gradient(180deg, var(--bg-2), var(--bg-3));
}

/* ---------- 17-0 palette: pigskin leather accents, no hockey blue ---------- */
body.nfl .brand-sub { color: var(--leather); border-color: var(--leather); }
body.nfl .brand-dash { color: var(--leather); }
body.nfl .accent { color: var(--leather); }
body.nfl .r-pos { color: var(--leather); }
body.nfl .primary-btn {
  background: linear-gradient(135deg, #efa45a, #c8702a);
  color: #21130a;
  box-shadow: 0 10px 26px rgba(200, 112, 42, 0.4);
}
body.nfl .primary-btn:hover { box-shadow: 0 14px 32px rgba(200, 112, 42, 0.5); }
body.nfl .mode-card:hover { border-color: var(--leather); box-shadow: 0 10px 26px rgba(200, 112, 42, 0.22); }
body.nfl .ghost-btn:hover { border-color: var(--leather); color: var(--leather); }

body.nfl .cand-stats { color: var(--leather); }
body.nfl .cand-pos {
  background: rgba(46, 36, 24, 0.66);
  border-color: rgba(224, 165, 100, 0.28);
  color: #efe6d8;
}
body.nfl .cand-pos.pos-filled { color: #a39a88; }
/* draw reels: leather-dark panels; theme-scoped so neither mode is dark-on-dark */
body.nfl .reel { background: linear-gradient(180deg, #2c2218, #1a1410); border-color: rgba(224, 165, 100, 0.18); }
body.nfl .reel span { color: #f3efe9; }
:root[data-theme="light"] body.nfl .reel { background: linear-gradient(180deg, #f7f0e2, #e9ddc8); border-color: rgba(120, 80, 30, 0.24); }
:root[data-theme="light"] body.nfl .reel span { color: #4d350e; }
body.nfl .rate-fill.def { background: linear-gradient(90deg, #c8702a, #f3c98a); }

/* ---------- results: spacing around the field ---------- */
body.nfl .results-actions { margin-top: 22px; }
body.nfl .results-card { padding-bottom: 30px; }

/* ---------- full-page gridiron markings (yard lines + hashes) ---------- */
.gridiron-bg { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.gridiron-bg .yl {
  position: absolute; left: 0; right: 0; height: 2px;
  background: var(--line-on-turf);
}
.gridiron-bg .yl:nth-child(1) { top: 22%; }
.gridiron-bg .yl:nth-child(2) { top: 50%; }
.gridiron-bg .yl:nth-child(3) { top: 78%; }

/* ---------- title emblem — identical sizing to the other games ---------- */
img.nfl-emblem {
  display: block;
  width: clamp(170px, 40vw, 248px);
  height: auto;
  margin: 0 auto clamp(8px, 2vh, 16px);
  border-radius: 20px;
  box-shadow: var(--shadow);
}

/* ---------- results field (two-way XI on a gridiron) ---------- */
.field {
  position: relative; width: 100%; max-width: 440px; margin: 20px auto 0;
  aspect-ratio: 3 / 4.1; border-radius: 16px; overflow: hidden;
  border: 1px solid rgba(255,255,255,0.12);
  background:
    /* end zones (top & bottom 9%) — darker turf */
    linear-gradient(180deg, rgba(0,0,0,0.30) 0 9%, rgba(0,0,0,0) 9% 91%, rgba(0,0,0,0.30) 91% 100%),
    /* yard lines: a crisp white line every 8.2% across the field of play */
    repeating-linear-gradient(0deg, rgba(255,255,255,0.34) 0 2px, rgba(255,255,255,0) 2px 8.2%),
    /* mowing stripes */
    repeating-linear-gradient(0deg, rgba(255,255,255,0.06) 0 8.2%, rgba(255,255,255,0) 8.2% 16.4%),
    linear-gradient(160deg, #2a6b3f, #1c5530 60%, #174427);
}
/* bold 50-yard line */
.field::before {
  content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 3px;
  background: rgba(255,255,255,0.55);
}
/* two columns of hash marks down the field of play */
.field::after {
  content: ""; position: absolute; left: 0; right: 0; top: 9%; bottom: 9%; pointer-events: none;
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,0.42) 0 2px, transparent 2px 16px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.42) 0 2px, transparent 2px 16px);
  background-size: 7px 100%, 7px 100%;
  background-position: 35% 0, 65% 0;
  background-repeat: no-repeat;
}
.field-player {
  position: absolute; transform: translate(-50%, -50%);
  width: 80px; text-align: center; z-index: 1;
}
.fp-dot {
  width: 34px; height: 34px; margin: 0 auto 4px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid rgba(255,255,255,0.85); box-shadow: 0 3px 10px rgba(0,0,0,0.4);
}
.fp-dot span { font-family: "Oswald", sans-serif; font-weight: 700; font-size: 9.5px; color: #fff; letter-spacing: 0.3px; text-shadow: 0 1px 2px rgba(0,0,0,0.5); }
.fp-name { font-family: "Inter", sans-serif; font-weight: 700; font-size: 11px; color: #fff; line-height: 1.05; text-shadow: 0 1px 3px rgba(0,0,0,0.75); }
.fp-meta { font-size: 9px; color: rgba(255,255,255,0.82); margin-top: 1px; text-shadow: 0 1px 2px rgba(0,0,0,0.6); }
@media (max-width: 460px) {
  .field-player { width: 66px; }
  .fp-name { font-size: 10px; }
  .fp-dot { width: 30px; height: 30px; }
}

/* ---------- compact 11-slot draft tracker ---------- */
body.nfl .slot-chip { flex: 0 1 62px; min-width: 54px; padding: 7px 4px 8px; }
body.nfl .slot-chip .sc-name, body.nfl .slot-chip .sc-meta, body.nfl .slot-chip .sc-empty { display: none; }
body.nfl .slot-chip .sc-pos { font-size: 11px; letter-spacing: 0.5px; }

/* ---------- leaderboard: leather instead of hockey blue ---------- */
body.nfl .board-tab.active { background: rgba(224, 138, 60, 0.16); border-color: var(--leather); color: var(--text); }
body.nfl .board-name-link:hover { color: var(--leather); }

/* ---------- shared account dropdown menu ---------- */
.account-menu {
  position: absolute; top: 56px; right: 14px; z-index: 60;
  background: var(--panel); border: 1px solid var(--line); border-radius: 14px;
  box-shadow: 0 14px 34px rgba(0,0,0,0.45); padding: 8px; min-width: 190px; text-align: left;
  backdrop-filter: blur(8px);
}
.account-menu[hidden] { display: none; }
.account-menu .am-name { padding: 8px 12px 10px; font-weight: 700; border-bottom: 1px solid var(--line); margin-bottom: 6px; }
.account-menu button {
  display: block; width: 100%; text-align: left; background: none; border: 0; color: inherit;
  font: inherit; padding: 9px 12px; border-radius: 9px; cursor: pointer;
}
.account-menu button:hover { background: var(--line); }

/* ---------- re-draw buttons: keep the count badge inside ---------- */
body.nfl .respin-btn { font-size: 12px; padding: 11px 8px; overflow: hidden; }
body.nfl .respin-btn .count { min-width: 14px; padding: 1px 5px; margin-left: 5px; font-size: 10.5px; }

/* ---------- signup CTA: leather for 17-0 ---------- */
body.nfl .signup-cta { border-color: var(--leather); background: rgba(224, 138, 60, 0.07); }
body.nfl .signup-cta:hover { background: rgba(224, 138, 60, 0.14); }
