/* 设计 tokens：:root 默认主题变量、THEME 2 晴空(light)、THEME 3 暖岩(warm)、主题切换器 widget、reset(* 与 body) */
:root {
  /* 深空 · 默认主题 —— 低亮度蓝黑底 + 分层表面 + 靛蓝主色 */
  --bg: #0a0d16;
  --surface: #12161f;
  --surface2: #1a1f2c;
  --surface3: #232939;
  --border: #262c3d;
  --border-strong: #333b52;
  --text: #e9ebf4;
  --text2: #979eb4;
  --text3: #6b7087;
  --primary: #6f71f8;
  --primary-hover: #8a8bff;
  --primary-deep: #5457e0;
  --green: #3ecf8e;
  --yellow: #f0b429;
  --red: #f26d6d;
  --orange: #f68c4b;
  --radius: 10px;
  /* 品牌渐变（CTA / 徽标 / 激活态） */
  --grad-primary: linear-gradient(135deg, #7b7dff 0%, #5b5ee6 100%);
  --grad-primary-soft: linear-gradient(135deg, rgba(123,125,255,0.16), rgba(91,94,230,0.08));
}
/* ═══════════════════════════════════════════
   THEME 2 · 晴空（Light）
   ═══════════════════════════════════════════ */
[data-theme="light"] {
  --bg: #eef1f8;
  --surface: #ffffff;
  --surface2: #f4f6fb;
  --surface3: #e9edf6;
  --border: #dde3ef;
  --border-strong: #c8d1e4;
  --text: #1a2338;
  --text2: #5b6a84;
  --text3: #8593ab;
  --primary: #5b5cf6;
  --primary-hover: #4640dd;
  --primary-deep: #4640dd;
  --green: #14925f;
  --yellow: #9a6c04;
  --red: #cf3f3f;
  --orange: #c2410c;
  --radius: 10px;
  --grad-primary: linear-gradient(135deg, #6a6cf8 0%, #4b4ce0 100%);
  --grad-primary-soft: linear-gradient(135deg, rgba(91,92,246,0.12), rgba(91,92,246,0.05));
}
/* Fix rgba(255,255,255,…) highlights invisible on white backgrounds */
[data-theme="light"] .msg.assistant .bubble code { background: rgba(0,0,0,0.06); }
[data-theme="light"] .msg.assistant .bubble th { background: rgba(0,0,0,0.04); }
[data-theme="light"] .invite-code-input { background: rgba(0,0,0,0.04); }
[data-theme="light"] .member-stats .stat { background: rgba(0,0,0,0.04); }
[data-theme="light"] .chatroom-panel { background: linear-gradient(180deg,rgba(0,0,0,0.01),transparent 18%); }
[data-theme="light"] .cr-msg.system .cr-msg-content { background: rgba(91,92,246,0.07); border-color: rgba(91,92,246,0.2); }
[data-theme="light"] .cr-msg.system.meeting-event .cr-msg-content { background: rgba(20,146,95,0.08); border-color: rgba(20,146,95,0.22); }
[data-theme="light"] .chatroom-meeting-banner { background: rgba(91,92,246,0.05); border-color: rgba(91,92,246,0.22); }
[data-theme="light"] .chatroom-meeting-banner.inactive { background: rgba(0,0,0,0.02); border-color: var(--border); }
[data-theme="light"] .meeting-card { background: rgba(0,0,0,0.03); }
[data-theme="light"] .meeting-member-chip { background: rgba(0,0,0,0.05); color: var(--text2); }
[data-theme="light"] .meeting-member-chip.key { background: rgba(154,108,4,0.1); color: #7c5504; }
[data-theme="light"] .meeting-pill.active { border-color: rgba(91,92,246,0.45); background: rgba(91,92,246,0.1); color: #3730a3; }
[data-theme="light"] .meeting-pill.warn { color: #991b1b; background: rgba(207,63,63,0.1); border-color: rgba(207,63,63,0.35); }
[data-theme="light"] .notif-detail-body { background: rgba(0,0,0,0.03); }
[data-theme="light"] .chatroom-extract-result { background: rgba(91,92,246,0.05); border-color: rgba(91,92,246,0.15); }
[data-theme="light"] .session-item.active { background: rgba(91,92,246,0.1); }
[data-theme="light"] .invite-copy-btn { color: var(--primary); border-color: rgba(91,92,246,0.35); background: rgba(91,92,246,0.08); }
[data-theme="light"] .invite-copy-btn:hover { color: var(--primary-hover); border-color: var(--primary); }
[data-theme="light"] .team-leave-btn { background: rgba(91,92,246,0.08); border-color: rgba(91,92,246,0.25); color: var(--primary); }
[data-theme="light"] .auth-tab.active { background: var(--surface); border-color: var(--border); color: var(--text); }
[data-theme="light"] .meeting-member-check:hover { background: rgba(91,92,246,0.05); border-color: rgba(91,92,246,0.3); }
[data-theme="light"] .theme-btn.active { background: rgba(91,92,246,0.1); border-color: var(--primary); color: var(--text); }

/* ═══════════════════════════════════════════
   THEME 3 · 暖岩（Warm Stone）
   设计理念：行政办公室的暖灯质感——深棕木纹桌面
   搭配琥珀金点缀，久看不疲，沉稳而有格调
   ═══════════════════════════════════════════ */
[data-theme="warm"] {
  --bg: #14110c;
  --surface: #1d1a13;
  --surface2: #272219;
  --surface3: #322b1f;
  --border: #3a3324;
  --border-strong: #4c422e;
  --text: #f3ede1;
  --text2: #ab9c81;
  --text3: #7d7159;
  --primary: #e2a13d;
  --primary-hover: #f0b95e;
  --primary-deep: #c5832a;
  --green: #5ca86b;
  --yellow: #c8a030;
  --red: #d06a6a;
  --orange: #d07438;
  --radius: 10px;
  --grad-primary: linear-gradient(135deg, #f0b95e 0%, #d19a35 100%);
  --grad-primary-soft: linear-gradient(135deg, rgba(226,161,61,0.16), rgba(226,161,61,0.06));
}
/* Amber primary → dark text ensures readability on gold buttons */
[data-theme="warm"] .btn-new-chat,
[data-theme="warm"] .login-box button,
[data-theme="warm"] .chatroom-input-area button,
[data-theme="warm"] .btn-submit,
[data-theme="warm"] .chat-input-area button,
[data-theme="warm"] .ph-action-btn,
[data-theme="warm"] .notif-jump-btn { color: #1a1408; font-weight: 700; }
[data-theme="warm"] .sidebar-avatar,
[data-theme="warm"] .member-avatar { color: #1a1408; }
[data-theme="warm"] .session-item.active { background: rgba(226,161,61,0.14); }
[data-theme="warm"] .chatroom-meeting-banner { border-color: rgba(226,161,61,0.28); background: rgba(226,161,61,0.06); }
[data-theme="warm"] .meeting-pill.active { border-color: rgba(226,161,61,0.45); background: rgba(226,161,61,0.18); color: var(--text); }
[data-theme="warm"] .meeting-member-chip.key { background: rgba(200,160,48,0.15); color: #e8c870; }
[data-theme="warm"] .auth-tab.active { background: var(--surface3); border-color: var(--border-strong); }
[data-theme="warm"] .invite-copy-btn { color: var(--primary-hover); border-color: rgba(226,161,61,0.4); background: rgba(226,161,61,0.1); }
[data-theme="warm"] .invite-copy-btn:hover { border-color: var(--primary); color: #f5c870; }
[data-theme="warm"] .team-leave-btn { background: rgba(226,161,61,0.1); border-color: rgba(226,161,61,0.3); color: #f0c870; }
[data-theme="warm"] .chatroom-extract-result { background: rgba(226,161,61,0.06); border-color: rgba(226,161,61,0.18); }
[data-theme="warm"] .chatroom-extract-result h4 { color: var(--primary); }
[data-theme="warm"] .extract-chip { background: rgba(226,161,61,0.12); color: var(--primary); }
[data-theme="warm"] .theme-btn.active { background: rgba(226,161,61,0.14); border-color: var(--primary); color: var(--text); }

/* ═══════════════════════════════════════════
   Theme switcher widget (sidebar footer)
   ═══════════════════════════════════════════ */
.theme-switcher-row { display: flex; align-items: center; gap: 5px; padding: 7px 10px; border-top: 1px solid var(--border); }
.theme-switcher-label { font-size: 11px; color: var(--text2); flex-shrink: 0; margin-right: 2px; }
.content-mode-row { display:flex; align-items:center; gap:5px; padding:7px 10px; border-top:1px solid var(--border); }
.content-mode-row .theme-switcher-label { min-width:48px; }
.content-mode-btn { flex:1; padding:6px 7px; border:1px solid var(--border); border-radius:6px; background:none; color:var(--text2); cursor:pointer; font-size:11px; }
.content-mode-btn:hover, .content-mode-btn.active { border-color:var(--primary); color:var(--text); background:color-mix(in srgb,var(--primary) 10%,transparent); }
.mem-toggle-row { display: flex; align-items: center; gap: 8px; padding: 7px 10px; border-top: 1px solid var(--border); }
.mem-toggle-label { font-size: 11px; color: var(--text2); flex: 1; }
.mem-toggle-label span { font-weight: 600; }
.mem-toggle-switch { position: relative; width: 32px; height: 18px; flex-shrink: 0; cursor: pointer; }
.mem-toggle-switch input { opacity: 0; width: 0; height: 0; }
.mem-toggle-track { position: absolute; inset: 0; background: var(--border); border-radius: 18px; transition: background .2s; }
.mem-toggle-switch input:checked + .mem-toggle-track { background: var(--primary); }
.mem-toggle-thumb { position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; background: #fff; border-radius: 50%; transition: transform .2s; }
.mem-toggle-switch input:checked ~ .mem-toggle-thumb { transform: translateX(14px); }
.mem-status-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--border); flex-shrink: 0; transition: background .2s; }
.mem-status-dot.on { background: #22c55e; }
.theme-btn { flex: 1; display: flex; align-items: center; justify-content: center; gap: 4px; padding: 5px 3px; border-radius: 6px; border: 1px solid var(--border); background: none; cursor: pointer; font-size: 11px; color: var(--text2); transition: border-color .15s, background .15s, color .15s; white-space: nowrap; }
.theme-btn:hover { border-color: var(--primary); color: var(--text); background: var(--surface2); }
.theme-btn.active { border-color: var(--primary); background: rgba(99,102,241,0.1); color: var(--text); font-weight: 600; }
.theme-swatch { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; border: 1.5px solid rgba(255,255,255,0.25); }

* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: var(--bg); color: var(--text); height: 100vh; display: flex; }
