/* ============ 复利成长助手 · base.css：token/重置/排版 ============ */
:root {
  --font: system-ui, -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --radius: 14px;
  --radius-sm: 8px;
  --gap: 14px;
  --shadow: 0 6px 24px rgba(0,0,0,.18);
  --shadow-sm: 0 2px 8px rgba(0,0,0,.12);
  --speed: .18s;
  /* 主题变量在 themes.css 中按 data-theme 覆盖 */
  --bg: #0f1a14;
  --bg-soft: #12211a;
  --panel: #17251e;
  --panel-2: #1e2f26;
  --line: rgba(255,255,255,.08);
  --text: #e6f2ea;
  --text-2: #9db8a9;
  --text-3: #6b8577;
  --accent: #34d399;
  --accent-2: #a7f3d0;
  --accent-dim: rgba(52,211,153,.14);
  --danger: #f87171;
  --warn: #fbbf24;
  --gold: #f5c25c;
  --chart-1: #34d399; --chart-2: #60a5fa; --chart-3: #fbbf24; --chart-4: #f472b6;
  --chart-5: #a78bfa; --chart-6: #2dd4bf; --chart-7: #f87171; --chart-8: #fb923c;
  --chart-9: #a3e635; --chart-10: #e879f9; --chart-11: #94a3b8;
}
html { height: 100%; }
* { box-sizing: border-box; }
body {
  margin: 0; padding: 0;
  min-height: 100%;
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--accent); text-decoration: none; }
h1,h2,h3,h4 { margin: 0 0 .5em; font-weight: 700; line-height: 1.3; }
p { margin: 0 0 .6em; }
button { font-family: inherit; cursor: pointer; }
input, select, textarea {
  font-family: inherit; font-size: 14px; color: var(--text);
  background: var(--bg-soft); border: 1px solid var(--line);
  border-radius: var(--radius-sm); padding: 8px 10px; outline: none;
}
input:focus, select:focus, textarea:focus { border-color: var(--accent); }
textarea { resize: vertical; min-height: 64px; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: var(--line); border-radius: 4px; }
::-webkit-scrollbar-track { background: transparent; }
.muted { color: var(--text-2); }
.small { font-size: 12.5px; }
.gold { color: var(--gold); }
.center { text-align: center; }
.nowrap { white-space: nowrap; }
.hidden { display: none !important; }