/* NEXT PLAY NETWORK — NETWORK V2 · public presentation system · PREVIEW ONLY (?network=v2)
   Every rule is scoped to html.n2-on / .n2 / n2- classes so nothing reaches the Phase 3 experience.
   Design north star: School Page V2.1 — matte black, graphite, white editorial surfaces, metallic silver,
   condensed athletic type, thin metallic rules, minimal cards, contextual colour as accent only. */

/* =====================================================================
   00 · TOKENS — colour, type, layout, motion (one language for every route)
   ===================================================================== */
html.n2-on{
  /* surfaces */
  --n2-dk:#08090A; --n2-dk2:#0E1012; --n2-gr:#15181B; --n2-gr2:#1C2024;
  --n2-lt:#F3F4F5; --n2-lt2:#E8EAEC; --n2-pp:#FFFFFF;
  /* ink */
  --n2-ink:#0B0C0E; --n2-ink2:#3A3F45; --n2-ink3:#646A72; --n2-t1:#F4F5F6; --n2-t2:#B4BAC0; --n2-t3:#878D95;
  /* rules */
  --n2-rule:rgba(11,12,14,.12); --n2-rule2:rgba(11,12,14,.26); --n2-ln:rgba(214,220,226,.12); --n2-ln2:rgba(214,220,226,.24);
  --n2-chrome:linear-gradient(90deg,rgba(201,206,211,0) 0%,#6B7178 18%,#E4E8EB 50%,#6B7178 82%,rgba(201,206,211,0) 100%);
  --n2-metal:linear-gradient(180deg,#F7F8F9 0%,#DCE0E4 46%,#C3C8CD 54%,#E6E9EC 100%);
  --n2-silver:#C9CED3;
  /* status — distinct without neon */
  --n2-live:#C8363C; --n2-post:#A86A12; --n2-pend:#6A7078;
  /* contextual accent (school / state / sport / game) — set per element, defaults to silver */
  --n2-ctx:#C9CED3;
  /* type */
  --n2-fd:"Barlow Condensed","Archivo Condensed","Oswald",Impact,sans-serif;
  --n2-fu:"Inter","Helvetica Neue",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  /* layout */
  --n2-max:1360px; --n2-ed:880px; --n2-gut:clamp(16px,3.2vw,48px);
  --n2-sp:clamp(56px,6.6vw,100px); --n2-sp-s:clamp(40px,4.6vw,64px);
  --n2-r:2px;
  /* motion tokens */
  --n2-ease:cubic-bezier(.2,.7,.2,1);
  --n2-zoom:48s;        /* slowZoom   */
  --n2-sheen:14s;       /* chromeSheen */
  --n2-rv-d:10px; --n2-rv-t:1s;  /* revealUp */
  --n2-lift:-2px;       /* hoverLift  */
  --n2-img:1.04;        /* imageZoom  */
}
@keyframes n2zoom{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes n2sheen{0%{left:-35%}22%,100%{left:120%}}
@keyframes n2beat{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes n2sk{0%{background-position:100% 0}100%{background-position:0 0}}
@keyframes n2in{from{opacity:0;transform:translateY(var(--n2-rv-d))}to{opacity:1;transform:none}}

/* =====================================================================
   01 · PAGE FRAME + ENVIRONMENTS
   ===================================================================== */
.n2{background:var(--n2-dk);color:var(--n2-t1);font-family:var(--n2-fu);overflow-x:clip;position:relative;-webkit-font-smoothing:antialiased}
.n2 *,.n2 *::before,.n2 *::after{box-sizing:border-box}
.n2 a{color:inherit;text-decoration:none}
.n2 img{max-width:100%}
.n2 button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
.n2 :focus-visible{outline:2px solid currentColor;outline-offset:3px}
.n2-w{max-width:var(--n2-max);margin:0 auto;padding:0 var(--n2-gut);position:relative;z-index:3}
.n2-sec{position:relative;padding:var(--n2-sp) 0;overflow:hidden;isolation:isolate}
.n2-dk{background:var(--n2-dk);color:var(--n2-t1)}
.n2-gr{background:radial-gradient(110% 90% at 85% 0%,#1F2328 0%,#121417 55%,#0B0C0E 100%);color:var(--n2-t1)}
.n2-lt{background:var(--n2-lt);color:var(--n2-ink)}
.n2-pp{background:var(--n2-pp);color:var(--n2-ink)}
.n2-sv{background:linear-gradient(180deg,#F4F5F7 0%,#E1E4E7 100%);color:var(--n2-ink)}
.n2-chrome{height:1px;border:0;margin:0;background:var(--n2-chrome);position:relative;z-index:4}
.n2-k{font-family:var(--n2-fd);font-weight:700;font-size:12px;letter-spacing:.22em;text-transform:uppercase;line-height:1.2}
/* section head */
.n2-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:20px 32px;flex-wrap:wrap;margin-bottom:clamp(22px,2.8vw,40px)}
.n2-hd>div:first-child{min-width:0;flex:1 1 420px}
.n2-hd .n2-k{color:var(--n2-ink3)}
.n2-dk .n2-hd .n2-k,.n2-gr .n2-hd .n2-k{color:var(--n2-t3)}
.n2-h2{font-family:var(--n2-fd);font-weight:800;font-size:clamp(34px,4.4vw,64px);line-height:.92;letter-spacing:-.004em;text-transform:uppercase;margin:8px 0 0;text-wrap:balance}
.n2-h2 em{font-style:normal;color:var(--n2-ink3)}
.n2-dk .n2-h2 em,.n2-gr .n2-h2 em{color:var(--n2-t3)}
.n2-sub{margin:12px 0 0;font-size:14.5px;line-height:1.55;color:var(--n2-ink3);max-width:600px}
.n2-dk .n2-sub,.n2-gr .n2-sub{color:var(--n2-t2)}
.n2-hd-r{display:flex;align-items:center;gap:14px 24px;flex-wrap:wrap}
/* text link with arrow + rule */
.n2 .n2-more{display:inline-flex;align-items:center;gap:8px;font-family:var(--n2-fd);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;padding:6px 0 5px;border-bottom:1px solid currentColor;transition:gap .22s var(--n2-ease),opacity .2s}
.n2 .n2-more::after{content:"\2192";letter-spacing:0}
.n2 .n2-more:hover{gap:13px}
/* buttons */
.n2 .n2-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:var(--n2-r);font-family:var(--n2-fd);font-weight:800;font-size:14px;letter-spacing:.14em;text-transform:uppercase;
  background:var(--n2-t1);color:var(--n2-ink);transition:transform .2s var(--n2-ease),background .2s,box-shadow .2s}
.n2 .n2-btn:hover{transform:translateY(var(--n2-lift));box-shadow:0 8px 22px rgba(0,0,0,.25)}
.n2 .n2-btn.is-ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1px currentColor}
.n2-lt .n2-btn:not(.is-ghost),.n2-pp .n2-btn:not(.is-ghost),.n2-sv .n2-btn:not(.is-ghost){background:var(--n2-ink);color:#fff}

/* revealUp */
.n2 [data-n2rv]{opacity:0;transform:translateY(var(--n2-rv-d));transition:opacity var(--n2-rv-t) var(--n2-ease),transform var(--n2-rv-t) var(--n2-ease)}
.n2 [data-n2rv].is-in{opacity:1;transform:none}

/* skeletons */
.n2-sk{border-radius:var(--n2-r);background:linear-gradient(90deg,rgba(128,134,140,.10) 0%,rgba(128,134,140,.22) 50%,rgba(128,134,140,.10) 100%);background-size:300% 100%;animation:n2sk 1.6s linear infinite}
.n2-sk.is-row{height:58px;margin-bottom:8px}
.n2-sk.is-block{height:240px}
.n2-sk.is-chip{height:56px}

/* =====================================================================
   02 · STAGE (image hierarchy C: broadcast environment; A/B photo layered on top)
   ===================================================================== */
.n2-stage{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#050607}
.n2-stage-z{position:absolute;inset:-6% 0 -6% 0;will-change:transform}
.n2-stage-z::before{content:"";position:absolute;inset:0;animation:n2zoom var(--n2-zoom) ease-in-out infinite alternate;
  background:
   radial-gradient(36% 30% at 12% 4%,rgba(235,242,255,.30) 0%,rgba(235,242,255,.08) 38%,rgba(235,242,255,0) 70%),
   radial-gradient(36% 30% at 88% 2%,rgba(235,242,255,.26) 0%,rgba(235,242,255,.07) 38%,rgba(235,242,255,0) 70%),
   radial-gradient(58% 42% at 50% 108%,color-mix(in srgb,var(--n2-ctx) 26%,transparent) 0%,transparent 72%),
   radial-gradient(90% 70% at 50% 40%,#16191D 0%,#0B0C0E 60%,#050607 100%)}
.n2-stage-z::after{content:"";position:absolute;inset:0;mix-blend-mode:screen;opacity:.5;
  background:conic-gradient(from 150deg at 12% 0%,transparent 0deg,rgba(220,230,245,.10) 14deg,transparent 30deg,transparent 360deg),
   conic-gradient(from 182deg at 88% 0%,transparent 0deg,rgba(220,230,245,.09) 16deg,transparent 32deg,transparent 360deg)}
.n2-field{position:absolute;left:-30%;right:-30%;bottom:-6%;height:58%;transform:perspective(900px) rotateX(64deg);transform-origin:50% 100%;z-index:1;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 2px,transparent 2px 9%),linear-gradient(180deg,rgba(18,21,24,0) 0%,rgba(30,34,38,.85) 40%,#202428 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 45%);mask-image:linear-gradient(180deg,transparent 0%,#000 45%);opacity:.85}
.n2-photo{position:absolute;inset:0;z-index:1;overflow:hidden}
.n2-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:grayscale(.35) contrast(1.06) brightness(.62);animation:n2zoom var(--n2-zoom) ease-in-out infinite alternate}
.n2-stage.has-photo .n2-field{opacity:.25}
.n2-wm{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:2;font-family:var(--n2-fd);font-weight:800;font-size:clamp(110px,22vw,360px);line-height:.8;letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1px rgba(214,220,226,.09);user-select:none}
.n2-grain{position:absolute;inset:0;z-index:3;opacity:.09;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>")}
.n2-vig{position:absolute;inset:0;z-index:3;background:radial-gradient(120% 90% at 50% 45%,transparent 48%,rgba(0,0,0,.62) 100%),linear-gradient(180deg,rgba(5,6,7,.55) 0%,rgba(5,6,7,0) 24%,rgba(5,6,7,0) 52%,rgba(5,6,7,.9) 100%)}
.n2-stage.has-photo .n2-vig{background:radial-gradient(120% 90% at 50% 45%,transparent 40%,rgba(0,0,0,.7) 100%),linear-gradient(90deg,rgba(5,6,7,.88) 0%,rgba(5,6,7,.45) 50%,rgba(5,6,7,.7) 100%),linear-gradient(180deg,rgba(5,6,7,.5) 0%,rgba(5,6,7,0) 30%,rgba(5,6,7,.92) 100%)}

/* =====================================================================
   03 · MASTHEAD (hero) — sizes xl (fronts) · md (hubs) · sm (tools: scores, schedule)
   ===================================================================== */
.n2-mast{position:relative;overflow:hidden;isolation:isolate;background:#050607;color:var(--n2-t1);display:flex;flex-direction:column;justify-content:flex-end}
.n2-mast.is-xl{min-height:clamp(600px,84vh,800px)}
.n2-mast.is-md{min-height:clamp(440px,58vh,560px)}
.n2-mast.is-sm{min-height:0}
.n2-mast-w{width:100%;padding-top:clamp(28px,5vh,56px)}
.n2-mast.is-sm .n2-mast-w{padding-top:clamp(26px,3.4vw,44px);padding-bottom:clamp(20px,2.4vw,30px)}
.n2-crumb{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-family:var(--n2-fd);font-weight:600;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#868C94;margin-bottom:clamp(22px,5vh,56px)}
.n2-mast.is-sm .n2-crumb{margin-bottom:18px}
.n2-crumb a:hover{color:#fff}
.n2-crumb i{width:14px;height:1px;background:#4A4F55;display:inline-block}
.n2-crumb b{color:var(--n2-silver);font-weight:700}
.n2-mast-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:clamp(24px,5vw,80px);align-items:end}
.n2-mast-r:empty{display:none}
.n2-mast-g:has(.n2-mast-r:empty){grid-template-columns:minmax(0,1fr)}
.n2-eyb{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;color:var(--n2-silver);margin-bottom:16px}
.n2-eyb::before{content:"";width:34px;height:2px;background:var(--n2-ctx);box-shadow:0 0 14px color-mix(in srgb,var(--n2-ctx) 70%,transparent)}
.n2-tier{font-family:var(--n2-fd);font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:4px 8px 3px;border:1px solid rgba(214,220,226,.3);color:#D6DCE2}
.n2-tier.is-full,.n2-tier.is-strong{border-color:rgba(214,220,226,.55);color:#fff}
.n2-title{font-family:var(--n2-fd);font-weight:800;text-transform:uppercase;line-height:.84;letter-spacing:-.012em;margin:0;font-size:clamp(76px,13.5vw,212px);
  background:linear-gradient(180deg,#FFFFFF 0%,#E9ECEF 48%,#A3A9B0 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 10px 40px rgba(0,0,0,.5));text-wrap:balance}
.n2-title.is-long{font-size:clamp(60px,10vw,160px)}
.n2-title.is-xlong{font-size:clamp(46px,7.4vw,118px);line-height:.9}
.n2-title em{font-style:normal;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.5px rgba(228,232,235,.55)}
.n2-mast.is-md .n2-title{font-size:clamp(64px,10vw,150px)}
.n2-mast.is-sm .n2-title{font-size:clamp(54px,7.2vw,104px)}
.n2-mast-sub{margin:18px 0 0;max-width:560px;font-size:15.5px;line-height:1.55;color:#B9BFC5}
/* hero figure bar */
.n2-hbar{position:relative;z-index:3;margin-top:clamp(28px,5vh,52px);border-top:1px solid rgba(214,220,226,.18);display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  background:linear-gradient(180deg,rgba(10,11,13,.3),rgba(10,11,13,.72));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.n2-hbar>*{padding:18px 22px 20px;border-left:1px solid rgba(214,220,226,.12);display:flex;flex-direction:column;gap:5px;min-width:0;transition:background .25s}
.n2-hbar>*:first-child{border-left:0;padding-left:0}
.n2-hbar>a:hover{background:rgba(255,255,255,.035)}
.n2-hbar .n2-k{color:#868C94;font-size:11px}
.n2-hbar b{font-family:var(--n2-fd);font-weight:800;font-size:clamp(28px,2.8vw,40px);line-height:1;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.n2-hbar small{font-size:12.5px;color:#9EA4AB;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* =====================================================================
   04 · PRESENTING RIBBON + LOCKUP (sponsorship stays premium, never ad boxes)
   ===================================================================== */
.n2-rb{position:relative;overflow:hidden;color:var(--n2-ink);background:var(--n2-metal);border-top:1px solid #fff;border-bottom:1px solid #8E949B}
.n2-rb::before{content:"";position:absolute;inset:0;opacity:.3;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(255,255,255,0) 0 2px,rgba(255,255,255,.55) 2px 3px,rgba(0,0,0,.03) 3px 5px)}
.n2-rb::after{content:"";position:absolute;top:0;bottom:0;width:30%;left:-35%;pointer-events:none;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.75) 50%,transparent 100%);opacity:.55;animation:n2sheen var(--n2-sheen) var(--n2-ease) infinite 2s}
.n2-rb-w{display:flex;align-items:center;gap:clamp(14px,3vw,40px);min-height:64px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.n2-rb-c{font-family:var(--n2-fd);font-weight:800;font-size:clamp(18px,1.8vw,24px);letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:14px}
.n2-rb-c::before{content:"";width:9px;height:9px;transform:rotate(45deg);background:var(--n2-ink);box-shadow:0 0 0 3px rgba(255,255,255,.7)}
.n2-rb-m{display:flex;align-items:center;gap:14px;padding-left:clamp(14px,3vw,40px);border-left:1px solid rgba(11,12,14,.25)}
.n2-rb-m .n2-k{color:#4A4F55;font-size:11px}
.n2-rb-m b{font-family:var(--n2-fd);font-weight:800;font-size:16px;letter-spacing:.12em;text-transform:uppercase}
.n2 .n2-rb .n2-more{margin-left:auto;color:var(--n2-ink)}
.n2 .n2-lock{display:inline-flex;align-items:center;gap:10px;padding:6px 0;font-family:var(--n2-fd);text-transform:uppercase;white-space:nowrap}
.n2-lock-k{font-weight:700;font-size:10.5px;letter-spacing:.2em;opacity:.62}
.n2-lock b{font-weight:800;font-size:13px;letter-spacing:.14em;padding-left:10px;border-left:1px solid currentColor}
.n2 .n2-lock:hover b{text-decoration:underline;text-underline-offset:4px}

/* =====================================================================
   05 · TABS — condensed rule tabs with an animated active rule
   ===================================================================== */
.n2-tabs{position:relative;display:flex;gap:0;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--n2-rule2)}
.n2-tabs::-webkit-scrollbar{display:none}
.n2-dk .n2-tabs,.n2-gr .n2-tabs,.n2-mast .n2-tabs{border-bottom-color:var(--n2-ln2)}
.n2 .n2-tab{position:relative;flex:0 0 auto;display:inline-flex;align-items:baseline;gap:7px;padding:12px 16px 13px;font-family:var(--n2-fd);font-weight:700;font-size:15px;letter-spacing:.11em;text-transform:uppercase;color:var(--n2-ink3);white-space:nowrap;transition:color .2s}
.n2 .n2-tab:first-child{padding-left:0}
.n2-dk .n2-tab,.n2-gr .n2-tab,.n2-mast .n2-tab{color:var(--n2-t3)}
.n2 .n2-tab:hover,.n2 .n2-tab.is-on{color:var(--n2-ink)}
.n2-dk .n2-tab:hover,.n2-dk .n2-tab.is-on,.n2-gr .n2-tab:hover,.n2-gr .n2-tab.is-on,.n2-mast .n2-tab:hover,.n2-mast .n2-tab.is-on{color:#fff}
.n2-tab small{font-family:var(--n2-fu);font-weight:600;font-size:11px;letter-spacing:0;opacity:.7;font-variant-numeric:tabular-nums}
.n2-tabs-ink{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:currentColor;color:var(--n2-ink);transition:transform .35s var(--n2-ease),width .35s var(--n2-ease)}
.n2-dk .n2-tabs-ink,.n2-gr .n2-tabs-ink,.n2-mast .n2-tabs-ink{color:#fff;box-shadow:0 0 12px rgba(255,255,255,.35)}
.n2-tabs.is-sub{border-bottom:0;margin-top:2px}
.n2-tabs.is-sub .n2-tab{font-size:13.5px;padding:10px 13px 11px}
.n2-tabs.is-sub .n2-tab:first-child{padding-left:0}
.n2-tabs.is-sub .n2-tabs-ink{height:1px}

/* =====================================================================
   06 · STATUS + TEAM MARKS
   ===================================================================== */
.n2-st{display:inline-flex;align-items:center;gap:6px;font-family:var(--n2-fd);font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;line-height:1}
.n2-st i{width:7px;height:7px;border-radius:50%;flex:0 0 auto;display:none}
.n2-st.is-live{color:var(--n2-live)}
.n2-st.is-live i{display:block;background:var(--n2-live);animation:n2beat 1.6s infinite}
.n2-st.is-final{padding:4px 6px 3px;background:var(--n2-ink);color:#fff}
.n2-dk .n2-st.is-final,.n2-gr .n2-st.is-final{background:#E4E8EB;color:var(--n2-ink)}
.n2-st.is-upcoming{font-weight:800;font-size:14px;letter-spacing:.06em;color:inherit}
.n2-st.is-postponed{padding:3px 6px 2px;box-shadow:inset 0 0 0 1px var(--n2-post);color:var(--n2-post)}
.n2-st.is-canceled{color:var(--n2-ink3);text-decoration:line-through;text-decoration-thickness:1px}
.n2-st.is-pending,.n2-st.is-unreported{padding:3px 6px 2px;outline:1px dashed currentColor;outline-offset:-1px;color:var(--n2-pend)}
.n2-dk .n2-st.is-pending,.n2-gr .n2-st.is-pending,.n2-dk .n2-st.is-unreported{color:var(--n2-t2)}
@media (prefers-reduced-motion:reduce){.n2-st.is-live i{animation:none}}
.n2 .n2-mk{width:28px;height:28px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px rgba(11,12,14,.12);
  font-family:var(--n2-fd);font-weight:800;font-size:12px;letter-spacing:.02em;color:var(--n2-ink)}
.n2 .n2-mk img{width:78%;height:78%;object-fit:contain}
.n2 .n2-mk.is-ini{background:linear-gradient(180deg,#2A2E33,#15171A);color:#E4E8EB;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.n2 .n2-mk.is-dark{background:#15171A !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.n2 .n2-mk.is-glyph{border-radius:var(--n2-r);background:var(--n2-gr2);color:#E4E8EB;font-size:13px}
.n2 .n2-mk.is-xs{width:20px;height:20px;font-size:9px}
.n2 .n2-mk.is-lg{width:44px;height:44px;font-size:16px}
.n2 .n2-mk.is-xl{width:clamp(76px,9vw,124px);height:clamp(76px,9vw,124px);font-size:clamp(26px,3vw,40px)}

/* =====================================================================
   07 · SCORE ROW — two teams stacked on a ruled line, minimal container
   ===================================================================== */
.n2-row{display:grid;grid-template-columns:86px minmax(0,1fr);grid-template-areas:"s t" "s m";column-gap:16px;row-gap:4px;padding:13px 4px 13px 0;border-bottom:1px solid var(--n2-rule);position:relative;transition:background .2s}
.n2-dk .n2-row,.n2-gr .n2-row{border-bottom-color:var(--n2-ln)}
a.n2-row:hover{background:linear-gradient(90deg,rgba(11,12,14,.035),transparent 80%)}
.n2-dk a.n2-row:hover,.n2-gr a.n2-row:hover{background:linear-gradient(90deg,rgba(255,255,255,.04),transparent 80%)}
a.n2-row::after{content:"\2192";position:absolute;right:4px;top:50%;transform:translate(-4px,-50%);opacity:0;transition:opacity .2s,transform .2s;font-size:14px;color:var(--n2-ink3)}
a.n2-row:hover::after{opacity:1;transform:translate(0,-50%)}
.n2-row-s{grid-area:s;padding-top:2px}
.n2-row-t{grid-area:t;display:grid;gap:5px;min-width:0;padding-right:26px}
.n2-tl{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}
.n2-tl .n2-mk{width:24px;height:24px;font-size:10px}
.n2-tn{font-family:var(--n2-fd);font-weight:700;font-size:17.5px;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}
.n2-rk{font-style:normal;font-family:var(--n2-fu);font-weight:700;font-size:10.5px;letter-spacing:0;color:var(--n2-ink3);margin-right:6px;position:relative;top:-1px}
.n2-dk .n2-rk,.n2-gr .n2-rk{color:var(--n2-t3)}
.n2-sc{font-family:var(--n2-fd);font-weight:800;font-size:21px;line-height:1;font-variant-numeric:tabular-nums;min-width:28px;text-align:right}
.n2-tl.is-l .n2-tn,.n2-tl.is-l .n2-sc{color:var(--n2-ink3)}
.n2-dk .n2-tl.is-l .n2-tn,.n2-dk .n2-tl.is-l .n2-sc,.n2-gr .n2-tl.is-l .n2-tn,.n2-gr .n2-tl.is-l .n2-sc{color:#6E747B}
.n2-row-m{grid-area:m;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--n2-ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:34px}
.n2-dk .n2-row-m,.n2-gr .n2-row-m{color:var(--n2-t3)}
.n2-row-v{grid-column:2;font-size:12px;color:var(--n2-ink3);padding-left:34px}
.n2-row.is-canceled .n2-tn{text-decoration:line-through;text-decoration-thickness:1px;color:var(--n2-ink3)}
/* boards of rows */
.n2-board-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(20px,3vw,48px);margin-top:18px;border-top:2px solid var(--n2-ink)}
.n2-dk .n2-board-g,.n2-gr .n2-board-g{border-top-color:#E4E8EB}
.n2-board-g.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.n2-board-more{grid-column:1/-1;padding-top:22px}

/* =====================================================================
   08 · MATCHUP LOCKUP (broadcast)
   ===================================================================== */
.n2-mu{position:relative;display:block;color:var(--n2-t1)}
.n2-mu-top{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-family:var(--n2-fd);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--n2-t3);margin-bottom:18px}
.n2-mu-top b{color:#fff;font-weight:800}
.n2-mu-top span::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#5B6168;margin-right:14px;vertical-align:middle}
.n2-mu-g{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(12px,2.4vw,36px)}
.n2-mu-team{display:grid;justify-items:center;text-align:center;gap:10px;min-width:0;--n2-tc:#C9CED3}
.n2-mu-med{position:relative;padding:5px;border-radius:50%;background:conic-gradient(from 210deg,#8E949B,#F4F6F8,#6B7178,#E4E8EB,#8E949B)}
.n2-mu-med::before{content:"";position:absolute;inset:-26%;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--n2-tc) 34%,transparent),transparent 72%);z-index:-1;filter:blur(4px)}
.n2-mu-n{display:grid;gap:4px;min-width:0;max-width:100%}
.n2-mu-n em{font-style:normal;font-family:var(--n2-fd);font-weight:800;font-size:13px;letter-spacing:.16em;color:var(--n2-silver)}
.n2-mu-n b{font-family:var(--n2-fd);font-weight:800;font-size:clamp(22px,2.4vw,34px);line-height:.95;text-transform:uppercase;letter-spacing:.01em;overflow-wrap:anywhere}
.n2-mu-team small{font-family:var(--n2-fd);font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--n2-t2)}
.n2-mu-sc{font-family:var(--n2-fd);font-weight:800;font-size:clamp(48px,6vw,88px);line-height:.9;font-variant-numeric:tabular-nums}
.n2-mu-sc.is-l{color:#6E747B}
.n2-mu-v{font-family:var(--n2-fd);font-weight:800;font-size:clamp(26px,3vw,44px);text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgba(214,220,226,.5)}
.n2-mu-b{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:22px;padding-top:16px;border-top:1px solid var(--n2-ln2)}
.n2-mu-when{font-family:var(--n2-fd);font-weight:800;font-size:clamp(17px,1.6vw,22px);letter-spacing:.08em;text-transform:uppercase}
.n2-why{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0}
.n2-why li{font-family:var(--n2-fd);font-weight:700;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--n2-t2);display:flex;align-items:center;gap:8px}
.n2-why li::before{content:"";width:12px;height:1px;background:currentColor;opacity:.6}
.n2-lt .n2-why li,.n2-pp .n2-why li{color:var(--n2-ink3)}
a.n2-mu{transition:transform .25s var(--n2-ease)}
a.n2-mu:hover{transform:translateY(var(--n2-lift))}
.n2-mu.is-sm .n2-mu-top{margin-bottom:10px;font-size:11px}
.n2-mu.is-sm .n2-mu-g{grid-template-columns:minmax(0,1fr);gap:6px}
.n2-mu.is-sm .n2-mu-team{grid-template-columns:auto minmax(0,1fr) auto;justify-items:start;text-align:left;gap:12px;align-items:center}
.n2-mu.is-sm .n2-mu-med{padding:2px}
.n2-mu.is-sm .n2-mk.is-xl{width:34px;height:34px;font-size:13px}
.n2-mu.is-sm .n2-mu-n{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px}
.n2-mu.is-sm .n2-mu-n b{font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-mu.is-sm .n2-mu-n em{font-size:11px}
.n2-mu.is-sm .n2-mu-team small{font-size:12px}
.n2-mu.is-sm .n2-mu-v{display:none}
.n2-mu.is-sm .n2-mu-sc{font-size:26px}
.n2-mu.is-sm .n2-mu-b{margin-top:10px;padding-top:10px}
.n2-mu.is-sm .n2-mu-when{font-size:14px}
.n2-mu.is-sm .n2-mu-med::before{display:none}

/* =====================================================================
   09 · EMPTY / THIN-DATA STATE (intentional, never an empty box)
   ===================================================================== */
.n2-empty{position:relative;padding:clamp(26px,3vw,40px) 0 clamp(26px,3vw,40px) clamp(20px,2.4vw,32px);border-left:2px solid var(--n2-ink);max-width:760px}
.n2-dk .n2-empty,.n2-gr .n2-empty{border-left-color:#E4E8EB}
.n2-empty .n2-k{color:var(--n2-ink3);margin-bottom:10px}
.n2-dk .n2-empty .n2-k,.n2-gr .n2-empty .n2-k{color:var(--n2-t3)}
.n2-empty h3{font-family:var(--n2-fd);font-weight:800;font-size:clamp(28px,3vw,42px);line-height:.95;text-transform:uppercase;margin:0}
.n2-empty p{font-size:15px;line-height:1.6;color:var(--n2-ink3);margin:12px 0 0;max-width:620px}
.n2-dk .n2-empty p,.n2-gr .n2-empty p{color:var(--n2-t2)}
.n2-empty-l{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:20px}
.n2-empty.is-compact{padding-top:16px;padding-bottom:16px}
.n2-empty.is-compact h3{font-size:24px}

/* =====================================================================
   10 · SHARED LISTS — logo wall, level figures, 50-state tile map
   ===================================================================== */
.n2-wall{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--n2-rule2);border-left:1px solid var(--n2-rule)}
.n2-wall-i{display:grid;justify-items:start;align-content:start;gap:10px;padding:20px 18px 22px;border-right:1px solid var(--n2-rule);border-bottom:1px solid var(--n2-rule);min-width:0;transition:background .2s,transform .2s var(--n2-ease)}
.n2-wall-i:hover{background:#fff}
.n2-wall-i b{font-family:var(--n2-fd);font-weight:800;font-size:17px;line-height:1;text-transform:uppercase;letter-spacing:.02em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.n2-wall-i small{font-size:11.5px;color:var(--n2-ink3);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.n2-wall-i .n2-mk{transition:transform .35s var(--n2-ease)}
.n2-wall-i:hover .n2-mk{transform:scale(var(--n2-img))}
.n2-lvl{display:flex;flex-wrap:wrap;gap:0;margin-bottom:28px;border-top:2px solid var(--n2-ink)}
.n2-lvl-i{display:flex;align-items:baseline;gap:12px;padding:16px 36px 16px 0;margin-right:36px;border-right:1px solid var(--n2-rule)}
.n2-lvl-i:last-child{border-right:0}
.n2-lvl-i b{font-family:var(--n2-fd);font-weight:800;font-size:clamp(34px,3.6vw,52px);line-height:1;font-variant-numeric:tabular-nums}
.n2-lvl-i span{font-family:var(--n2-fd);font-weight:700;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--n2-ink3)}
.n2-lvl-i:hover span{color:var(--n2-ink)}
.n2-map{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;width:100%;max-width:520px}
.n2-map i{aspect-ratio:1;border-radius:1px;background:rgba(214,220,226,.10);display:block}
.n2-map i.is-full{background:#E4E8EB}
.n2-map i.is-strong{background:#B4BAC0}
.n2-map i.is-partial{background:#7E848B}
.n2-map i.is-expanding{background:rgba(214,220,226,.26)}
.n2-map i.is-cur{box-shadow:0 0 0 2px var(--n2-dk),0 0 0 3px #fff;position:relative;z-index:1}
.n2-lt .n2-map i,.n2-pp .n2-map i{background:rgba(11,12,14,.07)}
.n2-lt .n2-map i.is-full,.n2-pp .n2-map i.is-full{background:var(--n2-ink)}
.n2-lt .n2-map i.is-strong,.n2-pp .n2-map i.is-strong{background:#4A4F55}
.n2-lt .n2-map i.is-partial,.n2-pp .n2-map i.is-partial{background:#8E949B}
.n2-lt .n2-map i.is-expanding,.n2-pp .n2-map i.is-expanding{background:#D3D7DB}
.n2-lt .n2-map i.is-cur,.n2-pp .n2-map i.is-cur{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--n2-ink)}
@media (max-width:1100px){.n2-wall{grid-template-columns:repeat(3,minmax(0,1fr))}}
.n2-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.n2-legend span{display:inline-flex;align-items:center;gap:8px}
.n2-legend i{width:12px;height:12px;display:inline-block}

@media (prefers-reduced-motion:reduce){
  .n2 [data-n2rv]{opacity:1;transform:none;transition:none}
  .n2-stage-z::before,.n2-photo img,.n2-rb::after{animation:none}
  .n2 *{transition-duration:.01ms !important}
}

.n2-sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* =====================================================================
   SHELL · broadcast masthead header, Network Pulse ticker, mobile bar, overlays, footer
   ===================================================================== */
html.n2-on body{background:var(--n2-dk)}
/* masthead: graphite with a thin metallic bottom rule */
html.n2-on .nx-hdr{background:linear-gradient(180deg,rgba(14,16,18,.96) 0%,rgba(8,9,10,.96) 100%)}
html.n2-on .nx-hdr::after{background:var(--n2-chrome);opacity:.9}
html.n2-on .nx-r1{border-bottom:1px solid rgba(214,220,226,.08)}
html.n2-on .nx-stb{box-shadow:none;border-left:1px solid rgba(214,220,226,.16);border-radius:0;padding-left:16px;margin-left:4px}
html.n2-on .nx-stb:hover{background:rgba(255,255,255,.04)}
html.n2-on .nx-stb-n{font-family:var(--n2-fd);font-weight:800;letter-spacing:.07em}
html.n2-on .nx-stb-s{font-family:var(--n2-fd);font-weight:700;letter-spacing:.16em}
html.n2-on .nx .nx-sb{background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(214,220,226,.16);border-radius:var(--n2-r)}
html.n2-on .nx .nx-sb span{font-size:12.5px}
.n2-today{display:none;font-family:var(--n2-fd);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#9AA0A7;white-space:nowrap;padding:0 14px;border-right:1px solid rgba(214,220,226,.16);height:22px;align-items:center}
@media (min-width:1100px){html.n2-on .n2-today{display:inline-flex}}
html.n2-on .nx-live{font-family:var(--n2-fd);font-size:12px;letter-spacing:.16em}
html.n2-on .nx-hdr .nx-btn{border-radius:var(--n2-r);font-family:var(--n2-fd);letter-spacing:.14em}
/* primary nav: condensed broadcast type, chrome active rule that slides in */
html.n2-on .nx-nl{font-family:var(--n2-fd);font-weight:800;font-size:16px;letter-spacing:.1em}
html.n2-on .nx-nl::after{height:2px;background:linear-gradient(90deg,#8E949B,#FFFFFF,#8E949B);box-shadow:0 0 10px rgba(255,255,255,.35);transition:transform .35s var(--n2-ease)}
html.n2-on .nx-nav-c .nx-nl{font-weight:700;font-size:15px;color:#7E848B}
html.n2-on .nx-nav-div{background:rgba(214,220,226,.22)}
html.n2-on .nx .nx-more-b{font-family:var(--n2-fd);font-weight:800;font-size:16px;letter-spacing:.1em}
html.n2-on .nx-more-m{background:#101214;border-color:rgba(214,220,226,.16);border-radius:var(--n2-r)}
html.n2-on .nx-more-m a{font-family:var(--n2-fd);font-weight:700;letter-spacing:.08em}

/* ---------- NETWORK PULSE — metallic silver ticker (kept silver, tightened into a broadcast crawl) ---------- */
html.n2-on .nx-pulse{background:var(--n2-metal);border-bottom:1px solid #8E949B;border-top:1px solid #fff;position:relative;overflow:hidden}
html.n2-on .nx-pulse::after{content:"";position:absolute;top:0;bottom:0;width:22%;left:-35%;pointer-events:none;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.7) 50%,transparent 100%);opacity:.5;animation:n2sheen var(--n2-sheen) var(--n2-ease) infinite 4s}
html.n2-on .nx-pulse-w{padding-block:0}
html.n2-on .nx-pulse-l{padding-block:8px;border-right:1px solid rgba(11,12,13,.22)}
html.n2-on .nx-pulse-k{font-family:var(--n2-fd);font-weight:800;font-size:18px;letter-spacing:.1em}
html.n2-on .nx-pulse-trk{gap:0;padding:0}
html.n2-on .nx-pu,html.n2-on .nx-pu-end{border:0;border-right:1px solid rgba(11,12,13,.14);border-radius:0;background:transparent;box-shadow:none;min-height:62px}
html.n2-on .nx-pu{flex-basis:200px;padding:7px 14px 7px 16px}
html.n2-on a.nx-pu:hover,html.n2-on .nx-pu-end:hover{background:rgba(255,255,255,.55);box-shadow:none;transform:none}
html.n2-on .nx-pu.is-live{background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(200,54,60,.07))}
html.n2-on .nx-pu-top{margin-bottom:4px;font-family:var(--n2-fd);font-size:10.5px;letter-spacing:.16em}
html.n2-on .nx-pu .nx-bug-n{font-family:var(--n2-fd);font-weight:800;font-size:14px;letter-spacing:.03em;text-transform:uppercase}
html.n2-on .nx-pu .nx-bug-p{font-family:var(--n2-fd);font-weight:800;font-size:18px}
html.n2-on .nx-pu .nx-bug-rk{font-family:var(--n2-fu);font-size:9.5px;font-weight:700;color:#4A4F55}
html.n2-on .nx-pu .nx-mk{width:18px;height:18px;font-size:8.5px}
html.n2-on .nx-pu-end b{font-family:var(--n2-fd);font-weight:800}
html.n2-on .nx-pulse-nav{border-left:1px solid rgba(11,12,13,.22)}
@media (prefers-reduced-motion:reduce){html.n2-on .nx-pulse::after{animation:none}}

/* ---------- mobile: compact top bar + bottom bar ---------- */
@media (max-width:767px){
  html.n2-on .nx-stb{border-left:0;padding-left:8px;margin-left:0}
  html.n2-on .nx-bn{background:rgba(8,9,10,.94);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);border-top:1px solid rgba(214,220,226,.14)}
  html.n2-on .nx-bn::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--n2-chrome);opacity:.7}
  html.n2-on .nx .nx-bn-i{font-family:var(--n2-fd);font-weight:700;font-size:11px;letter-spacing:.12em}
  html.n2-on .nx-bn-i.is-on::before{background:linear-gradient(90deg,#8E949B,#fff,#8E949B);height:2px}
  html.n2-on .nx-pulse-l{padding:7px var(--nx-gut)}
  html.n2-on .nx-pulse-k{font-size:15px}
  html.n2-on .nx-pu{flex-basis:176px;min-height:58px}
  html.n2-on .nx-pulse-trk{flex:1 0 100%;padding:0 0 0 calc(var(--nx-gut,16px) - 14px);border-top:1px solid rgba(11,12,13,.14)}
}
html.n2-on .nx-sheet-in{background:#0B0C0E}
html.n2-on .nx-sheet-g a{font-family:var(--n2-fd);font-weight:800;letter-spacing:.08em}

/* ---------- footer: quieter wordmark, chrome rule ---------- */
html.n2-on .nx-ft{background:#060708;border-top:0;position:relative}
html.n2-on .nx-ft::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--n2-chrome)}
html.n2-on .nx-ft-word{background:linear-gradient(180deg,#E9ECEF 0%,#6B7178 100%);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.9}

/* ---------- overlays: universal search palette + state picker ---------- */
.n2-ov{position:fixed;inset:0;z-index:600;background:rgba(4,5,6,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:flex-start;padding:clamp(12px,9vh,96px) 16px 16px;opacity:0;transition:opacity .2s}
.n2-ov.is-in{opacity:1}
.n2-ov[hidden]{display:none}
.n2-ov-p{width:100%;max-width:720px;max-height:calc(100vh - clamp(24px,12vh,140px));display:flex;flex-direction:column;background:#0D0F11;color:var(--n2-t1);border:1px solid rgba(214,220,226,.16);box-shadow:0 40px 120px rgba(0,0,0,.6);position:relative;transform:translateY(8px);transition:transform .25s var(--n2-ease)}
.n2-ov.is-in .n2-ov-p{transform:none}
.n2-ov-p::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--n2-chrome)}
.n2-cmd-bar{display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid rgba(214,220,226,.12)}
.n2-cmd-bar svg{width:18px;height:18px;stroke:#9AA0A7;fill:none;stroke-width:2;flex:0 0 auto}
.n2 .n2-cmd-q{flex:1;min-width:0;height:62px;background:transparent;border:0;color:#fff;font-family:var(--n2-fd);font-weight:700;font-size:24px;letter-spacing:.03em;text-transform:none;outline:none}
.n2 .n2-cmd-q::placeholder{color:#6E747B}
.n2 .n2-cmd-q::-webkit-search-cancel-button{display:none}
.n2 .n2-cmd-x{font-family:var(--n2-fu);font-size:11px;font-weight:700;letter-spacing:.06em;padding:5px 8px;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(214,220,226,.24);color:#9AA0A7}
.n2-cmd-scope{display:flex;gap:6px;padding:10px 16px;border-bottom:1px solid rgba(214,220,226,.08)}
.n2 .n2-cmd-scope button{font-family:var(--n2-fd);font-weight:700;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;color:#868C94;border-bottom:2px solid transparent}
.n2 .n2-cmd-scope button.is-on{color:#fff;border-bottom-color:#fff}
.n2-cmd-list{overflow-y:auto;padding:6px 0 10px;overscroll-behavior:contain}
.n2-cmd-g{padding:4px 0}
.n2-cmd-gh{display:flex;align-items:center;gap:10px;padding:10px 16px 6px;font-family:var(--n2-fd);font-weight:700;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:#6E747B}
.n2-cmd-gh b{font-family:var(--n2-fu);font-size:10.5px;color:#868C94;letter-spacing:0}
.n2 .n2-cmd-i{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:9px 16px;position:relative}
.n2 .n2-cmd-i.is-act{background:rgba(255,255,255,.06)}
.n2 .n2-cmd-i.is-act::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:#fff}
.n2-cmd-i .n2-mk{width:32px;height:32px}
.n2-cmd-t{min-width:0;display:grid;gap:2px}
.n2-cmd-t b{font-family:var(--n2-fd);font-weight:800;font-size:17px;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-cmd-t small{font-size:12px;color:#868C94;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-cmd-go{font-family:var(--n2-fd);font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#6E747B}
.n2-cmd-none{display:grid;gap:8px;justify-items:start;padding:22px 16px;color:#9AA0A7;font-size:14px}
.n2-cmd-none b{font-family:var(--n2-fd);font-size:22px;text-transform:uppercase;color:#fff}
.n2-cmd-foot{display:flex;gap:18px;padding:10px 16px;border-top:1px solid rgba(214,220,226,.08);font-size:11.5px;color:#6E747B}
.n2-cmd-foot span{display:inline-flex;align-items:center;gap:6px}
.n2-cmd-foot kbd{font:700 10.5px var(--n2-fu);padding:2px 6px;border-radius:3px;box-shadow:inset 0 0 0 1px rgba(214,220,226,.22);color:#9AA0A7}
.n2-ov .n2-sk{background:linear-gradient(90deg,rgba(214,220,226,.05),rgba(214,220,226,.12),rgba(214,220,226,.05));background-size:300% 100%;margin:6px 16px}
/* state picker */
.n2-stp .n2-ov-p{max-width:980px}
.n2-stp-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:20px 16px 14px;flex-wrap:wrap}
.n2-stp-h .n2-k{color:#868C94;flex:1 0 100%}
.n2-stp-h h2{font-family:var(--n2-fd);font-weight:800;font-size:clamp(30px,3.6vw,46px);line-height:.9;text-transform:uppercase;margin:0}
.n2-stp-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));overflow-y:auto;border-top:1px solid rgba(214,220,226,.1)}
.n2 .n2-stp-s{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;padding:11px 16px;text-align:left;border-bottom:1px solid rgba(214,220,226,.07);border-right:1px solid rgba(214,220,226,.07);transition:background .15s}
.n2 .n2-stp-s:hover{background:rgba(255,255,255,.05)}
.n2 .n2-stp-s.is-cur{background:rgba(255,255,255,.08);box-shadow:inset 2px 0 0 #fff}
.n2-stp-c{font-family:var(--n2-fd);font-weight:800;font-size:24px;line-height:1;color:#6E747B}
.n2-stp-s.is-full .n2-stp-c,.n2-stp-s.is-strong .n2-stp-c,.n2-stp-s.is-cur .n2-stp-c{color:#fff}
.n2-stp-t{display:grid;gap:2px;min-width:0}
.n2-stp-t b{font-family:var(--n2-fd);font-weight:800;font-size:16px;letter-spacing:.04em;text-transform:uppercase}
.n2-stp-t small{font-size:11px;color:#868C94;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-stp-f{padding:14px 16px;border-top:1px solid rgba(214,220,226,.1)}
@media (max-width:767px){.n2-ov{padding:0}.n2-ov-p{max-height:100vh;height:100%;max-width:none;border:0}.n2-stp-g{grid-template-columns:1fr 1fr}.n2 .n2-cmd-q{font-size:20px;height:56px}.n2-cmd-foot{display:none}}

/* ---------- preview chip ---------- */
.n2-chip{position:fixed;left:14px;bottom:14px;z-index:500;display:flex;align-items:center;gap:10px;padding:7px 10px 7px 12px;background:rgba(10,11,13,.86);color:#E4E8EB;border:1px solid rgba(214,220,226,.2);font-family:var(--n2-fd);font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase;backdrop-filter:blur(8px)}
.n2-chip a{color:#9AA0A7;border-bottom:1px solid currentColor}
@media (max-width:767px){.n2-chip{bottom:calc(68px + env(safe-area-inset-bottom));left:8px;font-size:10px;padding:5px 8px}}

/* 1.0.6 · the Phase 1 search + state overlays are superseded by the V2 palette and picker; never show them under V2 */
html.n2-on .nx-ov{display:none !important}
/* =====================================================================
   STATE HOME — the state sports front page
   ===================================================================== */
/* hero lead (Game of the Week or the week's lead story), set in the hero's right column */
.n2-hl{position:relative;padding:22px 0 0;border-top:1px solid rgba(214,220,226,.22)}
.n2-hl-k{color:var(--n2-t3);margin-bottom:16px}
.n2-hl .n2-mu-top{display:none}
.n2-hl .n2-mu-n b{font-size:clamp(20px,1.9vw,28px)}
.n2-hl .n2-mk.is-xl{width:clamp(64px,6vw,92px);height:clamp(64px,6vw,92px)}
.n2-hl .n2-mu-b{margin-top:16px}
.n2-hl-story h2{font-family:var(--n2-fd);font-weight:800;font-size:clamp(26px,2.6vw,38px);line-height:.98;text-transform:uppercase;margin:10px 0 0;text-wrap:balance}
.n2-hl-story p{color:#AEB4BA;font-size:14px;line-height:1.55;margin:10px 0 16px}
.n2-hl-story .n2-k{color:var(--n2-t3)}

/* AROUND THE NETWORK — newsroom: 1 dominant lead · 2 medium · 2 compact */
.n2-nr{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);border-top:2px solid var(--n2-ink);padding-top:clamp(20px,2.4vw,32px)}
.n2-nr-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-family:var(--n2-fd);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--n2-ink3)}
.n2-nr-meta b{color:var(--n2-ink);font-weight:800}
.n2-nr-meta span::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#A3A9B0;margin-right:14px;vertical-align:middle}
.n2-nr-lead h3{font-family:var(--n2-fd);font-weight:800;font-size:clamp(38px,4.6vw,72px);line-height:.92;text-transform:uppercase;letter-spacing:-.005em;margin:16px 0 0;text-wrap:balance}
.n2-nr-lead p{font-size:17px;line-height:1.6;color:var(--n2-ink2);margin:18px 0 0;max-width:620px}
.n2-nr-art{margin-top:clamp(22px,2.6vw,34px);max-width:620px}
.n2-nr-side{display:grid;align-content:start}
.n2-nr-md{padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid var(--n2-rule)}
.n2-nr-md h3{font-family:var(--n2-fd);font-weight:800;font-size:clamp(23px,2.1vw,30px);line-height:1;text-transform:uppercase;margin:10px 0 0;text-wrap:balance}
.n2-nr-md p{font-size:14px;line-height:1.55;color:var(--n2-ink3);margin:10px 0 0}
.n2-nr-sm{padding:14px 0;border-bottom:1px solid var(--n2-rule)}
.n2-nr-sm:last-child{border-bottom:0}
.n2-nr-sm h3{font-family:var(--n2-fd);font-weight:700;font-size:18px;line-height:1.08;text-transform:uppercase;margin:6px 0 0}
/* score art: the box-score graphic for a game-backed story */
.n2-art{background:var(--n2-dk);color:#fff;padding:18px 20px 16px;position:relative;overflow:hidden}
.n2-art::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--n2-chrome)}
.n2-art-k{display:flex;justify-content:space-between;gap:12px;font-family:var(--n2-fd);font-weight:700;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:#868C94;margin-bottom:12px}
.n2-art-k b{color:#fff;font-weight:800}
.n2-art-t{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:8px 0;border-top:1px solid rgba(214,220,226,.1);position:relative;--n2-tc:#C9CED3}
.n2-art-t::before{content:"";position:absolute;left:-20px;top:10px;bottom:10px;width:3px;background:var(--n2-tc)}
.n2-art-t span{font-family:var(--n2-fd);font-weight:800;font-size:clamp(20px,2vw,28px);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-art-t b{font-family:var(--n2-fd);font-weight:800;font-size:clamp(34px,3.6vw,52px);line-height:1;font-variant-numeric:tabular-nums}
.n2-art-t.is-l span,.n2-art-t.is-l b{color:#6E747B}
a.n2-art-a{display:block;transition:transform .25s var(--n2-ease)}
a.n2-art-a:hover{transform:translateY(var(--n2-lift))}

/* GAME OF THE WEEK — broadcast stage */
.n2-gotw{padding:clamp(72px,8vw,120px) 0}
.n2-gotw .n2-stage{opacity:.9}
.n2-gw-g{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(28px,4vw,72px);align-items:start;border-top:1px solid var(--n2-ln2);padding-top:clamp(24px,3vw,40px)}
.n2-gw-g.is-1{grid-template-columns:minmax(0,1fr)}
.n2-gw-side{display:grid;gap:26px}
.n2-gw-side>.n2-k{color:var(--n2-t3)}
.n2-gw-side .n2-mu{padding-bottom:22px;border-bottom:1px solid var(--n2-ln)}
.n2-mu.is-xl .n2-mu-n b{font-size:clamp(28px,3.4vw,52px)}
.n2-mu.is-xl .n2-mu-when{font-size:clamp(20px,2vw,28px)}

/* POWER RANKINGS (home) — big numerals on graphite */
.n2-rk-ctl{margin-bottom:26px}
.n2-rk3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:2px solid #E4E8EB}
.n2-rk3-i{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"n n" "m x" "p p" "w w";column-gap:14px;row-gap:12px;align-items:center;padding:22px clamp(16px,2vw,28px) 26px 0;border-right:1px solid var(--n2-ln);position:relative}
.n2-rk3-i+.n2-rk3-i{padding-left:clamp(16px,2vw,28px)}
.n2-rk3-i:last-child{border-right:0}
.n2-rk3-i .n2-rkn{grid-area:n;font-size:clamp(76px,8vw,128px)}
.n2-rk3-i .n2-mk{grid-area:m}
.n2-rk3-i .n2-rkx{grid-area:x}
.n2-rk3-i .n2-rkp{grid-area:p;justify-self:start}
.n2-rk3-i .n2-why{grid-area:w}
a.n2-rk3-i:hover .n2-rkx b{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.n2-rkn{font-family:var(--n2-fd);font-weight:800;line-height:.82;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#FFFFFF 0%,#D9DDE1 50%,#8E949B 100%);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.02em}
.n2-rkx{min-width:0;display:grid;gap:3px}
.n2-rkx b{font-family:var(--n2-fd);font-weight:800;font-size:clamp(22px,2.2vw,32px);line-height:.95;text-transform:uppercase;overflow-wrap:anywhere}
.n2-rkx small{font-size:12.5px;color:var(--n2-t2);letter-spacing:.02em}
.n2-rkp{display:flex;align-items:baseline;gap:8px;font-family:var(--n2-fd);text-transform:uppercase}
.n2-rkp span{font-weight:700;font-size:11px;letter-spacing:.2em;color:var(--n2-t3)}
.n2-rkp b{font-weight:800;font-size:20px;font-variant-numeric:tabular-nums}
.n2-rkl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,64px);margin-top:8px}
.n2-rkr{display:grid;grid-template-columns:56px auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--n2-ln);transition:background .2s}
a.n2-rkr:hover{background:linear-gradient(90deg,rgba(255,255,255,.04),transparent)}
.n2-rkr .n2-rkn{font-size:38px}
.n2-rkr .n2-rkx b{font-size:19px}
.n2-rkr .n2-rkx small{font-size:11.5px}
.n2-rkr .n2-rkp b{font-size:16px}

/* THE BOARD */
.n2-brd-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.4vw,56px)}
.n2-brd-g.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.n2-brd-g.is-1{grid-template-columns:minmax(0,1fr)}
.n2-brd-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:2px solid var(--n2-ink)}
.n2-brd-h h3{font-family:var(--n2-fd);font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:.04em;margin:0}
.n2-bl{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--n2-rule)}
a.n2-bl:hover .n2-bl-x b{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.n2-bl-s{display:flex;align-items:baseline;gap:4px;font-family:var(--n2-fd);font-weight:800;font-size:24px;line-height:1;font-variant-numeric:tabular-nums}
.n2-bl-s i{font-style:normal;font-weight:600;font-size:15px;color:var(--n2-ink3)}
.n2-bl-s .is-l{color:var(--n2-ink3)}
.n2-bl-s.is-t b{font-size:22px}
.n2-bl-s.is-t i{font-size:12px;letter-spacing:.06em}
.n2-bl-s.is-c b{font-size:18px;letter-spacing:.04em;padding:5px 7px 4px;background:var(--n2-ink);color:#fff}
.n2-bl-x{min-width:0;display:grid;gap:3px}
.n2-bl-x b{font-family:var(--n2-fd);font-weight:800;font-size:16.5px;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:8px}
.n2-bl-x small{font-size:11.5px;color:var(--n2-ink3);text-transform:uppercase;letter-spacing:.06em;font-weight:600}

/* PLAYERS OF THE WEEK */
.n2-pw-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--n2-ln2)}
.n2-pw{display:grid;align-content:start;gap:8px;padding:24px clamp(16px,2vw,28px) 28px 0;border-bottom:1px solid var(--n2-ln);border-right:1px solid var(--n2-ln)}
.n2-pw:nth-child(3n){border-right:0}
.n2-pw:nth-child(3n+2),.n2-pw:nth-child(3n){padding-left:clamp(16px,2vw,28px)}
.n2-pw .n2-k{color:var(--n2-t3)}
.n2-pw h3{font-family:var(--n2-fd);font-weight:800;font-size:clamp(26px,2.4vw,34px);line-height:.95;text-transform:uppercase;margin:4px 0 0}
.n2-pw-sc{font-family:var(--n2-fd);font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--n2-silver)}
.n2-pw p{font-size:14px;line-height:1.5;color:var(--n2-t2);margin:6px 0 0}

/* COVERAGE FOOTER */
.n2-cov-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:clamp(28px,5vw,96px);align-items:center}
.n2-cov-g .n2-k{color:var(--n2-t3)}
.n2-cov-l{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* responsive */
@media (max-width:1100px){
  .n2-board-g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .n2-gw-g{grid-template-columns:minmax(0,1fr)}
  .n2-brd-g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .n2-pw-g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .n2-pw:nth-child(n){border-right:1px solid var(--n2-ln);padding-left:0}
  .n2-pw:nth-child(2n){border-right:0;padding-left:clamp(16px,2vw,28px)}
}
@media (max-width:900px){
  .n2-mast-g{grid-template-columns:minmax(0,1fr)}
  .n2-nr{grid-template-columns:minmax(0,1fr)}
  .n2-cov-g{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:767px){
  html.n2-on{--n2-sp:52px;--n2-sp-s:36px}
  .n2-mast.is-xl,.n2-mast.is-md{min-height:0}
  .n2-mast.is-md .n2-mast-w{padding-top:40px}
  .n2 .n2-lock{white-space:normal;flex-wrap:wrap;row-gap:4px}
  .n2-lock b{white-space:nowrap}
  .n2-rb-w{gap:8px 18px;padding-top:14px;padding-bottom:14px}
  .n2-rb-m{flex-wrap:wrap;gap:4px 12px}
  .n2-mast.is-xl .n2-mast-w{padding-top:40px}
  .n2-crumb{display:none}
  .n2-hbar{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:26px}
  .n2-hbar>*{padding:14px 14px 15px;border-top:1px solid rgba(214,220,226,.1)}
  .n2-hbar>*:nth-child(2n+1){padding-left:0;border-left:0}
  .n2-hbar b{font-size:28px}
  .n2-mast-sub{font-size:14px}
  .n2-board-g,.n2-board-g.is-2{grid-template-columns:minmax(0,1fr)}
  .n2-brd-g,.n2-brd-g.is-2{grid-template-columns:minmax(0,1fr);gap:36px}
  .n2-rk3{grid-template-columns:minmax(0,1fr)}
  .n2-rk3-i,.n2-rk3-i+.n2-rk3-i{padding:18px 0 20px;border-right:0;border-bottom:1px solid var(--n2-ln);grid-template-areas:"n m" "n x" "p p" "w w";grid-template-columns:auto minmax(0,1fr)}
  .n2-rk3-i .n2-rkn{font-size:84px}
  .n2-rk3-i .n2-mk{justify-self:start}
  .n2-rkl{grid-template-columns:minmax(0,1fr)}
  .n2-rkr{grid-template-columns:44px auto minmax(0,1fr) auto}
  .n2-rkr .n2-rkn{font-size:30px}
  .n2-pw-g{grid-template-columns:minmax(0,1fr)}
  .n2-pw:nth-child(n){border-right:0;padding-left:0}
  .n2-nr-lead h3{font-size:40px}
  .n2-nr-lead p{font-size:15.5px}
  .n2-hd{margin-bottom:22px}
  .n2-h2{font-size:38px}
  .n2-rb-m{border-left:0;padding-left:0}
  .n2 .n2-rb .n2-more{margin-left:0}
  .n2-mu-g{gap:10px}
  .n2-lvl-i{padding-right:20px;margin-right:20px}
  .n2-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
  .n2-row{grid-template-columns:70px minmax(0,1fr);column-gap:12px}
}
/* =====================================================================
   SCORES + SCHEDULE — tool mastheads, sticky filter rail, featured boards, scoreboard, timeline
   ===================================================================== */
.n2-mast.is-sm.n2-tool .n2-wm{font-size:clamp(90px,15vw,220px);top:58%;left:72%}
.n2-mast.n2-tool .n2-mast-g{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.n2-mast.n2-tool .n2-mast-l .n2-lock{color:#AEB4BA;margin-top:14px}
.n2-dayx{display:grid;justify-items:end;gap:6px;text-align:right}
.n2-dayx b{font-family:var(--n2-fd);font-weight:800;font-size:clamp(30px,3.4vw,52px);line-height:.9;text-transform:uppercase;color:#fff}
.n2-dayx span{font-family:var(--n2-fd);font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:#9AA0A7}
.n2-tally{display:flex;gap:0;margin-top:16px;border-top:1px solid rgba(214,220,226,.18)}
.n2-tally>div{display:grid;gap:3px;padding:12px 0 0 22px;margin-left:22px;border-left:1px solid rgba(214,220,226,.14);text-align:left}
.n2-tally>div:first-child{border-left:0;margin-left:0;padding-left:0}
.n2-tally b{font-family:var(--n2-fd);font-weight:800;font-size:30px;line-height:1;font-variant-numeric:tabular-nums}
.n2-tally span{font-family:var(--n2-fd);font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#868C94}
.n2-tally .is-live b,.n2-tally .is-live span{color:#F0868A}

/* sticky filter rail */
.n2-rail{position:sticky;top:var(--nx-hdr-h,104px);z-index:60;background:rgba(243,244,245,.94);backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);color:var(--n2-ink);border-bottom:1px solid var(--n2-rule2)}
.n2-rail-w{padding-top:6px;padding-bottom:4px}
.n2-dates{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--n2-rule)}
.n2 .n2-dn{width:34px;height:44px;font-size:24px;line-height:1;color:var(--n2-ink3);flex:0 0 auto}
.n2 .n2-dn:hover{color:var(--n2-ink)}
.n2-dstrip{display:flex;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.n2-dstrip::-webkit-scrollbar{display:none}
.n2 .n2-dd{flex:1 0 92px;display:grid;justify-items:center;gap:2px;padding:8px 6px 9px;position:relative;color:var(--n2-ink3);transition:color .2s}
.n2 .n2-dd small{font-family:var(--n2-fd);font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.n2 .n2-dd b{font-family:var(--n2-fd);font-weight:800;font-size:17px;letter-spacing:.04em;text-transform:uppercase}
.n2 .n2-dd:hover{color:var(--n2-ink)}
.n2 .n2-dd.is-on{color:var(--n2-ink)}
.n2 .n2-dd.is-on::after{content:"";position:absolute;left:14%;right:14%;bottom:-1px;height:2px;background:var(--n2-ink)}
.n2 .n2-dd.is-today small{color:var(--n2-ink)}
.n2 .n2-dtoday{font-family:var(--n2-fd);font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase;padding:6px 10px;box-shadow:inset 0 0 0 1px var(--n2-ink);flex:0 0 auto}
.n2-wklab{flex:1;text-align:center;font-family:var(--n2-fd);font-weight:800;font-size:16px;letter-spacing:.14em;text-transform:uppercase}
.n2-rail-f{display:flex;flex-wrap:wrap;align-items:center;gap:0 28px;padding-top:2px}
.n2-rail-g{display:flex;align-items:center;gap:12px;min-width:0;max-width:100%}
.n2-rail-k{font-family:var(--n2-fd);font-weight:700;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--n2-ink3);flex:0 0 auto}
.n2-rail-g .n2-tabs{border-bottom:0;min-width:0}
.n2-sel{display:flex;align-items:center;gap:10px}
.n2-sel select{font-family:var(--n2-fd);font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;border:0;border-bottom:1px solid var(--n2-rule2);background:transparent;padding:8px 18px 7px 0;color:var(--n2-ink);border-radius:0;appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 6px) 55%,calc(100% - 2px) 55%;background-size:4px 4px;background-repeat:no-repeat}
.n2 .n2-tog{font-family:var(--n2-fd);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:7px 12px 6px;box-shadow:inset 0 0 0 1px var(--n2-rule2);color:var(--n2-ink3);margin:6px 0}
.n2 .n2-tog.is-on{background:var(--n2-ink);color:#fff;box-shadow:none}

/* featured boards */
.n2-feat{padding:clamp(28px,3.4vw,48px) 0}
.n2-feat .n2-k{color:var(--n2-t3);margin-bottom:16px}
.n2-feat-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.6vw,40px)}
.n2-feat-g.is-1{grid-template-columns:minmax(0,560px)}
.n2-feat-g.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.n2-fs{display:grid;gap:10px;padding:16px 0 14px;border-top:2px solid #E4E8EB;transition:transform .25s var(--n2-ease)}
a.n2-fs:hover{transform:translateY(var(--n2-lift))}
.n2-fs-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:var(--n2-fd);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--n2-t3)}
.n2-fs-t{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px}
.n2-fs-n{min-width:0;display:grid;gap:2px}
.n2-fs-n em{font-style:normal;font-family:var(--n2-fd);font-weight:800;font-size:11.5px;letter-spacing:.16em;color:var(--n2-silver)}
.n2-fs-n b{font-family:var(--n2-fd);font-weight:800;font-size:clamp(22px,2.2vw,30px);line-height:1;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-fs-t strong{font-family:var(--n2-fd);font-weight:800;font-size:clamp(38px,3.6vw,54px);line-height:1;font-variant-numeric:tabular-nums}
.n2-fs-t.is-l b,.n2-fs-t.is-l strong{color:#6E747B}
.n2-fs-why{font-family:var(--n2-fd);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#9AA0A7;padding-top:6px;border-top:1px solid var(--n2-ln)}
.n2-feat-sch .n2-feat-g{border-top:1px solid var(--n2-ln2);padding-top:20px}

/* scoreboard */
.n2-sb{padding-top:clamp(32px,3.6vw,56px)}
.n2-sb-l{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:clamp(30px,3.4vw,52px) 0 6px}
.n2-sb-l:first-child{margin-top:0}
.n2-sb-l h2{font-family:var(--n2-fd);font-weight:800;font-size:clamp(36px,4vw,58px);line-height:.9;text-transform:uppercase;margin:0}
.n2-sb-l span{font-family:var(--n2-fd);font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--n2-ink3)}
.n2-sb-s{margin-top:22px}
.n2-sb-sh{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.n2-sb-sh h3{font-family:var(--n2-fd);font-weight:800;font-size:20px;letter-spacing:.08em;text-transform:uppercase;margin:0}
.n2-sb-sh span{font-size:12px;font-weight:600;color:var(--n2-ink3);letter-spacing:.04em}
.n2-sb .n2-board-g{margin-top:10px;border-top-width:1px}
html.n2-on .n2 .nx-pgm{grid-column:1/-1;justify-self:start;width:auto;margin-top:16px;font-family:var(--n2-fd);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:10px 16px;box-shadow:inset 0 0 0 1px currentColor !important;border:0 !important;border-radius:var(--n2-r);background:transparent !important;color:inherit !important}
html.n2-on .n2 .nx-pgm:hover{background:rgba(128,134,140,.12) !important}

/* timeline */
.n2-tlx{padding-top:clamp(28px,3vw,48px)}
.n2-tl-d{display:grid;grid-template-columns:180px minmax(0,1fr);gap:clamp(16px,3vw,48px);padding:26px 0 30px;border-top:2px solid var(--n2-ink)}
.n2-tl-d+.n2-tl-d{border-top-width:1px;border-top-color:var(--n2-rule2)}
.n2-tl-rail{position:relative}
.n2-tl-day{position:sticky;top:calc(var(--nx-hdr-h,104px) + 120px);display:grid;gap:4px}
.n2-tl-day b{font-family:var(--n2-fd);font-weight:800;font-size:clamp(30px,3vw,44px);line-height:.9;text-transform:uppercase}
.n2-tl-day span{font-family:var(--n2-fd);font-weight:700;font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--n2-ink2)}
.n2-tl-day small{font-size:12px;color:var(--n2-ink3);font-weight:600;letter-spacing:.04em}
.n2-tl-d.is-today .n2-tl-day b::after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--n2-live);margin-left:10px;vertical-align:middle;position:relative;top:-6px}
.n2-tl-l{position:relative}
.n2-tl-l::before{content:"";position:absolute;left:83px;top:6px;bottom:6px;width:1px;background:var(--n2-rule2)}
.n2-tli{display:grid;grid-template-columns:72px 22px minmax(0,1fr) minmax(0,.9fr);grid-template-areas:"t n m x" ". . g g";column-gap:0;align-items:center;padding:9px 0;position:relative;transition:background .2s}
a.n2-tli:hover{background:linear-gradient(90deg,transparent 80px,rgba(11,12,14,.035) 110px,transparent)}
.n2-tli-t{grid-area:t;display:flex;align-items:baseline;gap:3px;font-family:var(--n2-fd);font-weight:800}
.n2-tli-t b{font-size:19px;font-variant-numeric:tabular-nums}
.n2-tli-t i{font-style:normal;font-size:11px;letter-spacing:.06em;color:var(--n2-ink3)}
.n2-tli-t.is-same b,.n2-tli-t.is-same i{opacity:.28}
.n2-tli-node{grid-area:n;justify-self:center;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px var(--n2-ink2);position:relative;left:1px}
.n2-tli.is-final .n2-tli-node{background:var(--n2-ink);box-shadow:none}
.n2-tli.is-live .n2-tli-node{background:var(--n2-live);box-shadow:0 0 0 4px rgba(200,54,60,.18)}
.n2-tli-m{grid-area:m;display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;min-width:0;padding-left:14px}
.n2-tli-team{display:inline-flex;align-items:center;gap:7px;min-width:0}
.n2-tli-team b{font-family:var(--n2-fd);font-weight:800;font-size:17px;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}
.n2-tli-team em{font-style:normal;font-size:10.5px;font-weight:700;color:var(--n2-ink3)}
.n2-tli-at{font-family:var(--n2-fd);font-weight:600;font-size:13px;color:var(--n2-ink3);text-transform:uppercase}
.n2-tli-sc{font-family:var(--n2-fd);font-weight:800;font-size:17px;margin-left:6px}
.n2-tli-x{grid-area:x;font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--n2-ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:16px}
.n2-tli-gw{grid-area:g;justify-self:start;margin:4px 0 0 14px;font-family:var(--n2-fd);font-weight:800;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;padding:3px 7px 2px;background:var(--n2-ink);color:#fff}

@media (max-width:900px){
  .n2-feat-g,.n2-feat-g.is-2{grid-template-columns:minmax(0,1fr)}
  .n2-tli{grid-template-columns:62px 20px minmax(0,1fr);grid-template-areas:"t n m" ". . x" ". . g"}
  .n2-tli-x{padding-left:14px;white-space:normal}
  .n2-tl-l::before{left:72px}
}
@media (max-width:767px){
  .n2-mast.n2-tool .n2-mast-g{grid-template-columns:minmax(0,1fr)}
  .n2-dayx{justify-items:start;text-align:left}
  .n2-tally>div{padding-left:14px;margin-left:14px}
  .n2-tally b{font-size:24px}
  .n2-rail-f{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:0 18px}
  .n2-rail-f::-webkit-scrollbar{display:none}
  .n2-rail-g{flex:0 0 auto}
  .n2-rail-g .n2-tabs{overflow:visible}
  .n2 .n2-dd{flex-basis:74px}
  .n2-tl-d{grid-template-columns:minmax(0,1fr);gap:12px}
  .n2-tl-day{position:static;grid-template-columns:auto auto 1fr;align-items:baseline;gap:10px}
  .n2-tl-day small{justify-self:end}
  .n2-tli-team b{font-size:15.5px}
}
/* =====================================================================
   RANKINGS — light poll, big numerals; graphite "every class"; dark methodology
   ===================================================================== */
.n2-rk-hero .n2-wm{font-size:clamp(200px,32vw,520px);left:78%;top:52%}
.n2-upd{display:grid;gap:8px;justify-items:start;padding:20px 0 0;border-top:1px solid rgba(214,220,226,.22)}
.n2-upd-k{display:flex;align-items:center;gap:10px;font-family:var(--n2-fd);font-weight:800;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:#fff}
.n2-upd-k i{width:8px;height:8px;background:#fff;transform:rotate(45deg);box-shadow:0 0 12px rgba(255,255,255,.6)}
.n2-upd>b{font-family:var(--n2-fd);font-weight:800;font-size:clamp(30px,3vw,44px);line-height:.95;text-transform:uppercase}
.n2-upd>span{font-size:13px;color:#9AA0A7}
.n2-upd .n2-lock{color:#AEB4BA;margin-top:6px}
.n2-rk-rail{display:flex;flex-wrap:wrap;align-items:center;gap:0 28px;padding-top:4px;padding-bottom:2px}
.n2 .n2-rk-st{display:flex;align-items:baseline;gap:10px;padding:10px 20px 10px 0;border-right:1px solid var(--n2-rule)}
.n2-rk-st b{font-family:var(--n2-fd);font-weight:800;font-size:18px;letter-spacing:.06em;text-transform:uppercase}
.n2-rk-st i{font-style:normal;font-size:11px;font-weight:600;color:var(--n2-ink3);border-bottom:1px solid currentColor}
.n2-rk-cls[hidden]{display:none}

.n2-rkp-s{padding-top:clamp(36px,4vw,60px)}
.n2-poll-h{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 40px;flex-wrap:wrap;margin-bottom:26px}
.n2-poll-h .n2-k{color:var(--n2-ink3)}
.n2-poll-h .n2-sub{max-width:380px;margin:0}
/* top three */
.n2-p3{display:grid;grid-template-columns:1.25fr 1fr 1fr;border-top:2px solid var(--n2-ink)}
.n2-p3-i{display:grid;align-content:start;gap:16px;padding:26px clamp(18px,2.4vw,36px) 30px 0;border-right:1px solid var(--n2-rule);position:relative;transition:background .25s}
.n2-p3-i+.n2-p3-i{padding-left:clamp(18px,2.4vw,36px)}
.n2-p3-i:last-child{border-right:0}
a.n2-p3-i:hover{background:linear-gradient(180deg,rgba(11,12,14,.03),transparent 70%)}
.n2-pn{font-family:var(--n2-fd);font-weight:800;line-height:.8;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--n2-ink)}
.n2-p3-i .n2-pn{font-size:clamp(96px,10vw,168px);background:linear-gradient(180deg,#0B0C0E 0%,#3A3F45 60%,#8E949B 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.n2-p3-i:first-child .n2-pn{font-size:clamp(120px,13vw,210px)}
.n2-p3-id{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px}
.n2-p3-id b{display:block;font-family:var(--n2-fd);font-weight:800;font-size:clamp(26px,2.6vw,40px);line-height:.92;text-transform:uppercase;overflow-wrap:anywhere}
.n2-p3-i:first-child .n2-p3-id b{font-size:clamp(32px,3.2vw,50px)}
.n2-p3-id small{display:block;margin-top:4px;font-size:12.5px;color:var(--n2-ink3);letter-spacing:.02em}
.n2-p3-f{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 26px;padding-top:14px;border-top:1px solid var(--n2-rule)}
.n2-p3-f div{display:grid;gap:2px}
.n2-p3-f span{font-family:var(--n2-fd);font-weight:700;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--n2-ink3)}
.n2-p3-f b{font-family:var(--n2-fd);font-weight:800;font-size:26px;line-height:1;font-variant-numeric:tabular-nums}
.n2-mv{font-family:var(--n2-fd);font-weight:800;font-size:13px;letter-spacing:.06em;white-space:nowrap}
.n2-mv.is-up{color:#1D7A46}.n2-mv.is-dn{color:var(--n2-live)}.n2-mv.is-eq{color:var(--n2-ink3)}
.n2-form{display:inline-flex;gap:3px}
.n2-form i{font-style:normal;width:18px;height:18px;display:grid;place-items:center;font-family:var(--n2-fd);font-weight:800;font-size:10.5px;line-height:1}
.n2-form i.is-w{background:var(--n2-ink);color:#fff}
.n2-form i.is-l{box-shadow:inset 0 0 0 1px var(--n2-rule2);color:var(--n2-ink3)}
.n2-form i.is-t{box-shadow:inset 0 0 0 1px var(--n2-rule2);color:var(--n2-ink2)}
/* the table */
.n2-pt{margin-top:8px;border-top:2px solid var(--n2-ink)}
.n2-pt-r{display:grid;grid-template-columns:76px minmax(0,1.5fr) 70px 70px 54px minmax(0,1.6fr) 110px;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--n2-rule);transition:background .2s}
.n2-pt-r.is-h{padding:10px 0 9px;font-family:var(--n2-fd);font-weight:700;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--n2-ink3);border-bottom:1px solid var(--n2-rule2)}
a.n2-pt-r:hover{background:linear-gradient(90deg,rgba(11,12,14,.035),transparent 85%)}
.n2-pt-r .n2-pn{font-size:40px}
.n2-pt-tm{display:flex;align-items:center;gap:12px;min-width:0}
.n2-pt-tm>span{min-width:0;display:grid}
.n2-pt-tm b{font-family:var(--n2-fd);font-weight:800;font-size:19px;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-pt-tm small{font-size:11.5px;color:var(--n2-ink3)}
.n2-pt-rec,.n2-pt-pw{font-family:var(--n2-fd);font-weight:800;font-size:19px;font-variant-numeric:tabular-nums}
.n2-pt-why{font-size:12px;color:var(--n2-ink3);line-height:1.4}
.n2-poll-f{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 28px;margin-top:22px;font-size:12.5px;color:var(--n2-ink3)}
/* every class */
.n2-ev-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));border-top:1px solid var(--n2-ln2);border-left:1px solid var(--n2-ln)}
.n2 .n2-ev-c{display:grid;gap:8px;align-content:start;text-align:left;padding:18px 18px 20px;border-right:1px solid var(--n2-ln);border-bottom:1px solid var(--n2-ln);transition:background .2s}
.n2 .n2-ev-c:hover{background:rgba(255,255,255,.035)}
.n2 .n2-ev-c.is-on{background:rgba(255,255,255,.06);box-shadow:inset 0 2px 0 #fff}
.n2-ev-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}
.n2-ev-h b{font-family:var(--n2-fd);font-weight:800;font-size:26px;text-transform:uppercase}
.n2-ev-h span{font-size:11px;color:var(--n2-t3);letter-spacing:.06em}
.n2-ev-r{display:grid;grid-template-columns:18px auto minmax(0,1fr) auto;align-items:center;gap:8px}
.n2-ev-r em{font-style:normal;font-family:var(--n2-fd);font-weight:800;font-size:16px;color:var(--n2-t2)}
.n2-ev-r span{font-family:var(--n2-fd);font-weight:700;font-size:15px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-ev-r small{font-size:11.5px;color:var(--n2-t3);font-variant-numeric:tabular-nums}
/* methodology */
.n2-how-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.6vw,40px);border-top:1px solid var(--n2-ln2);padding-top:28px}
.n2-how-n{font-family:var(--n2-fd);font-weight:800;font-size:48px;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(214,220,226,.5)}
.n2-how-i h3{font-family:var(--n2-fd);font-weight:800;font-size:22px;text-transform:uppercase;margin:14px 0 0}
.n2-how-i p{font-size:14px;line-height:1.55;color:var(--n2-t2);margin:8px 0 0}
/* thin state */
.n2-rk-states{margin-top:36px}
.n2-rk-states .n2-k{color:var(--n2-ink3);margin-bottom:12px}
.n2-rk-sg{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));border-top:2px solid var(--n2-ink)}
.n2-rk-sl{display:flex;align-items:baseline;gap:12px;padding:14px 0;border-bottom:1px solid var(--n2-rule)}
.n2-rk-sl b{font-family:var(--n2-fd);font-weight:800;font-size:24px}
.n2-rk-sl span{font-family:var(--n2-fd);font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--n2-ink3)}
.n2-rk-sl:hover span{color:var(--n2-ink)}

@media (max-width:1100px){
  .n2-pt-r{grid-template-columns:60px minmax(0,1.5fr) 64px 64px 48px minmax(0,1fr)}
  .n2-pt-r>.n2-form,.n2-pt-r.is-h>span:last-child{display:none}
  .n2-how-g{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .n2-p3{grid-template-columns:minmax(0,1fr)}
  .n2-p3-i,.n2-p3-i+.n2-p3-i{padding:20px 0 24px;border-right:0;border-bottom:1px solid var(--n2-rule)}
  .n2-p3-i .n2-pn,.n2-p3-i:first-child .n2-pn{font-size:110px}
  .n2-pt-r{grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"n t r" "n w w";row-gap:4px}
  .n2-pt-r.is-h{display:none}
  .n2-pt-r .n2-pn{grid-area:n;font-size:32px;align-self:start}
  .n2-pt-tm{grid-area:t}
  .n2-pt-rec{grid-area:r;font-size:17px}
  .n2-pt-pw,.n2-pt-r>.n2-mv,.n2-pt-r>span:empty{display:none}
  .n2-pt-why{grid-area:w;padding-left:40px}
  .n2-how-g{grid-template-columns:minmax(0,1fr)}
  .n2-rk-rail{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .n2-rk-rail>*{flex:0 0 auto}
}
/* =====================================================================
   GAME CENTER — broadcast matchup hero with team-colour edge glows, then light/dark modules
   ===================================================================== */
.n2-gc{position:relative;overflow:hidden;isolation:isolate;background:#050607;color:var(--n2-t1);padding:clamp(28px,5vh,56px) 0 clamp(40px,6vh,72px);--n2-ca:#8E949B;--n2-ch:#8E949B}
.n2-gc .n2-wm{font-size:clamp(100px,16vw,260px);top:40%}
.n2-gc-edge{position:absolute;top:0;bottom:0;width:38%;z-index:1;pointer-events:none;opacity:.55}
.n2-gc-edge.is-a{left:0;background:radial-gradient(70% 60% at 0% 55%,color-mix(in srgb,var(--n2-ca) 34%,transparent) 0%,transparent 70%)}
.n2-gc-edge.is-h{right:0;background:radial-gradient(70% 60% at 100% 55%,color-mix(in srgb,var(--n2-ch) 34%,transparent) 0%,transparent 70%)}
.n2-gc-edge.is-a::after,.n2-gc-edge.is-h::after{content:"";position:absolute;top:18%;bottom:18%;width:2px}
.n2-gc-edge.is-a::after{left:0;background:linear-gradient(180deg,transparent,var(--n2-ca),transparent)}
.n2-gc-edge.is-h::after{right:0;background:linear-gradient(180deg,transparent,var(--n2-ch),transparent)}
.n2-gc-w{position:relative;z-index:3}
.n2-gc .n2-crumb{margin-bottom:clamp(20px,4vh,44px)}
.n2-gc-top{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:clamp(20px,3vh,36px)}
.n2-gc-top .n2-k{color:#C9CED3}
.n2-gc-mu{max-width:1080px;margin:0 auto}
.n2-gc .n2-mu.is-xl .n2-mk.is-xl{width:clamp(96px,12vw,172px);height:clamp(96px,12vw,172px);font-size:clamp(32px,4vw,56px)}
.n2-gc .n2-mu.is-xl .n2-mu-n b{font-size:clamp(30px,4vw,62px)}
.n2-gc .n2-mu-sc{font-size:clamp(72px,9vw,150px)}
.n2-gc .n2-mu-v{font-size:clamp(34px,4vw,64px)}
.n2-gc-sub{display:grid;justify-items:center;gap:18px;margin-top:clamp(24px,3.6vh,40px);padding-top:22px;border-top:1px solid var(--n2-ln2);text-align:center}
.n2-gc-when{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;font-family:var(--n2-fd);text-transform:uppercase}
.n2-gc-when b{font-weight:800;font-size:clamp(22px,2.2vw,32px);letter-spacing:.04em}
.n2-gc-when span{font-weight:700;font-size:clamp(16px,1.5vw,20px);letter-spacing:.1em;color:#B4BAC0;align-self:center}
.n2-cd{display:flex;align-items:flex-end;gap:18px}
.n2-cd .n2-k{color:#868C94;align-self:center}
.n2-cd>div{display:grid;justify-items:center;padding:0 14px;border-left:1px solid var(--n2-ln2)}
.n2-cd b{font-family:var(--n2-fd);font-weight:800;font-size:clamp(34px,3.4vw,52px);line-height:1;font-variant-numeric:tabular-nums}
.n2-cd small{font-family:var(--n2-fd);font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#868C94}
.n2-gc-live{display:flex;gap:14px;align-items:center;font-size:13px;color:#B4BAC0}
.n2-gc-fin .n2-k{color:#C9CED3}
.n2-gc-gw{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 22px;padding-top:4px}
.n2-gc-gwk{font-family:var(--n2-fd);font-weight:800;font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:5px 9px 4px;background:#E4E8EB;color:var(--n2-ink)}
.n2-gc-gw .n2-lock{color:#AEB4BA}
.n2-dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border-top:2px solid var(--n2-ink)}
.n2-dl>div{padding:16px 18px 18px 0;border-bottom:1px solid var(--n2-rule)}
.n2-dl dt{font-family:var(--n2-fd);font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--n2-ink3)}
.n2-dl dd{margin:6px 0 0;font-family:var(--n2-fd);font-weight:800;font-size:clamp(19px,1.6vw,23px);text-transform:uppercase;letter-spacing:.02em}
.n2-gc2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,72px)}
.n2-gcr-c{display:grid;gap:14px;align-content:start;padding-top:18px;border-top:2px solid #E4E8EB}
.n2-gcr-h{display:flex;align-items:center;gap:14px}
.n2-gcr-h b{font-family:var(--n2-fd);font-weight:800;font-size:clamp(26px,2.6vw,38px);text-transform:uppercase;line-height:.95}
.n2-gcr-n{display:flex;align-items:flex-end;gap:20px}
.n2-gcr-n .n2-rkn{font-size:clamp(84px,8vw,128px)}
.n2-gcr-n>div{display:grid;gap:4px;padding-bottom:10px}
.n2-gcr-n .n2-k{color:var(--n2-t3)}
.n2-gcr-n b{font-family:var(--n2-fd);font-weight:800;font-size:22px;text-transform:uppercase}
.n2-gcr-n small{font-size:13px;color:var(--n2-t2)}
.n2-gcf-c{display:grid;align-content:start;border-top:2px solid var(--n2-ink)}
.n2-gcf-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:14px 0 10px}
.n2-gcf-h b{font-family:var(--n2-fd);font-weight:800;font-size:clamp(24px,2.2vw,32px);text-transform:uppercase}
.n2-gcf-h span{font-size:12.5px;font-weight:600;color:var(--n2-ink3)}
.n2-gcf-r{display:grid;grid-template-columns:30px 64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--n2-rule)}
a.n2-gcf-r:hover b{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.n2-gcf-w{width:24px;height:24px;display:grid;place-items:center;font-family:var(--n2-fd);font-weight:800;font-size:13px}
.n2-gcf-w.is-w{background:var(--n2-ink);color:#fff}
.n2-gcf-w.is-l{box-shadow:inset 0 0 0 1px var(--n2-rule2);color:var(--n2-ink3)}
.n2-gcf-w.is-t{box-shadow:inset 0 0 0 1px var(--n2-rule2)}
.n2-gcf-d{font-family:var(--n2-fd);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--n2-ink3)}
.n2-gcf-d.is-w{grid-column:1/3}
.n2-gcf-o{display:flex;align-items:center;gap:8px;min-width:0}
.n2-gcf-o i{font-style:normal;font-family:var(--n2-fd);font-weight:600;font-size:12px;text-transform:uppercase;color:var(--n2-ink3);width:18px}
.n2-gcf-o b{font-family:var(--n2-fd);font-weight:800;font-size:16.5px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-gcf-s{font-family:var(--n2-fd);font-weight:800;font-size:17px;font-variant-numeric:tabular-nums}
.n2-gch-l{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,64px);border-top:2px solid var(--n2-ink)}
.n2-gch-l .n2-nr-sm p{font-size:13.5px;line-height:1.5;color:var(--n2-ink3);margin:6px 0 0}
.n2-gcx-c{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:22px;padding:22px 0;border-top:1px solid var(--n2-ln2);position:relative;--n2-tc:#C9CED3;transition:transform .25s var(--n2-ease)}
.n2-gcx-c::before{content:"";position:absolute;left:0;top:-1px;width:64px;height:2px;background:var(--n2-tc)}
.n2-gcx-c:hover{transform:translateY(var(--n2-lift))}
.n2-gcx-c>div{display:grid;gap:8px;justify-items:start;min-width:0}
.n2-gcx-c .n2-k{color:var(--n2-t3)}
.n2-gcx-c b{font-family:var(--n2-fd);font-weight:800;font-size:clamp(30px,3vw,46px);line-height:.92;text-transform:uppercase}
.n2 .n2-more.is-static{font-size:12px}
@media (max-width:900px){
  .n2-dl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .n2-gc2,.n2-gch-l{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:767px){
  .n2-gc .n2-mu.is-xl .n2-mk.is-xl{width:84px;height:84px;font-size:28px}
  .n2-gc .n2-mu.is-xl .n2-mu-n b{font-size:24px}
  .n2-gc .n2-mu-sc{font-size:64px}
  .n2-cd{gap:10px}.n2-cd>div{padding:0 8px}
  .n2-gcx-c .n2-mk.is-xl{width:72px;height:72px}
}
/* =====================================================================
   NEWS — white publication · WATCH — media destination with an intentional no-media state
   ===================================================================== */
.n2-newsm{background:var(--n2-pp);color:var(--n2-ink);padding:clamp(28px,3.6vw,52px) 0 0;position:relative}
.n2-newsm::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--n2-rule2)}
.n2-crumb.is-ink{color:var(--n2-ink3);margin-bottom:clamp(18px,3vw,36px)}
.n2-crumb.is-ink a:hover{color:var(--n2-ink)}
.n2-crumb.is-ink i{background:#B4BAC0}
.n2-crumb.is-ink b{color:var(--n2-ink)}
.n2-newsm-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:24px 64px;align-items:end;padding-bottom:22px;border-bottom:4px solid var(--n2-ink)}
.n2-newsm .n2-k{color:var(--n2-ink3)}
.n2-newsm-t{font-family:var(--n2-fd);font-weight:800;font-size:clamp(96px,15vw,236px);line-height:.78;letter-spacing:-.02em;text-transform:uppercase;margin:12px 0 0;color:var(--n2-ink)}
.n2-newsm-d{font-family:var(--n2-fu);font-size:16px;line-height:1.6;color:var(--n2-ink2);margin:0 0 6px}
.n2-newsm-c{display:flex;flex-wrap:wrap;gap:0 34px;padding:4px 0 2px}
.n2-newsm-c .n2-tabs{border-bottom:0}
.n2-newsb{padding-top:clamp(28px,3.2vw,48px)}
.n2-nw{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);padding-bottom:clamp(28px,3.4vw,48px);border-bottom:1px solid var(--n2-rule2)}
.n2-nw.is-1{grid-template-columns:minmax(0,1fr)}
.n2-nw-lead h2{font-family:var(--n2-fd);font-weight:800;font-size:clamp(46px,6.2vw,96px);line-height:.88;letter-spacing:-.008em;text-transform:uppercase;margin:16px 0 0;text-wrap:balance}
.n2-nw-deck{font-family:var(--n2-fu);font-size:clamp(17px,1.4vw,20px);line-height:1.55;color:var(--n2-ink2);margin:20px 0 0;max-width:680px}
.n2-nw-art{margin-top:clamp(24px,3vw,40px);max-width:760px}
.n2-art.is-big{padding:24px 28px 20px}
.n2-art.is-big .n2-art-t span{font-size:clamp(26px,3vw,44px)}
.n2-art.is-big .n2-art-t b{font-size:clamp(48px,5vw,80px)}
.n2-art.is-big .n2-art-t::before{left:-28px}
.n2-nw-rail{border-left:1px solid var(--n2-rule);padding-left:clamp(20px,2.6vw,36px);align-self:start}
.n2-nw-rh{font-family:var(--n2-fd);font-weight:800;font-size:20px;letter-spacing:.06em;text-transform:uppercase;padding-bottom:12px;border-bottom:2px solid var(--n2-ink)}
.n2-nw-ri{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--n2-rule)}
.n2-nw-rn{font-family:var(--n2-fd);font-weight:800;font-size:26px;line-height:1;color:transparent;-webkit-text-stroke:1px var(--n2-ink3)}
.n2-nw-ri h3{font-family:var(--n2-fd);font-weight:800;font-size:18px;line-height:1.05;text-transform:uppercase;margin:6px 0 0}
.n2-nw-sup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px);padding:clamp(26px,3vw,44px) 0;border-bottom:1px solid var(--n2-rule2)}
.n2-nw-s h3{font-family:var(--n2-fd);font-weight:800;font-size:clamp(28px,2.8vw,42px);line-height:.95;text-transform:uppercase;margin:12px 0 0;text-wrap:balance}
.n2-nw-s p{font-size:15px;line-height:1.6;color:var(--n2-ink3);margin:12px 0 0}
.n2-nw-sart{margin-bottom:18px}
.n2-nw-lh{display:flex;align-items:baseline;justify-content:space-between;margin:clamp(30px,3.4vw,52px) 0 10px}
.n2-nw-lh span{font-size:12.5px;color:var(--n2-ink3);font-weight:600}
.n2-nw-list{display:grid;border-top:2px solid var(--n2-ink)}
.n2-nw-li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:16px 0;border-bottom:1px solid var(--n2-rule)}
.n2-nw-li time{font-family:var(--n2-fd);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--n2-ink3);padding-top:2px}
.n2-nw-li h3{font-family:var(--n2-fd);font-weight:800;font-size:clamp(19px,1.6vw,23px);line-height:1.05;text-transform:uppercase;margin:6px 0 0}
/* rank card art */
.n2-rart{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"k k" "n f";column-gap:22px;align-items:end;background:var(--n2-gr);color:#fff;padding:18px 22px 20px;position:relative}
.n2-rart::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--n2-chrome)}
.n2-rart .n2-k{grid-area:k;color:#868C94;margin-bottom:6px}
.n2-rart .n2-rkn{grid-area:n;font-size:clamp(84px,8vw,128px)}
.n2-rart>div{grid-area:f;display:flex;gap:22px;padding-bottom:10px}
.n2-rart small{display:block;font-family:var(--n2-fd);font-weight:700;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#868C94}
.n2-rart b{font-family:var(--n2-fd);font-weight:800;font-size:24px}

/* watch */
.n2-watch-h .n2-wm{font-size:clamp(140px,22vw,340px)}
.n2-wn{padding:clamp(64px,7vw,108px) 0}
.n2-wn-g{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(28px,5vw,96px);align-items:start}
.n2-wn .n2-k{color:var(--n2-t3)}
.n2-wn-l{list-style:none;margin:0;padding:0;border-top:1px solid var(--n2-ln2)}
.n2-wn-l li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--n2-ln)}
.n2-wn-l b{font-family:var(--n2-fd);font-weight:800;font-size:20px;text-transform:uppercase;letter-spacing:.04em}
.n2-wn-l span{font-size:14px;color:var(--n2-t2);line-height:1.5}
.n2-wn-p{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:clamp(36px,4vw,60px);padding-top:20px;border-top:1px solid var(--n2-ln2);font-family:var(--n2-fd);font-weight:800;font-size:18px;letter-spacing:.08em;text-transform:uppercase}
.n2-wfx{position:relative;display:block;aspect-ratio:16/9;max-width:100%;background:#000;overflow:hidden}
.n2-wfx img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--n2-ease)}
.n2-wfx:hover img{transform:scale(var(--n2-img))}
.n2-wfx-p{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:rgba(8,9,10,.6);border:1px solid rgba(255,255,255,.5);font-size:26px}
.n2-wl-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px}
.n2-wl-i{display:grid;gap:8px}
.n2-wl-f{aspect-ratio:16/9;max-width:100%;background:var(--n2-gr);overflow:hidden}
.n2-wl-f img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--n2-ease)}
.n2-wl-i:hover img{transform:scale(var(--n2-img))}
.n2-wl-i b{font-family:var(--n2-fd);font-weight:800;font-size:19px;text-transform:uppercase}

@media (max-width:900px){
  .n2-newsm-g{grid-template-columns:minmax(0,1fr)}
  .n2-nw{grid-template-columns:minmax(0,1fr)}
  .n2-nw-rail{border-left:0;padding-left:0}
  .n2-nw-sup{grid-template-columns:minmax(0,1fr)}
  .n2-wn-g{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:767px){
  .n2-newsm-t{font-size:96px}
  .n2-newsm-c{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:0 22px}
  .n2-newsm-c::-webkit-scrollbar{display:none}
  .n2-newsm-c .n2-rail-g{flex:0 0 auto}
  .n2-nw-lead h2{font-size:44px}
  .n2-nw-li{grid-template-columns:minmax(0,1fr);gap:4px}
  .n2-wn-l li{grid-template-columns:minmax(0,1fr);gap:4px}
}
/* =====================================================================
   SCHOOLS DIRECTORY · LEVEL HUBS · CLUB · STATES
   ===================================================================== */
/* directory hero: large premium search */
.n2-dir-h .n2-wm{font-size:clamp(120px,19vw,300px)}
.n2-dir-n{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px;margin-top:16px}
.n2-dir-n b{font-family:var(--n2-fd);font-weight:800;font-size:clamp(34px,3.6vw,54px);line-height:1;font-variant-numeric:tabular-nums}
.n2-dir-n span{font-family:var(--n2-fd);font-weight:700;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:#9AA0A7}
.n2-dir-s{margin-top:clamp(24px,4vh,40px)}
.n2-dir-bar{display:flex;align-items:center;gap:14px;padding:0 20px;background:rgba(255,255,255,.96);color:var(--n2-ink);box-shadow:0 24px 60px rgba(0,0,0,.45);border-top:2px solid #fff}
.n2-dir-bar svg{width:22px;height:22px;stroke:var(--n2-ink3);fill:none;stroke-width:2;flex:0 0 auto}
.n2 .n2-dir-q{flex:1;min-width:0;height:72px;border:0;background:transparent;font-family:var(--n2-fd);font-weight:800;font-size:clamp(22px,2.4vw,32px);letter-spacing:.02em;text-transform:uppercase;color:var(--n2-ink);outline:none}
.n2 .n2-dir-q::placeholder{color:#A3A9B0}
.n2-dir-sc{display:flex;align-items:center;gap:18px;margin-top:10px}
.n2 .n2-dir-chg{font-size:12px;font-weight:600;color:#9AA0A7;border-bottom:1px solid currentColor;margin-left:auto}
.n2-srl{border-top:2px solid var(--n2-ink)}
.n2-sr{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,220px);align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--n2-rule);transition:background .2s}
.n2-sr:hover{background:linear-gradient(90deg,rgba(11,12,14,.035),transparent)}
.n2-sr-t{display:grid;gap:3px;min-width:0}
.n2-sr-t b{font-family:var(--n2-fd);font-weight:800;font-size:21px;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-sr-t small{font-size:12px;color:var(--n2-ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-sr-p{font-family:var(--n2-fd);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--n2-ink3);white-space:nowrap}
.n2-sr-r{justify-self:end;font-family:var(--n2-fd);font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px 3px;background:var(--n2-ink);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.n2-dir-rkg{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(20px,3vw,48px)}
.n2-dir-rkc h3{font-family:var(--n2-fd);font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:.04em;margin:0;padding-bottom:10px;border-bottom:2px solid #E4E8EB}
.n2-dir-rkr{display:grid;grid-template-columns:56px auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--n2-ln)}
.n2-dir-rkr em{font-style:normal;font-family:var(--n2-fd);font-weight:800;font-size:13px;letter-spacing:.1em;color:var(--n2-t3)}
.n2-dir-rkr b{font-family:var(--n2-fd);font-weight:800;font-size:16.5px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-dir-rkr small{font-size:12px;color:var(--n2-t2);font-variant-numeric:tabular-nums}
a.n2-dir-rkr:hover b{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.n2-sblk{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));border-top:1px solid var(--n2-ln2)}
.n2-sblk-i{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;padding:12px 12px 12px 0;border-bottom:1px solid var(--n2-ln);transition:background .2s}
.n2-sblk-i:hover{background:rgba(255,255,255,.04)}
.n2-sblk-i b{font-family:var(--n2-fd);font-weight:800;font-size:24px;color:#6E747B}
.n2-sblk-i.is-full b,.n2-sblk-i.is-strong b,.n2-sblk-i.is-cur b{color:#fff}
.n2-sblk-i.is-cur{box-shadow:inset 2px 0 0 #fff;padding-left:10px}
.n2-sblk-i div{display:grid;min-width:0}
.n2-sblk-i span{font-family:var(--n2-fd);font-weight:800;font-size:15.5px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-sblk-i small{font-size:11.5px;color:var(--n2-t3)}
.n2-pp .n2-sblk,.n2-lt .n2-sblk{border-top-color:var(--n2-rule2)}
.n2-pp .n2-sblk-i,.n2-lt .n2-sblk-i{border-bottom-color:var(--n2-rule)}
.n2-pp .n2-sblk-i b,.n2-lt .n2-sblk-i b{color:var(--n2-ink)}
.n2-pp .n2-sblk-i small,.n2-lt .n2-sblk-i small{color:var(--n2-ink3)}
.n2-pp .n2-sblk-i:hover{background:var(--n2-lt)}
.n2-pp .n2-sblk-i.is-cur{box-shadow:inset 2px 0 0 var(--n2-ink)}
.n2-sblk-k{color:var(--n2-ink3);margin:clamp(30px,3vw,48px) 0 12px}
.n2-az-c{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;margin-bottom:12px}
.n2-az{display:flex;flex-wrap:wrap;gap:2px}
.n2 .n2-az button{width:28px;height:30px;font-family:var(--n2-fd);font-weight:800;font-size:14px;color:var(--n2-ink2)}
.n2 .n2-az button.is-on{background:var(--n2-ink);color:#fff}
.n2 .n2-az button.is-off{color:#C3C8CD;cursor:default}
.n2-azl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(18px,3vw,44px);border-top:2px solid var(--n2-ink)}
.n2-azi{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--n2-rule)}
.n2-azi b{font-family:var(--n2-fd);font-weight:800;font-size:15.5px;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-azi small{font-size:11px;color:var(--n2-ink3);white-space:nowrap}
.n2-azi:hover b{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

/* hubs */
.n2-hub-h .n2-wm{font-size:clamp(200px,30vw,480px)}
.n2-hub-h.is-college .n2-wm{font-size:clamp(150px,24vw,380px)}
.n2-map.is-lg{max-width:620px;gap:5px}
.n2-tiers{display:grid;gap:0;margin:22px 0 24px;border-top:1px solid var(--n2-ln2)}
.n2-tier-r{display:grid;grid-template-columns:14px 170px minmax(0,1fr);align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px solid var(--n2-ln)}
.n2-tier-r i{width:12px;height:12px;display:block;align-self:center}
.n2-tier-r.is-full i{background:#E4E8EB}.n2-tier-r.is-strong i{background:#B4BAC0}.n2-tier-r.is-partial i{background:#7E848B}.n2-tier-r.is-expanding i{background:rgba(214,220,226,.26)}
.n2-tier-r b{font-family:var(--n2-fd);font-weight:800;font-size:15px;letter-spacing:.1em;text-transform:uppercase}
.n2-tier-r span{font-size:13px;color:var(--n2-t2);line-height:1.45}
.n2-no1{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,64px);margin-top:18px;border-top:2px solid #E4E8EB}
.n2-no1-r{display:grid;grid-template-columns:40px 64px auto minmax(0,1fr) auto 52px;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--n2-ln);transition:background .2s}
a.n2-no1-r:hover{background:linear-gradient(90deg,rgba(255,255,255,.04),transparent)}
.n2-no1-st{font-family:var(--n2-fd);font-weight:800;font-size:24px}
.n2-no1-c{font-family:var(--n2-fd);font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:4px 6px 3px;box-shadow:inset 0 0 0 1px var(--n2-ln2);text-align:center;color:var(--n2-t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-no1-t{display:grid;min-width:0}
.n2-no1-t b{font-family:var(--n2-fd);font-weight:800;font-size:19px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-no1-t small{font-size:11.5px;color:var(--n2-t3)}
.n2-no1-rec,.n2-no1-pw{font-family:var(--n2-fd);font-weight:800;font-size:17px;font-variant-numeric:tabular-nums;text-align:right}
.n2-no1-pw{color:var(--n2-t2)}
.n2-gwn{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,44px);border-top:1px solid var(--n2-ln2);padding-top:22px}
.n2-gwn-i{display:grid;gap:10px;align-content:start}
.n2-gwn-st{font-family:var(--n2-fd);font-weight:800;font-size:24px;text-transform:uppercase;letter-spacing:.04em}
.n2-gwn .n2-mu-top b{display:none}

/* club */
.n2-club-h .n2-wm{font-size:clamp(160px,26vw,420px)}
.n2-how-g.is-ink{border-top-color:var(--n2-ink)}
.n2-how-g.is-ink .n2-how-n{-webkit-text-stroke-color:var(--n2-ink3)}
.n2-how-g.is-ink .n2-how-i p{color:var(--n2-ink3)}
.n2-club-c{padding-top:18px}
.n2-club-c h3{font-family:var(--n2-fd);font-weight:800;font-size:clamp(28px,2.8vw,40px);text-transform:uppercase;margin:0}
.n2-club-c p{font-size:15px;line-height:1.6;color:var(--n2-ink3);margin:10px 0 18px;max-width:480px}

/* states */
.n2-states-h .n2-wm{font-size:clamp(200px,30vw,480px)}
.n2-cov-g.is-map{grid-template-columns:minmax(0,1fr) minmax(0,640px)}
.n2-map.is-links a{aspect-ratio:1;display:grid;place-items:center;font-family:var(--n2-fd);font-weight:800;font-size:clamp(10px,1.1vw,15px);color:#6E747B;background:rgba(214,220,226,.10);transition:transform .2s var(--n2-ease),background .2s}
.n2-map.is-links a.is-full{background:#E4E8EB;color:var(--n2-ink)}
.n2-map.is-links a.is-strong{background:#B4BAC0;color:var(--n2-ink)}
.n2-map.is-links a.is-partial{background:#7E848B;color:#fff}
.n2-map.is-links a.is-expanding{background:rgba(214,220,226,.18);color:#C9CED3}
.n2-map.is-links a:hover,.n2-map.is-links a:focus-visible{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.5);outline:none;z-index:2;position:relative}
.n2-map.is-links a.is-cur{box-shadow:0 0 0 2px var(--n2-dk),0 0 0 3px #fff}
.n2-map-k{width:12px;height:12px;display:inline-block}
.n2-map-k.is-full{background:#E4E8EB}.n2-map-k.is-strong{background:#B4BAC0}.n2-map-k.is-partial{background:#7E848B}.n2-map-k.is-expanding{background:rgba(214,220,226,.26)}
.n2-legend{color:var(--n2-t2)}
.n2-map-tip{margin-top:22px;padding-top:14px;border-top:1px solid var(--n2-ln2);font-family:var(--n2-fd);font-weight:800;font-size:18px;letter-spacing:.06em;text-transform:uppercase;min-height:44px}
.n2-states-c{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px;margin-bottom:12px}
.n2 .n2-in{height:46px;min-width:260px;padding:0 4px;border:0;border-bottom:2px solid var(--n2-ink);background:transparent;font-family:var(--n2-fd);font-weight:800;font-size:20px;text-transform:uppercase;letter-spacing:.04em;color:var(--n2-ink);outline:none;border-radius:0}
.n2-stl{border-top:2px solid var(--n2-ink)}
.n2-stl-r{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 90px 80px 100px minmax(0,1.2fr) 60px;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--n2-rule);transition:background .2s}
.n2-stl-r.is-h{padding:10px 0 9px;font-family:var(--n2-fd);font-weight:700;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--n2-ink3)}
a.n2-stl-r:hover{background:linear-gradient(90deg,rgba(11,12,14,.035),transparent)}
.n2-stl-r.is-cur{box-shadow:inset 3px 0 0 var(--n2-ink);padding-left:12px}
.n2-stl-n{display:flex;align-items:baseline;gap:14px;min-width:0}
.n2-stl-n b{font-family:var(--n2-fd);font-weight:800;font-size:24px;width:36px}
.n2-stl-n span{font-family:var(--n2-fd);font-weight:800;font-size:18px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-stl-t{font-family:var(--n2-fd);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--n2-ink3)}
.n2-stl-t.is-full,.n2-stl-t.is-strong{color:var(--n2-ink)}
.n2-stl-t.is-full::before,.n2-stl-t.is-strong::before{content:"";display:inline-block;width:7px;height:7px;background:var(--n2-ink);margin-right:8px;vertical-align:middle;position:relative;top:-1px}
.n2-stl-x{font-family:var(--n2-fd);font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}
.n2-stl-s{font-size:12.5px;color:var(--n2-ink3)}
.n2-stl-go{font-family:var(--n2-fd);font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--n2-ink3);text-align:right}

@media (max-width:1100px){
  .n2-azl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .n2-gwn{grid-template-columns:repeat(2,minmax(0,1fr))}
  .n2-no1{grid-template-columns:minmax(0,1fr)}
  .n2-stl-r{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 80px 70px 90px}
  .n2-stl-r>span:nth-child(6),.n2-stl-r>span:nth-child(7){display:none}
  .n2-cov-g.is-map{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:767px){
  .n2 .n2-dir-q{height:58px;font-size:20px}
  .n2-sr{grid-template-columns:auto minmax(0,1fr);row-gap:6px}
  .n2-sr-p{grid-column:2}
  .n2-sr-r{grid-column:2;justify-self:start}
  .n2-azl{grid-template-columns:minmax(0,1fr)}
  .n2-gwn{grid-template-columns:minmax(0,1fr)}
  .n2-no1-r{grid-template-columns:34px 52px auto minmax(0,1fr) auto}
  .n2-no1-pw{display:none}
  .n2-tier-r{grid-template-columns:14px minmax(0,1fr)}
  .n2-tier-r span{grid-column:2}
  .n2-stl-r{grid-template-columns:minmax(0,1fr) auto;row-gap:2px}
  .n2-stl-r.is-h{display:none}
  .n2-stl-r>span:nth-child(n+3){display:none}
  .n2-stl-t{grid-column:2;grid-row:1;text-align:right}
  .n2 .n2-in{min-width:0;width:100%}
  .n2-sblk{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* =====================================================================
   ASSOCIATION HEROES — NAIA (horizontal wordmark lockup) · JUCO (NJCAA shield medallion)
   Official artwork is never recolored, filtered, cropped or stretched: images keep their intrinsic
   aspect ratio (width/height attributes + height:auto) and sit on a graphite plate for contrast.
   ===================================================================== */
.n2-as{min-height:clamp(560px,74vh,720px)}
.n2-as .n2-wm{font-size:clamp(140px,22vw,340px);top:42%}
.n2-as-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:clamp(28px,5vw,80px);align-items:end}
.n2-as-id{display:grid;align-items:center;gap:clamp(22px,3.4vw,52px);min-width:0}
.n2-as-plate{position:relative;display:grid;place-items:center;isolation:isolate;
  background:radial-gradient(120% 120% at 30% 20%,#23272C 0%,#15181B 55%,#0E1012 100%);
  box-shadow:inset 0 0 0 1px rgba(214,220,226,.14),0 24px 60px rgba(0,0,0,.45)}
.n2-as-plate::before{content:"";position:absolute;inset:-28%;z-index:-1;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--n2-ctx) 30%,transparent),transparent 72%);filter:blur(10px);pointer-events:none}
.n2-as-plate::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--n2-chrome)}
.n2-as-plate img{display:block;max-width:100%;height:auto}
.n2-as-k{color:#C9CED3;display:flex;align-items:center;gap:12px}
.n2-as-k::before{content:"";width:28px;height:2px;background:var(--n2-ctx);box-shadow:0 0 12px color-mix(in srgb,var(--n2-ctx) 70%,transparent)}
.n2 .n2-as-h{margin-top:10px}
.n2-as-net{font-family:var(--n2-fd);font-weight:800;font-size:clamp(18px,1.8vw,26px);letter-spacing:.32em;text-transform:uppercase;color:#E4E8EB;margin-top:10px}
.n2-as .n2-mast-sub{margin-top:14px}
.n2-as-big{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin-top:20px}
.n2-as-big b{font-family:var(--n2-fd);font-weight:800;font-size:clamp(36px,3.6vw,54px);line-height:1;font-variant-numeric:tabular-nums}
.n2-as-big span{font-family:var(--n2-fd);font-weight:700;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:#9AA0A7}
/* right column: right now */
.n2-as-live{border-top:2px solid #E4E8EB;padding-top:14px;align-self:end}
.n2-as-lk{color:#868C94;margin-bottom:6px}
.n2-as-li{display:grid;gap:6px;padding:12px 0 14px;border-bottom:1px solid var(--n2-ln)}
.n2-as-li>.n2-k{color:#868C94;font-size:11px}
a.n2-as-li:hover b{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.n2-as-sc{display:grid;gap:4px}
.n2-as-sc>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}
.n2-as-sc span{font-family:var(--n2-fd);font-weight:800;font-size:17px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n2-as-sc b{font-family:var(--n2-fd);font-weight:800;font-size:22px;font-variant-numeric:tabular-nums}
.n2-as-sc .is-l span,.n2-as-sc .is-l b{color:#6E747B}
.n2-as-sc small,.n2-as-nx small{font-size:12px;color:#9AA0A7}
.n2-as-nx{display:grid;gap:3px}
.n2-as-nx b{font-family:var(--n2-fd);font-weight:800;font-size:18px;text-transform:uppercase;line-height:1.1}
.n2-as .n2-hbar{margin-top:clamp(26px,4vh,44px)}

/* NAIA — the wide wordmark sits upper-left; the title reads beside it across a chrome rule */
.n2-as.is-naia .n2-as-id{grid-template-columns:auto minmax(0,1fr)}
.n2-as.is-naia .n2-as-plate{width:clamp(260px,26vw,380px);padding:clamp(22px,2.4vw,34px) clamp(24px,2.6vw,38px);border-radius:2px}
.n2-as.is-naia .n2-as-t{padding-left:clamp(22px,3vw,48px);border-left:1px solid rgba(214,220,226,.22)}
.n2-as.is-naia .n2-as-h{font-size:clamp(96px,12vw,190px)}
.n2-as.is-naia.no-logo .n2-as-id{grid-template-columns:minmax(0,1fr)}
.n2-as.is-naia.no-logo .n2-as-t{padding-left:0;border-left:0}

/* JUCO — the NJCAA shield is a tall medallion with a blue bloom from the mark itself; JUCO + the institution count lead */
.n2-as.is-juco .n2-as-id{grid-template-columns:auto minmax(0,1fr)}
.n2-as.is-juco .n2-as-plate{width:clamp(220px,20vw,300px);padding:clamp(24px,2.6vw,36px) clamp(26px,2.8vw,40px);border-radius:2px}
.n2-as.is-juco .n2-as-plate img{width:100%}
.n2-as.is-juco .n2-as-h{font-size:clamp(96px,12vw,190px)}
.n2-as.is-juco .n2-as-big{padding-top:16px;border-top:1px solid rgba(214,220,226,.18)}
.n2-as.is-juco .n2-field::after{content:"";position:absolute;left:0;right:0;top:48%;height:2px;background:color-mix(in srgb,var(--n2-ctx) 60%,#fff 10%);opacity:.4;box-shadow:0 0 22px 2px color-mix(in srgb,var(--n2-ctx) 50%,transparent)}

@media (max-width:1100px){
  .n2-as-g{grid-template-columns:minmax(0,1fr)}
  .n2-as-live{max-width:560px}
}
@media (max-width:767px){
  .n2-as{min-height:0}
  .n2-as .n2-mast-w{padding-top:32px}
  .n2-as.is-naia .n2-as-id,.n2-as.is-juco .n2-as-id{grid-template-columns:minmax(0,1fr);gap:22px}
  .n2-as.is-naia .n2-as-plate{width:min(250px,72vw);padding:18px 20px}
  .n2-as.is-juco .n2-as-plate{width:min(200px,54vw);padding:18px 20px}
  .n2-as.is-naia .n2-as-t{padding-left:0;border-left:0}
  .n2-as.is-naia .n2-as-h,.n2-as.is-juco .n2-as-h{font-size:88px}
  .n2-as-net{font-size:16px;letter-spacing:.26em}
  .n2-as-big b{font-size:34px}
}
/* =====================================================================
   1.0.2 GLOBAL POLISH
   A · one-colour primary titles   B · the GAME UNIT system   C · timeline grouping
   ===================================================================== */

/* ---------- A · titles: dark/graphite → 100% white · light/white/silver → 100% near-black ---------- */
.n2 .n2-h2 em,.n2 .n2-title em,.n2 h1 em,.n2 h2 em{color:inherit !important;-webkit-text-fill-color:currentColor !important;-webkit-text-stroke:0 !important;font-style:normal}
.n2-lt .n2-h2,.n2-pp .n2-h2,.n2-sv .n2-h2,.n2-rail .n2-h2{color:#0B0C0E}
.n2-dk .n2-h2,.n2-gr .n2-h2{color:#FFFFFF}
.n2 .n2-title{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#FFFFFF;-webkit-text-fill-color:#FFFFFF;filter:drop-shadow(0 8px 30px rgba(0,0,0,.55))}
.n2-sb-l h2,.n2-tl-day b,.n2-nw-lead h2,.n2-newsm-t{color:#0B0C0E}
/* metallic silver stays on eyebrows, labels and rules — a thin chrome rule under each section title */
.n2-hd>div:first-child::after{content:"";display:block;width:64px;height:2px;margin-top:14px;background:linear-gradient(90deg,#6B7178,#E4E8EB,#8E949B)}
.n2-lt .n2-hd>div:first-child::after,.n2-pp .n2-hd>div:first-child::after,.n2-sv .n2-hd>div:first-child::after{background:linear-gradient(90deg,#0B0C0E,#8E949B)}

/* ---------- B · GAME UNIT ---------- */
/* one game = one unit; teams sit 5px apart inside it; 10px falls between units */
.n2 .n2-board-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px;margin-top:16px;padding-top:16px;border-top:2px solid var(--n2-ink)}
.n2-dk .n2-board-g,.n2-gr .n2-board-g{border-top-color:#E4E8EB}
.n2 .n2-board-g.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.n2 .n2-board-g.is-1{grid-template-columns:minmax(0,1fr);border-top:0;padding-top:12px;margin-top:0;gap:8px}
.n2-gu{--gu-acc:#B4BAC0;--gu-bg:#FFFFFF;--gu-bg2:#F6F7F8;--gu-rule:rgba(11,12,14,.11);--gu-rule2:rgba(11,12,14,.16);--gu-ink:#0B0C0E;--gu-mute:#666C74;--gu-lost:#8A9097;
  position:relative;display:grid;gap:7px;padding:13px 16px 11px 18px;background:var(--gu-bg);color:var(--gu-ink);border-top:1px solid var(--gu-rule);border-bottom:1px solid var(--gu-rule2);min-width:0;
  transition:transform .2s var(--n2-ease),box-shadow .2s,background .2s}
/* row striping (white / soft silver by row, not a checkerboard) */
.n2-board-g>.n2-gu:nth-child(6n+4),.n2-board-g>.n2-gu:nth-child(6n+5),.n2-board-g>.n2-gu:nth-child(6n+6){background:var(--gu-bg2)}
.n2-board-g.is-2>.n2-gu:nth-child(n){background:var(--gu-bg)}
.n2-board-g.is-2>.n2-gu:nth-child(4n+3),.n2-board-g.is-2>.n2-gu:nth-child(4n+4){background:var(--gu-bg2)}
.n2-board-g.is-1>.n2-gu:nth-child(n){background:var(--gu-bg)}
.n2-board-g.is-1>.n2-gu:nth-child(even){background:var(--gu-bg2)}
.n2-tl-l .n2-tli:nth-of-type(even)>.n2-gu{background:var(--gu-bg2)}
.n2-gu::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:3px;background:var(--gu-acc)}
a.n2-gu:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(11,12,14,.10);z-index:1}
/* status marker colours (no neon) */
.n2-gu.is-live{--gu-acc:var(--n2-live)}
.n2-gu.is-final{--gu-acc:#0B0C0E}
.n2-gu.is-upcoming{--gu-acc:#B4BAC0}
.n2-gu.is-postponed{--gu-acc:var(--n2-post)}
.n2-gu.is-canceled{--gu-acc:#D3D7DB}
.n2-gu.is-pending,.n2-gu.is-unreported{--gu-acc:repeating-linear-gradient(180deg,#8E949B 0 4px,transparent 4px 8px)}
/* dark variant (graphite, subtle alternation, inset highlight) */
.n2-dk .n2-gu,.n2-gr .n2-gu,.n2-gu.is-featured{--gu-bg:#111316;--gu-bg2:#17191C;--gu-rule:rgba(214,220,226,.07);--gu-rule2:rgba(214,220,226,.10);--gu-ink:#F4F5F6;--gu-mute:#8E949B;--gu-lost:#6E747B;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.n2-dk .n2-gu.is-final,.n2-gr .n2-gu.is-final,.n2-gu.is-featured.is-final{--gu-acc:#E4E8EB}
.n2-dk .n2-gu.is-upcoming,.n2-gr .n2-gu.is-upcoming,.n2-gu.is-featured.is-upcoming{--gu-acc:#5B6168}
.n2-dk a.n2-gu:hover,.n2-gr a.n2-gu:hover,a.n2-gu.is-featured:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 22px rgba(0,0,0,.4);filter:brightness(1.08)}
/* line 1 · status / time + sport · class */
.n2-gu-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;line-height:1}
.n2-gu .n2-st{font-size:11.5px}
.n2-gu .n2-st.is-upcoming{font-size:13px;letter-spacing:.05em}
.n2-gu .n2-st.is-final{padding:3px 6px 2px}
.n2-dk .n2-gu .n2-st.is-final,.n2-gr .n2-gu .n2-st.is-final,.n2-gu.is-featured .n2-st.is-final{background:#E4E8EB;color:#0B0C0E}
.n2-gu-m{font-family:var(--n2-fd);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gu-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;text-align:right;margin-left:auto}
/* lines 2–3 · the two teams, tight */
.n2-gu-t{display:grid;gap:5px}
.n2-gu-l{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0}
.n2 .n2-gu-l .n2-mk{width:24px;height:24px;font-size:10px}
.n2-gu-n{display:flex;align-items:baseline;gap:7px;min-width:0}
.n2-gu-n b{font-family:var(--n2-fd);font-weight:800;font-size:18px;line-height:1.05;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.n2-gu-n small{font-family:var(--n2-fd);font-weight:700;font-size:12px;letter-spacing:.06em;color:var(--gu-mute);flex:0 0 auto}
.n2-gu-rk{font-style:normal;font-family:var(--n2-fd);font-weight:800;font-size:12px;letter-spacing:.02em;color:var(--gu-mute);flex:0 0 auto;min-width:12px}
.n2-gu-sc{font-family:var(--n2-fd);font-weight:800;font-size:24px;line-height:1;font-variant-numeric:tabular-nums;text-align:right;min-width:30px}
.n2-gu-l.is-l .n2-gu-n b,.n2-gu-l.is-l .n2-gu-sc{color:var(--gu-lost)}
.n2-gu-l.is-w .n2-gu-sc{position:relative}
.n2-gu-l.is-w .n2-gu-sc::after{content:"";position:absolute;right:-9px;top:50%;margin-top:-4px;border:4px solid transparent;border-right-color:var(--gu-ink)}
.n2-gu.is-canceled .n2-gu-n b{text-decoration:line-through;text-decoration-thickness:1px;color:var(--gu-mute)}
/* line 4 · why / place · Game Center (muted, never competing with teams or scores) */
.n2-gu-why{font-family:var(--n2-fd);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#C9CED3;padding-top:2px}
.n2-gu-ft{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:var(--gu-mute);line-height:1.2;min-width:0;padding-top:1px}
.n2-gu-ft>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.n2-gu-go{font-family:var(--n2-fd);font-weight:700;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;opacity:.75;flex:0 0 auto}
.n2-gu-go::after{content:" \2192"}
a.n2-gu:hover .n2-gu-go{opacity:1}
/* compact */
.n2-gu.is-compact{padding:10px 14px 9px 16px;gap:6px}
.n2-gu.is-compact .n2-gu-n b{font-size:16px}
.n2-gu.is-compact .n2-gu-sc{font-size:20px}
.n2 .n2-gu.is-compact .n2-gu-l .n2-mk{width:20px;height:20px;font-size:9px}
.n2-gu.is-compact .n2-gu-l{grid-template-columns:20px minmax(0,1fr) auto;gap:9px}
/* featured: the dark broadcast unit that breaks the table */
.n2-gu.is-featured{padding:16px 20px 14px 22px;gap:9px;background:radial-gradient(120% 140% at 0% 0%,#1D2125 0%,#111316 60%,#0C0D0F 100%);border-top:1px solid rgba(214,220,226,.22)}
.n2-gu.is-featured::after{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--n2-chrome)}
.n2-gu.is-featured .n2-gu-t{gap:7px}
.n2-gu.is-featured .n2-gu-l{grid-template-columns:36px minmax(0,1fr) auto;gap:12px}
.n2 .n2-gu.is-featured .n2-gu-l .n2-mk{width:36px;height:36px;font-size:13px}
.n2-gu.is-featured .n2-gu-n b{font-size:22px}
.n2-gu.is-featured .n2-gu-sc{font-size:34px}
.n2-gu.is-featured .n2-gu-rk{font-size:13px;color:#C9CED3}
/* featured groups */
.n2-feat-g{gap:12px 16px}
.n2-gw-side{gap:10px}
.n2-gw-side .n2-gu{margin:0}
.n2-gwn .n2-gu{margin-top:2px}

/* The Board columns now hold compact units */
.n2-brd-c .n2-board-g.is-1{padding-top:12px}

/* ---------- C · timeline: time + node, then ONE game unit, then breathing room ---------- */
.n2-tl-l::before{left:83px;top:0;bottom:0;background:linear-gradient(180deg,var(--n2-rule2),var(--n2-rule2))}
.n2-tli{display:grid;grid-template-columns:72px 22px minmax(0,1fr);grid-template-areas:"t n g";align-items:start;column-gap:0;padding:0;margin-bottom:12px;background:none}
a.n2-tli:hover{background:none}
.n2-tli-t{grid-area:t;padding-top:13px}
.n2-tli-node{grid-area:n;margin-top:17px;background:#fff}
.n2-tli>.n2-gu{grid-area:g;margin-left:12px;max-width:760px}
.n2-tli-t.is-same b,.n2-tli-t.is-same i{opacity:.32}

/* ---------- responsive ---------- */
@media (max-width:1100px){ .n2 .n2-board-g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .n2-board-g>.n2-gu:nth-child(n){background:var(--gu-bg)} .n2-board-g>.n2-gu:nth-child(4n+3),.n2-board-g>.n2-gu:nth-child(4n+4){background:var(--gu-bg2)} }
@media (max-width:767px){
  .n2 .n2-board-g,.n2 .n2-board-g.is-2{grid-template-columns:minmax(0,1fr);gap:8px}
  .n2-board-g>.n2-gu:nth-child(n){background:var(--gu-bg)} .n2-board-g>.n2-gu:nth-child(even){background:var(--gu-bg2)}
  .n2-gu{padding:10px 12px 9px 15px;gap:6px}
  .n2-gu-t{gap:4px}
  .n2-gu-ft:has(>span:first-child:empty){display:none}
  .n2-gu-top{position:relative}
  a.n2-gu .n2-gu-top::after{content:"\2192";font-size:12px;color:var(--gu-mute);margin-left:6px}
  a.n2-gu:has(.n2-gu-ft>span:first-child:not(:empty)) .n2-gu-top::after{content:none}
  .n2-gu-n b{font-size:17px}
  .n2-gu-sc{font-size:22px}
  .n2-gu.is-featured .n2-gu-n b{font-size:19px}
  .n2-gu.is-featured .n2-gu-sc{font-size:28px}
  .n2-tli{grid-template-columns:54px 18px minmax(0,1fr);margin-bottom:10px}
  .n2-tl-l::before{left:62px}
  .n2-tli>.n2-gu{margin-left:8px}
  .n2-tli-t b{font-size:16px}
}

/* ---------- 1.0.3 · restrained loading state for secondary sections ---------- */
.n2-pend{display:grid;gap:12px;padding:4px 0 6px}
.n2-pend .n2-k{color:var(--n2-ink3);font-size:11px}
.n2-dk .n2-pend .n2-k,.n2-gr .n2-pend .n2-k{color:var(--n2-t3)}
.n2-pend-r{display:block;height:2px;width:100%;background:linear-gradient(90deg,transparent 0%,rgba(142,148,155,.55) 50%,transparent 100%);background-size:40% 100%;background-repeat:no-repeat;animation:n2pend 1.4s ease-in-out infinite}
.n2-pend-rows{display:grid;gap:8px;max-width:820px}
.n2-pend-rows .n2-sk{height:44px;margin:0}
@keyframes n2pend{0%{background-position:-40% 0}100%{background-position:140% 0}}
@media (prefers-reduced-motion:reduce){.n2-pend-r{animation:none;background:rgba(142,148,155,.35)}}

/* ---------- 1.0.3 · schedule density: tighter timeline units, no redundant footer line ---------- */
.n2-gu.is-tl{padding:9px 14px 8px 16px;gap:5px}
.n2-gu.is-tl .n2-gu-t{gap:4px}
.n2-gu.is-tl .n2-gu-ft:has(>span:first-child:empty){display:none}
a.n2-gu.is-tl:not(:has(.n2-gu-ft>span:first-child:not(:empty))) .n2-gu-top::after{content:"\2192";font-size:12px;color:var(--gu-mute);margin-left:8px}
.n2-tli{margin-bottom:10px}
.n2-tli-t{padding-top:10px}
.n2-tli-node{margin-top:14px}

/* ---------- 1.0.3 · mobile: long team names wrap to two lines instead of truncating ---------- */
@media (max-width:767px){
  .n2-gu-n{align-items:flex-start}
  .n2-gu-n b{white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.05}
  .n2-gu-rk,.n2-gu-n small{padding-top:3px}
}

/* =====================================================================
   1.0.7 · COMPOSITION POLISH — continuous tonal composition
   One near-black environment per route. Dark sections share it (no full-width background change between them;
   a thin metallic rule + spacing marks the turn). Light content is an elevated off-white SHEET inside that
   environment, and consecutive light sections join into one sheet. Heroes, rails and figure bars resolve into
   the same base colour, so there is no black → charcoal banding.
   ===================================================================== */
html.n2-on{--n2-base:#08090A;--n2-sheet-x:max(clamp(8px,1.1vw,16px),calc((100% - var(--n2-max)) / 2));--n2-sheet-y:clamp(8px,1vw,14px)}
.n2{background:var(--n2-base)}

/* ---------- 1 · heroes resolve into the page base (no banding) ---------- */
.n2-mast,.n2-stage{background:var(--n2-base)}
.n2-stage-z::before{background:
   radial-gradient(36% 30% at 12% 4%,rgba(235,242,255,.26) 0%,rgba(235,242,255,.07) 38%,rgba(235,242,255,0) 70%),
   radial-gradient(36% 30% at 88% 2%,rgba(235,242,255,.22) 0%,rgba(235,242,255,.06) 38%,rgba(235,242,255,0) 70%),
   radial-gradient(58% 42% at 50% 108%,color-mix(in srgb,var(--n2-ctx) 20%,transparent) 0%,transparent 72%),
   radial-gradient(90% 70% at 50% 40%,#15181C 0%,#0C0D0F 60%,#08090A 100%)}
.n2-field{background:repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 2px,transparent 2px 9%),linear-gradient(180deg,rgba(18,21,24,0) 0%,rgba(26,29,33,.7) 45%,rgba(20,23,26,.6) 100%);opacity:.7}
.n2-vig{background:radial-gradient(120% 90% at 50% 40%,transparent 50%,rgba(8,9,10,.6) 100%),linear-gradient(180deg,rgba(8,9,10,.5) 0%,rgba(8,9,10,0) 22%,rgba(8,9,10,0) 50%,#08090A 100%)}
.n2-stage.has-photo .n2-vig{background:radial-gradient(120% 90% at 50% 45%,transparent 40%,rgba(8,9,10,.7) 100%),linear-gradient(90deg,rgba(8,9,10,.88) 0%,rgba(8,9,10,.45) 50%,rgba(8,9,10,.7) 100%),linear-gradient(180deg,rgba(8,9,10,.5) 0%,rgba(8,9,10,0) 30%,#08090A 100%)}
/* a stage inside a section (Game of the Week, Watch status …) fades in and out — its lighting never starts at a hard edge */
.n2-sec>.n2-stage{-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 24%,#000 76%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 24%,#000 76%,transparent 100%)}
/* figure bar: rules only — a tinted, blurred strip read as a second background */
.n2-hbar{background:none;backdrop-filter:none;-webkit-backdrop-filter:none}

/* ---------- 2 · hero height audit ---------- */
.n2-mast.is-xl{min-height:clamp(520px,68vh,680px)}
.n2-mast.is-md{min-height:clamp(340px,44vh,440px)}
.n2-crumb{margin-bottom:clamp(18px,3.2vh,34px)}
.n2-mast-w{padding-top:clamp(28px,4vh,48px)}

/* ---------- 3 · dark sections: one environment ---------- */
.n2-sec.n2-dk{background:transparent}
.n2-sec.n2-gr{background:radial-gradient(42% 36% at 84% 42%,rgba(150,160,172,.055) 0%,rgba(150,160,172,0) 100%)}
.n2-sec:is(.n2-dk,.n2-gr)+.n2-sec:is(.n2-dk,.n2-gr){padding-top:var(--n2-sp-s)}
.n2-sec:is(.n2-dk,.n2-gr):has(+.n2-sec:is(.n2-dk,.n2-gr)){padding-bottom:var(--n2-sp-s)}
/* the turn between two dark sections: a thin metallic rule on the content measure */
.n2-sec:is(.n2-dk,.n2-gr)+.n2-sec:is(.n2-dk,.n2-gr)::after{content:"";position:absolute;top:0;height:1px;z-index:4;pointer-events:none;
  left:max(var(--n2-gut),calc((100% - var(--n2-max)) / 2 + var(--n2-gut)));right:max(var(--n2-gut),calc((100% - var(--n2-max)) / 2 + var(--n2-gut)));
  background:linear-gradient(90deg,rgba(214,220,226,.34) 0%,rgba(214,220,226,.16) 55%,rgba(214,220,226,0) 100%)}
.n2-sec+hr.n2-chrome,hr.n2-chrome+.n2-sec{margin-top:0}

/* ---------- 4 · light content = elevated sheets inside the environment ---------- */
.n2-sec:is(.n2-lt,.n2-pp,.n2-sv){background:transparent;padding:var(--n2-sheet-y) var(--n2-sheet-x)}
.n2-sec:is(.n2-lt,.n2-pp,.n2-sv)>.n2-w{max-width:none;padding-top:clamp(40px,4.6vw,76px);padding-bottom:clamp(44px,5vw,80px);border-radius:3px;
  box-shadow:0 1px 0 rgba(255,255,255,.07),0 28px 70px rgba(0,0,0,.5)}
.n2-sec.n2-lt>.n2-w{background:var(--n2-lt)}
.n2-sec.n2-pp>.n2-w{background:var(--n2-pp)}
.n2-sec.n2-sv>.n2-w{background:linear-gradient(180deg,#F4F5F7 0%,#E1E4E7 100%)}
/* consecutive light sections join into ONE sheet; the tone step + a hairline carry the turn */
.n2-sec:is(.n2-lt,.n2-pp,.n2-sv)+.n2-sec:is(.n2-lt,.n2-pp,.n2-sv){padding-top:0}
.n2-sec:is(.n2-lt,.n2-pp,.n2-sv):has(+.n2-sec:is(.n2-lt,.n2-pp,.n2-sv)){padding-bottom:0}
.n2-sec:is(.n2-lt,.n2-pp,.n2-sv):has(+.n2-sec:is(.n2-lt,.n2-pp,.n2-sv))>.n2-w{border-bottom-left-radius:0;border-bottom-right-radius:0}
.n2-sec:is(.n2-lt,.n2-pp,.n2-sv)+.n2-sec:is(.n2-lt,.n2-pp,.n2-sv)>.n2-w{border-top-left-radius:0;border-top-right-radius:0;box-shadow:inset 0 1px 0 rgba(11,12,14,.08)}
/* the space around a sheet belongs to the dark environment: a sheet after a dark section sits closer to it */
.n2-sec:is(.n2-dk,.n2-gr)+.n2-sec:is(.n2-lt,.n2-pp,.n2-sv){padding-top:clamp(8px,1vw,14px)}
.n2-mast+.n2-sec:is(.n2-lt,.n2-pp,.n2-sv),.n2-rail+.n2-sec:is(.n2-lt,.n2-pp,.n2-sv){padding-top:clamp(14px,1.6vw,24px)}

/* ---------- 5 · control rails continue the masthead (dark, flush, chrome rule) ---------- */
.n2-rail{background:rgba(8,9,10,.9);color:var(--n2-t1);border-bottom:1px solid var(--n2-ln)}
.n2-rail::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--n2-chrome);opacity:.55;pointer-events:none}
.n2-rail .n2-rail-k{color:#7B8189}
.n2 .n2-rail .n2-tab{color:var(--n2-t3)}
.n2 .n2-rail .n2-tab:hover,.n2 .n2-rail .n2-tab.is-on{color:#fff}
.n2-rail .n2-tabs-ink{color:#fff;box-shadow:0 0 12px rgba(255,255,255,.3)}
.n2-rail .n2-dates{border-bottom-color:var(--n2-ln)}
.n2 .n2-rail .n2-dn{color:var(--n2-t3)}
.n2 .n2-rail .n2-dn:hover{color:#fff}
.n2 .n2-rail .n2-dd{color:#7B8189}
.n2 .n2-rail .n2-dd:hover,.n2 .n2-rail .n2-dd.is-on,.n2 .n2-rail .n2-dd.is-today small{color:#fff}
.n2 .n2-rail .n2-dd.is-on::after{background:#fff}
.n2 .n2-rail .n2-dtoday{box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);color:#fff}
.n2-rail .n2-wklab{color:#fff}
.n2-rail .n2-sel select{color:#fff;border-bottom-color:var(--n2-ln2)}
.n2-rail .n2-sel select option{color:#0B0C0E}
.n2-rail .n2-h2{color:#fff}

/* ---------- 6 · rankings masthead (tight editorial) ---------- */
.n2-rk-hero .n2-mast-w{padding-top:clamp(30px,4vw,58px);padding-bottom:clamp(26px,3vw,42px)}
.n2-rk-hero .n2-crumb{margin-bottom:clamp(14px,1.8vw,22px)}
.n2-rk-hero .n2-mast-g{grid-template-columns:minmax(0,1fr) minmax(0,400px);align-items:end}
.n2 .n2-rk-hero .n2-title.n2-rk-t{font-size:clamp(48px,6.6vw,106px);line-height:.88;max-width:none}
.n2-rk-ctx{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-top:16px;font-family:var(--n2-fd);font-weight:700;font-size:clamp(17px,1.5vw,21px);letter-spacing:.1em;text-transform:uppercase;color:#C9CED3}
.n2-rk-ctx b{color:#fff;font-weight:800}
.n2-rk-ctx i{font-style:normal;color:#5B6168}
.n2-rk-hero .n2-upd{padding-top:14px;gap:6px}
.n2-rk-hero .n2-upd>b{font-size:clamp(26px,2.4vw,36px)}
/* the 25: smaller, cropped by the right edge, pushed back */
.n2-rk-hero .n2-wm{font-size:clamp(240px,28vw,420px);left:auto;right:-4.5%;top:56%;transform:translateY(-50%);-webkit-text-stroke:1px rgba(214,220,226,.07)}
/* rail flush under the masthead: same base, chrome rule, no hard cut */
.n2-rk-r{border-bottom:1px solid var(--n2-ln)}
.n2 .n2-rk-r .n2-rk-st{border-right-color:var(--n2-ln)}
.n2-rk-r .n2-rk-st i{color:var(--n2-t3)}
.n2-rk-r .n2-rk-st .n2-rail-k{color:#7B8189}
.n2-pg-rankings .n2-rkp-s{padding-top:clamp(14px,1.6vw,24px)}

/* ---------- 7 · association heroes: the official mark is the identity ---------- */
.n2-as{min-height:0}
.n2-as .n2-mast-w{padding-top:clamp(26px,3vw,40px)}
.n2-as .n2-crumb{margin-bottom:clamp(16px,1.8vw,24px)}
.n2-as-g{grid-template-columns:minmax(0,1fr) minmax(0,400px);align-items:stretch}
.n2-as-id{align-items:center}
.n2 .n2-as-h{font-family:var(--n2-fd);font-weight:800;font-size:clamp(40px,4.4vw,68px);line-height:.9;letter-spacing:.01em;text-transform:uppercase;color:#fff;margin:10px 0 0;text-wrap:balance}
.n2-as-big{margin-top:14px;align-items:baseline}
.n2-as-big b{font-size:clamp(34px,3.2vw,48px)}
.n2-as-big span{color:#C9CED3}
.n2-as-big small{flex-basis:100%;font-family:var(--n2-fd);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#7B8189}
.n2-as.is-juco .n2-as-big{padding-top:0;border-top:0}
.n2-as .n2-mast-sub{margin-top:14px;max-width:520px}
.n2-as.is-naia .n2-as-plate{width:clamp(280px,27vw,400px)}
.n2-as.is-juco .n2-as-plate{width:clamp(220px,19vw,290px)}
.n2-as.is-naia .n2-as-h,.n2-as.is-juco .n2-as-h{font-size:clamp(40px,4.4vw,68px)}
/* right now: an elevated panel, not a footnote */
.n2-as-live{align-self:stretch;border-top:0;padding:18px 22px 8px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));box-shadow:inset 0 0 0 1px rgba(214,220,226,.12),inset 0 2px 0 rgba(228,232,235,.7)}
.n2-as-lk{color:#C9CED3;margin-bottom:2px}
.n2-as-li:last-child{border-bottom:0}
.n2-as .n2-hbar{margin-top:clamp(20px,2.4vw,30px)}

/* ---------- 8 · phones ---------- */
@media (max-width:1100px){
  .n2-rk-hero .n2-mast-g,.n2-as-g{grid-template-columns:minmax(0,1fr)}
  .n2-rk-hero .n2-upd{max-width:520px}
}
@media (max-width:767px){
  .n2-mast.is-xl,.n2-mast.is-md{min-height:0}
  .n2-sec:is(.n2-lt,.n2-pp,.n2-sv)>.n2-w{padding-top:36px;padding-bottom:40px;border-radius:2px}
  .n2 .n2-rk-hero .n2-title.n2-rk-t{font-size:clamp(40px,12vw,56px);max-width:none}
  .n2-rk-ctx{font-size:15px;margin-top:12px}
  .n2-rk-hero .n2-wm{font-size:220px;right:-14%;top:40%}
  .n2-rk-hero .n2-mast-w{padding-top:22px}
  .n2 .n2-as-h,.n2-as.is-naia .n2-as-h,.n2-as.is-juco .n2-as-h{font-size:clamp(34px,10vw,46px)}
  .n2-as-live{padding:14px 16px 4px}
}

/* ---------- 9 · 1.0.8 coverage context (thin routes stay a live product) ---------- */
.n2-ctx .n2-k{color:#9AA0A7}
.n2-ctx-g:empty,.n2-ctx-gw:empty,.n2-ctx-s:empty{display:none}
.n2-ctx-g,.n2-ctx-gw,.n2-ctx-s{margin-top:clamp(18px,2.4vw,30px)}
.n2-ctx-hl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(20px,3vw,44px);border-top:1px solid var(--n2-ln2)}
.n2-ctx-hl>.n2-k{grid-column:1 / -1;padding:12px 0 4px}
.n2 .n2-ctx-hi{display:grid;gap:6px;padding:14px 0 16px;border-bottom:1px solid var(--n2-ln);min-width:0}
.n2-ctx-hi .n2-nr-meta b{color:#9AA0A7;font-family:var(--n2-fd);font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.n2-ctx-hi h3{margin:0;font-family:var(--n2-fd);font-weight:800;font-size:clamp(18px,1.6vw,22px);line-height:1.08;text-transform:uppercase;color:#fff;text-wrap:balance}
.n2 a.n2-ctx-hi:hover h3{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.n2-ctx-gwb{display:grid;gap:10px}
.n2-ctx-s>.n2-k{display:block;margin-bottom:12px}
.n2-ctx .n2-wall-i b{color:#fff}
.n2-ctx .n2-wall-i small{color:#9AA0A7}
.n2-ctx-l{margin-top:clamp(20px,2.6vw,32px)}
@media (max-width:767px){ .n2-ctx-hl{grid-template-columns:minmax(0,1fr)} }
.n2-ctx .n2-wall{border-top-color:var(--n2-ln2);border-left-color:var(--n2-ln)}
.n2-ctx .n2-wall-i{border-right-color:var(--n2-ln);border-bottom-color:var(--n2-ln)}
.n2-ctx .n2-wall-i:hover{background:rgba(255,255,255,.04)}

/* ---------- 10 · 1.0.9 athletes / events coverage pages ---------- */
.n2-ath-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--n2-ln2);border-left:1px solid var(--n2-ln)}
.n2 .n2-ath-i{display:grid;gap:6px;padding:16px 18px 18px;border-right:1px solid var(--n2-ln);border-bottom:1px solid var(--n2-ln);min-width:0;transition:background .2s}
.n2 a.n2-ath-i:hover{background:rgba(255,255,255,.04)}
.n2-ath-i b{font-family:var(--n2-fd);font-weight:800;font-size:19px;line-height:1.05;text-transform:uppercase;letter-spacing:.02em;color:#fff}
.n2-ath-i small{font-size:12px;color:#9AA0A7}
@media (max-width:1100px){ .n2-ath-g{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:767px){ .n2-ath-g{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* ---------- 11 · 1.0.9 Fan Zone is not a public product yet: no navigation entry points (route + code kept) ---------- */
html.n2-on a[data-route="fan-zone"],html.n2-on [data-nav="fan-zone"],html.n2-on .nx-more-m a[href*="/fan-zone"],html.n2-on .nx-sheet a[href*="/fan-zone"],html.n2-on .nx-ft a[href*="/fan-zone"],html.n2-on .npn-foot-col a[href*="fan-zone"]{display:none !important}
/* =====================================================================
   11 · TYPOGRAPHY SYSTEM (1.0.10) — one hierarchy for every route and the School V2 page.
   Two families, explicit roles:
     Barlow Condensed (--n2-fd) — display only: mastheads, school names, section titles, team/school names,
                                  scores, rank numerals, Game of the Week, broadcast statistics.
     Inter (--n2-fu)            — everything read or operated: body, descriptions, metadata, eyebrows,
                                  status labels, buttons, tabs, filters.
   Weights: 400 body · 500 metadata/UI · 600 labels, names, active UI · 700 section titles · 800 display, scores, ranks.
   900 is retired. Uppercase is kept for display titles, eyebrows, status and small category labels only.
   Loaded last; overrides earlier type rules by specificity (html.n2-on …). Layout, colour and markup are unchanged.
   ===================================================================== */
html.n2-on{
  /* size scale — display sizes are fluid, reading sizes are fixed per breakpoint */
  --ty-dxl:clamp(52px,8.6vw,140px);    /* DISPLAY XL · route mastheads, school name */
  --ty-dl:clamp(40px,5vw,76px);        /* DISPLAY L  · lead story, closing statements */
  --ty-h1:clamp(30px,3vw,44px);        /* H1 · feature heads (POTW names, rank leaders, empty states) */
  --ty-h2:clamp(28px,2.8vw,42px);      /* H2 · section title */
  --ty-h3:clamp(19px,1.45vw,22px);     /* H3 · condensed card / story title */
  --ty-h4:16.5px;                      /* H4 · Inter subsection + list headline */
  --ty-bl:clamp(17px,1.25vw,19px);     /* BODY L · decks, lead paragraphs */
  --ty-b:16px;                         /* BODY · descriptions, methodology */
  --ty-bs:14.5px;                      /* BODY S · card copy */
  --ty-meta:13px;                      /* metadata */
  --ty-cap:12.5px;                     /* CAPTION · venue, counts */
  --ty-label:11.5px;                   /* LABEL · eyebrows, status, small categories */
  /* athletic data */
  --ty-name:18px; --ty-name-s:16px; --ty-name-l:21px;     /* team / school names */
  --ty-score:26px; --ty-score-s:21px; --ty-score-l:34px;  /* scores */
  /* weights */
  --w-r:400; --w-m:500; --w-s:600; --w-b:700; --w-x:800;
  /* line height */
  --lh-d:.9; --lh-h:1.08; --lh-b:1.55; --lh-m:1.35;
  /* tracking */
  --ls-d:-.006em; --ls-c:.01em; --ls-l:.09em; --ls-ui:.05em;
  /* spacing scale (XS → XL) */
  --s-xs:6px; --s-s:12px; --s-m:20px; --s-l:32px; --s-xl:48px;
  /* sections breathe less: same rhythm, ~12% tighter at the top end */
  --n2-sp:clamp(52px,6vw,88px); --n2-sp-s:clamp(36px,4vw,56px);
}
@media (max-width:767px){
  html.n2-on{ --ty-b:15.5px; --ty-bs:14px; --ty-meta:12.5px; --ty-cap:12px; --ty-label:11px; --ty-h4:16px;
    --ty-name:17px; --ty-name-s:15.5px; --ty-name-l:19px; --ty-score:23px; --ty-score-s:20px; --ty-score-l:28px; }
}

/* ---------------------------------------------------------------------
   A · ROLE PRIMITIVES
   --------------------------------------------------------------------- */
/* eyebrow / small label — Inter, tracked, uppercase */
html.n2-on .n2 .n2-k, html.n2-on .sv2 .sv2-k{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:var(--ty-label);letter-spacing:var(--ls-l);line-height:1.3;text-transform:uppercase}
html.n2-on .n2 .n2-hbar .n2-k, html.n2-on .n2 .n2-rb-m .n2-k, html.n2-on .n2 .n2-pend .n2-k, html.n2-on .n2 .n2-as-li>.n2-k,
html.n2-on .sv2 .sv2-hbar .sv2-k, html.n2-on .sv2 .sv2-rb-m .sv2-k, html.n2-on .sv2 .sv2-tw-i .sv2-k, html.n2-on .sv2 .sv2-pn-h .sv2-k,
html.n2-on .sv2 .sv2-st .sv2-k, html.n2-on .sv2 .sv2-state .sv2-k, html.n2-on .sv2 .sv2-ex-sum .sv2-k, html.n2-on .sv2 .sv2-plc .sv2-k,
html.n2-on .sv2 .sv2-stb-h .sv2-k, html.n2-on .sv2 .sv2-ir-h .sv2-k, html.n2-on .sv2 .sv2-ir-i .sv2-k{font-size:11px}

/* page display — the masthead title stays the loudest thing on a route, at a size that leaves room for the page */
html.n2-on .n2 .n2-title{font-weight:var(--w-x);font-size:var(--ty-dxl);line-height:.86;letter-spacing:var(--ls-d)}
html.n2-on .n2 .n2-title.is-long{font-size:clamp(46px,7.2vw,112px)}
html.n2-on .n2 .n2-title.is-xlong{font-size:clamp(38px,5.6vw,88px);line-height:.9}
html.n2-on .n2 .n2-mast.is-md .n2-title{font-size:clamp(50px,7.4vw,112px)}
html.n2-on .n2 .n2-mast.is-sm .n2-title{font-size:clamp(46px,5.8vw,84px)}
html.n2-on .n2 .n2-mast-sub{font-size:var(--ty-b);line-height:var(--lh-b);max-width:60ch}
html.n2-on .n2 .n2-crumb{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:11.5px;letter-spacing:var(--ls-ui);line-height:1.3}
html.n2-on .n2 .n2-crumb b{font-weight:var(--w-s)}

/* section title — condensed 700 at a moderate size; it organises the page, it does not compete with the masthead */
html.n2-on .n2 .n2-h2, html.n2-on .sv2 .sv2-hd h2{font-weight:var(--w-b);font-size:var(--ty-h2);line-height:1;letter-spacing:.004em}
html.n2-on .sv2 .sv2-cc.is-thin .sv2-hd h2{font-size:clamp(26px,2.4vw,34px)}
html.n2-on .n2 .n2-sub, html.n2-on .sv2 .sv2-hd p{font-size:var(--ty-b);line-height:var(--lh-b);max-width:62ch}

/* heading block rhythm: eyebrow → title → description → rule, one spacing scale */
html.n2-on .n2 .n2-hd{margin-bottom:clamp(20px,2.4vw,32px)}
html.n2-on .n2 .n2-hd .n2-k{margin:0 0 var(--s-s)}
html.n2-on .n2 .n2-hd .n2-h2{margin:0}
html.n2-on .n2 .n2-hd .n2-sub{margin:var(--s-s) 0 0}
html.n2-on .n2 .n2-hd>div:first-child::after{margin-top:var(--s-m);width:56px;height:1px}
html.n2-on .n2 .n2-hd-r{align-self:flex-end}

/* links and CTAs — readable labels, not mini headlines */
html.n2-on .n2 .n2-more, html.n2-on .sv2 .sv2-go{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:12px;letter-spacing:var(--ls-ui);line-height:1.3}
html.n2-on .n2 .n2-more.is-static{font-size:11.5px}
html.n2-on .sv2 .sv2-rb .sv2-go, html.n2-on .sv2 .sv2-close .sv2-go{font-size:12px}
html.n2-on .n2 .n2-btn, html.n2-on .sv2 .sv2-btn{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:13px;letter-spacing:var(--ls-ui)}

/* tabs and filter rails — medium; the active tab is carried by colour and its rule, plus semibold */
html.n2-on .n2 .n2-tab{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:13px;letter-spacing:var(--ls-ui)}
html.n2-on .n2 .n2-tabs.is-sub .n2-tab{font-size:12.5px}
html.n2-on .n2 .n2-tab.is-on{font-weight:var(--w-s)}

/* empty states */
html.n2-on .n2 .n2-empty h3{font-weight:var(--w-b);font-size:clamp(24px,2.4vw,34px);line-height:1}
html.n2-on .n2 .n2-empty.is-compact h3{font-size:22px}
html.n2-on .n2 .n2-empty p{font-size:var(--ty-b);line-height:var(--lh-b);max-width:60ch}

/* ---------------------------------------------------------------------
   B · GAME UNIT — scores strongest, names semibold, status and metadata quiet
   --------------------------------------------------------------------- */
html.n2-on .n2 .n2-gu-n b{font-weight:var(--w-s);font-size:var(--ty-name);letter-spacing:var(--ls-c);text-transform:none;line-height:1.1}
html.n2-on .n2 .n2-gu.is-compact .n2-gu-n b{font-size:var(--ty-name-s)}
html.n2-on .n2 .n2-gu.is-featured .n2-gu-n b{font-size:var(--ty-name-l)}
html.n2-on .n2 .n2-gu-l.is-w .n2-gu-n b{font-weight:var(--w-b)}
html.n2-on .n2 .n2-gu-n small{font-family:var(--n2-fu);font-weight:var(--w-r);font-size:var(--ty-cap);letter-spacing:0}
html.n2-on .n2 .n2-gu-rk{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:11px;letter-spacing:0;font-variant-numeric:tabular-nums}
html.n2-on .n2 .n2-gu.is-featured .n2-gu-rk{font-size:12px}
html.n2-on .n2 .n2-gu-sc{font-weight:var(--w-x);font-size:var(--ty-score)}
html.n2-on .n2 .n2-gu.is-compact .n2-gu-sc{font-size:var(--ty-score-s)}
html.n2-on .n2 .n2-gu.is-featured .n2-gu-sc{font-size:var(--ty-score-l)}
html.n2-on .n2 .n2-gu-m{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:11px;letter-spacing:.06em;line-height:1.2}
html.n2-on .n2 .n2-st, html.n2-on .n2 .n2-gu .n2-st{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:11px;letter-spacing:.08em}
html.n2-on .n2 .n2-st.is-upcoming, html.n2-on .n2 .n2-gu .n2-st.is-upcoming{font-family:var(--n2-fd);font-weight:var(--w-s);font-size:15px;letter-spacing:.02em;font-variant-numeric:tabular-nums}
html.n2-on .n2 .n2-gu-ft{font-size:var(--ty-cap);line-height:1.3}
html.n2-on .n2 .n2-gu-go{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:10.5px;letter-spacing:.07em}
html.n2-on .n2 .n2-gu-why{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:11px;letter-spacing:.06em;line-height:1.4}
html.n2-on .n2 a.n2-gu.is-tl:not(:has(.n2-gu-ft>span:first-child:not(:empty))) .n2-gu-top::after{font-family:var(--n2-fu);font-size:11px}

/* calendar strip / day rail */
html.n2-on .n2 .n2-ev-r span{font-weight:var(--w-s);font-size:15px}
html.n2-on .n2 .n2-ev-r em{font-weight:var(--w-b)}
html.n2-on .n2 .n2-ev-h b{font-weight:var(--w-x);font-size:24px}

/* ---------------------------------------------------------------------
   C · RANKINGS — rank numeral strongest, team semibold, figures medium, reasons editorial
   --------------------------------------------------------------------- */
html.n2-on .n2 .n2-pt-r .n2-pn, html.n2-on .n2 .n2-rkr .n2-rkn, html.n2-on .n2 .n2-rkn{font-weight:var(--w-x)}
html.n2-on .n2 .n2-pt-r.is-h, html.n2-on .n2 .n2-stl-r.is-h{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:11px;letter-spacing:var(--ls-l)}
html.n2-on .n2 .n2-pt-tm b{font-weight:var(--w-s);font-size:19px;text-transform:none;letter-spacing:var(--ls-c)}
html.n2-on .n2 .n2-pt-tm small, html.n2-on .n2 .n2-rkx small, html.n2-on .n2 .n2-rkr .n2-rkx small{font-size:var(--ty-cap);letter-spacing:0}
html.n2-on .n2 .n2-pt-rec, html.n2-on .n2 .n2-pt-pw{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:15px}
html.n2-on .n2 .n2-pt-why{font-size:13px;line-height:1.45}
html.n2-on .n2 .n2-mv{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:11.5px;letter-spacing:.02em}
html.n2-on .n2 .n2-rkx b{font-weight:var(--w-b);font-size:clamp(21px,1.9vw,27px);text-transform:none;letter-spacing:var(--ls-c);line-height:1}
html.n2-on .n2 .n2-rkr .n2-rkx b{font-weight:var(--w-s);font-size:19px}
html.n2-on .n2 .n2-rkr .n2-rkp b{font-weight:var(--w-b)}
html.n2-on .n2 .n2-why li{font-family:var(--n2-fu);font-weight:var(--w-r);font-size:13.5px;letter-spacing:0;text-transform:none;line-height:1.45}
html.n2-on .n2 .n2-how-i h3{font-weight:var(--w-b);font-size:20px;text-transform:none;line-height:1.1}
html.n2-on .n2 .n2-how-i p{font-size:var(--ty-bs);line-height:var(--lh-b)}

/* ---------------------------------------------------------------------
   D · NEWS + HEADLINES — three prominence tiers: display / condensed title case / Inter
   --------------------------------------------------------------------- */
html.n2-on .n2 .n2-nw-lead h2{font-weight:var(--w-x);font-size:var(--ty-dl);line-height:.94;letter-spacing:var(--ls-d)}
html.n2-on .n2 .n2-nr-lead h3{font-weight:var(--w-x);font-size:clamp(34px,4vw,58px);line-height:.95;letter-spacing:var(--ls-d)}
html.n2-on .n2 .n2-nw-deck{font-size:var(--ty-bl);line-height:var(--lh-b);max-width:62ch}
html.n2-on .n2 .n2-nr-lead p{font-size:var(--ty-bl);line-height:var(--lh-b);max-width:62ch}
html.n2-on .n2 .n2-nw-s h3{font-weight:var(--w-b);font-size:clamp(24px,2.2vw,32px);line-height:1.02;text-transform:none}
html.n2-on .n2 .n2-nr-md h3{font-weight:var(--w-b);font-size:clamp(21px,1.8vw,26px);line-height:1.05;text-transform:none}
html.n2-on .n2 .n2-nw-s p, html.n2-on .n2 .n2-nr-md p{font-size:var(--ty-bs);line-height:var(--lh-b)}
html.n2-on .n2 .n2-nw-ri h3, html.n2-on .n2 .n2-nw-li h3, html.n2-on .n2 .n2-nr-sm h3, html.n2-on .n2 .n2-ctx-hi h3{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:var(--ty-h4);line-height:1.35;text-transform:none;letter-spacing:-.003em}
html.n2-on .n2 .n2-gch-l .n2-nr-sm p{font-size:13.5px}
html.n2-on .n2 .n2-nr-meta, html.n2-on .n2 .n2-art-k span, html.n2-on .n2 .n2-nw-li time{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:11px;letter-spacing:var(--ls-l)}
html.n2-on .n2 .n2-nr-meta b, html.n2-on .n2 .n2-ctx-hi .n2-nr-meta b{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:11px;letter-spacing:var(--ls-l)}
html.n2-on .n2 .n2-nw-rh{font-weight:var(--w-b);font-size:20px;letter-spacing:.03em}
html.n2-on .n2 .n2-nw-lh span{font-weight:var(--w-m)}
html.n2-on .n2 .n2-art-t span{font-weight:var(--w-b);font-size:24px;text-transform:none}

/* Players of the Week */
html.n2-on .n2 .n2-pw h3{font-weight:var(--w-b);font-size:clamp(24px,2.1vw,30px);line-height:1}
html.n2-on .n2 .n2-pw-sc{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:13px;letter-spacing:0;text-transform:none}
html.n2-on .n2 .n2-pw p{font-size:var(--ty-bs);line-height:var(--lh-b)}

/* ---------------------------------------------------------------------
   E · DIRECTORIES, WALLS, LISTS — names condensed semibold title case, details Inter
   --------------------------------------------------------------------- */
html.n2-on .n2 .n2-wall-i b{font-weight:var(--w-s);font-size:17px;text-transform:none;letter-spacing:var(--ls-c);line-height:1.1}
html.n2-on .n2 .n2-wall-i small, html.n2-on .n2 .n2-sblk-i small, html.n2-on .n2 .n2-stp-t small{font-size:var(--ty-cap);line-height:1.4}
html.n2-on .n2 .n2-sblk-i span, html.n2-on .n2 .n2-stp-t b, html.n2-on .n2 .n2-bl-x b{font-weight:var(--w-s);text-transform:none;letter-spacing:var(--ls-c)}
html.n2-on .n2 .n2-sblk-i b, html.n2-on .n2 .n2-stp-c, html.n2-on .n2 .n2-stl-n b{font-weight:var(--w-x)}
html.n2-on .n2 .n2-bl-x small{font-weight:var(--w-m);letter-spacing:0;text-transform:none;font-size:var(--ty-cap)}
html.n2-on .n2 .n2-stl-n span{font-weight:var(--w-s);text-transform:none}
html.n2-on .n2 .n2-stl-t, html.n2-on .n2 .n2-stl-go{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:11px;letter-spacing:var(--ls-l)}
html.n2-on .n2 .n2-stl-x{font-weight:var(--w-b)}
html.n2-on .n2 .n2-stp-h h2, html.n2-on .n2 .n2-sb-l h2{font-weight:var(--w-x)}
html.n2-on .n2 .n2-hbar b{font-weight:var(--w-x)}
html.n2-on .n2 .n2-hbar small, html.n2-on .n2 .n2-stl-s, html.n2-on .n2 .n2-pt-why, html.n2-on .n2 .n2-ev-r small, html.n2-on .n2 .n2-cmd-t small{font-size:var(--ty-cap)}

/* ---------------------------------------------------------------------
   F · SPONSORSHIP — tracked label → strong line → medium CTA (three distinct weights)
   --------------------------------------------------------------------- */
html.n2-on .n2 .n2-rb-c, html.n2-on .sv2 .sv2-rb-c{font-weight:var(--w-b);letter-spacing:.04em}
html.n2-on .n2 .n2-rb-m b, html.n2-on .sv2 .sv2-rb-m b{font-weight:var(--w-b);font-size:17px;letter-spacing:.04em}
html.n2-on .n2 .n2-lock-k{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:10px;letter-spacing:.12em}
html.n2-on .n2 .n2-lock b{font-weight:var(--w-b);font-size:14px;letter-spacing:.05em}
html.n2-on .n2 .n2-sb-l span{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:11px;letter-spacing:var(--ls-l)}
html.n2-on .n2 .n2-sb-sh h3{font-weight:var(--w-b);font-size:19px;letter-spacing:.03em}
html.n2-on .n2 .n2-sb-sh span{font-weight:var(--w-m)}

/* ---------------------------------------------------------------------
   G · SHELL — header, nav, More menu, mobile sheet, bottom nav, Pulse, search palette
   --------------------------------------------------------------------- */
html.n2-on .nx-nl, html.n2-on .nx .nx-more-b{font-weight:var(--w-s);font-size:15px;letter-spacing:.06em}
html.n2-on .nx-nav-c .nx-nl{font-weight:var(--w-m);font-size:14.5px}
html.n2-on .nx-more-m a, html.n2-on .nx-sheet-g a{font-weight:var(--w-s);letter-spacing:.05em}
html.n2-on .nx .nx-bn-i{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:10.5px;letter-spacing:.04em}
html.n2-on .nx-stb-n{font-weight:var(--w-x);letter-spacing:.05em}
html.n2-on .nx-stb-s{font-family:var(--n2-fu);font-weight:var(--w-m);letter-spacing:.06em}
html.n2-on .nx-hdr .nx-btn{font-family:var(--n2-fu);font-weight:var(--w-s);letter-spacing:.05em}
html.n2-on .nx-live{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:11px;letter-spacing:.06em}
html.n2-on .nx-pulse-k{font-weight:var(--w-x);letter-spacing:.06em}
html.n2-on .nx-pu-top{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:10px;letter-spacing:.06em}
html.n2-on .nx-pu .nx-bug-n{font-weight:var(--w-s)}
html.n2-on .nx-pu .nx-bug-p{font-weight:var(--w-x)}
html.n2-on .nx-pu-end b{font-weight:var(--w-x)}
html.n2-on .n2 .n2-cmd-t b{font-weight:var(--w-s);text-transform:none;letter-spacing:var(--ls-c)}
html.n2-on .n2 .n2-cmd-gh, html.n2-on .n2 .n2-cmd-go{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:11px;letter-spacing:var(--ls-l)}
html.n2-on .n2 .n2-cmd-scope button{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:12px;letter-spacing:var(--ls-ui)}
html.n2-on .n2 .n2-cmd-none b{font-weight:var(--w-b)}

/* ---------------------------------------------------------------------
   H · SCHOOL V2 — the name dominates; everything else steps down clearly
   --------------------------------------------------------------------- */
html.n2-on .sv2 .sv2-name{font-weight:var(--w-x);font-size:clamp(52px,8.4vw,136px);line-height:.86;letter-spacing:var(--ls-d)}
html.n2-on .sv2 .sv2-name.is-long{font-size:clamp(42px,6.2vw,98px);line-height:.9}
html.n2-on .sv2 .sv2-name.is-xlong{font-size:clamp(34px,4.8vw,74px);line-height:.92}
html.n2-on .sv2 .sv2-meta{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:14px;letter-spacing:.06em}
/* intelligence rail — compact UI */
html.n2-on .sv2 .sv2-ir-i b{font-weight:var(--w-b);font-size:clamp(20px,1.7vw,26px)}
html.n2-on .sv2 .sv2-ir-i small, html.n2-on .sv2 .sv2-ir-h small{font-size:var(--ty-cap);line-height:1.4}
/* sticky school nav */
html.n2-on .sv2 .sv2-nav button{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:12.5px;letter-spacing:var(--ls-ui)}
html.n2-on .sv2 .sv2-nav button.is-on{font-weight:var(--w-s)}
html.n2-on .sv2 .sv2-nav-id b{font-weight:var(--w-b);font-size:15px;letter-spacing:.04em}
/* game data */
html.n2-on .sv2 .sv2-op b{font-weight:var(--w-s);text-transform:none;letter-spacing:var(--ls-c)}
html.n2-on .sv2 .sv2-op b i{font-weight:var(--w-m)}
html.n2-on .sv2 .sv2-op small, html.n2-on .sv2 .sv2-fin-s small{font-size:var(--ty-cap)}
html.n2-on .sv2 .sv2-fin-s span{font-weight:var(--w-s);text-transform:none;letter-spacing:var(--ls-c)}
html.n2-on .sv2 .sv2-fin-s b, html.n2-on .sv2 .sv2-sb b{font-weight:var(--w-x)}
html.n2-on .sv2 .sv2-sb span{font-weight:var(--w-s);text-transform:none;letter-spacing:var(--ls-c)}
/* rankings + stories */
html.n2-on .sv2 .sv2-rk-r span, html.n2-on .sv2 .sv2-pr-r span{font-weight:var(--w-s);text-transform:none;letter-spacing:var(--ls-c)}
html.n2-on .sv2 .sv2-rk-r b, html.n2-on .sv2 .sv2-pr-r b, html.n2-on .sv2 .sv2-pr-f div b{font-weight:var(--w-x)}
html.n2-on .sv2 .sv2-pr-r em{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:12.5px}
html.n2-on .sv2 .sv2-pr-f div span{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:11px;letter-spacing:var(--ls-l)}
html.n2-on .sv2 .sv2-pr-n{font-weight:var(--w-x);font-size:clamp(110px,13vw,200px)}
html.n2-on .sv2 .sv2-pr-i h3{font-weight:var(--w-x);font-size:clamp(30px,3vw,44px)}
html.n2-on .sv2 .sv2-pr-i p, html.n2-on .sv2 .sv2-plus p, html.n2-on .sv2 .sv2-st p{font-size:var(--ty-bs);line-height:var(--lh-b);max-width:62ch}
html.n2-on .sv2 .sv2-st h4{font-weight:var(--w-b);font-size:clamp(20px,1.8vw,25px);text-transform:none;line-height:1.05}
html.n2-on .sv2 .sv2-st.is-sm h4{font-size:18px}
html.n2-on .sv2 .sv2-state h5{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:var(--ty-h4);line-height:1.35;letter-spacing:-.003em}
html.n2-on .sv2 .sv2-stb .sv2-state h5{font-size:15.5px}
html.n2-on .sv2 .sv2-stb-h h3{font-weight:var(--w-b);letter-spacing:.03em}
html.n2-on .sv2 .sv2-plus h2, html.n2-on .sv2 .sv2-close h2{font-weight:var(--w-x);font-size:clamp(32px,3.6vw,54px)}
html.n2-on .sv2 .sv2-plus li{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:15px;letter-spacing:0;text-transform:none}

/* ---------------------------------------------------------------------
   I · DETAIL — rules, radius, alignment
   --------------------------------------------------------------------- */
/* score and rank columns align on figures */
html.n2-on .n2 .n2-gu-sc, html.n2-on .n2 .n2-pt-rec, html.n2-on .n2 .n2-pt-pw, html.n2-on .n2 .n2-pn, html.n2-on .n2 .n2-rkn, html.n2-on .sv2 .sv2-fin-s b{font-variant-numeric:tabular-nums lining-nums}
/* CTA arrows keep a fixed gap from their label */
html.n2-on .n2 .n2-more::after, html.n2-on .sv2 .sv2-go::after{margin-left:2px}

/* ---------------------------------------------------------------------
   K · SECOND PASS — every remaining component mapped to a role
   --------------------------------------------------------------------- */
/* names → condensed semibold, title case */
html.n2-on .n2 :is(.n2-azi b,.n2-dir-rkr b,.n2-tli-t b,.n2-gcf-o b,.n2-no1-t b,.n2-as-nx b,.n2-tier-r b,.n2-bl-s b,.n2-rk3-i .n2-rkx b),
html.n2-on .sv2 :is(.sv2-up .sv2-tm b){font-weight:var(--w-s);text-transform:none;letter-spacing:var(--ls-c)}
html.n2-on .n2 .n2-ath-i b{font-weight:var(--w-s);text-transform:none;letter-spacing:var(--ls-c);font-size:18px}
/* small labels, tags, day names, definition terms → Inter label */
html.n2-on .n2 :is(.n2-gcf-d,.n2-dl dt,.n2-as-big span,.n2-as-big small,.n2-p3-f span,.n2-rkp span,.n2-tally span,.n2-rail-k,.n2-dd small,.n2-mu-top span,.n2-mu-top b,.n2-tier,.n2-upd-k,.n2-wklab,.n2-lvl-i span,.n2-mu-team small,.n2-art-k b,.n2-no1-c,.n2-dir-n span,.n2-rk-ctx span,.n2-tl-day span),
html.n2-on .sv2 :is(.sv2-dl dt,.sv2-snap span,.sv2-dt small,.sv2-tm small,.sv2-crumb b),
html.n2-on .n2-today{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:var(--ty-label);letter-spacing:var(--ls-l);line-height:1.3}
html.n2-on .n2 :is(.n2-dayx span,.n2-mast-r .n2-dayx span){font-family:var(--n2-fu);font-weight:var(--w-m);font-size:13px;letter-spacing:var(--ls-l)}
html.n2-on .n2 .n2-rk-ctx span{font-size:13px}
/* figures beside names → Inter medium */
html.n2-on .n2 :is(.n2-no1-pw,.n2-no1-rec,.n2-dir-rkr em){font-family:var(--n2-fu);font-weight:var(--w-m);font-size:15px;font-variant-numeric:tabular-nums}
/* definition values, stat values → condensed 700 */
html.n2-on .n2 .n2-dl dd, html.n2-on .sv2 .sv2-dl dd, html.n2-on .n2 .n2-as-sc span, html.n2-on .n2 .n2-dd b, html.n2-on .n2 .n2-wn-p span{font-weight:var(--w-b)}
/* buttons, pagers, toggles → Inter */
html.n2-on .nx-pgm, html.n2-on .n2 .nx-pgm, html.n2-on .n2 .n2-tog, html.n2-on .sv2 :is(.sv2-ex-p button,.sv2-pg button,.sv2-more){font-family:var(--n2-fu);font-weight:var(--w-s);font-size:12.5px;letter-spacing:var(--ls-ui)}
html.n2-on .n2 .n2-tog{font-weight:var(--w-m)}
/* Pulse lockup + go */
html.n2-on .nx-pulse-sp .nx-lock-v{font-weight:var(--w-s)}
html.n2-on .nx-pu-end .nx-go{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:10px;letter-spacing:.06em}
/* card / module heads that were display-weight → section voice */
html.n2-on .n2 :is(.n2-brd-h h3,.n2-dir-rkc h3,.n2-gcf-h b,.n2-sb-sh h3,.n2-nw-rh), html.n2-on .sv2 :is(.sv2-gm h3,.sv2-inf h3,.sv2-pg h3,.sv2-plc h4){font-weight:var(--w-b)}
html.n2-on .n2 .n2-sb-sh h3{text-transform:none}
/* School V2: weight 900 retired (display stays 800) */
html.n2-on .sv2 :is(.sv2-wm,.sv2-mono,.sv2-tw-l b,.sv2-ng-n,.sv2-ng-v,.sv2-ng-d,.sv2-snap div b,.sv2-cov b,.sv2-lead-x,.sv2-lead h3,.sv2-ex-sum b,.sv2-dt b){font-weight:var(--w-x)}
html.n2-on .sv2 .sv2-lead h3{font-size:clamp(32px,3.6vw,52px)}
html.n2-on .sv2 .sv2-plus::before{font-weight:var(--w-x)}

/* contrast: filter toggles on dark rails were 3.65:1 — lifted to the secondary silver (≥ 7:1) */
html.n2-on .n2 :is(.n2-dk,.n2-gr,.n2-mast,.n2-rail) .n2-tog:not(.is-on){color:var(--n2-t2);box-shadow:inset 0 0 0 1px var(--n2-ln2)}
/* rules: the news masthead underline drops from 4px to the 2px structural rule used by every other module */
html.n2-on .n2 .n2-newsm-g{border-bottom-width:2px}

/* text rhythm: descriptions never sit glued to the title above them */
html.n2-on .n2 .n2-mast-sub{margin-top:var(--s-s)}
html.n2-on .n2 :is(.n2-nr-lead p,.n2-nw-lead .n2-nw-deck){margin-top:var(--s-s)}
html.n2-on .n2 :is(.n2-nr-md p,.n2-nw-s p){margin-top:var(--s-xs)}
html.n2-on .n2 .n2-nr-meta{margin-bottom:var(--s-xs)}
html.n2-on .sv2 .sv2-meta{margin-top:var(--s-s)}

/* ---------------------------------------------------------------------
   J · MOBILE — its own scale, not a proportional shrink
   --------------------------------------------------------------------- */
@media (max-width:767px){
  html.n2-on .n2 .n2-h2, html.n2-on .sv2 .sv2-hd h2{font-size:28px}
  html.n2-on .n2 .n2-hd .n2-k{margin-bottom:var(--s-xs)}
  html.n2-on .n2 .n2-hd .n2-sub{margin-top:10px}
  html.n2-on .n2 .n2-nw-lead h2{font-size:38px}
  html.n2-on .n2 .n2-nr-lead h3{font-size:34px}
  html.n2-on .n2 .n2-mast-sub{font-size:15px}
  html.n2-on .n2 .n2-pt-r .n2-pn{font-size:30px}
  html.n2-on .n2 .n2-pt-tm b{font-size:17px}
  html.n2-on .n2 .n2-pt-rec, html.n2-on .n2 .n2-pt-pw{font-size:14px}
  html.n2-on .sv2 .sv2-meta{font-size:13px}
  html.n2-on .sv2 .sv2-pr-n{font-size:120px}
  html.n2-on .sv2 .sv2-nav button{font-size:12px}
}
/* =====================================================================
   12 · COMPOSITION 1.0.11 — one continuous page canvas.
   Sections connect through overlap, inset sheets, docks and thin rules; full-width surface changes are rare.
   Typography stays on the 1.0.10 system (11-type.css): tokens are reused here, never re-specified.
   ===================================================================== */

/* ---------------------------------------------------------------------
   1 · HOME — the Power Rankings sheet is laid over the bottom of Game of the Week
   --------------------------------------------------------------------- */
html.n2-on .n2 #n2-gotw:not([hidden]){padding-bottom:calc(var(--n2-sp) + 40px)}
html.n2-on .n2 #n2-gotw:not([hidden]) + .n2-rkh2{margin-top:-40px;padding-top:0;position:relative;z-index:6}
html.n2-on .n2 .n2-rkh2>.n2-w{position:relative;box-shadow:0 1px 0 rgba(255,255,255,.08),0 -18px 50px rgba(0,0,0,.45),0 28px 70px rgba(0,0,0,.5)}
html.n2-on .n2 .n2-rkh2>.n2-w::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--n2-chrome);border-radius:3px 3px 0 0}
html.n2-on .n2 .n2-rkh2 .n2-rk-ctl{margin-bottom:var(--s-m)}
html.n2-on .n2 .n2-rkh-b{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,3.4vw,56px);align-items:start}
html.n2-on .n2 .n2-rkh-f{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(16px,2vw,28px);border-top:2px solid var(--n2-ink)}
html.n2-on .n2 :is(.n2-rkh-1,.n2-rkh-2){display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;column-gap:14px;row-gap:8px;color:var(--n2-ink);border-bottom:1px solid var(--n2-rule)}
html.n2-on .n2 .n2-rkh-1{grid-column:1/-1;padding:20px 0 22px;column-gap:18px}
html.n2-on .n2 .n2-rkh-2{padding:16px 0 18px}
html.n2-on .n2 :is(.n2-rkh-1,.n2-rkh-2) .n2-rkn{background:linear-gradient(180deg,#0B0C0E 0%,#3A3F45 55%,#8E949B 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
html.n2-on .n2 .n2-rkh-1 .n2-rkn{font-size:clamp(64px,6vw,96px)}
html.n2-on .n2 .n2-rkh-2 .n2-rkn{font-size:44px}
html.n2-on .n2 .n2-rkh-1 .n2-rkx b{font-size:clamp(26px,2.4vw,34px)}
html.n2-on .n2 .n2-rkh-2 .n2-rkx b{font-size:20px}
html.n2-on .n2 :is(.n2-rkh-1,.n2-rkh-2) .n2-rkx small{color:var(--n2-ink3);font-size:var(--ty-meta)}
html.n2-on .n2 .n2-rkh-why{grid-column:1/-1;margin:0;font-size:var(--ty-bs);line-height:var(--lh-b);color:var(--n2-ink2);max-width:60ch}
html.n2-on .n2 .n2-rkh-2 .n2-rkh-why{font-size:13.5px}
html.n2-on .n2 a:is(.n2-rkh-1,.n2-rkh-2):hover .n2-rkx b{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
html.n2-on .n2 .n2-rkh-t{border-top:2px solid var(--n2-ink)}
html.n2-on .n2 .n2-rkh-r{display:grid;grid-template-columns:40px minmax(0,1fr) 64px 52px;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--n2-rule);color:var(--n2-ink);transition:background .2s}
html.n2-on .n2 .n2-rkh-r.is-h{padding:12px 0 9px;font:var(--w-s) 11px/1.3 var(--n2-fu);letter-spacing:var(--ls-l);text-transform:uppercase;color:var(--n2-ink3);border-bottom-color:var(--n2-rule2)}
html.n2-on .n2 .n2-rkh-r.is-h span:nth-child(n+3){text-align:right}
html.n2-on .n2 a.n2-rkh-r:hover{background:linear-gradient(90deg,rgba(11,12,14,.035),transparent 85%)}
html.n2-on .n2 .n2-rkh-r .n2-pn{font-size:26px;line-height:1}
html.n2-on .n2 .n2-rkh-tm{display:flex;align-items:center;gap:10px;min-width:0}
html.n2-on .n2 .n2-rkh-tm b{font-family:var(--n2-fd);font-weight:var(--w-s);font-size:17px;letter-spacing:var(--ls-c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.n2-on .n2 :is(.n2-rkh-rec,.n2-rkh-pw){font-family:var(--n2-fu);font-size:14px;text-align:right;font-variant-numeric:tabular-nums lining-nums}
html.n2-on .n2 .n2-rkh-rec{font-weight:var(--w-r);color:var(--n2-ink2)}
html.n2-on .n2 .n2-rkh-pw{font-weight:var(--w-m)}
html.n2-on .n2 .n2-rkh-ft{display:flex;justify-content:flex-end;margin-top:var(--s-l)}

/* ---------------------------------------------------------------------
   2 · FILTER DOCK (Scores, Schedule, Rankings) — an inset silver toolbar between the masthead and the content
   --------------------------------------------------------------------- */
html.n2-on .n2 .n2-rail.is-dock{background:transparent;border-bottom:0;padding:var(--s-s) var(--n2-gut) 0;backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--n2-ink)}
html.n2-on .n2 .n2-rail.is-dock::before{display:none}
html.n2-on .n2 .n2-rail.is-dock>.n2-rail-w{max-width:calc(var(--n2-max) - 2 * var(--n2-gut));margin:0 auto;padding:2px clamp(14px,1.6vw,22px) 4px;
  background:linear-gradient(180deg,#F6F7F8 0%,#E7EAED 100%);border-radius:4px;box-shadow:inset 0 1px 0 #fff,0 0 0 1px rgba(11,12,14,.06),0 14px 34px rgba(0,0,0,.42)}
html.n2-on .n2 .n2-rail.is-dock .n2-rail-k{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:10.5px;letter-spacing:var(--ls-l);color:var(--n2-ink3)}
html.n2-on .n2 .n2-rail.is-dock .n2-tab{color:var(--n2-ink3)}
html.n2-on .n2 .n2-rail.is-dock .n2-tab:hover,html.n2-on .n2 .n2-rail.is-dock .n2-tab.is-on{color:var(--n2-ink)}
html.n2-on .n2 .n2-rail.is-dock .n2-tabs-ink{color:var(--n2-ink);box-shadow:none}
html.n2-on .n2 .n2-rail.is-dock .n2-dates{border-bottom-color:var(--n2-rule)}
html.n2-on .n2 .n2-rail.is-dock .n2-dn{color:var(--n2-ink3)}
html.n2-on .n2 .n2-rail.is-dock .n2-dn:hover{color:var(--n2-ink)}
html.n2-on .n2 .n2-rail.is-dock .n2-dd{color:var(--n2-ink3);padding:7px 6px 8px}
html.n2-on .n2 .n2-rail.is-dock .n2-dd small{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:10.5px;letter-spacing:var(--ls-l)}
html.n2-on .n2 .n2-rail.is-dock .n2-dd b{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:14px;letter-spacing:0;text-transform:none}
html.n2-on .n2 .n2-rail.is-dock .n2-dd:hover,html.n2-on .n2 .n2-rail.is-dock .n2-dd.is-on,html.n2-on .n2 .n2-rail.is-dock .n2-dd.is-today small{color:var(--n2-ink)}
html.n2-on .n2 .n2-rail.is-dock .n2-dd.is-on b{font-weight:var(--w-s)}
html.n2-on .n2 .n2-rail.is-dock .n2-dd.is-on::after{background:var(--n2-ink)}
html.n2-on .n2 .n2-rail.is-dock .n2-dtoday{font-family:var(--n2-fu);font-weight:var(--w-s);font-size:12px;letter-spacing:var(--ls-ui);color:var(--n2-ink);box-shadow:inset 0 0 0 1px var(--n2-rule2);border-radius:3px}
html.n2-on .n2 .n2-rail.is-dock .n2-wklab{color:var(--n2-ink)}
html.n2-on .n2 .n2-rail.is-dock .n2-sel select{font-family:var(--n2-fu);font-weight:var(--w-m);font-size:13px;letter-spacing:0;text-transform:none;color:var(--n2-ink);border-bottom-color:var(--n2-rule2)}
html.n2-on .n2 .n2-rail.is-dock .n2-tog:not(.is-on){color:var(--n2-ink2);box-shadow:inset 0 0 0 1px var(--n2-rule2)}
html.n2-on .n2 .n2-rail.is-dock .n2-tog{border-radius:3px}
html.n2-on .n2 .n2-rail.is-dock .n2-tog.is-on{background:var(--n2-ink);color:#fff}
html.n2-on .n2 .n2-rail.is-dock .n2-rail-f{gap:0;padding:2px 0 0}
html.n2-on .n2 .n2-rail.is-dock .n2-rail-f>*+*{border-left:1px solid var(--n2-rule);margin-left:16px;padding-left:16px}
html.n2-on .n2 .n2-rail.is-dock .n2-rk-st{border-right-color:var(--n2-rule)}
html.n2-on .n2 .n2-rail.is-dock .n2-rk-st b{font-weight:var(--w-b);color:var(--n2-ink)}
html.n2-on .n2 .n2-rail.is-dock .n2-rk-st .n2-rail-k{color:var(--n2-ink3)}
html.n2-on .n2 .n2-rail.is-dock .n2-rk-rail{gap:0 22px}
html.n2-on .n2 .n2-rail.is-dock .n2-h2{color:var(--n2-ink)}
html.n2-on .n2 .n2-rail.is-dock+.n2-sec{padding-top:clamp(28px,3vw,44px)}
html.n2-on .n2 .n2-rail.is-dock+.n2-sec:is(.n2-lt,.n2-pp,.n2-sv){padding-top:clamp(20px,2.2vw,32px)}

/* Scores: featured games open after the dock with their own heading, on the base canvas */
html.n2-on .n2 .n2-feat{padding-top:clamp(28px,3vw,44px)}
html.n2-on .n2 .n2-feat .n2-hd{margin-bottom:var(--s-m)}

/* ---------------------------------------------------------------------
   3 · POWER RANKINGS — main column + supporting rail
   --------------------------------------------------------------------- */
html.n2-on .n2 .n2-rkx-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:clamp(28px,3.6vw,56px);align-items:start}
html.n2-on .n2 .n2-rkx-m{min-width:0}
html.n2-on .n2 .n2-rkx .n2-poll-h{margin-bottom:var(--s-m)}
/* top three */
html.n2-on .n2 .n2-rk3x{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(16px,2vw,28px);border-top:2px solid var(--n2-ink);margin-bottom:clamp(26px,2.8vw,40px)}
html.n2-on .n2 .n2-rk3x-i{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px 14px;padding:16px 0 18px;border-bottom:1px solid var(--n2-rule);color:var(--n2-ink);transition:background .2s}
html.n2-on .n2 .n2-rk3x-i.is-1{grid-column:1/-1;padding:22px 0 24px;gap:12px 20px}
html.n2-on .n2 a.n2-rk3x-i:hover{background:linear-gradient(90deg,rgba(11,12,14,.03),transparent 80%)}
html.n2-on .n2 .n2-rk3x-i .n2-pn{font-size:46px;line-height:.85;background:linear-gradient(180deg,#0B0C0E 0%,#3A3F45 60%,#8E949B 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
html.n2-on .n2 .n2-rk3x-i.is-1 .n2-pn{font-size:clamp(72px,6.6vw,108px)}
html.n2-on .n2 .n2-rk3x-t{min-width:0;display:grid;gap:4px}
html.n2-on .n2 .n2-rk3x-t b{font-family:var(--n2-fd);font-weight:var(--w-b);font-size:21px;line-height:1.02;letter-spacing:var(--ls-c);overflow-wrap:anywhere}
html.n2-on .n2 .n2-rk3x-i.is-1 .n2-rk3x-t b{font-size:clamp(30px,2.8vw,40px);font-weight:var(--w-x)}
html.n2-on .n2 .n2-rk3x-t small{font-size:var(--ty-meta);font-weight:var(--w-m);color:var(--n2-ink3);font-variant-numeric:tabular-nums}
html.n2-on .n2 .n2-rk3x-t p{margin:4px 0 0;font-size:var(--ty-bs);line-height:var(--lh-b);color:var(--n2-ink2);max-width:62ch}
html.n2-on .n2 .n2-rk3x-i:not(.is-1) .n2-rk3x-t p{font-size:13.5px}
html.n2-on .n2 .n2-rk3x-i .n2-mv{align-self:start;margin-top:6px}
/* the table */
html.n2-on .n2 .n2-ptx{margin-top:0}
html.n2-on .n2 .n2-ptx .n2-pt-r{grid-template-columns:52px minmax(0,1fr) 68px 60px 52px 112px;gap:14px;padding:9px 0}
html.n2-on .n2 .n2-ptx .n2-pt-r.is-h{padding:10px 0 8px}
html.n2-on .n2 .n2-ptx .n2-pt-r.is-h span:nth-child(3),html.n2-on .n2 .n2-ptx .n2-pt-r.is-h span:nth-child(4){text-align:right}
html.n2-on .n2 .n2-ptx .n2-pn{font-size:28px;line-height:1}
html.n2-on .n2 .n2-ptx .n2-pt-tm b{font-size:17.5px}
html.n2-on .n2 .n2-ptx .n2-pt-tm small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--ty-cap);color:var(--n2-ink3)}
html.n2-on .n2 .n2-ptx :is(.n2-pt-rec,.n2-pt-pw){text-align:right;font-size:14.5px}
html.n2-on .n2 .n2-ptx .n2-pt-rec{font-weight:var(--w-r);color:var(--n2-ink2)}
html.n2-on .n2 .n2-ptx .n2-pt-r:nth-child(-n+4):not(.is-h) .n2-pn{color:var(--n2-ink)}
/* supporting rail */
html.n2-on .n2 .n2-rkx-a{display:grid;gap:var(--s-s);position:sticky;top:calc(var(--nx-hdr-h,104px) + 84px)}
html.n2-on .n2 .n2-rka-c{display:grid;gap:10px;padding:14px 16px 16px;background:#F3F4F5;border-top:2px solid var(--n2-ink);border-radius:0 0 3px 3px}
html.n2-on .n2 .n2-rka-c h3{margin:0;font:var(--w-s) 11px/1.3 var(--n2-fu);letter-spacing:var(--ls-l);text-transform:uppercase;color:var(--n2-ink3)}
html.n2-on .n2 .n2-rka-c p{margin:0;font-size:12.5px;line-height:1.45;color:var(--n2-ink3)}
html.n2-on .n2 .n2-rka-dl{display:grid;margin:0}
html.n2-on .n2 .n2-rka-dl div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--n2-rule)}
html.n2-on .n2 .n2-rka-dl div:last-child{border-bottom:0}
html.n2-on .n2 .n2-rka-dl dt{font-size:13px;color:var(--n2-ink3)}
html.n2-on .n2 .n2-rka-dl dd{margin:0;font-size:13px;font-weight:var(--w-s);color:var(--n2-ink);text-align:right;font-variant-numeric:tabular-nums}
html.n2-on .n2 .n2-rka-l{margin:0;padding-left:16px;display:grid;gap:8px;font-size:13.5px;line-height:1.45;color:var(--n2-ink2)}
html.n2-on .n2 .n2-rka-cls{display:grid}
html.n2-on .n2 .n2-rka-ci{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid var(--n2-rule);text-align:left;color:var(--n2-ink);cursor:pointer}
html.n2-on .n2 .n2-rka-ci:last-child{border-bottom:0}
html.n2-on .n2 .n2-rka-ci:hover span{text-decoration:underline;text-underline-offset:3px}
html.n2-on .n2 .n2-rka-ci b{font-family:var(--n2-fd);font-weight:var(--w-b);font-size:16px}
html.n2-on .n2 .n2-rka-ci span{font-size:13.5px;font-weight:var(--w-m);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.n2-on .n2 .n2-rka-ci small{font-size:11.5px;color:var(--n2-ink3)}
html.n2-on .n2 .n2-rka-m{margin:0;padding-left:18px;display:grid;gap:8px}
html.n2-on .n2 .n2-rka-m li{font-size:12.5px;line-height:1.4;color:var(--n2-ink3)}
html.n2-on .n2 .n2-rka-m b{display:block;font-size:13px;font-weight:var(--w-s);color:var(--n2-ink)}
/* the title is simply "Power Rankings" — size it as a page title, not a billboard */
html.n2-on .n2 .n2-rk-hero .n2-rk-t{font-size:clamp(48px,5.6vw,86px)}

/* ---------------------------------------------------------------------
   4 · NAIA / JUCO — logo + "<LV> Coverage" + count, then live information; shorter, denser hero
   --------------------------------------------------------------------- */
html.n2-on .n2 .n2-as{min-height:0}
html.n2-on .n2 .n2-as .n2-mast-w{padding-top:clamp(22px,2.6vw,34px);padding-bottom:clamp(22px,2.4vw,32px)}
html.n2-on .n2 .n2-as .n2-crumb{margin-bottom:var(--s-m)}
html.n2-on .n2 .n2-as-g{align-items:center}
html.n2-on .n2 :is(.n2-as,.n2-as.is-naia,.n2-as.is-juco) .n2-as-h{font-family:var(--n2-fd);font-weight:var(--w-x);font-size:clamp(34px,3.4vw,52px);line-height:.95;letter-spacing:.005em;margin:0}
html.n2-on .n2 .n2-as.is-naia .n2-as-plate{width:clamp(220px,19vw,300px)}
html.n2-on .n2 .n2-as.is-juco .n2-as-plate{width:clamp(170px,14vw,230px)}
html.n2-on .n2 .n2-as-big{margin-top:var(--s-s);gap:4px 12px}
html.n2-on .n2 .n2-as-big b{font-size:clamp(40px,3.8vw,58px)}
html.n2-on .n2 .n2-as.is-juco .n2-as-big{padding-top:0;border-top:0}
html.n2-on .n2 .n2-as .n2-mast-sub{margin-top:var(--s-s);font-size:15px;max-width:48ch}
html.n2-on .n2 .n2-as .n2-hbar{margin-top:clamp(18px,2vw,26px)}

/* ---------------------------------------------------------------------
   5 · PRESENTING RIBBONS — inset metallic strips on the canvas, not full-width stripes
   --------------------------------------------------------------------- */
html.n2-on .n2 .n2-rb{background:transparent;border:0;overflow:visible;padding:var(--s-s) var(--n2-gut) 0}
html.n2-on .n2 .n2-rb::before,html.n2-on .n2 .n2-rb::after{display:none}
html.n2-on .n2 .n2-rb>.n2-rb-w{max-width:calc(var(--n2-max) - 2 * var(--n2-gut));margin:0 auto;min-height:54px;padding:8px clamp(16px,2vw,26px);
  background:var(--n2-metal);border-radius:3px;box-shadow:inset 0 1px 0 #fff,0 12px 30px rgba(0,0,0,.4);overflow:hidden}
html.n2-on .sv2 .sv2-rb{background:transparent;border:0;overflow:visible;padding:var(--s-s) 0 0}
html.n2-on .sv2 .sv2-rb::before,html.n2-on .sv2 .sv2-rb::after{display:none}
html.n2-on .sv2 .sv2-rb>.sv2-rb-w{min-height:54px;background:linear-gradient(180deg,#F7F8F9 0%,#DCE0E4 46%,#C3C8CD 54%,#E6E9EC 100%);border-radius:3px;
  border-bottom:2px solid var(--sv2-c,#8E949B);box-shadow:inset 0 1px 0 #fff,0 12px 30px rgba(0,0,0,.4);padding-left:clamp(16px,2vw,26px);padding-right:clamp(16px,2vw,26px);
  width:calc(100% - 2 * var(--sv2-gut,clamp(16px,3.2vw,48px)));max-width:calc(var(--sv2-max,1360px) - 2 * var(--sv2-gut,clamp(16px,3.2vw,48px)))}

/* ---------------------------------------------------------------------
   5b · NEWS — the newsroom masthead becomes the head of the inset paper sheet (no edge-to-edge white band)
   --------------------------------------------------------------------- */
html.n2-on .n2 .n2-newsm{background:transparent;padding:var(--n2-sheet-y) var(--n2-sheet-x) 0}
html.n2-on .n2 .n2-newsm::after{display:none}
html.n2-on .n2 .n2-newsm>.n2-w{max-width:none;background:var(--n2-pp);border-radius:3px 3px 0 0;padding-top:clamp(28px,3.4vw,48px);box-shadow:0 1px 0 rgba(255,255,255,.07)}
html.n2-on .n2 .n2-newsm+.n2-sec:is(.n2-lt,.n2-pp,.n2-sv){padding-top:0}
html.n2-on .n2 .n2-newsm+.n2-sec:is(.n2-lt,.n2-pp,.n2-sv)>.n2-w{border-top-left-radius:0;border-top-right-radius:0}

/* ---------------------------------------------------------------------
   6 · MOBILE
   --------------------------------------------------------------------- */
@media (max-width:900px){
  html.n2-on .n2 .n2-rkh-b{grid-template-columns:minmax(0,1fr)}
  html.n2-on .n2 .n2-rkx-g{grid-template-columns:minmax(0,1fr)}
  html.n2-on .n2 .n2-rkx-a{position:static;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
}
@media (max-width:767px){
  html.n2-on .n2 #n2-gotw:not([hidden]){padding-bottom:calc(var(--n2-sp) + 28px)}
  html.n2-on .n2 #n2-gotw:not([hidden]) + .n2-rkh2{margin-top:-28px}
  html.n2-on .n2 .n2-rkh-f,html.n2-on .n2 .n2-rk3x{grid-template-columns:minmax(0,1fr)}
  html.n2-on .n2 .n2-rkh-1 .n2-rkn{font-size:60px}
  html.n2-on .n2 .n2-rkh-r{grid-template-columns:34px minmax(0,1fr) 54px 44px;gap:10px}
  html.n2-on .n2 .n2-rkh-r .n2-pn{font-size:22px}
  html.n2-on .n2 .n2-rk3x-i{grid-template-columns:auto auto minmax(0,1fr)}
  html.n2-on .n2 .n2-rk3x-i .n2-mv{grid-column:3;justify-self:start;margin-top:0}
  html.n2-on .n2 .n2-rk3x-i.is-1 .n2-pn{font-size:64px}
  html.n2-on .n2 .n2-ptx .n2-pt-r{grid-template-columns:36px minmax(0,1fr) 52px 46px;gap:10px}
  html.n2-on .n2 .n2-ptx .n2-pt-r{grid-template-areas:none;row-gap:0}
  html.n2-on .n2 .n2-ptx .n2-pt-r>*{grid-area:auto}
  html.n2-on .n2 .n2-ptx .n2-pt-pw{display:block}
  html.n2-on .n2 .n2-ptx .n2-pt-r>*:nth-child(n+5){display:none}
  html.n2-on .n2 .n2-ptx .n2-pn{font-size:22px}
  html.n2-on .n2 .n2-ptx .n2-pt-tm b{font-size:16px}
  html.n2-on .n2 .n2-rk-hero .n2-rk-t{font-size:44px}
  html.n2-on .n2 .n2-rail.is-dock{padding-top:var(--s-xs)}
  html.n2-on .n2 .n2-rail.is-dock>.n2-rail-w{padding-left:10px;padding-right:10px}
  html.n2-on .n2 .n2-rail.is-dock .n2-rail-f>*+*{margin-left:12px;padding-left:12px}
  html.n2-on .n2 :is(.n2-as,.n2-as.is-naia,.n2-as.is-juco) .n2-as-h{font-size:32px}
  html.n2-on .n2 .n2-as.is-naia .n2-as-plate{width:min(210px,62vw)}
  html.n2-on .n2 .n2-as.is-juco .n2-as-plate{width:min(160px,46vw)}
}
/* =====================================================================
   13 · FLOW 1.0.12 — one dark canvas per route, light content only as inset sheets.
   Builds on 10-compose (sheets) and 12-compose (dock, overlap); typography stays on 11-type tokens.
   ===================================================================== */

/* ---------------------------------------------------------------------
   1 · NETWORK PULSE — clean white broadcast strip between the dark masthead and the page
   --------------------------------------------------------------------- */
html.n2-on .nx-pulse{background:#FFFFFF;border-top:0;border-bottom:1px solid #DADDE0;box-shadow:none;color:#0B0C0E}
html.n2-on .nx-pulse::after{display:none}
html.n2-on .nx-pulse-l{border-right:1px solid #E3E6E9}
html.n2-on .nx-pulse-k{color:#0B0C0E;font-size:16px}
html.n2-on .nx-pulse-l small,html.n2-on .nx-pulse-l span{color:#5F656D}
html.n2-on .nx-pu,html.n2-on .nx-pu-end{border-right:1px solid #E8EAED;background:#FFFFFF}
html.n2-on a.nx-pu:hover,html.n2-on .nx-pu-end:hover{background:#F6F7F8}
html.n2-on .nx-pu.is-live{background:linear-gradient(180deg,#FFFFFF 0%,rgba(200,54,60,.05) 100%)}
html.n2-on .nx-pu-top{color:#3A3F45}
html.n2-on .nx-pu-top span:last-child,html.n2-on .nx-pu-top small{color:#6B7178}
html.n2-on .nx-pu .nx-bug-n{color:#0B0C0E}
html.n2-on .nx-pu .nx-bug-p{color:#0B0C0E}
html.n2-on .nx-pu .nx-bug-rk{color:#6B7178}
html.n2-on .nx-pulse-nav{border-left:1px solid #E3E6E9;background:#FFFFFF}
html.n2-on .nx-pulse-nav button,html.n2-on .nx-pulse-nav a{color:#3A3F45}
html.n2-on .nx-pulse-sp{background:#FFFFFF;border-left:1px solid #E3E6E9}
@media (max-width:767px){
  html.n2-on .nx-pulse-trk{border-top:1px solid #E8EAED}
}

/* ---------------------------------------------------------------------
   2 · STATE SPONSOR RIBBON — sponsorship only, inset on the content grid
   PRESENTED BY | PRESENTING PARTNERSHIP AVAILABLE ........ BECOME THE PRESENTING PARTNER →
   --------------------------------------------------------------------- */
html.n2-on .n2 .n2-rb>.n2-rb-w{justify-content:space-between;column-gap:clamp(14px,2.4vw,32px)}
html.n2-on .n2 .n2-rb-m{border-left:0;padding-left:0;gap:clamp(12px,1.6vw,20px)}
html.n2-on .n2 .n2-rb-m b{padding-left:clamp(12px,1.6vw,20px);border-left:1px solid rgba(11,12,14,.25)}

/* ---------------------------------------------------------------------
   3 · INSET SHEETS — wider dark gutters so the canvas stays visible (desktop ~58px at 1440, mobile 10–16px)
   --------------------------------------------------------------------- */
html.n2-on{--n2-sheet-x:max(clamp(10px,4vw,64px),calc((100% - var(--n2-max)) / 2))}
html.n2-on .n2 .n2-rb{padding-left:var(--n2-sheet-x);padding-right:var(--n2-sheet-x)}
html.n2-on .n2 .n2-rb>.n2-rb-w{max-width:none}
html.n2-on .n2 .n2-rail.is-dock{padding-left:var(--n2-sheet-x);padding-right:var(--n2-sheet-x)}
html.n2-on .n2 .n2-rail.is-dock>.n2-rail-w{max-width:none}
/* sheet exit: a light sheet never ends against a dark section edge — dark breathing room + a soft shadow beneath it */
html.n2-on .n2 .n2-sec:is(.n2-lt,.n2-pp,.n2-sv):not(:has(+ .n2-sec:is(.n2-lt,.n2-pp,.n2-sv)))>.n2-w{box-shadow:0 1px 0 rgba(255,255,255,.07),0 30px 60px -18px rgba(0,0,0,.65)}
html.n2-on .n2 .n2-sec:is(.n2-lt,.n2-pp,.n2-sv)+.n2-sec:is(.n2-dk,.n2-gr){padding-top:calc(var(--n2-sp) + 8px)}
html.n2-on .n2 .n2-sec:is(.n2-lt,.n2-pp,.n2-sv)+.n2-sec:is(.n2-dk,.n2-gr)::before{content:"";position:absolute;left:0;right:0;top:0;height:56px;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.35),transparent);z-index:1}

/* ---------------------------------------------------------------------
   4 · HOME — dark-canvas sections (Tonight, Board, Marquee) read as one editorial run, separated by rules
   --------------------------------------------------------------------- */
html.n2-on .n2 .n2-dk .n2-brd-h{border-bottom-color:#E4E8EB}
html.n2-on .n2 .n2-dk .n2-brd-h h3{color:#F4F5F6}
html.n2-on .n2 #n2-scores.n2-dk .n2-tabs,html.n2-on .n2 #n2-upcoming.n2-dk .n2-tabs{border-bottom-color:var(--n2-ln2)}
/* the Rankings sheet ends inside the canvas: rule + heading + next content, never an instant band */
html.n2-on .n2 #n2-rankings:not([hidden]){padding-bottom:0}
html.n2-on .n2 #n2-rankings:not([hidden])+.n2-sec{padding-top:clamp(56px,6vw,88px)}

/* ---------------------------------------------------------------------
   5 · MOBILE
   --------------------------------------------------------------------- */
@media (max-width:767px){
  html.n2-on .n2 .n2-sec:is(.n2-lt,.n2-pp,.n2-sv)+.n2-sec:is(.n2-dk,.n2-gr){padding-top:calc(var(--n2-sp) + 4px)}
  html.n2-on .n2 .n2-rb>.n2-rb-w{row-gap:6px}
}
/* =====================================================================
   15 · PLATFORM 2.0 COMPONENTS (1.1.0 · flag-gated; inert without window.NPN_P2) — Network V2 language only:
   matte black · graphite · white editorial sheets · metallic silver · condensed athletic type · thin rules · no card grids
   ===================================================================== */
.n2-p2-b{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;font-family:var(--n2-fd);font-weight:800;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;border-radius:var(--n2-r);box-shadow:inset 0 0 0 1px currentColor;white-space:nowrap;transition:background .2s,color .2s}
.n2 .n2-p2-b{color:inherit}
.n2-p2-b:hover{background:currentColor}
.n2-p2-b:hover>*,.n2-p2-b:hover{color:inherit}
.n2-dk .n2-p2-b:hover,.n2-gr .n2-p2-b:hover,.n2-ov .n2-p2-b:hover,.n2-gc .n2-p2-b:hover{background:#fff;color:#0B0C0E;box-shadow:inset 0 0 0 1px #fff}
.n2-pp .n2-p2-b:hover,.n2-lt .n2-p2-b:hover{background:var(--n2-ink);color:#fff;box-shadow:inset 0 0 0 1px var(--n2-ink)}
.n2-p2-b.is-src{height:auto;padding:4px 0 3px;box-shadow:none;border-bottom:1px solid currentColor;border-radius:0;font-size:11px;opacity:.72}
.n2-p2-b.is-src:hover{background:none !important;color:inherit !important;opacity:1;box-shadow:none !important}
.n2-p2-note{font-size:12px;line-height:1.5;color:var(--n2-ink3);margin:14px 0 0}
.n2-dk .n2-p2-note,.n2-gr .n2-p2-note,.n2-ov .n2-p2-note{color:var(--n2-t3)}
.n2-p2-acts{display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;margin-top:16px}
.n2-p2-acts>.n2-p2-b{height:auto;padding:6px 0 5px;box-shadow:none;border-radius:0;border-bottom:1px solid currentColor;font-size:13px}
.n2-p2-acts>.n2-p2-b:hover{background:none !important;color:inherit !important;box-shadow:none !important;opacity:.75}
.n2-p2-acts.is-gc{justify-content:center}
.n2-p2-acts.is-follow{justify-content:center;margin-top:10px}
.n2-p2-acts.is-gotw{margin-top:22px}

/* P2VerifiedBadge — "FINAL · VERIFIED ✓" */
.n2-p2-vb{display:inline-flex;align-items:center;gap:5px;font-family:var(--n2-fd);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:6px 0 5px;border-bottom:1px solid transparent;color:inherit;opacity:.88}
.n2-p2-vb b{font-weight:800}
.n2-p2-vb i{font-style:normal;display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor;font-size:10px;line-height:1;font-weight:800}
.n2-p2-vb:hover,.n2-p2-vb:focus-visible{border-bottom-color:currentColor;opacity:1}
.n2-p2-vb.is-pend{opacity:.7}

/* source dialog */
.n2-p2-dlg .n2-ov-p{max-width:560px;padding:26px 28px 24px;gap:14px}
.n2-p2-dlg-h{display:flex;align-items:center;justify-content:space-between;gap:16px}
.n2-p2-dlg-t{font-family:var(--n2-fd);font-weight:800;font-size:30px;line-height:1;text-transform:uppercase;margin:0}
.n2-p2-dlg-s{margin:0;color:var(--n2-t2);font-size:14px}
.n2-p2-dlg-l{display:flex;align-items:center;gap:10px;font-family:var(--n2-fd);font-weight:800;font-size:15px;letter-spacing:.14em;text-transform:uppercase;padding:12px 0;border-top:1px solid var(--n2-ln2);border-bottom:1px solid var(--n2-ln)}
.n2-p2-dlg-l i{font-style:normal;width:22px;height:22px;border-radius:50%;background:#fff;color:#0B0C0E;display:grid;place-items:center;font-size:13px}
.n2-p2-dlg-l.is-pend i{background:var(--n2-post);color:#fff}
.n2-p2-dl{display:grid;gap:10px;margin:14px 0 0}
.n2-p2-dl>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px}
.n2-p2-dl dt{font-family:var(--n2-fd);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--n2-t3)}
.n2-p2-dl dd{margin:0;font-weight:600;font-size:14px;overflow-wrap:anywhere}
.n2-p2-a{border-bottom:1px solid var(--n2-ln2)}
.n2-p2-dlg-n{font-size:12px;color:var(--n2-t3);margin:16px 0 0}

/* P2RankHistory · P2RankMovement · P2SOS */
.n2-p2-rh{display:inline-flex;align-items:center;gap:8px;color:inherit}
.n2-p2-rh svg{width:64px;height:20px;overflow:visible}
.n2-p2-rh small{font-family:var(--n2-fd);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.n2-p2-rh-dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.n2-p2-mv{font-family:var(--n2-fd);font-weight:800;font-size:14px;letter-spacing:.08em;white-space:nowrap}
.n2-p2-mv.is-up{color:#2F8A57}.n2-p2-mv.is-dn{color:#B4453F}
.n2-p2-sos small{font-family:var(--n2-fd);font-size:11px;letter-spacing:.18em;margin-right:6px;opacity:.7}

/* P2FollowButton */
.n2-p2-fb{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 13px 0 10px;font-family:var(--n2-fd);font-weight:800;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;border-radius:999px;box-shadow:inset 0 0 0 1px currentColor;color:inherit;transition:background .2s,color .2s}
.n2-p2-fb i{font-style:normal;font-size:15px;line-height:1;width:14px;text-align:center}
.n2-p2-fb[aria-pressed="true"]{background:currentColor}
.n2-dk .n2-p2-fb[aria-pressed="true"],.n2-gr .n2-p2-fb[aria-pressed="true"],.n2-gc .n2-p2-fb[aria-pressed="true"],.n2-ov .n2-p2-fb[aria-pressed="true"],.n2-mast .n2-p2-fb[aria-pressed="true"]{background:#fff;box-shadow:inset 0 0 0 1px #fff}
.n2-dk .n2-p2-fb[aria-pressed="true"] *,.n2-gr .n2-p2-fb[aria-pressed="true"] *,.n2-gc .n2-p2-fb[aria-pressed="true"] *,.n2-ov .n2-p2-fb[aria-pressed="true"] *,.n2-mast .n2-p2-fb[aria-pressed="true"] *{color:#0B0C0E}
.n2-pp .n2-p2-fb[aria-pressed="true"],.n2-lt .n2-p2-fb[aria-pressed="true"]{background:var(--n2-ink);box-shadow:inset 0 0 0 1px var(--n2-ink)}
.n2-pp .n2-p2-fb[aria-pressed="true"] *,.n2-lt .n2-p2-fb[aria-pressed="true"] *{color:#fff}
.n2-p2-fb.is-lg{height:40px;padding:0 18px 0 14px;font-size:14px}

/* P2WhyItMatters — the signature */
.n2-p2-wims{padding:clamp(48px,5.4vw,84px) 0}
.n2-p2-wim{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));margin-top:28px;border-top:1px solid var(--n2-ln2)}
.n2-p2-wim.is-1{--n:1}.n2-p2-wim.is-2{--n:2}.n2-p2-wim.is-3{--n:3}.n2-p2-wim.is-4{--n:4}.n2-p2-wim.is-5{--n:5}
.n2-p2-wf{padding:26px clamp(16px,2vw,28px) 8px;display:flex;flex-direction:column;gap:10px;min-width:0;border-left:1px solid var(--n2-ln)}
.n2-p2-wf:first-child{padding-left:0;border-left:0}
.n2-p2-wf-k{font-family:var(--n2-fd);font-weight:800;font-size:clamp(38px,4vw,68px);line-height:.88;letter-spacing:-.01em;text-transform:uppercase;text-wrap:balance;background:var(--n2-metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.n2-p2-wf p{margin:0;color:var(--n2-t2);font-size:14px;line-height:1.5;max-width:36ch}
.n2-p2-wf .n2-p2-b.is-src{align-self:flex-start;margin-top:auto;color:var(--n2-t2)}
@media (max-width:1099px){.n2-p2-wim.is-4,.n2-p2-wim.is-5{--n:3}.n2-p2-wim.is-4 .n2-p2-wf:nth-child(3n+1),.n2-p2-wim.is-5 .n2-p2-wf:nth-child(3n+1){padding-left:0;border-left:0}.n2-p2-wf:nth-child(n+4){border-top:1px solid var(--n2-ln)}}
@media (max-width:767px){.n2-p2-wim.is-3,.n2-p2-wim.is-4,.n2-p2-wim.is-5{--n:2}.n2-p2-wim .n2-p2-wf{padding-left:clamp(16px,2vw,28px);border-left:1px solid var(--n2-ln)}.n2-p2-wim .n2-p2-wf:nth-child(2n+1){padding-left:0;border-left:0}.n2-p2-wf:nth-child(n+3){border-top:1px solid var(--n2-ln)}}
@media (max-width:479px){.n2-p2-wim,.n2-p2-wim[class*="is-"]{grid-template-columns:1fr}.n2-p2-wim .n2-p2-wf{padding:20px 0 6px;border-left:0}.n2-p2-wim .n2-p2-wf+.n2-p2-wf{border-top:1px solid var(--n2-ln)}.n2-p2-wf-k{font-size:44px}}

/* P2TeamCompare */
.n2-p2-tc{margin-top:26px}
.n2-p2-tc-top{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:clamp(12px,3vw,40px);padding-bottom:22px;border-bottom:2px solid currentColor}
.n2-p2-tc-s{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;min-width:0}
.n2-p2-tc-n em{display:block;font-style:normal;font-family:var(--n2-fd);font-weight:700;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--n2-ink3)}
.n2-p2-tc-n b{display:block;font-family:var(--n2-fd);font-weight:800;font-size:clamp(28px,3.4vw,48px);line-height:.92;text-transform:uppercase;overflow-wrap:anywhere}
.n2-p2-tc-vs{font-family:var(--n2-fd);font-weight:700;font-size:20px;letter-spacing:.22em;text-transform:uppercase;color:var(--n2-ink3);align-self:center}
.n2-dk .n2-p2-tc-n em,.n2-gr .n2-p2-tc-n em,.n2-ov .n2-p2-tc-n em,.n2-dk .n2-p2-tc-vs,.n2-gr .n2-p2-tc-vs,.n2-ov .n2-p2-tc-vs{color:var(--n2-t3)}
.n2-p2-tc-sp{display:grid}
.n2-p2-tc-r{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,auto) minmax(0,1fr);align-items:center;border-bottom:1px solid var(--n2-rule);padding:10px 0}
.n2-dk .n2-p2-tc-r,.n2-gr .n2-p2-tc-r,.n2-ov .n2-p2-tc-r{border-bottom-color:var(--n2-ln)}
.n2-p2-tc-v{font-family:var(--n2-fd);font-weight:800;font-size:clamp(22px,2.4vw,32px);line-height:1;font-variant-numeric:tabular-nums;color:var(--n2-ink3)}
.n2-p2-tc-r>.n2-p2-tc-v:first-child{text-align:left}.n2-p2-tc-r>.n2-p2-tc-v:last-child{text-align:right}
.n2-p2-tc-v.is-edge{color:var(--n2-ink)}
.n2-dk .n2-p2-tc-v,.n2-gr .n2-p2-tc-v,.n2-ov .n2-p2-tc-v{color:var(--n2-t3)}
.n2-dk .n2-p2-tc-v.is-edge,.n2-gr .n2-p2-tc-v.is-edge,.n2-ov .n2-p2-tc-v.is-edge{color:#fff}
.n2-p2-tc-k{font-family:var(--n2-fd);font-weight:700;font-size:12px;letter-spacing:.22em;text-transform:uppercase;text-align:center;color:var(--n2-ink3)}
.n2-p2-tc-r.is-form .n2-form:last-child{justify-self:end}
.n2-dk .n2-form i.is-w,.n2-gr .n2-form i.is-w,.n2-ov .n2-form i.is-w{background:#fff;color:#0B0C0E}
.n2-p2-tc-x{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px 32px;margin-top:22px}
.n2-p2-tc-b{display:grid;gap:6px;align-content:start}
.n2-p2-tc-b>b{font-family:var(--n2-fd);font-weight:800;font-size:20px;text-transform:uppercase}
.n2-p2-tc-co{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;padding:6px 0;border-bottom:1px solid var(--n2-rule)}
.n2-p2-tc-co b{font-weight:700;min-width:120px}
.n2-dk .n2-p2-tc-co,.n2-gr .n2-p2-tc-co,.n2-ov .n2-p2-tc-co{border-bottom-color:var(--n2-ln)}

/* P2GameActions — a quiet "···" beside any game unit */
.n2-p2-gw{position:relative;min-width:0}
.n2-p2-gwb{position:absolute;top:8px;right:-6px;width:28px;height:24px;display:flex;align-items:center;justify-content:center;gap:3px;border-radius:var(--n2-r);opacity:.55;z-index:4}
.n2-p2-gwb i{width:3px;height:3px;border-radius:50%;background:currentColor}
.n2-p2-gw:hover .n2-p2-gwb,.n2-p2-gwb:focus-visible,.n2-p2-gwb[aria-expanded="true"]{opacity:1}
.n2-p2-gw .n2-gu-top{padding-right:26px}
.n2-p2-gwm{position:absolute;top:34px;right:-6px;z-index:30;min-width:230px;background:#0D0F11;color:var(--n2-t1);border:1px solid var(--n2-ln2);box-shadow:0 24px 60px rgba(0,0,0,.45);padding:8px;display:grid;gap:4px}
.n2-p2-gwi{display:flex;align-items:center;min-height:36px;padding:0 10px;font-family:var(--n2-fd);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;box-shadow:none !important;height:auto;justify-content:flex-start}
.n2-p2-gwi:hover{background:rgba(255,255,255,.08) !important;color:#fff !important}
.n2-p2-gwf{display:grid;gap:6px;padding:8px 6px 4px;border-top:1px solid var(--n2-ln)}
.n2-p2-gwf .n2-p2-fb{justify-self:start}
.n2-p2-dist{margin-left:auto;font-family:var(--n2-fd);font-weight:800;font-size:12px;letter-spacing:.14em}

/* P2PersonalFeed (My Next Play) */
.n2-p2-mnp{padding:clamp(44px,5vw,76px) 0}
.n2-p2-pf{display:grid;gap:clamp(28px,3.4vw,48px);margin-top:10px}
.n2-p2-pf.is-home{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));column-gap:clamp(24px,3vw,48px)}
.n2-p2-pf-h{display:flex;align-items:baseline;gap:12px;justify-content:space-between}
.n2-p2-pf-h h3{font-family:var(--n2-fd);font-weight:800;font-size:22px;letter-spacing:.06em;text-transform:uppercase;margin:0}
.n2-p2-pf-h span{font-family:var(--n2-fd);font-weight:800;font-size:15px;color:var(--n2-ink3)}
.n2-dk .n2-p2-pf-h span,.n2-gr .n2-p2-pf-h span{color:var(--n2-t3)}
.n2-p2-pf.is-home .n2-board-g{grid-template-columns:1fr}
.n2-p2-mvr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--n2-rule)}
.n2-dk .n2-p2-mvr,.n2-gr .n2-p2-mvr,.n2-ov .n2-p2-mvr{border-bottom-color:var(--n2-ln)}
.n2-p2-mvr .n2-pn{font-size:34px}
.n2-dk .n2-pn,.n2-gr .n2-pn,.n2-ov .n2-pn{color:#fff}
.n2-p2-mvr b{display:block;font-family:var(--n2-fd);font-weight:800;font-size:20px;text-transform:uppercase;line-height:1}
.n2-p2-mvr small{font-size:12px;color:var(--n2-ink3)}
.n2-dk .n2-p2-mvr small,.n2-gr .n2-p2-mvr small,.n2-ov .n2-p2-mvr small{color:var(--n2-t3)}
.n2-p2-st h3{font-size:16px;margin:4px 0 0}
.n2-p2-wt{display:flex;align-items:center;min-height:44px;font-family:var(--n2-fd);font-weight:800;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--n2-ln)}
.n2-p2-pf .n2-board-g{grid-auto-rows:auto}

/* My Next Play page */
.n2-p2-cta{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:22px}
.n2-p2-fol{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:0;margin-top:28px;border-top:2px solid var(--n2-ink)}
.n2-p2-fol-i{padding:22px 22px 18px 0;border-bottom:1px solid var(--n2-rule)}
.n2-p2-fol-i .n2-pn{font-size:44px;display:block;margin-bottom:10px;color:var(--n2-ink3)}
.n2-p2-fol-i b{font-family:var(--n2-fd);font-weight:800;font-size:28px;text-transform:uppercase}
.n2-p2-fol-i p{margin:6px 0 0;color:var(--n2-ink2);font-size:14px;max-width:30ch}
.n2-p2-nctl{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:22px}
.n2-dk .n2-sel select,.n2-gr .n2-sel select{color:var(--n2-t1);border-bottom-color:var(--n2-ln2)}
.n2-dk .n2-sel select option,.n2-gr .n2-sel select option{color:#0B0C0E}

/* Account · following · alerts */
.n2-p2-form{display:grid;gap:16px;max-width:520px;margin-top:24px}
.n2-p2-fl{display:grid;gap:8px}
.n2-p2-fl input{height:48px;border:0;border-bottom:2px solid var(--n2-ink);background:transparent;font:600 18px var(--n2-fu);color:var(--n2-ink);padding:0 2px}
.n2-p2-fl input:focus-visible{outline:2px solid var(--n2-ink);outline-offset:4px}
.n2-p2-test{margin-top:36px;padding-top:20px;border-top:1px solid var(--n2-rule2);display:grid;gap:8px;justify-items:start;max-width:520px}
.n2-p2-test p{margin:0;color:var(--n2-ink2);font-size:14px}
.n2-p2-fg{margin-top:30px}
.n2-p2-fg-h{font-family:var(--n2-fd);font-weight:800;font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:var(--n2-ink3);margin:0 0 4px;padding-bottom:8px;border-bottom:2px solid var(--n2-ink)}
.n2-p2-fr{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:10px 18px;padding:12px 0;border-bottom:1px solid var(--n2-rule)}
.n2-p2-fr-t b{display:block;font-family:var(--n2-fd);font-weight:800;font-size:20px;text-transform:uppercase;line-height:1}
.n2-p2-fr-t small{font-size:12px;color:var(--n2-ink3)}
.n2-p2-fn summary{cursor:pointer;font-family:var(--n2-fd);font-weight:800;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase}
.n2-p2-fn[open]{grid-column:1/-1;order:9}
.n2-p2-chk{display:flex;flex-wrap:wrap;gap:8px 20px;padding:10px 0 4px}
.n2-p2-chk label,.n2-p2-tog{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}
.n2-p2-chk input,.n2-p2-tog input{width:18px;height:18px;accent-color:#0B0C0E}
.n2-p2-form.is-alerts{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));max-width:none}
.n2-p2-form.is-alerts .n2-btn{grid-column:1/-1;justify-self:start}
.n2-p2-tog{padding:12px 0;border-bottom:1px solid var(--n2-rule)}
@media (max-width:767px){.n2-p2-fr{grid-template-columns:auto minmax(0,1fr) auto}.n2-p2-fr .n2-sel{grid-column:2}.n2-p2-fr .n2-p2-fb{grid-column:3;grid-row:2}.n2-p2-fn{grid-column:1/-1}}

/* Power Rankings — progressive disclosure + intelligence */
.n2-p2-rw{display:grid;grid-template-columns:minmax(0,1fr) 74px;align-items:center;column-gap:10px}
.n2-p2-rw>.n2-pt-r{min-width:0}
.n2-p2-rx{justify-self:end;display:flex;align-items:center;gap:6px;height:28px;padding:0 10px;font-family:var(--n2-fd);font-weight:800;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--n2-ink3);border-radius:999px;box-shadow:inset 0 0 0 1px var(--n2-rule2)}
.n2-p2-rx i{font-style:normal;font-size:15px}
.n2-p2-rx[aria-expanded="true"]{color:#fff;background:var(--n2-ink);box-shadow:none}
.n2-p2-rw>.n2-p2-rp{grid-column:1/-1}
.n2-p2-rp{padding:6px 0 24px;border-bottom:1px solid var(--n2-rule2)}
.n2-p2-rp-g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);gap:28px}
.n2-p2-rp-w .n2-why{flex-direction:column;margin-top:10px}
.n2-p2-rp-f{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px 22px}
.n2-p2-rp-f>div{display:grid;gap:4px;align-content:start}
.n2-p2-rp-f b{font-family:var(--n2-fd);font-weight:800;font-size:30px;line-height:1}
.n2-p2-rp-f small{font-size:12px;color:var(--n2-ink3)}
.n2-p2-rp .n2-p2-acts{margin-top:18px}
.n2-p2-rp-c .n2-p2-tc{margin-top:22px}
@media (max-width:767px){.n2-p2-rp-g{grid-template-columns:1fr}.n2-p2-rx span{display:none}.n2-p2-rw{grid-template-columns:minmax(0,1fr) 36px;column-gap:6px}.n2-p2-rx{padding:0 9px}}
.n2-p2-intel{padding:clamp(48px,5.4vw,84px) 0}
.n2-p2-ig{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px clamp(22px,3vw,44px);margin-top:28px}
.n2-p2-im{min-width:0;border-top:2px solid #E4E8EB;padding-top:14px}
.n2-p2-im.is-wide{grid-column:1/-1}
.n2-p2-im h3{font-family:var(--n2-fd);font-weight:800;font-size:22px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px}
.n2-p2-iml{list-style:none;margin:0;padding:0}
.n2-p2-iml li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--n2-ln)}
.n2-p2-iml .n2-pn{font-size:30px}
.n2-p2-iml b{display:block;font-family:var(--n2-fd);font-weight:800;font-size:19px;text-transform:uppercase;line-height:1}
.n2-p2-iml small{font-size:12px;color:var(--n2-t3)}
.n2-p2-iml strong{font-family:var(--n2-fd);font-weight:800;font-size:20px;font-variant-numeric:tabular-nums}
.n2-p2-im.is-wide .n2-p2-iml{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));column-gap:44px}
.n2-p2-im.is-wide .n2-p2-iml li{grid-template-columns:minmax(0,1fr) auto}
.n2-p2-rad{display:grid;gap:4px}
.n2-p2-rad b{font-family:var(--n2-fd);font-weight:800;font-size:21px;text-transform:uppercase;line-height:1.05}
.n2-p2-rad .n2-gu-rk{margin-right:6px}
@media (max-width:899px){.n2-p2-ig{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.n2-p2-ig{grid-template-columns:1fr}}

/* Search + Ask */
.n2-p2-mode{margin-left:auto;display:flex;gap:0;box-shadow:inset 0 0 0 1px var(--n2-ln2);border-radius:999px;padding:2px}
.n2-p2-mode button{padding:6px 12px;border-radius:999px;font-family:var(--n2-fd);font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--n2-t2)}
.n2-p2-mode button.is-on{background:#fff;color:#0B0C0E}
.n2-p2-askg{padding:6px 18px 18px}
.n2-p2-ask{display:grid;gap:14px}
.n2-p2-ask-a{margin:0;font-size:18px;line-height:1.5;font-weight:600;color:var(--n2-t1);max-width:62ch}
.n2-p2-ask .n2-board-g{margin-top:4px}
.n2-p2-ask-l{display:flex;flex-wrap:wrap;gap:12px 22px}
.n2-p2-ask-s{display:flex;flex-wrap:wrap;gap:4px 18px}
.n2-p2-ask-ex{display:flex;flex-wrap:wrap;gap:8px}
.n2-p2-ask .n2-p2-tc{margin-top:6px}
.n2-p2-ask .n2-p2-tc-n b{font-size:26px}

/* masthead link + mobile nav prototype */
.n2-on .n2-p2-me{display:inline-flex;align-items:center;gap:8px;font-family:var(--n2-fd);font-weight:800;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:#E4E8EB;padding:6px 4px;margin-right:4px;white-space:nowrap}
.n2-on .n2-p2-me i{width:7px;height:7px;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor}
@media (max-width:1023px){.n2-on .n2-p2-me{display:none}}
.n2-p2-bn svg{fill:none;stroke:currentColor;stroke-width:1.8}

/* Scores view modes: Ranked replaces the old toggle; Following / Near me hide filters that do not apply */
.n2-p2-modes~.n2-tog{display:none}
.n2-p2-solo>:not(.n2-p2-modes){display:none}
.n2-p2-nctl .n2-p2-b{height:auto;padding:6px 0 5px;box-shadow:none;border-radius:0;border-bottom:1px solid currentColor}
.n2-p2-nctl .n2-p2-b:hover{background:none !important;color:inherit !important;opacity:.7}
.n2 .n2-p2-mode button.is-on{background:#fff;color:#0B0C0E}
.sv2-hero .n2-p2-acts.is-school{margin-top:22px;color:#F4F5F6}
.n2-p2-wf-k{overflow-wrap:break-word;hyphens:manual}
.n2-p2-wim.is-5 .n2-p2-wf-k{font-size:clamp(30px,2.8vw,48px)}
.n2-p2-wim.is-4 .n2-p2-wf-k{font-size:clamp(34px,3.4vw,58px)}
.n2-p2-askg,.n2-p2-ask{min-width:0;max-width:100%}
.n2-p2-ask-a{white-space:normal;overflow-wrap:anywhere}
.n2-p2-askgm{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid var(--n2-ln)}
.n2-p2-askgm .n2-gu-go{font-family:var(--n2-fd);font-weight:700;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--n2-t3)}
.n2-p2-askgm:hover b{text-decoration:underline}
.n2-p2-ask-l{overflow-wrap:anywhere}.n2-p2-ask-l .n2-more{white-space:normal}
/* =====================================================================
   16 · ACCESSIBILITY CORRECTIONS (1.1.0) — targeted contrast fixes only; the approved visual identity is unchanged.
   ===================================================================== */
/* losing team in game units: 3.2:1 → 5.2:1 on white / 4.8:1 on #F6F7F8 (light) · 4.0:1 → 4.7:1 (dark) */
.n2-gu{--gu-lost:#686E75}
.n2-dk .n2-gu,.n2-gr .n2-gu,.n2-gu.is-featured{--gu-lost:#7E848C}
/* school blocks on the dark home band: caption 3.6:1 → 5.9:1 */
html.n2-on .n2-dk .n2 .n2-bl-x small,html.n2-on .n2-dk .n2-bl-x small,html.n2-on .n2-gr .n2-bl-x small{color:var(--n2-t3)}
/* partial-coverage swatches and chips (white label): 3.8:1 → 4.9:1, legend kept in sync */
.n2-map.is-links a.is-partial{background:#6E747B}
.n2-tier-r.is-partial i,.n2-map-k.is-partial,.n2 .n2-map i.is-partial{background:#6E747B}
/* School V2 (2.2.1) finals and scoreboard: losing score 2.9:1 → 5.0:1 on #F3F4F5 */
.sv2 .sv2-sb .is-lost,.sv2 .sv2-fin-s .is-lost,.sv2-sb .is-lost,.sv2-fin-s .is-lost{color:#636970}
/* ======================================================================
   CLUB V2 — Club Home, sport hubs, organization, team, circuit, conference, event, calendar.
   Built only from Network V2 tokens and section tones (dk · gr · lt · pp). Every class is n2-cl-.
   ====================================================================== */
.n2-cl-h .n2-title.is-long{font-size:clamp(34px,5.4vw,72px);line-height:.95;overflow-wrap:anywhere}
/* verification */
.n2-cl-vb{display:inline-flex;align-items:center;gap:6px;font-family:var(--n2-fd);font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px 3px;white-space:nowrap;border:1px solid currentColor}
.n2-cl-vb::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.n2-cl-vb.is-src{color:var(--n2-ink)}
.n2-cl-vb.is-cor{color:#0E6B3A}
.n2-cl-vb.is-npv{color:#fff;background:var(--n2-ink);border-color:var(--n2-ink)}
.n2-cl-vb.is-ref{color:var(--n2-ink3);border-style:dashed}
.n2-dk .n2-cl-vb.is-src,.n2-gr .n2-cl-vb.is-src,.n2-mast .n2-cl-vb.is-src{color:var(--n2-t1)}
.n2-dk .n2-cl-vb.is-cor,.n2-gr .n2-cl-vb.is-cor,.n2-mast .n2-cl-vb.is-cor{color:#7FD6A4}
.n2-dk .n2-cl-vb.is-ref,.n2-gr .n2-cl-vb.is-ref,.n2-mast .n2-cl-vb.is-ref{color:var(--n2-t3)}
.n2-cl-id{display:flex;align-items:center;gap:16px;justify-self:end}
.n2-cl-id-v{display:grid;gap:8px;justify-items:start}
.n2-cl-id-v small{font-size:12px;color:var(--n2-t2);max-width:260px}
.n2-cl-off{justify-self:end;align-self:end}
/* event rows (schedule-row grammar: date block · name · status) */
.n2-cl-evl{display:grid}
.n2-cl-ev{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid var(--n2-rule);color:inherit;text-decoration:none;transition:background .2s}
.n2-cl-ev:hover{background:linear-gradient(90deg,rgba(11,12,14,.04),transparent)}
.n2-cl-ev-d{display:grid;justify-items:center;padding:6px 0;border:1px solid var(--n2-rule2);line-height:1}
.n2-cl-ev-d span{font-family:var(--n2-fd);font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--n2-ink3)}
.n2-cl-ev-d b{font-family:var(--n2-fd);font-weight:800;font-size:28px;margin-top:3px}
.n2-cl-ev-t{display:grid;gap:4px;min-width:0}
.n2-cl-ev-t b{font-family:var(--n2-fd);font-weight:800;font-size:20px;line-height:1.08;text-transform:uppercase;letter-spacing:.015em;overflow-wrap:anywhere}
.n2-cl-ev-t small{font-size:12.5px;color:var(--n2-ink3);overflow-wrap:anywhere}
.n2-cl-ev-r{display:grid;justify-items:end;gap:5px;text-align:right}
.n2-cl-ev-r small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--n2-ink3);font-family:var(--n2-fd);font-weight:700}
.n2-cl-tag{font-family:var(--n2-fd);font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px 3px;background:var(--n2-ink);color:#fff;white-space:nowrap}
.n2-cl-ev.is-completed .n2-cl-tag{background:transparent;color:var(--n2-ink3);border:1px solid var(--n2-rule2)}
.n2-cl-ev.is-in_progress .n2-cl-tag{background:var(--n2-live,#C8102E)}
.n2-dk .n2-cl-ev,.n2-gr .n2-cl-ev{border-bottom-color:var(--n2-ln)}
.n2-dk .n2-cl-ev-d,.n2-gr .n2-cl-ev-d{border-color:var(--n2-ln2)}
.n2-dk .n2-cl-ev-t small,.n2-dk .n2-cl-ev-d span,.n2-dk .n2-cl-ev-r small{color:var(--n2-t3)}
.n2-dk .n2-cl-tag{background:var(--n2-t1);color:var(--n2-dk)}
/* organization rows reuse .n2-sr; 4th column carries the verification state */
.n2-cl-ol{display:grid}
.n2-cl-or{color:inherit;text-decoration:none}
.n2-cl-or .n2-sr-t b{white-space:normal;overflow-wrap:anywhere;line-height:1.05}
.n2-cl-or-v{justify-self:end}
/* circuit lockups */
.n2-cl-cg{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));border-top:1px solid var(--n2-ln2)}
.n2-cl-ci{display:grid;gap:6px;align-content:start;padding:18px 20px 20px 0;border-bottom:1px solid var(--n2-ln);color:inherit;text-decoration:none;position:relative}
.n2-cl-ci b{font-family:var(--n2-fd);font-weight:800;font-size:24px;line-height:1.02;text-transform:uppercase;letter-spacing:.015em}
.n2-cl-ci small{font-size:12.5px;color:var(--n2-t2)}
.n2-cl-ci .n2-k{color:var(--n2-t3)}
.n2-cl-ci::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--n2-metal,#C9CED3);transition:width .35s var(--n2-ease,ease)}
.n2-cl-ci:hover::after{width:64px}
.n2-cl-cg.is-light{border-top-color:var(--n2-rule2)}
.n2-cl-cg.is-light .n2-cl-ci{border-bottom-color:var(--n2-rule)}
.n2-cl-cg.is-light .n2-cl-ci small,.n2-cl-cg.is-light .n2-cl-ci .n2-k{color:var(--n2-ink3)}
.n2-cl-ci.is-conf b{font-size:20px}
/* sports */
.n2-cl-spg{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:2px solid var(--n2-ink)}
.n2-cl-spi{display:grid;gap:8px;align-content:start;padding:20px 18px 22px 0;border-right:1px solid var(--n2-rule);color:inherit;text-decoration:none}
.n2-cl-spi+.n2-cl-spi{padding-left:18px}
.n2-cl-spi:last-child{border-right:0}
.n2-cl-spi b{font-family:var(--n2-fd);font-weight:800;font-size:30px;text-transform:uppercase;line-height:1}
.n2-cl-spi small{font-size:12.5px;color:var(--n2-ink3);min-height:2.6em}
.n2-cl-spi-go{font-family:var(--n2-fd);font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.n2-cl-spi.is-exp b{color:var(--n2-ink3)}
/* newsroom + media */
.n2-cl-nr{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,4vw,56px)}
.n2-cl-nr-s{display:grid;align-content:start}
.n2-cl-st{display:grid;gap:8px;padding:14px 0;border-bottom:1px solid var(--n2-rule);color:inherit;text-decoration:none}
.n2-cl-st h3{margin:0;font-family:var(--n2-fd);font-weight:800;font-size:22px;line-height:1.05;text-transform:uppercase}
.n2-cl-st.is-lead{padding:22px 0 26px;border-top:2px solid var(--n2-ink)}
.n2-cl-st.is-lead h3{font-size:clamp(30px,3.6vw,44px)}
.n2-cl-st-go{font-family:var(--n2-fd);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--n2-ink3)}
.n2-cl-md{color:inherit;text-decoration:none}
.n2-cl-md-f{aspect-ratio:16/9;max-width:100%;display:grid;place-items:center;background:radial-gradient(120% 120% at 80% 0%,#262A30 0%,#121417 60%,#08090A 100%);border:1px solid var(--n2-ln)}
.n2-cl-md-g{font-size:34px;color:var(--n2-t2);transition:transform .3s var(--n2-ease,ease)}
.n2-cl-md:hover .n2-cl-md-g{transform:scale(1.12)}
.n2-cl-md b{font-family:var(--n2-fd);font-weight:800;font-size:18px;text-transform:uppercase;line-height:1.08}
/* state / region discovery */
.n2-cl-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.n2-cl-chip{font-family:var(--n2-fd);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:9px 14px 8px;border:1px solid var(--n2-ln2);color:inherit;text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
.n2-cl-chip:hover{background:rgba(255,255,255,.06)}
.n2-cl-sg .n2-sblk-i{color:inherit;text-decoration:none}
/* teams */
.n2-cl-tg{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px 40px}
.n2-cl-tg.is-flow{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.n2-cl-tc{display:grid;align-content:start}
.n2-cl-tc>.n2-k{padding-bottom:8px;border-bottom:2px solid var(--n2-ink)}
.n2-cl-tm{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--n2-rule);color:inherit;text-decoration:none}
.n2-cl-tm-t{display:grid;gap:2px;min-width:0}
.n2-cl-tm-t b{font-weight:700;font-size:15px;overflow-wrap:anywhere}
.n2-cl-tm-t small{font-size:12px;color:var(--n2-ink3)}
.n2-cl-age{font-family:var(--n2-fd);font-weight:800;font-size:15px;letter-spacing:.06em;text-align:center;padding:5px 0 4px;background:var(--n2-ink);color:#fff}
/* conferences */
.n2-cl-cfg{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px 40px}
.n2-cl-cfc>.n2-k{padding-bottom:8px;border-bottom:2px solid var(--n2-ink)}
.n2-cl-cfl{display:grid}
.n2-cl-cfl.is-cols{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));column-gap:40px;border-top:2px solid var(--n2-ink)}
.n2-cl-cf{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--n2-rule);color:inherit;text-decoration:none;font-weight:600;font-size:14.5px}
.n2-cl-cf.is-plain{color:var(--n2-ink3);font-weight:500}
.n2-cl-cf small{color:var(--n2-ink3);font-family:var(--n2-fd);font-weight:700}
/* national events */
.n2-cl-natg{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));border-top:1px solid var(--n2-ln2)}
.n2-cl-nat-i{display:grid;gap:8px;padding:20px 20px 22px 0;border-bottom:1px solid var(--n2-ln);color:inherit;text-decoration:none}
.n2-cl-nat-i b{font-family:var(--n2-fd);font-weight:800;font-size:24px;line-height:1.02;text-transform:uppercase}
.n2-cl-nat-i small{color:var(--n2-t2);font-size:12.5px}
.n2-cl-nat-i .n2-k{color:var(--n2-t3)}
/* divisions */
.n2-cl-dg{display:grid;border-top:2px solid var(--n2-ink)}
.n2-cl-dr{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--n2-rule);color:inherit;text-decoration:none}
.n2-cl-dr b{font-family:var(--n2-fd);font-weight:800;font-size:22px}
.n2-cl-dr span{font-size:14px;overflow-wrap:anywhere}
.n2-cl-dr small{font-family:var(--n2-fd);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--n2-ink3);white-space:nowrap}
/* teams by age */
.n2-cl-bars{display:grid;gap:12px;max-width:760px}
.n2-cl-bar{display:grid;grid-template-columns:56px minmax(0,1fr) 90px;align-items:center;gap:14px}
.n2-cl-bar b{font-family:var(--n2-fd);font-weight:800;font-size:20px;color:var(--n2-ink)}
.n2-cl-bar-t{height:10px;background:var(--n2-rule)}
.n2-cl-bar-t i{display:block;height:100%;background:var(--n2-ink)}
.n2-cl-bar small{font-size:12px;color:var(--n2-ink3);text-align:right}
/* fact sheet */
.n2-cl-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;border-top:2px solid var(--n2-ink)}
.n2-cl-dl>div{border-bottom:1px solid var(--n2-rule);padding:14px 16px 14px 0;min-width:0}
.n2-cl-dl dt{font-family:var(--n2-fd);font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--n2-ink3)}
.n2-cl-dl dd{margin:4px 0 0;font-weight:600;font-size:16px;overflow-wrap:anywhere}
.n2-cl-src{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:18px}
.n2-cl-src small{font-size:12px;color:var(--n2-ink3)}
/* calendar rail */
.n2-cl-f{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;width:100%}
.n2-cl-f .n2-sel{min-width:0}
.n2-cl-f select{width:100%;min-height:42px}
.n2-cl-tld .n2-tl-day b{font-size:30px}

@media (max-width:1100px){
  .n2-cl-spg{grid-template-columns:repeat(3,minmax(0,1fr))}
  .n2-cl-spi:nth-child(3){border-right:0}
  .n2-cl-spi:nth-child(4){padding-left:0}
  .n2-cl-f{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:767px){
  .n2-cl-id{justify-self:start}
  .n2-cl-off{justify-self:start}
  .n2-cl-ev{grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:start}
  .n2-cl-ev-d b{font-size:22px}
  .n2-cl-ev-t b{font-size:17px}
  .n2-cl-ev-r{grid-column:2;justify-items:start;text-align:left;grid-auto-flow:column;justify-content:start;align-items:center;gap:10px}
  .n2-cl-or{grid-template-columns:auto minmax(0,1fr)}
  .n2-cl-or .n2-sr-p{grid-column:2}
  .n2-cl-or .n2-cl-or-v{grid-column:2;justify-self:start}
  .n2-cl-or .n2-sr-t b{font-size:18px}
  .n2-cl-spg{grid-template-columns:repeat(2,minmax(0,1fr))}
  .n2-cl-spi,.n2-cl-spi+.n2-cl-spi{padding:16px 12px 18px 0;border-right:0;border-bottom:1px solid var(--n2-rule)}
  .n2-cl-spi b{font-size:24px}
  .n2-cl-nr{grid-template-columns:minmax(0,1fr)}
  .n2-cl-cg,.n2-cl-natg{grid-template-columns:minmax(0,1fr)}
  .n2-cl-ci b,.n2-cl-nat-i b{font-size:21px}
  .n2-cl-tg,.n2-cl-tg.is-flow,.n2-cl-cfg,.n2-cl-cfl.is-cols{grid-template-columns:minmax(0,1fr)}
  .n2-cl-dr{grid-template-columns:52px minmax(0,1fr)}
  .n2-cl-dr small{grid-column:2}
  .n2-cl-bar{grid-template-columns:44px minmax(0,1fr) 70px;gap:10px}
  .n2-cl-f{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .n2-cl-f select{font-size:16px}
  .n2-cl-dl{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .n2-cl-h .n2-title.is-long{font-size:clamp(30px,9vw,44px)}
  .n2-cl-chip{flex:1 1 calc(50% - 8px);justify-content:center}
}

/* long names in header links and lockups wrap instead of running off the sheet */
.n2-cl .n2-hd-r{min-width:0;max-width:100%}
.n2-cl .n2-hd-r .n2-more{white-space:normal;overflow-wrap:anywhere}
.n2-cl-f .n2-sel{display:grid;gap:4px;align-items:stretch}
.n2-cl-f .n2-sel .n2-rail-k{white-space:nowrap}
.n2-cl-f select{text-overflow:ellipsis}

/* 1.2.3 — state outline mark in the empty space above the state name (state home hero, left column) */
.n2-mast-l.has-shape{align-self:stretch;display:flex;flex-direction:column}
.n2-mast-l.has-shape>*{flex:none}
.n2-mast-l.has-shape>.n2-shape{position:relative;flex:1 0 96px;min-height:0;max-height:300px;margin-bottom:22px;margin-top:auto;pointer-events:none;color:rgba(214,220,226,.34)}
.n2-shape svg{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible}
.n2-shape path{fill:rgba(214,220,226,.045);stroke:currentColor;stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
@media (max-width:900px){.n2-mast-l.has-shape>.n2-shape{flex:0 0 auto;height:110px;max-width:460px;margin-bottom:18px}}

/* 1.2.4 — headline links (title text links to Game Center / Power Rankings / school / event page) */
.n2-story-a{color:inherit;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .2s ease}
.n2-story-a:hover{background-size:100% 1px}
.n2-story-a:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}
@media (prefers-reduced-motion:reduce){.n2-story-a{transition:none}}
