/* ═══════════════════════════════════════ */
/* THEME SYSTEM — Dark + Light            */
/* ═══════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');

:root, [data-theme="dark"] {
  --bg: #0a0b0f;
  --surface: #12131a;
  --surface-2: #1a1b24;
  --surface-3: #22232e;
  --border: rgba(255,255,255,.06);
  --border-hover: rgba(255,255,255,.12);
  --text: #e8e9ed;
  --text-muted: #6b6e7a;
  --text-dim: #44464f;
  --accent: #c9a227;
  --accent-soft: rgba(201,162,39,.12);
  --accent-glow: rgba(201,162,39,.25);
  --blue: #4a7dff;
  --blue-soft: rgba(74,125,255,.12);
  --green: #2dd4a0;
  --green-soft: rgba(45,212,160,.12);
  --red: #f0465a;
  --red-soft: rgba(240,70,90,.12);
  --orange: #f59e42;
  --orange-soft: rgba(245,158,66,.12);
  --purple: #9b7dff;
  --purple-soft: rgba(155,125,255,.12);
  --pink: #e879a8;
  --pink-soft: rgba(232,121,168,.12);
  --chat-bg: #0d0e14;
  --chat-user: #1e2030;
  --chat-ai: rgba(201,162,39,.08);
  --chat-ai-border: rgba(201,162,39,.2);
  --report-bg: #fff;
  --report-text: #1a1a2e;
  --report-muted: #666;
  --report-light: #f7f7fa;
  --report-border: #eee;
}

[data-theme="light"] {
  --bg: #f4f5f7;
  --surface: #ffffff;
  --surface-2: #f0f1f4;
  --surface-3: #e5e7eb;
  --border: rgba(0,0,0,.08);
  --border-hover: rgba(0,0,0,.15);
  --text: #1a1b2e;
  --text-muted: #5a5d6b;
  --text-dim: #8b8e9a;
  --accent: #a88415;
  --accent-soft: rgba(168,132,21,.1);
  --accent-glow: rgba(168,132,21,.2);
  --blue: #3366e6;
  --blue-soft: rgba(51,102,230,.1);
  --green: #0fa87e;
  --green-soft: rgba(15,168,126,.1);
  --red: #dc3545;
  --red-soft: rgba(220,53,69,.1);
  --orange: #d98a2b;
  --orange-soft: rgba(217,138,43,.1);
  --purple: #7c5cff;
  --purple-soft: rgba(124,92,255,.1);
  --pink: #d4608e;
  --pink-soft: rgba(212,96,142,.1);
  --chat-bg: #f8f8fa;
  --chat-user: #e8e9f0;
  --chat-ai: rgba(168,132,21,.06);
  --chat-ai-border: rgba(168,132,21,.18);
  --shadow: 0 4px 24px rgba(0,0,0,.08);
}

:root {
  --radius: 10px;
  --radius-lg: 16px;
  --shadow: 0 4px 24px rgba(0,0,0,.35);
  --font-mono: 'JetBrains Mono', monospace;
  --font-sans: 'DM Sans', sans-serif;
  --font-serif: 'Instrument Serif', serif;
  --sidebar-w: 240px;
  --topbar-h: 56px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 14px; }
body { font-family: var(--font-sans); background: var(--bg); color: var(--text); min-height: 100vh; overflow: hidden; transition: background .3s, color .3s; }

/* ── SCROLLBAR (global) ── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--surface-3); border-radius: 3px; }

/* ═══════════════════════════════════════ */
/* JARVIS AVATAR — adapted to gold theme  */
/* ═══════════════════════════════════════ */
@keyframes jSpin { to { transform: rotate(360deg); } }
@keyframes jPulse { 0%,100% { transform: scale(.9); opacity: .5; } 50% { transform: scale(1.1); opacity: 1; } }
@keyframes jCore {
  0%,100% { box-shadow: 0 0 5px var(--accent), 0 0 10px var(--accent-glow); transform: scale(.95); }
  50% { box-shadow: 0 0 12px var(--accent), 0 0 24px var(--accent-glow), 0 0 40px rgba(201,162,39,.15); transform: scale(1.05); }
}
@keyframes chatFadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
