/* One header control owns the season for every statistical view. */
body[data-team] .site-header.unified-header { grid-template-columns: minmax(340px, 1fr) auto minmax(150px, 210px) auto; }
.header-tools { grid-column: 4; grid-row: 1; display: flex; align-items: center; gap: 8px; justify-self: end; }
.header-tools .header-help { flex: 0 0 40px; width: 40px; height: 40px; margin: 0; border: 1px solid #a37cff66; border-radius: 8px 2px; color: #d4c4ff; background: #111b31cc; font: 700 1rem/1 var(--font); }
.header-tools .header-help:hover { color: #fff; background: #343055; }
.header-season { position: relative; }
.header-season > summary { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 40px; min-width: 80px; padding: 0 10px; border: 1px solid #65caff45; border-radius: 8px 2px; color: #f5f8ff; background: #111b31cc; font: 700 .85rem/1 var(--font); cursor: pointer; list-style: none; }
.header-season > summary::-webkit-details-marker { display: none; }
.header-season > summary:hover, .header-season[open] > summary { border-color: var(--pi-blue); background: #203954; }
.season-chevron { width: 6px; height: 6px; margin-top: -3px; border: solid var(--pi-blue); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.header-season-options { position: absolute; right: 0; top: calc(100% + 10px); z-index: 50; display: grid; gap: 4px; width: 262px; max-width: calc(100vw - 24px); padding: 8px; border: 1px solid #40536c; border-radius: 8px; background: #111b2a; box-shadow: 0 12px 32px #0006; }
.header-season-options a { display: block; padding: 13px 12px; border-radius: 5px; color: #c8d6e6; text-decoration: none; font: 600 .85rem/1.4 var(--font); }
.header-season-options a:hover { background: #22374d; color: #fff; }
.header-season-options a[aria-current] { background: #2a3040; color: var(--pi-yellow); }
.header-season-options a[aria-current]::after { content: '✓'; float: right; }
.header-season :focus-visible, .header-tools button:focus-visible { outline: 2px solid var(--pi-blue); outline-offset: 3px; }
.archive-context { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px 20px; padding: 14px 0 22px; color: #dce8f4; font: 600 .85rem/1.5 var(--font); }
.archive-context p { margin: 0; }
.archive-context p span { display: inline-block; margin-left: 10px; color: #90a4b8; font-weight: 400; }
.archive-context a, .archive-team a { color: var(--pi-blue); }
.archive-note { color: #9eafc0; font: 400 .83rem/1.6 var(--font); margin: 14px 0 20px; }
.archive-team-heading { display: flex; align-items: center; gap: 18px; margin: 6px 0 28px; }
.archive-team-heading .club-mark { width: 64px; height: 64px; flex: none; }
.archive-team h2, .archive-players h2 { margin: 32px 0 16px; font: 800 1.8rem/1.1 var(--display); }
.archive-team-metrics, .archive-advanced { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 20px 0 32px; }
.archive-team-metrics > div, .archive-advanced > div { padding: 16px; border-bottom: 1px solid #34404d; background: #111923; }
.archive-team-metrics dt, .archive-advanced dt { color: #a5b5c6; font-size: .8rem; }
.archive-team-metrics dd { margin: 8px 0 0; font: 800 2.8rem/1 var(--display); color: #f5f8ff; }
.archive-advanced { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.archive-advanced dd { margin: 8px 0 0; font: 700 1.5rem/1.2 var(--font); }
.archive-table-scroll { overflow-x: auto; }
.archive-stats { width: 100%; border-collapse: collapse; font: 400 .85rem/1.5 var(--font); font-variant-numeric: tabular-nums; }
.archive-stats th, .archive-stats td { padding: 12px 14px; border-bottom: 1px solid #293542; text-align: right; white-space: nowrap; }
.archive-stats th:first-child { text-align: left; }
.archive-stats thead { color: #a5b5c6; background: #111923; }
.archive-stats tbody th { color: #dce5ef; font-weight: 500; }
.archive-split { margin: 18px 0; border: 1px solid #34404d; padding: 16px; border-radius: 6px; }
.archive-split > summary { cursor: pointer; font-weight: 600; }
.archive-player { background: #101720; }
.archive-players h2 { margin-top: 8px; }
.archive-minute-filters { display: grid; grid-template-columns: minmax(0, 1fr); }
.archive-minute-filters .players-minutes { grid-template-columns: 128px minmax(80px, 1fr); }
.archive-minute-filters .players-minutes input { height: 22px; }
.archive-position-note { margin: 0; color: #9eafc0; font: 500 .7rem/1.5 var(--font); }
@media (max-width: 700px) {
  .archive-minute-filters .players-minutes input { height: 32px; }
}
/* Reuse the live list's portrait, jersey name, tier and rating components. */
.archive-player > summary { list-style: none; }
.archive-player > summary::-webkit-details-marker { display: none; }
.archive-player > summary::marker { content: ''; }
.archive-player-meta { display: inline-block; margin-left: 14px; color: #9eafc0; font: 500 .7rem/1.4 var(--font); }
#archive-more[hidden] { display: none; }
.archive-player-detail { padding: 20px 22px 24px; border-left: 2px solid color-mix(in srgb, var(--team-accent) 50%, #34404d); }
.archive-player-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding: 18px; border-bottom: 1px solid #34404d; background: linear-gradient(110deg, color-mix(in srgb, var(--team-accent) 15%, #151d28), #111821); }
.archive-player-overview > div { display: flex; flex-direction: column; justify-content: center; gap: 8px; text-align: center; }
.archive-player-overview b { color: #edf4fb; font: 800 2.5rem/1 var(--display); }
.archive-player-overview .summary-rating b { color: var(--tier-ink, #edf4fb); }
.archive-player-overview span { color: #aabaca; font: 500 .72rem/1.4 var(--font); }
.archive-explanation { padding: 24px; max-width: 760px; line-height: 1.7; }
.archive-help-close { float: right; width: 40px; height: 40px; border: 0; background: transparent; color: #fff; font-size: 1.8rem; cursor: pointer; }
@media (max-width: 1150px) and (min-width: 961px) {
  body[data-team] .site-header.unified-header { grid-template-columns: minmax(300px, 1fr) auto 160px auto; gap: 10px; }
}
@media (max-width: 960px) {
  body[data-team] .site-header.unified-header { grid-template-columns: minmax(0, 1.6fr) minmax(120px, 1fr); }
  .header-tools { grid-column: 2; grid-row: 1; }
  body[data-team] .site-header.unified-header .site-wordmark { padding-right: 136px; }
}
@media (max-width: 600px) {
  .brand-lockup small { display: none; }
  .archive-context { font-size: .78rem; }
  .archive-context p span { display: block; margin-left: 0; }
  .archive-team-metrics, .archive-advanced { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .archive-player-meta { display: block; margin: 4px 0 0; font-size: .6rem; }
  .archive-player-detail { padding: 12px 8px 18px; }
  .archive-player-overview { padding: 16px 8px; gap: 8px; }
  .archive-player-overview b { font-size: 2rem; }
}
@media (max-width: 360px) {
  .archive-players .player-rankings-head { grid-template-columns: 60px minmax(0, 1fr) 72px 12px; gap: 6px; padding-inline: 9px 6px; }
  .archive-players .league-list .player-row[aria-expanded="false"] { grid-template-columns: 60px minmax(0, 1fr) 72px 12px; gap: 6px; }
  .archive-players .player-row[aria-expanded="false"] .ranking-identity { width: 60px; }
  .archive-players .player-row[aria-expanded="false"] .ranking-identity .player-portrait { width: 60px; }
  .archive-players .league-list .player-row[aria-expanded="false"] .t-rating { width: 72px; height: 58px; }
  .archive-players .league-list .player-row[aria-expanded="false"] .t-rating::after { font-size: 2.35rem; }
  .header-tools { gap: 5px; }
  .header-season > summary { min-width: 72px; gap: 8px; }
  .brand-lockup strong { font-size: 1.2rem; }
  .pi-monogram { width: 44px; height: 44px; }
  body[data-team] .site-header.unified-header .site-wordmark { padding-right: 120px; }
}
