:root{color-scheme:dark;--ink:#f0eef8;--muted:#bbb2cc;--accent:#5af1db;--line:#3a2b50;--bg:#130d20;--panel:#21182e;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 80% 0%,#352053,transparent 40rem),var(--bg);color:var(--ink);line-height:1.5}button,select{font:inherit}h1,h2,p{margin:0}.wrap{width:min(1080px,calc(100% - 40px));margin:auto}.top{background:#130d20b8;border-bottom:1px solid var(--line)}.top-inner{display:flex;align-items:center;min-height:74px;gap:12px;font-weight:750}.top img{object-fit:contain}.season{margin-left:auto;color:var(--accent);font-size:.75rem;text-transform:uppercase;letter-spacing:.11em;white-space:nowrap}.hero{padding:55px 0 38px}.eyebrow{font-size:.72rem;color:var(--accent);font-weight:800;letter-spacing:.16em}.hero h1{font-size:clamp(2.7rem,7vw,5.2rem);line-height:1.02;letter-spacing:-.06em;margin:8px 0 12px}.hero p,.card p,.empty{color:var(--muted)}.live{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;color:var(--muted);margin-top:18px}.live::before{content:"";background:#a895bc;width:8px;height:8px;border-radius:50%}.live.connected::before{background:var(--accent);box-shadow:0 0 10px #5af1db80}.live.error::before{background:#ff9a81}.board{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:24px}.heading{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}.heading h2,.card h2{font-size:1.42rem;letter-spacing:-.025em}.controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.controls label{display:grid;gap:4px;font-size:.74rem;color:var(--muted)}select,button{min-height:42px;border:1px solid #58466e;border-radius:9px;background:#160f22;color:var(--ink);padding:7px 12px}button{color:var(--accent);cursor:pointer}button:disabled{opacity:.6;cursor:wait}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.totals{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.badge{display:inline-flex;align-items:center;gap:7px;width:max-content;font-size:.76rem;font-weight:700;border-radius:30px;padding:4px 10px;background:#342943;color:#e3d8ef;white-space:nowrap}.badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.badge.pass{background:#153830;color:#8bf3c9}.badge.failed{background:#492339;color:#ffad9a}.badge.missed{background:#463324;color:#ffcd91}.badge.sim-game{background:#282e54;color:#c4d0ff}.badge.no-user{background:#313141;color:#dad9eb}.games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game,.empty{background:#171023;border:1px solid var(--line);border-radius:12px;padding:13px 16px}.game h3{font-size:.71rem;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);margin:0 0 6px}.team{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0}.team+.team{border-top:1px solid var(--line)}.team small{display:inline-block;color:var(--muted);margin-left:6px;font-size:.7rem}.empty{grid-column:1/-1}.details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}.card p,.card ul{margin:8px 0 0}.card ul{padding:0;list-style:none;color:var(--muted)}.card li+li{margin-top:5px}code{color:var(--accent)}footer{padding:30px 0;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.14em}footer span{color:#ff9a81}@media(max-width:680px){.wrap{width:calc(100% - 28px)}.hero{padding:36px 0 28px}.board{padding:15px}.games,.details{grid-template-columns:1fr}.top-inner{font-size:.86rem}.season{font-size:.62rem}}

.team.has-ruling{flex-wrap:wrap}.ruling{flex-basis:100%;color:#ffad9a;font-size:.76rem}

.site-nav{display:flex;gap:10px;border-bottom:1px solid var(--line);padding-top:12px}
.site-nav a{color:var(--muted);padding:10px 15px;text-decoration:none;font-weight:750;border-bottom:2px solid transparent}
.site-nav a[aria-current]{color:var(--accent);border-color:var(--accent)}
.feed-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 0}
.feed-row .live{margin:0}.feed-row button{min-height:34px;font-size:.8rem}
#drug-tests .hero,#league-status .hero{padding-top:28px}
.activity-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 12px}
.activity-metric{display:grid;gap:5px;border:1px solid var(--line);border-radius:11px;background:#171023;padding:13px}
.activity-metric strong{font-size:1.85rem;line-height:1.1}
.activity-metric small,.metric-note,.chart-key,.chart-result small,.chart-detail{color:var(--muted);font-size:.8rem}
.weekly-activity{margin-top:13px}.activity-chart{display:grid;gap:9px}
.chart-line{display:grid;grid-template-columns:105px minmax(65px,1fr) 78px;column-gap:12px;align-items:center;background:#171023;border:1px solid var(--line);border-radius:10px;padding:9px 12px}
.chart-week{font-size:.85rem}.chart-track{position:relative;display:flex;align-items:center}
.chart-bar{appearance:none;width:100%;height:11px;overflow:hidden;border:0;border-radius:8px;background:#392e4b;color:var(--accent)}
.chart-bar::-webkit-progress-bar{background:#392e4b}.chart-bar::-webkit-progress-value{background:var(--accent)}
.chart-bar::-moz-progress-bar{background:var(--accent)}
.chart-goal{position:absolute;left:89%;height:17px;width:2px;background:#ff9a81;pointer-events:none}
.chart-result{display:grid;text-align:right}.chart-result small{font-size:.72rem;white-space:nowrap}
.chart-detail{grid-column:2/4;line-height:1.25;margin-top:4px}
.directory-board{margin-top:16px}.directory-board .metric-note{margin:8px 0 14px}
.directory-table{overflow-x:auto}.roster-table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left}
.roster-table td,.roster-table th{padding:8px 11px;border-bottom:1px solid var(--line)}
.roster-table thead{font-size:.72rem;color:var(--muted);text-transform:uppercase}.roster-table tbody{font-size:.85rem}
.roster-status.open{color:#ffad9a}.roster-status.assigned{color:var(--accent)}.roster-status.unlogged{color:var(--muted)}
@media(max-width:540px){.activity-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-metric:last-child{grid-column:1/-1}.chart-line{grid-template-columns:72px minmax(48px,1fr) 68px;column-gap:8px}.chart-detail{grid-column:1/-1}.chart-week,.chart-detail{font-size:.74rem}}

.team-identity{display:inline-flex;align-items:center;gap:8px;min-width:0}
.team-identity .team-logo{width:28px;height:28px;object-fit:contain;flex:none}
.team .team-identity small{margin-left:0}
.rate-chart{display:grid;gap:6px;margin-top:12px}
.rate-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(90px,1.5fr) 55px minmax(200px,1.1fr);align-items:center;gap:12px;background:#171023;border:1px solid var(--line);border-radius:9px;padding:7px 12px}
.rate-name{display:grid;line-height:1.24;overflow-wrap:anywhere}
.rate-name small,.rate-detail{color:var(--muted);font-size:.76rem}
.rate-value{text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:720px){.rate-row{grid-template-columns:minmax(92px,1fr) minmax(62px,1.2fr) 52px;gap:5px 8px}.rate-detail{grid-column:2/4}.rate-row .team-identity{grid-row:span 2}}

.site-nav{flex-wrap:wrap;gap:0 8px}
#game-center .hero{padding-top:28px}
.scoreboard{display:grid;gap:12px;margin-top:16px}
.score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.score-card,.gotw{
  --matchup-gradient:radial-gradient(ellipse at 0% 85%,color-mix(in srgb,var(--away-team,#69e8d4) 46%,#1b1428),transparent 64%),
    radial-gradient(ellipse at 100% 85%,color-mix(in srgb,var(--home-team,#ffac97) 46%,#1b1428),transparent 64%),#20172e;
}
.score-card{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--matchup-gradient);padding:15px}
.score-top{display:flex;align-items:center;justify-content:space-between;gap:5px;color:var(--muted);font-size:.72rem}
.score-tag{border-radius:5px;padding:3px 6px;background:#ffffff12}
.score-tag.has-score{color:var(--accent)}
.score-line{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:5px;padding:10px 0 3px;text-align:center}
.score-club{display:grid;justify-items:center;gap:3px;min-width:0}
.score-club .team-logo{object-fit:contain}
.score-club-label{display:grid;line-height:1.25;overflow-wrap:anywhere}
.score-club-label small{color:var(--muted);font-size:.7rem}
.score-points{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(1.9rem,7vw,3.2rem);letter-spacing:-.04em}
.score-card .team-logo{width:clamp(44px,12vw,76px);height:clamp(44px,12vw,76px)}
@media(max-width:535px){.score-grid{grid-template-columns:1fr}.site-nav a{padding:8px 9px}}

.gotw{position:relative;isolation:isolate;overflow:hidden;border:1px solid #806575;border-radius:16px;
  background:var(--matchup-gradient);
  box-shadow:0 12px 26px #09051265}
.gotw::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;
  background:repeating-linear-gradient(116deg,transparent 0 24px,#ffffff0b 25px 26px,transparent 27px 48px)}
.gotw::after{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,color-mix(in srgb,var(--away-team) 70%,white) 0 37%,#e0cbd9 51%,color-mix(in srgb,var(--home-team) 70%,white) 72%);pointer-events:none}
.gotw-heading{display:flex;align-items:center;gap:12px;padding:13px 16px 10px;border-bottom:1px solid #ffffff27;background:#190f26b5}
.gotw-logo{object-fit:contain;flex:none;filter:drop-shadow(0 3px 5px #090512b0)}
.gotw-title{min-width:0}
.gotw-heading .eyebrow{color:#74f4df;font-size:.62rem;letter-spacing:.14em}
.gotw-heading h3{margin:1px 0 0;font-size:clamp(1.05rem,4.3vw,1.65rem);line-height:1.14;letter-spacing:-.025em}
.gotw-season{display:grid;justify-items:end;margin-left:auto;line-height:1;gap:3px;color:#f2d4d5;white-space:nowrap}
.gotw-season span{font-size:.58rem;letter-spacing:.15em}
.gotw-season strong{font-size:clamp(1rem,4vw,1.5rem);font-weight:800;letter-spacing:.04em}
.gotw .score-card{border:0;border-radius:0;background:none;padding:10px 17px 17px}
.gotw .score-line{padding-top:13px}
.gotw .score-club .team-logo{width:clamp(48px,14vw,93px);height:clamp(48px,14vw,93px);filter:drop-shadow(0 5px 8px #100a1eb0)}
.gotw .score-club-label strong{font-size:clamp(.86rem,3.3vw,1.25rem)}
.gotw .score-points{font-size:clamp(2.05rem,8.5vw,4.6rem);line-height:1}
.gotw .score-tag{background:#ffffff1d;border:1px solid #ffffff24}
@media(max-width:420px){.gotw-heading{gap:7px;padding:11px 9px 9px}.gotw-logo{width:38px;height:34px}.gotw .score-card{padding:9px 9px 13px}}

a.score-club{border:1px solid transparent;background:transparent;color:inherit;text-decoration:none;font:inherit;padding:5px;min-height:44px;border-radius:8px}
a.score-club:hover{background:#ffffff10;border-color:#ffffff30}
.score-actions{display:flex;align-items:center;justify-content:center;gap:5px 9px;flex-wrap:wrap;margin-top:8px}
.score-box-link,.score-board-link{padding:6px 9px;min-height:36px;font-size:.75rem}
.score-board-link{display:inline-flex;align-items:center;color:var(--ink);text-decoration:none}
.score-board-link:hover{color:var(--accent);text-decoration:underline}
.box-dialog{color:var(--ink);background:#171023;border:1px solid var(--line);border-radius:15px;width:min(650px,calc(100% - 24px));max-height:85dvh;padding:16px;overflow:auto}
.box-dialog::backdrop{background:#08050dba}
.box-header{display:flex;align-items:start;justify-content:space-between;gap:10px}
.box-header p,.box-source{color:var(--accent)}
.box-header h2{margin:2px 0}
.box-views,.box-sides{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.box-views button[aria-pressed=true],.box-sides button[aria-pressed=true]{background:#28433e;border-color:var(--accent)}
.box-stat-group{margin-top:12px}.box-stat-group h3{margin:0 0 5px;font-size:.92rem;color:var(--accent)}
.box-table{border-collapse:collapse;width:100%;font-size:.84rem}
.box-table th,.box-table td{border-bottom:1px solid var(--line);padding:7px 4px;text-align:center;font-variant-numeric:tabular-nums}
.box-stat-group .box-table tbody th,.box-stat-group .box-table thead th:first-child{text-align:left}
.box-source:not([hidden]){display:inline-block;margin-top:13px;font-size:.84rem}

.team-comparison{table-layout:fixed;
  --away-bright:color-mix(in srgb,var(--away-team,#69e8d4) 61%,white);
  --home-bright:color-mix(in srgb,var(--home-team,#ffac97) 61%,white);
  --away-fill:linear-gradient(90deg,var(--away-team,#69e8d4),var(--away-bright));
  --home-fill:repeating-linear-gradient(45deg,var(--home-team,#ffac97) 0 4px,var(--home-bright) 4px 8px)}
.team-comparison thead th:first-child,.team-comparison thead th:last-child{width:19%}
.team-comparison thead .team-logo{display:block;width:32px;height:32px;object-fit:contain;margin:0 auto 2px}
.team-comparison tbody th,.team-comparison tbody td{border-bottom:0;padding:7px 3px}
.team-comparison .comparison-center{vertical-align:middle}
.comparison-label{display:block;color:#c7bbd3;font-size:clamp(.6rem,2.4vw,.72rem);font-weight:750;line-height:1.25;letter-spacing:.095em;text-transform:uppercase}
.comparison-value{display:block;color:var(--ink);font-weight:800;font-size:clamp(.94rem,3.6vw,1.3rem);line-height:1.15;white-space:nowrap}
.team-comparison .comparison-away{text-align:right;padding-right:8px}
.team-comparison .comparison-home{text-align:left;padding-left:8px}
.comparison-away .leads{color:var(--away-bright);text-shadow:0 0 12px var(--away-team)}
.comparison-home .leads{color:var(--home-bright);text-shadow:0 0 12px var(--home-team)}
.comparison-bar{display:block;appearance:none;width:100%;height:9px;margin-top:5px;border:0;border-radius:10px;overflow:hidden;
  background:var(--home-fill)}
.comparison-bar::-webkit-progress-bar{background:var(--home-fill)}
.comparison-bar::-webkit-progress-value{background:var(--away-fill)}
.comparison-bar::-moz-progress-bar{background:var(--away-fill)}
.comparison-neutral{background:#3a2e4b}
.comparison-note{color:var(--muted);font-size:.72rem;margin-top:8px}

.season-nav{display:flex;flex-wrap:wrap;gap:8px;margin:-13px 0 15px}
.season-nav a{border:1px solid var(--line);border-radius:8px;padding:8px 11px;color:var(--ink);text-decoration:none;font-size:.85rem}
.season-nav a[aria-current=page]{background:#214039;color:var(--accent);border-color:var(--accent)}
.season-note{font-size:.78rem;color:var(--muted);margin:7px 0 11px}
.season-table-scroll{margin-top:10px}
.season-table thead th{vertical-align:bottom}
.season-table .team-identity{text-decoration:none;color:var(--accent)}
.season-sort{border:0;padding:3px 0;background:none;font:inherit;text-align:left;color:inherit;min-height:26px}
.season-sort[aria-pressed=true]{color:var(--accent)}
.season-section-title{font-size:1.02rem;margin:17px 0 7px}
#season-team{padding:0;overflow:hidden;background:#171021}
.broadcast-hero{padding:22px 25px 25px;background:
  repeating-linear-gradient(115deg,transparent 0 58px,#ffffff10 59px 60px),
  linear-gradient(110deg,color-mix(in srgb,var(--team-primary,#0b162a) 60%,#111019),#22172c 53%,color-mix(in srgb,var(--team-secondary,#e64100) 42%,#201327))}
.broadcast-label{margin-top:9px;color:#e1d5ec;text-transform:uppercase;font-size:.7rem;font-weight:800;letter-spacing:.13em}
#season-team-title{display:flex;align-items:center;gap:10px;color:#fff;font-size:clamp(1.8rem,6vw,3.1rem);line-height:1.13;letter-spacing:-.045em}
#season-team-title img{width:clamp(38px,10vw,65px);height:clamp(38px,10vw,65px);object-fit:contain;flex:none}
.broadcast-meta{color:#e1d5ec;margin-top:5px;font-size:.84rem}
.broadcast-ranks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border-block:1px solid var(--line)}
.broadcast-rank{padding:12px 25px;background:#241a33}
.broadcast-rank h3{margin:0 0 8px}
.broadcast-rank-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.broadcast-rank-stat{display:grid;gap:3px;font-size:.8rem}
.broadcast-rank-unit{color:var(--muted);font-size:.73rem;margin-top:6px}
.broadcast-rank strong{color:var(--accent);font-size:1.9rem;line-height:1.05;font-variant-numeric:tabular-nums}
.broadcast-rank small,.broadcast-leader small{color:var(--muted);font-size:.78rem}
.broadcast-body{padding:15px 25px 24px}
.broadcast-nav{display:flex;flex-wrap:wrap;gap:6px}
.broadcast-nav button,.broadcast-nav a{display:inline-flex;align-items:center;min-height:44px;padding:7px 11px;border:1px solid #58466e;border-radius:8px;background:#241a33;color:var(--ink);font-size:.84rem;font-weight:720;text-decoration:none}
.broadcast-nav button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#142020}
.broadcast-nav a:hover,.broadcast-nav button:hover:not([aria-pressed=true]){color:var(--accent);border-color:var(--accent)}
.broadcast-qb{margin-top:8px;padding:13px 15px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;background:#241a33}
.broadcast-qb h4{margin:0 0 9px;font-size:1.04rem}
.broadcast-qb-line{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0}
.broadcast-qb-line dt{color:var(--muted);font-size:.76rem}
.broadcast-qb-line dd{margin:0;color:var(--ink);font-size:1.15rem;font-weight:750;font-variant-numeric:tabular-nums}
@media(max-width:580px){.broadcast-qb-line{grid-template-columns:repeat(2,minmax(0,1fr))}}
.broadcast-leaders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.broadcast-leader{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}
.broadcast-leader strong{display:block;overflow-wrap:anywhere}
.broadcast-leader b{font-size:1.2rem;font-variant-numeric:tabular-nums}
.broadcast-watch{margin-top:13px;padding:9px 12px;border-left:3px solid #ff9a81;background:#312037;font-size:.82rem}
.broadcast-watch strong{color:#ffad9a}
@media(max-width:530px){.broadcast-ranks{grid-template-columns:1fr}.broadcast-hero,.broadcast-rank,.broadcast-body{padding-inline:13px}.broadcast-leaders{grid-template-columns:1fr}.broadcast-nav button,.broadcast-nav a{padding-inline:8px;font-size:.78rem}}
.season-player-select{display:grid;width:max-content;gap:4px;font-size:.8rem;color:var(--muted)}
.record-holder{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;white-space:normal;min-width:132px}
.record-holder small{color:var(--muted)}
.record-holder a{color:var(--accent)}
.record-holder+.record-holder{margin-top:5px}
#record-list>button{margin-top:10px}
@media(max-width:470px){.season-nav{margin-top:-8px}.season-nav a{font-size:.75rem;padding:7px 8px}.season-table th,.season-table td{padding:6px 7px}}
