.public-site.is-archive .content { max-width: 1536px; padding: 20px 34px 60px; }
.public-site.is-archive .route-bar { display: none; }
.public-site.is-archive {
  --archive-bg: #f6f3e9;
  --archive-surface: #fffdf8;
  --archive-raise: #f5f0e2;
  --archive-line: #ded7c7;
  --archive-ink: #24231e;
  --archive-muted: #77736a;
  --archive-gold: #a87c00;
  --archive-gold-soft: #fff3c8;
  --archive-logo: #11130f;
}
html[data-public-theme='battle'] .public-site.is-archive {
  --archive-bg: #0b0d0b;
  --archive-surface: #151713;
  --archive-raise: #20221c;
  --archive-line: #34362d;
  --archive-ink: #f6f2e7;
  --archive-muted: #aaa89b;
  --archive-gold: #ffd000;
  --archive-gold-soft: #302b12;
  --archive-logo: #090b09;
}
.public-site.is-archive { background: var(--archive-bg); color: var(--archive-ink); }
.public-site.is-archive .site-footer { max-width: 1468px; margin-inline: auto; }
html[data-public-theme='editorial'] .public-site.is-archive .site-header {
  background: #fffdf8;
  border-bottom-color: #ddd6c8;
  color: #24231e;
}
html[data-public-theme='editorial'] .public-site.is-archive .site-header .brand strong,
html[data-public-theme='editorial'] .public-site.is-archive .site-header nav a { color: #24231e; }
html[data-public-theme='editorial'] .public-site.is-archive .site-header nav a.active { color: #a87c00; border-bottom-color: #c89b00; }
html[data-public-theme='editorial'] .public-site.is-archive .site-actions input,
html[data-public-theme='editorial'] .public-site.is-archive .site-actions .btn,
html[data-public-theme='editorial'] .public-site.is-archive .theme-toggle { background: #fffdf8; color: #24231e; border-color: #d5cbb8; }
.archive-page { min-height: 750px; }
.archive-heading { padding: 9px 10px 20px; }
.archive-overline { color: var(--archive-gold); font: 700 11px/1.4 Georgia, serif; letter-spacing: .28em; margin-bottom: 7px; }
.public-site .archive-heading h1 { font-size: clamp(42px, 5vw, 74px); line-height: 1.08; margin: 0; letter-spacing: -.04em; color: var(--archive-ink); }
.archive-heading h1 span { color: var(--archive-gold); }
.archive-heading p { margin: 10px 0 0; color: var(--archive-muted); font-size: 16px; }
.archive-seasons { display: flex; gap: 8px; overflow-x: auto; padding: 0 1px 15px; scrollbar-width: thin; }
.archive-season { flex: 1 0 164px; min-width: 164px; padding: 13px 13px 12px; border: 1px solid var(--archive-line); background: var(--archive-surface); color: var(--archive-ink); text-decoration: none; text-align: center; border-radius: 5px; }
.archive-season strong { display: block; font-size: 15px; font-weight: 700; white-space: nowrap; }
.archive-season small { display: block; margin-top: 4px; font-size: 12px; color: var(--archive-muted); }
.archive-season:hover, .archive-season:focus-visible { border-color: var(--archive-gold); }
.archive-season.active { border-color: var(--archive-gold); background: var(--archive-gold-soft); color: var(--archive-gold); }
.archive-season.active small { color: var(--archive-gold); }
.archive-toolbar { display: flex; align-items: center; gap: 16px; margin: 4px 0 16px; }
.archive-search { display: flex; width: min(440px, 36%); min-width: 250px; border: 1px solid var(--archive-line); background: var(--archive-surface); border-radius: 5px; overflow: hidden; }
.public-site .archive-search input { width: 100%; min-width: 0; border: 0; background: transparent; color: var(--archive-ink); padding: 11px 14px; outline: none; font-size: 14px; }
.public-site .archive-search input::placeholder { color: var(--archive-muted); }
.archive-search:focus-within { border-color: var(--archive-gold); }
.archive-search button { flex: 0 0 auto; border: 0; border-left: 1px solid var(--archive-line); background: var(--archive-raise); color: var(--archive-ink); padding: 0 18px; font-size: 13px; cursor: pointer; }
.archive-search button:hover { color: var(--archive-gold); }
.archive-week { display: flex; align-items: center; gap: 12px; margin-left: auto; text-align: center; white-space: nowrap; color: var(--archive-ink); font-size: 14px; font-weight: 700; }
.archive-week span small { display: block; color: var(--archive-muted); font-size: 11px; font-weight: 400; margin-top: 2px; }
.archive-arrow { width: 34px; height: 34px; display: grid; place-items: center; color: var(--archive-gold); border: 1px solid var(--archive-gold); border-radius: 4px; text-decoration: none; font-size: 23px; line-height: 1; }
.archive-arrow.disabled { opacity: .34; pointer-events: none; }
.archive-count { white-space: nowrap; font-size: 12px; color: var(--archive-muted); }
.archive-count b { color: var(--archive-gold); font: 700 27px/1 Georgia, serif; margin-inline: 3px; }
.archive-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 12px; align-items: start; }
.archive-table-scroll { min-width: 0; height: clamp(420px, calc(100vh - 420px), 660px); overflow: auto; border: 1px solid var(--archive-line); border-radius: 5px; background: var(--archive-surface); scrollbar-width: thin; }
.archive-table { width: 100%; min-width: 855px; border-collapse: separate; border-spacing: 0; table-layout: fixed; color: var(--archive-ink); }
.archive-table th, .archive-table td { border-right: 1px solid var(--archive-line); border-bottom: 1px solid var(--archive-line); }
.archive-table tr > :last-child { border-right: 0; }
.archive-table tbody tr:last-child > * { border-bottom: 0; }
.archive-table thead th { position: sticky; top: 0; z-index: 2; height: 58px; padding: 8px 6px; text-align: center; font-weight: 700; font-size: 13px; background: var(--archive-surface); }
.archive-table thead th:first-child { width: 174px; text-align: left; padding-left: 18px; left: 0; z-index: 3; }
.archive-table thead small { display: block; margin-top: 3px; color: var(--archive-muted); font-size: 11px; font-weight: 400; }
.archive-table tbody th { position: sticky; left: 0; z-index: 1; background: var(--archive-surface); text-align: left; padding: 6px 8px; height: 72px; }
.archive-table tbody td { height: 72px; padding: 0; vertical-align: top; background: var(--archive-surface); }
.archive-club { display: flex; align-items: center; gap: 9px; }
.archive-club > span:last-child { min-width: 0; }
.archive-club strong { display: block; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.archive-club small { display: block; max-width: 102px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 400; font-size: 10px; color: var(--archive-muted); margin-top: 3px; }
.archive-logo { flex: 0 0 43px; width: 43px; height: 43px; border-radius: 50%; display: grid; place-items: center; overflow: hidden; background: var(--archive-logo); border: 1px solid var(--archive-line); }
.archive-logo img { display: block; width: 34px; height: 34px; object-fit: contain; }
.archive-logo-text { color: #f8d43e; font: 700 12px/1.1 Georgia, serif; }
.archive-cell { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; width: 100%; min-height: 72px; padding: 7px 10px; border: 1px solid transparent; background: var(--archive-raise); color: var(--archive-ink); text-align: left; font: inherit; font-size: 12px; line-height: 1.55; cursor: pointer; }
.archive-cell span { max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.archive-cell small { color: var(--archive-muted); }
.archive-cell:hover, .archive-cell:focus-visible { border-color: var(--archive-gold); outline: none; }
.archive-cell.active { background: var(--archive-gold-soft); border: 2px solid var(--archive-gold); color: var(--archive-gold); }
.archive-dash { display: block; padding-top: 24px; text-align: center; color: var(--archive-muted); font-size: 13px; }
.archive-detail { height: clamp(420px, calc(100vh - 420px), 660px); overflow: auto; padding: 20px 18px; border: 1px solid var(--archive-gold); border-radius: 5px; background: var(--archive-surface); }
.archive-detail-top { display: flex; justify-content: space-between; gap: 7px; color: var(--archive-muted); font-size: 11px; }
.archive-detail-top strong { font-weight: 400; }
.public-site .archive-detail h2 { margin: 13px 0 4px; color: var(--archive-gold); font: 700 23px/1.25 var(--brand-display); }
.archive-detail-caption { font-size: 12px; color: var(--archive-muted); padding-bottom: 14px; border-bottom: 1px solid var(--archive-line); }
.archive-detail-record { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; font-size: 14px; padding: 17px 2px; min-height: 120px; }
.archive-listed { border-top: 1px solid var(--archive-line); padding-top: 17px; }
.archive-listed h3 { margin: 0 0 10px; font-size: 14px; color: var(--archive-gold); }
.archive-listed p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.75; font-size: 13px; }
.archive-detail-week { border-top: 1px solid var(--archive-line); padding-top: 17px; margin-top: 18px; }
.archive-detail-week h3 { margin: 0 0 10px; font-size: 13px; }
.archive-detail-week button { width: 100%; display: flex; gap: 10px; justify-content: space-between; align-items: center; border: 0; background: transparent; color: var(--archive-ink); padding: 8px 7px; text-align: left; cursor: pointer; border-radius: 3px; font: inherit; font-size: 12px; }
.archive-detail-week button:hover, .archive-detail-week button.active { background: var(--archive-gold-soft); color: var(--archive-gold); }
.archive-detail-week button small { max-width: 110px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--archive-muted); }
.archive-muted, .archive-note { color: var(--archive-muted); }
.archive-note { margin: 17px 2px 0; font-size: 11px; }
@media (max-width: 1060px) {
  .archive-layout { grid-template-columns: minmax(0, 1fr); }
  .archive-detail { height: auto; max-height: 420px; }
  .archive-table { min-width: 1000px; }
}
@media (max-width: 700px) {
  .public-site.is-archive .content { padding: 18px 14px 46px; }
  .archive-heading { padding: 4px 2px 18px; }
  .public-site .archive-heading h1 { font-size: 43px; }
  .archive-heading p { font-size: 13px; }
  .archive-season { flex-basis: 136px; min-width: 136px; padding: 10px; }
  .archive-toolbar { flex-wrap: wrap; gap: 12px; }
  .archive-search { width: 100%; }
  .archive-week { margin-left: 0; }
  .archive-count { margin-left: auto; }
  .archive-table-scroll { margin-inline: -14px; border-radius: 0; }
}
