/* BODHI Dashboard · css/themes.css · 配色主题（2026-10-21）
   ⚠ 层叠顺序 = index.html 里 <link> 的先后：本文件排在**所有** css 之前，只定义变量、不写任何选择器样式。

   ★ 两层变量，换主题只换这两层：
     1. 色阶 triplet（"R G B"，给 rgb(var(--x) / α) 用）：
        --ink-50…950 中性色阶 —— tailwind 的 ink-* 工具类（index.html tailwind.config）
                                    和各域 css 的 rgb(var(--ink-…)) 都从这里取；
        --gold-400/500/600 强调色 —— tailwind gold-*、ui.css 的 --b-gold*。
        名字叫 ink / gold 是历史原因（寂照主题的石墨+金铜），换了主题它们就是「中性色」「强调色」。
     2. 语义 token（--b-canvas / surface / line / text …）：组件层 ui.css 及各域 css 消费。
   ★ 主题 = html[data-theme="<id>"]，明暗 = html.dark，两者正交；每个主题都要给 .dark 那一套。
     没有 data-theme（或 jizhao）＝ 默认「寂照」，即 :root 这一套。
   ★ 新增主题：照抄一段改值，再到 js/ui/theme.js 的 THEMES 登记（名字 + 色票）。 */

:root {
  /* 寂照：暖纸 · 石墨 · 金铜（tailwind stone 色阶）*/
  --ink-50: 250 250 249;  --ink-100: 245 245 244; --ink-200: 231 229 228;
  --ink-300: 214 211 209; --ink-400: 168 162 158; --ink-500: 120 113 108;
  --ink-600: 87 83 78;    --ink-700: 68 64 60;    --ink-800: 41 37 36;
  --ink-900: 28 25 23;    --ink-950: 12 10 9;
  --gold-400: 201 163 107; --gold-500: 176 134 66; --gold-600: 138 103 48;

  --b-canvas:      #f4f1ea;
  --b-surface:     #fcfaf6;
  --b-surface-2:   #f8f5ef;
  --b-surface-3:   #f0ece4;
  --b-line:        #ded7cc;
  --b-line-2:      #c9c0b2;
  --b-text:        #211d18;
  --b-text-2:      #625b51;
  --b-text-dim:    #81786b;
  --b-green:       #3f6b58;
  --b-red:         #9c4d43;
  --b-blue:        #49657a;
  --b-gold:        rgb(var(--gold-500));
  --b-gold-soft:   rgb(var(--gold-400));
  --b-gold-deep:   rgb(var(--gold-600));
  --b-glow:        rgb(var(--gold-500) / .09);   /* 壳层右上角那团光 */
  --b-shadow-sm:   0 1px 2px rgb(0 0 0 / .06);
  --b-shadow:      0 6px 20px -8px rgb(0 0 0 / .22);
}
.dark {
  --b-canvas:      #15130f;
  --b-surface:     rgb(28 25 23);
  --b-surface-2:   rgb(41 37 36);
  --b-surface-3:   rgb(41 37 36);
  --b-line:        rgb(68 64 60);
  --b-line-2:      rgb(87 83 78);
  --b-text:        rgb(231 229 228);
  --b-text-2:      rgb(214 211 209);
  --b-text-dim:    rgb(168 162 158);
  --b-gold-deep:   rgb(var(--gold-400));   /* 深底上「深强调色」读不清，换浅一档 */
  --b-shadow-sm:   0 1px 2px rgb(0 0 0 / .4);
  --b-shadow:      0 6px 20px -8px rgb(0 0 0 / .55);
}

/* ── 素雪：冷白 · 锌灰 · 靛蓝（干净的工具感，信息最清楚）────────────────── */
html[data-theme="suxue"] {
  --ink-50: 250 250 250;  --ink-100: 244 244 245; --ink-200: 228 228 231;
  --ink-300: 212 212 216; --ink-400: 161 161 170; --ink-500: 113 113 122;
  --ink-600: 82 82 91;    --ink-700: 63 63 70;    --ink-800: 39 39 42;
  --ink-900: 24 24 27;    --ink-950: 11 11 13;
  --gold-400: 129 140 248; --gold-500: 79 70 229; --gold-600: 67 56 202;

  --b-canvas:      #f6f6f8;
  --b-surface:     #ffffff;
  --b-surface-2:   #fafafb;
  --b-surface-3:   #f1f1f4;
  --b-line:        #e4e4e9;
  --b-line-2:      #d1d1d8;
  --b-text:        #18181b;
  --b-text-2:      #52525b;
  --b-text-dim:    #71717a;
  --b-green:       #15803d;
  --b-red:         #b91c1c;
  --b-blue:        #2563eb;
  --b-glow:        rgb(var(--gold-500) / .05);
  --b-shadow-sm:   0 1px 2px rgb(16 16 32 / .05);
  --b-shadow:      0 8px 24px -10px rgb(16 16 32 / .18);
}
html[data-theme="suxue"].dark {
  --b-canvas:      #0b0b0e;
  --b-surface:     #151518;
  --b-surface-2:   #1c1c20;
  --b-surface-3:   #24242a;
  --b-line:        #2c2c33;
  --b-line-2:      #3f3f47;
  --b-text:        #f4f4f5;
  --b-text-2:      #d4d4d8;
  --b-text-dim:    #a1a1aa;
  --b-glow:        rgb(var(--gold-500) / .12);
  --b-shadow-sm:   0 1px 2px rgb(0 0 0 / .45);
  --b-shadow:      0 8px 24px -10px rgb(0 0 0 / .6);
}

