
:root {
  --navy-950:#03101e;
  --navy-900:#07182c;
  --navy-800:#0d2948;
  --navy-700:#153d68;
  --red:#a51c32;
  --red-bright:#d12a44;
  --cream:#f5f0e6;
  --paper:#f8f9fb;
  --ink:#101c2b;
  --muted:#657589;
  --line:#dbe2e9;
  --white:#fff;
  --shadow:0 18px 45px rgba(3,16,30,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.wrap{width:min(1240px,calc(100% - 40px));margin-inline:auto}
.topline{background:var(--navy-950);color:#c9d5e0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.topline-inner{height:34px;display:flex;align-items:center;justify-content:space-between}
.topline i{width:7px;height:7px;display:inline-block;margin-right:7px;border-radius:50%;background:#61d59d;box-shadow:0 0 0 4px rgba(97,213,157,.12)}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:13px}
.brand img{width:58px;height:58px;object-fit:contain}
.brand div span{display:block;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.brand div strong{font-size:27px;line-height:1;letter-spacing:.02em}
nav{display:flex;align-items:center;gap:25px}
nav a{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#425269;position:relative}
nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:3px;background:var(--red);transition:.18s}
nav a:hover:after{right:0}
.menu-toggle{display:none;border:0;background:var(--navy-900);color:white;width:42px;height:42px;border-radius:5px;font-size:20px}
.hero{position:relative;overflow:hidden;background:
linear-gradient(110deg,rgba(3,16,30,.99) 0%,rgba(6,29,52,.96) 54%,rgba(13,55,94,.86) 100%)}
.hero:before{content:"";position:absolute;inset:0;background:
linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.045) 50%,transparent 50.2%),
repeating-linear-gradient(120deg,transparent 0 52px,rgba(255,255,255,.018) 53px 54px)}
.hero-grid{min-height:520px;display:grid;grid-template-columns:1.08fr .92fr;position:relative}
.hero-copy{align-self:center;padding:76px 40px 76px 0;color:white}
.eyebrow{display:block;color:#9dc3e3;font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.hero h1{margin:18px 0 22px;font-size:clamp(52px,6.1vw,86px);line-height:.87;letter-spacing:-.055em;text-transform:uppercase}
.hero h1 em{display:block;color:transparent;font-style:normal;-webkit-text-stroke:1px rgba(255,255,255,.72)}
.hero-copy p{max-width:640px;margin:0;color:#c8d4de;font-size:15px;line-height:1.75}
.hero-actions{display:flex;gap:12px;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:4px;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.button.primary{background:var(--red-bright);color:white}
.button.secondary{background:white;color:var(--navy-950)}
.hero-logo-panel{display:grid;place-items:center;padding:40px}
.logo-halo{width:min(415px,92%);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:
radial-gradient(circle at 30% 22%,rgba(255,255,255,.16),transparent 29%),
linear-gradient(145deg,#17466f,#071a2e);border:2px solid rgba(255,255,255,.13);box-shadow:0 40px 70px rgba(0,0,0,.36),inset 0 0 0 13px rgba(255,255,255,.025)}
.logo-halo img{width:78%;height:78%;object-fit:contain;filter:drop-shadow(0 14px 22px rgba(0,0,0,.22))}
.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:-1px;background:white;border:1px solid var(--line);border-top:4px solid var(--red);box-shadow:var(--shadow)}
.quick-stats div{padding:24px 25px;border-right:1px solid var(--line)}
.quick-stats div:last-child{border:0}
.quick-stats strong{display:block;color:var(--navy-900);font-size:29px;line-height:1}
.quick-stats span{display:block;margin-top:7px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.status{margin-top:22px;padding:20px 22px;border:1px solid #e7d4a9;border-radius:8px;background:#fff9eb;display:flex;align-items:center;justify-content:space-between;gap:20px}
.status-title{display:block;color:#8a6220;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.status strong{display:block;margin-top:3px;font-size:15px}
.status p{margin:5px 0 0;color:#6e6553;font-size:12px;line-height:1.5}
.status-badge{flex:0 0 auto;border-radius:999px;background:#f1e1bb;color:#77541a;padding:7px 10px;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.section{padding-top:72px;padding-bottom:72px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}
.section-heading span{color:var(--red);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.section-heading h2{margin:5px 0 0;font-size:34px;line-height:1;text-transform:uppercase;letter-spacing:-.025em}
.section-heading p{margin:0;color:var(--muted);font-size:12px}
.matchup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.matchup{border:1px solid var(--line);border-radius:9px;background:white;box-shadow:0 8px 24px rgba(3,16,30,.06);overflow:hidden}
.matchup-label{display:flex;justify-content:space-between;padding:10px 13px;background:#f0f3f6;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.matchup-label b{color:#a07026}
.matchup-side{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px}
.matchup-side+.matchup-side{border-top:1px solid var(--line)}
.team-logo{width:52px;height:52px;border-radius:7px;background:#f1f3f5;overflow:hidden;border:1px solid #e2e6ea}
.team-logo img{width:100%;height:100%;object-fit:contain}
.team-copy strong{display:block;font-size:13px}
.team-copy small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.score-placeholder{font-size:25px;font-weight:900;color:#9ca8b5}
.section-dark{background:var(--navy-900);color:white}
.section-heading.light h2{color:white}
.section-heading.light p{color:#9fb0c0}
.standings-card{background:white;color:var(--ink);border-radius:10px;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.2)}
table{width:100%;border-collapse:collapse}
th{padding:13px 15px;background:#e9eef3;color:#617286;font-size:9px;font-weight:900;letter-spacing:.09em;text-align:left;text-transform:uppercase}
td{padding:12px 15px;border-top:1px solid var(--line);font-size:12px}
.rank{color:#8997a6;font-weight:900}
.table-team{display:flex;align-items:center;gap:11px}
.table-logo{width:36px;height:36px;border-radius:6px;overflow:hidden;background:#f0f2f4;border:1px solid #e1e5e9}
.table-logo img{width:100%;height:100%;object-fit:contain}
.table-team strong,.table-team small{display:block}
.table-team small{margin-top:2px;color:var(--muted);font-size:9px}
.franchise-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.franchise-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 8px 22px rgba(3,16,30,.055);transition:.18s}
.franchise-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(3,16,30,.11)}
.franchise-logo{aspect-ratio:1;background:#f1f2f3;display:grid;place-items:center;padding:10px;border-bottom:1px solid var(--line)}
.franchise-logo img{width:100%;height:100%;object-fit:contain}
.franchise-info{padding:15px}
.franchise-info .abbr{display:block;color:var(--red);font-size:9px;font-weight:900;letter-spacing:.1em}
.franchise-info h3{min-height:38px;margin:5px 0 4px;font-size:16px;line-height:1.12;text-transform:uppercase}
.franchise-info p{margin:0;color:var(--muted);font-size:10px}
.feature-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:17px}
.feature-card{position:relative;min-height:270px;border-radius:10px;overflow:hidden;padding:28px;box-shadow:var(--shadow)}
.feature-card>span,.image-card div span{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.feature-card h2{margin:12px 0 12px;font-size:31px;line-height:.95;text-transform:uppercase}
.feature-card p{font-size:12px;line-height:1.65;margin:0}
.feature-card a{display:inline-block;margin-top:26px;font-size:11px;font-weight:900;text-transform:uppercase}
.red-card{color:white;background:linear-gradient(145deg,#bd2039,#7e1227)}
.red-card p{color:#f5cad1}
.navy-card{color:white;background:linear-gradient(145deg,#17456f,#07182c)}
.navy-card p{color:#bfd0de}
.image-card{padding:0;background:#eceeef}
.image-card>img{width:100%;height:100%;object-fit:cover}
.image-card div{position:absolute;inset:auto 0 0;padding:50px 24px 22px;color:white;background:linear-gradient(transparent,rgba(3,16,30,.93))}
.image-card div h2{margin:7px 0 2px}
.image-card div p{color:#ccd7df}
.league-info{background:var(--cream);border-top:1px solid #e6ddce}
.league-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}
.league-grid h2{margin:10px 0 14px;font-size:42px;text-transform:uppercase}
.league-grid p{color:#5f6b78;line-height:1.7}
dl{margin:0;background:white;border:1px solid #ded6c9;border-radius:9px;overflow:hidden}
dl div{display:flex;justify-content:space-between;padding:15px 17px;border-top:1px solid #e8e0d4}
dl div:first-child{border:0}
dt{color:#7b7163;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
dd{margin:0;font-size:13px;font-weight:800}
footer{background:var(--navy-950);color:#8497aa}
.footer-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:10px}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-brand img{width:52px;height:52px;object-fit:contain}
.footer-brand strong,.footer-brand small{display:block}
.footer-brand strong{color:white;font-size:18px}
.footer-brand small{margin-top:4px}
@media(max-width:1000px){
nav{display:none;position:absolute;top:78px;left:0;right:0;padding:18px 20px;background:white;border-bottom:1px solid var(--line);flex-wrap:wrap}
nav.open{display:flex}
.menu-toggle{display:block}
.hero-grid{grid-template-columns:1fr}
.hero-copy{padding:60px 0 10px}
.hero-logo-panel{padding:25px 20px 50px}
.logo-halo{width:min(350px,90%)}
.matchup-grid{grid-template-columns:repeat(2,1fr)}
.franchise-grid{grid-template-columns:repeat(3,1fr)}
.feature-grid{grid-template-columns:1fr 1fr}
.feature-card:last-child{grid-column:1/-1}
}
@media(max-width:680px){
.wrap{width:min(100% - 26px,1240px)}
.topline-inner span:last-child{display:none}
.header-inner{height:68px}
.brand img{width:48px;height:48px}
.brand div strong{font-size:22px}
nav{top:68px;gap:18px}
.hero-copy{padding-top:45px}
.hero h1{font-size:49px}
.hero-actions{flex-direction:column;align-items:stretch}
.logo-halo{width:270px}
.quick-stats{grid-template-columns:1fr 1fr}
.quick-stats div:nth-child(2){border-right:0}
.quick-stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}
.status{align-items:flex-start;flex-direction:column}
.section{padding-top:52px;padding-bottom:52px}
.section-heading{align-items:flex-start;flex-direction:column}
.matchup-grid{grid-template-columns:1fr}
.standings-card{overflow-x:auto}
table{min-width:680px}
.franchise-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.franchise-logo{padding:8px}
.franchise-info{padding:10px 9px 11px}
.franchise-info .abbr{font-size:7px;letter-spacing:.08em}
.franchise-info h3{min-height:32px;margin:4px 0 5px;font-size:11px;line-height:1.07;letter-spacing:-.01em}
.franchise-info p{font-size:9px;line-height:1.35}
.feature-grid{grid-template-columns:1fr}
.feature-card:last-child{grid-column:auto}
.league-grid{grid-template-columns:1fr;gap:28px}
.footer-inner{padding:24px 0;align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
.franchise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
}
@media(max-width:360px){
.franchise-info h3{font-size:10px}
.franchise-info p{font-size:8px}
}


.heading-actions{display:flex;align-items:center;gap:14px}
.heading-actions p{margin:0}
.refresh-button{border:1px solid var(--line);background:white;color:var(--navy-900);border-radius:4px;padding:9px 12px;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}
.refresh-button:hover{border-color:var(--navy-700)}
.refresh-button:disabled{opacity:.55;cursor:wait}
.status.connected{background:#edf9f2;border-color:#b7e1c7}
.status.connected .status-title{color:#28714a}
.status.connected .status-badge{background:#ccebd8;color:#22603f}
.status.error{background:#fff1f1;border-color:#edc5c8}
.status.error .status-title{color:#a51c32}
.status.error .status-badge{background:#f3d5d9;color:#8a172a}
.score-value{font-size:24px;font-weight:900;color:var(--navy-900);text-align:right}
.score-value small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.loading-row td{text-align:center;color:var(--muted);padding:28px}
@media(max-width:680px){.heading-actions{align-items:flex-start;flex-direction:column}}

/* Rosters and keepers pages */
.page-hero{background:linear-gradient(120deg,var(--navy-950),var(--navy-700));color:white;padding:64px 0}
.page-hero h1{margin:12px 0;font-size:clamp(44px,6vw,72px);line-height:.9;text-transform:uppercase;letter-spacing:-.045em}
.page-hero p{max-width:720px;margin:0;color:#c4d2dd;line-height:1.65}
.page-toolbar,.keeper-intro{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 20px;margin-bottom:20px;background:white;border:1px solid var(--line);border-radius:9px}
.toolbar-label{display:block;color:var(--red);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.page-toolbar strong,.keeper-intro strong{display:block;margin-top:4px;font-size:15px}
.keeper-intro p{max-width:720px;margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.toolbar-controls{display:flex;align-items:center;gap:9px}
.toolbar-controls label{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}
.toolbar-controls select{min-width:190px;border:1px solid var(--line);border-radius:4px;background:white;padding:9px 11px;font:inherit;font-size:11px}
.loading-panel{grid-column:1/-1;padding:45px;border:1px solid var(--line);border-radius:9px;background:white;text-align:center;color:var(--muted)}
.loading-panel strong{display:block;color:var(--ink);font-size:17px}
.loading-panel p{margin:7px 0 0}
.error-panel{border-color:#edc5c8;background:#fff4f4}

.roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.roster-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 8px 24px rgba(3,16,30,.06)}
.roster-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border-bottom:4px solid var(--red);background:linear-gradient(135deg,#fff,#f1f4f7)}
.roster-brand{display:flex;align-items:center;gap:13px;min-width:0}
.roster-team-logo{width:64px;height:64px;flex:0 0 auto;border-radius:8px;overflow:hidden;background:#eef1f3;border:1px solid #dfe4e8}
.roster-team-logo img{width:100%;height:100%;object-fit:contain}
.roster-brand>div{min-width:0}
.roster-brand span{color:var(--red);font-size:9px;font-weight:900;letter-spacing:.08em}
.roster-brand h2{margin:4px 0 3px;font-size:20px;line-height:1;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.roster-brand p{margin:0;color:var(--muted);font-size:10px}
.roster-record{text-align:right}.roster-record strong{display:block;font-size:22px}.roster-record span{color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}
.roster-section{padding:0 16px 14px}
.roster-section h3{display:flex;align-items:center;justify-content:space-between;margin:17px 0 8px;color:#46566a;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.roster-section h3 span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eef2f5;color:#718195}
.player-list{border:1px solid var(--line);border-radius:7px;overflow:hidden}
.player-row{display:grid;grid-template-columns:55px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border-top:1px solid var(--line)}
.player-row:first-child{border-top:0}
.slot-chip{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:0 7px;border-radius:4px;background:var(--navy-900);color:white;font-size:8px;font-weight:900;letter-spacing:.04em}
.player-copy strong{display:block;font-size:12px}.player-copy small{display:block;margin-top:2px;color:var(--muted);font-size:9px}
.player-status{text-align:right}.player-status b,.player-status small{display:block}.player-status b{font-size:13px}.player-status small{color:var(--muted);font-size:8px}
.injury{display:inline-block;margin-bottom:3px;padding:3px 5px;border-radius:3px;background:#f5dfe2;color:#9b2034;font-size:7px;font-weight:900}
.empty-roster{padding:24px;text-align:center;color:var(--muted);font-size:11px}

.keeper-intro{align-items:flex-start}
.edit-guide-link{flex:0 0 auto;display:inline-flex;align-items:center;min-height:39px;padding:0 14px;border-radius:4px;background:var(--navy-900);color:white;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.keeper-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.keeper-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 8px 24px rgba(3,16,30,.06)}
.keeper-card>header{display:flex;align-items:center;gap:13px;padding:17px;background:linear-gradient(135deg,var(--navy-950),var(--navy-700));color:white}
.keeper-team-logo{width:58px;height:58px;flex:0 0 auto;border-radius:7px;overflow:hidden;background:white}
.keeper-team-logo img{width:100%;height:100%;object-fit:contain}
.keeper-card header span{color:#9cc6e6;font-size:8px;font-weight:900;letter-spacing:.08em}
.keeper-card header h2{margin:4px 0 3px;font-size:19px;line-height:1;text-transform:uppercase}
.keeper-card header p{margin:0;color:#bfd0dc;font-size:9px}
.keeper-slot{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 17px;border-top:1px solid var(--line)}
.keeper-number{font-size:20px;font-weight:900;color:#9dacb9}
.keeper-slot strong,.keeper-slot small{display:block}.keeper-slot strong{font-size:12px}.keeper-slot small{margin-top:3px;color:var(--muted);font-size:9px}
.keeper-slot.empty strong{color:#778696}
.round-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:29px;padding:0 8px;border-radius:4px;background:var(--red);color:white;font-size:9px;font-weight:900}
.keeper-slot.empty .round-badge{background:#e7ebee;color:#8996a3}
.edit-guide{margin-top:34px;padding:30px;border-radius:10px;background:var(--cream);border:1px solid #e2d9ca}
.edit-guide h2{margin:10px 0 15px;font-size:30px;text-transform:uppercase}
.edit-guide ol{padding-left:20px;color:#596674;font-size:12px;line-height:1.85}
.edit-guide pre{overflow-x:auto;padding:14px;border-radius:6px;background:var(--navy-950);color:#e9f0f5}
.edit-guide code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}
.edit-guide p{color:#6e756f;font-size:11px}

@media(max-width:900px){.roster-grid,.keeper-grid{grid-template-columns:1fr}}
@media(max-width:680px){.page-hero{padding:45px 0}.page-toolbar,.keeper-intro{align-items:flex-start;flex-direction:column}.toolbar-controls{width:100%;align-items:stretch;flex-direction:column}.toolbar-controls select{width:100%}.edit-guide-link{width:100%;justify-content:center}.roster-header{align-items:flex-start}.roster-brand h2{white-space:normal}}


/* Clickable league team cards */
.franchise-link{display:block;color:inherit}
.franchise-link .view-team{display:block;margin-top:10px;color:var(--red);font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.franchise-link:hover .view-team{text-decoration:underline}
.table-team-link{color:inherit}
.table-team-link:hover strong{color:var(--red)}

/* Dynamic individual team profile */
.team-profile-hero{background:
linear-gradient(115deg,rgba(3,16,30,.99),rgba(11,48,82,.94)),
repeating-linear-gradient(120deg,transparent 0 50px,rgba(255,255,255,.025) 51px 52px);
color:white;padding:34px 0 48px}
.back-link{display:inline-block;margin-bottom:30px;color:#a9c8df;font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.back-link:hover{color:white}
.team-profile-identity{display:flex;align-items:center;gap:30px}
.profile-logo{width:170px;height:170px;flex:0 0 auto;display:grid;place-items:center;padding:8px;border-radius:16px;background:#f1f3f5;border:1px solid rgba(255,255,255,.2);box-shadow:0 24px 50px rgba(0,0,0,.3);overflow:hidden}
.profile-logo img{width:100%;height:100%;object-fit:contain}
.profile-logo-loading{background:linear-gradient(110deg,#183e64,#315b80,#183e64);background-size:200% 100%;animation:profile-loading 1.4s linear infinite}
@keyframes profile-loading{to{background-position:-200% 0}}
.team-profile-identity h1{margin:13px 0 10px;font-size:clamp(47px,7vw,86px);line-height:.85;letter-spacing:-.05em;text-transform:uppercase}
.team-profile-identity p{margin:0;color:#c2d1dc;font-size:14px}
.team-profile-error{padding:28px;border:1px solid #edc5c8;border-radius:9px;background:#fff4f4}
.team-profile-error strong{display:block;font-size:20px}
.team-profile-error p{color:#755b5e}
.team-profile-error a{color:var(--red);font-size:11px;font-weight:900;text-transform:uppercase}
.team-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:42px}
.team-stat-grid article{padding:20px;border:1px solid var(--line);border-top:4px solid var(--red);border-radius:8px;background:white;box-shadow:0 7px 22px rgba(3,16,30,.055)}
.team-stat-grid span,.team-stat-grid small{display:block}
.team-stat-grid span{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.team-stat-grid strong{display:block;margin:7px 0 5px;font-size:26px;line-height:1}
.team-stat-grid small{color:#8d99a5;font-size:9px}
.team-profile-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr);gap:25px;align-items:start}
.team-profile-sidebar{display:grid;gap:30px}
.compact-heading{margin-bottom:13px}
.compact-heading h2{font-size:25px}
.compact-heading>a{color:var(--red);font-size:9px;font-weight:900;text-transform:uppercase}
.profile-roster-card,.profile-panel{border:1px solid var(--line);border-radius:9px;background:white;overflow:hidden;box-shadow:0 8px 24px rgba(3,16,30,.055)}
.profile-roster-section{padding:0 15px 15px}
.profile-roster-section h3{display:flex;align-items:center;justify-content:space-between;margin:17px 0 8px;color:#526277;font-size:10px;letter-spacing:.09em;text-transform:uppercase}
.profile-roster-section h3 span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#edf1f4}
.profile-player-list{border:1px solid var(--line);border-radius:7px;overflow:hidden}
.profile-player{display:grid;grid-template-columns:55px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px;border-top:1px solid var(--line)}
.profile-player:first-child{border-top:0}
.profile-slot{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:0 7px;border-radius:4px;background:var(--navy-900);color:white;font-size:8px;font-weight:900}
.profile-player strong,.profile-player small{display:block}
.profile-player>div:nth-child(2) strong{font-size:12px}
.profile-player>div:nth-child(2) small{margin-top:3px;color:var(--muted);font-size:9px}
.profile-player-score{text-align:right}
.profile-player-score>span{display:inline-block;margin-bottom:3px;padding:3px 5px;border-radius:3px;background:#f5dfe2;color:#9b2034;font-size:7px;font-weight:900}
.profile-player-score b{font-size:13px}
.profile-player-score small{color:var(--muted);font-size:8px}
.profile-empty{padding:25px;text-align:center;color:var(--muted);font-size:11px}
.profile-matchup{padding:19px}
.profile-matchup-label{display:block;color:var(--red);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.profile-opponent{display:flex;align-items:center;gap:12px;margin:15px 0}
.profile-opponent-logo{width:62px;height:62px;border-radius:8px;background:#f0f2f4;border:1px solid var(--line);overflow:hidden}
.profile-opponent-logo img{width:100%;height:100%;object-fit:contain}
.profile-opponent small,.profile-opponent strong,.profile-opponent span{display:block}
.profile-opponent small{color:var(--muted);font-size:8px;text-transform:uppercase}
.profile-opponent strong{margin:2px 0;font-size:15px}
.profile-opponent span{color:var(--muted);font-size:9px}
.profile-scoreline{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding-top:15px;border-top:1px solid var(--line)}
.profile-scoreline>div{text-align:center}
.profile-scoreline span,.profile-scoreline strong,.profile-scoreline small{display:block}
.profile-scoreline span{color:var(--muted);font-size:8px;font-weight:900}
.profile-scoreline strong{margin:4px 0;font-size:22px}
.profile-scoreline small{color:var(--muted);font-size:8px}
.profile-scoreline>b{color:#a9b3bd}
.profile-keeper{display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;border-top:1px solid var(--line)}
.profile-keeper:first-child{border-top:0}
.profile-keeper>span{font-size:16px;font-weight:900;color:#a0adb9}
.profile-keeper strong,.profile-keeper small{display:block}
.profile-keeper strong{font-size:11px}
.profile-keeper small{margin-top:2px;color:var(--muted);font-size:8px}
.profile-keeper>b{padding:6px 7px;border-radius:4px;background:var(--red);color:white;font-size:8px}
.profile-keeper.empty strong{color:#788694}
.profile-keeper.empty>b{background:#e7ebee;color:#8a97a3}
.team-details-list{margin:0;border:1px solid var(--line);border-radius:9px;background:white;overflow:hidden}
.team-details-list div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 14px;border-top:1px solid var(--line)}
.team-details-list div:first-child{border-top:0}
.team-details-list dt{color:var(--muted);font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.team-details-list dd{margin:0;text-align:right;font-size:10px;font-weight:800}

@media(max-width:950px){
  .team-stat-grid{grid-template-columns:repeat(3,1fr)}
  .team-profile-layout{grid-template-columns:1fr}
}
@media(max-width:680px){
  .team-profile-hero{padding:26px 0 37px}
  .team-profile-identity{align-items:flex-start;flex-direction:column;gap:20px}
  .profile-logo{width:130px;height:130px}
  .team-profile-identity h1{font-size:48px}
  .team-stat-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
  .team-stat-grid{grid-template-columns:1fr}
}


/* V6: ESPN player headshots */
.player-row{
  grid-template-columns:55px 44px minmax(0,1fr) auto;
}
.profile-player{
  grid-template-columns:55px 44px minmax(0,1fr) auto;
}
.player-headshot,
.profile-player-headshot{
  position:relative;
  width:42px;
  height:42px;
  flex:0 0 auto;
  overflow:hidden;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 35%,#d8e0e6 0 23%,transparent 24%),
    radial-gradient(circle at 50% 110%,#c4ced6 0 48%,transparent 49%),
    #eef2f5;
  border:1px solid #d8e0e6;
}
.player-headshot img,
.profile-player-headshot img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;
}
.player-headshot.image-missing::after,
.profile-player-headshot.image-missing::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 35%,#d8e0e6 0 23%,transparent 24%),
    radial-gradient(circle at 50% 110%,#c4ced6 0 48%,transparent 49%);
}
@media(max-width:520px){
  .player-row,
  .profile-player{
    grid-template-columns:48px 38px minmax(0,1fr) auto;
    gap:8px;
  }
  .player-headshot,
  .profile-player-headshot{
    width:36px;
    height:36px;
  }
}


/* V7: cohesive homepage league-logo presentation */
.logo-halo{
  position:relative;
  width:min(430px,94%);
  aspect-ratio:1;
  padding:20px;
  border-radius:30px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.02)),
    linear-gradient(145deg,#17466f,#061629 72%);
  border:1px solid rgba(255,255,255,.23);
  box-shadow:
    0 40px 70px rgba(0,0,0,.38),
    inset 0 0 0 9px rgba(255,255,255,.035);
}
.logo-halo::before{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(3,16,30,.12);
  box-shadow:0 17px 38px rgba(0,0,0,.23);
}
.logo-halo::after{
  content:"SBASFFL · EST. 2026";
  position:absolute;
  z-index:3;
  right:31px;
  bottom:28px;
  padding:6px 9px;
  border-radius:4px;
  background:var(--navy-950);
  color:white;
  font-size:7px;
  font-weight:900;
  letter-spacing:.12em;
}
.logo-halo img{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:14px;
  filter:none;
}

/* V7: two levels of links inside each scoreboard card */
.matchup-clickable{
  position:relative;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.matchup-clickable:hover{
  transform:translateY(-3px);
  border-color:#b8c4ce;
  box-shadow:0 16px 34px rgba(3,16,30,.13);
}
.matchup-card-hitbox{
  position:absolute;
  inset:0;
  z-index:1;
}
.matchup-clickable > :not(.matchup-card-hitbox){
  position:relative;
  z-index:2;
  pointer-events:none;
}
.matchup-clickable .matchup-team-link{
  pointer-events:auto;
}
.matchup-team-link{
  color:inherit;
  transition:background .16s ease;
}
.matchup-team-link:hover{
  background:#f5f7f9;
}
.matchup-team-link:hover .team-copy strong{
  color:var(--red);
}
.matchup-card-cta{
  padding:9px 13px;
  border-top:1px solid var(--line);
  background:var(--navy-900);
  color:white;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-align:right;
  text-transform:uppercase;
}

/* V7: full live matchup page */
.matchup-page-hero{
  padding:32px 0 50px;
  color:white;
  background:
    radial-gradient(circle at 50% 110%,rgba(165,28,50,.28),transparent 45%),
    linear-gradient(120deg,var(--navy-950),#0c3358 55%,var(--navy-950));
}
.matchup-page-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:27px;
}
.matchup-live-tools{
  display:flex;
  align-items:center;
  gap:12px;
  color:#b9cad8;
  font-size:9px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.refresh-button-light{
  border-color:rgba(255,255,255,.24);
  background:rgba(255,255,255,.1);
  color:white;
}
.matchup-loading-card{
  padding:65px 30px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(255,255,255,.055);
  text-align:center;
  color:#c6d4df;
}
.matchup-week-status{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-bottom:24px;
  color:#a9c5db;
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.matchup-week-status strong{
  padding:6px 9px;
  border-radius:999px;
  color:white;
  background:#64778a;
  font-size:8px;
}
.matchup-week-status strong.live{background:#168657;box-shadow:0 0 0 5px rgba(22,134,87,.14)}
.matchup-week-status strong.final{background:var(--red)}
.matchup-week-status strong.upcoming{background:#a07026}
.matchup-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 260px minmax(0,1fr);
  align-items:center;
  gap:28px;
}
.matchup-hero-team{
  display:grid;
  grid-template-columns:125px minmax(0,1fr);
  align-items:center;
  gap:20px;
  color:white;
}
.matchup-hero-team.home{
  grid-template-columns:minmax(0,1fr) 125px;
  text-align:right;
}
.matchup-hero-team.home .matchup-hero-team-logo{grid-column:2;grid-row:1}
.matchup-hero-team.home > div{grid-column:1;grid-row:1}
.matchup-hero-team-logo{
  width:125px;
  height:125px;
  overflow:hidden;
  border-radius:15px;
  background:white;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 20px 38px rgba(0,0,0,.28);
}
.matchup-hero-team-logo img{width:100%;height:100%;object-fit:contain}
.matchup-hero-team > div > span{
  display:block;
  color:#90bad9;
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.matchup-hero-team h1{
  margin:5px 0 6px;
  font-size:clamp(25px,3.1vw,45px);
  line-height:.92;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.matchup-hero-team p{margin:0;color:#bdcdd9;font-size:11px}
.matchup-hero-team-link{
  grid-column:1/-1;
  color:#9dc3e3;
  font-size:8px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.matchup-hero-team.home .matchup-hero-team-link{text-align:right}
.matchup-hero-score{text-align:center}
.matchup-hero-score > span{
  color:#91b5d0;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.matchup-hero-score > div{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  margin:7px 0;
}
.matchup-hero-score strong{font-size:42px;line-height:1}
.matchup-hero-score b{color:#7391aa;font-size:20px}
.matchup-hero-score p{margin:0;color:#c4d1dc;font-size:10px}
.matchup-detail-stats{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:13px;
  margin-bottom:55px;
}
.matchup-detail-stats article{
  min-width:0;
  padding:19px;
  border:1px solid var(--line);
  border-top:4px solid var(--red);
  border-radius:8px;
  background:white;
  box-shadow:0 7px 22px rgba(3,16,30,.055);
}
.matchup-detail-stats span,
.matchup-detail-stats small{display:block}
.matchup-detail-stats span{
  overflow:hidden;
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.matchup-detail-stats strong{
  display:block;
  margin:7px 0 5px;
  overflow:hidden;
  font-size:22px;
  line-height:1.05;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.matchup-detail-stats .detail-leaders{font-size:12px;line-height:1.2;white-space:normal}
.matchup-detail-stats .detail-time{font-size:19px}
.matchup-detail-stats small{color:#8d99a5;font-size:8px;line-height:1.4}
.matchup-scoring-section{margin-top:10px}
.bench-scoring-section{margin-top:60px}
.head-to-head-board{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:11px;
  background:white;
  box-shadow:0 13px 34px rgba(3,16,30,.07);
}
.h2h-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr);
  align-items:center;
  min-height:78px;
  background:var(--navy-900);
  color:white;
}
.h2h-header > a{
  display:flex;
  align-items:center;
  gap:11px;
  padding:13px 17px;
}
.h2h-header > a:last-child{justify-content:flex-end;text-align:right}
.h2h-header > span{
  color:#91a7ba;
  font-size:8px;
  font-weight:900;
  letter-spacing:.1em;
  text-align:center;
  text-transform:uppercase;
}
.h2h-header a > span{
  width:48px;
  height:48px;
  flex:0 0 auto;
  overflow:hidden;
  border-radius:7px;
  background:white;
}
.h2h-header img{width:100%;height:100%;object-fit:contain}
.h2h-header strong{font-size:14px;text-transform:uppercase}
.h2h-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr);
  min-height:73px;
  border-top:1px solid var(--line);
}
.h2h-row:nth-child(odd){background:#fbfcfd}
.h2h-player{
  display:grid;
  grid-template-columns:45px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px 14px;
}
.h2h-player.home{
  grid-template-columns:auto minmax(0,1fr) 45px;
  text-align:right;
}
.h2h-player.home .h2h-headshot{grid-column:3;grid-row:1}
.h2h-player.home .h2h-player-copy{grid-column:2;grid-row:1}
.h2h-player.home .h2h-points{grid-column:1;grid-row:1}
.h2h-player.empty{display:grid;place-items:center;color:#a0abb5;font-size:9px}
.h2h-headshot,
.bench-player-headshot{
  width:43px;
  height:43px;
  overflow:hidden;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 35%,#d8e0e6 0 23%,transparent 24%),
    radial-gradient(circle at 50% 110%,#c4ced6 0 48%,transparent 49%),
    #eef2f5;
  border:1px solid #d8e0e6;
}
.h2h-headshot img,
.bench-player-headshot img{width:100%;height:100%;object-fit:cover;object-position:center top}
.h2h-player-copy strong,.h2h-player-copy small{display:block}
.h2h-player-copy strong{font-size:12px}
.h2h-player-copy small{margin-top:3px;color:var(--muted);font-size:8px}
.h2h-injury{
  display:inline-block;
  margin-top:4px;
  padding:2px 4px;
  border-radius:3px;
  background:#f5dfe2;
  color:#9b2034;
  font-size:6px;
  font-weight:900;
}
.h2h-points{text-align:right}
.h2h-player.home .h2h-points{text-align:left}
.h2h-points strong,.h2h-points small{display:block}
.h2h-points strong{font-size:17px}
.h2h-points small{margin-top:3px;color:var(--muted);font-size:7px}
.h2h-slot{
  display:grid;
  place-items:center;
  border-right:1px solid var(--line);
  border-left:1px solid var(--line);
  background:#edf1f4;
}
.h2h-slot span{
  padding:5px 7px;
  border-radius:4px;
  background:var(--navy-900);
  color:white;
  font-size:7px;
  font-weight:900;
  letter-spacing:.06em;
}
.bench-head-to-head{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.bench-team-column{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:white;
  box-shadow:0 9px 25px rgba(3,16,30,.055);
}
.bench-team-column > header{
  display:flex;
  align-items:center;
  gap:11px;
  padding:14px 16px;
  background:linear-gradient(135deg,var(--navy-950),var(--navy-700));
  color:white;
}
.bench-team-column > header > span{
  width:48px;
  height:48px;
  overflow:hidden;
  border-radius:7px;
  background:white;
}
.bench-team-column > header img{width:100%;height:100%;object-fit:contain}
.bench-team-column > header strong,
.bench-team-column > header small{display:block}
.bench-team-column > header strong{font-size:13px;text-transform:uppercase}
.bench-team-column > header small{margin-top:3px;color:#b6c9d8;font-size:8px}
.bench-player-row{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px 13px;
  border-top:1px solid var(--line);
}
.bench-player-headshot{width:38px;height:38px}
.bench-player-row strong,
.bench-player-row small{display:block}
.bench-player-row > div strong{font-size:11px}
.bench-player-row > div small{margin-top:2px;color:var(--muted);font-size:8px}
.bench-player-row > span{text-align:right}
.bench-player-row > span b{display:block;font-size:13px}
.bench-player-row > span small{color:var(--muted);font-size:7px}
.profile-matchup-full-link{
  display:block;
  margin-top:15px;
  padding-top:13px;
  border-top:1px solid var(--line);
  color:var(--red);
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
  text-align:right;
  text-transform:uppercase;
}


.matchup-odds-section{margin:0 0 28px}
.matchup-odds-panel{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);
  box-shadow:0 12px 32px rgba(3,16,30,.07);
}
.matchup-odds-panel-inner{padding:24px}
.matchup-odds-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:16px;
  align-items:start;
}
.matchup-odds-teams{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.matchup-odds-chip{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 6px 18px rgba(3,16,30,.04);
}
.matchup-odds-chip-logo{
  width:46px;
  height:46px;
  overflow:hidden;
  flex:0 0 auto;
  border-radius:10px;
  background:#fff;
  border:1px solid #dbe3ea;
}
.matchup-odds-chip-logo img{width:100%;height:100%;object-fit:contain}
.matchup-odds-chip-copy{min-width:0}
.matchup-odds-chip-copy span,
.matchup-odds-chip-copy strong,
.matchup-odds-chip-copy small{display:block}
.matchup-odds-chip-copy span{
  overflow:hidden;
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.matchup-odds-chip-copy strong{
  margin-top:4px;
  overflow:hidden;
  font-size:16px;
  line-height:1.05;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.matchup-odds-chip-copy small{
  margin-top:4px;
  color:#617182;
  font-size:8px;
}
.matchup-odds-chip.away{border-top:4px solid #113d86}
.matchup-odds-chip.home{border-top:4px solid var(--red)}
.matchup-odds-vs{
  align-self:center;
  color:#93a2b1;
  font-size:9px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.matchup-odds-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(110px,1fr));
  gap:12px;
}
.matchup-odds-metric{
  padding:13px 14px;
  border-radius:12px;
  background:var(--navy-950);
  color:white;
}
.matchup-odds-metric span,
.matchup-odds-metric strong,
.matchup-odds-metric small{display:block}
.matchup-odds-metric span{
  color:#96b8d2;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.matchup-odds-metric strong{margin-top:5px;font-size:24px;line-height:1}
.matchup-odds-metric small{margin-top:4px;color:#c3d4e1;font-size:8px;line-height:1.35}
.matchup-odds-chart-wrap{margin-top:18px;padding:18px 18px 10px;border:1px solid #e3e8ee;border-radius:14px;background:#fff}
.matchup-odds-chart-svg{display:block;width:100%;height:auto}
.matchup-odds-axis-label{fill:#7d8b98;font-size:11px;font-weight:800;letter-spacing:.04em}
.matchup-odds-axis-label.small{font-size:10px}
.matchup-odds-grid-line{stroke:#e5ebf0;stroke-width:1}
.matchup-odds-midline{stroke:#d1dbe4;stroke-width:1.2;stroke-dasharray:5 6}
.matchup-odds-away-line{fill:none;stroke:#113d86;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.matchup-odds-home-line{fill:none;stroke:var(--red);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.matchup-odds-away-point{fill:#113d86;stroke:#fff;stroke-width:3}
.matchup-odds-home-point{fill:var(--red);stroke:#fff;stroke-width:3}
.matchup-odds-away-area{fill:rgba(17,61,134,.08)}
.matchup-odds-home-area{fill:rgba(165,28,50,.06)}
.matchup-odds-legend{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:14px}
.matchup-odds-legend-item{display:flex;align-items:center;gap:8px;color:#425363;font-size:10px;font-weight:800}
.matchup-odds-legend-swatch{width:26px;height:0;border-top:3px solid #113d86;border-radius:999px}
.matchup-odds-legend-item.home .matchup-odds-legend-swatch{border-top-color:var(--red)}
.matchup-odds-footnote{margin-top:12px;color:#718090;font-size:9px;line-height:1.5}
.matchup-odds-empty{padding:36px 24px;text-align:center;color:#657586}

@media(max-width:1050px){
  .matchup-hero-grid{grid-template-columns:1fr 210px 1fr;gap:20px}
  .matchup-hero-team{grid-template-columns:95px minmax(0,1fr)}
  .matchup-hero-team.home{grid-template-columns:minmax(0,1fr) 95px}
  .matchup-hero-team-logo{width:95px;height:95px}
  .matchup-detail-stats{grid-template-columns:repeat(3,1fr)}
  .matchup-odds-summary{grid-template-columns:1fr}
}

@media(max-width:760px){
  .matchup-page-topline{align-items:flex-start;flex-direction:column}
  .matchup-live-tools{width:100%;align-items:flex-start;flex-direction:column}
  .matchup-hero-grid{grid-template-columns:1fr}
  .matchup-hero-team,
  .matchup-hero-team.home{
    grid-template-columns:82px minmax(0,1fr);
    text-align:left;
  }
  .matchup-hero-team.home .matchup-hero-team-logo{grid-column:1;grid-row:1}
  .matchup-hero-team.home > div{grid-column:2;grid-row:1}
  .matchup-hero-team.home .matchup-hero-team-link{text-align:left}
  .matchup-hero-team-logo{width:82px;height:82px}
  .matchup-hero-score{padding:19px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
  .matchup-detail-stats{grid-template-columns:1fr 1fr}
  .matchup-odds-panel-inner{padding:18px}
  .matchup-odds-teams{flex-direction:column;align-items:stretch}
  .matchup-odds-vs{align-self:flex-start}
  .matchup-odds-metrics{grid-template-columns:1fr 1fr}
  .matchup-odds-chart-wrap{padding:14px 12px 8px}
  .h2h-header{grid-template-columns:1fr 50px 1fr}
  .h2h-header a > span{display:none}
  .h2h-header strong{font-size:10px}
  .h2h-row{grid-template-columns:1fr 50px 1fr}
  .h2h-player,
  .h2h-player.home{
    grid-template-columns:1fr;
    align-content:center;
    text-align:center;
    padding:9px 5px;
  }
  .h2h-player .h2h-headshot,
  .h2h-player.home .h2h-headshot{display:none}
  .h2h-player.home .h2h-player-copy,
  .h2h-player.home .h2h-points{grid-column:auto;grid-row:auto;text-align:center}
  .h2h-player-copy small{display:none}
  .h2h-points{text-align:center}
  .bench-head-to-head{grid-template-columns:1fr}
}
@media(max-width:470px){
  .logo-halo{width:280px;padding:14px;border-radius:23px}
  .logo-halo::before{inset:13px;border-radius:15px}
  .logo-halo::after{right:21px;bottom:20px;font-size:6px}
  .matchup-detail-stats{grid-template-columns:1fr}
  .matchup-odds-metrics{grid-template-columns:1fr}
  .matchup-odds-legend{gap:10px}
}


/* V8: remove the EST. year plaque from the main logo */
.logo-halo::after{
  content:none !important;
  display:none !important;
}

/* V8: Transaction Center */
.transaction-hero{
  overflow:hidden;
  padding:55px 0 0;
  color:white;
  background:
    radial-gradient(circle at 82% 18%,rgba(31,151,99,.19),transparent 30%),
    radial-gradient(circle at 18% 100%,rgba(165,28,50,.24),transparent 37%),
    linear-gradient(120deg,var(--navy-950),#0b345b 60%,#061426);
}
.transaction-market-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:35px;
  padding-bottom:42px;
}
.transaction-market-header h1{
  margin:12px 0 12px;
  font-size:clamp(48px,7vw,84px);
  line-height:.86;
  letter-spacing:-.05em;
  text-transform:uppercase;
}
.transaction-market-header p{
  max-width:650px;
  margin:0;
  color:#bfd0dc;
  font-size:13px;
  line-height:1.6;
}
.market-status-card{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:245px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:8px;
  background:rgba(255,255,255,.075);
  box-shadow:0 15px 35px rgba(0,0,0,.17);
}
.market-dot{
  width:10px;
  height:10px;
  flex:0 0 auto;
  border-radius:50%;
  background:#35d28c;
  box-shadow:0 0 0 6px rgba(53,210,140,.12);
  animation:market-pulse 1.8s ease-in-out infinite;
}
@keyframes market-pulse{
  50%{box-shadow:0 0 0 10px rgba(53,210,140,0)}
}
.market-status-card strong,
.market-status-card small{display:block}
.market-status-card strong{
  font-size:10px;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.market-status-card small{
  margin-top:3px;
  color:#a9bdcd;
  font-size:8px;
}
.transaction-ticker-shell{
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
  background:#020d19;
}
.transaction-ticker{
  min-height:43px;
  display:flex;
  align-items:center;
  white-space:nowrap;
}
.ticker-loading{
  display:block;
  width:100%;
  color:#8094a4;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
}
.ticker-track{
  display:flex;
  width:max-content;
  animation:transaction-tape 45s linear infinite;
}
.transaction-ticker:hover .ticker-track{animation-play-state:paused}
@keyframes transaction-tape{
  to{transform:translateX(-50%)}
}
.ticker-item{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:43px;
  padding:0 17px;
  border-right:1px solid rgba(255,255,255,.1);
  color:#c7d3dc;
  font-size:9px;
}
.ticker-item b{font-size:11px}
.ticker-item strong{color:white;font-size:9px}
.ticker-item.add b{color:#42dc96}
.ticker-item.drop b{color:#ec647a}
.ticker-item.trade b{color:#e5ba55}
.transaction-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
  padding:13px;
  border:1px solid var(--line);
  border-radius:8px;
  background:white;
}
.transaction-filter-group{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.transaction-filter{
  min-height:34px;
  padding:0 11px;
  border:1px solid var(--line);
  border-radius:4px;
  background:#f5f7f8;
  color:#617181;
  font:inherit;
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}
.transaction-filter.active{
  border-color:var(--navy-900);
  background:var(--navy-900);
  color:white;
}
.transaction-toolbar-right{
  display:flex;
  align-items:center;
  gap:8px;
}
.transaction-toolbar-right label{
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.transaction-toolbar-right select{
  min-width:180px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:4px;
  background:white;
  font:inherit;
  font-size:10px;
}
.transaction-summary-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-bottom:45px;
}
.transaction-summary-grid article{
  min-width:0;
  padding:18px;
  border:1px solid var(--line);
  border-radius:8px;
  background:white;
  box-shadow:0 7px 22px rgba(3,16,30,.05);
}
.transaction-summary-grid span,
.transaction-summary-grid small{display:block}
.transaction-summary-grid span{
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.transaction-summary-grid strong{
  display:block;
  margin:8px 0 5px;
  overflow:hidden;
  font-size:29px;
  line-height:1;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.transaction-summary-grid small{
  color:#909ca7;
  font-size:8px;
}
.market-up{color:#168657}
.market-down{color:#b52d45}
.market-trade{color:#9a7017}
.active-team-name{font-size:18px!important}
.transaction-layout{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(300px,.68fr);
  gap:24px;
  align-items:start;
}
.transaction-feed{
  display:grid;
  gap:10px;
}
.transaction-card{
  display:grid;
  grid-template-columns:90px minmax(0,1.2fr) minmax(220px,.8fr);
  align-items:center;
  gap:15px;
  min-height:95px;
  overflow:hidden;
  border:1px solid var(--line);
  border-left:5px solid #98a7b4;
  border-radius:9px;
  background:white;
  box-shadow:0 7px 20px rgba(3,16,30,.045);
  transition:transform .16s ease,box-shadow .16s ease;
}
.transaction-card:hover{
  transform:translateY(-2px);
  box-shadow:0 13px 28px rgba(3,16,30,.09);
}
.transaction-card.add{border-left-color:#168657}
.transaction-card.drop{border-left-color:#b52d45}
.transaction-card.trade{border-left-color:#ad7a12}
.transaction-time{
  align-self:stretch;
  display:grid;
  align-content:center;
  padding:12px;
  border-right:1px solid var(--line);
  background:#f4f6f7;
  text-align:center;
}
.transaction-time span,
.transaction-time strong{display:block}
.transaction-time span{
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.transaction-time strong{
  margin-top:4px;
  font-size:13px;
}
.transaction-move{
  display:grid;
  grid-template-columns:26px 52px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:11px 0;
}
.transaction-action-symbol{
  font-size:20px;
  font-weight:900;
  text-align:center;
}
.transaction-card.add .transaction-action-symbol{color:#168657}
.transaction-card.drop .transaction-action-symbol{color:#b52d45}
.transaction-card.trade .transaction-action-symbol{color:#ad7a12}
.transaction-player-headshot{
  width:50px;
  height:50px;
  overflow:hidden;
  border:1px solid #d7dfe5;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 35%,#d8e0e6 0 23%,transparent 24%),
    radial-gradient(circle at 50% 110%,#c4ced6 0 48%,transparent 49%),
    #eef2f5;
}
.transaction-player-headshot img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.transaction-action-label{
  display:block;
  margin-bottom:3px;
  color:var(--muted);
  font-size:7px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.transaction-player-copy strong,
.transaction-player-copy small{display:block}
.transaction-player-copy strong{font-size:13px}
.transaction-player-copy small{
  margin-top:3px;
  color:var(--muted);
  font-size:8px;
}
.transaction-bid{
  padding:6px 7px;
  border-radius:4px;
  background:#eaf6ef;
  color:#168657;
  font-size:7px;
  font-weight:900;
}
.transaction-party{
  align-self:stretch;
  display:grid;
  align-items:center;
  padding:11px 14px;
  border-left:1px solid var(--line);
}
.transaction-team{
  display:flex;
  align-items:center;
  gap:10px;
  color:inherit;
}
.transaction-team > span,
.transaction-route a > span{
  width:42px;
  height:42px;
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:6px;
  background:#f1f3f5;
}
.transaction-team img,
.transaction-route img{width:100%;height:100%;object-fit:contain}
.transaction-team strong,
.transaction-team small{display:block}
.transaction-team strong{font-size:11px}
.transaction-team small{margin-top:2px;color:var(--muted);font-size:8px}
.transaction-route{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:9px;
}
.transaction-route a{
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  color:inherit;
}
.transaction-route a:last-child{justify-content:flex-end;text-align:right}
.transaction-route strong{
  overflow:hidden;
  font-size:9px;
  text-overflow:ellipsis;
}
.transaction-route b{color:#ad7a12}
.transaction-volume-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:9px;
  background:white;
  box-shadow:0 8px 24px rgba(3,16,30,.055);
}
.transaction-volume-row{
  display:grid;
  grid-template-columns:30px 42px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-height:63px;
  padding:9px 12px;
  border-top:1px solid var(--line);
  color:inherit;
}
.transaction-volume-row:first-child{border-top:0}
.transaction-volume-row:hover{background:#f7f9fa}
.volume-rank{
  color:#9aa7b2;
  font-size:10px;
  font-weight:900;
}
.volume-logo{
  width:40px;
  height:40px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:6px;
  background:#f1f3f5;
}
.volume-logo img{width:100%;height:100%;object-fit:contain}
.transaction-volume-row strong{
  display:block;
  overflow:hidden;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.volume-bar{
  display:block;
  height:5px;
  margin-top:7px;
  overflow:hidden;
  border-radius:999px;
  background:#e7ebee;
}
.volume-bar i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--navy-700),var(--red));
}
.transaction-volume-row > b{
  font-size:15px;
}
.transaction-disclosure{
  margin-top:18px;
  padding:17px;
  border:1px solid #e1d8c7;
  border-radius:8px;
  background:var(--cream);
}
.transaction-disclosure strong{
  display:block;
  color:#635a4c;
  font-size:9px;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.transaction-disclosure p{
  margin:7px 0 0;
  color:#766e62;
  font-size:9px;
  line-height:1.6;
}

@media(max-width:1050px){
  .transaction-summary-grid{grid-template-columns:repeat(3,1fr)}
  .transaction-layout{grid-template-columns:1fr}
}
@media(max-width:790px){
  .transaction-market-header{align-items:flex-start;flex-direction:column}
  .market-status-card{min-width:0;width:100%}
  .transaction-toolbar{align-items:stretch;flex-direction:column}
  .transaction-toolbar-right{align-items:stretch;flex-direction:column}
  .transaction-toolbar-right select{width:100%}
  .transaction-card{
    grid-template-columns:70px minmax(0,1fr);
  }
  .transaction-party{
    grid-column:1/-1;
    border-top:1px solid var(--line);
    border-left:0;
  }
}
@media(max-width:570px){
  .transaction-summary-grid{grid-template-columns:1fr 1fr}
  .transaction-card{grid-template-columns:1fr}
  .transaction-time{
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .transaction-time strong{margin:0}
  .transaction-move{
    grid-template-columns:24px 46px minmax(0,1fr);
    padding:12px;
  }
  .transaction-bid{grid-column:3}
  .transaction-party{grid-column:auto}
}
@media(max-width:400px){
  .transaction-summary-grid{grid-template-columns:1fr}
}


/* V9: weekly high-score feature */
.weekly-high-card{padding:0}
.weekly-high-link{
  position:absolute;
  inset:0;
  display:block!important;
  margin:0!important;
  color:inherit;
}
.weekly-high-link>img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.weekly-high-link>div{
  position:absolute;
  inset:auto 0 0;
  padding:50px 24px 22px;
  color:white;
  background:linear-gradient(transparent,rgba(3,16,30,.95));
}
.weekly-high-link>div span{
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.weekly-high-link>div h2{margin:7px 0 2px}
.weekly-high-link>div p{color:#ccd7df}
.weekly-high-link:hover h2{color:#fff2b8}

/* V9: championship badges on franchise profiles */
.team-championships{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:15px;
}
.championship-badge{
  display:grid;
  grid-template-columns:25px auto;
  grid-template-rows:auto auto;
  column-gap:8px;
  min-width:112px;
  padding:8px 11px;
  border:1px solid rgba(255,220,106,.55);
  border-radius:7px;
  color:#fff3b0;
  background:
    linear-gradient(135deg,rgba(255,215,89,.22),rgba(128,83,0,.22)),
    rgba(3,16,30,.42);
  box-shadow:0 8px 20px rgba(0,0,0,.18),inset 0 0 0 1px rgba(255,255,255,.04);
}
.championship-badge>span{
  grid-row:1/3;
  align-self:center;
  font-size:22px;
}
.championship-badge strong{
  font-size:13px;
  line-height:1;
}
.championship-badge small{
  margin-top:2px;
  color:#dccb83;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* V9: archives */
.archive-hero{
  padding:64px 0;
  color:white;
  background:
    radial-gradient(circle at 82% 45%,rgba(255,205,64,.23),transparent 30%),
    linear-gradient(120deg,#061427,#123c63 62%,#07192c);
}
.archive-hero-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.archive-hero h1{
  margin:13px 0 14px;
  font-size:clamp(53px,8vw,94px);
  line-height:.84;
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.archive-hero p{
  max-width:680px;
  margin:0;
  color:#bfd0dc;
  font-size:13px;
  line-height:1.65;
}
.archive-trophy{
  display:grid;
  place-items:center;
  width:190px;
  height:190px;
  flex:0 0 auto;
  border:1px solid rgba(255,226,128,.35);
  border-radius:50%;
  font-size:90px;
  background:
    radial-gradient(circle,#e6bc4e 0 12%,#9a6612 13% 15%,transparent 16%),
    rgba(255,215,90,.08);
  box-shadow:0 25px 55px rgba(0,0,0,.28),inset 0 0 45px rgba(255,211,80,.08);
}
.archive-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px;
  margin-bottom:55px;
}
.archive-summary-grid article{
  min-width:0;
  padding:20px;
  border:1px solid var(--line);
  border-top:4px solid #c99724;
  border-radius:8px;
  background:white;
  box-shadow:0 7px 22px rgba(3,16,30,.055);
}
.archive-summary-grid span,
.archive-summary-grid small{display:block}
.archive-summary-grid span{
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.archive-summary-grid strong{
  display:block;
  margin:8px 0 5px;
  overflow:hidden;
  font-size:27px;
  line-height:1;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.archive-summary-grid .archive-summary-team{font-size:17px}
.archive-summary-grid small{
  color:#8d99a5;
  font-size:8px;
  line-height:1.45;
}
.archive-champions-section{margin-bottom:65px}
.champion-gallery{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.champion-card{
  position:relative;
  overflow:hidden;
  min-height:280px;
  padding:22px;
  border:1px solid #d8bd72;
  border-radius:10px;
  color:white;
  background:
    radial-gradient(circle at 75% 0,rgba(255,225,112,.23),transparent 37%),
    linear-gradient(145deg,#0b2742,#061321);
  box-shadow:0 12px 30px rgba(3,16,30,.12);
  transition:transform .18s ease,box-shadow .18s ease;
}
.champion-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 38px rgba(3,16,30,.2);
}
.champion-year{
  display:block;
  color:#e4c461;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}
.champion-logo{
  display:grid;
  place-items:center;
  width:100px;
  height:100px;
  margin:22px auto 14px;
  overflow:hidden;
  border:3px solid #d7b64e;
  border-radius:50%;
  background:white;
  box-shadow:0 0 0 7px rgba(215,182,78,.11);
}
.champion-logo img{width:100%;height:100%;object-fit:contain}
.champion-trophy-icon{
  position:absolute;
  top:16px;
  right:17px;
  font-size:27px;
}
.champion-card h3{
  margin:0;
  font-size:20px;
  line-height:1;
  text-align:center;
  text-transform:uppercase;
}
.champion-card p{
  margin:6px 0 18px;
  color:#b8c9d6;
  font-size:9px;
  text-align:center;
}
.champion-card>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.13);
  color:#d7e0e7;
  font-size:9px;
}
.champion-card>div b{color:#ead277}
.archive-timeline{
  position:relative;
  display:grid;
  gap:26px;
}
.archive-timeline::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:31px;
  width:2px;
  background:linear-gradient(#c99b2e,#d7dee4);
}
.archive-season-card{
  position:relative;
  margin-left:70px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:11px;
  background:white;
  box-shadow:0 11px 30px rgba(3,16,30,.065);
}
.archive-season-card::before{
  content:"";
  position:absolute;
  top:31px;
  left:-49px;
  width:18px;
  height:18px;
  border:5px solid white;
  border-radius:50%;
  background:#c99b2e;
  box-shadow:0 0 0 2px #c99b2e;
}
.archive-season-card.current::before{background:#168657;box-shadow:0 0 0 2px #168657}
.archive-season-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px 23px;
  color:white;
  background:linear-gradient(120deg,var(--navy-950),var(--navy-700));
}
.archive-season-header span{
  color:#9ebbd1;
  font-size:8px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.archive-season-header h2{
  margin:4px 0 0;
  font-size:34px;
  line-height:1;
}
.archive-season-header>strong{
  padding:7px 9px;
  border-radius:999px;
  background:#a47618;
  font-size:8px;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.archive-season-card.current .archive-season-header>strong{background:#168657}
.archive-season-champion{
  display:grid;
  grid-template-columns:85px minmax(0,1fr) auto;
  align-items:center;
  gap:17px;
  padding:20px 23px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,#fffaf0,#fff);
}
.archive-season-champion.pending{background:#f6f8f9}
.archive-season-champion-logo{
  display:grid;
  place-items:center;
  width:82px;
  height:82px;
  overflow:hidden;
  border:2px solid #d2ae45;
  border-radius:50%;
  background:white;
  font-size:35px;
}
.archive-season-champion-logo img{width:100%;height:100%;object-fit:contain}
.archive-season-champion span{
  color:#a47b1f;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.archive-season-champion h3{
  margin:5px 0 5px;
  font-size:23px;
  line-height:1;
  text-transform:uppercase;
}
.archive-season-champion p{
  margin:0;
  color:var(--muted);
  font-size:9px;
}
.archive-season-champion>a{
  color:var(--red);
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.archive-season-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-bottom:1px solid var(--line);
}
.archive-season-metrics article{
  min-width:0;
  padding:17px 18px;
  border-left:1px solid var(--line);
}
.archive-season-metrics article:first-child{border-left:0}
.archive-season-metrics span,
.archive-season-metrics strong,
.archive-season-metrics small{display:block}
.archive-season-metrics span{
  color:var(--muted);
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.archive-season-metrics strong{
  margin:6px 0 4px;
  overflow:hidden;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.archive-season-metrics small{
  color:#8c98a3;
  font-size:8px;
}
.archive-season-details summary{
  padding:15px 22px;
  color:#445466;
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}
.archive-season-details[open] summary{border-bottom:1px solid var(--line)}
.archive-standings{overflow-x:auto}
.archive-standings table{width:100%;border-collapse:collapse}
.archive-standings th,
.archive-standings td{
  padding:11px 14px;
  border-top:1px solid var(--line);
  font-size:9px;
  text-align:left;
}
.archive-standings thead th{
  border-top:0;
  color:var(--muted);
  background:#f4f6f7;
  font-size:7px;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.archive-standings td a{
  display:flex;
  align-items:center;
  gap:9px;
  color:inherit;
}
.archive-standings td a span{
  width:32px;
  height:32px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:5px;
  background:#f1f3f5;
}
.archive-standings img{width:100%;height:100%;object-fit:contain}
.archive-access-note{
  margin-top:32px;
  padding:18px;
  border:1px solid #decfa8;
  border-radius:8px;
  background:#fff9e9;
}
.archive-access-note strong{
  display:block;
  color:#76622d;
  font-size:9px;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.archive-access-note p{
  margin:7px 0 0;
  color:#796d4d;
  font-size:9px;
  line-height:1.6;
}

@media(max-width:1000px){
  .champion-gallery{grid-template-columns:repeat(2,1fr)}
  .archive-summary-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .archive-hero-inner{align-items:flex-start;flex-direction:column}
  .archive-trophy{width:130px;height:130px;font-size:60px}
  .archive-season-metrics{grid-template-columns:1fr 1fr}
  .archive-season-metrics article:nth-child(3){border-left:0;border-top:1px solid var(--line)}
  .archive-season-metrics article:nth-child(4){border-top:1px solid var(--line)}
  .archive-season-champion{grid-template-columns:68px minmax(0,1fr)}
  .archive-season-champion-logo{width:65px;height:65px}
  .archive-season-champion>a{grid-column:1/-1}
}
@media(max-width:540px){
  .champion-gallery{grid-template-columns:1fr}
  .archive-summary-grid{grid-template-columns:1fr}
  .archive-timeline::before{left:8px}
  .archive-season-card{margin-left:29px}
  .archive-season-card::before{left:-29px;width:12px;height:12px;border-width:3px}
  .archive-season-metrics{grid-template-columns:1fr}
  .archive-season-metrics article{border-top:1px solid var(--line);border-left:0!important}
  .archive-season-metrics article:first-child{border-top:0}
}


/* V10: Power Rankings */
.power-hero{
  padding:62px 0;
  color:white;
  background:
    radial-gradient(circle at 82% 30%,rgba(168,32,55,.3),transparent 33%),
    linear-gradient(120deg,#051426,#0b355d 62%,#061629);
}
.power-hero-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.power-hero h1{
  margin:13px 0 14px;
  font-size:clamp(54px,8vw,96px);
  line-height:.84;
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.power-hero p{
  max-width:730px;
  margin:0;
  color:#bfd0dc;
  font-size:13px;
  line-height:1.65;
}
.power-meter-hero{
  display:grid;
  place-items:center;
  width:180px;
  height:180px;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  background:
    conic-gradient(from -90deg,#a51c32 0 74%,rgba(255,255,255,.12) 74% 100%);
  box-shadow:0 25px 55px rgba(0,0,0,.25),inset 0 0 0 14px rgba(3,16,30,.75);
}
.power-meter-hero span,
.power-meter-hero strong,
.power-meter-hero small{display:block;text-align:center}
.power-meter-hero span{
  align-self:end;
  color:#eeb4bf;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
}
.power-meter-hero strong{
  font-size:42px;
  line-height:1;
}
.power-meter-hero small{
  align-self:start;
  color:#a8bdcc;
  font-size:8px;
  font-weight:800;
}
.power-view-switcher{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:0 0 16px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#eef2f5;
}
.power-view-button{
  position:relative;
  padding:14px 18px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:#506273;
  cursor:pointer;
  text-align:left;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease;
}
.power-view-button:hover{transform:translateY(-1px);color:var(--navy-900)}
.power-view-button.active{
  border-color:#d8e0e7;
  background:white;
  color:var(--navy-950);
  box-shadow:0 7px 20px rgba(3,16,30,.08);
}
.power-view-button.active::before{
  content:"";
  position:absolute;
  top:0;
  left:16px;
  right:16px;
  height:3px;
  border-radius:0 0 999px 999px;
  background:var(--red);
}
.power-view-button span,
.power-view-button small{display:block}
.power-view-button span{font-size:12px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}
.power-view-button small{margin-top:4px;color:#8795a3;font-size:8px;font-weight:700}
.power-view-button.active small{color:#647586}

.power-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
  padding:17px 19px;
  border:1px solid var(--line);
  border-radius:9px;
  background:white;
}
.power-toolbar strong{display:block;margin-top:4px;font-size:13px}
.power-toolbar-actions{
  display:flex;
  align-items:center;
  gap:12px;
}
.power-toolbar-actions>span{
  color:var(--muted);
  font-size:8px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.power-methodology{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
  margin-bottom:42px;
}
.power-methodology article{
  display:grid;
  grid-template-columns:45px minmax(0,1fr);
  gap:12px;
  padding:17px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f6f8f9;
}
.power-methodology>article>span{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--navy-900);
  color:white;
  font-size:9px;
  font-weight:900;
}
.power-methodology strong{display:block;font-size:11px}
.power-methodology p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.55;
}
.power-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px;
  margin-bottom:52px;
}
.power-summary-grid article{
  min-width:0;
  padding:19px;
  border:1px solid var(--line);
  border-top:4px solid var(--red);
  border-radius:8px;
  background:white;
  box-shadow:0 7px 22px rgba(3,16,30,.055);
}
.power-summary-grid span,
.power-summary-grid small{display:block}
.power-summary-grid span{
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.power-summary-grid strong{
  display:block;
  margin:8px 0 5px;
  overflow:hidden;
  font-size:28px;
  line-height:1;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.power-summary-grid .power-summary-name{font-size:16px}
.power-summary-grid small{color:#8d99a5;font-size:8px}
.power-heading{margin-bottom:15px}
.power-list{display:grid;gap:15px}
.power-rank-card{
  display:grid;
  grid-template-columns:85px minmax(260px,1.1fr) 150px minmax(260px,.9fr);
  grid-template-areas:
    "rank team score metrics"
    "rank assets assets assets";
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:11px;
  background:white;
  box-shadow:0 10px 28px rgba(3,16,30,.065);
  transition:transform .17s ease,box-shadow .17s ease;
}
.power-rank-card:hover{
  transform:translateY(-3px);
  box-shadow:0 17px 36px rgba(3,16,30,.12);
}
.power-rank-card.rank-1{border-color:#d8b84f;box-shadow:0 13px 34px rgba(154,112,23,.15)}
.power-rank-card.rank-2{border-color:#b8c2ca}
.power-rank-card.rank-3{border-color:#bd815a}
.power-rank-number{
  grid-area:rank;
  display:grid;
  align-content:center;
  justify-items:center;
  color:white;
  background:linear-gradient(160deg,var(--navy-950),var(--navy-700));
}
.rank-1 .power-rank-number{background:linear-gradient(160deg,#8e6713,#d0a52f)}
.rank-2 .power-rank-number{background:linear-gradient(160deg,#677582,#aab4bc)}
.rank-3 .power-rank-number{background:linear-gradient(160deg,#70432e,#ad704e)}
.power-rank-number span{
  font-size:7px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.power-rank-number strong{
  margin-top:4px;
  font-size:38px;
  line-height:1;
}
.power-team-identity{
  grid-area:team;
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
  padding:18px;
  color:inherit;
}
.power-team-logo{
  width:72px;
  height:72px;
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:9px;
  background:#f1f3f5;
}
.power-team-logo img{width:100%;height:100%;object-fit:contain}
.power-team-identity>div{min-width:0}
.power-team-identity>div>span{
  color:var(--red);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
}
.power-team-identity h2{
  margin:4px 0 4px;
  overflow:hidden;
  font-size:20px;
  line-height:1;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.power-team-identity p{
  margin:0;
  color:var(--muted);
  font-size:9px;
}
.power-score-block{
  grid-area:score;
  display:grid;
  align-content:center;
  padding:18px;
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
  text-align:center;
}
.power-score-block>span{
  color:var(--muted);
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.power-score-block>strong{
  margin:5px 0 9px;
  font-size:31px;
  line-height:1;
}
.power-score-block>i{
  display:block;
  height:6px;
  overflow:hidden;
  border-radius:999px;
  background:#e7ebee;
}
.power-score-block>i>b{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--navy-700),var(--red));
}
.power-metrics{
  grid-area:metrics;
  display:grid;
  grid-template-columns:1fr 1fr;
}
.power-metrics>div{
  display:grid;
  align-content:center;
  padding:13px 15px;
  border-left:1px solid var(--line);
  border-top:1px solid var(--line);
}
.power-metrics>div:nth-child(-n+2){border-top:0}
.power-metrics span{
  color:var(--muted);
  font-size:7px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.power-metrics strong{
  margin-top:4px;
  font-size:16px;
}
.power-assets{
  grid-area:assets;
  padding:13px 18px 17px;
  border-top:1px solid var(--line);
  background:#f8fafb;
}
.power-assets>span{
  display:block;
  margin-bottom:9px;
  color:var(--muted);
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.power-assets>div{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.power-assets article{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:7px;
  border:1px solid var(--line);
  border-radius:6px;
  background:white;
}
.power-player-photo{
  width:34px;
  height:34px;
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid #d7dfe5;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 35%,#d8e0e6 0 23%,transparent 24%),
    radial-gradient(circle at 50% 110%,#c4ced6 0 48%,transparent 49%),
    #eef2f5;
}
.power-player-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.power-assets article>div{min-width:0}
.power-assets strong,
.power-assets small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.power-assets strong{font-size:9px}
.power-assets small{margin-top:2px;color:var(--muted);font-size:7px}
.power-formula-note{
  margin-top:46px;
  padding:28px;
  border:1px solid #ddd2bd;
  border-radius:10px;
  background:var(--cream);
}
.power-formula-note h2{
  margin:10px 0 10px;
  font-size:29px;
  text-transform:uppercase;
}
.power-formula-note p{
  max-width:850px;
  margin:0;
  color:#6d685f;
  font-size:11px;
  line-height:1.7;
}

@media(max-width:1050px){
  .power-rank-card{
    grid-template-columns:75px minmax(250px,1fr) 135px;
    grid-template-areas:
      "rank team score"
      "rank metrics metrics"
      "rank assets assets";
  }
  .power-metrics{border-top:1px solid var(--line)}
  .power-assets>div{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:800px){
  .power-hero-inner{align-items:flex-start;flex-direction:column}
  .power-meter-hero{width:130px;height:130px}
  .power-methodology{grid-template-columns:1fr}
  .power-summary-grid{grid-template-columns:1fr 1fr}
  .power-toolbar{align-items:flex-start;flex-direction:column}
}
@media(max-width:650px){
  .power-rank-card{
    grid-template-columns:60px minmax(0,1fr);
    grid-template-areas:
      "rank team"
      "rank score"
      "rank metrics"
      "rank assets";
  }
  .power-score-block{
    border-top:1px solid var(--line);
    border-right:0;
    border-left:0;
    text-align:left;
  }
  .power-score-block>i{max-width:250px}
  .power-assets>div{grid-template-columns:1fr 1fr}
}
@media(max-width:450px){
  .power-summary-grid{grid-template-columns:1fr}
  .power-team-logo{width:58px;height:58px}
  .power-team-identity h2{font-size:16px}
  .power-assets>div{grid-template-columns:1fr}
}


/* V11: additional navigation item */
@media(min-width:901px){
  nav{gap:16px}
  nav a{font-size:10px}
}

/* V11: Team Marketplace */
.marketplace-hero{
  overflow:hidden;
  padding:58px 0 0;
  color:white;
  background:
    radial-gradient(circle at 84% 25%,rgba(43,190,127,.2),transparent 30%),
    radial-gradient(circle at 15% 105%,rgba(165,28,50,.25),transparent 40%),
    linear-gradient(120deg,#041321,#0d3d65 62%,#06182b);
}
.marketplace-hero-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  padding-bottom:45px;
}
.marketplace-hero h1{
  margin:13px 0 14px;
  font-size:clamp(52px,8vw,94px);
  line-height:.84;
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.marketplace-hero p{
  max-width:730px;
  margin:0;
  color:#bfd0dc;
  font-size:13px;
  line-height:1.65;
}
.marketplace-hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:23px;
}
.marketplace-bell{
  display:grid;
  place-items:center;
  width:180px;
  height:180px;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  background:
    conic-gradient(from -90deg,#1b9d68 0 70%,rgba(255,255,255,.12) 70% 100%);
  box-shadow:0 25px 55px rgba(0,0,0,.26),inset 0 0 0 14px rgba(3,16,30,.75);
}
.marketplace-bell span,
.marketplace-bell strong,
.marketplace-bell small{display:block;text-align:center}
.marketplace-bell span{
  align-self:end;
  color:#9cedc8;
  font-size:9px;
  font-weight:900;
  letter-spacing:.16em;
}
.marketplace-bell strong{font-size:48px;line-height:1}
.marketplace-bell small{
  align-self:start;
  color:#aec2d0;
  font-size:8px;
  font-weight:800;
}
.marketplace-ticker-shell{
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.11);
  border-bottom:1px solid rgba(255,255,255,.11);
  background:#020d19;
}
.marketplace-ticker{
  min-height:43px;
  display:flex;
  align-items:center;
  overflow:hidden;
  color:#8da0ae;
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
  white-space:nowrap;
  text-transform:uppercase;
}
.marketplace-ticker>span{display:block;width:100%;text-align:center}
.marketplace-ticker-track{
  display:flex;
  width:max-content;
  animation:marketplace-tape 44s linear infinite;
}
.marketplace-ticker:hover .marketplace-ticker-track{animation-play-state:paused}
@keyframes marketplace-tape{to{transform:translateX(-50%)}}
.marketplace-ticker-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:43px;
  padding:0 19px;
  border-right:1px solid rgba(255,255,255,.1);
  color:#c2cfd8;
}
.marketplace-ticker-item b{font-size:8px}
.marketplace-ticker-item strong{color:white}
.marketplace-ticker-item.offer b{color:#4be09b}
.marketplace-ticker-item.wanted b{color:#e8bd59}
.marketplace-setup{
  margin-bottom:18px;
  padding:18px 20px;
  border:1px solid #e0c878;
  border-radius:8px;
  background:#fff9e6;
}
.marketplace-setup strong{
  display:block;
  color:#70571c;
  font-size:10px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.marketplace-setup p{
  margin:7px 0 0;
  color:#796b45;
  font-size:10px;
  line-height:1.6;
}
.marketplace-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:18px;
  padding:13px;
  border:1px solid var(--line);
  border-radius:8px;
  background:white;
}
.marketplace-filter-group{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}
.marketplace-filter{
  min-height:34px;
  padding:0 11px;
  border:1px solid var(--line);
  border-radius:4px;
  background:#f5f7f8;
  color:#617181;
  font:inherit;
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}
.marketplace-filter.active{
  border-color:var(--navy-900);
  background:var(--navy-900);
  color:white;
}
.marketplace-toolbar-controls{
  display:flex;
  align-items:center;
  gap:7px;
}
.marketplace-toolbar-controls label{
  color:var(--muted);
  font-size:7px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.marketplace-toolbar-controls select{
  min-width:135px;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:4px;
  background:white;
  font:inherit;
  font-size:9px;
}
.marketplace-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px;
  margin-bottom:48px;
}
.marketplace-summary-grid article{
  min-width:0;
  padding:19px;
  border:1px solid var(--line);
  border-top:4px solid var(--navy-700);
  border-radius:8px;
  background:white;
  box-shadow:0 7px 22px rgba(3,16,30,.055);
}
.marketplace-summary-grid span,
.marketplace-summary-grid small{display:block}
.marketplace-summary-grid span{
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.marketplace-summary-grid strong{
  display:block;
  margin:8px 0 5px;
  font-size:29px;
  line-height:1;
}
.marketplace-summary-grid small{color:#8d99a5;font-size:8px}
.marketplace-sell-number{color:#168657}
.marketplace-buy-number{color:#9f7216}
.marketplace-heading{margin-bottom:15px}
.marketplace-listings{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.marketplace-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:white;
  box-shadow:0 10px 27px rgba(3,16,30,.065);
  transition:transform .17s ease,box-shadow .17s ease;
}
.marketplace-card:hover{
  transform:translateY(-3px);
  box-shadow:0 17px 36px rgba(3,16,30,.12);
}
.marketplace-card.offer{border-top:4px solid #168657}
.marketplace-card.wanted{border-top:4px solid #b1821e}
.marketplace-card-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 13px;
  background:#f3f6f7;
}
.marketplace-card-banner span{
  font-size:7px;
  font-weight:900;
  letter-spacing:.1em;
}
.marketplace-card.offer .marketplace-card-banner span{color:#168657}
.marketplace-card.wanted .marketplace-card-banner span{color:#956a15}
.marketplace-card-banner b{
  color:var(--muted);
  font-size:7px;
}
.marketplace-card-player{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:112px;
  padding:17px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(135deg,#fff,#f2f5f7);
}
.marketplace-player-photo{
  width:76px;
  height:76px;
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid #d7dfe5;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 35%,#d8e0e6 0 23%,transparent 24%),
    radial-gradient(circle at 50% 110%,#c4ced6 0 48%,transparent 49%),
    #eef2f5;
}
.marketplace-player-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.marketplace-card-player>div>span{
  color:var(--red);
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
}
.marketplace-card-player h3,
.marketplace-wanted-asset h3{
  margin:5px 0 4px;
  font-size:20px;
  line-height:1;
  text-transform:uppercase;
}
.marketplace-card-player p{
  margin:0;
  color:var(--muted);
  font-size:9px;
}
.marketplace-wanted-asset{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:112px;
  padding:17px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(135deg,#fffaf0,#fff);
}
.marketplace-position-badge{
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  flex:0 0 auto;
  padding:7px;
  border:2px solid #d0a84e;
  border-radius:50%;
  color:#805a0d;
  background:#fff7db;
  font-size:10px;
  font-weight:900;
  text-align:center;
}
.marketplace-wanted-asset>div>span{
  color:#9b7018;
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.marketplace-card-team{
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 16px;
  border-bottom:1px solid var(--line);
  color:inherit;
}
.marketplace-card-team:hover{background:#f8fafb}
.marketplace-card-team>span{
  width:43px;
  height:43px;
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:6px;
  background:#f1f3f5;
}
.marketplace-card-team img{width:100%;height:100%;object-fit:contain}
.marketplace-card-team small,
.marketplace-card-team strong,
.marketplace-card-team p{display:block}
.marketplace-card-team small{
  color:var(--muted);
  font-size:7px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.marketplace-card-team strong{
  margin-top:2px;
  font-size:11px;
}
.marketplace-card-team p{
  margin:2px 0 0;
  color:var(--muted);
  font-size:8px;
}
.marketplace-card-copy{
  min-height:118px;
  padding:15px 16px;
}
.marketplace-card-copy section>span{
  display:block;
  color:var(--muted);
  font-size:7px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.marketplace-card-copy section>strong{
  display:block;
  margin-top:5px;
  font-size:11px;
  line-height:1.4;
}
.marketplace-card-copy>p{
  margin:12px 0 0;
  padding-top:11px;
  border-top:1px solid var(--line);
  color:#617080;
  font-size:9px;
  line-height:1.55;
}
.marketplace-card>footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 13px;
  border-top:1px solid var(--line);
  background:#f6f8f9;
}
.marketplace-card>footer>span{
  color:var(--muted);
  font-size:7px;
}
.remove-marketplace-listing{
  border:0;
  padding:0;
  color:#9a5964;
  background:transparent;
  font:inherit;
  font-size:7px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}
.marketplace-empty{
  grid-column:1/-1;
  padding:50px 25px;
  border:1px solid var(--line);
  border-radius:10px;
  background:white;
  text-align:center;
}
.marketplace-empty strong{
  display:block;
  font-size:20px;
}
.marketplace-empty p{
  margin:7px 0 18px;
  color:var(--muted);
  font-size:10px;
}
.marketplace-guide{
  margin-top:50px;
  padding:29px;
  border:1px solid #ddd3c2;
  border-radius:10px;
  background:var(--cream);
}
.marketplace-guide h2{
  margin:10px 0 20px;
  font-size:30px;
  text-transform:uppercase;
}
.marketplace-guide>div{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.marketplace-guide article{
  padding:16px;
  border:1px solid #ddd4c5;
  border-radius:7px;
  background:rgba(255,255,255,.5);
}
.marketplace-guide strong{display:block;font-size:11px}
.marketplace-guide p{
  margin:7px 0 0;
  color:#6d685f;
  font-size:9px;
  line-height:1.65;
}
body.modal-open{overflow:hidden}
.marketplace-modal[hidden]{display:none}
.marketplace-modal{
  position:fixed;
  z-index:1000;
  inset:0;
  display:grid;
  place-items:center;
  padding:20px;
}
.marketplace-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(1,10,18,.78);
  backdrop-filter:blur(5px);
}
.marketplace-modal-card{
  position:relative;
  z-index:1;
  width:min(720px,100%);
  max-height:92vh;
  overflow-y:auto;
  border:1px solid rgba(255,255,255,.15);
  border-radius:12px;
  background:white;
  box-shadow:0 30px 80px rgba(0,0,0,.38);
}
.marketplace-modal-card>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:20px 22px;
  color:white;
  background:linear-gradient(120deg,var(--navy-950),var(--navy-700));
}
.marketplace-modal-card>header span{
  color:#9dbbd1;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.marketplace-modal-card>header h2{
  margin:5px 0 0;
  font-size:23px;
  text-transform:uppercase;
}
.marketplace-modal-card>header button{
  display:grid;
  place-items:center;
  width:35px;
  height:35px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  color:white;
  background:rgba(255,255,255,.08);
  font-size:23px;
  cursor:pointer;
}
.marketplace-modal-card form{padding:22px}
.marketplace-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px;
}
.marketplace-form-grid label{display:block}
.marketplace-form-grid label.full{grid-column:1/-1}
.marketplace-form-grid label>span{
  display:block;
  margin-bottom:6px;
  color:#526171;
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.marketplace-form-grid label>small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:8px;
}
.marketplace-form-grid input,
.marketplace-form-grid select,
.marketplace-form-grid textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:5px;
  padding:10px 11px;
  background:white;
  font:inherit;
  font-size:11px;
}
.marketplace-form-grid textarea{resize:vertical}
.marketplace-form-error{
  margin-top:14px;
  padding:11px 13px;
  border:1px solid #e3aeb7;
  border-radius:5px;
  color:#8e2033;
  background:#fff1f3;
  font-size:9px;
}
.marketplace-modal-card form>footer{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid var(--line);
}

@media(max-width:1050px){
  .marketplace-listings{grid-template-columns:1fr 1fr}
  .marketplace-toolbar{align-items:stretch;flex-direction:column}
  .marketplace-toolbar-controls{flex-wrap:wrap}
}
@media(max-width:760px){
  .marketplace-hero-inner{align-items:flex-start;flex-direction:column}
  .marketplace-bell{width:130px;height:130px}
  .marketplace-summary-grid{grid-template-columns:1fr 1fr}
  .marketplace-guide>div{grid-template-columns:1fr}
}
@media(max-width:620px){
  .marketplace-listings{grid-template-columns:1fr}
  .marketplace-toolbar-controls{align-items:stretch;flex-direction:column}
  .marketplace-toolbar-controls select{width:100%}
  .marketplace-form-grid{grid-template-columns:1fr}
  .marketplace-form-grid label.full{grid-column:auto}
}
@media(max-width:440px){
  .marketplace-summary-grid{grid-template-columns:1fr}
}


/* V11.2: Marketplace setup diagnostics */
.marketplace-setup .refresh-button{margin-top:12px}
.marketplace-setup-pulse{animation:marketplace-setup-pulse .8s ease}
@keyframes marketplace-setup-pulse{
  0%,100%{box-shadow:none}
  35%{box-shadow:0 0 0 7px rgba(190,145,31,.18)}
}


/* V11.3: publicly displayed Marketplace passcode */
.marketplace-passcode-display{
  display:flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  margin-top:21px;
  padding:9px 12px;
  border:1px solid rgba(255,220,111,.42);
  border-radius:6px;
  color:#f5dda0;
  background:rgba(2,13,25,.48);
  box-shadow:0 8px 20px rgba(0,0,0,.13);
}
.marketplace-passcode-display span{
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.marketplace-passcode-display strong{
  color:white;
  font-size:12px;
  letter-spacing:.03em;
}
.marketplace-passcode-display + .marketplace-hero-actions{
  margin-top:11px;
}

/* V11.3: championship trophies on homepage franchise cards */
.franchise-trophies{
  display:flex;
  align-items:center;
  gap:3px;
  min-height:18px;
  margin:-1px 0 5px;
}
.franchise-trophies span{
  display:grid;
  place-items:center;
  width:17px;
  height:17px;
  border:1px solid #d5b854;
  border-radius:50%;
  background:#fff7d8;
  box-shadow:0 2px 5px rgba(116,81,10,.12);
  font-size:10px;
  line-height:1;
}


/* V11.4: live draft countdown */
.draft-countdown{
  position:relative;
  overflow:hidden;
  margin-top:-1px;
  border:1px solid var(--line);
  border-top:4px solid var(--red);
  color:white;
  background:
    radial-gradient(circle at 92% 15%,rgba(165,28,50,.28),transparent 28%),
    linear-gradient(115deg,var(--navy-950),var(--navy-700));
  box-shadow:var(--shadow);
}
.draft-countdown::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:repeating-linear-gradient(120deg,transparent 0 50px,rgba(255,255,255,.018) 51px 52px);
}
.draft-countdown-heading{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:17px 22px;
  border-bottom:1px solid rgba(255,255,255,.13);
}
.draft-countdown-heading span,
.draft-countdown-heading strong{display:block}
.draft-countdown-heading span{
  color:#e7b0ba;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.draft-countdown-heading strong{
  margin-top:4px;
  font-size:15px;
}
.draft-countdown-heading>b{
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  color:#c4d5e1;
  background:rgba(255,255,255,.06);
  font-size:8px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.draft-countdown-units{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.2fr repeat(4,1fr);
}
.draft-countdown-units>div{
  min-width:0;
  padding:24px 20px;
  border-left:1px solid rgba(255,255,255,.13);
  text-align:center;
}
.draft-countdown-units>div:first-child{border-left:0}
.draft-countdown-units strong{
  display:block;
  overflow:hidden;
  color:white;
  font-variant-numeric:tabular-nums;
  font-size:clamp(31px,4vw,51px);
  line-height:1;
  letter-spacing:.025em;
  text-overflow:clip;
  white-space:nowrap;
}
.draft-countdown-units span{
  display:block;
  margin-top:8px;
  color:#9fb4c5;
  font-size:8px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.draft-countdown-units .deciseconds strong{color:#f0bd68}
.draft-countdown.draft-live{
  background:linear-gradient(115deg,#0a402b,#168657);
}
.draft-countdown.draft-live .draft-countdown-heading>b{
  color:#d5f7e6;
}

/* V11.4: Teams hover menu */
.nav-teams-dropdown{
  position:relative;
  display:flex;
  align-items:center;
  align-self:stretch;
}
.nav-teams-trigger{
  display:flex;
  align-items:center;
  height:100%;
}
.nav-teams-trigger::before{
  content:"▾";
  order:2;
  margin-left:5px;
  color:#8795a4;
  font-size:8px;
}
.nav-teams-menu{
  position:absolute;
  top:calc(100% - 4px);
  left:50%;
  z-index:50;
  width:315px;
  max-height:440px;
  overflow-y:auto;
  padding:8px;
  border:1px solid var(--line);
  border-top:4px solid var(--red);
  border-radius:0 0 8px 8px;
  background:white;
  box-shadow:0 20px 42px rgba(3,16,30,.2);
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,8px);
  transition:opacity .15s ease,transform .15s ease,visibility .15s;
}
.nav-teams-dropdown:hover .nav-teams-menu,
.nav-teams-dropdown:focus-within .nav-teams-menu,
.nav-teams-dropdown.open .nav-teams-menu{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
.nav-teams-menu a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:36px;
  padding:8px 10px;
  border-radius:4px;
  color:#26384d;
  font-size:9px;
  letter-spacing:0;
  text-transform:none;
}
.nav-teams-menu a::after{display:none}
.nav-teams-menu a:hover{
  color:var(--navy-950);
  background:#f1f4f6;
}
.nav-teams-menu a span{
  overflow:hidden;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nav-teams-menu a b{
  flex:0 0 auto;
  color:var(--red);
  font-size:8px;
  letter-spacing:.04em;
}

/* V11.4: passcode above the middle Post a Listing control */
.marketplace-empty-passcode{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:max-content;
  max-width:100%;
  margin:0 auto 12px;
  padding:8px 11px;
  border:1px solid #ddc16d;
  border-radius:5px;
  color:#75591a;
  background:#fff8d8;
}
.marketplace-empty-passcode span{
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.marketplace-empty-passcode b{
  color:#30250c;
  font-size:10px;
}

/* V11.4: ensure every James Cook logo sits on clean white */
img[src*="the-art-of-james-cookin"]{
  background:#fff !important;
}
.franchise-logo:has(img[src*="the-art-of-james-cookin"]),
.team-logo:has(img[src*="the-art-of-james-cookin"]),
.table-logo:has(img[src*="the-art-of-james-cookin"]),
.profile-logo:has(img[src*="the-art-of-james-cookin"]),
.matchup-team-logo:has(img[src*="the-art-of-james-cookin"]),
.volume-logo:has(img[src*="the-art-of-james-cookin"]),
.power-team-logo:has(img[src*="the-art-of-james-cookin"]),
.marketplace-card-team>span:has(img[src*="the-art-of-james-cookin"]){
  background:#fff !important;
}

@media(max-width:1000px){
  .nav-teams-dropdown{
    display:block;
    width:100%;
    align-self:auto;
  }
  .nav-teams-trigger{
    width:max-content;
    height:auto;
  }
  .nav-teams-menu{
    position:static;
    width:100%;
    max-height:300px;
    margin-top:10px;
    border-top-width:1px;
    border-radius:6px;
    box-shadow:none;
    display:none;
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .nav-teams-dropdown.open .nav-teams-menu{display:grid}
  .draft-countdown-units{
    grid-template-columns:repeat(5,1fr);
  }
}
@media(max-width:680px){
  .draft-countdown-heading{
    align-items:flex-start;
    flex-direction:column;
  }
  .draft-countdown-units{
    grid-template-columns:1fr 1fr;
  }
  .draft-countdown-units>div{
    border-top:1px solid rgba(255,255,255,.13);
  }
  .draft-countdown-units>div:nth-child(odd){border-left:0}
  .draft-countdown-units>div:first-child{border-top:0}
  .draft-countdown-units>div:nth-child(2){border-top:0}
  .draft-countdown-units .deciseconds{
    grid-column:1/-1;
    border-left:0;
  }
}


/* V11.7: Keeper Board player headshots and NFL team abbreviations */
.keeper-slot{
  grid-template-columns:42px 48px minmax(0,1fr) auto;
}
.keeper-player-headshot{
  width:46px;
  height:46px;
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid #d6dfe5;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 35%,#d8e0e6 0 23%,transparent 24%),
    radial-gradient(circle at 50% 110%,#c4ced6 0 48%,transparent 49%),
    #eef2f5;
}
.keeper-player-headshot img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.keeper-player-copy{
  min-width:0;
}
.keeper-player-copy strong,
.keeper-player-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.keeper-player-copy small{
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.keeper-slot.empty .keeper-player-headshot{
  opacity:.62;
}

@media(max-width:520px){
  .keeper-slot{
    grid-template-columns:34px 42px minmax(0,1fr);
  }
  .keeper-player-headshot{
    width:40px;
    height:40px;
  }
  .keeper-slot .round-badge{
    grid-column:3;
    justify-self:start;
    margin-top:5px;
  }
}


/* V11.8: league-color header branding and navigation */
.brand-wordmark{
  display:flex;
  align-items:baseline;
  gap:0;
  letter-spacing:-.045em;
}
.brand-wordmark b,
.brand-wordmark i{
  font:inherit;
  font-style:normal;
  font-weight:inherit;
}
.brand-wordmark b{
  color:var(--navy-900);
}
.brand-wordmark i{
  color:var(--red);
}

/* Stronger menu contrast using the league red. */
.site-header nav > a,
.site-header .nav-teams-trigger{
  color:var(--red);
  font-weight:900;
  text-shadow:0 1px 0 rgba(255,255,255,.72);
}
.site-header nav > a:hover,
.site-header nav > a:focus-visible,
.site-header .nav-teams-trigger:hover,
.site-header .nav-teams-trigger:focus-visible{
  color:#761225;
  background:rgba(165,28,50,.07);
}
.site-header nav > a::after,
.site-header .nav-teams-trigger::after{
  background:var(--red);
}
.nav-teams-trigger::before{
  color:var(--red);
}

/* Keep dropdown team names dark and readable. */
.nav-teams-menu a{
  color:#26384d;
  text-shadow:none;
}
.nav-teams-menu a:hover,
.nav-teams-menu a:focus-visible{
  color:var(--red);
  background:#f7ecef;
}


/* V11.9: Dream a Dream header tagline */
.brand .brand-tagline{
  color:#596572;
  font-size:8px;
  font-weight:900;
  letter-spacing:.11em;
  line-height:1;
  text-transform:uppercase;
}

/*
  V11.9: Cleaner desktop navigation sizing.
  Full-size desktop gets larger 11px labels.
  Narrower laptops retain a slightly smaller size so the row does not bunch.
*/
@media(min-width:1180px){
  .site-header nav{
    gap:13px;
  }
  .site-header nav > a,
  .site-header .nav-teams-trigger{
    padding-inline:5px;
    font-size:11px;
    letter-spacing:.025em;
  }
}

@media(min-width:1001px) and (max-width:1179px){
  .site-header nav{
    gap:8px;
  }
  .site-header nav > a,
  .site-header .nav-teams-trigger{
    padding-inline:3px;
    font-size:10px;
    letter-spacing:.015em;
  }
  .brand img{
    width:48px;
    height:48px;
  }
  .brand-wordmark{
    font-size:18px;
  }
}


/* V12: League Records & Oddities */
.archive-records-section{
  margin-top:70px;
  padding-top:4px;
}
.archive-records-heading{
  margin-bottom:17px;
}
.archive-record-tabs{
  display:flex;
  gap:7px;
  width:max-content;
  max-width:100%;
  margin-bottom:16px;
  padding:5px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#eef2f4;
}
.archive-record-tabs button{
  min-height:36px;
  padding:0 14px;
  border:0;
  border-radius:5px;
  color:#687787;
  background:transparent;
  font:inherit;
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
  cursor:pointer;
}
.archive-record-tabs button.active{
  color:white;
  background:var(--navy-900);
  box-shadow:0 5px 14px rgba(3,16,30,.16);
}
.archive-record-panel[hidden]{display:none}
.archive-record-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px;
}
.archive-record-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  padding:18px;
  border:1px solid var(--line);
  border-top:4px solid #75879a;
  border-radius:9px;
  background:white;
  box-shadow:0 8px 24px rgba(3,16,30,.06);
}
.archive-record-card.record-good{border-top-color:#168657}
.archive-record-card.record-bad{border-top-color:#a51c32}
.archive-record-card.record-pain{border-top-color:#7550a5}
.archive-record-card.record-weird{border-top-color:#c38d20}
.archive-record-icon{
  position:absolute;
  top:14px;
  right:15px;
  font-size:23px;
}
.archive-record-title{
  display:block;
  max-width:78%;
  color:var(--muted);
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.35;
  text-transform:uppercase;
}
.archive-record-card>strong{
  display:block;
  margin:13px 0 8px;
  font-size:27px;
  line-height:1;
}
.archive-record-card h3{
  margin:0;
  overflow:hidden;
  font-size:12px;
  line-height:1.25;
  text-overflow:ellipsis;
}
.archive-record-card h3 a{
  color:var(--navy-900);
}
.archive-record-card h3 a:hover{
  color:var(--red);
}
.archive-record-vs{
  margin:0 3px;
  color:#9aa5ae;
  font-size:8px;
  font-weight:700;
}
.archive-record-card p{
  min-height:29px;
  margin:7px 0 12px;
  color:#627181;
  font-size:8px;
  line-height:1.5;
}
.archive-record-card small{
  display:block;
  padding-top:10px;
  border-top:1px solid var(--line);
  color:#8a96a0;
  font-size:7px;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.archive-oddities-list{
  display:grid;
  gap:15px;
}
.archive-oddity-season{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:white;
  box-shadow:0 9px 25px rgba(3,16,30,.055);
}
.archive-oddity-season>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:15px 18px;
  color:white;
  background:linear-gradient(120deg,var(--navy-950),var(--navy-700));
}
.archive-oddity-season>header span{
  color:#a9c0d1;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.archive-oddity-season>header h3{
  margin:3px 0 0;
  font-size:25px;
  line-height:1;
}
.archive-oddity-season>header>strong{
  padding:6px 8px;
  border-radius:999px;
  color:#f1d887;
  background:rgba(255,255,255,.08);
  font-size:7px;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.archive-oddity-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.archive-oddity-grid article{
  min-width:0;
  padding:15px 17px;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.archive-oddity-grid article:nth-child(-n+3){border-top:0}
.archive-oddity-grid article:nth-child(3n+1){border-left:0}
.archive-oddity-grid span,
.archive-oddity-grid strong,
.archive-oddity-grid small{display:block}
.archive-oddity-grid span{
  color:var(--red);
  font-size:7px;
  font-weight:900;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.archive-oddity-grid strong{
  margin:6px 0 4px;
  font-size:16px;
}
.archive-oddity-grid small{
  overflow:hidden;
  color:#7d8994;
  font-size:8px;
  line-height:1.45;
  text-overflow:ellipsis;
}

@media(max-width:1050px){
  .archive-record-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:780px){
  .archive-record-grid{grid-template-columns:repeat(2,1fr)}
  .archive-oddity-grid{grid-template-columns:1fr 1fr}
  .archive-oddity-grid article:nth-child(-n+3){border-top:1px solid var(--line)}
  .archive-oddity-grid article:nth-child(-n+2){border-top:0}
  .archive-oddity-grid article:nth-child(3n+1){border-left:1px solid var(--line)}
  .archive-oddity-grid article:nth-child(2n+1){border-left:0}
}
@media(max-width:520px){
  .archive-record-tabs{
    display:grid;
    width:100%;
    grid-template-columns:1fr 1fr;
  }
  .archive-record-grid{grid-template-columns:1fr}
  .archive-oddity-grid{grid-template-columns:1fr}
  .archive-oddity-grid article{
    border-top:1px solid var(--line)!important;
    border-left:0!important;
  }
  .archive-oddity-grid article:first-child{border-top:0!important}
}




/* V12.4: helmet artwork is normalized inside the source logo files.
   Site logo containers retain their original sizing and formatting. */


/* V12.5: equal League Teams spacing and split-color footer wordmark */
.franchise-trophies.empty{
  visibility:hidden;
}

.footer-wordmark{
  display:flex !important;
  align-items:baseline;
  gap:0;
  letter-spacing:-.045em;
}
.footer-wordmark b,
.footer-wordmark i{
  font:inherit;
  font-style:normal;
  font-weight:inherit;
}
.footer-wordmark b{
  color:#fff;
}
.footer-wordmark i{
  color:var(--red);
}


/* V12.7: cleaner Teams dropdown positioning and content layout */
.nav-teams-dropdown::after{
  content:"";
  position:absolute;
  top:100%;
  left:-12px;
  right:-12px;
  height:13px;
}

.nav-teams-menu{
  top:calc(100% + 9px);
  width:max-content;
  min-width:250px;
  max-width:min(390px,calc(100vw - 24px));
  overflow-x:hidden;
  transform:translate(-50%,5px);
}

.nav-teams-dropdown:hover .nav-teams-menu,
.nav-teams-dropdown:focus-within .nav-teams-menu,
.nav-teams-dropdown.open .nav-teams-menu{
  transform:translate(-50%,0);
}

.nav-teams-menu a{
  justify-content:flex-start;
  gap:9px;
  min-height:43px;
  width:100%;
  padding:6px 10px 6px 7px;
}

.nav-team-icon{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  flex:0 0 32px;
  overflow:visible !important;
}

.nav-team-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 2px 2px rgba(3,16,30,.18));
}

.nav-team-copy{
  display:flex;
  align-items:baseline;
  gap:5px;
  min-width:0;
  white-space:nowrap;
}

.nav-team-name{
  overflow:hidden;
  color:#26384d;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.nav-teams-menu .nav-team-copy b{
  flex:0 0 auto;
  color:var(--red);
  font-size:8px;
  letter-spacing:.025em;
  white-space:nowrap;
}

@media(max-width:1000px){
  .nav-teams-dropdown::after{display:none}
  .nav-teams-menu{
    width:100%;
    max-width:none;
    transform:none;
  }
  .nav-teams-dropdown.open .nav-teams-menu{transform:none}
}


/* V12.8: readable typography throughout the League History page */
.history-page .archive-hero .eyebrow{
  font-size:10px;
}

.history-page .archive-hero p{
  font-size:15px;
  line-height:1.7;
}

.history-page .archive-page .section-heading>div>span{
  font-size:10px;
  line-height:1.35;
}

.history-page .archive-page .section-heading>p{
  font-size:13px;
  line-height:1.5;
}

/* Top summary cards */
.history-page .archive-summary-grid span{
  font-size:10px;
  line-height:1.35;
}

.history-page .archive-summary-grid small{
  color:#687786;
  font-size:12px;
  line-height:1.55;
}

.history-page .archive-summary-grid .archive-summary-team{
  font-size:20px;
  line-height:1.15;
}

/* Hall of Champions */
.history-page .champion-year{
  font-size:12px;
}

.history-page .champion-card p{
  font-size:11px;
  line-height:1.45;
}

.history-page .champion-card>div{
  font-size:11px;
}

/* Season timeline */
.history-page .archive-season-header span{
  font-size:10px;
}

.history-page .archive-season-header>strong{
  font-size:10px;
}

.history-page .archive-season-champion span{
  font-size:10px;
}

.history-page .archive-season-champion p{
  font-size:12px;
  line-height:1.45;
}

.history-page .archive-season-champion>a{
  font-size:10px;
}

.history-page .archive-season-metrics span{
  font-size:10px;
  line-height:1.35;
}

.history-page .archive-season-metrics strong{
  font-size:14px;
  line-height:1.3;
}

.history-page .archive-season-metrics small{
  color:#687786;
  font-size:11px;
  line-height:1.45;
}

.history-page .archive-season-details summary{
  font-size:11px;
  line-height:1.4;
}

/* Historical standings tables */
.history-page .archive-standings th,
.history-page .archive-standings td{
  font-size:11px;
  line-height:1.4;
}

.history-page .archive-standings thead th{
  font-size:10px;
}

/* Archive access/status notes */
.history-page .archive-access-note strong{
  font-size:11px;
}

.history-page .archive-access-note p{
  font-size:12px;
  line-height:1.65;
}

/* League Records & Oddities */
.history-page .archive-record-tabs button{
  font-size:10px;
}

.history-page .archive-record-title{
  font-size:10px;
  line-height:1.4;
}

.history-page .archive-record-card h3{
  font-size:14px;
  line-height:1.35;
}

.history-page .archive-record-vs{
  font-size:10px;
}

.history-page .archive-record-card p{
  min-height:35px;
  font-size:11px;
  line-height:1.6;
}

.history-page .archive-record-card small{
  font-size:10px;
  line-height:1.45;
}

.history-page .archive-oddity-season>header span{
  font-size:10px;
}

.history-page .archive-oddity-season>header>strong{
  font-size:10px;
}

.history-page .archive-oddity-grid span{
  font-size:10px;
  line-height:1.35;
}

.history-page .archive-oddity-grid strong{
  font-size:18px;
}

.history-page .archive-oddity-grid small{
  font-size:11px;
  line-height:1.55;
}

/* Give the larger small-text a little more breathing room. */
.history-page .archive-summary-grid article{
  padding:22px;
}

.history-page .archive-season-metrics article{
  padding:19px 18px;
}

.history-page .archive-record-card{
  padding:20px;
}

.history-page .archive-oddity-grid article{
  padding:17px 18px;
}

@media(max-width:600px){
  .history-page .archive-summary-grid small,
  .history-page .archive-season-champion p,
  .history-page .archive-access-note p{
    font-size:12px;
  }

  .history-page .archive-standings th,
  .history-page .archive-standings td{
    font-size:10px;
  }
}


/* V12.9: clickable History summary card */
.archive-summary-link{
  display:block;
  min-width:0;
  color:inherit;
}
.archive-summary-link article{
  height:100%;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.archive-summary-link:hover article,
.archive-summary-link:focus-visible article{
  transform:translateY(-3px);
  border-color:#b9c5cf;
  box-shadow:0 15px 30px rgba(3,16,30,.12);
}
.archive-summary-action{
  display:block;
  margin-top:12px;
  color:var(--red);
  font-size:10px;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}

/* V12.9: All-Time Franchise Rankings */
.all-time-hero{
  color:white;
  background:
    radial-gradient(circle at 86% 18%,rgba(165,28,50,.28),transparent 29%),
    linear-gradient(120deg,var(--navy-950),var(--navy-700));
}
.all-time-hero-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  padding-top:48px;
  padding-bottom:52px;
}
.all-time-back{
  display:inline-block;
  margin-bottom:27px;
  color:#afd0e5;
  font-size:11px;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.all-time-back:hover{color:white}
.all-time-hero .eyebrow{
  color:#e6b0ba;
  font-size:10px;
}
.all-time-hero h1{
  max-width:800px;
  margin:10px 0 12px;
  font-size:clamp(48px,7vw,85px);
  line-height:.88;
  letter-spacing:-.052em;
  text-transform:uppercase;
}
.all-time-hero p{
  max-width:690px;
  margin:0;
  color:#bfd0dc;
  font-size:15px;
  line-height:1.65;
}
.all-time-hero-mark{
  display:grid;
  place-items:center;
  width:150px;
  height:150px;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  color:#e5c263;
  background:rgba(255,255,255,.06);
  box-shadow:0 24px 60px rgba(0,0,0,.24);
  font-size:85px;
  font-weight:900;
}
.all-time-content{padding-top:42px}
.all-time-leader-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:58px;
}
.all-time-leader-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  padding:20px;
  border:1px solid var(--line);
  border-top:4px solid var(--red);
  border-radius:10px;
  color:inherit;
  background:white;
  box-shadow:0 9px 26px rgba(3,16,30,.065);
  transition:transform .16s ease,box-shadow .16s ease;
}
.all-time-leader-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(3,16,30,.12);
}
.all-time-leader-label{
  display:block;
  max-width:72%;
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:.07em;
  line-height:1.35;
  text-transform:uppercase;
}
.all-time-leader-icon{
  position:absolute;
  top:16px;
  right:17px;
  font-size:25px;
}
.all-time-leader-logo{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  margin:18px 0 12px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:#eef1f3;
}
.all-time-leader-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.all-time-leader-card>strong{
  display:block;
  font-size:24px;
  line-height:1;
}
.all-time-leader-card h2{
  margin:8px 0 7px;
  overflow:hidden;
  font-size:17px;
  line-height:1.1;
  text-overflow:ellipsis;
  text-transform:uppercase;
}
.all-time-leader-card p{
  margin:0;
  color:#697887;
  font-size:11px;
  line-height:1.5;
}
.all-time-heading{margin-bottom:16px}
.all-time-heading>div>span{
  font-size:10px;
}
.all-time-heading>p{
  font-size:12px;
}
.all-time-toolbar{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:13px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f2f5f7;
}
.all-time-toolbar label{
  display:grid;
  gap:7px;
}
.all-time-toolbar label>span{
  color:#657587;
  font-size:9px;
  font-weight:900;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.all-time-toolbar select,
.all-time-toolbar button{
  min-height:39px;
  border:1px solid #cbd5dc;
  border-radius:5px;
  font:inherit;
  font-size:11px;
  font-weight:800;
}
.all-time-toolbar select{
  min-width:230px;
  padding:0 35px 0 11px;
  color:var(--ink);
  background:white;
}
.all-time-toolbar button{
  padding:0 13px;
  color:white;
  background:var(--navy-900);
  cursor:pointer;
}
.all-time-table-wrap{
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:10px;
  background:white;
  box-shadow:0 10px 28px rgba(3,16,30,.065);
}
.all-time-table{
  min-width:1300px;
}
.all-time-table th{
  position:sticky;
  top:0;
  z-index:1;
  padding:13px 10px;
  font-size:9px;
  white-space:nowrap;
}
.all-time-table td{
  padding:12px 10px;
  font-size:11px;
  font-variant-numeric:tabular-nums;
  text-align:right;
  white-space:nowrap;
}
.all-time-table th:nth-child(1),
.all-time-table th:nth-child(2),
.all-time-table td:nth-child(1),
.all-time-table td:nth-child(2){
  text-align:left;
}
.all-time-table tbody tr:hover{
  background:#f7f9fa;
}
.all-time-rank{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border-radius:50%;
  color:#536475;
  background:#eef2f5;
  font-size:10px;
  font-weight:900;
}
.all-time-table tbody tr:first-child .all-time-rank{
  color:#4f3c0d;
  background:#f2d36f;
}
.all-time-team{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:245px;
  color:inherit;
}
.all-time-team>span{
  display:grid;
  place-items:center;
  width:43px;
  height:43px;
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:7px;
  background:#eef1f3;
}
.all-time-team img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.all-time-team div{
  min-width:0;
}
.all-time-team strong,
.all-time-team small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
}
.all-time-team strong{
  max-width:200px;
  font-size:12px;
  text-transform:uppercase;
}
.all-time-team small{
  max-width:200px;
  margin-top:4px;
  color:var(--muted);
  font-size:10px;
}
.all-time-table .positive{
  color:#087847;
  font-weight:900;
}
.all-time-table .negative{
  color:#a51c32;
  font-weight:900;
}
.all-time-note{
  margin:14px 3px 0;
  color:#71808f;
  font-size:11px;
  line-height:1.65;
}

@media(max-width:1050px){
  .all-time-leader-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .all-time-hero-inner{
    align-items:flex-start;
    flex-direction:column;
  }
  .all-time-hero-mark{
    width:100px;
    height:100px;
    font-size:58px;
  }
  .all-time-leader-grid{grid-template-columns:1fr}
  .all-time-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .all-time-toolbar select,
  .all-time-toolbar button{
    width:100%;
  }
  .all-time-toolbar select{min-width:0}
}


/* V12.10: stronger History-page detail/subtext legibility */
.history-page .archive-summary-grid small{
  color:#4f5f6e;
  font-size:13px;
  font-weight:650;
  line-height:1.6;
}

.history-page .champion-card p{
  color:#d4dfe7;
  font-size:12px;
  line-height:1.55;
}

.history-page .champion-card>div{
  color:#d8e2e9;
  font-size:12px;
}

.history-page .archive-season-champion p{
  color:#4f5f6e;
  font-size:13px;
  font-weight:600;
  line-height:1.55;
}

.history-page .archive-season-metrics small{
  color:#4f5f6e;
  font-size:12px;
  font-weight:600;
  line-height:1.55;
}

.history-page .archive-access-note p{
  color:#4f5f6e;
  font-size:13px;
  font-weight:600;
  line-height:1.7;
}

.history-page .archive-record-card p{
  color:#4f5f6e;
  min-height:40px;
  font-size:12px;
  font-weight:600;
  line-height:1.65;
}

.history-page .archive-record-card small{
  color:#596978;
  font-size:11px;
  font-weight:800;
  line-height:1.55;
}

.history-page .archive-oddity-grid small{
  color:#4f5f6e;
  font-size:12px;
  font-weight:600;
  line-height:1.6;
}

.history-page .archive-page .section-heading>p{
  color:#536373;
  font-size:14px;
  font-weight:600;
}

.history-page .archive-season-details summary{
  color:#4f5f6e;
  font-size:12px;
}

@media(max-width:600px){
  .history-page .archive-summary-grid small,
  .history-page .archive-season-champion p,
  .history-page .archive-access-note p,
  .history-page .archive-record-card p,
  .history-page .archive-oddity-grid small{
    font-size:13px;
  }
}


/* V12.11: centered, consistent History card typography */
.history-page .archive-summary-grid>article,
.history-page .archive-summary-grid>.archive-summary-link{
  height:100%;
}

.history-page .archive-summary-grid article{
  position:relative;
  display:grid;
  grid-template-rows:auto minmax(48px,auto) minmax(42px,auto);
  align-content:center;
  justify-items:center;
  gap:8px;
  min-height:180px;
  padding:24px 22px 48px;
  text-align:center;
}

.history-page .archive-summary-grid span,
.history-page .archive-summary-grid strong,
.history-page .archive-summary-grid small{
  width:100%;
  margin:0;
  text-align:center;
}

.history-page .archive-summary-grid strong{
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1.12;
}

.history-page .archive-summary-grid small{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  line-height:1.6;
}

.history-page .archive-summary-action{
  position:absolute;
  right:14px;
  bottom:16px;
  left:14px;
  margin:0;
  text-align:center;
}

/* Hall of Champions cards */
.history-page .champion-card{
  text-align:center;
}
.history-page .champion-card h3,
.history-page .champion-card p,
.history-page .champion-card>div{
  width:100%;
  text-align:center;
}
.history-page .champion-card>div{
  justify-content:center;
  gap:14px;
}

/* Four fact boxes inside each season */
.history-page .archive-season-metrics article{
  display:grid;
  grid-template-rows:auto minmax(42px,auto) minmax(38px,auto);
  align-content:center;
  justify-items:center;
  gap:8px;
  min-height:145px;
  text-align:center;
}

.history-page .archive-season-metrics span,
.history-page .archive-season-metrics strong,
.history-page .archive-season-metrics small{
  width:100%;
  margin:0;
  text-align:center;
}

.history-page .archive-season-metrics strong,
.history-page .archive-season-metrics small{
  display:flex;
  align-items:center;
  justify-content:center;
}

.history-page .archive-season-metrics strong{
  line-height:1.25;
}

.history-page .archive-season-metrics small{
  line-height:1.6;
}

/* All-Time Records cards */
.history-page .archive-record-card{
  display:grid;
  grid-template-rows:auto auto minmax(42px,auto) minmax(42px,auto) auto;
  align-content:start;
  justify-items:center;
  gap:8px;
  min-height:285px;
  text-align:center;
}

.history-page .archive-record-title,
.history-page .archive-record-card>strong,
.history-page .archive-record-card h3,
.history-page .archive-record-card p,
.history-page .archive-record-card small{
  width:100%;
  margin:0;
  text-align:center;
}

.history-page .archive-record-title{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
}

.history-page .archive-record-card>strong{
  line-height:1.08;
}

.history-page .archive-record-card h3{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  line-height:1.35;
}

.history-page .archive-record-card p{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  line-height:1.65;
}

.history-page .archive-record-card small{
  line-height:1.55;
}

/* Season Oddities fact boxes */
.history-page .archive-oddity-grid article{
  display:grid;
  grid-template-rows:auto minmax(34px,auto) minmax(48px,auto);
  align-content:center;
  justify-items:center;
  gap:8px;
  min-height:145px;
  text-align:center;
}

.history-page .archive-oddity-grid span,
.history-page .archive-oddity-grid strong,
.history-page .archive-oddity-grid small{
  width:100%;
  margin:0;
  text-align:center;
}

.history-page .archive-oddity-grid strong,
.history-page .archive-oddity-grid small{
  display:flex;
  align-items:center;
  justify-content:center;
}

.history-page .archive-oddity-grid strong{
  line-height:1.15;
}

.history-page .archive-oddity-grid small{
  line-height:1.6;
}

/* Completed-game cards link directly to the matching ESPN box score. */
.history-page .archive-game-record{
  cursor:pointer;
  outline:none;
  transition:background .16s ease,box-shadow .16s ease,transform .16s ease;
}

.history-page .archive-game-record:hover,
.history-page .archive-game-record:focus-visible{
  background:#f7fafc;
  box-shadow:inset 0 0 0 2px rgba(165,28,50,.2);
  transform:translateY(-2px);
}

.history-page .archive-game-record::after{
  content:"ESPN ↗";
  position:absolute;
  right:10px;
  bottom:8px;
  color:#8f1b30;
  font-size:8px;
  font-weight:900;
  letter-spacing:.055em;
  line-height:1;
  text-transform:uppercase;
}

.history-page .archive-season-metrics .archive-game-record{
  position:relative;
  padding-bottom:29px;
}

/* V12.11: clickable all-time leaderboard columns */
.all-time-sort-header{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:100%;
  min-height:28px;
  padding:0;
  border:0;
  color:inherit;
  background:transparent;
  font:inherit;
  font-weight:inherit;
  cursor:pointer;
  white-space:nowrap;
}

.all-time-sort-header span{
  display:inline-block;
  min-width:9px;
  color:#e5c263;
  font-size:11px;
}

.all-time-sort-header:hover,
.all-time-sort-header:focus-visible,
.all-time-sort-header.active{
  color:white;
  text-decoration:underline;
  text-underline-offset:3px;
}

.all-time-table th[aria-sort="descending"],
.all-time-table th[aria-sort="ascending"]{
  background:#142d46;
}


/* V12.15: second mobile-only refinement pass */
@media(max-width:680px){

  /* App-like mobile navigation panel */
  .menu-toggle{
    width:44px;
    height:44px;
    border-radius:10px;
    box-shadow:0 6px 16px rgba(3,16,30,.18);
  }

  .site-header nav{
    top:calc(100% + 8px);
    left:13px;
    right:13px;
    display:none;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    max-height:calc(100dvh - 90px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:12px;
    border:1px solid var(--line);
    border-radius:12px;
    background:rgba(255,255,255,.99);
    box-shadow:0 22px 50px rgba(3,16,30,.24);
  }

  .site-header nav.open{
    display:grid;
  }

  .site-header nav>a,
  .site-header .nav-teams-trigger{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    padding:9px 8px;
    border:1px solid #e1e7ec;
    border-radius:8px;
    background:#f7f9fb;
    font-size:9px;
    line-height:1.15;
    text-align:center;
  }

  .site-header nav>a::after,
  .site-header .nav-teams-trigger::after{
    display:none;
  }

  .site-header nav>a:hover,
  .site-header nav>a:focus-visible,
  .site-header .nav-teams-trigger:hover,
  .site-header .nav-teams-trigger:focus-visible{
    background:#f6ecef;
  }

  .nav-teams-dropdown{
    width:auto;
    align-self:stretch;
  }

  .nav-teams-dropdown.open{
    grid-column:1/-1;
  }

  .nav-teams-menu{
    grid-template-columns:1fr;
    max-height:250px;
    margin-top:8px;
    padding:6px;
    border-radius:8px;
    background:white;
  }

  .nav-teams-menu a{
    min-height:40px;
    padding:5px 8px;
    border:1px solid #e8edf1;
    background:#f8fafb;
  }

  /* Compact mobile scoreboard: two matchups across on normal phones */
  .matchup-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .matchup{
    border-radius:8px;
  }

  .matchup-clickable:hover{
    transform:none;
  }

  .matchup-label{
    gap:6px;
    padding:7px 8px;
    font-size:7px;
    line-height:1.2;
  }

  .matchup-label b{
    font-size:6px;
    line-height:1.2;
    text-align:right;
  }

  .matchup-side{
    grid-template-columns:34px minmax(0,1fr) auto;
    gap:6px;
    padding:8px;
  }

  .team-logo{
    width:34px;
    height:34px;
    border-radius:5px;
  }

  .team-copy strong{
    display:-webkit-box;
    overflow:hidden;
    font-size:9px;
    line-height:1.12;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .team-copy small{
    margin-top:2px;
    font-size:7px;
  }

  .score-value,
  .score-placeholder{
    font-size:17px;
  }

  .score-value small{
    margin-top:1px;
    font-size:6px;
  }

  .matchup-card-cta{
    padding:7px 8px;
    font-size:6px;
    text-align:center;
  }

  /* Easier-to-read standings while retaining every metric */
  .standings-card{
    position:relative;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }

  .standings-card table{
    min-width:550px;
  }

  .standings-card th{
    padding:10px 8px;
    font-size:8px;
  }

  .standings-card td{
    padding:9px 8px;
    font-size:10px;
  }

  .standings-card th:first-child,
  .standings-card td:first-child{
    position:sticky;
    left:0;
    z-index:3;
    width:36px;
    min-width:36px;
    max-width:36px;
  }

  .standings-card th:nth-child(2),
  .standings-card td:nth-child(2){
    position:sticky;
    left:36px;
    z-index:2;
    min-width:155px;
    box-shadow:7px 0 10px -10px rgba(3,16,30,.65);
  }

  .standings-card th:first-child,
  .standings-card th:nth-child(2){
    background:#e9eef3;
  }

  .standings-card td:first-child,
  .standings-card td:nth-child(2){
    background:white;
  }

  .standings-card .table-team{
    gap:7px;
  }

  .standings-card .table-logo{
    width:30px;
    height:30px;
    flex:0 0 30px;
  }

  .standings-card .table-team strong{
    font-size:10px;
    line-height:1.15;
  }

  .standings-card .table-team small{
    font-size:8px;
  }
}

/* Extremely narrow phones get a single compact scoreboard column. */
@media(max-width:360px){
  .matchup-grid{
    grid-template-columns:1fr;
  }
}


/* V12.16: narrower mobile standings team column */
@media(max-width:680px){
  .standings-card{
    --mobile-rank-column:32px;
    --mobile-team-column:clamp(112px,30vw,124px);
  }

  .standings-card table{
    min-width:430px;
    table-layout:fixed;
  }

  .standings-card th,
  .standings-card td{
    padding-right:6px;
    padding-left:6px;
  }

  .standings-card th:first-child,
  .standings-card td:first-child{
    width:var(--mobile-rank-column);
    min-width:var(--mobile-rank-column);
    max-width:var(--mobile-rank-column);
  }

  .standings-card th:nth-child(2),
  .standings-card td:nth-child(2){
    left:var(--mobile-rank-column);
    width:var(--mobile-team-column);
    min-width:var(--mobile-team-column);
    max-width:var(--mobile-team-column);
  }

  .standings-card th:nth-child(3),
  .standings-card td:nth-child(3){
    width:52px;
  }

  .standings-card th:nth-child(4),
  .standings-card td:nth-child(4),
  .standings-card th:nth-child(5),
  .standings-card td:nth-child(5){
    width:66px;
  }

  .standings-card th:nth-child(6),
  .standings-card td:nth-child(6){
    width:58px;
  }

  .standings-card .table-team{
    width:100%;
    min-width:0;
    gap:5px;
  }

  .standings-card .table-logo{
    width:26px;
    height:26px;
    flex:0 0 26px;
  }

  .standings-card .table-team>span:last-child{
    min-width:0;
    overflow:hidden;
  }

  .standings-card .table-team strong{
    display:-webkit-box;
    overflow:hidden;
    max-width:100%;
    font-size:9px;
    line-height:1.08;
    text-overflow:ellipsis;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .standings-card .table-team small{
    overflow:hidden;
    max-width:100%;
    font-size:7px;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}


/* V12.20: keeper round + pick display support */
.round-badge{
  white-space:nowrap;
}
.profile-keeper>b{
  white-space:nowrap;
}


/* V12.24 — consistent clickable team identities */
.roster-team-link{
  color:inherit;
}
.roster-team-link h2,
.profile-opponent-link strong,
.profile-self-name-link,
.keeper-team-link h2,
.bench-team-link strong{
  transition:color .16s ease;
}
.roster-team-link:hover h2,
.profile-opponent-link:hover strong,
.profile-self-name-link:hover,
.keeper-team-link:hover h2,
.bench-team-link:hover strong{
  color:var(--red);
}

.keeper-team-link{
  display:flex;
  align-items:center;
  gap:13px;
  width:100%;
  min-width:0;
  color:inherit;
}

.profile-opponent-link{
  color:inherit;
}

.profile-self-logo-link{
  color:inherit;
}
.profile-self-name-link{
  color:inherit;
}

.bench-team-link{
  display:flex;
  align-items:center;
  gap:11px;
  width:100%;
  min-width:0;
  color:inherit;
}
.bench-team-link>span{
  width:48px;
  height:48px;
  flex:0 0 48px;
  overflow:hidden;
  border-radius:7px;
  background:white;
}
.bench-team-link img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.bench-team-link strong,
.bench-team-link small{
  display:block;
}
.bench-team-link strong{
  font-size:13px;
  text-transform:uppercase;
}
.bench-team-link small{
  margin-top:3px;
  color:#b6c9d8;
  font-size:8px;
}

@media(max-width:620px){
  .power-view-switcher{grid-template-columns:1fr}
  .power-view-button{text-align:center}
}


/* Schedule & Results and historical franchise series */
.schedule-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px}
.schedule-filters{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.schedule-filters button{border:1px solid #d6e0e9;border-radius:8px;background:#fff;color:#142f4c;font-size:11px;font-weight:800;padding:9px 12px;cursor:pointer}
.schedule-filters button.active{background:#0c2b49;border-color:#0c2b49;color:white}
.schedule-status{font-size:11px;color:#657587;margin:0 0 35px}
.schedule-week{margin:0 0 43px}
.schedule-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.schedule-card{background:#fff;border:1px solid #dbe3ea;border-radius:12px;overflow:hidden;box-shadow:0 10px 24px rgba(3,16,30,.06)}
.schedule-card>header{padding:12px 15px;background:#edf2f6;display:flex;align-items:center;justify-content:space-between;color:#576e82;font-size:10px;font-weight:900;letter-spacing:.06em}
.schedule-live{color:#14855a}
.schedule-team{display:flex;align-items:center;gap:12px;color:#0c2b49;padding:13px 15px;border-top:1px solid #e8eef2}
.schedule-team:hover{background:#f7fafc}
.schedule-team-logo{width:47px;height:47px;flex:0 0 47px;border:1px solid #e1e7ed;border-radius:9px;overflow:hidden;background:white}
.schedule-team-logo img{width:100%;height:100%;object-fit:contain}
.schedule-team strong{flex:1;min-width:0;font-size:13px}
.schedule-team b{font-size:20px;white-space:nowrap}
.schedule-winning b{color:#14855a}
.schedule-card>footer{padding:10px 15px;background:#f8fafc;text-align:right;border-top:1px solid #e8eef2}
.schedule-card>footer a{font-size:10px;font-weight:900;color:#a51c32;text-transform:uppercase}
.matchup-series-section{margin-bottom:33px}
.matchup-series-panel{background:white;border:1px solid #dbe3ea;border-radius:13px;padding:23px;box-shadow:0 10px 25px rgba(3,16,30,.07);font-size:12px}
.matchup-series-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px minmax(0,1fr);align-items:center;gap:15px}
.matchup-series-team{display:flex;align-items:center;gap:12px;min-width:0;color:#0c2b49}
.matchup-series-team.right{justify-content:flex-end;text-align:right}
.matchup-series-team img{width:70px;height:70px;object-fit:contain;border:1px solid #e1e7ed;border-radius:9px;background:white}
.matchup-series-team span{min-width:0}
.matchup-series-team small,.matchup-series-team strong{display:block}
.matchup-series-team small{font-size:10px;color:#60788c;overflow-wrap:anywhere}
.matchup-series-team strong{font-size:32px}
.matchup-series-center{text-align:center}
.matchup-series-center small,.matchup-series-center span{display:block;font-size:10px;color:#728394}
.matchup-series-center strong{display:block;font-size:34px;color:#0c2b49;margin:5px 0}
.matchup-series-meta{display:flex;flex-wrap:wrap;gap:8px 22px;border-top:1px solid #e8eef2;margin-top:18px;padding-top:13px;color:#6c7c8c;font-size:10px}
@media(max-width:900px){.schedule-games{grid-template-columns:1fr}.matchup-series-grid{grid-template-columns:1fr}.matchup-series-center{order:-1;padding-bottom:12px;border-bottom:1px solid #e8eef2}.matchup-series-team.right{justify-content:flex-start;text-align:left}}
@media(max-width:560px){.schedule-toolbar{flex-direction:column;align-items:flex-start}.matchup-series-panel{padding:16px}.matchup-series-team img{width:52px;height:52px}.schedule-team strong{font-size:11px}.schedule-team b{font-size:16px}}


/* Archive year switcher beneath the existing All Season / week buttons */
.schedule-controls{min-width:0;flex:1}
.schedule-season-picker{display:flex;flex-wrap:wrap;align-items:center;gap:11px;margin-top:19px}
.schedule-season-picker label{font-size:11px;font-weight:900;letter-spacing:.025em;color:#50667b}
.schedule-season-picker select{min-width:196px;max-width:100%;padding:11px 40px 11px 13px;border:1px solid #cbd7e1;border-radius:9px;background-color:#fff;color:#0c2b49;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.schedule-season-picker select:focus-visible{outline:3px solid #c24859;outline-offset:2px}
.schedule-card>footer span{color:#6c7c8c;font-size:10px;font-weight:700}
@media(max-width:560px){.schedule-season-picker{align-items:flex-start;flex-direction:column}.schedule-season-picker select{width:100%}}


/* Mobile matchup readability: balanced series, prominent secondary information,
   and a full-height win-probability chart without the long explanatory footer. */
.matchup-series-meta > span{display:block;min-width:0;line-height:1.5}
.matchup-series-meta > span > strong{display:block;margin-bottom:4px;color:#263c50;font-size:11px;font-weight:900;letter-spacing:.015em}
.matchup-series-meta > span > span{display:block;color:#344c61;font-size:12px;font-weight:650;overflow-wrap:anywhere}
.matchup-series-meta > span b{color:#0c2b49;font-weight:900;font-variant-numeric:tabular-nums}
.matchup-odds-trend{line-height:1.5!important;font-weight:700}
.matchup-odds-trend b{color:#173e64;font-weight:950}
.matchup-odds-chip.home .matchup-odds-trend b{color:#ad263e}
.matchup-odds-axis-label{fill:#52677b}
.matchup-odds-legend-item{color:#30475e}
.matchup-odds-metric span{color:#d0e1ee}
.matchup-odds-metric small{color:#e2edf4}
.matchup-detail-stats span{color:#465a6e}
.matchup-detail-stats small{color:#586e82}
@media(max-width:760px){
  .matchup-series-panel{padding:18px 16px}
  .matchup-series-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 10px}
  .matchup-series-center{grid-column:1 / -1;order:-1;padding:0 0 15px;margin-bottom:2px;border-bottom:1px solid #e4eaf0}
  .matchup-series-center small,.matchup-series-center span{color:#506780;font-size:12px;font-weight:700}
  .matchup-series-center strong{font-size:40px;line-height:1.1}
  .matchup-series-team,.matchup-series-team.right{justify-content:flex-start;align-items:center;flex-direction:column;gap:8px;text-align:center;min-width:0;padding:7px 3px}
  .matchup-series-team.right{flex-direction:column-reverse;justify-content:flex-end}
  .matchup-series-team img{width:64px;height:64px;flex:0 0 64px;border-radius:11px}
  .matchup-series-team span{width:100%;min-width:0}
  .matchup-series-team small{color:#465b6d;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
  .matchup-series-team strong{font-size:35px;line-height:1.12}
  .matchup-series-meta{display:grid;gap:13px;margin-top:10px;padding-top:14px;font-size:12px}
  .matchup-series-meta > span > strong{font-size:12px}
  .matchup-series-meta > span > span{font-size:13px;line-height:1.5}
  .matchup-odds-panel-inner{padding:12px 10px}
  .matchup-odds-summary{gap:11px}
  .matchup-odds-teams{gap:9px}
  .matchup-odds-chip{padding:11px 12px;gap:12px;width:100%}
  .matchup-odds-chip-copy span{font-size:11px;color:#536a80}
  .matchup-odds-chip-copy strong{font-size:25px;line-height:1.08}
  .matchup-odds-chip-copy small{font-size:12px;color:#405871}
  .matchup-odds-vs{align-self:center;color:#5a6f82;font-size:11px}
  .matchup-odds-metrics{gap:9px}
  .matchup-odds-metric{padding:12px}
  .matchup-odds-metric span{font-size:11px}
  .matchup-odds-metric strong{font-size:24px;line-height:1.15}
  .matchup-odds-metric small{font-size:11px;line-height:1.4}
  .matchup-odds-chart-wrap{display:flex;flex-direction:column;gap:10px;padding:10px 4px 8px;margin-top:12px}
  .matchup-odds-chart-svg{order:2;display:block;width:100%;height:auto;min-height:190px}
  .matchup-odds-legend{order:1;display:flex;align-items:flex-start;gap:8px 14px;margin:0 6px;flex-wrap:wrap}
  .matchup-odds-legend-item{font-size:11px;line-height:1.35;font-weight:850}
  .matchup-odds-legend-swatch{width:18px;flex:0 0 18px;margin-top:6px}
  .matchup-odds-footnote{display:none}
  .matchup-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:32px}
  .matchup-detail-stats article{padding:14px 12px;min-width:0}
  .matchup-detail-stats article:first-child{grid-column:1/-1}
  .matchup-detail-stats span{font-size:11px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;text-overflow:clip;letter-spacing:.025em}
  .matchup-detail-stats strong{font-size:22px;line-height:1.2;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}
  .matchup-detail-stats .detail-leaders,.matchup-detail-stats .detail-time{font-size:16px}
  .matchup-detail-stats small{font-size:11px;line-height:1.45}
}
@media(max-width:470px){
  .matchup-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .matchup-odds-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .matchup-odds-metric strong{font-size:21px}
  .matchup-odds-metric small{font-size:10px}
}

/* History feature is separate from summary cards to avoid inherited card typography. */
.history-page .archive-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 24px; }
.history-page .archive-summary-grid > article { padding: 22px; min-height: 158px; grid-template-rows: auto minmax(40px, auto) auto; }
.history-page .archive-summary-grid .archive-summary-team { white-space: normal; overflow-wrap: anywhere; }
.archive-rankings-feature { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: center; gap: 40px; margin-bottom: 56px; padding: 32px 36px; border-radius: 10px; background: var(--navy-900); color: white; }
.archive-rankings-eyebrow { display: block; color: #b8c9d9; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.archive-rankings-feature h2 { margin: 9px 0 10px; color: white; font-size: clamp(25px, 3vw, 34px); letter-spacing: -.025em; line-height: 1.15; }
.archive-rankings-feature p { margin: 0 0 20px; color: #cfdae4; font-size: 14px; line-height: 1.6; }
.archive-rankings-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 46px; padding: 12px 20px; border-radius: 6px; background: var(--red); color: white; font-size: 13px; font-weight: 800; line-height: 1.4; transition: background .15s; }
.archive-rankings-button span { font-size: 18px; line-height: 1; }
.archive-rankings-button:hover { background: #c02840; }
.archive-rankings-button:focus-visible { outline: 3px solid white; outline-offset: 4px; }
.archive-rankings-leader { min-width: 0; padding-left: 32px; border-left: 1px solid #344658; }
.archive-rankings-leader > span { display: block; color: #b8c9d9; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.archive-rankings-leader > strong { display: block; margin: 10px 0 8px; color: white; font-size: 22px; line-height: 1.25; overflow-wrap: anywhere; }
.archive-rankings-leader > small { display: block; color: #cfdae4; font-size: 12px; line-height: 1.6; }
#champions, #timeline, #records, #archive-rankings { scroll-margin-top: 100px; }

/* History dropdown: a compact list on desktop, an accordion in the mobile menu. */
.nav-history-dropdown { position: relative; flex: 0 0 auto; }
.nav-history-trigger { display: flex; align-items: center; gap: 6px; padding: 8px 5px; border: 0; border-radius: 4px; color: var(--red); background: transparent; font: inherit; font-size: 11px; font-weight: 900; letter-spacing: .025em; text-transform: uppercase; cursor: pointer; }
.nav-history-trigger:hover { background: #f7ecef; }
.nav-history-trigger:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
.nav-history-trigger svg { flex: 0 0 10px; }
.nav-history-dropdown.open .nav-history-trigger svg { transform: rotate(180deg); }
.nav-history-menu { position: absolute; right: 0; top: 100%; width: 230px; padding: 7px; background: white; border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 12px 28px rgba(3,16,30,.15); }
.nav-history-menu[hidden] { display: none; }
.site-header .nav-history-menu a { display: block; padding: 11px 12px; border-radius: 4px; color: #26384d; font-size: 12px; font-weight: 650; text-transform: none; letter-spacing: 0; line-height: 1.4; }
.nav-history-menu a::after { display: none; }
.site-header .nav-history-menu a:hover, .site-header .nav-history-menu a:focus-visible { color: var(--red); background: #f7ecef; outline-offset: -2px; }
@media (min-width: 1001px) and (max-width: 1179px) { .nav-history-trigger { font-size: 10px; padding-inline: 3px; } }
@media (max-width: 1000px) {
  .site-header nav { max-height: calc(100dvh - 100px); overflow-y: auto; overscroll-behavior: contain; }
  .nav-history-dropdown { width: auto; }
  .nav-history-menu { position: static; width: 100%; margin-top: 8px; box-shadow: none; }
  .nav-history-trigger { min-height: 44px; font-size: 12px; }
}
@media (max-width: 760px) {
  .archive-rankings-feature { grid-template-columns: 1fr; gap: 22px; padding: 26px 24px; margin-bottom: 40px; }
  .archive-rankings-leader { padding: 20px 0 0; border-left: 0; border-top: 1px solid #344658; }
}
@media (max-width: 680px) {
  .site-header .nav-history-trigger { justify-content: center; width: 100%; min-height: 44px; padding: 9px 8px; border: 1px solid #e1e7ec; border-radius: 8px; background: #f7f9fb; font-size: 11px; }
  .nav-history-dropdown.open { grid-column: 1 / -1; }
  .nav-history-menu { margin-top: 8px; padding: 4px; }
  .site-header .nav-history-menu a { min-height: 44px; display: flex; align-items: center; font-size: 13px; }
  .site-header nav > a, .site-header .nav-teams-trigger { font-size: 11px; }
  .history-page .archive-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .history-page .archive-summary-grid > article { min-height: 122px; padding: 16px 12px; gap: 5px; }
  .history-page .archive-summary-grid > article:last-child { grid-column: 1 / -1; }
  .archive-rankings-button { width: 100%; }
  .all-time-toolbar select, .schedule-season-picker select, .marketplace-page input, .marketplace-page select, .marketplace-page textarea { font-size: 16px; }
  .all-time-sort-header { min-height: 44px; }
  .all-time-table-wrap, .archive-standings, .roster-table-wrap { max-width: 100%; overscroll-behavior-x: contain; }
  .all-time-table th:first-child, .all-time-table td:first-child { position: sticky; left: 0; z-index: 2; width: 44px; min-width: 44px; background: white; }
  .all-time-table th:nth-child(2), .all-time-table td:nth-child(2) { position: sticky; left: 44px; z-index: 2; width: 160px; min-width: 160px; max-width: 160px; background: white; box-shadow: 7px 0 10px -10px #07182c; }
  .all-time-table th:first-child, .all-time-table th:nth-child(2) { z-index: 3; background: var(--navy-900); }
  .all-time-team strong { white-space: normal; font-size: 11px; }
  .all-time-team { min-width: 0; max-width: 148px; gap: 6px; }
  .all-time-team > span { width: 30px; height: 30px; }
  .all-time-team small { font-size: 9px; }
  .archive-record-tabs button { min-height: 44px; }
  .section-heading h2 { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .archive-rankings-button { transition: none; }
}
