/* ============================================================
   全站主题（17 套，自动生成，别手改）
   ------------------------------------------------------------
   由 tools/gen_themes.py 生成 —— 配色清单在 tools/theme_palettes.py。
   【2026-10-03】老师要求「主题切换模块」回来，并且要 17 套：
     · 我的主题001 = 当前线上在用的那套配色，原样保留；
     · 另外 16 套按老师给的 16 张参考图逐像素取色，一图一套。
   设计要素：色块光影流动 + 毛玻璃虚化透明 + 动态效果。

   用法：`<html data-theme="my001">`。
   没设 data-theme 时用 ui.css 的 :root 默认值，
   所以主题文件加载失败也不会把页面搞成白板。

   语义变量全部由「5 级色阶 + 强调色」推导，17 套结构一致：
     --slate-50/100/300/500/900   色阶（浅 → 深）
     --surface / --glass*         毛玻璃表面
     --blur                       毛玻璃虚化强度（每套不同）
     --text / --muted / --faint   文字三级
     --primary / --brand*         主色
     --mesh-1/2/3                 背景弥散光
     --fx-layer                   光影层（多层渐变，整页的光）
     --light-x / --light-y        主光位置（ui.css 拿它做缓慢漂移）
     --brand-grad                 大色块的渐变（不是纯色）
   ============================================================ */

