/* ZYNFL's archive surfaces share the same dark palette as the season pages. */
:root{color-scheme:dark;--ink:#f5f7fb;--ink-2:#e3ebf3;--navy:#10151f;--navy-2:#192431;--navy-3:#26384b;--cream:#192431;--paper:#10151f;--white:#1b2633;--line:#405367;--muted:#b8c8d7;--red:#ed6476;--gold:#f5cc66}
body{background:#10151f;color:#f5f7fb}
button,input,select,textarea{font:inherit}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #8bd3ff;outline-offset:3px}
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-submenu{display:none;position:absolute;left:0;top:100%;min-width:208px;padding:8px;background:#1d2b39;border:1px solid #53687a;border-radius:12px;box-shadow:0 18px 42px #0009;z-index:80}
.nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu{display:grid;gap:3px}
.nav-submenu .nav-link{width:100%;padding:11px 12px;border-radius:7px;text-align:left}
.nav-submenu .nav-link:hover,.nav-submenu .nav-link.active{background:#314558;color:#fff}
.nav-submenu .nav-link:after{display:none}
.hero,.season-hero,.z-season-hero,.page-hero{background:radial-gradient(circle at 90% 5%,#db536833,transparent 35%),linear-gradient(135deg,#14202d,#202d3d 70%,#30283a);color:#f8fafc}
.hero-side,.champion-lockup{border-color:#52657a;color:#f6f8fb}
.stats-strip,.section,.section.alt,.section.dark,.player-top-section{background:#10151f;color:#f5f7fb;border-color:#34485a}
.section.alt,.player-top-section{background:#151e2a}.section.dark{background:#18212e}
.page-hero h1,.section-heading h2,.z-section-head h2,.record-card .record-value{color:#fff}
.page-hero p,.section-heading p,.hero-deck,.record-card .record-detail,.record-subdetail{color:#b8c8d7}
.eyebrow,.kicker,.award-group-title{color:#f5cc66}
.record-card,.season-card,.story-card,.pulse-card,.leaderboard-card,.shame-card,.belt-card,.series-stat,.rivalry-game,.rivalry-icon-card,.team-card,.player-result,.owner-dna-card,.draft-table-shell,.search-panel,.season-team-card,.timeline-item,.detail-card,.modal,.modal-stat,.z-recap,.z-ranking-list,.z-week-highlights,.z-reserves,.z-sidebar,.z-coming-soon{background:#1b2633;color:#f5f7fb;border-color:#405367;box-shadow:0 10px 28px #0004}
.record-card .record-title,.team-franchise,.rivalry-icon-card small,.belt-card p,.series-stat span,.timeline-item small,.search-meta,.draft-meta,.season-card p,.story-card p,.player-result small,.player-result .draft-value small,.season-team-card small{color:#b8c8d7}
.team-name,.team-record strong,.belt-card h2,.series-stat strong,.rivalry-icon-card strong,.player-result strong,.story-card h3,.record-card .record-value{color:#fff}
.rivalry-icon-card em{color:#f5cc66}.rivalry-icon-card:hover,.rivalry-icon-card.active{border-color:#f5cc66}
.rivalry-game .winner{color:#8fe4bb}.rivalry-game .loser{color:#c7d2dc}
.shame-card,.rivalry-game,.timeline-item{border:1px solid #405367}
.matrix-shell{background:#1b2633;border-color:#405367}
.matrix th,.matrix td{border-color:#405367}.matrix tbody td{background:#1b2633;color:#e3edf7}
.matrix tbody td:first-child{background:#263648;color:#fff}.matrix tbody td.positive{background:#193f3d;color:#a5f0d0}.matrix tbody td.negative{background:#492e3b;color:#ffd1d6}.matrix tbody td.even{background:#304052;color:#fff}.matrix tbody td.diagonal{background:#293543;color:#aebeca}
.podium-table,.career-table,.season-table,.draft-table{background:#1b2633;color:#f5f7fb}
.podium-table th,.career-table th,.season-table th,.draft-table th{background:#29394a;color:#f5cc66;border-color:#405367}
.podium-table td,.career-table td,.season-table td,.draft-table td{border-color:#405367;color:#f5f7fb}
.podium-table tr:nth-child(even),.career-table tr:nth-child(even),.season-table tr:nth-child(even),.draft-table tr:nth-child(even){background:#223143}
.award-scope button,.scope-btn,.draft-year-toggle button,.draft-pos-btn,.filter-select,.search-input,.player-top-select{background:#263648;color:#f5f7fb;border-color:#53697d}
.award-scope button.active,.scope-btn.active,.draft-year-toggle button.active,.draft-pos-btn.active{background:#bc364b;border-color:#f27687;color:#fff}
.player-top-select.pos-QB,.player-top-select.pos-RB,.player-top-select.pos-WR,.player-top-select.pos-TE,.player-top-select.pos-FLEX,.player-top-select.pos-K,.player-top-select.pos-DEF{color:#10151f}
.pos-badge{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;min-width:31px;padding:3px 7px;border-radius:7px;background:#8bd3d7;color:#10151f;font-size:10px;font-weight:900;line-height:1.2;letter-spacing:.02em;white-space:nowrap}
.pos-QB{background:#ff6f91}.pos-RB{background:#3ee0b0}.pos-WR{background:#5cb8ff}.pos-TE{background:#ffb347}.pos-FLEX{background:#baa6ff}.pos-K{background:#ffdc75}.pos-DEF{background:#8bd3d7}
.z-player small .pos-badge,.z-dialog .pos-badge{color:#10151f}
.z-page .z-player{color:#fff}
.z-page-heading h1{color:#fff}
.z-weekbar button,.z-sidebar select,.z-toggle,.z-toggle button{background:#263648;color:#f5f7fb;border-color:#53697d}
.z-weekbar button.active,.z-toggle button.active,.z-match-choice.selected{background:#bc364b;color:#fff;border-color:#f27687}
.z-match-choice{background:#263648;color:#f5f7fb;border-color:#405367}
.z-match-choice>small,.z-field-note,.z-depth-note{color:#b8c8d7}
.z-news,.z-empty,.z-specialists{background:#1b2633;color:#f5f7fb;border-color:#405367}
.z-news h3,.z-news>span{color:#f5f7fb}.z-news p,.z-news>small,.z-empty p{color:#b8c8d7}
.z-news:hover{border-color:#f5cc66}
.z-outline,.z-primary{background:#30465a;color:#fff;border-color:#688097}
.z-primary{background:#bc364b;border-color:#f27687}
.z-method,.z-method summary,.z-recap details,.z-recap details p{color:#c8d5e0}
.z-recap details{border-color:#405367}
.z-rank-editor select{background:#263648;color:#fff;border-color:#53697d}
.z-dialog{background:#1b2633;color:#f5f7fb;border:1px solid #53697d}
.z-dialog-close{background:#30465a;color:#fff}
.z-dialog .z-eyebrow,.z-dialog-heading p,.z-detail-stats small{color:#bdcdd9}
.z-log th{background:#29394a;color:#f5cc66}
.z-log td,.z-log th{border-color:#405367}
.z-injury{background:#42382c;color:#ffe6ae;border-left-color:#f5cc66}
#zRankError{color:#ff9da8}
.z-section-head h2,.z-ranking-list h3,.z-rank,.z-recap h3,.z-recap-heading strong{color:#fff}
.z-ranking-list p,.z-ranking-list small,.z-recap p,.z-week-highlights span,.z-muted{color:#b8c8d7}
.z-ranking-list>li,.z-week-highlights>div{border-color:#405367}
.z-result,.z-detail-stats>div{background:#263648;color:#f5f7fb}
.z-coming-soon{text-align:center;padding:clamp(50px,10vw,110px) 20px;border:1px solid #405367;border-radius:18px}
.z-coming-soon span{font-size:11px;font-weight:900;letter-spacing:.18em;color:#f5cc66}
.z-coming-soon h2{font-size:clamp(32px,5vw,56px);margin:12px 0;color:#fff}
.z-coming-soon p{color:#b8c8d7}
.site-footer{background:#090c12;color:#bdcbd8;border-top:1px solid #405367}
.site-footer strong{color:#fff}
.modal-body{background:#172330;color:#f5f7fb}
.modal-hero{background:linear-gradient(130deg,#812a40,#26394a)}
.h2h-light-section{background:#151e2a;color:#f5f7fb}
.shame-card-wrap,.ready-card,.notice,.season-phase,.injury-card,.predraft-card,.gallery-card,.gallery-empty,.adp-context-card,.season-table-shell,.bracket-match,.bracket-team,.points-row,.season-team-stat,.metric-chip{background:#1b2633;color:#f5f7fb;border-color:#405367}
.predraft-player,.team-card .trophy-unit,.rivalry-icon-card.placeholder{background:#263648;color:#e3edf7;border-color:#53697d}
.gallery-caption-input,.gallery input{background:#263648;color:#fff;border-color:#53697d}
.gallery-empty p,.adp-context-card p,.injury-card p,.season-phase p,.notice p{color:#bdcdd9}
.bracket-team.advances{background:#30465a;color:#fff}
.season-table-shell th,.season-table-shell td{border-color:#405367}
.season-team-stat strong,.bracket-team strong,.gallery-card strong{color:#fff}
.belt-tag{background:#554523;color:#ffe49d}
@media(max-width:1180px){
 .nav-dropdown{display:block}
 .main-nav.open .nav-submenu{display:grid;position:static;min-width:0;margin:0 0 8px 16px;padding:3px 0 3px 10px;border:0;border-left:2px solid #53697d;border-radius:0;box-shadow:none;background:transparent}
 .main-nav.open .nav-submenu .nav-link{padding:9px 12px}
}
@media(max-width:520px){
 .record-grid{grid-template-columns:1fr}
 .z-coming-soon{padding:60px 16px}
}

/* Readable text throughout the dark archive. Position chips keep their own dark ink. */
.player-top-title,.player-top-section h2,.detail-card h3,.timeline-item strong,.player-result .draft-value,
.draft-contrib,.draft-rank,.owner-dna-card h3,.owner-dna-card .dna-stats strong,
.season-year,.season-team-story,.season-team-trade,.rank-badge,.finish-badge,
.team-record strong,.team-body h3,.super-note,.timeline-year,.timeline-event,
.player-career-grid strong,.record-subdetail,.record-detail,.metric-chip strong,
.season-team-card h3,.search-panel h2,.adp-context-card h3,.gallery-card h3{color:#f5f7fb}
.player-top-section .eyebrow,.detail-card .eyebrow,.manager-file h3{color:#f5cc66}
.player-result .draft-value,.timeline-item strong,.draft-contrib{font-variant-numeric:tabular-nums}
.player-top-card .player-top-owner,.player-top-card .player-top-points,.player-top-card>small{color:#c9d8e6}
.player-top-card .free-agent{color:#ffd6a1}
.modal .tag{background:#2b3b4c;color:#e9f1fa;border:1px solid #50657a}
.modal-stat span,.manager-caption,.manager-row small{color:#bdcddd}
.modal-stat strong{color:#fff}

/* Manager files: a consistent two-column card grid and rows that wrap naturally. */
.manager-file .detail-grid{align-items:start;gap:16px}
.manager-file .detail-card{min-width:0;padding:20px;border-radius:14px}
.manager-file .detail-card h3{margin:0 0 14px;font-size:12px;line-height:1.35;letter-spacing:.12em}
.manager-file .manager-wide{grid-column:1/-1}
.manager-rows,.manager-draft-list{display:grid;gap:8px;max-height:440px;overflow:auto}
.manager-row{display:grid;grid-template-columns:minmax(108px,32%) minmax(0,1fr);align-items:center;gap:14px;min-width:0;padding:12px 14px;border:1px solid #42566c;border-radius:9px;background:#223244}
.manager-row-lead,.manager-row-main{display:grid;gap:5px;min-width:0}
.manager-row-lead b,.manager-row-lead strong{font-size:12px;color:#f5f7fb;line-height:1.35}
.manager-row-lead strong{color:#f5cc66}
.manager-row-main span{font-size:12px;font-weight:700;color:#f5f7fb;line-height:1.4;overflow-wrap:anywhere}
.manager-row small{font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.manager-caption{margin:-3px 0 14px;font-size:12px;line-height:1.5}
.manager-empty{margin:0;color:#bdcddd;font-size:12px}
.manager-starts{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.manager-starts li{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:11px 13px;border:1px solid #42566c;border-radius:9px;background:#223244}
.manager-start-rank{display:flex;align-items:center;gap:7px;min-width:0;color:#f5f7fb;font-size:12px;font-weight:750;line-height:1.3}
.manager-start-rank .pos-badge{flex:none}
.manager-start-total{text-align:right;white-space:nowrap;color:#f5cc66;font-size:11px;font-weight:800}
.manager-start-total small{display:block;font-weight:600;font-size:11px;color:#c6d5e2;margin-top:3px}

/* A football formation with separate cells for every player. The offensive line faces midfield. */
.z-field-scroll{overflow-x:auto;overflow-y:hidden}
.z-field{min-width:700px}
.z-formation,.z-formation.z-bottom{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:92px 145px 145px;gap:0;max-width:none;width:100%;margin:0;padding:9px 0;align-items:stretch}
.z-position{min-width:0;min-height:0;display:flex;justify-content:center;align-items:flex-start;padding:3px 1px;z-index:1}
.z-position .z-player{width:100%;min-width:0;max-width:120px;gap:3px;align-items:center;overflow:hidden}
.z-position .z-player-photo{width:min(var(--bubble),96px);height:min(var(--bubble),96px);max-width:100%;flex:none}
.z-position .z-player strong,.z-position .z-player small,.z-position .z-player em{max-width:100%;width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;min-height:0}
.z-position .z-player strong{font-size:11px;line-height:1.3}
.z-position .z-player small,.z-position .z-player em{font-size:9px;line-height:1.3}
.z-position .z-compact .z-player-photo{width:49px;height:49px}
.z-position .z-compact strong{font-size:10px}
.z-position-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;text-align:center;width:min(100%,88px);min-height:62px;color:#d4e1ea;font-size:10px;border:1px dashed #83aaa088;border-radius:10px;background:#102c2aab;padding:5px}
.z-position-empty img{width:35px;height:35px;object-fit:contain}
.z-position-empty strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px}
.z-place-k{grid-column:1;grid-row:1}.z-place-def{grid-column:7;grid-row:1}
.z-place-rb2{grid-column:2;grid-row:2}.z-place-flex-rb{grid-column:3;grid-row:2}.z-place-qb{grid-column:4;grid-row:2}.z-place-rb1{grid-column:5;grid-row:2}
.z-place-wr1{grid-column:1;grid-row:3}.z-place-te{grid-column:2;grid-row:3}.z-place-flex{grid-column:6;grid-row:3}.z-place-wr2{grid-column:7;grid-row:3}
.z-formation .z-line{grid-column:3/6;grid-row:3;display:flex;align-self:start;justify-content:center;gap:9px;padding:20px 3px;border:0;z-index:0}
.z-formation .z-line span{width:13px;height:13px;flex:none}
.z-formation.z-bottom{grid-template-rows:145px 145px 92px}
.z-bottom .z-place-k,.z-bottom .z-place-def{grid-row:3}
.z-bottom .z-place-wr1,.z-bottom .z-place-wr2,.z-bottom .z-place-te,.z-bottom .z-place-flex,.z-bottom .z-line{grid-row:1}
.z-bottom .z-place-rb2,.z-bottom .z-place-flex-rb,.z-bottom .z-place-qb,.z-bottom .z-place-rb1{grid-row:2}
.z-bottom .z-line{align-self:end;padding:20px 3px}
@media(max-width:780px){
 .manager-starts{grid-template-columns:1fr}
 .manager-file .detail-grid{grid-template-columns:1fr}
 .manager-row{grid-template-columns:minmax(100px,33%) minmax(0,1fr)}
 .z-field{min-width:700px}
 .z-position .z-player-photo{width:min(var(--bubble),88px);height:min(var(--bubble),88px)}
}
@media(max-width:520px){
 .manager-file .detail-card{padding:15px}
 .manager-row{grid-template-columns:1fr;gap:7px}
 .manager-row-lead{display:flex;flex-wrap:wrap;gap:7px;align-items:baseline}
 .manager-row-main{gap:3px}
}
/* Remaining archive labels that still inherited light-theme navy or green. */
.points-row span,.points-row strong,.news-card h3,.news-affected,.gallery-empty strong,
.gallery-caption,.adp-overall,.adp-context-card strong,.max-bid,.injury-card a,
.player-result .player-points,.season-team-story strong,.rivalry-game .rg-date,
.keeper-line b,.keeper-chip,.availability-pill.available,.adp-live-badge{color:#eaf3fb}
.points-row small,.news-card p,.gallery-caption{color:#c4d3e0}
.points-row,.keeper-chip,.availability-pill.available,.adp-live-badge{background:#263648;border-color:#53697d}
.news-card,.adp-context-card,.gallery-empty{background:#1b2633;color:#f5f7fb;border-color:#405367}
.season-team-story{color:#c8d6e3!important;border-top-color:#405367}
.rank-badge{background:#30465a;color:#fff}
.rank-badge.top{background:#f5cc66;color:#172330}
.finish-badge{background:#30465a;color:#ffe49d}
.rivalry-game .winner{color:#9debc5}
@media(max-width:780px){
 .z-formation:not(:has(.z-field-specialists)){grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:92px 145px 145px;row-gap:0}
 .z-formation.z-bottom:not(:has(.z-field-specialists)){grid-template-rows:145px 145px 92px}
 .z-formation:not(:has(.z-field-specialists)) .z-line{grid-column:3/6;grid-row:3}
 .z-formation.z-bottom:not(:has(.z-field-specialists)) .z-line{grid-row:1}
 .z-formation .z-player-photo{--bubble:inherit!important}
}
