/* ============================================================
   BrandOS 设计令牌 v4 · 微信风（WeUI 口径）
   唯一色彩来源：组件只允许引用本文件变量。
   UI 主色 = 微信绿 #07C160；海报内容色 = 品牌松绿（见 --poster-*）。
   明 / 暗两套主题，暗色经 [data-theme="dark"] 切换。
   ============================================================ */

:root {
  /* ---- 品牌 / 功能色（UI 层） ---- */
  --brand: #07C160;          /* 主按钮、选中态、强调 */
  --brand-press: #06AD56;    /* 按下 */
  --brand-soft: #E8F8EF;     /* 主色浅底 */
  --danger: #FA5151;
  --danger-soft: #FDEBEB;
  --warn: #FA9D3B;
  --warn-soft: #FDF3E7;
  --link: #10AEFF;
  --gold: #C9A227;           /* 点缀（会员、推荐标） */

  /* ---- 海报内容色（仅预览/导出海报内使用，不进入界面组件） ---- */
  --poster-pine: #1E7A46;
  --poster-pine-bright: #2E9159;
  --poster-gold: #C9A227;
  --poster-red: #C42A1F;

  /* ---- 中性色（浅色） ---- */
  --bg: #F7F7F7;             /* 页面灰底 */
  --card: #FFFFFF;           /* 卡片 */
  --card-2: #FAFAFA;         /* 卡片内嵌区块 */
  --topbar: #FFFFFF;
  --text: rgba(0, 0, 0, 0.90);
  --text-2: rgba(0, 0, 0, 0.55);
  --text-3: rgba(0, 0, 0, 0.35);
  --line: rgba(0, 0, 0, 0.08);
  --line-strong: rgba(0, 0, 0, 0.14);
  --mask: rgba(0, 0, 0, 0.55);
  --hover: rgba(0, 0, 0, 0.03);

  /* ---- 字体家族（全项目唯一栈：UI / 海报预览 / 导出 HTML 同口径） ---- */
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Helvetica Neue", Arial, sans-serif;

  /* ---- 文字令牌 v7（HIG 阶梯 ×0.9 整体缩小，2026-09-27 李叔定） ----
     每级差 ≥1.5px 保持可辨，字号+字重+颜色三重分层不变。
     HIG 样式        本令牌        用途           字重/颜色        */
  --t-page: 21.5px; /* Title 2   → 页标题 / 页眉大标题    700 + text    */
  --t-card: 16px;   /* Headline  → 卡片标题 / 强调行      600 + text    */
  --t-body: 14.5px; /* Body      → 正文 / 按钮            400 + text    */
  --t-aux: 12.5px;  /* Subhead   → 辅助说明               400 + text-2  */
  --t-weak: 11px;   /* Caption 1 → 最弱提示 / 时间戳      400 + text-3  */
  --lh: 1.55;

  /* ---- 圆角 / 间距 / 阴影 ---- */
  --r-s: 6px;
  --r-m: 8px;
  --r-l: 12px;
  --gap: 16px;               /* 卡片间距 */
  --pad: 20px;               /* 卡片内边距 */
  --shadow-1: 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-2: 0 4px 16px rgba(0, 0, 0, 0.10);
  --shadow-3: 0 12px 40px rgba(0, 0, 0, 0.18);

  /* ---- 布局 ---- */
  --topbar-h: 60px;
  --nav-w: 216px;
  --wrap: 1080px;
}

[data-theme="dark"] {
  --brand: #07C160;
  --brand-press: #06AD56;
  --brand-soft: rgba(7, 193, 96, 0.14);
  --danger-soft: rgba(250, 81, 81, 0.14);
  --warn-soft: rgba(250, 157, 59, 0.14);

  --bg: #111111;
  --card: #1E1E1E;
  --card-2: #262626;
  --topbar: #191919;
  --text: rgba(255, 255, 255, 0.86);
  --text-2: rgba(255, 255, 255, 0.55);
  --text-3: rgba(255, 255, 255, 0.32);
  --line: rgba(255, 255, 255, 0.10);
  --line-strong: rgba(255, 255, 255, 0.18);
  --mask: rgba(0, 0, 0, 0.65);
  --hover: rgba(255, 255, 255, 0.05);

  --shadow-1: 0 1px 2px rgba(0, 0, 0, 0.30);
  --shadow-2: 0 4px 16px rgba(0, 0, 0, 0.40);
  --shadow-3: 0 12px 40px rgba(0, 0, 0, 0.55);
}