/* ── 青瓷：灰绿 · 釉青（低饱和、长时间看不累）──────────────────────────── */
html[data-theme="qingci"] {
  --ink-50: 246 248 247;  --ink-100: 237 242 240; --ink-200: 221 228 225;
  --ink-300: 197 207 203; --ink-400: 152 165 160; --ink-500: 107 121 116;
  --ink-600: 80 92 88;    --ink-700: 61 71 68;    --ink-800: 38 48 45;
  --ink-900: 26 34 32;    --ink-950: 14 20 19;
  --gold-400: 111 191 178; --gold-500: 52 135 122; --gold-600: 38 104 94;

  --b-canvas:      #edf2f0;
  --b-surface:     #fbfdfc;
  --b-surface-2:   #f4f8f6;
  --b-surface-3:   #e7eeeb;
  --b-line:        #d5dfdb;
  --b-line-2:      #bccac4;
  --b-text:        #17201d;
  --b-text-2:      #4b5853;
  --b-text-dim:    #6c7a75;
  --b-green:       #2f6b52;
  --b-red:         #a14a3f;
  --b-blue:        #3d6680;
  --b-glow:        rgb(var(--gold-500) / .08);
}
html[data-theme="qingci"].dark {
  --b-canvas:      #0c1211;
  --b-surface:     #131b19;
  --b-surface-2:   #1a2421;
  --b-surface-3:   #212c29;
  --b-line:        #2b3835;
  --b-line-2:      #3a4945;
  --b-text:        #e2ebe8;
  --b-text-2:      #c2cec9;
  --b-text-dim:    #8d9e98;
  --b-glow:        rgb(var(--gold-500) / .12);
  --b-shadow-sm:   0 1px 2px rgb(0 0 0 / .4);
  --b-shadow:      0 6px 20px -8px rgb(0 0 0 / .55);
}

/* ── 朱砂：象牙 · 暖灰 · 朱红（印章感，强调色最醒目）──────────────────── */
html[data-theme="zhusha"] {
  --ink-50: 250 247 245;  --ink-100: 243 238 234; --ink-200: 230 221 214;
  --ink-300: 211 198 188; --ink-400: 169 154 143; --ink-500: 125 109 99;
  --ink-600: 93 79 71;    --ink-700: 71 60 54;    --ink-800: 44 36 32;
  --ink-900: 31 25 22;    --ink-950: 17 13 11;
  --gold-400: 226 124 98; --gold-500: 190 64 42; --gold-600: 150 47 31;

  --b-canvas:      #f6f0ea;
  --b-surface:     #fffcf9;
  --b-surface-2:   #faf5f0;
  --b-surface-3:   #f1e8e0;
  --b-line:        #e4d6ca;
  --b-line-2:      #cfbeb0;
  --b-text:        #241a16;
  --b-text-2:      #65554c;
  --b-text-dim:    #89776c;
  --b-green:       #46684f;
  --b-red:         #a8372a;
  --b-blue:        #4b6377;
  --b-glow:        rgb(var(--gold-500) / .07);
}
html[data-theme="zhusha"].dark {
  --b-canvas:      #130e0c;
  --b-surface:     #1c1613;
  --b-surface-2:   #271f1b;
  --b-surface-3:   #2f2622;
  --b-line:        #3d312b;
  --b-line-2:      #4f423a;
  --b-text:        #eee4dd;
  --b-text-2:      #d6c8bf;
  --b-text-dim:    #a8978c;
  --b-glow:        rgb(var(--gold-500) / .12);
  --b-shadow-sm:   0 1px 2px rgb(0 0 0 / .4);
  --b-shadow:      0 6px 20px -8px rgb(0 0 0 / .55);
}

/* ── 夜航：蓝灰 · 琥珀（深色模式最耐看的一套；浅色是冷调办公风）──────── */
html[data-theme="yehang"] {
  --ink-50: 248 250 252;  --ink-100: 241 245 249; --ink-200: 226 232 240;
  --ink-300: 203 213 225; --ink-400: 148 163 184; --ink-500: 100 116 139;
  --ink-600: 71 85 105;   --ink-700: 51 65 85;    --ink-800: 30 41 59;
  --ink-900: 15 23 42;    --ink-950: 5 10 24;
  --gold-400: 251 191 36; --gold-500: 217 140 18; --gold-600: 180 103 10;

  --b-canvas:      #f0f3f8;
  --b-surface:     #ffffff;
  --b-surface-2:   #f8fafc;
  --b-surface-3:   #edf1f6;
  --b-line:        #dce3ec;
  --b-line-2:      #c5cfdc;
  --b-text:        #0f172a;
  --b-text-2:      #475569;
  --b-text-dim:    #64748b;
  --b-green:       #15803d;
  --b-red:         #be123c;
  --b-blue:        #1d4ed8;
  --b-glow:        rgb(var(--gold-500) / .06);
  --b-shadow-sm:   0 1px 2px rgb(15 23 42 / .06);
  --b-shadow:      0 8px 24px -10px rgb(15 23 42 / .2);
}
html[data-theme="yehang"].dark {
  --b-canvas:      #080d1a;
  --b-surface:     #0f1626;
  --b-surface-2:   #151e31;
  --b-surface-3:   #1b263c;
  --b-line:        #243149;
  --b-line-2:      #31405b;
  --b-text:        #e2e8f0;
  --b-text-2:      #cbd5e1;
  --b-text-dim:    #94a3b8;
  --b-glow:        rgb(var(--gold-400) / .08);
  --b-shadow-sm:   0 1px 2px rgb(0 0 0 / .5);
  --b-shadow:      0 8px 24px -10px rgb(0 0 0 / .7);
}
