/* 亮色主题 · 万幕宣纸米白 + 暖金 (v2 palette · 全局基底) */
[data-theme="light"] {
  --bg-base: #F5EDDD;
  --bg-primary: #FAF4E2;
  --bg-secondary: #EFE4CE;
  --bg-surface: #FAF4E2;
  --bg-elevated: #FFFFFF;
  --bg-deep: #E8DDBE;
  --bg-sunken: #E8DDBE;
  --bg-hover: #EAE0C4;

  --border-primary: rgba(26, 17, 8, 0.20);
  --border-secondary: rgba(26, 17, 8, 0.20);
  --border-subtle: rgba(26, 17, 8, 0.12);

  --text-primary: #1A1108;
  --text-secondary: rgba(26, 17, 8, 0.78);
  --text-tertiary: rgba(26, 17, 8, 0.56);
  --text-muted: rgba(26, 17, 8, 0.36);

  --scrollbar-track: transparent;
  --scrollbar-thumb: rgba(26, 17, 8, 0.20);
  --scrollbar-thumb-hover: rgba(26, 17, 8, 0.36);

  --glass-bg: rgba(245, 237, 221, 0.82);
  --glass-border: rgba(26, 17, 8, 0.12);

  --nav-active-bg: rgba(176, 120, 50, 0.14);
  --nav-hover-bg: rgba(176, 120, 50, 0.14);

  --btn-primary-bg: #B07832;
  --btn-primary-text: #FFFFFF;
  --btn-primary-hover: #C0883C;
  --btn-download-bg: #1A1108;
  --btn-download-bg-hover: #1A1108;
  --btn-download-text: #F5EDDD;
  --btn-primary-shadow: rgba(176, 120, 50, 0.14);
  --btn-selected-bg: #FFFFFF;
  --btn-selected-border: rgba(26, 17, 8, 0.36);

  --overlay-heavy: rgba(0, 0, 0, 0.50);
  --overlay-medium: rgba(0, 0, 0, 0.36);
  --overlay-light: rgba(0, 0, 0, 0.20);
  --overlay-full: rgba(0, 0, 0, 0.78);
  --overlay-border: rgba(26, 17, 8, 0.20);

  --selection-bg: rgba(176, 120, 50, 0.14);

  /* 主题强调色 (accent) · 暖金 · 不派生 · 所有 accent 变体共享主色 */
  --accent: #B07832;
  --accent-hover: #C0883C;
  --accent-muted: #B07832;
  --accent-bg: rgba(176, 120, 50, 0.14);
  --accent-bg-hover: rgba(176, 120, 50, 0.14);
  --accent-border: rgba(176, 120, 50, 0.35);
  --accent-text: #B07832;
  --accent-text-hover: #C0883C;
  --accent-on: #FFFFFF;
  --accent-btn-text: #1A1108;
  --accent-shadow: rgba(176, 120, 50, 0.14);

  /* 开关/Toggle */
  --toggle-active: #B07832;
  --toggle-inactive: rgba(26, 17, 8, 0.20);
  --toggle-knob: #FFFFFF;

  /* 状态色: 成功 · v2 mint 赭绿 */
  --success: #6E8B62;
  --success-text: #6E8B62;
  --success-bg: rgba(110, 139, 98, 0.12);
  --success-border: rgba(110, 139, 98, 0.35);

  /* 状态色: 错误/危险 · v2 rose 砖红 */
  --error: #A34B3A;
  --error-text: #A34B3A;
  --error-bg: rgba(163, 75, 58, 0.10);
  --error-border: rgba(163, 75, 58, 0.35);
  --error-hover-bg: rgba(163, 75, 58, 0.10);
  --error-hover-bg-strong: rgba(163, 75, 58, 0.10);

  /* 状态色: 警告 · v2 没单独 warning · 用主色 */
  --warning: #B07832;
  --warning-text: #B07832;
  --warning-bg: rgba(176, 120, 50, 0.14);
  --warning-border: rgba(176, 120, 50, 0.35);

  /* 状态色: 信息 · v2 violet 淡紫墨 */
  --info: #665078;
  --info-text: #665078;
  --info-bg: rgba(102, 80, 120, 0.13);
  --info-border: rgba(102, 80, 120, 0.35);

  /* 辅助标记色: violet (替代旧 cyan) */
  --tag-purple: #665078;
  --tag-purple-bg: rgba(102, 80, 120, 0.13);
  --tag-purple-border: rgba(102, 80, 120, 0.35);
  --tag-purple-hover: rgba(102, 80, 120, 0.13);
}

/* Agent message animations */
@keyframes fadeSlideUp {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes progressPulse {
  0%, 100% { width: 30%; opacity: 0.6; }
  50% { width: 80%; opacity: 1; }
}
