/* tokens.css —— 全站单一令牌源（M7 判据：颜色/字号只许出现在本文件）
 *
 * 结构令牌沿用内部设计系统的刻度体系；
 * 品牌与氛围令牌按内部营销组件规范的固定变量名落值。
 *
 * 色值来源与定夺依据（可复算，非形容词）：
 *   主色阶 = 色板派生脚本实跑输出，无 warning、50→900 亮度单调。
 *   为何不用 #0C4E2B 作色阶锚点：派生时触发告警「主色过暗(L<25%)」，且 500→600 亮度反向断裂。
 *   为何按钮填充用 700 而非 500/600：白字对比度实算 500=3.06:1、600=3.61:1 均未达 AA 4.5:1，
 *   700 #4E7A25 = 5.08:1 通过。数值定夺，不接受「看起来够深」。
 */

:root {
  /* ── 主色阶（generate-palette.js 派生，勿手改单个阶）─────────── */
  --c-primary-50:  #F5F8F2;
  --c-primary-100: #E8F1DF;
  --c-primary-200: #D0EAB8;
  --c-primary-300: #ACD982;
  --c-primary-400: #8ACA4F;
  --c-primary-500: #68A331;
  --c-primary-600: #5F952D;
  --c-primary-700: #4E7A25;
  --c-primary-800: #3C5E1C;
  --c-primary-900: #283F13;

  /* ── 品牌深色（矢量原稿经 ICC 实转的 6 档，用作深色区固定令牌）── */
  --c-brand-deepest: #0C4E2B;   /* 白字 9.81:1 */
  --c-brand-deep:    #0D6C37;   /* 白字 6.53:1 */
  --c-brand-mid:     #3F6E34;   /* 白字 6.01:1 */
  --c-brand-bright:  #7FBF3C;   /* 仅作强调高光，不承载文字 */

  /* ── 氛围令牌（marketing-kit.md §二 固定变量名）───────────────
   * 本站取亮阶：§二 明示「暗底不是单一选项，亮底把 --bg-* 取亮阶即可，组件零改」。
   * 选亮底的理由：受众是企业 IT 负责人与采购，暗底科技风易读成 AI 创业公司观感。 */
  --bg-0: #FFFFFF;              /* 页底 */
  --bg-1: #F7FAF6;              /* 区块交替底 */
  --bg-2: #F0F5EC;              /* 卡面 */
  --bg-3: var(--c-primary-50);  /* 强调软底 */
  --bg-dark: var(--c-brand-deepest);

  --ac:      var(--c-primary-700);   /* 主强调（承载白字） */
  --ac-l:    var(--c-primary-500);   /* 亮变体（边框/图标/大字） */
  --ac-d:    var(--c-primary-800);   /* 暗变体（hover） */
  --ac-glow: rgba(78, 122, 37, 0.18);
  --ac-sub:  rgba(104, 163, 49, 0.10);
  --sec:      var(--c-brand-deep);
  --sec-glow: rgba(13, 108, 55, 0.12);

  /* 文本层级（亮底上的深色阶，均已实算 ≥4.5:1） */
  --t-1: #1A2B21;   /* 主文本 14.88:1 */
  --t-2: #33513F;   /* 次文本  8.79:1 */
  --t-3: #5A6B60;   /* 弱文本  5.67:1 */
  --t-4: #7C8A82;   /* 极弱（仅用于非文本装饰，不承载正文） */
  --t-on-dark:   #FFFFFF;
  --t-on-dark-2: rgba(255, 255, 255, 0.82);

  /* 边框：控件边框需 ≥3:1，装饰分隔线不受此限 */
  --bd-control: #6E8177;
  --bd-line:    #E2E9E4;
  --bd-strong:  #C4D2C9;

  /* 玻璃拟态 */
  --g-bg:   rgba(255, 255, 255, 0.82);
  --g-bd:   rgba(26, 43, 33, 0.08);
  --g-blur: 12px;

  /* 深色区上的面/边/遮罩（避免在 site.css 里散落 rgba 裸值） */
  --surface-on-dark: rgba(255, 255, 255, 0.06);
  --bd-on-dark:      rgba(255, 255, 255, 0.14);
  --tag-bg-on-dark:  rgba(255, 255, 255, 0.10);
  --mask-bg:         rgba(26, 43, 33, 0.45);

  /* 状态色 */
  --c-warn: #8A6D1F;
  --c-warn-bg: #FBF6E7;

  /* ── 间距刻度 ───────────────────────────────────────────────
   * 沿用 design-system 的 --s-1..--s-10；补 --s-11
   * 原因：营销站 section 大留白需 >64px 的档位，而上游 tokens.css 止于 --s-10:64px，
   *      其 page-landing.html 却引用了未定义的 --s-11（已作为缺陷记入 dogfood）。*/
  --s-1: 4px;  --s-2: 8px;   --s-3: 12px; --s-4: 16px;  --s-5: 20px;
  --s-6: 24px; --s-7: 32px;  --s-8: 40px; --s-9: 48px;  --s-10: 64px;
  --s-11: 96px; --s-12: 140px;

  /* 圆角 */
  --r-xs: 4px; --r-sm: 6px; --r-md: 10px; --r-lg: 16px; --r-full: 999px;

  /* 字号刻度 */
  --fs-xs: 13px; --fs-sm: 14px; --fs-base: 16px; --fs-md: 18px;
  --fs-lg: 22px; --fs-xl: 28px; --fs-2xl: 36px; --fs-3xl: 48px; --fs-4xl: 60px;
  --lh-tight: 1.2; --lh-base: 1.7;

  /* 字族：不外链、不自托管，走系统栈（交付态零第三方依赖是硬约束） */
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei",
               "PingFang SC", "Hiragino Sans GB", "Source Han Sans SC",
               "Noto Sans CJK SC", sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;

  /* 动效时长（M3：单个 ≤400ms） */
  --t-fast: 0.16s; --t-base: 0.24s; --t-slow: 0.4s;
  --ease-out:    cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* 布局常量（marketing-kit.md §六） */
  --hdr: 72px;
  --max: 1200px;
  --sec-py: var(--s-12);
  --wrap-px: var(--s-7);

  /* 阴影 */
  --sh-1: 0 1px 2px rgba(26, 43, 33, 0.06);
  --sh-2: 0 4px 16px rgba(26, 43, 33, 0.08);
  --sh-3: 0 12px 32px rgba(26, 43, 33, 0.10);
}

