/* tokens.css — 设计 token 三层：primitive → role/semantic → component */
  /* ============================================================
     设计 token — 三层：primitive → role/semantic → component
     原则：一色一义。每个颜色只承担一个职责，看色即可辨义。
     ============================================================ */
  :root {
    /* —— L1 primitive：中性纸面与墨色（无语义，仅原料）—— */
    --paper:        #f7f5f0;
    --paper-raised: #fdfcfa;
    --ink:          #1a1d24;
    --ink-soft:     #4a4f5a;
    --ink-faint:    #8b8f99;
    --line:         #e4e0d8;
    --line-strong:  #cfc9bd;

    /* primitive 色相板（裸色值只在此处出现；语义层一律引用）*/
    --c-navy:       #1d3a8a;  --c-navy-soft: #2d4ba0;  --c-navy-wash: #eef1f8;
    --c-orange:     #c2671a;  --c-orange-wash: #fbf1e6;
    --c-gold:       #9a7b34;  --c-gold-deep: #876a2a;  --c-gold-wash: #fbf6e9;
    --c-green:      #1f7a4d;  --c-green-wash: #f0f9f4;
    --c-red:        #b03a3a;  --c-red-wash: #fef2f2;
    --c-amber:      #b8860b;  --c-amber-wash: #fbf3e7;  /* warn：琥珀，与 gold 拉开 */
    --c-teal:       #0e7490;  --c-teal-wash: #e3eef1;   /* info：青，与 brand navy 拉开（AI 输出信息卡）*/

    /* —— L2 role：四类强调角色，各司一职 —— */
    --brand:        var(--c-navy);       /* 品牌/交互/链接/选中/用户身份 */
    --brand-soft:   var(--c-navy-soft);
    --brand-wash:   var(--c-navy-wash);
    --ai:           var(--c-orange);     /* 仅 AI 身份 */
    --ai-wash:      var(--c-orange-wash);
    --accent:       var(--c-gold);       /* 仅强调/锚点标注 */
    --accent-deep:  var(--c-gold-deep);
    --accent-wash:  var(--c-gold-wash);
    --up:           var(--c-green);      /* 仅数字涨跌 */
    --down:         var(--c-red);

    /* —— L2 status：四态 + 中性，仅表示流程状态 —— */
    --st-info:      var(--c-teal);    --st-info-wash:    var(--c-teal-wash);
    --st-success:   var(--c-green);   --st-success-wash: var(--c-green-wash);
    --st-warn:      var(--c-amber);   --st-warn-wash:    var(--c-amber-wash);
    --st-danger:    var(--c-red);     --st-danger-wash:  var(--c-red-wash);
    --st-neutral:   var(--ink-faint); --st-neutral-wash: var(--paper-raised);

    /* —— 基础别名 —— */
    --bg: var(--paper);
    --surface: var(--paper-raised);
    --text: var(--ink);
    --text-muted: var(--ink-soft);
    /* 向后兼容：旧代码里的 var(--navy)/var(--gold)/var(--orange) 仍可用 */
    --navy: var(--brand);  --navy-soft: var(--brand-soft);  --navy-wash: var(--brand-wash);
    --gold: var(--accent);  --orange: var(--ai);

    --serif: Georgia, "Times New Roman", "Songti SC", "宋体", serif;
    --sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", sans-serif;
    --mono: "SF Mono", ui-monospace, "Menlo", monospace;

    --gap-xs: clamp(4px, 0.4vw, 6px);
    --gap-sm: clamp(8px, 0.8vw, 12px);
    --gap-md: clamp(16px, 1.6vw, 24px);
    --gap-lg: clamp(28px, 3.2vw, 48px);
    --gap-xl: clamp(48px, 6vw, 88px);

    /* —— 度量 token —— */
    --r-sm: 2px;       /* 输入框/按钮/小元件 */
    --r-md: 3px;       /* 卡片/容器 */
    --r-pill: 999px;   /* chip 标签物 */
    --bw-hair: 1px;    /* 分隔细线 */
    --bw: 1.5px;       /* 表单/描边 */
    --bw-edge: 3px;    /* 卡片语义左边条（统一）*/
    --label-size: 10px;
    --label-tracking: 0.08em;

    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  }
