:root,[data-theme="dark"] {
  --bg: #0a0a0a; --bg2: #0d1117; --card: #161b22; --card2: #111820;
  --card-border: #21262d; --card-border2: #1a2332; --card-border3: #30363d;
  --text: #c9d1d9; --text-h: #e6edf3; --text-m: #8b949e; --text-d: #484f58;
  --green: #3fb950; --red: #f85149; --yellow: #d29922; --blue: #58a6ff;
  --purple: #bc8cff;
}
[data-theme="light"] {
  --bg: #ffffff; --bg2: #f6f8fa; --card: #f6f8fa; --card2: #ffffff;
  --card-border: #d0d7de; --card-border2: #d0d7de; --card-border3: #d0d7de;
  --text: #1f2328; --text-h: #1f2328; --text-m: #656d76; --text-d: #8b949e;
  --green: #1a7f37; --red: #cf222e; --yellow: #9a6700; --blue: #0969da;
  --purple: #8250df;
}

/* 主题切换按钮 */
.theme-toggle {
  position: fixed; top: 16px; right: 20px; z-index: 100;
  background: var(--card); border: 1px solid var(--card-border3);
  border-radius: 20px; padding: 6px 14px; cursor: pointer;
  font-size: 1em; color: var(--text); transition: all 0.2s;
}
.theme-toggle:hover { opacity: 0.8; }

/* 强制覆盖子页面的硬编码颜色 */
body {
  background: var(--bg) !important;
  color: var(--text) !important;
}
.ticket, .match, .header, .card, .matrix-inline,
.cumulative-panel, .pred-box, .cover, .toc,
.alert, .alert-r, .pred-box,
[style*="background:#0d1117"], [style*="background: #0d1117"],
[style*="background:#161b22"], [style*="background: #161b22"],
[style*="background:#111820"], [style*="background: #111820"],
[style*="background:#0a0e14"], [style*="background: #0a0e14"] {
  background: var(--card) !important;
}

/* 浅色模式下特殊元素 */
[data-theme="light"] th { background: #eaeef2 !important; color: #1f2328 !important; }
[data-theme="light"] .pred-box { background: linear-gradient(135deg,#eaeef2,#ffffff) !important; border-color: #d0d7de !important; }
[data-theme="light"] .alert { background: #fff8c5 !important; border-color: #d4a72c !important; }
[data-theme="light"] .alert-r { background: #ffebe9 !important; border-color: #cf222e44 !important; }
[data-theme="light"] .pred-score { color: #1f2328 !important; }
[data-theme="light"] tr:nth-child(even) td { background: #f6f8fa !important; }
[data-theme="light"] .tag-g { background: #dafbe1 !important; }
[data-theme="light"] .tag-r { background: #ffebe9 !important; }
[data-theme="light"] .tag-y { background: #fff8c5 !important; }
[data-theme="light"] .back-link { color: #0969da !important; }
[data-theme="light"] h1 { -webkit-text-fill-color: #1f2328 !important; }
.match-meta .meta-card, .stat-card, .section, .single-row,
[style*="background:#0d1117"], [style*="background: #0d1117"] {
  background: var(--card) !important;
}
.ticket, .match, .header, .card, .matrix-inline, .alert-box,
.cumulative-panel, .prediction, .toc {
  border-color: var(--card-border3) !important;
}
h1, h2, h3, .ticket-title, .match-header .teams, .header h1,
.prediction .score, [style*="color:#e6edf3"], [style*="color: #e6edf3"],
[style*="color:#f0f6fc"], [style*="color: #f0f6fc"] {
  color: var(--text-h) !important;
}
p, .sub, .meta, .section p, .section li,
[style*="color:#8b949e"], [style*="color: #8b949e"],
[style*="color:#b0b8c4"], [style*="color: #b0b8c4"],
[style*="color:#c9d1d9"], [style*="color: #c9d1d9"] {
  color: var(--text-m) !important;
}
.ticket-title, .match-teams, .comp-left, .comp-right,
[style*="color:#e6edf3"], [style*="color: #e6edf3"] {
  color: var(--text-h) !important;
}
