/* NFL overhaul (EDGERANKED_NFL_OVERHAUL). Every selector is nx- prefixed (or scoped to the NFL ER2 page) so nothing
   here can restyle another sport or page. Colours come from the ER2 tokens, with literal fallbacks so the legacy
   (non-ER2) document renders the same way. Mobile first: 375-430px is the design target. */
.nx{--nx-blue:var(--er2-blue,#1f6feb);--nx-blue-soft:var(--er2-blue-soft,#e8f0fe);--nx-text:var(--er2-text,#14181f);--nx-text2:var(--er2-text-2,#4b5563);--nx-text3:var(--er2-text-3,#646d7b);--nx-line:var(--er2-line,#dde1e7);--nx-line2:var(--er2-line-2,#c6ccd5);--nx-surface2:var(--er2-surface-2,#f8f9fb);--nx-pos:var(--er2-pos,#137a43);--nx-pos-soft:var(--er2-pos-soft,#e6f4ec);--nx-warn:var(--er2-warn,#8a5a00);--nx-warn-soft:var(--er2-warn-soft,#fdf3dc);--nx-neg:var(--er2-neg,#b42318);--nx-neg-soft:var(--er2-neg-soft,#fdecea);color:var(--nx-text);font-variant-numeric:tabular-nums;padding-bottom:8px}
.nx *{box-sizing:border-box;min-width:0}
.nx a{color:var(--nx-blue)}
.nx h2,.nx h3{margin:0}
.nx p{margin:0}

/* ---- the ER2 hero, on NFL pages only: a compact title row. No artwork behind the heading. ---- */
.er2 .er2-page.er2-sport-nfl .er2-hero{padding:8px 0 9px}
.er2 .er2-page.er2-sport-nfl .er2-hero::before,.er2 .er2-page.er2-sport-nfl .er2-hero::after{display:none}
.er2 .er2-page.er2-sport-nfl .er2-hero__t{margin-top:2px;font-size:20px;line-height:1.15;letter-spacing:-.01em}
.er2 .er2-page.er2-sport-nfl .er2-hero__s{display:none}
@media (min-width:768px){
  .er2 .er2-page.er2-sport-nfl .er2-hero{padding:14px 0}
  .er2 .er2-page.er2-sport-nfl .er2-hero__t{font-size:28px}
  .er2 .er2-page.er2-sport-nfl .er2-hero__s{display:block;margin-top:6px;max-width:70ch}
}

/* ---- status bar: honest, small, per slate ---- */
.nx-status{display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px;margin:10px 0 0;font-size:12px;line-height:1.35;color:var(--nx-text3)}
.nx-status__b{color:var(--nx-text);font-weight:700}
.nx-dot{opacity:.5}
.nx-note{margin:6px 0 0!important;padding:6px 9px;border-left:3px solid var(--nx-line2);background:var(--nx-surface2);border-radius:0 4px 4px 0;font-size:12px;line-height:1.4;color:var(--nx-text2)}
.nx-note--warn{border-left-color:#d9a13a;background:var(--nx-warn-soft);color:var(--nx-warn)}
.nx-chip{display:inline-flex;align-items:center;max-width:100%;padding:2px 7px;border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;background:var(--nx-blue-soft);color:var(--nx-blue)}
.nx-chip--ok{background:var(--nx-pos-soft);color:var(--nx-pos)}
.nx-chip--warn{background:var(--nx-warn-soft);color:var(--nx-warn)}
.nx-chip--muted{background:#eceff3;color:#4b5563}
.nx-chip--live{background:var(--nx-neg-soft);color:var(--nx-neg)}
.nx-chip--flag{background:#0b0f17;color:#fff}

/* compact status line and per-game tag (replaces the large warning box) */
.nx-micro{margin:3px 0 0!important;font-size:11.5px;line-height:1.35;color:var(--nx-warn)}
.nx-tag{padding:0 5px;border-radius:3px;background:var(--nx-warn-soft);color:var(--nx-warn);font-weight:600;white-space:nowrap}
.nx-st{font-weight:800;letter-spacing:.03em;color:var(--nx-text)}
.nx-grow--live .nx-st{color:var(--nx-neg)}

/* ---- sections ---- */
.nx-sec{margin:16px 0 0}
.nx-sec__h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 6px;padding-bottom:5px;border-bottom:2px solid var(--nx-text)}
.nx-sec__h h2{flex:1 1 auto;font-size:13px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
.nx-sec__h a{flex:0 0 auto;font-size:12.5px;font-weight:650;text-decoration:none;white-space:nowrap}
.nx-sec__sub{margin:0 0 6px!important;font-size:12.5px;color:var(--nx-text3)}
.nx-grouph{margin:14px 0 2px;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--nx-text3)}

/* ---- player rows ---- */
.nx-plist{margin:0;padding:0;list-style:none;border-top:1px solid var(--nx-line)}
.nx-prow{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:2px 10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--nx-line)}
.nx-pos{display:inline-flex;align-items:center;justify-content:center;height:22px;border-radius:3px;background:var(--nx-text);color:#fff;font-size:10px;font-weight:800;letter-spacing:.03em}
.nx-pname{display:block;font-size:15px;font-weight:700;line-height:1.2;color:var(--nx-text)!important;text-decoration:none}
a.nx-pname:hover{text-decoration:underline}
.nx-pmeta{display:block;margin-top:1px;font-size:12px;color:var(--nx-text3);line-height:1.3}
.nx-fp{text-align:right;line-height:1}
.nx-fp b{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--nx-blue)}
.nx-fp span{display:block;margin-top:2px;font-size:9.5px;font-weight:700;letter-spacing:.08em;color:var(--nx-text3)}
.nx-fp small{display:block;margin-top:3px;font-size:11px;color:var(--nx-text3)}
.nx-stats{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:2px 12px;margin-top:3px}
.nx-stat{display:inline-flex;align-items:baseline;gap:4px;font-size:13px;font-weight:700;color:var(--nx-text)}
.nx-stat i{font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.05em;color:var(--nx-text3)}
.nx-stat--2{font-weight:500;font-size:12px;color:var(--nx-text2)}
@media (max-width:767px){.nx-plist .nx-stat--2{display:none}}
.nx-prow__tags{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}
.nx-rank{font-size:12px;font-weight:800;color:var(--nx-text3);text-align:center}

/* ---- matchup cards ---- */
.nx-gl{display:grid;grid-template-columns:1fr;gap:8px}
.nx-gcard{position:relative;padding:10px 11px;border:1px solid var(--nx-line2);border-radius:6px;background:#fff}
.nx-gcard--final{background:var(--nx-surface2)}
.nx-gcard__head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.nx-gcard__t{font-size:15px;font-weight:800;letter-spacing:.01em}
.nx-gcard__t a{color:var(--nx-text)!important;text-decoration:none}
.nx-gcard__t a::after{content:"";position:absolute;inset:0}
.nx-gcard__k{margin:2px 0 0!important;font-size:12px;color:var(--nx-text3)}
.nx-score{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin-top:8px;padding-top:8px;border-top:1px solid var(--nx-line)}
.nx-score__c span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.07em;color:var(--nx-text3)}
.nx-score__c b{display:block;font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.05}
.nx-score__c--tot{padding-left:10px;border-left:1px solid var(--nx-line);text-align:right}
.nx-score__c--tot b{font-size:19px;color:var(--nx-blue)}
.nx-range{display:block;margin-top:2px;font-size:11px;font-weight:500;color:var(--nx-text3)}
.nx-gcard__foot{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;margin-top:7px!important;font-size:11.5px;color:var(--nx-text3)}
.nx-flags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}

/* ---- compact matchup rows (Games page) ---- */
.nx-glist{margin:0;padding:0;list-style:none;border-top:1px solid var(--nx-line)}
.nx-grow{position:relative;display:grid;gap:2px;padding:9px 0;border-bottom:1px solid var(--nx-line)}
.nx-grow__t{display:flex;align-items:baseline;justify-content:space-between;gap:10px;text-decoration:none;color:var(--nx-text)!important}
.nx-grow__t::after{content:"";position:absolute;inset:0}
.nx-grow__t b{font-size:15px;font-weight:800;letter-spacing:.01em}
.nx-grow__t time{font-size:12px;color:var(--nx-text3);white-space:nowrap}
.nx-grow__s{display:flex;flex-wrap:wrap;gap:0 14px;font-size:13px;color:var(--nx-text3)}
.nx-grow__s b{font-size:15px;color:var(--nx-text);font-weight:800}
.nx-grow__tot b{color:var(--nx-blue)}
.nx-grow__m{display:block;font-size:11.5px;color:var(--nx-text3)}
.nx-grow__m strong{color:var(--nx-text);font-weight:700}
.nx-dotc{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:var(--nx-blue)}
.nx-dotc--ok{background:var(--nx-pos)}.nx-dotc--warn{background:#d9a13a}.nx-dotc--muted{background:#9aa3b0}.nx-dotc--live{background:var(--nx-neg)}
.nx-grow--final{opacity:.92}
.nx-done .nx-more__b{line-height:1.4}
@media (min-width:768px){.nx-glist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}}

/* ---- premium boundary and conversion ---- */
.nx-cta{margin:16px 0 0;padding:13px 13px 12px;border:1px solid #b9cdf3;border-radius:6px;background:var(--nx-blue-soft)}
.nx-cta h2{font-size:16px;font-weight:800;line-height:1.25;letter-spacing:-.005em}
.nx-cta p{margin:5px 0 0;font-size:13px;line-height:1.45;color:var(--nx-text2)}
.nx-cta ul{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:3px;font-size:13px;color:var(--nx-text)}
.nx-cta li::before{content:"\2713";margin-right:7px;color:var(--nx-pos);font-weight:800}
.nx-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:11px;padding:0 18px;border-radius:5px;background:var(--nx-blue);color:#fff!important;font-size:14px;font-weight:700;text-decoration:none}
.nx-btn:hover{background:var(--er2-blue-hover,#1858c4)}
.nx p.nx-fine,.nx-fine{margin:7px 0 0;font-size:11.5px;color:var(--nx-text3)}

/* ---- premium-board preview (real counts, no placeholder rows) ---- */
.nx-pv{margin:16px 0 0;padding:13px 13px 4px;border:1px solid var(--nx-line2);border-bottom:0;border-radius:6px 6px 0 0;background:var(--nx-surface2)}
.nx-pv h2{font-size:16px;font-weight:800;line-height:1.25}
.nx-pv p{margin:5px 0 0;font-size:13px;line-height:1.45;color:var(--nx-text2)}
.nx-pv__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:10px}
.nx-pv__grid a{display:block;padding:8px 2px;border:1px solid var(--nx-line2);border-radius:5px;background:#fff;text-align:center;text-decoration:none}
.nx-pv__grid b{display:block;font-size:20px;font-weight:800;color:var(--nx-blue);line-height:1.1}
.nx-pv__grid span{display:block;margin-top:2px;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--nx-text3)}
.nx-pv__stats{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}
.nx-pv__stats span{font-size:10.5px;font-weight:750;letter-spacing:.07em;text-transform:uppercase;color:var(--nx-text3)}
.nx-pv__stats b{padding:1px 6px;border-radius:3px;background:#fff;border:1px solid var(--nx-line2);font-size:11px;font-weight:700;color:var(--nx-text)}
.nx-pv+.nx-cta{margin-top:0;border-top:0;border-radius:0 0 6px 6px}
.nx-pv .nx-pv__line{padding-bottom:10px}

/* ---- tables: the row list on a phone, a real table from 768px (the markup carries both; CSS shows one) ---- */
.nx-tw{display:none}
.nx-table{width:100%;border-collapse:collapse}
.nx-table th{padding:7px 8px;border-bottom:2px solid var(--nx-text);font-size:10.5px;font-weight:750;letter-spacing:.07em;text-align:right;color:var(--nx-text3);white-space:nowrap}
.nx-table td{padding:9px 8px;border-bottom:1px solid var(--nx-line);text-align:right;font-size:14px;vertical-align:middle}
.nx-table th.nx-l,.nx-table td.nx-l{text-align:left}
.nx-table .nx-td-rk{width:34px;color:var(--nx-text3);font-weight:800;text-align:center}
.nx-table .nx-td-fp b{font-size:17px;font-weight:800;color:var(--nx-blue)}
.nx-table tbody tr:hover{background:var(--nx-surface2)}
.nx-table .nx-pname{display:inline}

/* ---- filters, sorts, pager ---- */
.nx-bar{display:flex;align-items:center;gap:6px;margin:0 0 8px;overflow-x:auto;scrollbar-width:none}
.nx-bar::-webkit-scrollbar{display:none}
.nx-bar>span{flex:0 0 auto;font-size:10.5px;font-weight:750;letter-spacing:.07em;text-transform:uppercase;color:var(--nx-text3)}
.nx-bar a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:36px;padding:0 11px;border:1px solid var(--nx-line2);border-radius:4px;background:#fff;color:var(--nx-text2);font-size:12.5px;font-weight:650;text-decoration:none;white-space:nowrap}
.nx-bar a[aria-current]{background:var(--nx-text);border-color:var(--nx-text);color:#fff}
.nx-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid var(--nx-line);font-size:13px}
.nx-pager a,.nx-pager span.nx-off{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border:1px solid var(--nx-line2);border-radius:4px;text-decoration:none;font-weight:650}
.nx-pager .nx-off{color:#9aa3b0;border-color:var(--nx-line)}

/* ---- collapsed crawlable lists ---- */
.nx-more{margin:12px 0 0;border:1px solid var(--nx-line);border-radius:6px;background:#fff}
.nx-more>summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 12px;font-size:13px;font-weight:700;cursor:pointer;list-style:none}
.nx-more>summary::-webkit-details-marker{display:none}
.nx-more>summary::after{content:"+";font-size:18px;color:var(--nx-text3)}
.nx-more[open]>summary::after{content:"\2212"}
.nx-more__b{padding:2px 12px 12px;font-size:13px;line-height:2.1;color:var(--nx-text2)}
.nx-more__b a{display:inline-block;padding:3px 0;text-decoration:none}
.nx-more__b a:hover{text-decoration:underline}
.nx-teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;line-height:1.9}

/* ---- links, prose ---- */
.nx-links{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
.nx-links a{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border:1px solid var(--nx-line2);border-radius:4px;font-size:13px;font-weight:650;text-decoration:none;color:var(--nx-text)}
.nx-posnav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.nx-posnav a{justify-content:center;padding:0}
.nx-prose{margin:20px 0 0;padding:12px 0 0;border-top:1px solid var(--nx-line);font-size:13px;line-height:1.55;color:var(--nx-text2)}
.nx-prose h2{margin:0 0 5px;font-size:14px;color:var(--nx-text)}
.nx-prose p{margin:0 0 8px}

/* ---- player page numbers ---- */
.nx-pcard{margin-top:12px;padding:12px;border:1px solid var(--nx-line2);border-radius:6px}
.nx-pcard__top{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.nx-pcard__top>div:first-child{flex:1 1 0}
.nx-pcard__top .nx-fp{flex:0 0 auto}
.nx-big{font-size:38px!important;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--nx-blue)}
.nx-biglab{font-size:10.5px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--nx-text3)}
.nx-grid4{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--nx-line)}
.nx-grid4 div b{display:block;font-size:19px;font-weight:800;line-height:1.1}
.nx-grid4 div span{display:block;margin-top:2px;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--nx-text3)}

@media (min-width:560px){.nx-gl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:768px){
  .nx-gl{grid-template-columns:repeat(3,minmax(0,1fr))}
  .nx-tw{display:block}
  .nx-plist--m{display:none}
  .nx-score__c b{font-size:28px}
  .nx-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:center}
  .nx-cta .nx-btn{margin-top:0;grid-column:2;grid-row:1/span 3}
  .nx-cta .nx-fine{grid-column:1}
  .nx-grid4{grid-template-columns:repeat(6,minmax(0,1fr))}
}
