/* ============ 泽润智言 · 设计令牌 ============
   转写自《泽润智言官网设计文档 v1》§4–§6、§10 与 tokens.json。
   纪律：组件内禁止裸色值 / 裸字号 / 裸间距，一律引用本文件令牌。
   2026-09-26 起为「青杉浅色」（参考 qoder.cn：森林绿主色 + 浅灰白底 + 近黑文字）；
   CTA 黑绿带与页脚为全站仅有的深色带，其反白文字在 home.css 内作用域覆写。 */

:root {
  /* ---- 字体族 ---- */
  --font-sans: "HarmonyOS Sans SC", "Source Han Sans SC", "MiSans", "Inter",
               system-ui, -apple-system, "Segoe UI", "PingFang SC",
               "Microsoft YaHei", sans-serif;
  --font-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace,
               "SFMono-Regular", Consolas, monospace;

  /* ---- 彩色预算（全站 4 色封顶 + 语义色）· 2026-09-26 起为「青杉浅色」方案 ---- */
  --brand: 154 55% 32%;           /* 森林绿：主按钮 / 链接 / 焦点环 */
  --brand-dim: 152 32% 36%;       /* 暗绿：图标 / 标签 / 装饰线 */
  --brand-deep: 154 60% 24%;      /* 仅渐变终点与 hover 加深 */
  --accent-action: 95 38% 40%;    /* 叶绿：执行 / 生成中 / 追问态 */
  --success: 150 45% 35%;         /* 通过 / 已修复 */
  --danger: 4 65% 50%;            /* 报错行 / 安全警告（须与图标文字同现）*/
  --warning: 38 90% 42%;          /* 版本差异 / QoS 提示 */

  /* ---- 浅色主题（唯一主题）---- */
  --bg-canvas: 100 14% 97%;       /* 页面底（浅灰白）*/
  --bg-surface: 120 16% 99%;      /* 区块交替底、卡片（近白）*/
  --bg-deep: 154 32% 12%;         /* 深绿带：CTA 段与页脚 */
  --bg-panel: 154 22% 14%;        /* 代码 / 终端 / 演示窗底（保持深色窗体）*/
  --bg-inset: 100 12% 93%;        /* 输入框、表头、hover 底 */
  --border-hairline: 120 10% 88%; /* 发丝分隔线 1px */
  --border-strong: 120 8% 76%;    /* 卡片强调描边、输入聚焦 */
  --text-primary: 160 16% 10%;    /* 标题、正文（近黑，对底 ≈15:1）*/
  --text-secondary: 155 8% 30%;   /* 说明文字 */
  --text-tertiary: 150 6% 46%;    /* 图注 / 时间戳 / 占位 */
  --text-inverse: 100 10% 97%;    /* 品牌底之上的文字 */
  --on-brand: 100 15% 97%;        /* 主按钮文字（绿底反白）*/
  --mark-arc: 154 55% 32%;        /* LOGO：关节轨迹弧（森林绿）*/
  --mark-cur: 95 38% 46%;         /* LOGO：末端光标（叶绿）*/
  --bg-chrome: 154 22% 18%;       /* 演示窗标题栏底 */
  --dot-idle: 154 12% 34%;        /* 演示窗红绿灯点 */

  /* ---- 代码高亮 8 色（暗亮共用一套）---- */
  --code-bg: 218 28% 7%;
  --code-fg: 213 16% 86%;
  --code-keyword: 320 62% 70%;
  --code-string: 95 42% 62%;
  --code-number: 28 82% 66%;
  --code-func: 205 88% 66%;
  --code-type: 45 85% 62%;
  --code-comment: 215 12% 52%;
  --code-inline: 154 50% 28%;     /* 行内代码文字（.ic / .md-inline-code / 帮助 code）*/
  --code-lineno: 154 8% 40%;      /* 代码窗行号 */

  /* ---- 派生令牌 ---- */
  --gradient-brand: linear-gradient(135deg, hsl(var(--brand)), hsl(var(--brand-deep)));
  --gradient-mesh:
    radial-gradient(60% 45% at 78% 6%, hsl(var(--brand) / .12), transparent 70%),
    radial-gradient(48% 38% at 8% 94%, hsl(var(--accent-action) / .06), transparent 70%);
  --shadow-color: 160 20% 30%;    /* 阴影专用墨绿底 */
  --shadow-1: 0 1px 2px hsl(var(--shadow-color) / .18);
  --shadow-2: 0 8px 24px -12px hsl(var(--shadow-color) / .25);
  --shadow-3: 0 24px 60px -20px hsl(var(--shadow-color) / .35);  /* 仅演示窗与浮层 */
  --overlay: 160 15% 10%;         /* 遮罩底色，配合 / .7 使用 */

  /* ---- 间距（8pt 体系，允许 4 半步）---- */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px; --space-10: 128px; --space-11: 160px; --space-12: 192px;
  --section-gap: 96px;            /* 区块间距：桌面 96 / 平板 72 / 手机 56（整页压缩版）*/

  /* ---- 圆角与描边 ---- */
  --radius-sm: 6px;               /* 按钮 / 输入 / 行内标签 */
  --radius-md: 10px;              /* 卡片 / Tab 面板 / 下拉 */
  --radius-lg: 16px;              /* 演示窗 / 大容器 */
  --radius-pill: 999px;

  /* ---- 布局 ---- */
  --container: 1320px;            /* 营销页容器 */
  --container-narrow: 1120px;     /* 文档内容区 */
  --chat-stream-w: 860px;         /* 对话流内容宽 */
  --nav-w: 264px;                 /* 会话侧栏（折叠 64）*/
  --nav-w-collapsed: 64px;
  --ctx-w: 280px;                 /* 上下文面板 */
  --page-pad: 32px;               /* 容器左右内边距：桌面 32 / 平板 24 / 手机 20 */
  --reading-w: 68ch;              /* 正文阅读宽 */
  --grid-gutter: 24px;
  --topbar-h: 64px;
  --topbar-h-scrolled: 56px;

  /* ---- 动效 ---- */
  --dur-1: 120ms;                 /* 按压 / hover 色变 */
  --dur-2: 180ms;                 /* 常规过渡 / 卡片浮起 */
  --dur-3: 240ms;                 /* 展开 / 抽屉 */
  --dur-4: 400ms;                 /* 区块进入（stagger 60ms，只播一次）*/
  --dur-5: 900ms;                 /* 首屏一次性绘制 */
  --ease-standard: cubic-bezier(.2, 0, .2, 1);
  --ease-decelerate: cubic-bezier(0, .7, .2, 1);   /* 入场 */
  --ease-accelerate: cubic-bezier(.4, 0, 1, 1);    /* 退场 */
}

/* ---- 断点响应令牌 ---- */
@media (max-width: 1024px) {
  :root { --page-pad: 24px; --section-gap: 72px; --ctx-w: 0px; }
}
@media (max-width: 768px) {
  :root { --page-pad: 20px; --section-gap: 56px; }
}
