/* ============================================================================
 * OPC 平台 · base.css
 * Tier 1 —— 基础令牌（原始色阶 / 字体栈 / 空间与圆角比例）
 *
 * 铁律：
 *   1. 业务代码与组件库【禁止】直接引用本文件中的任何变量。
 *      它们的唯一消费者是 contract.css（语义层）与 skins/*.css。
 *   2. 本文件不含任何"含义"，只有原料。--c-teal-400 不代表"品牌色"，
 *      只代表"一个青绿色"。含义在语义层才被赋予。
 *   3. 改本文件 = 改所有皮肤的地基，必须全端回归。
 * ========================================================================== */

:root {
  /* ── 中性 · 暖（门户 / 后台 / OPC 端） ───────────────────────────────
     门户(#F4EEE5) 与 后台(#F4F2EC) 原本是两条独立色阶，实测只差 4 点色相。
     合并为一条 ramp，用不同步数区分，是整个方案里省下的最大一笔重复。 */
  --c-warm-000: #FFFDF9;
  --c-warm-050: #FBF7F0;
  --c-warm-100: #F6F1E7;   /* 门户底色 */
  --c-warm-150: #F4F2EC;   /* 后台底色 */
  --c-warm-200: #EFECE4;
  --c-warm-250: #ECE9DD;
  --c-warm-300: #E6E1D6;
  --c-warm-400: #DCD5C7;
  --c-warm-500: #8C8176;
  --c-warm-600: #75736D;
  --c-warm-700: #574C43;
  --c-warm-800: #3D3C38;
  --c-warm-900: #2A2420;

  /* ── 青绿（后台品牌 / OPC 端） ────────────────────────────────────── */
  --c-teal-050: #E3EEE8;
  --c-teal-100: #D3E5DC;
  --c-teal-200: #BFD5CA;
  --c-teal-400: #3B8B71;
  --c-teal-500: #2F7560;
  --c-teal-600: #2C6B57;
  --c-teal-700: #3F5C4C;
  --c-teal-800: #264A48;
  --c-teal-900: #1E3A39;

  /* ── 陶土（门户品牌） ─────────────────────────────────────────────── */
  --c-clay-050: #F6E3D8;
  --c-clay-100: #F1D8C9;
  --c-clay-300: #E2C2B4;
  --c-clay-500: #C45E3A;
  --c-clay-600: #A84D2D;

  /* ── 藏青（civic 变体 / 政府汇报场合） ───────────────────────────── */
  --c-navy-050: #E8EDF5;
  --c-navy-400: #4E7FB8;
  --c-navy-700: #1D3B6E;
  --c-navy-800: #15305B;

  /* ── 深色（大屏 / 投影环境） ─────────────────────────────────────── */
  --c-ink-000: #070C0B;
  --c-ink-050: #0B1311;
  --c-ink-100: #0F1916;
  --c-ink-150: #132019;
  --c-ink-200: #1C2A25;
  --c-ink-250: #24352E;
  --c-ink-800: #B6C6BF;
  --c-ink-900: #E9F2EE;

  /* ── 薄荷（大屏强调色：唯一能在投影上"发光"的色） ──────────────── */
  --c-mint-300: #6BF0C8;
  --c-mint-400: #3FE0B0;
  --c-mint-500: #2BBF94;
  --c-mint-600: #0FB3A3;

  /* ── 状态色（四端共用，不随皮肤变） ──────────────────────────────── */
  --c-red-050:   #FBE7E3;
  --c-red-500:   #D2554B;
  --c-red-600:   #C8372D;
  --c-amber-050: #FAF0DA;
  --c-amber-500: #DA9A2E;
  --c-amber-600: #B87C18;
  --c-blue-050:  #E6EEF8;
  --c-blue-500:  #4E7FB8;
  --c-violet-050:#EEEAF8;
  --c-violet-500:#8A76C7;

  /* ── 字体栈：全站统一黑体，不含任何 serif ────────────────────────────
     去掉宋体后，"标题感"由字重 + 字号 + 字距承担，不再由字体族承担。
     因此下面 --t-* 字号阶是硬绑定，皮肤只能调 --fs-body，不能调阶梯比例。 */
  --f-sans:
    -apple-system, BlinkMacSystemFont,
    "PingFang SC",                 /* macOS / iOS */
    "HarmonyOS Sans SC",           /* 华为 */
    "MiSans",                      /* 小米 */
    "Noto Sans SC",                /* Android / Linux */
    "Source Han Sans SC",
    "Microsoft YaHei",             /* Windows 兜底 */
    "Helvetica Neue", Arial, sans-serif;

  --f-mono:
    ui-monospace, SFMono-Regular, "SF Mono",
    "JetBrains Mono", Menlo, Consolas,
    "PingFang SC", monospace;      /* 中文注释字符不至于掉字 */

  /* ── 字号阶（比例 1.26 左右，去 serif 后必须更陡才分得出层级） ────── */
  --t-display: 44px;
  --t-h1:      32px;
  --t-h2:      24px;
  --t-h3:      19px;
  --t-h4:      16px;
  --t-body:    15px;
  --t-sm:      13px;
  --t-xs:      11.5px;

  --lh-display: 1.18;
  --lh-h1:      1.26;
  --lh-h2:      1.34;
  --lh-h3:      1.45;
  --lh-body:    1.72;
  --lh-sm:      1.6;

  --w-regular: 400;
  --w-medium:  500;
  --w-semi:    600;
  --w-bold:    700;

  --ls-display: -0.022em;
  --ls-h1:      -0.016em;
  --ls-h2:      -0.010em;
  --ls-caps:     0.12em;   /* 小字标签拉开字距，替代原来 serif 的"标识感" */

  /* ── 空间（4 的倍数） ─────────────────────────────────────────────── */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 24px;
  --s-6: 32px;
  --s-7: 48px;
  --s-8: 64px;
  --s-9: 96px;

  /* ── 圆角 / 层级 ──────────────────────────────────────────────────── */
  --r-xs: 4px;
  --r-sm: 6px;
  --r-md: 8px;
  --r-lg: 12px;
  --r-xl: 16px;
  --r-pill: 999px;

  --z-base: 0;
  --z-sticky: 100;
  --z-overlay: 200;
  --z-toast: 300;

  /* ── 动效 ─────────────────────────────────────────────────────────── */
  --ease: cubic-bezier(.2, .7, .3, 1);
  --dur-fast: 120ms;
  --dur-base: 200ms;
}
