/* ──────────────────────────────────────────────────────────
   Default tokens (consumed by app.css). Themes override these.
   Type scale uses fluid sizing: clamp(min, fluid, max).
   ────────────────────────────────────────────────────────── */
:root {
  --paper: #0a0e1b;
  --paper-2: #111827;
  --paper-3: #1a2236;
  --ink: #d6e2f1;
  --ink-mute: #8194b0;
  --ink-faint: #5a6c89;
  --rule: #243149;
  --accent: #7af9ff;
  --accent-2: #ff67e8;
  --warn: #ffb347;
  --good: #6ce28d;
  --shadow: 0 6px 24px rgba(0, 0, 0, 0.35);

  --font-display: 'Space Grotesk', system-ui, sans-serif;
  --font-body: 'Source Serif 4', Georgia, serif;
  --font-mono: 'JetBrains Mono', 'SF Mono', monospace;
  --font-typewriter: 'Special Elite', 'Courier Prime', monospace;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: clamp(0.95rem, 0.9rem + 0.2vw, 1.0625rem);
  --text-lg: clamp(1.1rem, 1.05rem + 0.3vw, 1.25rem);
  --text-xl: clamp(1.4rem, 1.2rem + 1vw, 1.75rem);
  --text-2xl: clamp(1.8rem, 1.4rem + 2vw, 2.5rem);
  --text-3xl: clamp(2.2rem, 1.6rem + 3vw, 3.4rem);

  --leading-body: 1.6;
  --leading-tight: 1.25;
  --leading-display: 1.05;
  --track-display: -0.01em;
  --track-eyebrow: 0.18em;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-8: 3rem;
  --space-10: 5rem;

  --radius: 6px;
  --radius-lg: 10px;

  --duration: 220ms;
  --ease: cubic-bezier(0.2, 0.8, 0.2, 1);

  --scroll-thumb: #2c3a55;
}

/* Hide the boot screen once #app has rendered something else */
#app:not(:empty) .boot {
  display: none;
}
