.season-detail{margin-top:2.75rem;scroll-margin-top:10rem}
.season-detail-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;border-bottom:1px solid var(--line);padding-bottom:.75rem;margin-bottom:1rem}
.season-detail-heading h2{border:0;margin:.15rem 0 0;padding:0;color:var(--txt);font-size:1.6rem;text-transform:none;letter-spacing:-.025em}
.season-detail-heading p{margin:0;color:var(--dim);font-size:.875rem;text-align:right}
.season-detail-controls{display:flex;gap:1rem;align-items:end;justify-content:space-between;margin-bottom:1rem}
.week-picker{display:flex;min-width:0;gap:.35rem;overflow-x:auto;padding:.15rem .1rem .45rem;scrollbar-width:thin}
.week-picker button{flex:0 0 auto;min-width:2.55rem;min-height:2.5rem;border:1px solid var(--line);border-radius:.55rem;background:var(--panel);color:var(--dim);font:650 .875rem/1 ui-sans-serif,system-ui,sans-serif;cursor:pointer}
.week-picker button:hover{border-color:var(--dim);color:var(--txt)}
.week-picker button[aria-pressed="true"]{background:var(--txt);border-color:var(--txt);color:var(--panel)}
.team-filter{display:grid;gap:.25rem;color:var(--dim);font-size:.8125rem;font-weight:650;white-space:nowrap}
.team-filter select{min-width:13rem;height:2.5rem;border:1px solid var(--line);border-radius:.55rem;background:var(--panel);color:var(--txt);padding:0 .7rem;font:inherit}
.week-summary{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:.4rem 0 .8rem;color:var(--dim);font-size:.875rem}
.week-summary strong{font-size:1.08rem;color:var(--txt)}
.matchup-list{display:grid;gap:.75rem}
.week-matchup{background:var(--panel);border:1px solid var(--line);border-radius:.8rem;overflow:hidden}
.week-matchup[open]{box-shadow:0 .65rem 1.8rem rgba(15,23,42,.08)}
.week-matchup>summary{list-style:none;cursor:pointer;padding:.8rem 1rem;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.8rem;align-items:center}
.week-matchup>summary::-webkit-details-marker{display:none}
.match-team{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:center}
.match-team.away{text-align:right;grid-template-columns:auto minmax(0,1fr)}
.match-team.away .match-score{grid-column:1;grid-row:1}.match-team.away .match-identity{grid-column:2;grid-row:1}
.match-name{font-size:1rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.match-manager{color:var(--dim);font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.match-score{font-size:1.75rem;font-weight:760;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.match-team.winner .match-score{color:var(--win)}
.match-margin{text-align:center;color:var(--dim);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.lineup-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.lineup{padding:1rem}.lineup+.lineup{border-left:1px solid var(--line)}
.lineup h3{margin:0 0 .65rem;font-size:1rem}.lineup h3 a{color:var(--link);text-decoration:none}
.lineup-group-label{margin:.85rem 0 .35rem;color:var(--dim);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.lineup-row{display:grid;grid-template-columns:2.3rem minmax(0,1fr) auto;gap:.55rem;align-items:center;padding:.38rem 0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.lineup-row:last-child{border-bottom:0}
.lineup-slot{display:inline-flex;align-items:center;justify-content:center;min-height:1.65rem;border-radius:.35rem;background:var(--cell);color:var(--dim);font-size:.7rem;font-weight:750}
.lineup-player{min-width:0}.lineup-player a,.lineup-player span{display:block;color:var(--txt);text-decoration:none;font-size:.875rem;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lineup-player small{display:block;color:var(--dim);font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lineup-points{font-size:.875rem;font-weight:700;font-variant-numeric:tabular-nums}
.roster-fold{margin-top:.65rem;border-top:1px solid var(--line)}
.roster-fold summary{cursor:pointer;color:var(--dim);font-size:.8125rem;font-weight:650;padding:.65rem 0 .2rem}
.lineup-empty{color:var(--dim);font-size:.875rem;padding:.8rem 0}
.matchup-empty{background:var(--panel);border:1px dashed var(--line);border-radius:.8rem;padding:1.25rem;color:var(--dim);font-size:.9rem}
@media(max-width:760px){.season-detail-heading{display:block}.season-detail-heading p{text-align:left;margin-top:.35rem}.season-detail-controls{display:block}.team-filter{margin-top:.65rem}.team-filter select{width:100%}.week-matchup>summary{grid-template-columns:1fr auto 1fr;padding:.75rem}.match-team,.match-team.away{display:block}.match-team.away .match-score,.match-team.away .match-identity{display:block}.match-score{font-size:1.35rem}.match-manager{display:none}.match-margin{font-size:.66rem}.lineup-grid{grid-template-columns:1fr}.lineup+.lineup{border-left:0;border-top:1px solid var(--line)}}

