/* Design System v1.1 — tokens ONLY.
   全站唯一的颜色 / 字号 / 间距来源。其他任何文件禁止出现裸色值、裸字号、裸间距。
   (验收 grep: #fff #000 13px 15px margin: 10px → 全站归零，数据可视化色板只在这里。)

   三条宪法：
   1. 诚实优先于精致 — synthetic / unvalidated 标记永不为美观弱化。
   2. 控制与统一 — 系统外的颜色/字号/间距一律禁止；不用阴影堆层次，
      用明度差 + 1px 细线。
   3. 极致排版对比 — 超大特粗标题 + 极小灰色辅助信息。

   Data-viz 附录：风险带 P1/P2/P3 与热力梯共用语义色三锚点
   (P1=error 红 / P2=warning 琥珀 / P3=success 绿)，没有第四套图表色。
   语义色只允许用于文字和 10% alpha 浅底框 — 大面积填充和 1px 实线描边都不行。
*/

:root {
  color-scheme: light;

  /* ── surfaces ─────────────────────────────────────────────── */
  --bg-page: #F2F2EF;
  --bg-surface: #FAFAF8;
  --bg-inverse: #1A1A1A;

  /* ── text ─────────────────────────────────────────────────── */
  --text-primary: #1A1A1A;
  --text-secondary: #5C5C5C;
  --text-tertiary: #767676;
  --text-inverse: #F2F2EF;

  /* ── lines（1px 细线切分，代替阴影）───────────────────────── */
  --line-subtle: #E2E2DD;
  --line-strong: #1A1A1A;

  /* ── semantic（仅文字 + 10% alpha 浅底；同透明度）────────── */
  --success: #2F6B3F;
  --warning: #B07D2B;
  --error: #A03B2B;
  --success-bg: rgba(47, 107, 63, 0.1);
  --warning-bg: rgba(176, 125, 43, 0.1);
  --error-bg: rgba(160, 59, 43, 0.1);

  /* ── data-viz 附录（风险带 / 热力梯）──────────────────────── */
  --band-p1: var(--error);
  --band-p2: var(--warning);
  --band-p3: var(--success);
  --band-none: var(--text-tertiary);
  /* 热力梯 5 档 = 三个语义锚点 + 两个中间插值（srgb 中点）。
     色板只在本文件定义 — JS 一律经 OSCloud.token() 读取。 */
  --heat-1: var(--band-p3);
  --heat-2: #6F7335;
  --heat-3: var(--band-p2);
  --heat-4: #A85C2B;
  --heat-5: var(--band-p1);

  /* ── type（6 档，只有 6 档）──────────────────────────────── */
  --font: Inter, "Helvetica Neue", Helvetica, "Source Han Sans SC",
          "Noto Sans SC", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  --font-mono: "SF Mono", "Cascadia Mono", Consolas, "Liberation Mono", monospace;
  --fs-display: 40px;  --lh-display: 48px;
  --fs-xl: 28px;       --lh-xl: 36px;
  --fs-lg: 20px;       --lh-lg: 28px;
  --fs-base: 16px;     --lh-base: 24px;
  --fs-sm: 14px;       --lh-sm: 20px;
  --fs-xs: 12px;       --lh-xs: 16px;
  --fw-title: 800;
  --fw-aux: 400;
  --track-title: -0.02em;  /* EN 标题 */
  --track-aux: 0.05em;     /* EN 辅助 */

  /* ── space（只有 7 档；移动端统一 × 0.75）────────────────── */
  --sp-scale: 1;
  --sp-1: calc(4px * var(--sp-scale));
  --sp-2: calc(8px * var(--sp-scale));
  --sp-3: calc(12px * var(--sp-scale));
  --sp-4: calc(16px * var(--sp-scale));
  --sp-5: calc(24px * var(--sp-scale));
  --sp-6: calc(32px * var(--sp-scale));
  --sp-7: calc(48px * var(--sp-scale));

  /* ── shape / motion / elevation ───────────────────────────── */
  --radius-tag: 2px;
  --radius-card: 4px;
  --dur: 150ms;
  --ease: ease-out;
  /* 全站禁用阴影；唯一例外 = 浮层（Drawer / Toast），且只有这一档。 */
  --shadow-float: 0 8px 24px rgba(0, 0, 0, 0.06);

  /* ── layout（结构尺寸，不属于视觉规范）──────────────────── */
  --shell-max: 1800px;
  --sidebar-w: 220px;
}

@media (max-width: 768px) {
  :root {
    --sp-scale: 0.75;
    --fs-display: 28px;
    --lh-display: 36px;
  }
}
