/* ==== NFL game page (preview / recap) - dark skin for the included stat sections ====
   Loaded after preview_styles.css / recap_styles.css / nfl_recap_stats.css.
*/
.tei-ng-score{font-family:var(--tei-font-display);font-weight:400;font-size:56px;line-height:1;color:var(--tei-fg)}
.tei-gd-team.is-loser .tei-ng-score,.tei-gd-team.is-loser .tei-gd-team__name{opacity:.55}
.tei-delta{font-size:13px;font-weight:700}
.tei-delta.is-up{color:var(--tei-accent)}
.tei-delta.is-down{color:var(--tei-amber)}

/* Layout: Bootstrap rows inside the include become simple grids */
.tei-ng-include .row{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:16px}
.tei-ng-include .row>[class*="col"]{max-width:none;flex:none;width:auto;padding:0}
.tei-ng-include .stats-column>.row{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));margin-bottom:16px}
.tei-ng-include .rankings-column{display:flex;flex-direction:column;gap:16px}

/* Panels */
.tei-ng-include .table-container,.tei-ng-include .nflstats,.tei-ng-include .legend-container{
  margin:0;padding:16px;background:var(--tei-panel)!important;border:1px solid var(--tei-line)!important;border-radius:var(--tei-radius)!important;box-shadow:none!important;color:var(--tei-fg)}
.tei-ng-include .table-title,.tei-ng-include .legend-container h4,.tei-ng-include .stat-section h3,.tei-ng-include .nflstats-head{
  margin:0 0 10px!important;font-family:var(--tei-font-label)!important;font-weight:700!important;font-size:18px!important;letter-spacing:.5px;text-transform:uppercase;color:var(--tei-fg)!important;text-align:left!important;border:0!important;display:block}
.tei-ng-include p{color:var(--tei-fg-dim)!important;text-align:left}
.tei-ng-include .stat-section{margin-bottom:16px}

/* Tables */
.tei-ng-include table{width:100%;background:transparent!important;color:var(--tei-fg)!important;border-color:var(--tei-line)!important;font-variant-numeric:tabular-nums;margin:0}
.tei-ng-include table th,.tei-ng-include table td{background:transparent!important;color:var(--tei-fg)!important;border-color:var(--tei-line)!important;font-size:14px}
.tei-ng-include table thead th,.tei-ng-include table tr.labels th,.tei-ng-include table tr.labels td{
  background:var(--tei-panel-2)!important;color:var(--tei-fg-dim)!important;font-family:var(--tei-font-label);font-weight:600;font-size:13px!important;letter-spacing:1px;text-transform:uppercase}
.tei-ng-include table tbody tr,.tei-ng-include table tbody tr:nth-child(odd),.tei-ng-include table tbody tr:nth-child(even){background:transparent!important}
.tei-ng-include table tbody tr:hover td,.tei-ng-include table tbody tr:hover th{background:var(--tei-panel-2)!important}
.tei-ng-include table tr.team-totals th,.tei-ng-include table tr.team-totals td{background:rgba(63,214,138,.08)!important;font-weight:700}
.tei-ng-include .stats-table th:first-child,.tei-ng-include .stats-table td:first-child,
.tei-ng-include .nflstats-table th:first-child,.tei-ng-include .nflstats-table td:first-child{background:var(--tei-panel)!important}
.tei-ng-include th:empty,.tei-ng-include td:empty{background:transparent!important}
.tei-dark .tei-ng-include a.player-link,.tei-dark .tei-ng-include a{color:var(--tei-fg);font-weight:600}
.tei-dark .tei-ng-include a:hover{color:var(--tei-accent)}

/* Rank colours: same four tiers as the team rankings page */
.tei-ng-include .rank-cell.green,.tei-ng-include .rank-green{background:transparent!important;color:var(--tei-accent)!important}
.tei-ng-include .rank-cell.gray,.tei-ng-include .rank-gray{background:transparent!important;color:var(--tei-blue)!important}
.tei-ng-include .rank-cell.yellow,.tei-ng-include .rank-yellow{background:transparent!important;color:var(--tei-amber)!important}
.tei-ng-include .rank-cell.red,.tei-ng-include .rank-red{background:transparent!important;color:var(--tei-fg-dim)!important}
.tei-ng-include .rank-cell{font-weight:700}
.tei-ng-include .rank-color-box.green{background:var(--tei-accent)}
.tei-ng-include .rank-color-box.gray{background:var(--tei-blue)}
.tei-ng-include .rank-color-box.yellow{background:var(--tei-amber)}
.tei-ng-include .rank-color-box.red{background:var(--tei-fg-dim)}
.tei-ng-include .legend-container{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.tei-ng-include .legend-container h4{margin:0!important;font-size:14px!important;color:var(--tei-fg-dim)!important}
.tei-ng-include .legend{margin:0;gap:14px;flex-wrap:wrap}
.tei-ng-include .legend-item{font-size:14px;color:var(--tei-fg-dim)}
.tei-ng-include .rankings-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;text-align:left!important}
.tei-dark .tei-ng-include .rankings-links a{padding:8px 14px;border-radius:999px;border:1px solid var(--tei-line);font-family:var(--tei-font-label);font-weight:600!important;font-size:14px;text-transform:uppercase;color:var(--tei-fg-dim)}

