:root { --accent: var(--color-accent-cyan); }

/* body 套用公式（_DESIGN-SYSTEM.md「body 套用公式」；header.css 不設 body 背景，須各工具自套）*/
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--font-sans, "Microsoft JhengHei", "Noto Sans TC", system-ui, sans-serif);
  background:
    var(--pattern-overlay),
    var(--pattern-scanline),
    var(--gradient-body, linear-gradient(135deg, #0d1b2a, #1a1f2e, #2b3450));
  background-attachment: fixed;
  color: var(--color-text, #e8eaf0);
  min-height: 100vh;
}

.codex-field-row {
  display: flex; flex-wrap: wrap; gap: var(--space-3, 12px);
  margin-bottom: var(--space-4, 16px);
}

#tableWrap.codex-tablet { padding: var(--space-4, 16px); }  /* 鐵則：≥16px 防 HUD bracket 壓內文 */

.rank-table {
  width: 100%; border-collapse: collapse; font-size: var(--fs-body);
}
.rank-table th, .rank-table td {
  padding: var(--space-2, 8px) var(--space-3, 12px);
  text-align: left; border-bottom: 1px solid var(--color-border, #2b3450);
}
.rank-table th[data-sort] { cursor: pointer; user-select: none; }
.rank-table th[data-sort]:hover { color: var(--accent); }
.rank-table tbody tr:hover { background: var(--color-surface-hover, #2b3450); }
.num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

/* 角色名 → 個人成績單（看起來像連結的 button）*/
.name-link {
  background: none; border: none; padding: 0; cursor: pointer;
  color: var(--accent); font: inherit; text-align: left;
}
.name-link:hover { text-decoration: underline; }

/* 個人成績單 modal 內表格（走 portal .codex-modal）*/
.profile-meta { margin-bottom: var(--space-3, 12px); }
.profile-table { width: 100%; border-collapse: collapse; font-size: var(--fs-body); }
.profile-table th, .profile-table td {
  padding: var(--space-2, 8px) var(--space-3, 12px);
  text-align: left; border-bottom: 1px solid var(--color-border, #2b3450);
}
