:root {
  --bg: #110e17; --panel: #1a1622; --line: #2c2637;
  --fg: #ece9f1; --dim: #a29cb0; --faint: #726b82; --gold: #c4b5fd;
  --text: #d8d3e0; --on-accent: #18122a; --accent-soft: rgba(196,181,253,.45);
  color-scheme: dark;
}
/* 白天：Claude 式阅读风格——暖米白底、深灰字，强调紫加深保证对比度。theme.js 负责设 data-theme */
:root[data-theme="light"] {
  --bg: #faf9f5; --panel: #ffffff; --line: #e6e2d8;
  --fg: #1f1e1d; --dim: #57534b; --faint: #8a857a; --gold: #5b3fb0;
  --text: #2d2b27; --on-accent: #ffffff; --accent-soft: rgba(91,63,176,.35);
  color-scheme: light;
}
* { box-sizing: border-box; }
h1, h2, h3 { text-wrap: balance; }
p, li { text-wrap: pretty; }
body {
  margin: 0; background: var(--bg); color: var(--fg);
  font: 16px/1.72 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Noto Sans SC", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--gold); }
.wrap { width: min(820px, calc(100% - 40px)); margin: 0 auto; }
header { border-bottom: 1px solid var(--line); }
header .wrap { min-height: 66px; display: flex; align-items: center; gap: 18px; }
.brand { color: var(--fg); font-weight: 750; text-decoration: none; }
.brand b { color: var(--gold); }
nav { margin-left: auto; display: flex; align-items: center; gap: 14px; }
nav a { color: var(--dim); text-decoration: none; font-size: 14px; }
.theme-toggle { width: 32px; height: 30px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--dim); cursor: pointer; font-size: 14px; line-height: 1; }
.theme-toggle:hover { color: var(--fg); }
main { padding: 56px 0 72px; }
h1 { margin: 0 0 8px; font-size: clamp(30px, 6vw, 48px); line-height: 1.15; }
.updated { color: var(--faint); margin: 0 0 34px; }
.intro { font-size: 18px; color: var(--dim); border-left: 2px solid var(--gold); padding-left: 18px; }
section { padding-top: 25px; }
h2 { margin: 0 0 9px; font-size: 21px; }
h3 { margin: 18px 0 6px; font-size: 17px; }
p { margin: 0 0 12px; }
ul { margin: 8px 0 14px; padding-left: 23px; }
li { margin: 6px 0; }
.notice { margin-top: 22px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); color: var(--dim); }
.legal-nav { margin-top: 38px; padding-top: 22px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 14px; }
footer { border-top: 1px solid var(--line); padding: 28px 0 40px; color: var(--faint); font-size: 14px; }
@media (max-width: 620px) {
  header .wrap { flex-wrap: wrap; padding: 14px 0; }
  nav { width: 100%; margin-left: 0; gap: 11px; }
  nav a { font-size: 13px; }
  main { padding-top: 38px; }
}