/* 减动降级：全库降 1ms（marketing-kit.md §五 硬规则） */
@media (prefers-reduced-motion: reduce) {
  :root { --t-fast: 1ms; --t-base: 1ms; --t-slow: 1ms; }
}

@media (max-width: 768px) {
  :root { --sec-py: var(--s-11); --wrap-px: var(--s-5); --hdr: 60px; }
}

/* AI 重塑主题：沿用品牌绿色，新增深色界面的语义映射。
 * 上方保留原始品牌色板；下列为当前全站呈现令牌。
 */
:root {
  color-scheme: dark;
  --bg-0: #0B100E;
  --bg-1: #101713;
  --bg-2: #17201B;
  --bg-3: #1A2B20;
  --bg-dark: #0E1812;
  --ac: #B3ED85;
  --ac-l: #C7F5A4;
  --ac-d: #C7F5A4;
  --ac-glow: rgba(127, 191, 60, .10);
  --ac-sub: rgba(127, 191, 60, .15);
  --sec: #92CFA3;
  --sec-glow: rgba(13, 108, 55, .20);
  --t-1: #F2F5F1;
  --t-2: #B9C5BC;
  --t-3: #94A69A;
  --t-4: #6F8174;
  --t-on-dark: #F2F5F1;
  --t-on-dark-2: #B9C5BC;
  --bd-line: #26352C;
  --bd-strong: #3D5143;
  --bd-control: #6E8776;
  --bd-on-dark: #304436;
  --g-bg: rgba(11, 16, 14, .94);
  --g-bd: #26352C;
  --mask-bg: rgba(0, 0, 0, .72);
  --surface-on-dark: rgba(255, 255, 255, .025);
  --tag-bg-on-dark: #203223;
  --c-warn: #E2C38A;
  --c-warn-bg: #29251A;
  --c-primary-50: #1A2B20;
  --ink: #0B100E;
  --logo-paper: #FFFFFF;
  --grid-line: rgba(148, 166, 154, .07);
  --shadow-heavy: rgba(0, 0, 0, .35);
  --sh-1: 0 1px 2px rgba(0, 0, 0, .12);
  --sh-2: 0 4px 16px rgba(0, 0, 0, .16);
  --sh-3: 0 12px 32px rgba(0, 0, 0, .20);
  --fs-display: 76px;
  --fs-hero-medium: 60px;
  --fs-hero-mobile: 54px;
  --fs-micro: 11px;
  --max-wide: 1320px;
}
