/**
 * themes.css
 * 主题单独维护文件
 */

/* 默认主题：不做覆盖 */
/* body[data-theme="default"] {} */

/* ... (之前的 sunset, ocean, forest, grape, ruby 保持不变，此处省略以节省篇幅，请保留原文件内容) ... */

body[data-theme="sunset"] {
  --primary: #fb923c; --primary-hover: #f97316;
  --card-bg: radial-gradient(1200px 700px at 20% 10%, rgba(255, 96, 56, 0.22), transparent 55%), radial-gradient(900px 600px at 85% 20%, rgba(255, 200, 0, 0.14), transparent 60%), linear-gradient(180deg, #06050a, #0b0a12 55%, #080612);
  --text-dark: #f8fafc; --border: rgba(255, 255, 255, 0.10);
  --glass-bg: rgba(20, 10, 20, 0.52); --glass-border: rgba(255, 140, 60, 0.22); --glass-blur: 28px; --glass-shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
  --input-bg: rgba(25, 15, 30, 0.45); --input-border: rgba(255, 150, 70, 0.22);
  --item-selected-bg: rgba(255, 120, 60, 0.16);
  --chat-bg-self: linear-gradient(135deg, rgba(255, 140, 60, 0.95), rgba(255, 60, 110, 0.92));
  --chat-bg-other: rgba(30, 22, 40, 0.72);
}
body[data-theme="sunset"] .theme-toggle-btn { background: linear-gradient(135deg, rgba(255, 145, 80, 0.25), rgba(255, 70, 120, 0.22)); border-color: rgba(255, 150, 70, 0.35); color: #fff; box-shadow: 0 14px 28px rgba(255, 80, 60, 0.12), 0 12px 40px rgba(0, 0, 0, 0.22); }
body[data-theme="sunset"] .theme-badge { color: #fff; background: rgba(255, 120, 80, 0.22); border-color: rgba(255, 160, 90, 0.38); }

body[data-theme="ocean"] {
  --primary: #22d3ee; --primary-hover: #06b6d4;
  --card-bg: radial-gradient(1200px 700px at 15% 15%, rgba(34, 211, 238, 0.18), transparent 55%), radial-gradient(900px 600px at 85% 25%, rgba(59, 130, 246, 0.14), transparent 60%), linear-gradient(180deg, #041018, #061827 55%, #030b12);
  --text-dark: #e6f6ff; --border: rgba(255, 255, 255, 0.10);
  --glass-bg: rgba(6, 14, 22, 0.55); --glass-border: rgba(34, 211, 238, 0.22); --glass-blur: 28px; --glass-shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
  --input-bg: rgba(10, 20, 30, 0.48); --input-border: rgba(34, 211, 238, 0.22);
  --item-selected-bg: rgba(34, 211, 238, 0.12);
  --chat-bg-self: linear-gradient(135deg, rgba(34, 211, 238, 0.95), rgba(59, 130, 246, 0.92)); --chat-bg-other: rgba(10, 18, 28, 0.72);
}
body[data-theme="ocean"] .theme-toggle-btn { background: linear-gradient(135deg, rgba(34, 211, 238, 0.22), rgba(59, 130, 246, 0.18)); border-color: rgba(34, 211, 238, 0.34); color: #fff; box-shadow: 0 14px 28px rgba(34, 211, 238, 0.10), 0 12px 40px rgba(0, 0, 0, 0.22); }
body[data-theme="ocean"] .theme-badge { color: #e6fbff; background: rgba(34, 211, 238, 0.18); border-color: rgba(34, 211, 238, 0.38); }

body[data-theme="forest"] {
  --primary: #34d399; --primary-hover: #10b981;
  --card-bg: radial-gradient(1200px 700px at 20% 10%, rgba(16, 185, 129, 0.18), transparent 55%), radial-gradient(900px 600px at 85% 25%, rgba(34, 197, 94, 0.12), transparent 60%), linear-gradient(180deg, #05120b, #071a10 55%, #040d08);
  --text-dark: #ecfdf5; --border: rgba(255, 255, 255, 0.10);
  --glass-bg: rgba(6, 18, 10, 0.56); --glass-border: rgba(52, 211, 153, 0.22); --glass-blur: 28px; --glass-shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
  --input-bg: rgba(10, 24, 16, 0.50); --input-border: rgba(52, 211, 153, 0.22);
  --item-selected-bg: rgba(52, 211, 153, 0.12);
  --chat-bg-self: linear-gradient(135deg, rgba(52, 211, 153, 0.95), rgba(16, 185, 129, 0.92)); --chat-bg-other: rgba(10, 20, 14, 0.72);
}
body[data-theme="forest"] .theme-toggle-btn { background: linear-gradient(135deg, rgba(52, 211, 153, 0.20), rgba(16, 185, 129, 0.16)); border-color: rgba(52, 211, 153, 0.34); color: #fff; box-shadow: 0 14px 28px rgba(16, 185, 129, 0.10), 0 12px 40px rgba(0, 0, 0, 0.22); }
body[data-theme="forest"] .theme-badge { color: #ecfdf5; background: rgba(52, 211, 153, 0.16); border-color: rgba(52, 211, 153, 0.38); }

body[data-theme="grape"] {
  --primary: #a78bfa; --primary-hover: #8b5cf6;
  --card-bg: radial-gradient(1200px 700px at 20% 10%, rgba(167, 139, 250, 0.18), transparent 55%), radial-gradient(900px 600px at 85% 25%, rgba(236, 72, 153, 0.12), transparent 60%), linear-gradient(180deg, #070512, #0b071a 55%, #05030d);
  --text-dark: #f5f3ff; --border: rgba(255, 255, 255, 0.10);
  --glass-bg: rgba(12, 8, 24, 0.56); --glass-border: rgba(167, 139, 250, 0.22); --glass-blur: 28px; --glass-shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
  --input-bg: rgba(16, 10, 30, 0.50); --input-border: rgba(167, 139, 250, 0.22);
  --item-selected-bg: rgba(167, 139, 250, 0.12);
  --chat-bg-self: linear-gradient(135deg, rgba(167, 139, 250, 0.95), rgba(236, 72, 153, 0.88)); --chat-bg-other: rgba(16, 12, 28, 0.72);
}
body[data-theme="grape"] .theme-toggle-btn { background: linear-gradient(135deg, rgba(167, 139, 250, 0.20), rgba(236, 72, 153, 0.14)); border-color: rgba(167, 139, 250, 0.34); color: #fff; box-shadow: 0 14px 28px rgba(167, 139, 250, 0.10), 0 12px 40px rgba(0, 0, 0, 0.22); }
body[data-theme="grape"] .theme-badge { color: #f5f3ff; background: rgba(167, 139, 250, 0.16); border-color: rgba(167, 139, 250, 0.38); }

body[data-theme="ruby"] {
  --primary: #ef4444; --primary-hover: #dc2626;
  --card-bg: radial-gradient(1200px 700px at 18% 12%, rgba(239, 68, 68, 0.20), transparent 56%), radial-gradient(900px 600px at 85% 18%, rgba(251, 191, 36, 0.14), transparent 60%), linear-gradient(180deg, #090308, #12050b 55%, #070208);
  --text-dark: #fff7ed; --border: rgba(255, 255, 255, 0.10);
  --glass-bg: rgba(24, 8, 12, 0.56); --glass-border: rgba(239, 68, 68, 0.22); --glass-blur: 28px; --glass-shadow: 0 22px 60px rgba(0, 0, 0, 0.38);
  --input-bg: rgba(28, 10, 14, 0.50); --input-border: rgba(251, 191, 36, 0.18);
  --item-selected-bg: rgba(239, 68, 68, 0.14);
  --chat-bg-self: linear-gradient(135deg, rgba(239, 68, 68, 0.95), rgba(251, 191, 36, 0.86)); --chat-bg-other: rgba(18, 10, 16, 0.72);
}
body[data-theme="ruby"] .theme-toggle-btn { background: linear-gradient(135deg, rgba(239, 68, 68, 0.22), rgba(251, 191, 36, 0.12)); border-color: rgba(239, 68, 68, 0.34); color: #fff; box-shadow: 0 14px 28px rgba(239, 68, 68, 0.10), 0 12px 40px rgba(0, 0, 0, 0.22); }
body[data-theme="ruby"] .theme-badge { color: #fff7ed; background: rgba(239, 68, 68, 0.16); border-color: rgba(251, 191, 36, 0.28); }

/* ===== flame（火焰红：橙红黄剧烈渐变）===== */
body[data-theme="flame"] {
  --primary: #f97316;         /* orange-500 */
  --primary-hover: #ea580c;   /* orange-600 */

  --card-bg: radial-gradient(1400px 900px at 10% 10%, rgba(234, 88, 12, 0.25), transparent 60%),
             radial-gradient(1000px 800px at 90% 30%, rgba(220, 38, 38, 0.20), transparent 60%),
             linear-gradient(180deg, #1a0500, #2a0a05 40%, #150300);

  --text-dark: #fff7ed;
  --border: rgba(255, 255, 255, 0.12);

  --glass-bg: rgba(40, 10, 5, 0.60);
  --glass-border: rgba(249, 115, 22, 0.28);
  --glass-blur: 32px;
  --glass-shadow: 0 22px 60px rgba(0, 0, 0, 0.45);

  --input-bg: rgba(45, 15, 10, 0.55);
  --input-border: rgba(249, 115, 22, 0.30);

  --item-selected-bg: rgba(249, 115, 22, 0.18);

  --chat-bg-self: linear-gradient(135deg, rgba(249, 115, 22, 0.95), rgba(220, 38, 38, 0.88));
  --chat-bg-other: rgba(30, 10, 5, 0.75);
}
body[data-theme="flame"] .theme-toggle-btn {
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.25), rgba(220, 38, 38, 0.18));
  border-color: rgba(249, 115, 22, 0.40);
  color: #fff;
  box-shadow: 0 14px 28px rgba(249, 115, 22, 0.15), 0 12px 40px rgba(0, 0, 0, 0.30);
}
body[data-theme="flame"] .theme-badge {
  color: #fff7ed;
  background: rgba(249, 115, 22, 0.20);
  border-color: rgba(249, 115, 22, 0.40);
}

/* ===== aurora（极光：蓝绿紫梦幻渐变）===== */
body[data-theme="aurora"] {
  --primary: #2dd4bf;         /* teal-400 */
  --primary-hover: #14b8a6;   /* teal-500 */

  --card-bg: radial-gradient(1200px 800px at 0% 0%, rgba(45, 212, 191, 0.18), transparent 50%),
             radial-gradient(1000px 800px at 100% 0%, rgba(168, 85, 247, 0.18), transparent 50%),
             linear-gradient(180deg, #020617, #0f172a 50%, #020617);

  --text-dark: #f0f9ff;
  --border: rgba(255, 255, 255, 0.10);

  --glass-bg: rgba(15, 23, 42, 0.60);
  --glass-border: rgba(45, 212, 191, 0.25);
  --glass-blur: 30px;
  --glass-shadow: 0 22px 60px rgba(0, 0, 0, 0.40);

  --input-bg: rgba(30, 41, 59, 0.55);
  --input-border: rgba(139, 92, 246, 0.25);

  --item-selected-bg: rgba(45, 212, 191, 0.15);

  --chat-bg-self: linear-gradient(135deg, rgba(45, 212, 191, 0.90), rgba(168, 85, 247, 0.85));
  --chat-bg-other: rgba(15, 23, 42, 0.80);
}
body[data-theme="aurora"] .theme-toggle-btn {
  background: linear-gradient(135deg, rgba(45, 212, 191, 0.20), rgba(168, 85, 247, 0.15));
  border-color: rgba(45, 212, 191, 0.35);
  color: #fff;
  box-shadow: 0 14px 28px rgba(45, 212, 191, 0.12), 0 12px 40px rgba(0, 0, 0, 0.25);
}
body[data-theme="aurora"] .theme-badge {
  color: #f0f9ff;
  background: rgba(45, 212, 191, 0.15);
  border-color: rgba(45, 212, 191, 0.35);
}

body[data-theme="mist"] {
  --primary: #93c5fd; --primary-hover: #60a5fa;
  --card-bg: radial-gradient(1200px 700px at 18% 12%, rgba(147, 197, 253, 0.14), transparent 58%), radial-gradient(900px 600px at 85% 20%, rgba(167, 139, 250, 0.10), transparent 60%), linear-gradient(180deg, #060812, #070a14 55%, #04050c);
  --text-dark: #f1f5ff; --border: rgba(255, 255, 255, 0.10);
  --glass-bg: rgba(10, 12, 22, 0.50); --glass-border: rgba(147, 197, 253, 0.18); --glass-blur: 28px; --glass-shadow: 0 22px 60px rgba(0, 0, 0, 0.34);
  --input-bg: rgba(12, 14, 26, 0.46); --input-border: rgba(147, 197, 253, 0.18);
  --item-selected-bg: rgba(147, 197, 253, 0.10);
  --chat-bg-self: linear-gradient(135deg, rgba(147, 197, 253, 0.92), rgba(167, 139, 250, 0.78)); --chat-bg-other: rgba(12, 14, 24, 0.68);
}
body[data-theme="mist"] .theme-toggle-btn { background: linear-gradient(135deg, rgba(147, 197, 253, 0.16), rgba(167, 139, 250, 0.10)); border-color: rgba(147, 197, 253, 0.26); color: #fff; box-shadow: 0 14px 28px rgba(147, 197, 253, 0.08), 0 12px 40px rgba(0, 0, 0, 0.22); }
body[data-theme="mist"] .theme-badge { color: #f1f5ff; background: rgba(147, 197, 253, 0.12); border-color: rgba(147, 197, 253, 0.26); }

body[data-theme="latte"] {
  --primary: #fbbf24; --primary-hover: #f59e0b;
  --card-bg: radial-gradient(1200px 700px at 18% 12%, rgba(251, 191, 36, 0.12), transparent 58%), radial-gradient(900px 600px at 85% 20%, rgba(251, 146, 60, 0.08), transparent 60%), linear-gradient(180deg, #07060a, #0b090e 55%, #060509);
  --text-dark: #fff7ed; --border: rgba(255, 255, 255, 0.10);
  --glass-bg: rgba(18, 14, 16, 0.52); --glass-border: rgba(251, 191, 36, 0.18); --glass-blur: 28px; --glass-shadow: 0 22px 60px rgba(0, 0, 0, 0.34);
  --input-bg: rgba(22, 18, 20, 0.46); --input-border: rgba(251, 191, 36, 0.18);
  --item-selected-bg: rgba(251, 191, 36, 0.10);
  --chat-bg-self: linear-gradient(135deg, rgba(251, 191, 36, 0.92), rgba(251, 146, 60, 0.78)); --chat-bg-other: rgba(18, 16, 20, 0.68);
}
body[data-theme="latte"] .theme-toggle-btn { background: linear-gradient(135deg, rgba(251, 191, 36, 0.14), rgba(251, 146, 60, 0.10)); border-color: rgba(251, 191, 36, 0.26); color: #fff; box-shadow: 0 14px 28px rgba(251, 191, 36, 0.08), 0 12px 40px rgba(0, 0, 0, 0.22); }
body[data-theme="latte"] .theme-badge { color: #fff7ed; background: rgba(251, 191, 36, 0.12); border-color: rgba(251, 191, 36, 0.26); }