/* OBO Studio 7.0 - SaaS 全局 10 色主题引擎 (Theme Token Engine) */
:root, [data-theme="oled-gold"] {
  --bg-base: #000000;
  --bg-surface: #141416;
  --bg-card: #1c1c1e;
  --bg-elevated: #2c2c2e;
  --border-color: rgba(255, 255, 255, 0.1);
  --text-primary: #ffffff;
  --text-secondary: #a1a1aa;
  --text-muted: #71717a;
  --accent-color: #ffd60a;
  --accent-text: #000000;
  --accent-light: rgba(255, 214, 10, 0.15);
  --input-bg: #09090b;
}

[data-theme="space-cyan"] {
  --bg-base: #0b1120;
  --bg-surface: #151e32;
  --bg-card: #1e293b;
  --bg-elevated: #334155;
  --border-color: rgba(255, 255, 255, 0.12);
  --text-primary: #f8fafc;
  --text-secondary: #cbd5e1;
  --text-muted: #94a3b8;
  --accent-color: #06b6d4;
  --accent-text: #000000;
  --accent-light: rgba(6, 182, 212, 0.18);
  --input-bg: #070c18;
}

[data-theme="abyss-indigo"] {
  --bg-base: #070a13;
  --bg-surface: #0f172a;
  --bg-card: #1e293b;
  --bg-elevated: #2e3a52;
  --border-color: rgba(255, 255, 255, 0.1);
  --text-primary: #ffffff;
  --text-secondary: #94a3b8;
  --text-muted: #64748b;
  --accent-color: #6366f1;
  --accent-text: #ffffff;
  --accent-light: rgba(99, 102, 241, 0.2);
  --input-bg: #05070d;
}

[data-theme="emerald-forest"] {
  --bg-base: #04120c;
  --bg-surface: #0a2016;
  --bg-card: #113224;
  --bg-elevated: #1a4533;
  --border-color: rgba(255, 255, 255, 0.1);
  --text-primary: #f0fdf4;
  --text-secondary: #86efac;
  --text-muted: #4ade80;
  --accent-color: #10b981;
  --accent-text: #000000;
  --accent-light: rgba(16, 185, 129, 0.2);
  --input-bg: #020a06;
}

[data-theme="obsidian-rose"] {
  --bg-base: #11070a;
  --bg-surface: #1d0d12;
  --bg-card: #2b141c;
  --bg-elevated: #3d1c28;
  --border-color: rgba(255, 255, 255, 0.1);
  --text-primary: #fff1f2;
  --text-secondary: #fda4af;
  --text-muted: #fb7185;
  --accent-color: #f43f5e;
  --accent-text: #ffffff;
  --accent-light: rgba(244, 63, 94, 0.2);
  --input-bg: #0a0406;
}

/* 5 大浅色系主题 */
[data-theme="dawn-snow"] {
  --bg-base: #f5f5f7;
  --bg-surface: #ffffff;
  --bg-card: #ffffff;
  --bg-elevated: #e5e5ea;
  --border-color: rgba(0, 0, 0, 0.08);
  --text-primary: #1d1d1f;
  --text-secondary: #515154;
  --text-muted: #86868b;
  --accent-color: #0071e3;
  --accent-text: #ffffff;
  --accent-light: rgba(0, 113, 227, 0.12);
  --input-bg: #fbfbfd;
}

[data-theme="classic-parchment"] {
  --bg-base: #f4ebd8;
  --bg-surface: #eae0c8;
  --bg-card: #faf4e6;
  --bg-elevated: #dfd4b8;
  --border-color: rgba(120, 80, 40, 0.15);
  --text-primary: #2d1d12;
  --text-secondary: #634b32;
  --text-muted: #876847;
  --accent-color: #b45309;
  --accent-text: #ffffff;
  --accent-light: rgba(180, 83, 9, 0.14);
  --input-bg: #fcf9f0;
}

[data-theme="nordic-mist"] {
  --bg-base: #eaedf2;
  --bg-surface: #ffffff;
  --bg-card: #f8fafc;
  --bg-elevated: #e2e8f0;
  --border-color: rgba(0, 0, 0, 0.08);
  --text-primary: #1e293b;
  --text-secondary: #475569;
  --text-muted: #64748b;
  --accent-color: #2563eb;
  --accent-text: #ffffff;
  --accent-light: rgba(37, 99, 235, 0.12);
  --input-bg: #ffffff;
}

[data-theme="bamboo-breeze"] {
  --bg-base: #edf4ee;
  --bg-surface: #ffffff;
  --bg-card: #f6faf7;
  --bg-elevated: #dbe6de;
  --border-color: rgba(30, 80, 50, 0.12);
  --text-primary: #0f2e1f;
  --text-secondary: #27523f;
  --text-muted: #41755d;
  --accent-color: #16a34a;
  --accent-text: #ffffff;
  --accent-light: rgba(22, 163, 74, 0.14);
  --input-bg: #ffffff;
}

[data-theme="blush-pearl"] {
  --bg-base: #faf3f3;
  --bg-surface: #ffffff;
  --bg-card: #fff9f9;
  --bg-elevated: #f4e3e4;
  --border-color: rgba(150, 50, 60, 0.1);
  --text-primary: #3b141b;
  --text-secondary: #74323e;
  --text-muted: #99515e;
  --accent-color: #e11d48;
  --accent-text: #ffffff;
  --accent-light: rgba(225, 29, 72, 0.12);
  --input-bg: #ffffff;
}

/* 动态主题映射样式类 */
body {
  background-color: var(--bg-base);
  color: var(--text-primary);
  transition: background-color 0.25s ease, color 0.25s ease;
}

.theme-bg-base { background-color: var(--bg-base); }
.theme-bg-surface { background-color: var(--bg-surface); }
.theme-bg-card { background-color: var(--bg-card); }
.theme-bg-elevated { background-color: var(--bg-elevated); }
.theme-border { border-color: var(--border-color); }
.theme-text-primary { color: var(--text-primary); }
.theme-text-secondary { color: var(--text-secondary); }
.theme-text-muted { color: var(--text-muted); }
.theme-accent { color: var(--accent-color); }
.theme-accent-bg { background-color: var(--accent-color); color: var(--accent-text); }
.theme-accent-light { background-color: var(--accent-light); }
.theme-input { background-color: var(--input-bg); border-color: var(--border-color); color: var(--text-primary); }
