/* ============================================================
   码集 Codeset · 设计令牌 (Design Tokens)
   所有颜色使用 oklch，便于统一调和与换肤。
   强调色统一走 --cs-accent，可整站替换。
   ============================================================ */

:root {
  /* ---------- 强调色 Accent ---------- */
  --cs-accent:            oklch(0.52 0.20 264);              /* 靛蓝主强调色 */
  --cs-accent-hover:      oklch(0.48 0.20 264);              /* 悬停加深 */
  --cs-accent-weak:       color-mix(in oklab, var(--cs-accent) 11%, white);  /* 浅底（标签/选中背景）*/
  --cs-accent-weak-2:     color-mix(in oklab, var(--cs-accent) 8%, white);   /* 更浅（卡片选中底）*/
  --cs-accent-border:     color-mix(in oklab, var(--cs-accent) 40%, white);  /* 浅描边 */

  /* 备选强调色（换肤时替换 --cs-accent 即可）
     绿: oklch(0.55 0.16 150) · 橙红: oklch(0.58 0.18 25) · 紫: oklch(0.50 0.16 300) */

  /* ---------- 中性墨色 Ink / Neutral ---------- */
  --cs-ink:               oklch(0.22 0.012 268);            /* 近黑主文字 / 深色背景 */
  --cs-ink-2:             oklch(0.30 0.012 268);            /* 次级标题 */
  --cs-text:              oklch(0.34 0.012 268);            /* 正文 */
  --cs-text-soft:         oklch(0.42 0.012 268);            /* 次级正文 / 导航 */
  --cs-muted:             oklch(0.52 0.012 268);            /* 辅助说明 */
  --cs-muted-2:           oklch(0.60 0.010 268);            /* 更弱 */
  --cs-faint:             oklch(0.64 0.010 268);            /* 占位 / 时间戳 */
  --cs-placeholder:       oklch(0.70 0.010 268);            /* 输入占位符 */

  /* ---------- 表面 Surface ---------- */
  --cs-bg:                #ffffff;                          /* 页面主背景 / 卡片 */
  --cs-surface:           oklch(0.985 0.002 268);           /* 浅灰分区背景 */
  --cs-surface-2:         oklch(0.975 0.003 268);           /* 输入内嵌底 / 代码块底 */
  --cs-surface-3:         oklch(0.965 0.004 268);           /* 占位图底 */
  --cs-ink-surface:       oklch(0.20 0.012 268);            /* 深色区块（分销条 / 终端 / 登录左栏）*/
  --cs-ink-surface-2:     oklch(0.23 0.012 268);            /* 深色区块内卡片 */

  /* ---------- 描边 Border ---------- */
  --cs-border:            oklch(0.92 0.005 268);            /* 默认卡片描边 */
  --cs-border-strong:     oklch(0.90 0.005 268);            /* 输入框 / 强描边 */
  --cs-border-faint:      oklch(0.94 0.005 268);            /* 分隔线 */
  --cs-border-faint-2:    oklch(0.95 0.004 268);            /* 表格行分隔 */
  --cs-border-dark:       oklch(0.30 0.012 268);            /* 深色区块内描边 */

  /* ---------- 语义色 Semantic ---------- */
  --cs-success:           oklch(0.50 0.15 150);
  --cs-success-weak:      color-mix(in oklab, oklch(0.55 0.16 150) 14%, white);
  --cs-warning:           oklch(0.60 0.13 70);
  --cs-warning-weak:      color-mix(in oklab, oklch(0.62 0.14 70) 14%, white);
  --cs-danger:            oklch(0.55 0.13 25);
  --cs-danger-weak:       color-mix(in oklab, oklch(0.60 0.13 25) 9%, white);
  --cs-star:              oklch(0.62 0.10 70);              /* 评分星色 */

  /* ---------- 字体 Typography ---------- */
  --cs-font-sans:  'Hanken Grotesk', 'Noto Sans SC', system-ui, -apple-system, sans-serif;
  --cs-font-mono:  'JetBrains Mono', 'Noto Sans SC', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  /* 西文标题/正文 Hanken Grotesk · 中文 Noto Sans SC · 价格/激活码/标签/时间 JetBrains Mono */

  /* 字号 scale */
  --cs-text-xs:    12px;
  --cs-text-sm:    13px;
  --cs-text-base:  14px;
  --cs-text-md:    15px;
  --cs-text-lg:    17px;
  --cs-text-xl:    20px;
  --cs-text-2xl:   26px;   /* 区块小标题 */
  --cs-text-3xl:   30px;   /* 区块大标题 */
  --cs-text-4xl:   38px;   /* 页面标题 */
  --cs-text-5xl:   46px;
  --cs-text-6xl:   60px;   /* Hero */

  /* 字重 */
  --cs-fw-normal:   400;
  --cs-fw-medium:   500;
  --cs-fw-semibold: 600;
  --cs-fw-bold:     700;
  --cs-fw-black:    800;   /* 标题统一用 800 */

  /* 标题字距（负字距收紧）*/
  --cs-tracking-tight:  -0.02em;
  --cs-tracking-tighter: -0.03em;
  --cs-tracking-mono:   0.04em;   /* 等宽字正字距（激活码）*/
  --cs-tracking-label:  0.16em;   /* 全大写 mono 小标签 */

  /* 行高 */
  --cs-leading-tight:   1.1;
  --cs-leading-snug:    1.3;
  --cs-leading-normal:  1.6;
  --cs-leading-relaxed: 1.8;

  /* ---------- 间距 Spacing ---------- */
  --cs-space-1:  4px;
  --cs-space-2:  8px;
  --cs-space-3:  12px;
  --cs-space-4:  16px;
  --cs-space-5:  20px;
  --cs-space-6:  24px;
  --cs-space-8:  32px;
  --cs-space-10: 40px;
  --cs-space-12: 48px;
  --cs-space-16: 64px;
  --cs-space-20: 80px;

  /* 容器宽度 */
  --cs-container:      1200px;   /* 营销页主容器 */
  --cs-container-wide: 1240px;   /* 控制台容器 */
  --cs-container-doc:  760px;    /* 文章 / 文档正文 */
  --cs-page-pad:       40px;     /* 容器左右内边距 */

  /* ---------- 圆角 Radius ---------- */
  --cs-radius-sm:  6px;    /* 标签 / chip */
  --cs-radius-md:  9px;    /* 小按钮 / 输入内联 */
  --cs-radius-lg:  11px;   /* 按钮 / 输入框 */
  --cs-radius-xl:  14px;   /* 卡片 */
  --cs-radius-2xl: 16px;   /* 大卡片 / 面板 */
  --cs-radius-3xl: 18px;   /* 定价卡 / 弹窗 */
  --cs-radius-pill: 20px;  /* 胶囊徽章 */
  --cs-radius-full: 9999px;

  /* ---------- 阴影 Shadow ---------- */
  --cs-shadow-xs:    0 1px 2px rgba(20,22,30,0.03);
  --cs-shadow-sm:    0 1px 3px rgba(20,22,30,0.12);
  --cs-shadow-card:  0 1px 2px rgba(20,22,30,0.03), 0 18px 40px -28px rgba(20,22,30,0.18);
  --cs-shadow-hover: 0 20px 44px -24px rgba(20,22,30,0.24);
  --cs-shadow-lg:    0 24px 60px -34px rgba(20,22,30,0.28);
  --cs-shadow-modal: 0 40px 80px -30px rgba(20,22,30,0.5);
  --cs-shadow-accent: 0 20px 50px -30px color-mix(in oklab, var(--cs-accent) 50%, transparent);

  /* ---------- 动效 Motion ---------- */
  --cs-transition-fast: 0.15s ease;
  --cs-transition:      0.2s ease;
  --cs-lift:            translateY(-4px);   /* 卡片悬停上浮 */

  /* ---------- 占位斜纹图底（产品预览图占位）---------- */
  --cs-hatch: repeating-linear-gradient(135deg, transparent, transparent 9px, oklch(0.92 0.006 268) 9px, oklch(0.92 0.006 268) 10px);
}
