/* Readable archive: preserve information, use consistent visual cues.
 * Hallmark · pre-emit critique: P4 H4 E4 S5 R5 V4
 */
* { box-sizing: border-box; }
html, body { margin: 0; min-width: 0; overflow-x: clip; }
html { -webkit-text-size-adjust: 100%; }
body { color: var(--color-ink); background: var(--color-canvas); font: 400 var(--text-base)/1.65 var(--font-body); }
h1, h2, h3, h4, p, dl { margin: 0; }
h1, h2, h3, h4 { min-width: 0; font-family: var(--font-body); font-style: normal; font-weight: 600; letter-spacing: 0; line-height: 1.5; overflow-wrap: anywhere; }
h1 { font-size: var(--text-xl); }
h2 { font-size: var(--text-lg); }
h3 { font-size: var(--text-base); }
a { color: var(--color-accent); text-underline-offset: .2em; }
a:hover { color: var(--color-accent-strong); }
button, input, select { font-family: var(--font-body); font-size: var(--text-base); }
button, summary, select { cursor: pointer; }
button { color: var(--color-ink); }
button:disabled, select:disabled { cursor: default; }
button:active, a:active { opacity: .8; }
:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
[tabindex="-1"]:focus { outline: none; }
[hidden] { display: none !important; }
img { display: block; max-width: 100%; height: auto; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.ui-icon { display: inline-block; flex: 0 0 auto; width: 1.125rem; height: 1.125rem; vertical-align: -.18em; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
.skip-link { position: fixed; top: .5rem; left: 1rem; z-index: 100; padding: .5rem 1rem; color: var(--color-accent-ink); background: var(--color-accent); transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.app-header, .archive-page main, .site-footer { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.app-header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .5rem 2rem; padding-block: 1.25rem; border-bottom: 1px solid var(--color-line); }
.brand-copy h1 { font-size: 1.375rem; font-weight: 600; }
.archive-tagline { margin-top: .125rem; color: var(--color-ink-soft); font-size: var(--text-sm); }
.header-context { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; font-size: var(--text-xs); color: var(--color-ink-muted); }
.header-context a, .format-note a, .archive-notice > a, .site-footer__nav a, .legal-backlink { display: inline-flex; align-items: center; justify-content: space-between; gap: .75rem; max-width: 100%; min-height: var(--control-height); padding: .5rem .75rem; border: 1px solid var(--color-control-line); border-radius: var(--radius-sm); color: var(--color-ink); background: var(--color-surface-raised); text-decoration: none; line-height: 1.5; }
.header-context a:hover, .format-note a:hover, .archive-notice > a:hover, .site-footer__nav a:hover, .legal-backlink:hover { color: var(--color-ink); background: var(--color-surface-active); border-color: var(--color-accent); }
.action-link-arrow, .site-footer__link-arrow, .format-note a > span { flex: 0 0 auto; color: var(--color-accent-strong); font-size: var(--text-sm); line-height: 1; }
.archive-page main { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 2rem; padding-block: 1.5rem 3rem; }
.archive-search, .archive-results { min-width: 0; }
.archive-search { display: grid; gap: .875rem; scroll-margin-top: 1rem; }
.filter-heading { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.filter-heading h2 { display: flex; align-items: center; gap: .5rem; font-size: var(--text-md); }
.filter-heading h2 .ui-icon { color: var(--color-accent); }
.reset-filters { padding: .375rem .625rem; min-height: var(--control-height); color: var(--color-accent); border: 1px solid var(--color-control-line); border-radius: var(--radius-sm); background: var(--color-surface-raised); white-space: nowrap; font-size: var(--text-sm); }
.reset-filters:hover:not(:disabled) { border-color: var(--color-accent); background: var(--color-surface-active); }
.reset-filters:disabled { color: var(--color-ink-muted); border-color: var(--color-line); background: var(--color-surface); opacity: .65; }
.search-field { display: grid; gap: .375rem; min-width: 0; }
.search-field > label { position: absolute; width: 1px; height: 1px; overflow: clip; clip-path: inset(50%); }
.search-input-wrap { display: grid; grid-template-columns: 1.125rem minmax(0, 1fr) auto; align-items: center; gap: .5rem; padding-left: .75rem; background: var(--color-surface); border: 1px solid var(--color-control-line); border-radius: var(--radius-sm); }
.search-input-wrap:focus-within { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.search-input-wrap > svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: var(--color-ink-soft); stroke-width: 1.7; stroke-linecap: round; }
#searchInput { width: 100%; min-width: 0; height: 2.875rem; padding: .5rem 0; color: var(--color-ink); background: transparent; border: 0; border-radius: 0; font-size: 1rem; }
#searchInput:focus-visible { outline: none; }
#searchInput::placeholder { color: var(--color-ink-muted); opacity: 1; }
#searchInput::-webkit-search-cancel-button { display: none; }
.search-clear { width: 2.75rem; min-height: 2.75rem; padding: 0; border: 0; background: transparent; color: var(--color-ink-soft); font-size: 1.375rem; }
.search-hint { color: var(--color-ink-muted); font-size: var(--text-xs); }
.primary-filter-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: .25rem; align-items: start; }
.primary-filter-item { min-width: 0; }
.primary-filter-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; min-width: 0; gap: .75rem; padding-block: .5rem; }
.primary-filter-copy { display: grid; min-width: 0; gap: .125rem; }
.primary-filter-copy label { display: flex; align-items: center; gap: .375rem; font-size: var(--text-sm); color: var(--color-ink-soft); }
.primary-filter-copy label .ui-icon { color: var(--color-accent); }
.primary-filter-copy strong { font-size: var(--text-base); font-weight: 500; line-height: 1.55; overflow-wrap: anywhere; }
.primary-filter-copy strong.is-all { font-weight: 400; }
.primary-filter-change { position: relative; display: grid; place-items: center; min-width: 3.75rem; min-height: 2.75rem; padding: .375rem .75rem; color: var(--color-accent-strong); background: var(--color-surface-raised); border: 1px solid var(--color-control-line); border-radius: var(--radius-sm); font-size: var(--text-sm); font-weight: 600; }
.primary-filter-change select { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 2.75rem; min-width: 0; margin: 0; padding: 0; border: 0; opacity: 0; }
.primary-filter-change:focus-within { outline: 3px solid var(--color-focus); outline-offset: 2px; }
.primary-filter-change:hover { border-color: var(--color-accent); background: var(--color-surface-active); }
.team-shortcuts, .event-shortcuts { min-width: 0; margin-block: .375rem .75rem; border: 1px solid var(--color-control-line); border-radius: var(--radius-sm); background: var(--color-surface); }
.team-shortcuts > summary, .event-shortcuts > summary { display: flex; align-items: center; gap: .375rem; min-height: 2.75rem; padding: .5rem .625rem; list-style: none; color: var(--color-accent-strong); font-size: var(--text-sm); }
.team-shortcuts > summary::-webkit-details-marker, .event-shortcuts > summary::-webkit-details-marker { display: none; }
.team-shortcuts > summary:hover, .event-shortcuts > summary:hover { background: var(--color-surface-active); }
.team-shortcuts > summary .disclosure-mark, .event-shortcuts > summary .disclosure-mark { margin-left: auto; }
.team-shortcuts[open] > summary, .event-shortcuts[open] > summary { border-bottom: 1px solid var(--color-line); }
.team-shortcuts[open] > summary .disclosure-mark, .event-shortcuts[open] > summary .disclosure-mark { font-size: 0; }
.team-shortcuts[open] > summary .disclosure-mark::after, .event-shortcuts[open] > summary .disclosure-mark::after { content: "−"; font-size: 1.125rem; }
.filter-shortcuts__body { display: grid; gap: .75rem; padding: .75rem .625rem; }
.filter-shortcuts__count { color: var(--color-ink-soft); font-size: var(--text-xs); }
.team-shortcuts__rail, .event-rail { display: grid; min-width: 0; gap: 1.25rem; }
.team-shortcut-lane, .event-lane { display: grid; min-width: 0; gap: .5rem; }
.team-shortcut-lane__label, .event-lane__label { display: block; color: var(--color-ink-soft); font-size: var(--text-xs); font-weight: 600; }
.team-shortcut-lane__buttons, .event-lane__chips { display: flex; flex-wrap: wrap; gap: .5rem; min-width: 0; }
.event-chip { display: block; width: 100%; min-width: 0; min-height: 2.75rem; padding: .5rem .625rem; border: 1px solid var(--color-control-line); border-radius: var(--radius-sm); color: var(--color-ink); background: var(--color-surface-raised); text-align: left; font-size: var(--text-sm); line-height: 1.5; overflow-wrap: anywhere; }
.event-chip:hover { background: var(--color-surface-active); border-color: var(--color-accent); }
.event-chip.is-active { color: var(--color-accent-ink); background: var(--color-accent); border-color: var(--color-accent); }
.event-chip__line { display: flex; flex-wrap: wrap; align-items: baseline; gap: .125rem .5rem; }
.event-chip__line b, #allTeamsCount { color: var(--color-ink-soft); font-size: var(--text-xs); font-weight: 400; white-space: nowrap; }
.event-chip.is-active .event-chip__line b, .event-chip.is-active #allTeamsCount, .event-chip.is-active .event-chip__tag { color: var(--color-accent-ink); }
.nonwcs-toggle { display: flex; align-items: center; gap: .5rem; min-height: 2.75rem; color: var(--color-ink-soft); font-size: var(--text-xs); cursor: pointer; }
.nonwcs-toggle input { flex: 0 0 1.125rem; width: 1.125rem; height: 1.125rem; margin: 0; accent-color: var(--color-accent); }
.additional-filters { min-width: 0; border-top: 1px solid var(--color-line); }
.filter-section-label { display: inline-flex; align-items: center; gap: .375rem; }
.filter-section-label .ui-icon { color: var(--color-ink-soft); width: 1rem; height: 1rem; }
.filter-details { min-width: 0; border-bottom: 1px solid var(--color-line); }
.filter-details > summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; min-height: 3rem; gap: .5rem; list-style: none; font-size: var(--text-sm); }
.filter-details > summary::-webkit-details-marker, .archive-about > summary::-webkit-details-marker, .series-head::-webkit-details-marker { display: none; }
.filter-details > summary small { min-width: 0; color: var(--color-ink-soft); text-align: right; font-size: var(--text-xs); line-height: 1.5; overflow-wrap: anywhere; }
.disclosure-mark { font-size: 1.125rem; color: var(--color-ink-soft); font-weight: 400; }
.filter-details[open] > summary .disclosure-mark, .archive-about[open] > summary .disclosure-mark { font-size: 0; }
.filter-details[open] > summary .disclosure-mark::after, .archive-about[open] > summary .disclosure-mark::after { content: "−"; font-size: 1.125rem; }
.filter-details__body { display: grid; gap: .75rem; padding-block: .5rem 1rem; }
.filter-grid { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; gap: 1rem; }
.field { display: grid; gap: .375rem; min-width: 0; }
.field > span { font-size: var(--text-sm); color: var(--color-ink-soft); }
.field select { width: 100%; min-width: 0; max-width: 100%; min-height: 2.75rem; padding: .5rem; color: var(--color-ink); background: var(--color-surface); border: 1px solid var(--color-control-line); border-radius: var(--radius-sm); font-size: 1rem; }
.field select:disabled { color: var(--color-ink-muted); background: var(--color-surface-raised); }
.format-note { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: var(--text-xs); color: var(--color-ink-soft); }
.format-note > span { overflow-wrap: anywhere; }
.format-note a { flex: 0 0 auto; }
.active-filter-summary { display: flex; flex-wrap: wrap; gap: .5rem; min-width: 0; }
.active-filter-chip { display: inline-flex; align-items: center; gap: .75rem; max-width: 100%; min-height: 2.75rem; padding: .375rem .625rem; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: var(--color-surface); font-size: var(--text-xs); }
.active-filter-chip > span:first-child { min-width: 0; text-align: left; white-space: normal; overflow-wrap: anywhere; }
.active-filter-chip > span:last-child { flex: 0 0 auto; }
.active-filter-chip:hover { background: var(--color-surface-active); }
.results-jump { display: flex; justify-content: center; align-items: center; gap: .75rem; min-height: 2.875rem; width: 100%; padding: .5rem 1rem; background: var(--color-accent); color: var(--color-accent-ink); border: 1px solid var(--color-accent); border-radius: var(--radius-sm); text-decoration: none; font-size: var(--text-sm); }
.results-jump:hover { background: var(--color-accent-strong); color: var(--color-accent-ink); }
.results-jump strong { font-weight: 500; font-variant-numeric: tabular-nums; }
.result-deck { padding-bottom: 1.25rem; scroll-margin-top: 1.25rem; }
.results-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; }
.results-heading h2 { font-size: var(--text-lg); }
#resultCountLabel { flex: 0 0 auto; padding: .125rem .5rem; border-radius: var(--radius-sm); color: var(--color-accent-strong); background: var(--color-surface-active); font-size: var(--text-sm); font-variant-numeric: tabular-nums; }
#resultScopeLabel { margin-top: .375rem; color: var(--color-ink-soft); font-size: var(--text-sm); overflow-wrap: anywhere; }
.results-scope-note { margin-top: .375rem; color: var(--color-ink-muted); font-size: var(--text-sm); }
.event-block { min-width: 0; margin-bottom: 3rem; }
.event-head { padding-block: 1rem .75rem; border-top: 2px solid var(--color-line-strong); }
.event-head h2 { font-size: var(--text-lg); line-height: 1.5; }
.event-stations { min-width: 0; }
.station-block { min-width: 0; margin-bottom: 2rem; }
.station-head { min-width: 0; padding-block: .75rem; }
.station-block + .station-block > .station-head { border-top: 1px solid var(--color-line-strong); }
.station-title { font-size: var(--text-md); line-height: 1.5; }
.event-badge { display: inline-block; margin-left: .5rem; padding: 0 .375rem; vertical-align: .125em; border: 1px solid var(--color-line-strong); border-radius: var(--radius-sm); color: var(--color-accent-strong); background: var(--color-surface); font-size: var(--text-xs); font-weight: 600; white-space: nowrap; }
.section-kicker, .station-subtitle { font-size: var(--text-sm); color: var(--color-ink-soft); }
.station-subtitle { margin-top: .25rem; }
.station-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .25rem 1rem; min-width: 0; margin-top: .5rem; }
.station-resource-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .25rem 1rem; }
.station-resource-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.station-resource-link { display: inline-flex; align-items: center; gap: .375rem; min-height: 2.75rem; padding: .375rem .625rem; font-size: var(--text-sm); white-space: nowrap; }
.station-resource-link, .game-share-link, .time-link, .series-vod-links a { color: var(--color-accent-strong); background: var(--color-surface-raised); border: 1px solid var(--color-control-line); border-radius: var(--radius-sm); text-decoration: none; }
.station-resource-link:hover, .game-share-link:hover, .time-link:hover, .series-vod-links a:hover { color: var(--color-ink); background: var(--color-surface-active); border-color: var(--color-accent); }
.station-resource-link--video, .time-link { border-color: var(--color-accent); }
.station-resource-link__icon, .time-link__icon { display: grid; flex: 0 0 auto; place-items: center; width: 1.25rem; height: 1.25rem; color: var(--color-accent-ink); background: var(--color-accent); border: 1px solid var(--color-accent); border-radius: var(--radius-sm); font: 700 .6875rem/1 var(--font-body); }
.station-resource-link__icon { width: 1.125rem; height: 1.125rem; }
.station-resource-link__arrow, .time-link__arrow { flex: 0 0 auto; color: var(--color-accent-strong); font: 700 var(--text-sm)/1 var(--font-body); }
.station-resource-link--missing, .station-resource-link--missing:hover { padding-inline: 0; color: var(--color-ink-muted); border: 0; background: transparent; white-space: normal; }
.station-count { color: var(--color-ink-muted); font-size: var(--text-xs); white-space: nowrap; }
.station-video-title { display: block; font-size: var(--text-sm); color: var(--color-ink-soft); overflow-wrap: anywhere; }
.event-chip__tag { display: inline; margin-left: .5rem; font-size: var(--text-xs); font-weight: 400; color: var(--color-ink-soft); }
.series-card { min-width: 0; margin-block: .75rem 2.5rem; border: 1px solid var(--color-line-strong); border-radius: var(--radius-sm); background: var(--color-surface); }
.series-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .5rem .5rem; padding: .75rem; background: var(--color-surface-active); border: 0; border-radius: var(--radius-sm); list-style: none; }
.series-head:hover { background: var(--color-surface-active); }
.series-meta { min-width: 0; }
.series-meta h3 { display: flex; align-items: start; gap: .5rem; color: var(--color-ink); font-size: 1rem; font-weight: 600; line-height: 1.6; }
.series-meta h3 .ui-icon { margin-top: .25rem; color: var(--color-accent); }
.series-result { min-width: 0; }
.series-meta h3.series-result__teams { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: .5rem; width: 100%; }
.series-result__team { min-width: 0; color: var(--color-ink); }
.series-result__team--left { text-align: right; }
.series-result__team--right { text-align: left; }
.series-result__team.is-leading { color: var(--color-positive); }
.series-result__name { min-width: 0; font-size: var(--text-base); line-height: 1.5; overflow-wrap: anywhere; }
.series-result__score { display: inline-flex; align-items: center; justify-content: center; gap: .375rem; white-space: nowrap; }
.series-result__wins { color: var(--color-ink-soft); font-size: var(--text-xl); font-variant-numeric: tabular-nums; white-space: nowrap; line-height: 1.2; }
.series-result__wins.is-leading { color: var(--color-positive); }
.series-result__separator { color: var(--color-ink-muted); font-size: var(--text-sm); font-weight: 400; }
.series-result__status { margin-top: .5rem; color: var(--color-ink-soft); font-size: var(--text-xs); text-align: center; overflow-wrap: anywhere; }
.series-result__note { margin-top: .375rem; color: var(--color-ink-soft); font-size: var(--text-xs); overflow-wrap: anywhere; }
.series-structure { display: flex; align-items: start; gap: .375rem; min-width: 0; margin: .25rem 0 .5rem; color: var(--color-ink-soft); font-size: var(--text-sm); }
.series-structure .ui-icon { width: 1rem; height: 1rem; margin-top: .1875rem; }
.series-structure__path { display: flex; flex-wrap: wrap; gap: .125rem .375rem; min-width: 0; }
.series-structure__part { display: inline-flex; align-items: baseline; gap: .375rem; max-width: 100%; min-width: 0; }
.series-structure__part > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.series-structure__separator { flex: 0 0 auto; color: var(--color-ink-muted); }
.series-toggle { display: inline-grid; place-items: center; min-width: 1rem; font-size: 1.125rem; color: var(--color-ink-soft); }
.series-card[open] > .series-head { border-bottom: 1px solid var(--color-line-strong); border-radius: var(--radius-sm) var(--radius-sm) 0 0; }
.series-card[open] > .series-head .series-toggle { font-size: 0; }
.series-card[open] > .series-head .series-toggle::after { content: "−"; font-size: 1.125rem; }
.series-body { min-width: 0; padding: .5rem; }
.series-notes { display: grid; gap: .5rem; margin-bottom: 1rem; font-size: var(--text-sm); color: var(--color-ink-soft); }
.series-notes:empty { display: none; }
.series-vod-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.series-vod-links a { display: inline-flex; align-items: center; gap: .375rem; min-height: 2.75rem; padding: .375rem .625rem; overflow-wrap: anywhere; }
.series-progress, .series-advantage { width: fit-content; max-width: 100%; padding: .25rem .5rem; border-left: 2px solid var(--color-warning); background: var(--color-warning-soft); font-size: var(--text-sm); color: var(--color-warning); }
.series-role-note { overflow-wrap: anywhere; }
.series-display-badge { width: fit-content; padding: .125rem .5rem; background: var(--color-surface-raised); font-size: var(--text-sm); color: var(--color-ink-soft); }
.game-grid { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; }
.game-card { min-width: 0; padding-block: .5rem 1rem; scroll-margin-top: 1rem; }
.game-card + .game-card { margin-top: .5rem; padding-top: 1rem; border-top: 1px solid var(--color-line-strong); }
.game-card:focus { outline: 2px solid var(--color-accent); outline-offset: .25rem; }
.game-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .375rem; align-items: center; margin-bottom: .75rem; }
.game-number { color: var(--color-ink-soft); font-size: var(--text-sm); font-weight: 500; white-space: nowrap; }
.game-number b { font-size: inherit; font-weight: inherit; }
.game-share-link { display: inline-flex; align-items: center; justify-content: center; gap: .375rem; min-width: 2.75rem; min-height: 2.75rem; padding: .375rem .625rem; font-size: var(--text-xs); white-space: nowrap; }
.game-share-link__text { display: none; }
.game-share-link .ui-icon { width: 1rem; height: 1rem; }
.game-winner { display: flex; align-items: center; gap: .375rem; min-width: 0; color: var(--color-positive); font-size: var(--text-base); line-height: 1.4; }
.game-winner__badge { flex: 0 0 auto; padding: .125rem .25rem; background: var(--color-positive-soft); font-size: var(--text-xs); font-weight: 600; white-space: nowrap; }
.game-winner__name { min-width: 0; font-weight: 600; overflow-wrap: anywhere; }
.game-winner--unknown { color: var(--color-ink-soft); font-size: var(--text-sm); }
.game-note { margin-bottom: .75rem; color: var(--color-ink-soft); font-size: var(--text-sm); }
.status-group { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.status-pill { color: var(--color-warning); font-size: var(--text-xs); }
.evidence-pair { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 1.25rem; min-width: 0; }
.evidence { min-width: 0; }
.evidence__purpose { display: flex; align-items: center; gap: .375rem; min-height: 2.25rem; margin-bottom: .5rem; padding: .25rem .5rem; border-left: 3px solid var(--color-draft); background: var(--color-draft-soft); color: var(--color-ink); font-size: var(--text-sm); font-weight: 500; }
.evidence__purpose .ui-icon, .evidence__code { color: var(--color-draft); }
.evidence__code { font-size: var(--text-xs); font-weight: 600; }
.evidence[data-purpose="RESULT"] .evidence__purpose { border-left-color: var(--color-result); background: var(--color-result-soft); }
.evidence[data-purpose="RESULT"] .evidence__purpose .ui-icon, .evidence[data-purpose="RESULT"] .evidence__code { color: var(--color-result); }
.evidence__frame { min-width: 0; }
.evidence__image-link { display: block; font-size: var(--text-xs); }
.evidence__image-link img { width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: var(--color-surface-raised); border: 1px solid var(--color-line); }
.evidence__image-link:hover img { border-color: var(--color-accent); }
.evidence__actions { display: grid; grid-template-columns: minmax(0, 1fr); margin-top: .5rem; }
.evidence__body { min-width: 0; }
.time-link { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .5rem; min-height: 2.75rem; padding: .375rem .625rem; font-size: var(--text-sm); white-space: nowrap; }
.time-link__text { font-variant-numeric: tabular-nums; }
.time-missing { font-size: var(--text-sm); color: var(--color-ink-muted); }
.evidence__empty { min-height: 2.75rem; padding: .75rem; background: var(--color-surface-raised); color: var(--color-ink-soft); font-size: var(--text-sm); overflow-wrap: anywhere; }
.evidence--missing .evidence__frame { aspect-ratio: auto; }
.load-more { display: block; width: 100%; min-height: 3rem; padding: .5rem 1rem; color: var(--color-accent); border: 1px solid var(--color-control-line); border-radius: var(--radius-sm); background: var(--color-surface); font-size: var(--text-sm); }
.load-more:hover { background: var(--color-surface-active); }
.initial-loading { color: var(--color-ink-soft); padding: 2rem 0; }
.empty-state { padding: 2rem 0; line-height: 1.8; }
.empty-state p + p { margin-top: .5rem; color: var(--color-ink-soft); }
.empty-state__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.empty-state__button { min-height: 2.75rem; padding: .5rem .75rem; color: var(--color-accent); border: 1px solid var(--color-control-line); background: var(--color-surface); border-radius: var(--radius-sm); white-space: nowrap; font-size: var(--text-sm); }
.archive-about { grid-column: 1 / -1; width: 100%; min-width: 0; padding-top: 1rem; border-top: 1px solid var(--color-line); scroll-margin-top: 1rem; }
.archive-about > summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 2.75rem; list-style: none; font-size: var(--text-sm); }
.archive-about__body { max-width: 52rem; padding-block: 1rem; color: var(--color-ink-soft); font-size: var(--text-sm); }
.archive-about__body p, .archive-about__body section { margin-bottom: 1rem; }
.archive-about__body h2 { margin-bottom: .5rem; font-size: 1rem; }
.archive-notice, .coverage-note { line-height: 1.8; }
.archive-notice > a { font-size: var(--text-sm); }
.coverage-note strong { display: block; }
.affiliation-note { line-height: 1.8; }
.metric-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); flex-basis: 100%; gap: 1rem; padding-top: .5rem; font-size: var(--text-xs); }
.metric-strip > div { display: grid; gap: .125rem; }
.metric-strip dt { display: flex; align-items: center; gap: .25rem; color: var(--color-ink-soft); white-space: nowrap; }
.metric-strip .ui-icon { width: 1rem; height: 1rem; color: var(--color-ink-soft); }
.metric-strip dd { margin: 0; color: var(--color-ink); font-size: var(--text-md); font-weight: 600; font-variant-numeric: tabular-nums; }
.filter-return { position: fixed; right: max(.5rem, env(safe-area-inset-right)); bottom: max(.75rem, env(safe-area-inset-bottom)); z-index: 20; display: none; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; padding: .5rem; border: 1px solid var(--color-accent); border-radius: 50%; background: transparent; color: var(--color-accent-strong); text-decoration: none; }
.filter-return.is-visible { display: inline-flex; }
.filter-return svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 1px 2px var(--color-canvas)); }
.filter-return:hover, .filter-return:focus-visible { color: var(--color-accent-strong); border-color: var(--color-accent-strong); background: var(--color-surface-active); }
.site-footer { padding-block: 1.5rem 5rem; border-top: 1px solid var(--color-line); color: var(--color-ink-muted); font-size: var(--text-xs); }
.site-footer p + p { margin-top: .5rem; }
.site-footer strong { color: var(--color-ink-soft); font-weight: 500; }
.site-footer__nav-title { display: none; }
.site-footer__nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); gap: .5rem; margin-top: 1rem; }
.site-footer__nav a { font-size: var(--text-sm); }
.legal-shell { max-width: 52rem; margin: 0 auto; padding: 2rem var(--gutter) 4rem; }
.legal-backlink { justify-content: flex-start; font-size: var(--text-sm); }
.legal-header { padding-bottom: 2rem; border-bottom: 1px solid var(--color-line); }
.legal-header h1 { margin: 1rem 0; }
.legal-header .section-kicker { display: none; }
.legal-updated { margin-top: 1rem; color: var(--color-ink-soft); font-size: var(--text-sm); }
.legal-document section { padding-block: 2rem; scroll-margin-top: 1rem; }
.legal-document section + section { border-top: 1px solid var(--color-line); }
.legal-document h2 { margin-bottom: 1rem; }
.legal-document h3 { margin: 1.5rem 0 .75rem; }
.legal-document p + p { margin-top: 1rem; }
.legal-document ul { padding-left: 1.25rem; }
.legal-document li + li { margin-top: .75rem; }
.legal-document a { color: var(--color-ink); text-decoration-color: var(--color-accent); text-decoration-thickness: 2px; overflow-wrap: anywhere; }
.legal-document a:hover { color: var(--color-accent-strong); }
.legal-emphasis { color: var(--color-ink); }
@media (max-width: 359px) {
  .app-header { padding-block: 1rem .5rem; }
  .archive-tagline { font-size: var(--text-xs); }
  .series-head { column-gap: .5rem; }
  .series-result__name { font-size: var(--text-sm); }
  .series-body { padding-inline: .25rem; }
  .game-head { gap: .25rem; }
  .game-winner { font-size: var(--text-sm); }
}
@media (min-width: 40rem) and (max-width: 59.999rem) {
  .primary-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
  .filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 48rem) {
  .series-body { padding: .75rem; }
  .series-meta h3.series-result__teams { column-gap: 1rem; }
  .evidence-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .game-share-link__text { display: inline; }
  .metric-strip { display: flex; gap: 2rem; }
  .metric-strip > div { display: flex; align-items: baseline; gap: .5rem; }
  .brand-copy h1 { font-size: 1.5rem; }
}
@media (min-width: 60rem) {
  .archive-page main { grid-template-columns: 17rem minmax(0, 1fr); gap: 2.5rem; }
  .archive-search { padding-right: 1.5rem; border-right: 1px solid var(--color-line); }
  .result-deck { padding-top: .375rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}
@media print {
  .archive-search, .filter-return, .load-more { display: none !important; }
  .archive-page main { display: block; }
}
