/*
 * Coding180 Design System — Tokens
 * ---------------------------------
 * Single source of truth for color, type, spacing, radius, shadow, and motion.
 * Nothing in this file renders a component — it only defines variables.
 * Component styles live in components.css and consume these tokens.
 */

:root {
  /* ---- Color: surfaces ---- */
  --c-bg: #FAF6EF;
  --c-bg-alt: #F1EBDF;
  --c-card: #FFFFFF;

  /* ---- Color: ink (text) ---- */
  --c-ink: #1B1523;
  --c-ink-soft: #5B5468;
  --c-ink-faint: #9A93A6;
  --c-border: rgba(27, 21, 35, 0.08);

  /* ---- Color: brand tones ----
     Each tone has a "soft" (tint, used as chip/icon backgrounds) and
     "fg" (foreground, used for icons/text/links on that tone). */
  --c-primary: #5B3DF5;
  --c-primary-soft: #EDE8FE;
  --c-coral: #FF6A4D;
  --c-coral-soft: #FFE7E0;
  --c-teal: #0EA5A0;
  --c-teal-soft: #DFF6F4;
  --c-amber: #E8A93C;
  --c-amber-soft: #FCEFD6;

  /* ---- Type ----
     Two-family system: Sora for display/headings, Plus Jakarta Sans for body/UI. */
  --font-display: 'Sora', sans-serif;
  --font-body: 'Plus Jakarta Sans', sans-serif;

  /* Fluid-ish type scale (rem-based, consistent step ratio ~1.2) */
  --text-xs: 0.72rem;
  --text-sm: 0.875rem;
  --text-base: 0.98rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 2rem;
  --text-4xl: 2.9rem;

  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;

  /* ---- Spacing scale (4px base) ---- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-14: 3.5rem;

  /* ---- Radius ---- */
  --radius-sm: 0.75rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
  --radius-xl: 2rem;
  --radius-full: 9999px;

  /* ---- Shadow ---- */
  --shadow-sm: 0 1px 2px rgba(27, 21, 35, 0.05);
  --shadow-md: 0 8px 24px rgba(27, 21, 35, 0.08);
  --shadow-lg: 0 16px 40px rgba(27, 21, 35, 0.14);

  /* ---- Motion ---- */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --duration-fast: 0.15s;
  --duration-base: 0.45s;

  /* ---- Layout ---- */
  --shell-max: 72rem;      /* 1152px, matches Tailwind's max-w-6xl */
  --shell-max-narrow: 56rem; /* 896px, matches max-w-4xl for article-style pages */
  --sidebar-width: 16rem;
}

/*
 * Tone map: every "brand tone" used across cards, chips, and icons resolves
 * to one of these four. Keep this list closed — adding a 5th tone means
 * updating this file, components.css tone-* classes, and design-tokens.php.
 */