/* Recap team toggle */
.tei-ng-include .nflstats-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;background:transparent!important}
.tei-ng-include .nflstats-tab{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px;border-radius:999px;border:1px solid var(--tei-line);background:transparent!important;color:var(--tei-fg-dim);font-family:var(--tei-font-label);font-weight:700;font-size:15px;text-transform:uppercase;box-shadow:none!important}
.tei-ng-include .nflstats-tab.is-active{background:var(--tei-accent)!important;border-color:var(--tei-accent);color:var(--tei-accent-ink)}
.tei-ng-include .nflstats-panel[hidden]{display:none!important}
.tei-ng-include .table-freeze,.tei-ng-include .nflstats-scroll{overflow-x:auto}
.tei-ng-include .table--points img{max-width:64px;height:auto}

/* Containers that were white in the recap */
.tei-ng-include .nflstats-scroll,.tei-ng-include .table-freeze,.tei-ng-include .table-container--points,
.tei-ng-include .stat-section,.tei-ng-include .stat-section>.col,.tei-ng-include .nflstats-panels,.tei-ng-include .nflstats-panel{background:transparent!important;box-shadow:none!important}
.tei-ng-include .table-container--points{padding:0!important;border:0!important}
.tei-ng-include .nflstats-tab{color:var(--tei-fg-dim)!important}
.tei-ng-include .nflstats-tab.is-active{color:var(--tei-accent-ink)!important}
.tei-ng-include .nflstats-tabs{justify-content:flex-start;border:0!important;padding:0!important}
/* Preview: stats beside rankings, each wide enough for its tables */
.tei-ng-include>.row{grid-template-columns:repeat(auto-fit,minmax(min(640px,100%),1fr))}
.tei-ng-include .stats-column>.row{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr))}
.tei-ng-include .table-container{overflow-x:auto;min-width:0}
/* Rank tiers (recap ranking rows): same four colours as everywhere else */
.tei-ng-include .ranking-cell[data-rank="1"],.tei-ng-include .ranking-cell[data-rank="2"],.tei-ng-include .ranking-cell[data-rank="3"],.tei-ng-include .ranking-cell[data-rank="4"],.tei-ng-include .ranking-cell[data-rank="5"],.tei-ng-include .ranking-cell[data-rank="6"],.tei-ng-include .ranking-cell[data-rank="7"],.tei-ng-include .ranking-cell[data-rank="8"]{background:rgba(63,214,138,.18)!important;color:var(--tei-accent)!important}
.tei-ng-include .ranking-cell[data-rank="9"],.tei-ng-include .ranking-cell[data-rank="10"],.tei-ng-include .ranking-cell[data-rank="11"],.tei-ng-include .ranking-cell[data-rank="12"],.tei-ng-include .ranking-cell[data-rank="13"],.tei-ng-include .ranking-cell[data-rank="14"],.tei-ng-include .ranking-cell[data-rank="15"],.tei-ng-include .ranking-cell[data-rank="16"]{background:rgba(46,167,255,.16)!important;color:var(--tei-blue)!important}
.tei-ng-include .ranking-cell[data-rank="17"],.tei-ng-include .ranking-cell[data-rank="18"],.tei-ng-include .ranking-cell[data-rank="19"],.tei-ng-include .ranking-cell[data-rank="20"],.tei-ng-include .ranking-cell[data-rank="21"],.tei-ng-include .ranking-cell[data-rank="22"],.tei-ng-include .ranking-cell[data-rank="23"],.tei-ng-include .ranking-cell[data-rank="24"]{background:rgba(245,165,36,.14)!important;color:var(--tei-amber)!important}
.tei-ng-include .ranking-cell[data-rank="25"],.tei-ng-include .ranking-cell[data-rank="26"],.tei-ng-include .ranking-cell[data-rank="27"],.tei-ng-include .ranking-cell[data-rank="28"],.tei-ng-include .ranking-cell[data-rank="29"],.tei-ng-include .ranking-cell[data-rank="30"],.tei-ng-include .ranking-cell[data-rank="31"],.tei-ng-include .ranking-cell[data-rank="32"]{background:rgba(163,173,191,.12)!important;color:var(--tei-fg-dim)!important}
.tei-ng-include,.tei-ng-include *{box-sizing:border-box}

