/**
 * 设计系统 CSS 变量（工单 W1-03 产出 1）
 * 与 src/ui/tokens/palette.ts 一一对应（tokens.test.ts 会校验一致性）。
 * 全局约束：无 border-radius、阴影 blur 恒 0、颜色全部来自 32 色调色板。
 */

/* Fusion Pixel 12px（OFL），子集化 woff2，自托管于 public/fonts/ */
@font-face {
  font-family: 'Fusion Pixel 12px';
  src: url('/fonts/fusion-pixel-12px-monospaced.subset.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

:root {
  /* ── 中性 8 ── */
  --ds-paper: #F2E8D5;
  --ds-panel: #FBF4E4;
  --ds-floor: #E0CFAD;
  --ds-wall: #C9B28A;
  --ds-mute: #726346;
  --ds-ink-1: #211810;
  --ds-ink-2: #66543B;
  --ds-ink-inv: #FFF8E7;

  /* ── ramp：ember 暖橙（品牌）── */
  --ds-ember-1: #8C3A1E;
  --ds-ember-2: #D95F2B;
  --ds-ember-3: #F08A4B;
  --ds-ember-4: #FFC08A;

  /* ── ramp：azure 蓝（交互/焦点）── */
  --ds-azure-1: #1E4E8C;
  --ds-azure-2: #2467B6;
  --ds-azure-3: #5FA8F0;
  --ds-azure-4: #A8D4FF;

  /* ── ramp：violet 紫（经验/技能）── */
  --ds-violet-1: #5B2E8C;
  --ds-violet-2: #8A4FD9;
  --ds-violet-3: #B78AF0;
  --ds-violet-4: #DCC4FF;

  /* ── ramp：jade 青绿（电力/资源）── */
  --ds-jade-1: #1E6E5C;
  --ds-jade-2: #2BA883;
  --ds-jade-3: #5FD0A8;
  --ds-jade-4: #A8ECD2;

  /* ── 语义 4 ── */
  --ds-success: #2E733B;
  --ds-warning: #8B6316;
  --ds-danger: #C22929;
  --ds-info: #4E6887;

  /* ── 稀有度 4 ── */
  --ds-rarity-n: #5E6A76;
  --ds-rarity-r: #4653C8;
  --ds-rarity-sr: #A031CA;
  --ds-rarity-ssr: #856600;

  /* ── 字体（产出 1.3）── */
  --ds-font-pixel: 'Fusion Pixel 12px', 'Zpix', monospace;
  /* 正文区例外（S05 稿件 / S11 盲测两稿正文）：高可读无衬线 */
  --ds-font-body: system-ui, 'PingFang SC', 'Microsoft YaHei', 'Noto Sans CJK SC', sans-serif;
  --ds-font-size-s: 12px;
  --ds-font-size-m: 24px;
  --ds-font-size-l: 36px;
  --ds-line-height-s: 16px;
  --ds-line-height-m: 32px;
  --ds-line-height-l: 44px;

  /* ── 高度与阴影（产出 1.4）：blur 恒 0，偏移为 4 的倍数 ── */
  --ds-shadow-1: 4px 4px 0 var(--ds-ink-1);
  --ds-shadow-2: 8px 8px 0 var(--ds-ink-1);
  /* 键盘焦点框：4px 硬环（L1 关键反馈，不可被动效开关关闭） */
  --ds-focus-ring: 0 0 0 4px var(--ds-azure-2);

  /* ── 动效（工单 W7-03 · PRD §9.4）──────────────────────
     顿帧时长阶梯：全部是 120ms 半拍的整数倍；曲线只有 steps()，
     不用连续缓动（短、脆、有顿挫）。与 motion.ts 一一对应。 ── */
  --ds-dur-tick: 120ms;
  --ds-dur-step: 240ms;
  --ds-dur-beat: 480ms;
  --ds-dur-phrase: 720ms;
  --ds-dur-cycle: 960ms;
  --ds-ease-snap: steps(2, jump-none);

  /* ── 4px 栅格 ── */
  --ds-space-1: 4px;
  --ds-space-2: 8px;
  --ds-space-3: 12px;
  --ds-space-4: 16px;
  --ds-space-6: 24px;
  --ds-space-8: 32px;
  --ds-space-12: 48px;
  --ds-space-16: 64px;
}
