/* ================================================================
 * design-tokens.css — 财商大陆 暗色品牌统一设计 Token（单一事实源）
 * 依据：docs/ui-unify-PRD.md §3（全部变量命名/值严格照此）
 * 仅暗色，不写浅色值；不写 [data-theme="light"]（本阶段不做浅色模式）
 * 断点不引入 token，直接用媒体查询（见 ui-kit.css / 各页专属 css）
 * ================================================================ */

:root {
  /* === §3.1 背景 === */
  --bg-base: #06030d;
  --bg-base-2: #1a1a2e;
  --bg-overlay: rgba(10, 10, 26, 0.92);
  --glass-bg: rgba(255, 255, 255, 0.03);
  --glass-bg-2: rgba(255, 255, 255, 0.05);
  --glass-border: rgba(255, 255, 255, 0.06);
  --glass-border-strong: rgba(255, 255, 255, 0.15);

  /* === §3.1 品牌紫 === */
  --brand-purple: #8b5cf6;        /* rgb(139,92,246) 主色 紫-500 */
  --brand-purple-soft: #c084fc;   /* rgb(192,132,252) 辅助紫 紫-400 */
  --brand-purple-deep: #7c3aed;   /* 渐变深端 / 头像 */
  --brand-purple-deep-2: #6d28d9; /* 渐变最深端 */

  /* === §3.1 强调金 === */
  --accent-gold: #fbbf24;         /* amber-400 */
  --accent-gold-deep: #f59e0b;    /* amber-500 */

  /* === §3.1 文字 === */
  --text-primary: #ffffff;
  --text-body: #e8e0f0;
  --text-secondary: rgba(255, 255, 255, 0.6);
  --text-tertiary: rgba(255, 255, 255, 0.4);
  --text-muted: rgba(255, 255, 255, 0.35);

  /* === §3.1 描边 === */
  --border-subtle: rgba(255, 255, 255, 0.05);
  --border-soft: rgba(255, 255, 255, 0.06);
  --border-strong: rgba(255, 255, 255, 0.15);
  --border-purple: rgba(139, 92, 246, 0.20);

  /* === §3.1 状态色（语义） === */
  --status-success: #4ade80;
  --status-success-bg: rgba(74, 222, 128, 0.20);
  --status-warning: #fbbf24;
  --status-warning-bg: rgba(251, 191, 36, 0.15);
  --status-danger: #f87171;
  --status-danger-bg: rgba(248, 113, 113, 0.15);
  --status-info: #60a5fa;
  --status-info-bg: rgba(96, 165, 250, 0.15);

  /* === §3.2 字体层级 === */
  --font-sans: "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Noto Sans SC", sans-serif;
  --fs-display: 34px;     /* 响应 46 / 54（品牌页 hero） */
  --fs-title: 22px;       /* 响应 28 / 32（页头 h1） */
  --fs-subtitle: 14px;
  --fs-section: 13px;     /* w700 区块标题 */
  --fs-body: 14px;        /* 正文基准 */
  --fs-sm: 12px;          /* 卡片描述 / 按钮 */
  --fs-xs: 11px;
  --fs-caption: 10px;     /* 页脚 / 胶囊 / 年龄标签 */

  /* 字重 */
  --fw-black: 900;
  --fw-extra: 800;
  --fw-bold: 700;
  --fw-semi: 600;
  --fw-normal: 400;

  /* 行高 */
  --lh-tight: 1.2;
  --lh-base: 1.6;
  --lh-loose: 1.7;

  /* === §3.3 间距标尺（4 / 8 / 12 / 16 / 24 / 32） === */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;

  /* === §3.4 圆角 === */
  --radius-xs: 6px;
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-pill: 999px;
  --radius-round: 50%;

  /* === §3.5 阴影 / 玻璃参数 === */
  --glass-blur: 12px;
  --shadow-card: 0 4px 24px rgba(124, 58, 237, 0.10);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-float: 0 8px 24px rgba(0, 0, 0, 0.30);
  --glow-gold: 0 0 0 8px rgba(245, 158, 11, 0);

  /* === §3.7 城镇主题色（故事卡片 / 城镇地图，9 个） ===
     保留 9 城镇各自彩色渐变作为视觉识别，仅 token 化 */
  --town-burger: linear-gradient(145deg, #f97316, #ea580c);     /* 汉堡镇 */
  --town-banker: linear-gradient(145deg, #3b82f6, #2563eb);     /* 银行城 */
  --town-market: linear-gradient(145deg, #10b981, #059669);     /* 采购集市 */
  --town-journey: linear-gradient(145deg, #a855f7, #9333ea);    /* 创业路 */
  --town-harbor: linear-gradient(145deg, #06b6d4, #0891b2);     /* 星光港湾 */
  --town-stock: linear-gradient(145deg, #ff9800, #e65100);      /* 股票交易所 */
  --town-incubator: linear-gradient(145deg, #4caf50, #2e7d32);  /* 创业孵化器 */
  --town-insurance: linear-gradient(145deg, #42a5f5, #1565c0);  /* 保险配置师 */
  --town-tax: linear-gradient(145deg, #ef5350, #c62828);        /* 税务优化 */

  /* === §3.8 颜色通道（RGB 分量，供 alpha 合成 rgb(var(--x-rgb) / A)） === */
  --brand-purple-rgb: 139 92 246;
  --brand-purple-soft-rgb: 192 132 252;
  --brand-purple-deep-rgb: 124 58 237;
  --brand-purple-deep-2-rgb: 109 40 217;
  --accent-gold-rgb: 251 191 36;
  --accent-gold-deep-rgb: 245 158 11;
  --text-secondary-rgb: 255 255 255;   /* 半透明文字基色 */
  --status-success-rgb: 74 222 128;
  --status-warning-rgb: 251 191 36;
  --status-danger-rgb: 248 113 113;
  --status-info-rgb: 96 165 250;
  --white-rgb: 255 255 255;
  --black-rgb: 0 0 0;
  --bg-base-rgb: 6 3 13;

  /* === §3.9 故事页主题色（令牌化页面专属色，单源在此） ===
     汉堡镇语音故事（紫 + 5-8 暖粉） */
  --story-voice-primary: #a855f7;
  --story-voice-primary-rgb: 168 85 247;
  --story-voice-pink: #f472b6;
  --story-voice-pink-rgb: 244 114 182;
  --story-voice-pink-light: #f9a8d4;
  --story-voice-pink-dark: #db2777;
  --story-voice-pink-dark-rgb: 219 39 119;
  --story-voice-narrator: #a78bfa;
  --story-voice-narrator-rgb: 167 139 250;
  --story-voice-narrator-text: #d4c8e8;
  --story-voice-title-start: #f0e6ff;
  --story-voice-text: #e0d6f0;
  --story-voice-text-muted: #9b8bb5;
  --story-voice-bg: #1a0a2e;
  --story-voice-bg-rgb: 26 10 46;
  --story-voice-bg-2: #2d1b4e;
  --story-voice-bg-3: #3d2b5e;
  --story-voice-bg-mid: #16213e;
  --story-voice-bg-end: #0f3460;
  --story-bubble-pink-rgb: 236 72 153;       /* 主角气泡 #ec4899 */
  --story-bubble-male-blue-rgb: 59 130 246;  /* 男角色气泡 #3b82f6 */
  --story-bubble-child-green-rgb: 34 197 94; /* 小哲气泡 #22c55e */

  /* 银行城（蓝） */
  --story-bank-primary: #2563eb;
  --story-bank-primary-rgb: 37 99 235;
  --story-bank-primary-dark: #1d4ed8;
  --story-bank-primary-5-8: #3b82f6;
  --story-bank-primary-light-5-8: #93c5fd;
  --story-bank-bg: #0f172a;
  --story-bank-bg-rgb: 15 23 42;
  --story-bank-bg-2: #1e293b;
  --story-bank-bg-2-rgb: 30 41 59;
  --story-bank-bg-mid: #1a202c;
  --story-bank-bg-end: #0f3460;
  --story-bank-bg-end-rgb: 15 52 96;

  /* 采购集市（翠绿） */
  --story-market-primary: #059669;
  --story-market-primary-rgb: 5 150 105;
  --story-market-primary-light: #34d399;
  --story-market-primary-dark: #047857;
  --story-market-primary-5-8: #10b981;
  --story-market-primary-light-5-8: #6ee7b7;
  --story-market-bg: #064e3b;
  --story-market-bg-rgb: 6 78 59;
  --story-market-bg-2: #065f46;
  --story-market-bg-2-rgb: 6 95 70;
  --story-market-bg-end: #047857;
  --story-market-bg-end-rgb: 4 120 87;

  /* 跨页角色 / 文字派生色 */
  --story-role-orange: #fb923c;
  --story-role-orange-rgb: 251 146 60;
  --story-role-slate: #94a3b8;
  --story-role-slate-rgb: 148 163 184;
  --story-role-slate-light: #cbd5e1;
  --story-slate-body: #e2e8f0;
  --story-slate-soft: #f1f5f9;
  --story-gold-text: #fde68a;
  --story-green-text: #86efac;
  --story-green-text-rgb: 134 239 172;
  --story-red-text: #fca5a5;
  --story-red-text-rgb: 252 165 165;
  --story-red-rgb: 239 68 68;               /* #ef4444 */
  --story-bubble-child-green: #22c55e;
  --story-bubble-child-green-rgb: 34 197 94;

  /* === §3.10 补充主题色（覆盖四页残余硬编码，单源在此） === */
  --white: #ffffff;                       /* 非文本白色（边框/光晕/星点） */
  --bg-overlay-rgb: 10 10 26;            /* #0a0a1a，供 --bg-overlay alpha 合成 */

  /* 汉堡镇 5-8 文字 / 背景通道 */
  --story-voice-text-5-8: #f3e8ff;
  --story-voice-text-5-8-rgb: 243 232 255;
  --story-voice-bg-2-rgb: 45 27 78;      /* #2d1b4e */

  /* 跨页橙 / 琥珀强调 */
  --story-accent-orange: #f97316;
  --story-accent-orange-rgb: 249 115 22;
  --story-accent-orange-deep: #ea580c;
  --story-accent-orange-deep-rgb: 234 140 12;
  --story-accent-amber: #ff9800;
  --story-accent-amber-rgb: 255 152 0;
  --story-accent-amber-deep: #e65100;
  --story-accent-amber-deep-rgb: 230 81 0;
  --accent-gold-deep-2: #d97706;
  --accent-gold-deep-2-rgb: 217 119 6;

  /* 城镇 / 状态派生（青 / 蓝 / 绿 / 红 / 紫） */
  --accent-cyan: #06b6d4;
  --accent-cyan-rgb: 6 182 212;
  --accent-cyan-deep: #0891b2;
  --accent-cyan-deep-rgb: 8 145 178;
  --accent-blue-deep: #1565c0;
  --accent-blue-deep-rgb: 21 101 192;
  --accent-blue-light: #42a5f5;
  --accent-blue-light-rgb: 66 165 245;
  --accent-green: #4caf50;
  --accent-green-rgb: 76 175 80;
  --accent-green-deep: #2e7d32;
  --accent-green-deep-rgb: 46 125 50;
  --story-role-slate-deep: #64748b;
  --story-role-slate-deep-rgb: 100 116 139;
  --accent-red: #ef5350;
  --accent-red-rgb: 239 83 80;
  --accent-red-deep: #c62828;
  --accent-red-deep-rgb: 198 40 40;
  --story-red: #ef4444;                  /* 既有 --story-red-rgb 提供通道 */
  --accent-purple-deep: #9333ea;
  --accent-purple-deep-rgb: 147 51 234;
  --story-accent-brown: #8b5c06;
  --story-accent-brown-rgb: 139 92 6;

  /* ================================================================
   * §3.11 视觉组 C 类回填增补（docs/visual-c-backfill.md §3.1 A–E）
   * 仅追加；上方任何既有 token 保持不变。所有值来自单源派生，禁新增主色相。
   * ================================================================ */

  /* --- B 组 RGB 通道（根治硬写 rgba 的根因；补既有组缺项 + 下游 tint 需要的通道） --- */
  --text-primary-rgb: 255 255 255;     /* 文字基色通道（与 --white-rgb 同值，语义分离） */
  --brand-violet-rgb: 167 139 250;     /* #a78bfa 紫标签/分类 */
  --text-slate-rgb: 148 163 184;       /* #94a3b8 静音文字 */
  --text-slate-2-rgb: 100 116 139;     /* #64748b 次级说明文字 */
  --status-danger-strong-rgb: 239 68 68; /* #ef4444 强危险 */
  --surface-light-rgb: 255 255 255;    /* #ffffff 浅块 */

  /* --- A 组 visual-spec-v1 §2.6 五件（会员/锁定/星辉/焦点，单源在此） --- */
  --vip-gradient: linear-gradient(135deg, var(--accent-gold), var(--brand-purple));
  --locked-overlay: rgb(var(--bg-base-rgb) / 0.55);            /* 未解锁毛玻璃遮罩基色 */
  --locked-silhouette: grayscale(1) brightness(0.4);           /* 未解锁行星/NPC 剪影 */
  --star-glow: 0 0 12px rgb(var(--accent-gold-rgb) / 0.5);     /* 成就/会员徽标微光 */
  --focus-ring: 0 0 0 3px rgb(var(--brand-purple-rgb) / 0.45); /* 年龄友好可见焦点环 */

  /* --- C 组游离 solid（grep 发现的硬值，收口为 token） --- */
  --brand-violet: #a78bfa;             /* 紫标签/分类（紫系派生） */
  --text-slate: #94a3b8;               /* 静音/说明文字（中性派生） */
  --text-slate-2: #64748b;             /* 次级说明文字 */
  --status-danger-strong: #ef4444;     /* 取消会员/错误强提示（危险派生） */
  --surface-light: #ffffff;            /* .card--light 白底实色块 */
  /* 注：--accent-gold-deep-2:#d97706 已于 §3.10 存在，复用不重复声明。 */
  /* TODO(待拍板): #f472b6 粉属新色相（图表分类色），待老陈/产品确认后纳入
     --chart-cat-* 体系；本次刻意不加新色相 token，避免破坏 F4 单源「禁新增主色相」。
     （故事页专属 --story-voice-pink:#f472b6 已存在，仅限故事页使用，不升格为全局 token。） */

  /* --- D 组城镇固体（SVG 地图/图表节点描边，消除地图 #hex 硬写；= 各 --town-* 渐变代表色） --- */
  --town-burger-solid: #f97316;        /* 汉堡镇 */
  --town-banker-solid: #3b82f6;        /* 银行城 */
  --town-market-solid: #10b981;        /* 采购集市 */
  --town-journey-solid: #a855f7;       /* 创业路 */
  --town-harbor-solid: #06b6d4;        /* 星光港湾 */
  --town-stock-solid: #ff9800;         /* 股票交易所 */
  --town-incubator-solid: #4caf50;     /* 创业孵化器 */
  --town-insurance-solid: #42a5f5;     /* 保险配置师 */
  --town-tax-solid: #ef5350;           /* 税务优化 */

  /* --- E 组场景遮罩（紫系派生，对应 story-base 遮罩 rgba） --- */
  --scene-veil-1: rgb(var(--story-voice-bg-rgb) / 0.75);      /* rgba(26,10,46,.75) */
  --scene-veil-2: rgb(var(--brand-purple-deep-rgb) / 0.45);   /* rgba(124,58,237,.45) */
  --scene-veil-3: rgb(var(--story-voice-bg-2-rgb) / 0.75);    /* rgba(45,27,78,.75) */
}