/* ==== Full rankings page (nfl_gp_game_rankings.css is variable-driven: remap to the site palette) ==== */
body.tei-dark.nflrk{--bg:var(--tei-ink);--text:var(--tei-fg);--muted:var(--tei-fg-dim);--card-bg:var(--tei-panel);--border:var(--tei-line);--shadow:none;
  --rank-green:var(--tei-accent);--rank-gray:var(--tei-blue);--rank-yellow:var(--tei-amber);--rank-red:var(--tei-fg-dim);background:var(--tei-ink);color:var(--tei-fg)}
.nflrk .nflrk-page{max-width:1280px;padding:0 24px}
.nflrk .tei-rkhead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:20px 24px;border-radius:18px;border:1px solid var(--tei-line);background:radial-gradient(120% 140% at 50% 0%,#12233f 0%,var(--tei-panel) 60%,var(--tei-ink) 100%)}
.nflrk .tei-rkhead__team{display:flex;align-items:center;gap:14px;min-width:0}
.nflrk .tei-rkhead__team>span{display:flex;flex-direction:column}
.nflrk .tei-rkhead__team--home{text-align:right}
.nflrk .tei-rkhead__team strong{font-family:var(--tei-font-display);font-weight:400;font-size:clamp(22px,3vw,34px);line-height:1;text-transform:uppercase}
.nflrk .tei-rkhead__team img{width:56px;height:56px;object-fit:contain}
.nflrk .tei-rkhead__at{font-family:var(--tei-font-display);font-size:28px;color:var(--tei-fg-dim)}
.nflrk .nflrk-section-hdr{font-family:var(--tei-font-display)!important;font-weight:400!important;font-size:clamp(28px,4vw,36px)!important;text-transform:uppercase;color:var(--tei-fg)!important}
.nflrk .nflrk-card-hdr{font-family:var(--tei-font-label);text-transform:uppercase;letter-spacing:.5px}
.nflrk .nflrk-badge{background:var(--tei-panel-2)!important;color:var(--tei-fg-dim)!important;border-color:var(--tei-line)!important}
.nflrk table th,.nflrk table td{border-color:var(--tei-line)!important}
.nflrk thead th{background:var(--tei-panel-2)!important;color:var(--tei-fg-dim)!important;font-family:var(--tei-font-label);text-transform:uppercase;letter-spacing:1px;font-size:13px}
.nflrk .stripe tbody tr:nth-child(odd) th,.nflrk .stripe tbody tr:nth-child(odd) td{background:rgba(255,255,255,.02)!important}
@media (max-width:640px){.nflrk .tei-rkhead{flex-direction:column;align-items:stretch}.nflrk .tei-rkhead__team--home{flex-direction:row-reverse;justify-content:flex-end;text-align:left}.nflrk .tei-rkhead__at{display:none}.nflrk .nflrk-page{padding:0 16px}}
.nflrk .nflrk-grid3{grid-template-columns:repeat(auto-fit,minmax(min(560px,100%),1fr))!important}
.nflrk .nflrk-card{min-width:0}
.nflrk .nflrk-shell{overflow-x:auto}
/* base_styles.css (blue th, white rows, centred text) must not bleed into this page */
.nflrk table,.nflrk table th,.nflrk table td,.nflrk table tbody tr,.nflrk table tbody tr:nth-child(odd),.nflrk table tbody tr:nth-child(even){background:transparent!important;color:var(--tei-fg)!important}
.nflrk table tbody th{color:var(--tei-fg)!important;font-weight:600;text-align:left}
.nflrk table thead th{background:var(--tei-panel-2)!important;color:var(--tei-fg-dim)!important}
.nflrk .stripe tbody tr:nth-child(odd) th,.nflrk .stripe tbody tr:nth-child(odd) td{background:rgba(255,255,255,.025)!important}
.nflrk table tbody tr:hover th,.nflrk table tbody tr:hover td{background:var(--tei-panel-2)!important}
.nflrk .nflrk-card-hdr{background:var(--tei-panel-2)!important;color:var(--tei-fg)!important;border-color:var(--tei-line)!important}
.nflrk .nflrk-rank.rank-green{color:var(--tei-accent)!important}.nflrk .nflrk-rank.rank-gray{color:var(--tei-blue)!important}
.nflrk .nflrk-rank.rank-yellow{color:var(--tei-amber)!important}.nflrk .nflrk-rank.rank-red{color:var(--tei-fg-dim)!important}
.nflrk h1,.nflrk h2,.nflrk p{text-align:left}
