/* =========================================================
   商机监测平台 · 主题皮肤（20 套 · 浅色高端）
   每套主题不只换强调色，还切换：页面底色 / 标题墨色 / 表头色 / 卡面色调，
   切换到不同主题时可一眼看出风格差异。
   用法：<html data-theme="aurora">  缺省 = obsidian
   ========================================================= */

/* 缺省（= obsidian 曜石深蓝） */
:root,
html[data-theme="obsidian"]{
  --accent:#2b59ff; --accent2:#7b5cff; --accent3:#00b8d9;
  --ink:#101b46; --tint:#f3f5fc; --tint2:#e9edfb; --th:#eaeffd; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#2b59ff,#7b5cff);
}
html[data-theme="aurora"]{
  --accent:#0ea5e9; --accent2:#8b5cf6; --accent3:#22d3ee;
  --ink:#08243f; --tint:#f1f8fd; --tint2:#e6f3fc; --th:#e6f3fc; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#0ea5e9,#8b5cf6);
}
html[data-theme="emerald"]{
  --accent:#059669; --accent2:#22d3ee; --accent3:#84cc16;
  --ink:#053a2b; --tint:#f1faf6; --tint2:#e5f6ee; --th:#e4f6ed; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#059669,#22d3ee);
}
html[data-theme="sunset"]{
  --accent:#f97316; --accent2:#ec4899; --accent3:#f59e0b;
  --ink:#4a1c0b; --tint:#fff6f0; --tint2:#ffeadc; --th:#ffefe4; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#f97316,#ec4899);
}
html[data-theme="rose"]{
  --accent:#e11d48; --accent2:#f59e0b; --accent3:#fb7185;
  --ink:#4a0d22; --tint:#fff5f7; --tint2:#fde8ee; --th:#fdebf1; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#e11d48,#f59e0b);
}
html[data-theme="grape"]{
  --accent:#7c3aed; --accent2:#db2777; --accent3:#a855f7;
  --ink:#2c0f60; --tint:#f8f5ff; --tint2:#efe8ff; --th:#f0e9ff; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#7c3aed,#db2777);
}
html[data-theme="ocean"]{
  --accent:#0e7490; --accent2:#22d3ee; --accent3:#38bdf8;
  --ink:#07303f; --tint:#f0fafb; --tint2:#e2f5f9; --th:#e2f5f9; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#0e7490,#22d3ee);
}
html[data-theme="forest"]{
  --accent:#15803d; --accent2:#84cc16; --accent3:#4ade80;
  --ink:#0b2e17; --tint:#f4faf1; --tint2:#e8f5e0; --th:#e9f5e1; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#15803d,#84cc16);
}
html[data-theme="crimson"]{
  --accent:#dc2626; --accent2:#f97316; --accent3:#ef4444;
  --ink:#450a0a; --tint:#fff5f4; --tint2:#fde8e6; --th:#fdebe8; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#dc2626,#f97316);
}
html[data-theme="midnight"]{
  --accent:#1e40af; --accent2:#f59e0b; --accent3:#3b82f6;
  --ink:#0b1736; --tint:#f3f6fd; --tint2:#e7edfa; --th:#e8eefa; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#1e40af,#f59e0b);
}
html[data-theme="jade"]{
  --accent:#0d9488; --accent2:#0ea5e9; --accent3:#2dd4bf;
  --ink:#093b38; --tint:#f1faf9; --tint2:#e3f6f4; --th:#e3f6f4; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#0d9488,#0ea5e9);
}
html[data-theme="plum"]{
  --accent:#9333ea; --accent2:#f472b6; --accent3:#c084fc;
  --ink:#380766; --tint:#faf5ff; --tint2:#f2e6ff; --th:#f2e7ff; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#9333ea,#f472b6);
}
html[data-theme="amber"]{
  --accent:#d97706; --accent2:#facc15; --accent3:#f59e0b;
  --ink:#452a04; --tint:#fffbf0; --tint2:#fdf2d7; --th:#fdf3d9; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#d97706,#facc15);
}
html[data-theme="slate"]{
  --accent:#334155; --accent2:#64748b; --accent3:#94a3b8;
  --ink:#0f172a; --tint:#f4f6f9; --tint2:#e9edf2; --th:#e9edf2; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#334155,#64748b);
}
html[data-theme="coral"]{
  --accent:#f43f5e; --accent2:#fb923c; --accent3:#fb7185;
  --ink:#450a12; --tint:#fff5f5; --tint2:#fde5e2; --th:#fde8e5; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#f43f5e,#fb923c);
}
html[data-theme="sky"]{
  --accent:#0284c7; --accent2:#38bdf8; --accent3:#7dd3fc;
  --ink:#062a41; --tint:#f0f9ff; --tint2:#e0f2fe; --th:#e1f2fe; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#0284c7,#38bdf8);
}
html[data-theme="berry"]{
  --accent:#be123c; --accent2:#7c3aed; --accent3:#e11d48;
  --ink:#420b21; --tint:#fdf4f7; --tint2:#fbe4ec; --th:#fbe6ed; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#be123c,#7c3aed);
}
html[data-theme="mint"]{
  --accent:#0d9488; --accent2:#a3e635; --accent3:#5eead4;
  --ink:#073b3a; --tint:#f2faf7; --tint2:#e2f6ee; --th:#e3f6ee; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#0d9488,#a3e635);
}
html[data-theme="indigo"]{
  --accent:#4f46e5; --accent2:#38bdf8; --accent3:#818cf8;
  --ink:#1e1b4b; --tint:#f5f5fe; --tint2:#e9e9fc; --th:#eaeafd; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#4f46e5,#38bdf8);
}
html[data-theme="copper"]{
  --accent:#b45309; --accent2:#f97316; --accent3:#d97706;
  --ink:#402302; --tint:#fdf8f2; --tint2:#f9ecd9; --th:#faedd9; --surf:#ffffff;
  --head-grad:linear-gradient(120deg,#b45309,#f97316);
}

/* ---------- 主题切换器 ---------- */
#themeSwitcher{position:relative;display:inline-block}
.ts-btn{
  display:inline-flex;align-items:center;gap:8px;background:var(--surf);border:1px solid var(--line);
  color:var(--fg);border-radius:10px;padding:6px 11px;font:inherit;font-size:13.5px;font-weight:550;
  cursor:pointer;box-shadow:0 1px 2px rgba(16,24,40,.05);
}
.ts-btn:hover{border-color:var(--accent)}
.ts-btn .ts-caret{color:var(--fg3);font-size:11px}
.ts-ico{width:16px;height:16px;border-radius:5px;padding:2px;display:inline-flex;background:#fff;box-shadow:0 0 0 1px var(--line) inset}
.ts-sw{width:100%;height:100%;border-radius:3px;display:block}
.ts-name{white-space:nowrap}
.ts-panel{
  display:none;position:absolute;right:0;top:calc(100% + 8px);z-index:80;width:344px;
  background:var(--surf);border:1px solid var(--line);border-radius:14px;padding:12px;
  box-shadow:0 12px 42px -16px rgba(16,24,40,.3);
}
.ts-panel.on{display:block;animation:tsIn .16s ease}
@keyframes tsIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.ts-hd{font-size:12.5px;font-weight:700;color:var(--fg2);margin:2px 2px 10px;letter-spacing:.3px}
.ts-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:400px;overflow:auto}
.ts-sw-item{
  display:flex;align-items:center;gap:8px;background:var(--surf);border:1px solid var(--line);
  border-radius:9px;padding:6px 9px;cursor:pointer;font:inherit;font-size:12.5px;color:var(--fg);
  text-align:left;transition:.14s;
}
.ts-sw-item:hover{border-color:var(--accent);background:var(--tint)}
.ts-sw-item.on{border-color:var(--accent);background:var(--tint2);font-weight:700}
.ts-chip{width:22px;height:22px;border-radius:7px;flex:0 0 auto;box-shadow:0 0 0 1px rgba(0,0,0,.06) inset;position:relative;overflow:hidden}
.ts-chip i{position:absolute;left:0;top:0;bottom:0;width:55%;background:rgba(255,255,255,.28)}
.ts-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
