/* ============================================================================
 * tokens.css — CLIB FDE V3.0 唯一设计令牌源（Single Source of Truth）
 * 基于 2.9.0.5（又基于 2.9.0）迭代 → 当前 3.0
 * 口径：indigo #4F6BED 唯一主色；全站仅本文件允许出现裸 hex 定义。
 * 本文件须在所有样式表之后加载，以 :root 级联统一旧变量并修复未定义令牌。
 * ========================================================================== */
:root {
  /* —— ① 品牌 —— */
  --brand:        #4F6BED;
  --brand-d:      #3D55D4;
  --brand-l:      #EEF1FD;
  --brand-weak:   rgba(79, 107, 237, .08);
  --brand-line:   rgba(79, 107, 237, .28);
  --brand-grad:   linear-gradient(135deg, #2F46B5, #4F6BED);

  /* —— ② 墨色 / 中性 —— */
  --ink:          #1D1D1F;
  --ink2:         #6E6E73;
  --ink3:         #8E8E93;   /* 装饰/占位；需可读的次级文字用 --ink2 */
  --line:         #E8E8ED;
  --line-2:       #D2D2D7;
  --bg:           #F7F8FA;
  --bg-2:         #F5F5F7;
  --card:         #FFFFFF;

  /* —— ③ 语义色 —— */
  --ok:           #1E7B37;
  --warn:         #8A5300;
  --danger:       #FF3B30;
  --info:         #4F6BED;
  --ok-weak:      #F2FBF5;
  --warn-weak:    #F0F3FB;
  --danger-weak:  rgba(224, 72, 61, .08);
  /* 优先级语义（P0 危险 / P1 警告 / P2 中性） */
  --p0:           #FF3B30;
  --p1:           #8A5300;
  --p2:           #8E8E93;

  /* —— ④ 间距（4px 基准） —— */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px;

  /* —— 圆角：小标签6 / 小卡8 / 控件10 / 次级容器12 / 卡片16 / 胶囊999 —— */
  --r-1: 14px;  --r-2: 14px;  --r-3: 14px; --r-4: 14px;
  --r-5: 18px; --r-pill: 999px;

  /* —— 阴影 —— */
  --shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);
  --shadow-md: 0 4px 12px rgba(16, 24, 40, .10);
  --shadow-lg: 0 12px 32px rgba(16, 24, 40, .14);

  /* —— 层级（补全此前未定义的 --z-*） —— */
  --z-base: 0;  --z-dropdown: 1000; --z-sticky: 1100;
  --z-modal: 1200; --z-toast: 1300;

  /* —— ⑤ 字号刻度（整数，禁小数；正文行高1.6 / 标题1.2） —— */
  --fs-xs: 11px;  --fs-sm: 13px;  --fs-base: 13px;
  --fs-btn: 15px; --fs-lg: 17px;  --fs-xl: 22px;
  --fs-2xl: 32px; --fs-h1: 32px;
  --lh-body: 1.6; --lh-head: 1.2;

  /* —— 动效（150–250ms） —— */
  --t-fast: 150ms; --t-base: 200ms; --t-slow: 250ms;
  --ease: cubic-bezier(.4, 0, .2, 1);

  /* —— 布局 —— */
  --wrap: 1180px;
  --control-h: 44px;
  --control-h-sm: 40px;

  /* ====================================================================
   * 兼容别名 A：现有组件使用的 --fde-* 名称 → 统一映射到规范令牌
   * ================================================================== */
  --fde-font: 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'Segoe UI',
              'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;

  --fde-navy: var(--brand);
  --fde-navy-2: var(--brand-d);
  --fde-blue: var(--brand);
  --fde-blue-weak: var(--brand-weak);
  --fde-blue-line: var(--brand-line);

  --fde-bg: var(--bg);
  --fde-surface: var(--card);
  --fde-surface-2: var(--bg-2);
  --fde-line: var(--line);
  --fde-line-2: var(--line-2);
  --fde-ink: var(--ink);
  --fde-ink-2: var(--ink2);
  --fde-ink-3: var(--ink3);
  --fde-on-navy: var(--brand-l);
  --fde-sub: var(--ink2);

  --fde-primary: var(--brand);
  --fde-success: var(--ok);
  --fde-warning: var(--warn);
  --fde-danger: var(--danger);
  --fde-green: var(--ok);
  --fde-success-weak: var(--ok-weak);
  --fde-warning-weak: var(--warn-weak);
  --fde-danger-weak: var(--danger-weak);

  --fde-fs-xs: var(--fs-xs);
  --fde-fs-sm: var(--fs-sm);
  --fde-fs-md: var(--fs-base);
  --fde-fs-lg: var(--fs-lg);
  --fde-fs-xl: var(--fs-xl);
  --fde-fs-2xl: var(--fs-2xl);

  --fde-sp-1: var(--space-1);
  --fde-sp-2: var(--space-2);
  --fde-sp-3: var(--space-3);
  --fde-sp-4: var(--space-4);
  --fde-sp-5: var(--space-5);
  --fde-sp-6: var(--space-6);
  --fde-space-2: var(--space-2);
  --fde-space-lg: var(--space-6);

  --fde-r-sm: var(--r-2);
  --fde-r-md: var(--r-4);
  --fde-r-lg: var(--r-5);

  --fde-shadow-1: var(--shadow-sm);
  --fde-shadow-2: var(--shadow-md);
  --fde-shadow-3: var(--shadow-lg);

  --fde-ease: var(--ease);
  /* FDE 工作区内部层级（相对其局部堆叠上下文，保持小值，避免与规范 --z-* 冲突） */
  --fde-z-dock: 30;
  --fde-z-modal: 100;
  --fde-z-toast: 110;

  /* ====================================================================
   * 兼容别名 B：旧 style.* 通用名（修复自引用 / 未定义）
   * ================================================================== */
  --primary: var(--brand);
  --primary-d: var(--brand-d);
  --primary-l: var(--brand-l);
  --dark-bg: var(--ink);
  --z-base: 0;
  --z-dropdown: 1000;
  --z-sticky: 1100;
  --z-modal: 1200;
  --z-toast: 1300;
}

/* 尊重“减少动态效果”：统一关闭非必要动画 */
@media (prefers-reduced-motion: reduce) {
  :root { --t-fast: 1ms; --t-base: 1ms; --t-slow: 1ms; }
}

/* ============================================================================
 * 全局元素守卫：确保旧样式表中的硬编码底色/墨色被统一（本文件最后加载，胜出）
 * 旧 clib-v3-tokens 用 body !important，故此处同样以 !important 统一。
 * ========================================================================== */
html { background-color: var(--bg) !important; }
body {
  background-color: var(--bg) !important;
  color: var(--ink) !important;
  line-height: var(--lh-body);
}
