:root {
  /* Warm dark - not pure black */
  --bg-0: #18181b;
  --bg-1: #1f1f23;          /* card */
  --bg-2: #26262b;          /* card hover / elevated */
  --bg-3: #2e2e34;
  --border: #2c2c32;
  --border-strong: #3b3b43;
  --border-glow: rgba(255, 255, 255, 0.08);

  /* Text */
  --text-1: #ffffff;
  --text-2: #d4d4db;
  --text-3: #a1a1aa;
  --text-4: #7c7c86;

  /* Single accent - restrained lime, but used with discipline */
  --lime: #d2ff45;
  --lime-soft: rgba(210, 255, 69, 0.10);
  --lime-glow: rgba(210, 255, 69, 0.20);
  --lime-dim: #8fa82d;

  /* Status colors for mock UI */
  --status-online: #22c55e;
  --status-online-glow: rgba(34, 197, 94, 0.4);
  --bubble-user: #2e2e34;
  --bubble-ai: #d2ff45;

  --danger: #ef4444;

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-2xl: 32px;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --space-10: 128px;

  --shell: 1240px;
  --shell-narrow: 920px;

  /* Type - Geist for sans, Geist Mono for utility (Vercel free) */
  --font-sans: 'Geist', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'Geist Mono', 'JetBrains Mono', ui-monospace, 'SF Mono', Consolas, monospace;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 12px 32px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 30px 80px rgba(0, 0, 0, 0.6);
  --shadow-card: 0 1px 0 rgba(255,255,255,0.04) inset, 0 0 0 1px var(--border);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.22, 1, 0.36, 1);

  --nav-height: 64px;
}
