/* ============================================================
   叶纸投资报告 · Color tokens
   v2 「Quiet Ledger」重校准:
   · 品牌粉紫降饱和降明度 —— 从糖果色变成克制的强调色,
     只出现在品牌触点(logo/主按钮/链接/激活态),不再做氛围底色
   · 语义色(bull/bear/neutral)与报告详情页红绿家族保持,原值不动
   · 新增完整暗色主题:跟随系统 + data-theme 显式覆盖,
     存储键 'ca-theme' 与 reports/{slug}/ 详情页共享
   ============================================================ */

:root {
  /* ---- 品牌主色: 樱粉 → 薰衣草紫 (降饱和精修) ---- */
  --pink:        #d23f6f;   /* 主品牌色 · CTA · logo */
  --pink-600:    #b52e5b;   /* hover 加深 */
  --pink-300:    #eda9c2;   /* 浅 */
  --pink-bg:     #fdf1f5;   /* 粉色浅底 */
  --pink-glow:   rgba(210,63,111,.12);

  --purple:      #6e56cf;   /* 次品牌色 · 强调 */
  --purple-600:  #5b46b8;
  --purple-300:  #c8bcf0;
  --purple-bg:   #f4f1fc;
  --purple-glow: rgba(110,86,207,.12);

  --blue:        #60a5fa;   /* 信息 */
  --blue-bg:     #eff6ff;

  /* ---- 投资语义色 (verdict / 涨跌) —— 与报告页契约, 不动 ---- */
  --bull:        #1fae73;   /* 看多 / 上涨 / 正收益 */
  --bull-strong: #059669;   /* 文字加深可读 */
  --bull-bg:     #ecfdf5;
  --bull-glow:   rgba(31,174,115,.16);

  --bear:        #ef4444;   /* 看空 / 下跌 / 负收益 */
  --bear-strong: #dc2626;
  --bear-bg:     #fef2f2;
  --bear-glow:   rgba(239,68,68,.15);

  --neutral:     #fbbf24;   /* 中性 / 观望 / 临界 */
  --neutral-strong: #b45309;
  --neutral-bg:  #fffbeb;

  /* 小字号(<18px)红绿文字专用墨色: 语义色 -strong 对白底不足 4.5:1, 用这两个 (契约色不动) */
  --bull-ink:    #047857;
  --bear-ink:    #b91c1c;

  /* ---- 文字 (暖紫调中性) ---- */
  --text:        #1c1526;   /* 正文 (近黑, 对比度 ≥13:1) */
  --text-2:      #665f74;   /* 次要 */
  --text-3:      #6f6781;   /* 弱化 / 标签 (对白底 5.3:1, 小字达 AA) */
  --text-on-brand: #ffffff;

  /* ---- 背景与表面 (暖近白, 不再是糖果粉) ---- */
  --bg:          #fbfafc;   /* 页面底 */
  --bg-2:        #f6f4f9;   /* 浅分区 / hover 行 */
  --bg-3:        #efecf4;   /* 深分区 / 激活底 */
  --surface:     #ffffff;   /* 卡片 */
  --surface-soft:#faf8fc;   /* 卡片内嵌格 */

  /* ---- 描边 (发丝线) ---- */
  --border:      rgba(28,21,38,.08);
  --border-2:    rgba(28,21,38,.14);
  --border-pink: rgba(210,63,111,.35);

  /* ---- 数据可视化梯度 (热力图 5 档: 深红→白→深绿) ---- */
  --hm--2: #fca5a5;  --hm--2-ink: #7f1d1d;
  --hm--1: #fed7aa;  --hm--1-ink: #7c2d12;
  --hm-0:  #f5eef4;  --hm-0-ink:  #665f74;
  --hm-1:  #bbf7d0;  --hm-1-ink:  #14532d;
  --hm-2:  #4ade80;  --hm-2-ink:  #06351c;

  /* ---- 渐变 (仅限品牌触点: 主按钮 / hero 短横线 / 吉祥物名牌) ---- */
  --grad-brand:   linear-gradient(135deg, var(--pink), var(--purple));
  --grad-tri:     linear-gradient(90deg, var(--pink), var(--purple), var(--blue));
  --grad-bull:    linear-gradient(135deg, #34d399, var(--bull-strong));
  --grad-bear:    linear-gradient(135deg, #f87171, var(--bear-strong));

  /* ---- 语义别名 ---- */
  --text-body:    var(--text);
  --text-muted:   var(--text-3);
  --surface-card: var(--surface);
  --accent:       var(--pink);
}

/* ============================================================
   暗色主题 —— 与报告详情页同构:
   ① 系统偏好暗色且用户未显式选亮 → 自动暗色
   ② data-theme="dark" 显式暗色(nav 切换钮写入, localStorage 'ca-theme')
   两块内容完全一致, 改动请同步。
   ============================================================ */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --pink:        #f472a1;
    --pink-600:    #f78ab2;
    --pink-300:    #8a3a5c;
    --pink-bg:     rgba(244,114,161,.10);
    --pink-glow:   rgba(244,114,161,.16);

    --purple:      #a78bfa;
    --purple-600:  #c4b5fd;
    --purple-300:  #6d5bbf;
    --purple-bg:   rgba(167,139,250,.12);
    --purple-glow: rgba(167,139,250,.16);

    --blue:        #7cb7fb;
    --blue-bg:     rgba(96,165,250,.12);

    --bull:        #2fbf84;
    --bull-strong: #4cd8a4;
    --bull-bg:     rgba(52,211,153,.10);
    --bull-glow:   rgba(47,191,132,.18);

    --bear:        #ef6a6a;
    --bear-strong: #f98a8a;
    --bear-bg:     rgba(248,113,113,.10);
    --bear-glow:   rgba(239,106,106,.18);

    --neutral:     #f5b842;
    --neutral-strong: #fcd575;
    --neutral-bg:  rgba(245,184,66,.12);

    --bull-ink:    var(--bull-strong);
    --bear-ink:    var(--bear-strong);

    --text:        #f0edf4;
    --text-2:      #a9a1b8;
    --text-3:      #948da6;
    --text-on-brand: #1b1120;

    --bg:          #131118;
    --bg-2:        #18151f;
    --bg-3:        #221e2b;
    --surface:     #1b1823;
    --surface-soft:#211d2a;

    --border:      rgba(240,237,244,.08);
    --border-2:    rgba(240,237,244,.15);
    --border-pink: rgba(244,114,161,.40);

    --hm--2: #5c2222;  --hm--2-ink: #ffb9b9;
    --hm--1: #553618;  --hm--1-ink: #fcd9a8;
    --hm-0:  #252030;  --hm-0-ink:  #a9a1b8;
    --hm-1:  #1c4a30;  --hm-1-ink:  #a7f3c9;
    --hm-2:  #2c7a4f;  --hm-2-ink:  #eafff3;

    --grad-brand:  linear-gradient(135deg, #f472a1, #a78bfa);

    /* effects.css 暗色覆盖 */
    --shadow-sm:   0 1px 2px rgba(0,0,0,.35), 0 1px 3px rgba(0,0,0,.4);
    --shadow-md:   0 2px 4px rgba(0,0,0,.35), 0 6px 16px rgba(0,0,0,.5);
    --shadow-lg:   0 4px 8px rgba(0,0,0,.4),  0 12px 32px rgba(0,0,0,.55);
    --glass-bg:    rgba(19,17,24,.75);
    --ring:        0 0 0 2px var(--bg), 0 0 0 4px var(--pink);
  }
}
:root[data-theme="dark"] {
  --pink:        #f472a1;
  --pink-600:    #f78ab2;
  --pink-300:    #8a3a5c;
  --pink-bg:     rgba(244,114,161,.10);
  --pink-glow:   rgba(244,114,161,.16);

  --purple:      #a78bfa;
  --purple-600:  #c4b5fd;
  --purple-300:  #6d5bbf;
  --purple-bg:   rgba(167,139,250,.12);
  --purple-glow: rgba(167,139,250,.16);

  --blue:        #7cb7fb;
  --blue-bg:     rgba(96,165,250,.12);

  --bull:        #2fbf84;
  --bull-strong: #4cd8a4;
  --bull-bg:     rgba(52,211,153,.10);
  --bull-glow:   rgba(47,191,132,.18);

  --bear:        #ef6a6a;
  --bear-strong: #f98a8a;
  --bear-bg:     rgba(248,113,113,.10);
  --bear-glow:   rgba(239,106,106,.18);

  --neutral:     #f5b842;
  --neutral-strong: #fcd575;
  --neutral-bg:  rgba(245,184,66,.12);

  --bull-ink:    var(--bull-strong);
  --bear-ink:    var(--bear-strong);

  --text:        #f0edf4;
  --text-2:      #a9a1b8;
  --text-3:      #948da6;
  --text-on-brand: #1b1120;

  --bg:          #131118;
  --bg-2:        #18151f;
  --bg-3:        #221e2b;
  --surface:     #1b1823;
  --surface-soft:#211d2a;

  --border:      rgba(240,237,244,.08);
  --border-2:    rgba(240,237,244,.15);
  --border-pink: rgba(244,114,161,.40);

  --hm--2: #5c2222;  --hm--2-ink: #ffb9b9;
  --hm--1: #553618;  --hm--1-ink: #fcd9a8;
  --hm-0:  #252030;  --hm-0-ink:  #a9a1b8;
  --hm-1:  #1c4a30;  --hm-1-ink:  #a7f3c9;
  --hm-2:  #2c7a4f;  --hm-2-ink:  #eafff3;

  --grad-brand:  linear-gradient(135deg, #f472a1, #a78bfa);

  /* effects.css 暗色覆盖 */
  --shadow-sm:   0 1px 2px rgba(0,0,0,.35), 0 1px 3px rgba(0,0,0,.4);
  --shadow-md:   0 2px 4px rgba(0,0,0,.35), 0 6px 16px rgba(0,0,0,.5);
  --shadow-lg:   0 4px 8px rgba(0,0,0,.4),  0 12px 32px rgba(0,0,0,.55);
  --glass-bg:    rgba(19,17,24,.75);
  --ring:        0 0 0 2px var(--bg), 0 0 0 4px var(--pink);
}
