:root {
  --brand-primary: #2563eb;
  --brand-primary-hover: #286bff;
  --brand-primary-soft: #2563eb14;
  --brand: #2563eb;
  --brand-hover: #2563ebcc;
  --theme-primary: #2563eb;
  --theme-secondary: #2f3542;
  --theme-accent: #3742fa;
  --theme-background: #1a1a2e;
  --theme-text: #ffffff;
  --theme-font: inherit;
  --theme-mode: dark;
  --bg-body: radial-gradient(ellipse at 50% 28%, #1d2e63 0%, #1a1a2e 42%, #10101c 100%);
  --text: #ffffff;
  --text-muted: rgba(255,255,255,0.580);
  --text-subtle: rgba(255,255,255,0.820);
  --surface: #21213b;
  --surface-hover: #222d5b;
  --surface-msg-assistant: #262642;
  --border: rgba(255,255,255,0.140);
  --border-input: rgba(255,255,255,0.200);
  --input-bg: rgba(255,255,255,0.080);
  --input-text: #ffffff;
  --scrollbar: rgba(255,255,255,0.200);
  --overlay: rgba(0,0,0,0.550);
  --code-bg: #131321;
  --msg-actions-bg: rgba(33,33,59,0.960);
  --panel: #21213b;
  --panel-elevated: #272745;
  --danger-ui: #ff6b7a;
  --success-ui: #2ed573;
  --bg: #1a1a2e;
  --bg-elevated: #21213b;
  --bg-muted: #202038;
  --bg-hover: #222d5b;
  --border-strong: rgba(255,255,255,0.240);
  --text-on-primary: #ffffff;
  --light-bg-body: linear-gradient(135deg, #e3ebfa, #e0e8f6, #cbd8ef);
  --light-text: #1a1a2e;
  --light-text-muted: rgba(15,23,42,0.58);
  --light-text-subtle: #475569;
  --light-surface: #ffffff;
  --light-surface-hover: #e1e9f8;
  --light-surface-msg-assistant: #edf2fb;
  --light-border: rgba(15,23,42,0.12);
  --light-border-input: rgba(15,23,42,0.16);
  --light-input-bg: #f0f4fb;
  --light-input-text: #0f172a;
  --light-scrollbar: rgba(15,23,42,0.18);
  --light-overlay: rgba(15,23,42,0.35);
  --light-code-bg: #f1f5f9;
  --light-msg-actions-bg: rgba(255,255,255,0.96);
  --light-panel: #ffffff;
  --light-panel-elevated: #ffffff;
  --dark-bg-body: radial-gradient(ellipse at 50% 28%, #1d2e63 0%, #1a1a2e 42%, #10101c 100%);
  --dark-text: #ffffff;
  --dark-text-muted: rgba(255,255,255,0.580);
  --dark-text-subtle: rgba(255,255,255,0.820);
  --dark-surface: #21213b;
  --dark-surface-hover: #222d5b;
  --dark-surface-msg-assistant: #262642;
  --dark-border: rgba(255,255,255,0.140);
  --dark-border-input: rgba(255,255,255,0.200);
  --dark-input-bg: rgba(255,255,255,0.080);
  --dark-input-text: #ffffff;
  --dark-scrollbar: rgba(255,255,255,0.200);
  --dark-overlay: rgba(0,0,0,0.550);
  --dark-code-bg: #131321;
  --dark-msg-actions-bg: rgba(33,33,59,0.960);
  --dark-panel: #21213b;
  --dark-panel-elevated: #272745;
}
[data-theme="light"] {
  --bg-body: var(--light-bg-body);
  --text: var(--light-text);
  --text-muted: var(--light-text-muted);
  --text-subtle: var(--light-text-subtle);
  --surface: var(--light-surface);
  --surface-hover: var(--light-surface-hover);
  --surface-msg-assistant: var(--light-surface-msg-assistant);
  --border: var(--light-border);
  --border-input: var(--light-border-input);
  --input-bg: var(--light-input-bg);
  --input-text: var(--light-input-text);
  --scrollbar: var(--light-scrollbar);
  --overlay: var(--light-overlay);
  --code-bg: var(--light-code-bg);
  --msg-actions-bg: var(--light-msg-actions-bg);
  --panel: var(--light-panel);
  --panel-elevated: var(--light-panel-elevated);
}
[data-theme="dark"] {
  --bg-body: var(--dark-bg-body);
  --text: var(--dark-text);
  --text-muted: var(--dark-text-muted);
  --text-subtle: var(--dark-text-subtle);
  --surface: var(--dark-surface);
  --surface-hover: var(--dark-surface-hover);
  --surface-msg-assistant: var(--dark-surface-msg-assistant);
  --border: var(--dark-border);
  --border-input: var(--dark-border-input);
  --input-bg: var(--dark-input-bg);
  --input-text: var(--dark-input-text);
  --scrollbar: var(--dark-scrollbar);
  --overlay: var(--dark-overlay);
  --code-bg: var(--dark-code-bg);
  --msg-actions-bg: var(--dark-msg-actions-bg);
  --panel: var(--dark-panel);
  --panel-elevated: var(--dark-panel-elevated);
}
body { font-family: var(--theme-font), Inter, system-ui, sans-serif; }
