/* tokens.css — 设计令牌：算法与数据结构 → 逻辑·结构·精密·连接 */
:root {
  color-scheme: light dark;
  --c-primary: #3b5bdb;
  --c-primary-deep: #2c47a8;
  --c-accent: #0ca678;
  --c-bg: #f5f6fa;
  --c-surface: #ffffff;
  --c-surface2: #edeff6;
  --c-text: #1c2333;
  --c-text-soft: #4a546c;
  --c-border: #d9dde9;
  --c-code-bg: #eef0f7;
  --c-pre-bg: #141b30;
  --c-pre-text: #dce3f4;
  --edge: #b9c0d6;
  --shadow-1: 0 1px 3px rgba(18, 26, 48, 0.08);
  --shadow-2: 0 10px 28px rgba(18, 26, 48, 0.12);
  /* 难度配色（浅色） */
  --lv-a-bg: #e2f3e6; --lv-a-fg: #1e7a36;
  --lv-b-bg: #e7ecfd; --lv-b-fg: #2b46b8;
  --lv-c-bg: #fdeee1; --lv-c-fg: #a34d00;
  --lv-d-bg: #f5e7fa; --lv-d-fg: #83309b;
  --font-ui: system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "JetBrains Mono", monospace;
  --radius-s: 6px;
  --radius-m: 10px;
  --radius-l: 16px;
  --t-fast: 120ms;
  --t-med: 220ms;
  --ease: cubic-bezier(0.2, 0.7, 0.3, 1);
  --maxw: 1000px;
}
[data-theme="dark"] {
  color-scheme: dark;
  --c-primary: #8aa2ff;
  --c-primary-deep: #a5b6ff;
  --c-accent: #3fd0a4;
  --c-bg: #0d1120;
  --c-surface: #151b2e;
  --c-surface2: #1b2340;
  --c-text: #e7eaf4;
  --c-text-soft: #a9b2ca;
  --c-border: #2b3557;
  --c-code-bg: #1a2140;
  --c-pre-bg: #0a0e1d;
  --c-pre-text: #d5ddf2;
  --edge: #3a4570;
  --shadow-1: 0 1px 3px rgba(0, 0, 0, 0.5);
  --shadow-2: 0 10px 28px rgba(0, 0, 0, 0.55);
  /* 难度配色（深色：独立取色，非反色） */
  --lv-a-bg: #16321e; --lv-a-fg: #6fd58a;
  --lv-b-bg: #1d2a58; --lv-b-fg: #93a9ff;
  --lv-c-bg: #38230f; --lv-c-fg: #ffa94d;
  --lv-d-bg: #33173d; --lv-d-fg: #e29af5;
}
[data-level="入门"] { --lvbg: var(--lv-a-bg); --lvfg: var(--lv-a-fg); }
[data-level="核心"] { --lvbg: var(--lv-b-bg); --lvfg: var(--lv-b-fg); }
[data-level="进阶"] { --lvbg: var(--lv-c-bg); --lvfg: var(--lv-c-fg); }
[data-level="前沿"] { --lvbg: var(--lv-d-bg); --lvfg: var(--lv-d-fg); }
/* 模块微差：色相偏移的强调色 */
.mod-a { --mod-accent: #3b5bdb; }
.mod-b { --mod-accent: #0b7285; }
.mod-c { --mod-accent: #2f9e44; }
.mod-d { --mod-accent: #e8590c; }
.mod-e { --mod-accent: #9c36b5; }
.mod-f { --mod-accent: #c2255c; }
.mod-g { --mod-accent: #5f3dc4; }
[data-theme="dark"] .mod-a { --mod-accent: #8aa2ff; }
[data-theme="dark"] .mod-b { --mod-accent: #66d9e8; }
[data-theme="dark"] .mod-c { --mod-accent: #69db7c; }
[data-theme="dark"] .mod-d { --mod-accent: #ffa94d; }
[data-theme="dark"] .mod-e { --mod-accent: #e599f7; }
[data-theme="dark"] .mod-f { --mod-accent: #f783ac; }
[data-theme="dark"] .mod-g { --mod-accent: #b3a2ff; }
