:root {
  --bg-primary: #ffffff;
  --bg-secondary: #f8fafc;
  --bg-sidebar: #f1f5f9;
  --bg-card: #ffffff;
  --bg-input: #ffffff;
  --bg-hover: #f1f5f9;
  --bg-code: #f1f5f9;
  --text-primary: #0f172a;
  --text-secondary: #475569;
  --text-muted: #94a3b8;
  --text-inverse: #ffffff;
  --border: #e2e8f0;
  --border-strong: #cbd5e1;
  --accent: #059669;
  --accent-hover: #047857;
  --accent-light: #d1fae5;
  --accent-text: #065f46;
  --danger: #dc2626;
  --danger-hover: #b91c1c;
  --danger-light: #fef2f2;
  --warning: #d97706;
  --warning-light: #fffbeb;
  --success: #059669;
  --success-light: #ecfdf5;
}

.dark {
  --bg-primary: #0f172a;
  --bg-secondary: #1e293b;
  --bg-sidebar: #0f172a;
  --bg-card: #1e293b;
  --bg-input: #334155;
  --bg-hover: #334155;
  --bg-code: #334155;
  --text-primary: #f1f5f9;
  --text-secondary: #94a3b8;
  --text-muted: #64748b;
  --text-inverse: #0f172a;
  --border: #334155;
  --border-strong: #475569;
  --accent: #10b981;
  --accent-hover: #34d399;
  --accent-light: #064e3b;
  --accent-text: #6ee7b7;
  --danger: #ef4444;
  --danger-hover: #f87171;
  --danger-light: #450a0a;
  --warning: #f59e0b;
  --warning-light: #451a03;
  --success: #10b981;
  --success-light: #064e3b;
}

/* Hover utilities using CSS variables (avoids inline JS event handlers) */
.hoverable:hover {
  background-color: var(--bg-hover);
}

.hoverable-accent:hover {
  background-color: var(--accent-light);
}

.hoverable-text:hover {
  color: var(--text-primary);
}
