/* ================================================================
   Design Tokens — Prova
   All values referenced by style.css via custom properties.
   ================================================================ */

:root {
  /* Typography */
  --font-sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --font-mono: 'IBM Plex Mono', 'SF Mono', 'Cascadia Code', Consolas, monospace;

  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-lg:   1.125rem;
  --text-xl:   1.25rem;
  --text-2xl:  1.5rem;
  --text-3xl:  2rem;
  --text-4xl:  2.5rem;
  --text-5xl:  3.5rem;

  --leading-tight:   1.2;
  --leading-normal:  1.6;
  --leading-relaxed: 1.8;

  --weight-normal:   400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;

  /* Spacing (4px base) */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-6:  1.5rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;

  /* Layout */
  --max-width:        72rem;
  --max-width-narrow: 40rem;
  --border-radius:    0.5rem;
  --border-radius-lg: 0.75rem;

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;
}

/* ---- Dark theme (default) ---- */
:root,
[data-theme="dark"] {
  --color-bg:            #0a0a0b;
  --color-bg-raised:     #141416;
  --color-bg-overlay:    #1c1c1f;
  --color-border:        #2a2a2e;
  --color-border-subtle: #1f1f23;

  --color-text-primary:   #e8e8ed;
  --color-text-secondary: #a0a0ab;
  --color-text-tertiary:  #6b6b76;
  --color-text-inverse:   #0a0a0b;

  --color-accent:        #7c6aef;
  --color-accent-hover:  #9584f5;
  --color-accent-subtle: rgba(124, 106, 239, 0.12);

  --color-success: #34d399;
  --color-error:   #f87171;

  --color-terminal-bg:     #0d0d0f;
  --color-terminal-border: #2a2a2e;
  --color-terminal-green:  #4ade80;
  --color-terminal-blue:   #60a5fa;
  --color-terminal-yellow: #fbbf24;
  --color-terminal-gray:   #6b7280;
  --color-terminal-purple: #a78bfa;

  --color-header-bg: rgba(10, 10, 11, 0.8);
}

/* ---- Light theme ---- */
[data-theme="light"] {
  --color-bg:            #fafafa;
  --color-bg-raised:     #ffffff;
  --color-bg-overlay:    #f0f0f2;
  --color-border:        #e0e0e4;
  --color-border-subtle: #eaeaee;

  --color-text-primary:   #1a1a1e;
  --color-text-secondary: #52525b;
  --color-text-tertiary:  #a1a1aa;
  --color-text-inverse:   #fafafa;

  --color-accent:        #6d5bd0;
  --color-accent-hover:  #5b48b8;
  --color-accent-subtle: rgba(109, 91, 208, 0.08);

  --color-success: #16a34a;
  --color-error:   #dc2626;

  --color-terminal-bg:     #f4f4f6;
  --color-terminal-border: #e0e0e4;
  --color-terminal-green:  #16a34a;
  --color-terminal-blue:   #2563eb;
  --color-terminal-yellow: #ca8a04;
  --color-terminal-gray:   #71717a;
  --color-terminal-purple: #7c3aed;

  --color-header-bg: rgba(250, 250, 250, 0.8);
}
