/* Patch notes: /patch-notes/, /patch-notes/<date>/ and the official-changes section of weapon pages. */

.season-block .status-line { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); max-width: 58ch; }
.season-block[data-status="announced"] .tag { border-color: var(--info); color: var(--info); background: var(--info-soft); }
.season-block[data-status="released"] .tag { border-color: var(--positive); color: var(--positive); }
.season-block h3 { margin-top: var(--space-4); }

.patch-timeline { list-style: none; margin: var(--space-4) 0 0; padding: 0; display: grid; gap: var(--space-4); }
.patch-timeline li { padding: var(--space-3) var(--space-4); border: 1px solid var(--border); border-left: 3px solid var(--border-strong); border-radius: var(--radius-md); background: var(--surface-1); }
.patch-timeline h3 { margin: 0 0 var(--space-2); font-size: var(--text-md); }
.patch-timeline p { margin: 0 0 var(--space-2); max-width: 62ch; }
.patch-timeline p:last-child { margin-bottom: 0; }
.patch-timeline a { display: inline-flex; align-items: center; min-height: 32px; }

/* Tables with a visible caption: one per weapon, Apex Attachment or attachment */
table.data-patch caption { padding: 10px 14px; font-size: var(--text-sm); font-weight: 700; color: var(--text); border-bottom: 1px solid var(--border-strong); }
table.data-patch td.chg { white-space: nowrap; }
table.data-patch td.chg[data-dir="increased"]::before { content: "\2191\00a0"; }
table.data-patch td.chg[data-dir="decreased"]::before { content: "\2193\00a0"; }
table.data-patch td.chg[data-dir="unchanged"]::before { content: "=\00a0"; }
table.data-patch tbody th[scope="row"] { min-width: 11rem; }
.table-wrap + .table-wrap { margin-top: var(--space-3); }

.cell-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-1); }
.data-hub td { min-width: 15rem; }

.patch-weapon + .patch-weapon, .patch-entry + .patch-entry { margin-top: var(--space-5); }
.patch-weapon h3, .patch-entry h3 { margin-bottom: var(--space-1); }
.patch-weapon > .table-wrap, .patch-entry > .table-wrap { margin-top: var(--space-3); }
.patch-weapon ul.plain-list, .patch-entry ul.plain-list { margin-top: var(--space-3); }

.patch-nav { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }
.patch-nav a { display: inline-flex; align-items: center; min-height: 44px; }

@media (max-width: 639px) {
  table.data-patch th, table.data-patch td { padding: 8px; }
  table.data-patch caption { padding: 8px; }
  table.data-patch tbody th[scope="row"] { min-width: 8rem; }
  .patch-timeline li { padding: var(--space-3); }
  .table-wrap:has(.data-hub) { overflow: visible; border: 0; border-radius: 0; background: none; }
  table.data-hub, .data-hub tbody, .data-hub tr, .data-hub th, .data-hub td { display: block; }
  .data-hub thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .data-hub tr { margin-bottom: var(--space-3); padding: var(--space-3) var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface-1); }
  table.data.data-hub th, table.data.data-hub td { padding: 4px 0; border: 0; min-width: 0; }
  .data-hub td::before { content: attr(data-label); display: block; margin-top: var(--space-2); font-size: var(--text-xs); font-weight: 700; color: var(--text-muted); }
  .data-hub td.empty { display: none; }
  .data-hub tbody tr:last-child { margin-bottom: 0; }
}
