/* Inner pages v2 — carries the home v2 system (paper, ink, court green, lime for actions, team colour as the only
   strong colour) into hubs and directories. Loaded after production/navigation CSS on every page except the home. */
:root{--iv-paper:#f7f8f3;--iv-ink:#0c1726;--iv-court:#17221c;--iv-lime:#c6f14b;--iv-line:#dce3d5;--iv-muted:#4f6340}

/* Page header: bigger, tighter, no generic label above it. */
.page-heading{margin:10px 0 26px;max-width:900px}
.page-heading h1{font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.02;letter-spacing:-.025em;margin:.15em 0 .3em;text-wrap:balance}
.page-heading>p{font-size:1.08rem;line-height:1.55;color:#3d4a36;max-width:68ch;margin:0}

/* Link rows between related pages: small pills that scroll sideways on phones instead of stacking into a wall. */
.data-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}
.media-tabs a,.news-sections a{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border:1px solid var(--iv-line);border-radius:999px;background:#fff;color:var(--iv-ink);font-size:.84rem;font-weight:600;text-decoration:none;white-space:nowrap}
.media-tabs a:hover,.news-sections a:hover{border-color:var(--iv-ink)}
.media-tabs a[aria-current=page],.news-sections a[aria-current=page]{background:var(--iv-court);border-color:var(--iv-court);color:#fff}
.data-tabs a{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border:1px solid var(--iv-line);border-radius:999px;background:#fff;color:var(--iv-ink);font-size:.84rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:border-color .15s,background .15s}
.data-tabs a:hover{border-color:var(--iv-ink)}
.data-tabs a:focus-visible{outline:3px solid #7aa51a;outline-offset:2px}
.data-tabs a[aria-current="page"],.data-tabs a.is-active{background:var(--iv-court);border-color:var(--iv-court);color:#fff}
@media(max-width:700px){.data-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:6px;margin-inline:-4px;padding-inline:4px}}

/* "Teams you follow": one compact bar until the reader follows a team. */
.following-manager{padding:14px 18px;border-radius:12px;background:#fff;border:1px solid var(--iv-line);margin:18px 0}
.following-manager h2{font-size:1.05rem;margin:0 0 4px}
.following-manager>p{font-size:.85rem;color:var(--iv-muted);margin:0}
.following-manager [data-following-empty]{font-size:.85rem;margin:6px 0 0}

/* Filters */
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0 8px}
.filter-button{min-height:40px;padding:6px 16px;border-radius:999px;border:1px solid var(--iv-line);background:#fff;font-weight:600;font-size:.88rem;cursor:pointer}
.filter-button[aria-pressed="true"]{background:var(--iv-court);border-color:var(--iv-court);color:#fff}
.filters input[type=search]{margin-left:auto;min-height:42px;border-radius:999px;border:1px solid var(--iv-line);padding:0 18px;min-width:240px;background:#fff}
@media(max-width:700px){.filters input[type=search]{margin-left:0;width:100%;min-width:0}}

/* Team directory cards */
.team-grid-v2{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:16px}
.tcard{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--iv-line);border-radius:14px;overflow:hidden;transition:box-shadow .2s,transform .2s}
.tcard:hover{box-shadow:0 12px 28px rgba(12,23,38,.10);transform:translateY(-2px)}
.tcard .tcard-main{display:flex;align-items:center;gap:14px;padding:16px 16px 12px;border:0;border-radius:0;background:transparent;text-decoration:none;color:inherit}
.tcard .tcard-main svg{display:none}
.tcard-logo{flex:0 0 64px;width:64px;height:64px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tc) 12%,#fff);border:1px solid color-mix(in srgb,var(--tc) 22%,#fff)}
.tcard-logo img,.tcard-logo .team-circle{width:46px;height:46px;object-fit:contain}
.tcard-id h2{margin:0;font-size:1.12rem;line-height:1.2;letter-spacing:-.01em}
.tcard-meta{display:block;margin-top:3px;font-size:.8rem;color:var(--iv-muted)}
.tcard-facts{margin:0;padding:0 16px 12px;display:grid;gap:6px}
.tcard-facts div{display:grid;grid-template-columns:96px 1fr;gap:8px;align-items:baseline;font-size:.86rem}
.tcard-facts dt{color:var(--iv-muted);font-size:.76rem}
.tcard-facts dd{margin:0;min-width:0;overflow-wrap:anywhere}
.tcard-facts dd b{font-variant-numeric:tabular-nums;font-size:.98rem}
.tcard-facts dd span{color:var(--iv-muted)}
.tcard-facts a{color:inherit;font-weight:600}
.roster-scoring-scope{display:block;white-space:normal;font-size:.72rem;line-height:1.4;color:var(--iv-muted);margin-top:3px}
.tcard-links{margin:auto 0 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--iv-line)}
.tcard-links a{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:.78rem;font-weight:700;color:var(--iv-ink);text-decoration:none;border-right:1px solid var(--iv-line);text-align:center;padding:0 4px}
.tcard-links a:last-child{border-right:0}
.tcard-links a:hover{background:color-mix(in srgb,var(--tc) 8%,#fff)}
.tcard .following-toggle{align-self:flex-start;margin:0 16px 12px;min-height:32px;padding:4px 12px;border-radius:999px;border:1px solid var(--iv-line);background:#fff;font-size:.76rem;font-weight:700;width:auto;max-width:none}
.tcard .following-toggle[aria-pressed="true"]{background:var(--iv-lime);border-color:var(--iv-lime);color:var(--iv-court)}
@media(max-width:420px){.tcard-links{grid-template-columns:repeat(2,1fr)}.tcard-links a:nth-child(2){border-right:0}.tcard-links a:nth-child(-n+2){border-bottom:1px solid var(--iv-line)}}

/* Profile masthead (team and player pages): ink ground so white text always holds, with the team colour at full
   strength glowing from the far corner as the page's one strong colour. Two faint rings echo the centre circle; lime
   stays reserved for the primary action. */
.pm-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:center;min-height:0;margin:4px 0 0;padding:clamp(24px,4vw,52px);border-radius:16px;overflow:hidden;color:#fff;background:radial-gradient(90% 150% at 100% 0%,color-mix(in srgb,var(--tc) 78%,transparent) 0%,color-mix(in srgb,var(--tc) 22%,transparent) 42%,transparent 70%),linear-gradient(100deg,#0c1520 0%,#101c28 100%);box-shadow:inset 0 -5px 0 var(--tc)}
.pm-hero::before,.pm-hero::after{content:"";position:absolute;z-index:-1;top:50%;right:-120px;border-radius:50%;border:2px solid rgba(255,255,255,.07);transform:translateY(-50%);pointer-events:none}
.pm-hero::before{width:560px;height:560px}
.pm-hero::after{width:200px;height:200px;right:60px}
.pm-hero.pm-no-tile{grid-template-columns:minmax(0,1fr)}
.pm-hero>div:first-child{padding:0;align-self:auto}
.pm-tile{display:grid;place-items:center;width:clamp(104px,11vw,148px);aspect-ratio:1;border-radius:16px;background:#fff;box-shadow:0 14px 32px rgba(0,0,0,.28);overflow:hidden}
.pm-tile img,.pm-tile svg{width:76%;height:76%;object-fit:contain;margin:0;border-radius:0;max-width:none;max-height:none}
.pm-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.pm-hero h1{margin:0 0 10px;color:#fff;font-size:clamp(2.3rem,5vw,4.3rem);line-height:.98;letter-spacing:-.03em;text-wrap:balance}
.pm-hero .pm-meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;color:rgba(255,255,255,.8);font-size:1rem;line-height:1.45}
.pm-hero .pm-meta a,.pm-hero .pm-facts a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:3px}
.pm-hero .pm-meta a:hover,.pm-hero .pm-facts a:hover{text-decoration-color:#fff}
.pm-facts{display:flex;flex-wrap:wrap;gap:14px 0;margin:24px 0 0;padding:0}
.pm-facts>div{padding:0 24px;border-left:1px solid rgba(255,255,255,.2)}
.pm-facts>div:first-child{padding-left:0;border-left:0}
.pm-facts dt{margin:0 0 5px;color:rgba(255,255,255,.7);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.pm-facts dd{margin:0;color:#fff;font-size:1.02rem;font-weight:600}
.pm-facts dd b{font-size:1.55rem;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.pm-facts dd span{color:rgba(255,255,255,.72);font-size:.86rem;font-weight:500}
.pm-line dd{display:flex;flex-wrap:wrap;gap:4px 20px}
.pm-line dd>span{color:#fff;font-size:1rem;white-space:nowrap}
.pm-line dd small{color:rgba(255,255,255,.72);font-size:.8rem;font-weight:600;letter-spacing:.03em}
.pm-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.pm-actions a,.pm-actions .following-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 18px;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:transparent;color:#fff;font:inherit;font-size:.88rem;font-weight:700;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.pm-actions a:hover{background:rgba(255,255,255,.1);border-color:#fff}
.pm-actions .pm-primary,.pm-actions .following-toggle{background:var(--iv-lime);border-color:var(--iv-lime);color:var(--iv-court)}
.pm-actions .pm-primary:hover,.pm-actions .following-toggle:hover{background:#d6f774;border-color:#d6f774}
.pm-actions .following-toggle[aria-pressed="true"]{background:#fff;border-color:#fff;color:var(--iv-court)}
.pm-actions .following-toggle[hidden]{display:none}
.pm-hero a:focus-visible,.pm-hero button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.pm-hero+.source-stamp{padding:12px 2px 0}
.pm-tabs{margin-top:14px}
@media(max-width:700px){
 .pm-hero{grid-template-columns:minmax(0,1fr);gap:18px;padding:24px 20px 26px;border-radius:14px}
 .pm-hero::before{width:380px;height:380px;top:0;right:-190px}
 .pm-hero::after{display:none}
 .pm-tile{width:88px;border-radius:14px}
 .pm-portrait{width:112px}
 .pm-hero h1{font-size:clamp(2.1rem,10vw,2.8rem)}
 .pm-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-top:20px}
 .pm-facts>div:last-child:nth-child(odd){grid-column:1/-1}
 .pm-facts>div{padding:0;border-left:0}
 .pm-facts dd b{font-size:1.3rem}
 .pm-line dd{gap:4px 16px}
 .pm-actions{margin-top:20px}
 .pm-actions a,.pm-actions .following-toggle{flex:1 1 100%;justify-content:center}
 .pm-actions a:not(.pm-primary){flex:1 1 calc(50% - 5px);padding:8px 10px;font-size:.82rem}
}

/* Data tables everywhere: quiet header band, white row headers (the old tinted first column read as a highlight),
   tabular figures so columns line up, and a soft row hover for tracking across wide tables. */
table{font-variant-numeric:tabular-nums}
thead th{background:#f1f4ec;color:#40523a;font-weight:700;border-bottom:1px solid #cfd8c6}
tbody th{background:#fff;color:var(--iv-ink);font-weight:600}
tbody tr:hover>td,tbody tr:hover>th{background:#f7f9f2}

/* Standings: rank chips carry the playoff (solid) and Play-In (outlined) zones, a rule marks each cut line, logos
   make 15 rows scannable, and on phones rank + team stay pinned while the numbers scroll. */
.st-key{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0 4px;font-size:.82rem;font-weight:600;color:#40523a}
.st-key span{display:inline-flex;align-items:center;gap:8px}
.st-key span::before{content:"";width:14px;height:14px;border-radius:4px}
.st-key-po::before{background:var(--iv-court)}
.st-key-pi::before{background:#eef6d6;box-shadow:inset 0 0 0 1px #9fc464}
.standings-conference h3{font-size:1.35rem;letter-spacing:-.01em;margin:0 0 10px}
.standings-conference table{min-width:880px}
.standings-conference th,.standings-conference td{padding:10px 12px}
.standings-conference td:nth-child(n+3):not(:nth-child(9)),.standings-conference thead th:nth-child(n+3):not(:nth-child(9)){text-align:right}
.standings-conference thead th:first-child,.standings-conference .st-rank{width:52px;text-align:center}
.st-rank span{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 4px;border-radius:7px;font-size:.8rem;font-weight:800;color:#40523a}
.st-po .st-rank span{background:var(--iv-court);color:#fff}
.st-pi .st-rank span{background:#eef6d6;color:var(--iv-court);box-shadow:inset 0 0 0 1px #9fc464}
tr.st-po+tr.st-pi>*{border-top:2px solid var(--iv-court)}
tr.st-pi+tr:not(.st-pi)>*{border-top:2px dashed #aebb9f}
.st-team{display:flex;align-items:center;gap:10px}
.st-team .st-logo{width:26px;height:26px;object-fit:contain;flex:none}
.standings-conference .st-team a{font-weight:700;text-decoration:none;color:var(--iv-ink)}
.standings-conference .st-team a:hover{text-decoration:underline;text-underline-offset:3px}
.standings-conference td:nth-child(3){font-weight:800}
@media(max-width:900px){
 .standings-conference .st-rank,.standings-conference thead th:first-child{position:sticky;left:0;z-index:1;background:#fff}
 .standings-conference thead th:first-child{background:#f1f4ec}
 .standings-conference tbody th,.standings-conference thead th:nth-child(2){position:sticky;left:52px;z-index:1;box-shadow:6px 0 8px -6px rgba(12,23,38,.18)}
 .standings-conference thead th:nth-child(2){background:#f1f4ec}
}

/* Game cards: a small scoreboard (logos, abbreviations, score with the winner in ink) above the matchup link. */
.game-card{display:flex;flex-direction:column;padding:18px 20px;border:1px solid var(--iv-line);border-radius:14px;background:#fff;transition:box-shadow .2s,transform .2s}
.game-card:hover{box-shadow:0 10px 24px rgba(12,23,38,.08);transform:translateY(-1px)}
.game-card-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;font-size:.76rem;color:#4f5a48}
.game-card-top span{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--iv-ink)}
.gc-board{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:14px 0 12px;padding:12px 0;border-block:1px solid #edf1e8}
.gc-team{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.gc-logo{display:grid;place-items:center;width:46px;height:46px}
.gc-logo img{width:42px;height:42px;object-fit:contain}
.gc-logo:empty{display:none}
.gc-abbr{font-size:.8rem;font-weight:800;letter-spacing:.05em;color:var(--iv-ink);text-align:center;overflow-wrap:anywhere}
.game-card .game-score{display:flex;align-items:baseline;gap:8px;margin:0;font-size:1.75rem;font-weight:800;line-height:1;color:#6b7563;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.game-card .game-score span{font-size:1rem;font-weight:500;color:#8a9482}
.game-card .game-score .gc-win{color:var(--iv-ink)}
.gc-at{font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6b7563}
.game-card .game-card-title{margin:0 0 6px;font-size:1rem;line-height:1.35;letter-spacing:-.005em}
.game-card .game-card-title a{text-decoration:none}
.game-card .game-card-title a:hover{text-decoration:underline;text-underline-offset:3px}
.game-card p{margin:2px 0;font-size:.82rem;color:#4f5a48}
.game-card .game-stage{margin-top:auto;padding-top:6px;color:#5b6652}

/* Hub link grids (stats hub, glossary): separate cards with a gap instead of a shared outline whose inner rules broke
   on uneven rows. The arrow nudges on hover so the whole card reads as one target. */
.explore-grid{gap:12px;border:0;border-radius:0}
.explore-grid>a:nth-child(n){position:relative;display:flex;flex-direction:column;padding:20px 48px 20px 22px;border:1px solid var(--iv-line);border-radius:12px;background:#fff;text-decoration:none;color:var(--iv-ink);transition:border-color .15s,transform .2s,box-shadow .2s}
.explore-grid>a:hover{border-color:#9fb08f;transform:translateY(-2px);box-shadow:0 10px 22px rgba(12,23,38,.07)}
.explore-grid>a:focus-visible{outline:3px solid #7aa51a;outline-offset:2px}
.explore-grid>a h2,.explore-grid>a h3{margin:0 0 6px;font-size:1.08rem;line-height:1.3;letter-spacing:-.01em;padding-right:0}
.explore-grid>a p{max-width:none;margin:0;font-size:.84rem;line-height:1.5;color:#4f5a48}
.explore-grid svg{top:21px;right:18px;width:18px;color:#6b7a5d;transition:transform .2s,color .2s}
.explore-grid>a:hover svg{transform:translateX(3px);color:var(--iv-court)}

/* "Your teams" shortcut bar on scores/schedule: one compact line, not a tall empty panel. */
.following-summary{min-height:0;padding:14px 18px;border:1px solid var(--iv-line);border-radius:12px;background:#fff;margin:18px 0}
.following-summary h2{font-size:1.05rem}
.following-summary p{margin:2px 0 0;font-size:.88rem;color:var(--iv-muted)}
@media(max-width:700px){.following-summary{min-height:0}}

/* Wide stat tables (player/team stats, leaders, reports): one bordered panel, name links that read as names, a drawn
   sort caret, the sorted column carried down the table, and on phones the name column pinned while numbers scroll. */
.hub-table{border:1px solid var(--iv-line);border-radius:12px;background:#fff}
.hub-table table{background:transparent}
.hub-table thead th a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:5px}
.hub-table thead th a:hover{color:var(--iv-ink);text-decoration:underline;text-underline-offset:3px}
.hub-table thead th[aria-sort]{background:var(--iv-court);color:#fff}
.hub-table thead th[aria-sort] a::after{content:"";border:4px solid transparent;border-top:5px solid currentColor;border-bottom:0;margin-top:2px}
.hub-table thead th[aria-sort=ascending] a::after{border-top:0;border-bottom:5px solid currentColor;margin:0 0 2px}
.hub-table table:has(thead th:nth-child(3)[aria-sort]) tbody td:nth-child(3),.hub-table table:has(thead th:nth-child(4)[aria-sort]) tbody td:nth-child(4),.hub-table table:has(thead th:nth-child(5)[aria-sort]) tbody td:nth-child(5),.hub-table table:has(thead th:nth-child(6)[aria-sort]) tbody td:nth-child(6),.hub-table table:has(thead th:nth-child(7)[aria-sort]) tbody td:nth-child(7),.hub-table table:has(thead th:nth-child(8)[aria-sort]) tbody td:nth-child(8),.hub-table table:has(thead th:nth-child(9)[aria-sort]) tbody td:nth-child(9),.hub-table table:has(thead th:nth-child(10)[aria-sort]) tbody td:nth-child(10),.hub-table table:has(thead th:nth-child(11)[aria-sort]) tbody td:nth-child(11),.hub-table table:has(thead th:nth-child(12)[aria-sort]) tbody td:nth-child(12),.hub-table table:has(thead th:nth-child(13)[aria-sort]) tbody td:nth-child(13),.hub-table table:has(thead th:nth-child(14)[aria-sort]) tbody td:nth-child(14),.hub-table table:has(thead th:nth-child(15)[aria-sort]) tbody td:nth-child(15),.hub-table table:has(thead th:nth-child(16)[aria-sort]) tbody td:nth-child(16),.hub-table table:has(thead th:nth-child(17)[aria-sort]) tbody td:nth-child(17),.hub-table table:has(thead th:nth-child(18)[aria-sort]) tbody td:nth-child(18){background:#f3f8e6;font-weight:700;color:var(--iv-ink)}
.hub-table tbody th a{text-decoration:none;font-weight:700;color:var(--iv-ink)}
.hub-table tbody th a:hover{text-decoration:underline;text-underline-offset:3px}
.hub-table tbody tr:last-child>*{border-bottom:0}
@media(max-width:900px){
 :not(.standings-conference)>.hub-table table:has(tbody tr>td:first-child+th[scope=row]) :is(tbody th[scope=row],thead th:nth-child(2)),
 :not(.standings-conference)>.hub-table table:has(tbody tr>th[scope=row]:first-child) :is(tbody th[scope=row],thead th:first-child){position:sticky;left:0;z-index:1;box-shadow:6px 0 8px -6px rgba(12,23,38,.18)}
 :not(.standings-conference)>.hub-table table:has(tbody tr>td:first-child+th[scope=row]) tbody th[scope=row]{background:#fff}
}
/* Game Center scoreboard: the result as a dark board (ink ground, centre-circle rings like the profile mastheads),
   logos on white tiles so every club mark holds, and the loser's score dimmed once a final is in. */
.game-center .game-summary{position:relative;isolation:isolate;overflow:hidden;max-width:none;padding:clamp(22px,3.5vw,40px);border:0;border-radius:16px;color:#fff;text-align:center;background:linear-gradient(100deg,#0c1520 0%,#122030 100%)}
.game-center .game-summary::before,.game-center .game-summary::after{content:"";position:absolute;z-index:-1;left:50%;top:50%;border-radius:50%;border:2px solid rgba(255,255,255,.06);transform:translate(-50%,-50%);pointer-events:none}
.game-center .game-summary::before{width:420px;height:420px}
.game-center .game-summary::after{width:130px;height:130px}
.game-center .game-summary>h2{display:inline-flex;margin:0;padding:5px 14px;border-radius:999px;background:var(--iv-lime);color:var(--iv-court);font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.game-center .game-matchup{gap:clamp(16px,5vw,72px);margin:22px 0 14px}
.game-center .game-matchup>div{justify-items:center;align-content:start}
.game-center .game-matchup span{color:rgba(255,255,255,.66);font-size:.72rem;font-weight:700;letter-spacing:.08em}
.game-center .game-matchup h3{margin:8px 0 6px;color:#fff;font-size:clamp(1.1rem,2.2vw,1.6rem);line-height:1.25}
.game-center .game-matchup h3 a{color:#fff;text-decoration:none}
.game-center .game-matchup h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.game-center .game-matchup h3 a:focus-visible{outline:3px solid #fff;outline-offset:3px}
.gs-logo{display:grid;place-items:center;width:88px;height:88px;margin:0 auto 14px;border-radius:18px;background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.3)}
.gs-logo img{width:66px;height:66px;object-fit:contain}
.game-center .game-matchup .game-score{color:#fff;font-size:clamp(3rem,7vw,5rem);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.game-center .game-matchup:has(.gs-win)>div:not(.gs-win) .game-score{color:rgba(255,255,255,.5)}
.game-center .game-summary p{margin:4px 0;color:rgba(255,255,255,.76);font-size:.9rem}
.game-center .game-summary p a{color:#fff}
@media(max-width:600px){
 .game-center .game-summary{padding:22px 16px 20px}
 .gs-logo{width:64px;height:64px;border-radius:14px;margin-bottom:10px}
 .gs-logo img{width:48px;height:48px}
 .game-center .game-matchup h3 a{min-height:0}
 .game-center .game-matchup .game-score{font-size:2.6rem}
}
/* Articles (Read mode): a reading measure near 68ch, a calmer meta line led by the section chip, images cropped to a
   steady 16:9 instead of stretched, and source/author notes as quiet cards (no thick side rule). */
.article-header h1{font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1.06;letter-spacing:-.028em;margin:14px 0 18px;text-wrap:balance;max-width:22ch}
.article-meta{gap:6px 14px;font-size:.82rem;padding-bottom:22px;border-bottom:1px solid var(--iv-line);margin-bottom:28px}
.article-meta a{color:inherit;text-decoration:none}
.article-meta a:hover{text-decoration:underline;text-underline-offset:3px}
.article-meta .am-section{display:inline-flex;align-items:center;min-height:28px;padding:3px 12px;border-radius:999px;background:var(--iv-court);color:#fff;font-weight:700;font-size:.76rem}
.article-meta a.am-section:hover{background:#26362b;text-decoration:none}
.article-meta>span:last-child{color:#6b7563}
.article-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:14px;margin:0 0 30px}
.article-shell .prose{max-width:680px;font-size:1.1rem;line-height:1.75;color:#28331f}
.article-shell .prose>p:first-child{font-size:1.2rem;line-height:1.65;color:var(--iv-ink)}
.article-shell .prose p{margin:0 0 1.15em}
.article-shell .prose h2{font-size:clamp(1.45rem,2.6vw,1.8rem);letter-spacing:-.018em;margin:1.9em 0 .55em}
.article-shell .prose a{color:#3f5a17;text-decoration-color:#9fc464;text-decoration-thickness:2px;text-underline-offset:3px}
.article-shell .prose a:hover{text-decoration-color:currentColor}
.article-shell .prose blockquote{margin:1.6em 0;padding:0 0 0 1.1em;border-left:1px solid var(--iv-ink);font-size:1.15rem;color:var(--iv-ink)}
.article-shell .prose strong{color:var(--iv-ink)}
.source-box,.author-box{max-width:680px;margin:28px 0 0;padding:20px 22px;border:1px solid var(--iv-line);border-left-width:1px;border-left-color:var(--iv-line);border-radius:12px;background:#fff;font-size:.9rem;line-height:1.6;color:#3d4a36}
.source-box h2,.author-box h2{margin:0 0 8px;font-size:1rem;letter-spacing:-.005em;color:var(--iv-ink)}
.source-box ul{margin:0 0 10px;padding-left:1.1em}
.source-box a,.author-box a{color:#3f5a17;text-decoration:underline;text-decoration-color:#9fc464;text-underline-offset:3px}
.author-box>a{display:inline-block;margin-top:4px;font-weight:700}
.article-shell.prose{max-width:680px;margin-left:0;font-size:1.08rem;line-height:1.75;color:#28331f}
.article-shell.prose h2{font-size:clamp(1.4rem,2.4vw,1.7rem);letter-spacing:-.018em;margin:1.8em 0 .5em}
.article-shell.prose h2:first-child{margin-top:.4em}
.article-shell.prose a{color:#3f5a17;text-decoration-color:#9fc464;text-decoration-thickness:2px}
@media(max-width:700px){.article-shell .prose{font-size:1.05rem}.article-shell .prose>p:first-child{font-size:1.12rem}.article-image{border-radius:12px;margin-bottom:22px}}
/* Video and Shorts cards. Thumbnails stay off until the reader chooses a player (privacy/rights), so the frame is a
   drawn court (half-court line and centre circle) with a centred play control, not a stretched empty box. The date
   line moves under the title so the headline leads. */
.video-grid,.shorts-grid{gap:22px 18px}
@media(min-width:1200px){.video-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.shorts-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.video-card{display:flex;flex-direction:column;min-width:0}
.video-card .video-thumbnail,.short-card .video-thumbnail:not(:has(img)),.video-thumbnail:not(:has(img)){width:100%;height:auto;min-height:0;border-radius:14px;transition:box-shadow .2s,transform .2s}
.video-thumbnail:not(:has(img)),.short-card .video-thumbnail:not(:has(img)){aspect-ratio:16/9;background:radial-gradient(circle at 50% 50%,transparent 0 44px,rgba(255,255,255,.08) 44px 46px,transparent 46px),linear-gradient(90deg,transparent calc(50% - 1px),rgba(255,255,255,.07) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(135deg,#15263a 0%,#0c1520 100%)}
.short-card .video-thumbnail:not(:has(img)){aspect-ratio:4/3}
.video-card .video-thumbnail:hover{box-shadow:0 12px 26px rgba(12,23,38,.18);transform:translateY(-2px)}
.video-card .video-play{left:50%;top:50%;bottom:auto;width:56px;height:56px;transform:translate(-50%,-50%);box-shadow:0 8px 20px rgba(0,0,0,.35);transition:transform .2s}
.video-card .video-play svg{width:22px;height:22px;margin-left:3px}
.video-card .video-thumbnail:hover .video-play{transform:translate(-50%,-50%) scale(1.08)}
.video-card .video-thumbnail:focus-visible{outline:3px solid #7aa51a;outline-offset:3px}
.video-card .video-duration{right:10px;bottom:10px;padding:3px 8px;border-radius:6px;font-size:.72rem;letter-spacing:.03em;font-variant-numeric:tabular-nums}
.video-card h3{order:2;margin:12px 0 4px;font-size:1.05rem;line-height:1.35;letter-spacing:-.005em}
.short-card h3{font-size:1rem}
.video-card h3 a{text-decoration:none;color:var(--iv-ink)}
.video-card h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.video-card>.eyebrow{order:3;margin:0;color:#5b6652;font-size:.76rem;font-weight:600;letter-spacing:0;text-transform:none}

/* Draft board: the pick number leads each row, player names read as names. */
tr[data-draft-pick]>th{font-size:1.25rem;font-weight:800;line-height:1.1;color:var(--iv-ink);font-variant-numeric:tabular-nums}
tr[data-draft-pick]>th small{display:block;margin-top:3px;font-size:.68rem;font-weight:600;color:#5b6652;letter-spacing:.02em}
tr[data-draft-pick] td a{font-weight:700;color:var(--iv-ink);text-decoration:none}
tr[data-draft-pick] td a:hover{text-decoration:underline;text-underline-offset:3px}
tr[data-draft-pick] td small{color:#5b6652}
/* Callouts and flagged rows: one hairline border and a soft tint instead of a thick coloured side rule. Wire rows
   already carry a category chip, so the side bar was a second signal saying the same thing. */
.wire-row,.wire-row[class*="cat-"]{border-left-color:transparent}
.overview-notice,.story-reporting-status,.legend-intro,.report-stale,.hub-panel,.daily-brief-card{border-left-width:1px;border-left-style:solid;border-radius:12px}
.overview-notice{border:1px solid #d3dcc6;background:#f4f7ef}
.story-reporting-status{border:1px solid #d3dcc6}
.legend-intro{border:1px solid #d3dcc6;background:#f4f7ef;padding:12px 16px}
.report-stale{border:1px solid #e6cf97}
.hub-panel{border-left-color:#dce3d4}
.daily-brief-card{border-left-color:#d4e1c4}
.sourced-media-card{border-left:1px solid #dfe5d7;border-radius:12px}
.player-status{border-left-width:1px;border-radius:12px}
/* Game Center heading: season and stage as a chip leading the date line (replaces the label above the title). */
.gc-heading h1{max-width:24ch}
.gc-heading p{line-height:1.9}
.gc-stage{display:inline-flex;align-items:center;min-height:28px;margin-right:6px;padding:2px 12px;border-radius:999px;background:var(--iv-court);color:#fff;font-size:.76rem;font-weight:700;vertical-align:1px}
.gc-heading p a{color:var(--iv-ink);text-decoration-color:#9fc464;text-decoration-thickness:2px;text-underline-offset:3px}
.gc-heading p a:hover{text-decoration-color:currentColor}
.games-count a{margin-left:4px;font-weight:700;color:var(--iv-ink);text-decoration:underline;text-decoration-color:#9fc464;text-decoration-thickness:2px;text-underline-offset:3px}
/* Career at a glance (legend and veteran profiles) and game recaps: readable measure, links that look like links. */
.player-glance,.game-recap{margin:28px 0}
.player-glance p,.game-recap p{max-width:78ch;line-height:1.7}
.player-glance a,.game-recap a,.legends-summary a{color:#3f5a17;font-weight:600;text-decoration:underline;text-decoration-color:#9fc464;text-decoration-thickness:2px;text-underline-offset:3px}
.legends-summary p{max-width:90ch}
/* Browser surfaces */
::selection{background:var(--iv-lime);color:var(--iv-court)}