/* ---------------- 深色科技（5 套）---------------- */
/* 我的主题001 · 深色科技 —— 青绿极光 → 深海青 → 夜蓝。当前线上正在用的那套，原样保留 */
[data-theme="my001"]{
  /* 色阶（浅 → 深），暗色主题只是把它倒过来用 */
  --slate-50:#F2F5F9; --slate-100:#E6EDF4; --slate-300:#9FB6C4; --slate-500:#3D6478; --slate-900:#12283A;
  --bg:#F2F5F9; --bg-tint:#EDF2F7; --bg-2:#EDF2F7;
  /* 表面：毛玻璃半透明 */
  --surface:rgba(255,255,255,0.8); --surface-2:#F9FAFC;
  --card:rgba(255,255,255,0.58); --card-2:rgba(255,255,255,0.78);
  --glass:rgba(255,255,255,0.58); --glass-2:rgba(255,255,255,0.78); --glass-line:rgba(255,255,255,0.74);
  --blur:blur(20px) saturate(167%);
  /* 文字 */
  --text:#12283A; --ink:#12283A; --muted:#3D6478; --ink-2:#3D6478; --faint:#9FB6C4; --ink-3:#9FB6C4;
  /* 线与影（阴影用主色相调，比纯黑干净）*/
  --border:rgba(18,40,58,0.12); --border-2:rgba(18,40,58,0.22); --line:rgba(18,40,58,0.06); --line-2:rgba(18,40,58,0.04);
  --shadow:0 1px 2px rgba(18,40,58,0.05), 0 4px 14px -6px rgba(18,40,58,0.1);
  --shadow-2:0 1px 3px rgba(18,40,58,0.06), 0 12px 28px -14px rgba(18,40,58,0.18);
  --shadow-3:0 2px 6px rgba(18,40,58,0.08), 0 28px 52px -24px rgba(18,40,58,0.28);
  --sh-1:var(--shadow); --sh-2:var(--shadow-2); --sh-3:var(--shadow-3);
  --sh-brand:0 10px 26px -12px rgba(29,111,132,0.55);
  /* 主色 / 强调 */
  --primary:#1D6F84; --primary-d:#165666; --primary-w:#FFFFFF;
  --brand:#1D6F84; --brand-2:#165666; --brand-soft:rgba(29,111,132,0.1); --brand-ink:#1D6F84;
  --sky:#1D6F84; --sky-soft:rgba(29,111,132,0.12);
  --grey-soft:#EEF2F7;
  --accent:#1D6F84; --accent-soft:rgba(29,111,132,0.12);
  /* 状态色（小面积，跟着主题走但不抢主色）*/
  --ok:#2A7869; --ok-bg:rgba(46,122,100,0.16); --ok-soft:rgba(46,122,100,0.16);
  --no:#9E4E4C; --no-bg:rgba(176,74,69,0.16);
  --danger:#9E4E4C; --danger-soft:rgba(176,74,69,0.16);
  --warn:#725D1F; --warn-tx:#725D1F; --warn-bg:rgba(160,124,40,0.18); --warn-soft:rgba(160,124,40,0.18);
  --gold:#C9A24A; --gold-soft:rgba(201,162,74,0.16); --cinnabar:#9E4E4C;
  /* 三档深浅（日历格子 / 时间槽 / 选中态都用它，暗色主题也能看清）*/
  --lv1-bg:#E6EDF4; --lv1-tx:#12283A;
  --lv2-bg:#3D6478; --lv2-tx:#FFFFFF;
  --lv3-bg:#12283A; --lv3-tx:#FFFFFF;
  /* 背景三团弥散光 */
  --mesh-1:rgba(230,237,244,0.7); --mesh-2:rgba(29,111,132,0.18); --mesh-3:rgba(159,182,196,0.26);
  /* 背景装饰层（网格 / 扫描线 / 纸纹 / 流体 / 光影…）。ui.css 会把它拼进 */
  /* body 的 background-image，所以永远在内容下面，不会挡东西。 */
  --fx-layer:radial-gradient(78% 62% at 6% -10%,rgba(230,237,244,0.3),transparent 58%), radial-gradient(58% 52% at 98% 4%,rgba(29,111,132,0.26),transparent 62%), radial-gradient(88% 70% at 88% 104%,rgba(61,100,120,0.3),transparent 64%), radial-gradient(70% 34% at 34% 112%,rgba(18,40,58,0.16),transparent 70%);
  /* 左上角主光的位置 —— body::before 拿它做缓慢漂移（光影流动）。 */
  --light-x:6%; --light-y:-10%;
  /* 主色渐变：只有声明了 grad 的主题才有渐变，其余一律是纯主色。 */
  /* （老师给的截图里那张大绿卡是渐变的：#367969 → #1D5C4F，
     正好 = 主色提亮 7% → 压暗 13%，见 gen_themes.py 的 grad 字段）*/
  --brand-grad:radial-gradient(120% 90% at 8% 0%,rgba(96,154,168,0.55),transparent 62%), radial-gradient(90% 70% at 92% 108%,rgba(19,73,87,0.55),transparent 64%), radial-gradient(70% 60% at 96% 4%,rgba(29,111,132,0.22),transparent 66%), linear-gradient(140deg,#2C798C,#185D6E);
  /* 装饰：暗色主题给一点内发光，亮色主题不用 */
  --glow:transparent;
  --ring:#1D6F84;
  /* 字体：古风那几套标题用衬线 */
  --font-h:"Inter","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:0;
}

/* 电光午夜 · 深色科技 —— 深空蓝 + 电光紫粉，夜里的一束光（深色主题） */
[data-theme="midnight"]{
  /* 色阶（浅 → 深），暗色主题只是把它倒过来用 */
  --slate-50:#EAF0FA; --slate-100:#C7D4EC; --slate-300:#8B9BC9; --slate-500:#2A3A70; --slate-900:#1B2470;
  --bg:#1B2470; --bg-tint:#1F2A70; --bg-2:#1F2A70;
  /* 表面：毛玻璃半透明 */
  --surface:rgba(42,58,112,0.12); --surface-2:rgba(42,58,112,0.12);
  --card:rgba(42,58,112,0.12); --card-2:rgba(42,58,112,0.12);
  --glass:rgba(42,58,112,0.12); --glass-2:rgba(42,58,112,0.12); --glass-line:rgba(139,155,201,0.22);
  --blur:blur(22px) saturate(156%);
  /* 文字 */
  --text:#EAF0FA; --ink:#EAF0FA; --muted:#B2C0DF; --ink-2:#B2C0DF; --faint:#6F7DB2; --ink-3:#6F7DB2;
  /* 线与影（阴影用主色相调，比纯黑干净）*/
  --border:rgba(139,155,201,0.22); --border-2:rgba(139,155,201,0.34); --line:rgba(139,155,201,0.16); --line-2:rgba(139,155,201,0.1);
  --shadow:0 1px 2px rgba(27,36,112,0.03), 0 4px 14px -6px rgba(27,36,112,0.06);
  --shadow-2:0 1px 3px rgba(27,36,112,0.03), 0 12px 28px -14px rgba(27,36,112,0.1);
  --shadow-3:0 2px 6px rgba(27,36,112,0.04), 0 28px 52px -24px rgba(27,36,112,0.15);
  --sh-1:var(--shadow); --sh-2:var(--shadow-2); --sh-3:var(--shadow-3);
  --sh-brand:0 10px 26px -12px rgba(45,75,216,0.3);
  /* 主色 / 强调 */
  --primary:#2D4BD8; --primary-d:#233AA8; --primary-w:#FFFFFF;
  --brand:#2D4BD8; --brand-2:#233AA8; --brand-soft:rgba(45,75,216,0.1); --brand-ink:#2D4BD8;
  --sky:#C05AAB; --sky-soft:rgba(192,90,171,0.12);
  --grey-soft:#E0E8F6;
  --accent:#C05AAB; --accent-soft:rgba(192,90,171,0.12);
  /* 状态色（小面积，跟着主题走但不抢主色）*/
  --ok:#7DB0A8; --ok-bg:rgba(111,195,168,0.16); --ok-soft:rgba(111,195,168,0.16);
  --no:#E27F83; --no-bg:rgba(231,133,126,0.16);
  --danger:#E27F83; --danger-soft:rgba(231,133,126,0.16);
  --warn:#DCB270; --warn-tx:#DCB270; --warn-bg:rgba(224,188,106,0.18); --warn-soft:rgba(224,188,106,0.18);
  --gold:#E8C168; --gold-soft:rgba(232,193,104,0.16); --cinnabar:#B14B51;
  /* 三档深浅（日历格子 / 时间槽 / 选中态都用它，暗色主题也能看清）*/
  --lv1-bg:rgba(192,90,171,0.22); --lv1-tx:#FFFFFF;
  --lv2-bg:rgba(192,90,171,0.45); --lv2-tx:#FFFFFF;
  --lv3-bg:#C05AAB; --lv3-tx:#101418;
  /* 背景三团弥散光 */
  --mesh-1:rgba(192,90,171,0.3); --mesh-2:rgba(139,155,201,0.22); --mesh-3:rgba(144,67,128,0.26);
  /* 背景装饰层（网格 / 扫描线 / 纸纹 / 流体 / 光影…）。ui.css 会把它拼进 */
  /* body 的 background-image，所以永远在内容下面，不会挡东西。 */
  --fx-layer:linear-gradient(168deg,rgba(139,155,201,0.3) 0%,transparent 34%), linear-gradient(348deg,rgba(192,90,171,0.22) 0%,transparent 40%), radial-gradient(74% 58% at 16% 4%,rgba(139,155,201,0.26),transparent 64%), radial-gradient(60% 48% at 92% 88%,rgba(192,90,171,0.2),transparent 66%);
  /* 左上角主光的位置 —— body::before 拿它做缓慢漂移（光影流动）。 */
  --light-x:18%; --light-y:-12%;
  /* 主色渐变：只有声明了 grad 的主题才有渐变，其余一律是纯主色。 */
  /* （老师给的截图里那张大绿卡是渐变的：#367969 → #1D5C4F，
     正好 = 主色提亮 7% → 压暗 13%，见 gen_themes.py 的 grad 字段）*/
  --brand-grad:radial-gradient(120% 90% at 8% 0%,rgba(108,129,227,0.55),transparent 62%), radial-gradient(90% 70% at 92% 108%,rgba(29,49,142,0.55),transparent 64%), radial-gradient(70% 60% at 96% 4%,rgba(192,90,171,0.22),transparent 66%), linear-gradient(140deg,#3B57DA,#253FB5);
  /* 装饰：暗色主题给一点内发光，亮色主题不用 */
  --glow:rgba(192,90,171,0.16);
  --ring:#D28BC4;
  /* 字体：古风那几套标题用衬线 */
  --font-h:"Inter","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:0;
}

/* 石墨微光 · 深色科技 —— 石墨深灰打底，青灰渐层，一点柠檬绿提神（深色主题） */
[data-theme="graphite"]{
  /* 色阶（浅 → 深），暗色主题只是把它倒过来用 */
  --slate-50:#F4F6F7; --slate-100:#D8D9D9; --slate-300:#8C9AA1; --slate-500:#4C5A62; --slate-900:#2B3439;
  --bg:#2B3439; --bg-tint:#343F45; --bg-2:#343F45;
  /* 表面：毛玻璃半透明 */
  --surface:rgba(76,90,98,0.12); --surface-2:rgba(76,90,98,0.12);
  --card:rgba(76,90,98,0.12); --card-2:rgba(76,90,98,0.12);
  --glass:rgba(76,90,98,0.12); --glass-2:rgba(76,90,98,0.12); --glass-line:rgba(140,154,161,0.22);
  --blur:blur(24px) saturate(157%);
  /* 文字 */
  --text:#F4F6F7; --ink:#F4F6F7; --muted:#BDC2C5; --ink-2:#BDC2C5; --faint:#738087; --ink-3:#738087;
  /* 线与影（阴影用主色相调，比纯黑干净）*/
  --border:rgba(140,154,161,0.22); --border-2:rgba(140,154,161,0.34); --line:rgba(140,154,161,0.16); --line-2:rgba(140,154,161,0.1);
  --shadow:0 1px 2px rgba(43,52,57,0.03), 0 4px 14px -6px rgba(43,52,57,0.06);
  --shadow-2:0 1px 3px rgba(43,52,57,0.03), 0 12px 28px -14px rgba(43,52,57,0.1);
  --shadow-3:0 2px 6px rgba(43,52,57,0.04), 0 28px 52px -24px rgba(43,52,57,0.15);
  --sh-1:var(--shadow); --sh-2:var(--shadow-2); --sh-3:var(--shadow-3);
  --sh-brand:0 10px 26px -12px rgba(63,90,102,0.3);
  /* 主色 / 强调 */
  --primary:#3F5A66; --primary-d:#31464F; --primary-w:#FFFFFF;
  --brand:#3F5A66; --brand-2:#31464F; --brand-soft:rgba(63,90,102,0.1); --brand-ink:#3F5A66;
  --sky:#C3D94E; --sky-soft:rgba(195,217,78,0.12);
  --grey-soft:#ECEDEE;
  --accent:#C3D94E; --accent-soft:rgba(195,217,78,0.12);
  /* 状态色（小面积，跟着主题走但不抢主色）*/
  --ok:#7EC697; --ok-bg:rgba(111,195,168,0.16); --ok-soft:rgba(111,195,168,0.16);
  --no:#E28F78; --no-bg:rgba(231,133,126,0.16);
  --danger:#E28F78; --danger-soft:rgba(231,133,126,0.16);
  --warn:#DDBE67; --warn-tx:#DDBE67; --warn-bg:rgba(224,188,106,0.18); --warn-soft:rgba(224,188,106,0.18);
  --gold:#C9A24A; --gold-soft:rgba(201,162,74,0.16); --cinnabar:#B25B46;
  /* 三档深浅（日历格子 / 时间槽 / 选中态都用它，暗色主题也能看清）*/
  --lv1-bg:rgba(195,217,78,0.22); --lv1-tx:#FFFFFF;
  --lv2-bg:rgba(195,217,78,0.45); --lv2-tx:#FFFFFF;
  --lv3-bg:#C3D94E; --lv3-tx:#101418;
  /* 背景三团弥散光 */
  --mesh-1:rgba(195,217,78,0.3); --mesh-2:rgba(140,154,161,0.22); --mesh-3:rgba(146,162,58,0.26);
  /* 背景装饰层（网格 / 扫描线 / 纸纹 / 流体 / 光影…）。ui.css 会把它拼进 */
  /* body 的 background-image，所以永远在内容下面，不会挡东西。 */
  --fx-layer:linear-gradient(168deg,rgba(140,154,161,0.3) 0%,transparent 34%), linear-gradient(348deg,rgba(195,217,78,0.22) 0%,transparent 40%), radial-gradient(74% 58% at 16% 4%,rgba(140,154,161,0.26),transparent 64%), radial-gradient(60% 48% at 92% 88%,rgba(195,217,78,0.2),transparent 66%);
  /* 左上角主光的位置 —— body::before 拿它做缓慢漂移（光影流动）。 */
  --light-x:12%; --light-y:-10%;
  /* 主色渐变：只有声明了 grad 的主题才有渐变，其余一律是纯主色。 */
  /* （老师给的截图里那张大绿卡是渐变的：#367969 → #1D5C4F，
     正好 = 主色提亮 7% → 压暗 13%，见 gen_themes.py 的 grad 字段）*/
  --brand-grad:radial-gradient(120% 90% at 8% 0%,rgba(120,139,147,0.55),transparent 62%), radial-gradient(90% 70% at 92% 108%,rgba(41,59,67,0.55),transparent 64%), radial-gradient(70% 60% at 96% 4%,rgba(195,217,78,0.22),transparent 66%), linear-gradient(140deg,#4C6570,#344B55);
  /* 装饰：暗色主题给一点内发光，亮色主题不用 */
  --glow:rgba(195,217,78,0.16);
  --ring:#D5E483;
  /* 字体：古风那几套标题用衬线 */
  --font-h:"Inter","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:0;
}

/* 午夜藏青 · 深色科技 —— 深藏青最稳的那一档，冷灰白留白，像一份认真做的财报 */
[data-theme="beacon"]{
  /* 色阶（浅 → 深），暗色主题只是把它倒过来用 */
  --slate-50:#F6F7F8; --slate-100:#E7E9EC; --slate-300:#9AA4B5; --slate-500:#374866; --slate-900:#1B2740;
  --bg:#F6F7F8; --bg-tint:#F0F2F3; --bg-2:#F0F2F3;
  /* 表面：毛玻璃半透明 */
  --surface:rgba(255,255,255,0.8); --surface-2:#FAFBFB;
  --card:rgba(255,255,255,0.58); --card-2:rgba(255,255,255,0.78);
  --glass:rgba(255,255,255,0.58); --glass-2:rgba(255,255,255,0.78); --glass-line:rgba(255,255,255,0.74);
  --blur:blur(20px) saturate(167%);
  /* 文字 */
  --text:#1B2740; --ink:#1B2740; --muted:#374866; --ink-2:#374866; --faint:#9AA4B5; --ink-3:#9AA4B5;
  /* 线与影（阴影用主色相调，比纯黑干净）*/
  --border:rgba(27,39,64,0.12); --border-2:rgba(27,39,64,0.22); --line:rgba(27,39,64,0.06); --line-2:rgba(27,39,64,0.04);
  --shadow:0 1px 2px rgba(27,39,64,0.05), 0 4px 14px -6px rgba(27,39,64,0.1);
  --shadow-2:0 1px 3px rgba(27,39,64,0.06), 0 12px 28px -14px rgba(27,39,64,0.18);
  --shadow-3:0 2px 6px rgba(27,39,64,0.08), 0 28px 52px -24px rgba(27,39,64,0.28);
  --sh-1:var(--shadow); --sh-2:var(--shadow-2); --sh-3:var(--shadow-3);
  --sh-brand:0 10px 26px -12px rgba(45,63,94,0.55);
  /* 主色 / 强调 */
  --primary:#2D3F5E; --primary-d:#233149; --primary-w:#FFFFFF;
  --brand:#2D3F5E; --brand-2:#233149; --brand-soft:rgba(45,63,94,0.1); --brand-ink:#2D3F5E;
  --sky:#223556; --sky-soft:rgba(34,53,86,0.12);
  --grey-soft:#F1F3F4;
  --accent:#223556; --accent-soft:rgba(34,53,86,0.12);
  /* 状态色（小面积，跟着主题走但不抢主色）*/
  --ok:#2B6D61; --ok-bg:rgba(46,122,100,0.16); --ok-soft:rgba(46,122,100,0.16);
  --no:#9E4747; --no-bg:rgba(176,74,69,0.16);
  --danger:#9E4747; --danger-soft:rgba(176,74,69,0.16);
  --warn:#73581A; --warn-tx:#73581A; --warn-bg:rgba(160,124,40,0.18); --warn-soft:rgba(160,124,40,0.18);
  --gold:#C9A24A; --gold-soft:rgba(201,162,74,0.16); --cinnabar:#9E4747;
  /* 三档深浅（日历格子 / 时间槽 / 选中态都用它，暗色主题也能看清）*/
  --lv1-bg:#E7E9EC; --lv1-tx:#1B2740;
  --lv2-bg:#374866; --lv2-tx:#FFFFFF;
  --lv3-bg:#1B2740; --lv3-tx:#FFFFFF;
  /* 背景三团弥散光 */
  --mesh-1:rgba(231,233,236,0.7); --mesh-2:rgba(34,53,86,0.18); --mesh-3:rgba(154,164,181,0.26);
  /* 背景装饰层（网格 / 扫描线 / 纸纹 / 流体 / 光影…）。ui.css 会把它拼进 */
  /* body 的 background-image，所以永远在内容下面，不会挡东西。 */
  --fx-layer:radial-gradient(78% 62% at 6% -10%,rgba(231,233,236,0.3),transparent 58%), radial-gradient(58% 52% at 98% 4%,rgba(34,53,86,0.26),transparent 62%), radial-gradient(88% 70% at 88% 104%,rgba(55,72,102,0.3),transparent 64%), radial-gradient(70% 34% at 34% 112%,rgba(27,39,64,0.16),transparent 70%);
  /* 左上角主光的位置 —— body::before 拿它做缓慢漂移（光影流动）。 */
  --light-x:6%; --light-y:-8%;
  /* 主色渐变：只有声明了 grad 的主题才有渐变，其余一律是纯主色。 */
  /* （老师给的截图里那张大绿卡是渐变的：#367969 → #1D5C4F，
     正好 = 主色提亮 7% → 压暗 13%，见 gen_themes.py 的 grad 字段）*/
  --brand-grad:radial-gradient(120% 90% at 8% 0%,rgba(108,120,142,0.55),transparent 62%), radial-gradient(90% 70% at 92% 108%,rgba(29,41,62,0.55),transparent 64%), radial-gradient(70% 60% at 96% 4%,rgba(34,53,86,0.22),transparent 66%), linear-gradient(140deg,#3B4C69,#25344E);
  /* 装饰：暗色主题给一点内发光，亮色主题不用 */
  --glow:transparent;
  --ring:#223556;
  /* 字体：古风那几套标题用衬线 */
  --font-h:"Songti SC","STSong","Noto Serif SC","Source Han Serif SC","PingFang SC","Microsoft YaHei",serif;
  --serif:1;
}

/* 深海浮台 · 深色科技 —— 深海军蓝 #092D47，上面一层天光渐变，冷静而开阔 */
[data-theme="abyss"]{
  /* 色阶（浅 → 深），暗色主题只是把它倒过来用 */
  --slate-50:#F7F9FB; --slate-100:#E1E5E8; --slate-300:#93A7B5; --slate-500:#2C4A63; --slate-900:#082C46;
  --bg:#F7F9FB; --bg-tint:#EFF2F4; --bg-2:#EFF2F4;
  /* 表面：毛玻璃半透明 */
  --surface:rgba(255,255,255,0.8); --surface-2:#FBFCFD;
  --card:rgba(255,255,255,0.58); --card-2:rgba(255,255,255,0.78);
  --glass:rgba(255,255,255,0.58); --glass-2:rgba(255,255,255,0.78); --glass-line:rgba(255,255,255,0.74);
  --blur:blur(22px) saturate(167%);
  /* 文字 */
  --text:#082C46; --ink:#082C46; --muted:#2C4A63; --ink-2:#2C4A63; --faint:#93A7B5; --ink-3:#93A7B5;
  /* 线与影（阴影用主色相调，比纯黑干净）*/
  --border:rgba(8,44,70,0.12); --border-2:rgba(8,44,70,0.22); --line:rgba(8,44,70,0.06); --line-2:rgba(8,44,70,0.04);
  --shadow:0 1px 2px rgba(8,44,70,0.05), 0 4px 14px -6px rgba(8,44,70,0.1);
  --shadow-2:0 1px 3px rgba(8,44,70,0.06), 0 12px 28px -14px rgba(8,44,70,0.18);
  --shadow-3:0 2px 6px rgba(8,44,70,0.08), 0 28px 52px -24px rgba(8,44,70,0.28);
  --sh-1:var(--shadow); --sh-2:var(--shadow-2); --sh-3:var(--shadow-3);
  --sh-brand:0 10px 26px -12px rgba(14,58,87,0.55);
  /* 主色 / 强调 */
  --primary:#0E3A57; --primary-d:#0A2D43; --primary-w:#FFFFFF;
  --brand:#0E3A57; --brand-2:#0A2D43; --brand-soft:rgba(14,58,87,0.1); --brand-ink:#0E3A57;
  --sky:#1B5E84; --sky-soft:rgba(27,94,132,0.12);
  --grey-soft:#F0F3F5;
  --accent:#1B5E84; --accent-soft:rgba(27,94,132,0.12);
  /* 状态色（小面积，跟着主题走但不抢主色）*/
  --ok:#2A7469; --ok-bg:rgba(46,122,100,0.16); --ok-soft:rgba(46,122,100,0.16);
  --no:#9E4C4C; --no-bg:rgba(176,74,69,0.16);
  --danger:#9E4C4C; --danger-soft:rgba(176,74,69,0.16);
  --warn:#725C1F; --warn-tx:#725C1F; --warn-bg:rgba(160,124,40,0.18); --warn-soft:rgba(160,124,40,0.18);
  --gold:#C9A24A; --gold-soft:rgba(201,162,74,0.16); --cinnabar:#9E4C4C;
  /* 三档深浅（日历格子 / 时间槽 / 选中态都用它，暗色主题也能看清）*/
  --lv1-bg:#E1E5E8; --lv1-tx:#082C46;
  --lv2-bg:#2C4A63; --lv2-tx:#FFFFFF;
  --lv3-bg:#082C46; --lv3-tx:#FFFFFF;
  /* 背景三团弥散光 */
  --mesh-1:rgba(225,229,232,0.7); --mesh-2:rgba(27,94,132,0.18); --mesh-3:rgba(147,167,181,0.26);
  /* 背景装饰层（网格 / 扫描线 / 纸纹 / 流体 / 光影…）。ui.css 会把它拼进 */
  /* body 的 background-image，所以永远在内容下面，不会挡东西。 */
  --fx-layer:radial-gradient(78% 62% at 6% -10%,rgba(225,229,232,0.3),transparent 58%), radial-gradient(58% 52% at 98% 4%,rgba(27,94,132,0.26),transparent 62%), radial-gradient(88% 70% at 88% 104%,rgba(44,74,99,0.3),transparent 64%), radial-gradient(70% 34% at 34% 112%,rgba(8,44,70,0.16),transparent 70%);
  /* 左上角主光的位置 —— body::before 拿它做缓慢漂移（光影流动）。 */
  --light-x:50%; --light-y:-18%;
  /* 主色渐变：只有声明了 grad 的主题才有渐变，其余一律是纯主色。 */
  /* （老师给的截图里那张大绿卡是渐变的：#367969 → #1D5C4F，
     正好 = 主色提亮 7% → 压暗 13%，见 gen_themes.py 的 grad 字段）*/
  --brand-grad:radial-gradient(120% 90% at 8% 0%,rgba(86,117,137,0.55),transparent 62%), radial-gradient(90% 70% at 92% 108%,rgba(9,38,57,0.55),transparent 64%), radial-gradient(70% 60% at 96% 4%,rgba(27,94,132,0.22),transparent 66%), linear-gradient(140deg,#1E4762,#0B3049);
  /* 装饰：暗色主题给一点内发光，亮色主题不用 */
  --glow:transparent;
  --ring:#1B5E84;
  /* 字体：古风那几套标题用衬线 */
  --font-h:"Inter","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:0;
}

/* ---------------- 清新自然（3 套）---------------- */
/* 薄荷苔藓 · 清新自然 —— 薄荷绿大色块 + 藕粉 + 雾蓝，像一页植物图鉴 */
[data-theme="mint"]{
  /* 色阶（浅 → 深），暗色主题只是把它倒过来用 */
  --slate-50:#FDFAF7; --slate-100:#EAF2EE; --slate-300:#B9D8CE; --slate-500:#3F9C7C; --slate-900:#1F2A2E;
  --bg:#FDFAF7; --bg-tint:#F6F7F3; --bg-2:#F6F7F3;
  /* 表面：毛玻璃半透明 */
  --surface:rgba(255,255,255,0.8); --surface-2:#FEFCFB;
  --card:rgba(255,255,255,0.62); --card-2:rgba(255,255,255,0.82);
  --glass:rgba(255,255,255,0.62); --glass-2:rgba(255,255,255,0.82); --glass-line:rgba(255,255,255,0.74);
  --blur:blur(22px) saturate(168%);
  /* 文字 */
  --text:#1F2A2E; --ink:#1F2A2E; --muted:#3F9C7C; --ink-2:#3F9C7C; --faint:#B9D8CE; --ink-3:#B9D8CE;
  /* 线与影（阴影用主色相调，比纯黑干净）*/
  --border:rgba(31,42,46,0.12); --border-2:rgba(31,42,46,0.22); --line:rgba(31,42,46,0.06); --line-2:rgba(31,42,46,0.04);
  --shadow:0 1px 2px rgba(31,42,46,0.05), 0 4px 14px -6px rgba(31,42,46,0.1);
  --shadow-2:0 1px 3px rgba(31,42,46,0.06), 0 12px 28px -14px rgba(31,42,46,0.18);
  --shadow-3:0 2px 6px rgba(31,42,46,0.08), 0 28px 52px -24px rgba(31,42,46,0.28);
  --sh-1:var(--shadow); --sh-2:var(--shadow-2); --sh-3:var(--shadow-3);
  --sh-brand:0 10px 26px -12px rgba(53,153,124,0.55);
  /* 主色 / 强调 */
  --primary:#35997C; --primary-d:#297760; --primary-w:#101418;
  --brand:#35997C; --brand-2:#297760; --brand-soft:rgba(53,153,124,0.1); --brand-ink:#35997C;
  --sky:#3C8E82; --sky-soft:rgba(60,142,130,0.12);
  --grey-soft:#F7F7F4;
  --accent:#3C8E82; --accent-soft:rgba(60,142,130,0.12);
  /* 状态色（小面积，跟着主题走但不抢主色）*/
  --ok:#307D69; --ok-bg:rgba(46,122,100,0.16); --ok-soft:rgba(46,122,100,0.16);
  --no:#A2524C; --no-bg:rgba(176,74,69,0.16);
  --danger:#A2524C; --danger-soft:rgba(176,74,69,0.16);
  --warn:#75611F; --warn-tx:#75611F; --warn-bg:rgba(160,124,40,0.18); --warn-soft:rgba(160,124,40,0.18);
  --gold:#C9A24A; --gold-soft:rgba(201,162,74,0.16); --cinnabar:#A2524C;
  /* 三档深浅（日历格子 / 时间槽 / 选中态都用它，暗色主题也能看清）*/
  --lv1-bg:#EAF2EE; --lv1-tx:#1F2A2E;
  --lv2-bg:#3F9C7C; --lv2-tx:#101418;
  --lv3-bg:#1F2A2E; --lv3-tx:#FFFFFF;
  /* 背景三团弥散光 */
  --mesh-1:rgba(234,242,238,0.7); --mesh-2:rgba(60,142,130,0.18); --mesh-3:rgba(185,216,206,0.26);
  /* 背景装饰层（网格 / 扫描线 / 纸纹 / 流体 / 光影…）。ui.css 会把它拼进 */
  /* body 的 background-image，所以永远在内容下面，不会挡东西。 */
  --fx-layer:radial-gradient(70% 56% at 12% 8%,rgba(60,142,130,0.3),transparent 64%), radial-gradient(62% 50% at 92% 34%,rgba(234,242,238,0.52),transparent 66%), radial-gradient(78% 60% at 40% 106%,rgba(185,216,206,0.3),transparent 70%);
  /* 左上角主光的位置 —— body::before 拿它做缓慢漂移（光影流动）。 */
  --light-x:10%; --light-y:-6%;
  /* 主色渐变：只有声明了 grad 的主题才有渐变，其余一律是纯主色。 */
  /* （老师给的截图里那张大绿卡是渐变的：#367969 → #1D5C4F，
     正好 = 主色提亮 7% → 压暗 13%，见 gen_themes.py 的 grad 字段）*/
  --brand-grad:radial-gradient(120% 90% at 8% 0%,rgba(113,183,163,0.55),transparent 62%), radial-gradient(90% 70% at 92% 108%,rgba(34,100,81,0.55),transparent 64%), radial-gradient(70% 60% at 96% 4%,rgba(60,142,130,0.22),transparent 66%), linear-gradient(140deg,#43A085,#2C8068);
  /* 装饰：暗色主题给一点内发光，亮色主题不用 */
  --glow:transparent;
  --ring:#3C8E82;
  /* 字体：古风那几套标题用衬线 */
  --font-h:"Inter","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:0;
}

/* 深松青玉 · 清新自然 —— 深青绿当主角，纸白打底，稳重又不冷 */
[data-theme="pine"]{
  /* 色阶（浅 → 深），暗色主题只是把它倒过来用 */
  --slate-50:#F8FAFA; --slate-100:#E4EEEC; --slate-300:#A6C9C3; --slate-500:#32887D; --slate-900:#16302C;
  --bg:#F8FAFA; --bg-tint:#F1F5F5; --bg-2:#F1F5F5;
  /* 表面：毛玻璃半透明 */
  --surface:rgba(255,255,255,0.8); --surface-2:#FBFCFC;
  --card:rgba(255,255,255,0.56); --card-2:rgba(255,255,255,0.76);
  --glass:rgba(255,255,255,0.56); --glass-2:rgba(255,255,255,0.76); --glass-line:rgba(255,255,255,0.74);
  --blur:blur(20px) saturate(166%);
  /* 文字 */
  --text:#16302C; --ink:#16302C; --muted:#32887D; --ink-2:#32887D; --faint:#A6C9C3; --ink-3:#A6C9C3;
  /* 线与影（阴影用主色相调，比纯黑干净）*/
  --border:rgba(22,48,44,0.12); --border-2:rgba(22,48,44,0.22); --line:rgba(22,48,44,0.06); --line-2:rgba(22,48,44,0.04);
  --shadow:0 1px 2px rgba(22,48,44,0.05), 0 4px 14px -6px rgba(22,48,44,0.1);
  --shadow-2:0 1px 3px rgba(22,48,44,0.06), 0 12px 28px -14px rgba(22,48,44,0.18);
  --shadow-3:0 2px 6px rgba(22,48,44,0.08), 0 28px 52px -24px rgba(22,48,44,0.28);
  --sh-1:var(--shadow); --sh-2:var(--shadow-2); --sh-3:var(--shadow-3);
  --sh-brand:0 10px 26px -12px rgba(47,132,120,0.55);
  /* 主色 / 强调 */
  --primary:#2F8478; --primary-d:#24665D; --primary-w:#FFFFFF;
  --brand:#2F8478; --brand-2:#24665D; --brand-soft:rgba(47,132,120,0.1); --brand-ink:#2F8478;
  --sky:#3C8E82; --sky-soft:rgba(60,142,130,0.12);
  --grey-soft:#F2F6F6;
  --accent:#3C8E82; --accent-soft:rgba(60,142,130,0.12);
  /* 状态色（小面积，跟着主题走但不抢主色）*/
  --ok:#307D69; --ok-bg:rgba(46,122,100,0.16); --ok-soft:rgba(46,122,100,0.16);
  --no:#A2524C; --no-bg:rgba(176,74,69,0.16);
  --danger:#A2524C; --danger-soft:rgba(176,74,69,0.16);
  --warn:#75611F; --warn-tx:#75611F; --warn-bg:rgba(160,124,40,0.18); --warn-soft:rgba(160,124,40,0.18);
  --gold:#C9A24A; --gold-soft:rgba(201,162,74,0.16); --cinnabar:#A2524C;
  /* 三档深浅（日历格子 / 时间槽 / 选中态都用它，暗色主题也能看清）*/
  --lv1-bg:#E4EEEC; --lv1-tx:#16302C;
  --lv2-bg:#32887D; --lv2-tx:#101418;
  --lv3-bg:#16302C; --lv3-tx:#FFFFFF;
  /* 背景三团弥散光 */
  --mesh-1:rgba(228,238,236,0.7); --mesh-2:rgba(60,142,130,0.18); --mesh-3:rgba(166,201,195,0.26);
  /* 背景装饰层（网格 / 扫描线 / 纸纹 / 流体 / 光影…）。ui.css 会把它拼进 */
  /* body 的 background-image，所以永远在内容下面，不会挡东西。 */
  --fx-layer:radial-gradient(78% 62% at 6% -10%,rgba(228,238,236,0.3),transparent 58%), radial-gradient(58% 52% at 98% 4%,rgba(60,142,130,0.26),transparent 62%), radial-gradient(88% 70% at 88% 104%,rgba(50,136,125,0.3),transparent 64%), radial-gradient(70% 34% at 34% 112%,rgba(22,48,44,0.16),transparent 70%);
  /* 左上角主光的位置 —— body::before 拿它做缓慢漂移（光影流动）。 */
  --light-x:4%; --light-y:-8%;
  /* 主色渐变：只有声明了 grad 的主题才有渐变，其余一律是纯主色。 */
  /* （老师给的截图里那张大绿卡是渐变的：#367969 → #1D5C4F，
     正好 = 主色提亮 7% → 压暗 13%，见 gen_themes.py 的 grad 字段）*/
  --brand-grad:radial-gradient(120% 90% at 8% 0%,rgba(109,168,160,0.55),transparent 62%), radial-gradient(90% 70% at 92% 108%,rgba(31,87,79,0.55),transparent 64%), radial-gradient(70% 60% at 96% 4%,rgba(60,142,130,0.22),transparent 66%), linear-gradient(140deg,#3D8C81,#276E64);
  /* 装饰：暗色主题给一点内发光，亮色主题不用 */
  --glow:transparent;
  --ring:#3C8E82;
  /* 字体：古风那几套标题用衬线 */
  --font-h:"Inter","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:0;
}

/* 雾霭冰蓝 · 清新自然 —— 整页淡冰蓝 #DBE8FB，像清早的雾，安静、干净 */
[data-theme="glacier"]{
  /* 色阶（浅 → 深），暗色主题只是把它倒过来用 */
  --slate-50:#EAF1FC; --slate-100:#DBE8FB; --slate-300:#A9BCD6; --slate-500:#5B6E90; --slate-900:#1E2A3D;
  --bg:#EAF1FC; --bg-tint:#E4EDFB; --bg-2:#E4EDFB;
  /* 表面：毛玻璃半透明 */
  --surface:rgba(255,255,255,0.8); --surface-2:#F5F8FD;
  --card:rgba(255,255,255,0.55); --card-2:rgba(255,255,255,0.75);
  --glass:rgba(255,255,255,0.55); --glass-2:rgba(255,255,255,0.75); --glass-line:rgba(255,255,255,0.74);
  --blur:blur(26px) saturate(166%);
  /* 文字 */
  --text:#1E2A3D; --ink:#1E2A3D; --muted:#5B6E90; --ink-2:#5B6E90; --faint:#A9BCD6; --ink-3:#A9BCD6;
  /* 线与影（阴影用主色相调，比纯黑干净）*/
  --border:rgba(30,42,61,0.12); --border-2:rgba(30,42,61,0.22); --line:rgba(30,42,61,0.06); --line-2:rgba(30,42,61,0.04);
  --shadow:0 1px 2px rgba(30,42,61,0.05), 0 4px 14px -6px rgba(30,42,61,0.1);
  --shadow-2:0 1px 3px rgba(30,42,61,0.06), 0 12px 28px -14px rgba(30,42,61,0.18);
  --shadow-3:0 2px 6px rgba(30,42,61,0.08), 0 28px 52px -24px rgba(30,42,61,0.28);
  --sh-1:var(--shadow); --sh-2:var(--shadow-2); --sh-3:var(--shadow-3);
  --sh-brand:0 10px 26px -12px rgba(59,92,138,0.55);
  /* 主色 / 强调 */
  --primary:#3B5C8A; --primary-d:#2E476B; --primary-w:#FFFFFF;
  --brand:#3B5C8A; --brand-2:#2E476B; --brand-soft:rgba(59,92,138,0.1); --brand-ink:#3B5C8A;
  --sky:#4A76C8; --sky-soft:rgba(74,118,200,0.12);
  --grey-soft:#E5EEFB;
  --accent:#4A76C8; --accent-soft:rgba(74,118,200,0.12);
  /* 状态色（小面积，跟着主题走但不抢主色）*/
  --ok:#337976; --ok-bg:rgba(46,122,100,0.16); --ok-soft:rgba(46,122,100,0.16);
  --no:#A34F54; --no-bg:rgba(176,74,69,0.16);
  --danger:#A34F54; --danger-soft:rgba(176,74,69,0.16);
  --warn:#775E26; --warn-tx:#775E26; --warn-bg:rgba(160,124,40,0.18); --warn-soft:rgba(160,124,40,0.18);
  --gold:#C9A24A; --gold-soft:rgba(201,162,74,0.16); --cinnabar:#A34F54;
  /* 三档深浅（日历格子 / 时间槽 / 选中态都用它，暗色主题也能看清）*/
  --lv1-bg:#DBE8FB; --lv1-tx:#1E2A3D;
  --lv2-bg:#5B6E90; --lv2-tx:#FFFFFF;
  --lv3-bg:#1E2A3D; --lv3-tx:#FFFFFF;
  /* 背景三团弥散光 */
  --mesh-1:rgba(219,232,251,0.7); --mesh-2:rgba(74,118,200,0.18); --mesh-3:rgba(169,188,214,0.26);
  /* 背景装饰层（网格 / 扫描线 / 纸纹 / 流体 / 光影…）。ui.css 会把它拼进 */
  /* body 的 background-image，所以永远在内容下面，不会挡东西。 */
  --fx-layer:radial-gradient(78% 62% at 6% -10%,rgba(219,232,251,0.3),transparent 58%), radial-gradient(58% 52% at 98% 4%,rgba(74,118,200,0.26),transparent 62%), radial-gradient(88% 70% at 88% 104%,rgba(91,110,144,0.3),transparent 64%), radial-gradient(70% 34% at 34% 112%,rgba(30,42,61,0.16),transparent 70%);
  /* 左上角主光的位置 —— body::before 拿它做缓慢漂移（光影流动）。 */
  --light-x:12%; --light-y:-12%;
  /* 主色渐变：只有声明了 grad 的主题才有渐变，其余一律是纯主色。 */
  /* （老师给的截图里那张大绿卡是渐变的：#367969 → #1D5C4F，
     正好 = 主色提亮 7% → 压暗 13%，见 gen_themes.py 的 grad 字段）*/
  --brand-grad:radial-gradient(120% 90% at 8% 0%,rgba(117,140,173,0.55),transparent 62%), radial-gradient(90% 70% at 92% 108%,rgba(38,60,91,0.55),transparent 64%), radial-gradient(70% 60% at 96% 4%,rgba(74,118,200,0.22),transparent 66%), linear-gradient(140deg,#486792,#314D73);
  /* 装饰：暗色主题给一点内发光，亮色主题不用 */
  --glow:transparent;
  --ring:#4A76C8;
  /* 字体：古风那几套标题用衬线 */
  --font-h:"Inter","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:0;
}

/* ---------------- 暖阳生活（3 套）---------------- */
/* 日光金黄 · 暖阳生活 —— 正午日光黄 #F9C519，整页像被阳光打过，暖白收口 */
[data-theme="sunlight"]{
  /* 色阶（浅 → 深），暗色主题只是把它倒过来用 */
  --slate-50:#FBFAF6; --slate-100:#FDF3D6; --slate-300:#F2DC92; --slate-500:#C9A83D; --slate-900:#2A2410;
  --bg:#FBFAF6; --bg-tint:#FBF7EA; --bg-2:#FBF7EA;
  /* 表面：毛玻璃半透明 */
  --surface:rgba(255,255,255,0.8); --surface-2:#FDFCFA;
  --card:rgba(255,255,255,0.58); --card-2:rgba(255,255,255,0.78);
  --glass:rgba(255,255,255,0.58); --glass-2:rgba(255,255,255,0.78); --glass-line:rgba(255,255,255,0.74);
  --blur:blur(24px) saturate(167%);
  /* 文字 */
  --text:#2A2410; --ink:#2A2410; --muted:#C9A83D; --ink-2:#C9A83D; --faint:#F2DC92; --ink-3:#F2DC92;
  /* 线与影（阴影用主色相调，比纯黑干净）*/
  --border:rgba(42,36,16,0.12); --border-2:rgba(42,36,16,0.22); --line:rgba(42,36,16,0.06); --line-2:rgba(42,36,16,0.04);
  --shadow:0 1px 2px rgba(42,36,16,0.05), 0 4px 14px -6px rgba(42,36,16,0.1);
  --shadow-2:0 1px 3px rgba(42,36,16,0.06), 0 12px 28px -14px rgba(42,36,16,0.18);
  --shadow-3:0 2px 6px rgba(42,36,16,0.08), 0 28px 52px -24px rgba(42,36,16,0.28);
  --sh-1:var(--shadow); --sh-2:var(--shadow-2); --sh-3:var(--shadow-3);
  --sh-brand:0 10px 26px -12px rgba(214,154,24,0.55);
  /* 主色 / 强调 */
  --primary:#D69A18; --primary-d:#A67812; --primary-w:#101418;
  --brand:#D69A18; --brand-2:#A67812; --brand-soft:rgba(214,154,24,0.1); --brand-ink:#D69A18;
  --sky:#E8A82E; --sky-soft:rgba(232,168,46,0.12);
  --grey-soft:#FBF8ED;
  --accent:#E8A82E; --accent-soft:rgba(232,168,46,0.12);
  /* 状态色（小面积，跟着主题走但不抢主色）*/
  --ok:#4F825A; --ok-bg:rgba(46,122,100,0.16); --ok-soft:rgba(46,122,100,0.16);
  --no:#B65542; --no-bg:rgba(176,74,69,0.16);
  --danger:#B65542; --danger-soft:rgba(176,74,69,0.16);
  --warn:#866316; --warn-tx:#866316; --warn-bg:rgba(160,124,40,0.18); --warn-soft:rgba(160,124,40,0.18);
  --gold:#B8860B; --gold-soft:rgba(184,134,11,0.16); --cinnabar:#B65542;
  /* 三档深浅（日历格子 / 时间槽 / 选中态都用它，暗色主题也能看清）*/
  --lv1-bg:#FDF3D6; --lv1-tx:#2A2410;
  --lv2-bg:#C9A83D; --lv2-tx:#101418;
  --lv3-bg:#2A2410; --lv3-tx:#FFFFFF;
  /* 背景三团弥散光 */
  --mesh-1:rgba(253,243,214,0.7); --mesh-2:rgba(232,168,46,0.18); --mesh-3:rgba(242,220,146,0.26);
  /* 背景装饰层（网格 / 扫描线 / 纸纹 / 流体 / 光影…）。ui.css 会把它拼进 */
  /* body 的 background-image，所以永远在内容下面，不会挡东西。 */
  --fx-layer:radial-gradient(46% 40% at 26% -8%,rgba(232,168,46,0.5),transparent 60%), radial-gradient(88% 66% at 22% -14%,rgba(232,168,46,0.28),transparent 68%), linear-gradient(180deg,rgba(253,243,214,0.55) 0%,transparent 62%);
  /* 左上角主光的位置 —— body::before 拿它做缓慢漂移（光影流动）。 */
  --light-x:22%; --light-y:-14%;
  /* 主色渐变：只有声明了 grad 的主题才有渐变，其余一律是纯主色。 */
  /* （老师给的截图里那张大绿卡是渐变的：#367969 → #1D5C4F，
     正好 = 主色提亮 7% → 压暗 13%，见 gen_themes.py 的 grad 字段）*/
  --brand-grad:radial-gradient(120% 90% at 8% 0%,rgba(226,184,93,0.55),transparent 62%), radial-gradient(90% 70% at 92% 108%,rgba(141,101,15,0.55),transparent 64%), radial-gradient(70% 60% at 96% 4%,rgba(232,168,46,0.22),transparent 66%), linear-gradient(140deg,#D8A128,#B38114);
  /* 装饰：暗色主题给一点内发光，亮色主题不用 */
  --glow:transparent;
  --ring:#E8A82E;
  /* 字体：古风那几套标题用衬线 */
  --font-h:"Inter","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:0;
}

/* 奶油信笺 · 暖阳生活 —— 奶油底 + 宝蓝按钮 + 一点珊瑚粉，像一封手写信 */
[data-theme="cream"]{
  /* 色阶（浅 → 深），暗色主题只是把它倒过来用 */
  --slate-50:#FEFDF9; --slate-100:#F7EFE6; --slate-300:#D9D3C6; --slate-500:#5C80DB; --slate-900:#22303F;
  --bg:#FEFDF9; --bg-tint:#FBF8F2; --bg-2:#FBF8F2;
  /* 表面：毛玻璃半透明 */
  --surface:rgba(255,255,255,0.8); --surface-2:#FEFEFC;
  --card:rgba(255,255,255,0.6); --card-2:rgba(255,255,255,0.8);
  --glass:rgba(255,255,255,0.6); --glass-2:rgba(255,255,255,0.8); --glass-line:rgba(255,255,255,0.74);
  --blur:blur(22px) saturate(168%);
  /* 文字 */
  --text:#22303F; --ink:#22303F; --muted:#5C80DB; --ink-2:#5C80DB; --faint:#D9D3C6; --ink-3:#D9D3C6;
  /* 线与影（阴影用主色相调，比纯黑干净）*/
  --border:rgba(34,48,63,0.12); --border-2:rgba(34,48,63,0.22); --line:rgba(34,48,63,0.06); --line-2:rgba(34,48,63,0.04);
  --shadow:0 1px 2px rgba(34,48,63,0.05), 0 4px 14px -6px rgba(34,48,63,0.1);
  --shadow-2:0 1px 3px rgba(34,48,63,0.06), 0 12px 28px -14px rgba(34,48,63,0.18);
  --shadow-3:0 2px 6px rgba(34,48,63,0.08), 0 28px 52px -24px rgba(34,48,63,0.28);
  --sh-1:var(--shadow); --sh-2:var(--shadow-2); --sh-3:var(--shadow-3);
  --sh-brand:0 10px 26px -12px rgba(61,111,214,0.55);
  /* 主色 / 强调 */
  --primary:#3D6FD6; --primary-d:#2F56A6; --primary-w:#FFFFFF;
  --brand:#3D6FD6; --brand-2:#2F56A6; --brand-soft:rgba(61,111,214,0.1); --brand-ink:#3D6FD6;
  --sky:#3D6FD6; --sky-soft:rgba(61,111,214,0.12);
  --grey-soft:#FCF9F3;
  --accent:#3D6FD6; --accent-soft:rgba(61,111,214,0.12);
  /* 状态色（小面积，跟着主题走但不抢主色）*/
  --ok:#307878; --ok-bg:rgba(46,122,100,0.16); --ok-soft:rgba(46,122,100,0.16);
  --no:#A24E56; --no-bg:rgba(176,74,69,0.16);
  --danger:#A24E56; --danger-soft:rgba(176,74,69,0.16);
  --warn:#755D27; --warn-tx:#755D27; --warn-bg:rgba(160,124,40,0.18); --warn-soft:rgba(160,124,40,0.18);
  --gold:#D9A441; --gold-soft:rgba(217,164,65,0.16); --cinnabar:#A24E56;
  /* 三档深浅（日历格子 / 时间槽 / 选中态都用它，暗色主题也能看清）*/
  --lv1-bg:#F7EFE6; --lv1-tx:#22303F;
  --lv2-bg:#5C80DB; --lv2-tx:#101418;
  --lv3-bg:#22303F; --lv3-tx:#FFFFFF;
  /* 背景三团弥散光 */
  --mesh-1:rgba(247,239,230,0.7); --mesh-2:rgba(61,111,214,0.18); --mesh-3:rgba(217,211,198,0.26);
  /* 背景装饰层（网格 / 扫描线 / 纸纹 / 流体 / 光影…）。ui.css 会把它拼进 */
  /* body 的 background-image，所以永远在内容下面，不会挡东西。 */
  --fx-layer:repeating-linear-gradient(0deg,rgba(34,48,63,0.04) 0 1px,transparent 1px 3px), repeating-linear-gradient(90deg,rgba(34,48,63,0.02) 0 1px,transparent 1px 7px), radial-gradient(74% 58% at 12% -10%,rgba(61,111,214,0.22),transparent 62%);
  /* 左上角主光的位置 —— body::before 拿它做缓慢漂移（光影流动）。 */
  --light-x:8%; --light-y:-8%;
  /* 主色渐变：只有声明了 grad 的主题才有渐变，其余一律是纯主色。 */
  /* （老师给的截图里那张大绿卡是渐变的：#367969 → #1D5C4F，
     正好 = 主色提亮 7% → 压暗 13%，见 gen_themes.py 的 grad 字段）*/
  --brand-grad:radial-gradient(120% 90% at 8% 0%,rgba(119,154,226,0.55),transparent 62%), radial-gradient(90% 70% at 92% 108%,rgba(40,73,141,0.55),transparent 64%), radial-gradient(70% 60% at 96% 4%,rgba(61,111,214,0.22),transparent 66%), linear-gradient(140deg,#4A79D8,#335DB3);
  /* 装饰：暗色主题给一点内发光，亮色主题不用 */
  --glow:transparent;
  --ring:#3D6FD6;
  /* 字体：古风那几套标题用衬线 */
  --font-h:"Songti SC","STSong","Noto Serif SC","Source Han Serif SC","PingFang SC","Microsoft YaHei",serif;
  --serif:1;
}

/* 珊瑚暖橙 · 暖阳生活 —— 珊瑚橙 #F4683C 做主色，米白纸底压着细网纹，热但不燥 */
[data-theme="coral"]{
  /* 色阶（浅 → 深），暗色主题只是把它倒过来用 */
  --slate-50:#FBF7F4; --slate-100:#F7E4DA; --slate-300:#EEB49C; --slate-500:#E4572E; --slate-900:#63281A;
  --bg:#FBF7F4; --bg-tint:#F9F0EA; --bg-2:#F9F0EA;
  /* 表面：毛玻璃半透明 */
  --surface:rgba(255,255,255,0.8); --surface-2:#FDFBFA;
  --card:rgba(255,255,255,0.62); --card-2:rgba(255,255,255,0.82);
  --glass:rgba(255,255,255,0.62); --glass-2:rgba(255,255,255,0.82); --glass-line:rgba(255,255,255,0.74);
  --blur:blur(22px) saturate(168%);
  /* 文字 */
  --text:#63281A; --ink:#63281A; --muted:#E4572E; --ink-2:#E4572E; --faint:#EEB49C; --ink-3:#EEB49C;
  /* 线与影（阴影用主色相调，比纯黑干净）*/
  --border:rgba(99,40,26,0.12); --border-2:rgba(99,40,26,0.22); --line:rgba(99,40,26,0.06); --line-2:rgba(99,40,26,0.04);
  --shadow:0 1px 2px rgba(99,40,26,0.05), 0 4px 14px -6px rgba(99,40,26,0.1);
  --shadow-2:0 1px 3px rgba(99,40,26,0.06), 0 12px 28px -14px rgba(99,40,26,0.18);
  --shadow-3:0 2px 6px rgba(99,40,26,0.08), 0 28px 52px -24px rgba(99,40,26,0.28);
  --sh-1:var(--shadow); --sh-2:var(--shadow-2); --sh-3:var(--shadow-3);
  --sh-brand:0 10px 26px -12px rgba(226,90,46,0.55);
  /* 主色 / 强调 */
  --primary:#E25A2E; --primary-d:#B04623; --primary-w:#101418;
  --brand:#E25A2E; --brand-2:#B04623; --brand-soft:rgba(226,90,46,0.1); --brand-ink:#E25A2E;
  --sky:#F4683C; --sky-soft:rgba(244,104,60,0.12);
  --grey-soft:#F9F1EC;
  --accent:#F4683C; --accent-soft:rgba(244,104,60,0.12);
  /* 状态色（小面积，跟着主题走但不抢主色）*/
  --ok:#51765C; --ok-bg:rgba(46,122,100,0.16); --ok-soft:rgba(46,122,100,0.16);
  --no:#B84D43; --no-bg:rgba(176,74,69,0.16);
  --danger:#B84D43; --danger-soft:rgba(176,74,69,0.16);
  --warn:#885D18; --warn-tx:#885D18; --warn-bg:rgba(160,124,40,0.18); --warn-soft:rgba(160,124,40,0.18);
  --gold:#D9A441; --gold-soft:rgba(217,164,65,0.16); --cinnabar:#B84D43;
  /* 三档深浅（日历格子 / 时间槽 / 选中态都用它，暗色主题也能看清）*/
  --lv1-bg:#F7E4DA; --lv1-tx:#63281A;
  --lv2-bg:#E4572E; --lv2-tx:#101418;
  --lv3-bg:#63281A; --lv3-tx:#FFFFFF;
  /* 背景三团弥散光 */
  --mesh-1:rgba(247,228,218,0.7); --mesh-2:rgba(244,104,60,0.18); --mesh-3:rgba(238,180,156,0.26);
  /* 背景装饰层（网格 / 扫描线 / 纸纹 / 流体 / 光影…）。ui.css 会把它拼进 */
  /* body 的 background-image，所以永远在内容下面，不会挡东西。 */
  --fx-layer:radial-gradient(70% 56% at 12% 8%,rgba(244,104,60,0.3),transparent 64%), radial-gradient(62% 50% at 92% 34%,rgba(247,228,218,0.52),transparent 66%), radial-gradient(78% 60% at 40% 106%,rgba(238,180,156,0.3),transparent 70%);
  /* 左上角主光的位置 —— body::before 拿它做缓慢漂移（光影流动）。 */
  --light-x:16%; --light-y:-10%;
  /* 主色渐变：只有声明了 grad 的主题才有渐变，其余一律是纯主色。 */
  /* （老师给的截图里那张大绿卡是渐变的：#367969 → #1D5C4F，
     正好 = 主色提亮 7% → 压暗 13%，见 gen_themes.py 的 grad 字段）*/
  --brand-grad:radial-gradient(120% 90% at 8% 0%,rgba(234,139,108,0.55),transparent 62%), radial-gradient(90% 70% at 92% 108%,rgba(149,59,30,0.55),transparent 64%), radial-gradient(70% 60% at 96% 4%,rgba(244,104,60,0.22),transparent 66%), linear-gradient(140deg,#E4653C,#BD4B26);
  /* 装饰：暗色主题给一点内发光，亮色主题不用 */
  --glow:transparent;
  --ring:#F4683C;
  /* 字体：古风那几套标题用衬线 */
  --font-h:"Inter","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:0;
}

/* ---------------- 缤纷活力（5 套）---------------- */
/* 虹彩渐变 · 缤纷活力 —— 橙紫粉的彩虹光带在页面上流动，白底托住不刺眼 */
[data-theme="prism"]{
  /* 色阶（浅 → 深），暗色主题只是把它倒过来用 */
  --slate-50:#FDFCFD; --slate-100:#F5F0F7; --slate-300:#DCC4E8; --slate-500:#987BE7; --slate-900:#3D2160;
  --bg:#FDFCFD; --bg-tint:#FAF7FA; --bg-2:#FAF7FA;
  /* 表面：毛玻璃半透明 */
  --surface:rgba(255,255,255,0.8); --surface-2:#FEFDFE;
  --card:rgba(255,255,255,0.52); --card-2:rgba(255,255,255,0.72);
  --glass:rgba(255,255,255,0.52); --glass-2:rgba(255,255,255,0.72); --glass-line:rgba(255,255,255,0.74);
  --blur:blur(26px) saturate(165%);
  /* 文字 */
  --text:#3D2160; --ink:#3D2160; --muted:#987BE7; --ink-2:#987BE7; --faint:#DCC4E8; --ink-3:#DCC4E8;
  /* 线与影（阴影用主色相调，比纯黑干净）*/
  --border:rgba(61,33,96,0.12); --border-2:rgba(61,33,96,0.22); --line:rgba(61,33,96,0.06); --line-2:rgba(61,33,96,0.04);
  --shadow:0 1px 2px rgba(61,33,96,0.05), 0 4px 14px -6px rgba(61,33,96,0.1);
  --shadow-2:0 1px 3px rgba(61,33,96,0.06), 0 12px 28px -14px rgba(61,33,96,0.18);
  --shadow-3:0 2px 6px rgba(61,33,96,0.08), 0 28px 52px -24px rgba(61,33,96,0.28);
  --sh-1:var(--shadow); --sh-2:var(--shadow-2); --sh-3:var(--shadow-3);
  --sh-brand:0 10px 26px -12px rgba(139,92,246,0.55);
  /* 主色 / 强调 */
  --primary:#8B5CF6; --primary-d:#6C47BF; --primary-w:#101418;
  --brand:#8B5CF6; --brand-2:#6C47BF; --brand-soft:rgba(139,92,246,0.1); --brand-ink:#8B5CF6;
  --sky:#EE8C38; --sky-soft:rgba(238,140,56,0.12);
  --grey-soft:#FAF8FB;
  --accent:#EE8C38; --accent-soft:rgba(238,140,56,0.12);
  /* 状态色（小面积，跟着主题走但不抢主色）*/
  --ok:#507D5C; --ok-bg:rgba(46,122,100,0.16); --ok-soft:rgba(46,122,100,0.16);
  --no:#B75143; --no-bg:rgba(176,74,69,0.16);
  --danger:#B75143; --danger-soft:rgba(176,74,69,0.16);
  --warn:#876017; --warn-tx:#876017; --warn-bg:rgba(160,124,40,0.18); --warn-soft:rgba(160,124,40,0.18);
  --gold:#E8A33D; --gold-soft:rgba(232,163,61,0.16); --cinnabar:#B75143;
  /* 三档深浅（日历格子 / 时间槽 / 选中态都用它，暗色主题也能看清）*/
  --lv1-bg:#F5F0F7; --lv1-tx:#3D2160;
  --lv2-bg:#987BE7; --lv2-tx:#101418;
  --lv3-bg:#3D2160; --lv3-tx:#FFFFFF;
  /* 背景三团弥散光 */
  --mesh-1:rgba(245,240,247,0.7); --mesh-2:rgba(238,140,56,0.18); --mesh-3:rgba(220,196,232,0.26);
  /* 背景装饰层（网格 / 扫描线 / 纸纹 / 流体 / 光影…）。ui.css 会把它拼进 */
  /* body 的 background-image，所以永远在内容下面，不会挡东西。 */
  --fx-layer:linear-gradient(112deg,transparent 6%,rgba(238,140,56,0.34) 26%,transparent 46%), linear-gradient(94deg,transparent 26%,rgba(220,196,232,0.4) 46%,transparent 66%), linear-gradient(126deg,transparent 44%,rgba(139,92,246,0.32) 66%,transparent 88%), radial-gradient(64% 50% at 88% 6%,rgba(220,196,232,0.26),transparent 66%);
  /* 左上角主光的位置 —— body::before 拿它做缓慢漂移（光影流动）。 */
  --light-x:30%; --light-y:-16%;
  /* 主色渐变：只有声明了 grad 的主题才有渐变，其余一律是纯主色。 */
  /* （老师给的截图里那张大绿卡是渐变的：#367969 → #1D5C4F，
     正好 = 主色提亮 7% → 压暗 13%，见 gen_themes.py 的 grad 字段）*/
  --brand-grad:radial-gradient(120% 90% at 8% 0%,rgba(173,140,248,0.55),transparent 62%), radial-gradient(90% 70% at 92% 108%,rgba(91,60,162,0.55),transparent 64%), radial-gradient(70% 60% at 96% 4%,rgba(238,140,56,0.22),transparent 66%), linear-gradient(140deg,#9367F6,#744DCE);
  /* 装饰：暗色主题给一点内发光，亮色主题不用 */
  --glow:transparent;
  --ring:#EE8C38;
  /* 字体：古风那几套标题用衬线 */
  --font-h:"Inter","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:0;
}

/* 双生薄荷 · 缤纷活力 —— 薄荷绿与樱花粉两团圆光叠在一起，轻盈俏皮 */
[data-theme="twin"]{
  /* 色阶（浅 → 深），暗色主题只是把它倒过来用 */
  --slate-50:#F8F8F8; --slate-100:#E9F2EA; --slate-300:#C9E2CE; --slate-500:#7FB98D; --slate-900:#232C25;
  --bg:#F8F8F8; --bg-tint:#F2F5F3; --bg-2:#F2F5F3;
  /* 表面：毛玻璃半透明 */
  --surface:rgba(255,255,255,0.8); --surface-2:#FBFBFB;
  --card:rgba(255,255,255,0.68); --card-2:rgba(255,255,255,0.88);
  --glass:rgba(255,255,255,0.68); --glass-2:rgba(255,255,255,0.88); --glass-line:rgba(255,255,255,0.74);
  --blur:blur(24px) saturate(170%);
  /* 文字 */
  --text:#232C25; --ink:#232C25; --muted:#7FB98D; --ink-2:#7FB98D; --faint:#C9E2CE; --ink-3:#C9E2CE;
  /* 线与影（阴影用主色相调，比纯黑干净）*/
  --border:rgba(35,44,37,0.12); --border-2:rgba(35,44,37,0.22); --line:rgba(35,44,37,0.06); --line-2:rgba(35,44,37,0.04);
  --shadow:0 1px 2px rgba(35,44,37,0.05), 0 4px 14px -6px rgba(35,44,37,0.1);
  --shadow-2:0 1px 3px rgba(35,44,37,0.06), 0 12px 28px -14px rgba(35,44,37,0.18);
  --shadow-3:0 2px 6px rgba(35,44,37,0.08), 0 28px 52px -24px rgba(35,44,37,0.28);
  --sh-1:var(--shadow); --sh-2:var(--shadow-2); --sh-3:var(--shadow-3);
  --sh-brand:0 10px 26px -12px rgba(95,174,122,0.55);
  /* 主色 / 强调 */
  --primary:#5FAE7A; --primary-d:#4A875F; --primary-w:#101418;
  --brand:#5FAE7A; --brand-2:#4A875F; --brand-soft:rgba(95,174,122,0.1); --brand-ink:#5FAE7A;
  --sky:#F4A7B9; --sky-soft:rgba(244,167,185,0.12);
  --grey-soft:#F3F6F4;
  --accent:#F4A7B9; --accent-soft:rgba(244,167,185,0.12);
  /* 状态色（小面积，跟着主题走但不抢主色）*/
  --ok:#518273; --ok-bg:rgba(46,122,100,0.16); --ok-soft:rgba(46,122,100,0.16);
  --no:#B85552; --no-bg:rgba(176,74,69,0.16);
  --danger:#B85552; --danger-soft:rgba(176,74,69,0.16);
  --warn:#886324; --warn-tx:#886324; --warn-bg:rgba(160,124,40,0.18); --warn-soft:rgba(160,124,40,0.18);
  --gold:#D9A441; --gold-soft:rgba(217,164,65,0.16); --cinnabar:#B85552;
  /* 三档深浅（日历格子 / 时间槽 / 选中态都用它，暗色主题也能看清）*/
  --lv1-bg:#E9F2EA; --lv1-tx:#232C25;
  --lv2-bg:#7FB98D; --lv2-tx:#101418;
  --lv3-bg:#232C25; --lv3-tx:#FFFFFF;
  /* 背景三团弥散光 */
  --mesh-1:rgba(233,242,234,0.7); --mesh-2:rgba(244,167,185,0.18); --mesh-3:rgba(201,226,206,0.26);
  /* 背景装饰层（网格 / 扫描线 / 纸纹 / 流体 / 光影…）。ui.css 会把它拼进 */
  /* body 的 background-image，所以永远在内容下面，不会挡东西。 */
  --fx-layer:radial-gradient(70% 56% at 12% 8%,rgba(244,167,185,0.3),transparent 64%), radial-gradient(62% 50% at 92% 34%,rgba(233,242,234,0.52),transparent 66%), radial-gradient(78% 60% at 40% 106%,rgba(201,226,206,0.3),transparent 70%);
  /* 左上角主光的位置 —— body::before 拿它做缓慢漂移（光影流动）。 */
  --light-x:18%; --light-y:-8%;
  /* 主色渐变：只有声明了 grad 的主题才有渐变，其余一律是纯主色。 */
  /* （老师给的截图里那张大绿卡是渐变的：#367969 → #1D5C4F，
     正好 = 主色提亮 7% → 压暗 13%，见 gen_themes.py 的 grad 字段）*/
  --brand-grad:radial-gradient(120% 90% at 8% 0%,rgba(143,198,161,0.55),transparent 62%), radial-gradient(90% 70% at 92% 108%,rgba(62,114,80,0.55),transparent 64%), radial-gradient(70% 60% at 96% 4%,rgba(244,167,185,0.22),transparent 66%), linear-gradient(140deg,#6AB383,#4F9266);
  /* 装饰：暗色主题给一点内发光，亮色主题不用 */
  --glow:transparent;
  --ring:#F4A7B9;
  /* 字体：古风那几套标题用衬线 */
  --font-h:"Inter","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:0;
}

/* 青柠晨雾 · 缤纷活力 —— 青柠黄绿 #D9DE90 的柔光 + 玉蓝 + 一点蜜桃，清清爽爽 */
[data-theme="lime"]{
  /* 色阶（浅 → 深），暗色主题只是把它倒过来用 */
  --slate-50:#FAFBF6; --slate-100:#EFF3D9; --slate-300:#C6D3A0; --slate-500:#8CA465; --slate-900:#2C3320;
  --bg:#FAFBF6; --bg-tint:#F6F8EB; --bg-2:#F6F8EB;
  /* 表面：毛玻璃半透明 */
  --surface:rgba(255,255,255,0.8); --surface-2:#FCFDFA;
  --card:rgba(255,255,255,0.64); --card-2:rgba(255,255,255,0.84);
  --glass:rgba(255,255,255,0.64); --glass-2:rgba(255,255,255,0.84); --glass-line:rgba(255,255,255,0.74);
  --blur:blur(24px) saturate(169%);
  /* 文字 */
  --text:#2C3320; --ink:#2C3320; --muted:#8CA465; --ink-2:#8CA465; --faint:#C6D3A0; --ink-3:#C6D3A0;
  /* 线与影（阴影用主色相调，比纯黑干净）*/
  --border:rgba(44,51,32,0.12); --border-2:rgba(44,51,32,0.22); --line:rgba(44,51,32,0.06); --line-2:rgba(44,51,32,0.04);
  --shadow:0 1px 2px rgba(44,51,32,0.05), 0 4px 14px -6px rgba(44,51,32,0.1);
  --shadow-2:0 1px 3px rgba(44,51,32,0.06), 0 12px 28px -14px rgba(44,51,32,0.18);
  --shadow-3:0 2px 6px rgba(44,51,32,0.08), 0 28px 52px -24px rgba(44,51,32,0.28);
  --sh-1:var(--shadow); --sh-2:var(--shadow-2); --sh-3:var(--shadow-3);
  --sh-brand:0 10px 26px -12px rgba(124,154,85,0.55);
  /* 主色 / 强调 */
  --primary:#7C9A55; --primary-d:#607842; --primary-w:#101418;
  --brand:#7C9A55; --brand-2:#607842; --brand-soft:rgba(124,154,85,0.1); --brand-ink:#7C9A55;
  --sky:#4D6477; --sky-soft:rgba(77,100,119,0.12);
  --grey-soft:#F6F8ED;
  --accent:#4D6477; --accent-soft:rgba(77,100,119,0.12);
  /* 状态色（小面积，跟着主题走但不抢主色）*/
  --ok:#337667; --ok-bg:rgba(46,122,100,0.16); --ok-soft:rgba(46,122,100,0.16);
  --no:#A44D4B; --no-bg:rgba(176,74,69,0.16);
  --danger:#A44D4B; --danger-soft:rgba(176,74,69,0.16);
  --warn:#775C1D; --warn-tx:#775C1D; --warn-bg:rgba(160,124,40,0.18); --warn-soft:rgba(160,124,40,0.18);
  --gold:#C9A24A; --gold-soft:rgba(201,162,74,0.16); --cinnabar:#A44D4B;
  /* 三档深浅（日历格子 / 时间槽 / 选中态都用它，暗色主题也能看清）*/
  --lv1-bg:#EFF3D9; --lv1-tx:#2C3320;
  --lv2-bg:#8CA465; --lv2-tx:#101418;
  --lv3-bg:#2C3320; --lv3-tx:#FFFFFF;
  /* 背景三团弥散光 */
  --mesh-1:rgba(239,243,217,0.7); --mesh-2:rgba(77,100,119,0.18); --mesh-3:rgba(198,211,160,0.26);
  /* 背景装饰层（网格 / 扫描线 / 纸纹 / 流体 / 光影…）。ui.css 会把它拼进 */
  /* body 的 background-image，所以永远在内容下面，不会挡东西。 */
  --fx-layer:radial-gradient(70% 56% at 12% 8%,rgba(77,100,119,0.3),transparent 64%), radial-gradient(62% 50% at 92% 34%,rgba(239,243,217,0.52),transparent 66%), radial-gradient(78% 60% at 40% 106%,rgba(198,211,160,0.3),transparent 70%);
  /* 左上角主光的位置 —— body::before 拿它做缓慢漂移（光影流动）。 */
  --light-x:14%; --light-y:-10%;
  /* 主色渐变：只有声明了 grad 的主题才有渐变，其余一律是纯主色。 */
  /* （老师给的截图里那张大绿卡是渐变的：#367969 → #1D5C4F，
     正好 = 主色提亮 7% → 压暗 13%，见 gen_themes.py 的 grad 字段）*/
  --brand-grad:radial-gradient(120% 90% at 8% 0%,rgba(163,184,136,0.55),transparent 62%), radial-gradient(90% 70% at 92% 108%,rgba(81,101,56,0.55),transparent 64%), radial-gradient(70% 60% at 96% 4%,rgba(77,100,119,0.22),transparent 66%), linear-gradient(140deg,#85A160,#688147);
  /* 装饰：暗色主题给一点内发光，亮色主题不用 */
  --glow:transparent;
  --ring:#4D6477;
  /* 字体：古风那几套标题用衬线 */
  --font-h:"Inter","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:0;
}

/* 落日熔金 · 缤纷活力 —— 橙红日落 #F66326 慢慢化开，像傍晚那几分钟的光 */
[data-theme="sunset"]{
  /* 色阶（浅 → 深），暗色主题只是把它倒过来用 */
  --slate-50:#F4F5FA; --slate-100:#FBE3D9; --slate-300:#F4AE93; --slate-500:#E4572E; --slate-900:#3A1A10;
  --bg:#F4F5FA; --bg-tint:#F6EEEE; --bg-2:#F6EEEE;
  /* 表面：毛玻璃半透明 */
  --surface:rgba(255,255,255,0.8); --surface-2:#FAFAFC;
  --card:rgba(255,255,255,0.56); --card-2:rgba(255,255,255,0.76);
  --glass:rgba(255,255,255,0.56); --glass-2:rgba(255,255,255,0.76); --glass-line:rgba(255,255,255,0.74);
  --blur:blur(28px) saturate(166%);
  /* 文字 */
  --text:#3A1A10; --ink:#3A1A10; --muted:#E4572E; --ink-2:#E4572E; --faint:#F4AE93; --ink-3:#F4AE93;
  /* 线与影（阴影用主色相调，比纯黑干净）*/
  --border:rgba(58,26,16,0.12); --border-2:rgba(58,26,16,0.22); --line:rgba(58,26,16,0.06); --line-2:rgba(58,26,16,0.04);
  --shadow:0 1px 2px rgba(58,26,16,0.05), 0 4px 14px -6px rgba(58,26,16,0.1);
  --shadow-2:0 1px 3px rgba(58,26,16,0.06), 0 12px 28px -14px rgba(58,26,16,0.18);
  --shadow-3:0 2px 6px rgba(58,26,16,0.08), 0 28px 52px -24px rgba(58,26,16,0.28);
  --sh-1:var(--shadow); --sh-2:var(--shadow-2); --sh-3:var(--shadow-3);
  --sh-brand:0 10px 26px -12px rgba(232,92,42,0.55);
  /* 主色 / 强调 */
  --primary:#E85C2A; --primary-d:#B44720; --primary-w:#101418;
  --brand:#E85C2A; --brand-2:#B44720; --brand-soft:rgba(232,92,42,0.1); --brand-ink:#E85C2A;
  --sky:#F0825C; --sky-soft:rgba(240,130,92,0.12);
  --grey-soft:#F5EFF0;
  --accent:#F0825C; --accent-soft:rgba(240,130,92,0.12);
  /* 状态色（小面积，跟着主题走但不抢主色）*/
  --ok:#507B62; --ok-bg:rgba(46,122,100,0.16); --ok-soft:rgba(46,122,100,0.16);
  --no:#B75047; --no-bg:rgba(176,74,69,0.16);
  --danger:#B75047; --danger-soft:rgba(176,74,69,0.16);
  --warn:#875F1B; --warn-tx:#875F1B; --warn-bg:rgba(160,124,40,0.18); --warn-soft:rgba(160,124,40,0.18);
  --gold:#E8B44A; --gold-soft:rgba(232,180,74,0.16); --cinnabar:#B75047;
  /* 三档深浅（日历格子 / 时间槽 / 选中态都用它，暗色主题也能看清）*/
  --lv1-bg:#FBE3D9; --lv1-tx:#3A1A10;
  --lv2-bg:#E4572E; --lv2-tx:#101418;
  --lv3-bg:#3A1A10; --lv3-tx:#FFFFFF;
  /* 背景三团弥散光 */
  --mesh-1:rgba(251,227,217,0.7); --mesh-2:rgba(240,130,92,0.18); --mesh-3:rgba(244,174,147,0.26);
  /* 背景装饰层（网格 / 扫描线 / 纸纹 / 流体 / 光影…）。ui.css 会把它拼进 */
  /* body 的 background-image，所以永远在内容下面，不会挡东西。 */
  --fx-layer:linear-gradient(112deg,transparent 6%,rgba(240,130,92,0.34) 26%,transparent 46%), linear-gradient(94deg,transparent 26%,rgba(244,174,147,0.4) 46%,transparent 66%), linear-gradient(126deg,transparent 44%,rgba(232,92,42,0.32) 66%,transparent 88%), radial-gradient(64% 50% at 88% 6%,rgba(244,174,147,0.26),transparent 66%);
  /* 左上角主光的位置 —— body::before 拿它做缓慢漂移（光影流动）。 */
  --light-x:24%; --light-y:-14%;
  /* 主色渐变：只有声明了 grad 的主题才有渐变，其余一律是纯主色。 */
  /* （老师给的截图里那张大绿卡是渐变的：#367969 → #1D5C4F，
     正好 = 主色提亮 7% → 压暗 13%，见 gen_themes.py 的 grad 字段）*/
  --brand-grad:radial-gradient(120% 90% at 8% 0%,rgba(238,140,105,0.55),transparent 62%), radial-gradient(90% 70% at 92% 108%,rgba(153,60,27,0.55),transparent 64%), radial-gradient(70% 60% at 96% 4%,rgba(240,130,92,0.22),transparent 66%), linear-gradient(140deg,#E96738,#C24D23);
  /* 装饰：暗色主题给一点内发光，亮色主题不用 */
  --glow:transparent;
  --ring:#F0825C;
  /* 字体：古风那几套标题用衬线 */
  --font-h:"Inter","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:0;
}

/* 糖果四色 · 缤纷活力 —— 橙、天蓝、黄绿、墨绿四条彩带叠着，活泼但用色很克制 */
[data-theme="candy"]{
  /* 色阶（浅 → 深），暗色主题只是把它倒过来用 */
  --slate-50:#F1EFE4; --slate-100:#E9E9DD; --slate-300:#D5CD62; --slate-500:#4F6E40; --slate-900:#2B3226;
  --bg:#F1EFE4; --bg-tint:#EEECE1; --bg-2:#EEECE1;
  /* 表面：毛玻璃半透明 */
  --surface:rgba(255,255,255,0.8); --surface-2:#F8F7F2;
  --card:rgba(255,255,255,0.66); --card-2:rgba(255,255,255,0.86);
  --glass:rgba(255,255,255,0.66); --glass-2:rgba(255,255,255,0.86); --glass-line:rgba(255,255,255,0.74);
  --blur:blur(22px) saturate(169%);
  /* 文字 */
  --text:#2B3226; --ink:#2B3226; --muted:#4F6E40; --ink-2:#4F6E40; --faint:#D5CD62; --ink-3:#D5CD62;
  /* 线与影（阴影用主色相调，比纯黑干净）*/
  --border:rgba(43,50,38,0.12); --border-2:rgba(43,50,38,0.22); --line:rgba(43,50,38,0.06); --line-2:rgba(43,50,38,0.04);
  --shadow:0 1px 2px rgba(43,50,38,0.05), 0 4px 14px -6px rgba(43,50,38,0.1);
  --shadow-2:0 1px 3px rgba(43,50,38,0.06), 0 12px 28px -14px rgba(43,50,38,0.18);
  --shadow-3:0 2px 6px rgba(43,50,38,0.08), 0 28px 52px -24px rgba(43,50,38,0.28);
  --sh-1:var(--shadow); --sh-2:var(--shadow-2); --sh-3:var(--shadow-3);
  --sh-brand:0 10px 26px -12px rgba(224,118,31,0.55);
  /* 主色 / 强调 */
  --primary:#E0761F; --primary-d:#AE5C18; --primary-w:#101418;
  --brand:#E0761F; --brand-2:#AE5C18; --brand-soft:rgba(224,118,31,0.1); --brand-ink:#E0761F;
  --sky:#F0832E; --sky-soft:rgba(240,131,46,0.12);
  --grey-soft:#EEEDE2;
  --accent:#F0832E; --accent-soft:rgba(240,131,46,0.12);
  /* 状态色（小面积，跟着主题走但不抢主色）*/
  --ok:#507B5A; --ok-bg:rgba(46,122,100,0.16); --ok-soft:rgba(46,122,100,0.16);
  --no:#B75042; --no-bg:rgba(176,74,69,0.16);
  --danger:#B75042; --danger-soft:rgba(176,74,69,0.16);
  --warn:#875F16; --warn-tx:#875F16; --warn-bg:rgba(160,124,40,0.18); --warn-soft:rgba(160,124,40,0.18);
  --gold:#CFC662; --gold-soft:rgba(207,198,98,0.16); --cinnabar:#B75042;
  /* 三档深浅（日历格子 / 时间槽 / 选中态都用它，暗色主题也能看清）*/
  --lv1-bg:#E9E9DD; --lv1-tx:#2B3226;
  --lv2-bg:#4F6E40; --lv2-tx:#FFFFFF;
  --lv3-bg:#2B3226; --lv3-tx:#FFFFFF;
  /* 背景三团弥散光 */
  --mesh-1:rgba(233,233,221,0.7); --mesh-2:rgba(240,131,46,0.18); --mesh-3:rgba(213,205,98,0.26);
  /* 背景装饰层（网格 / 扫描线 / 纸纹 / 流体 / 光影…）。ui.css 会把它拼进 */
  /* body 的 background-image，所以永远在内容下面，不会挡东西。 */
  --fx-layer:linear-gradient(118deg,transparent 8%,rgba(240,131,46,0.3) 8% 22%,transparent 22%, linear-gradient(118deg,transparent 30%,rgba(213,205,98,0.34) 30% 48%,transparent 48%, linear-gradient(118deg,transparent 56%,rgba(79,110,64,0.26) 56% 72%,transparent 72%, linear-gradient(118deg,transparent 80%,rgba(43,50,38,0.16) 80% 94%,transparent 94%;
  /* 左上角主光的位置 —— body::before 拿它做缓慢漂移（光影流动）。 */
  --light-x:16%; --light-y:-12%;
  /* 主色渐变：只有声明了 grad 的主题才有渐变，其余一律是纯主色。 */
  /* （老师给的截图里那张大绿卡是渐变的：#367969 → #1D5C4F，
     正好 = 主色提亮 7% → 压暗 13%，见 gen_themes.py 的 grad 字段）*/
  --brand-grad:radial-gradient(120% 90% at 8% 0%,rgba(233,159,98,0.55),transparent 62%), radial-gradient(90% 70% at 92% 108%,rgba(147,77,20,0.55),transparent 64%), radial-gradient(70% 60% at 96% 4%,rgba(240,131,46,0.22),transparent 66%), linear-gradient(140deg,#E27F2E,#BC631A);
  /* 装饰：暗色主题给一点内发光，亮色主题不用 */
  --glow:transparent;
  --ring:#F0832E;
  /* 字体：古风那几套标题用衬线 */
  --font-h:"Inter","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:0;
}

/* ---------------- 复古质感（1 套）---------------- */
/* 酒红手作 · 复古质感 —— 奶油烤纸底 + 酒红 #610D24，像老面包房的手写招牌 */
[data-theme="wine"]{
  /* 色阶（浅 → 深），暗色主题只是把它倒过来用 */
  --slate-50:#F6EFE7; --slate-100:#EFE2D8; --slate-300:#D2BDBD; --slate-500:#72293B; --slate-900:#6B1430;
  --bg:#F6EFE7; --bg-tint:#F3EAE1; --bg-2:#F3EAE1;
  /* 表面：毛玻璃半透明 */
  --surface:rgba(255,255,255,0.8); --surface-2:#FAF7F4;
  --card:rgba(255,255,255,0.6); --card-2:rgba(255,255,255,0.8);
  --glass:rgba(255,255,255,0.6); --glass-2:rgba(255,255,255,0.8); --glass-line:rgba(255,255,255,0.74);
  --blur:blur(20px) saturate(168%);
  /* 文字 */
  --text:#6B1430; --ink:#6B1430; --muted:#72293B; --ink-2:#72293B; --faint:#D2BDBD; --ink-3:#D2BDBD;
  /* 线与影（阴影用主色相调，比纯黑干净）*/
  --border:rgba(107,20,48,0.12); --border-2:rgba(107,20,48,0.22); --line:rgba(107,20,48,0.06); --line-2:rgba(107,20,48,0.04);
  --shadow:0 1px 2px rgba(107,20,48,0.05), 0 4px 14px -6px rgba(107,20,48,0.1);
  --shadow-2:0 1px 3px rgba(107,20,48,0.06), 0 12px 28px -14px rgba(107,20,48,0.18);
  --shadow-3:0 2px 6px rgba(107,20,48,0.08), 0 28px 52px -24px rgba(107,20,48,0.28);
  --sh-1:var(--shadow); --sh-2:var(--shadow-2); --sh-3:var(--shadow-3);
  --sh-brand:0 10px 26px -12px rgba(97,13,36,0.55);
  /* 主色 / 强调 */
  --primary:#610D24; --primary-d:#4B0A1C; --primary-w:#FFFFFF;
  --brand:#610D24; --brand-2:#4B0A1C; --brand-soft:rgba(97,13,36,0.1); --brand-ink:#610D24;
  --sky:#8E2F44; --sky-soft:rgba(142,47,68,0.12);
  --grey-soft:#F4EBE2;
  --accent:#8E2F44; --accent-soft:rgba(142,47,68,0.12);
  /* 状态色（小面积，跟着主题走但不抢主色）*/
  --ok:#3F6C5E; --ok-bg:rgba(46,122,100,0.16); --ok-soft:rgba(46,122,100,0.16);
  --no:#AB4644; --no-bg:rgba(176,74,69,0.16);
  --danger:#AB4644; --danger-soft:rgba(176,74,69,0.16);
  --warn:#7D5718; --warn-tx:#7D5718; --warn-bg:rgba(160,124,40,0.18); --warn-soft:rgba(160,124,40,0.18);
  --gold:#B98A3C; --gold-soft:rgba(185,138,60,0.16); --cinnabar:#AB4644;
  /* 三档深浅（日历格子 / 时间槽 / 选中态都用它，暗色主题也能看清）*/
  --lv1-bg:#EFE2D8; --lv1-tx:#6B1430;
  --lv2-bg:#72293B; --lv2-tx:#FFFFFF;
  --lv3-bg:#6B1430; --lv3-tx:#FFFFFF;
  /* 背景三团弥散光 */
  --mesh-1:rgba(239,226,216,0.7); --mesh-2:rgba(142,47,68,0.18); --mesh-3:rgba(210,189,189,0.26);
  /* 背景装饰层（网格 / 扫描线 / 纸纹 / 流体 / 光影…）。ui.css 会把它拼进 */
  /* body 的 background-image，所以永远在内容下面，不会挡东西。 */
  --fx-layer:repeating-linear-gradient(0deg,rgba(107,20,48,0.04) 0 1px,transparent 1px 3px), repeating-linear-gradient(90deg,rgba(107,20,48,0.02) 0 1px,transparent 1px 7px), radial-gradient(74% 58% at 12% -10%,rgba(142,47,68,0.22),transparent 62%);
  /* 左上角主光的位置 —— body::before 拿它做缓慢漂移（光影流动）。 */
  --light-x:8%; --light-y:-6%;
  /* 主色渐变：只有声明了 grad 的主题才有渐变，其余一律是纯主色。 */
  /* （老师给的截图里那张大绿卡是渐变的：#367969 → #1D5C4F，
     正好 = 主色提亮 7% → 压暗 13%，见 gen_themes.py 的 grad 字段）*/
  --brand-grad:radial-gradient(120% 90% at 8% 0%,rgba(144,85,101,0.55),transparent 62%), radial-gradient(90% 70% at 92% 108%,rgba(64,8,23,0.55),transparent 64%), radial-gradient(70% 60% at 96% 4%,rgba(142,47,68,0.22),transparent 66%), linear-gradient(140deg,#6C1D33,#510A1E);
  /* 装饰：暗色主题给一点内发光，亮色主题不用 */
  --glow:transparent;
  --ring:#8E2F44;
  /* 字体：古风那几套标题用衬线 */
  --font-h:"Songti SC","STSong","Noto Serif SC","Source Han Serif SC","PingFang SC","Microsoft YaHei",serif;
  --serif:1;
}

/* 主题清单（给 theme.js / 后端读，避免前后端两处各写一份）*/
/* my001=我的主题001, mint=薄荷苔藓, pine=深松青玉, sunlight=日光金黄, midnight=电光午夜, graphite=石墨微光, cream=奶油信笺, prism=虹彩渐变, beacon=午夜藏青, coral=珊瑚暖橙, abyss=深海浮台, wine=酒红手作, glacier=雾霭冰蓝, twin=双生薄荷, lime=青柠晨雾, sunset=落日熔金, candy=糖果四色 */