/* ============================================================
   JukeNFC · Typography tokens
   Fredoka (display) · Nunito (body) · DM Mono (UID / code)
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-display: 'Baloo 2', 'Fredoka', 'Trebuchet MS', system-ui, sans-serif;
  --font-body:    'Nunito', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:    'DM Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* ---- Weights ---- */
  --fw-regular:  400; /* @kind font */
  --fw-medium:   500; /* @kind font */
  --fw-semibold: 600; /* @kind font */
  --fw-bold:     700; /* @kind font */
  --fw-extra:    800; /* @kind font */
  --fw-black:    900; /* @kind font */

  /* ---- Type scale (fluid-friendly base = 16px) ---- */
  --text-2xs:  0.6875rem;  /* 11px – micro labels */
  --text-xs:   0.75rem;    /* 12px */
  --text-sm:   0.875rem;   /* 14px */
  --text-md:   1rem;       /* 16px – body */
  --text-lg:   1.125rem;   /* 18px */
  --text-xl:   1.375rem;   /* 22px */
  --text-2xl:  1.75rem;    /* 28px */
  --text-3xl:  2.25rem;    /* 36px */
  --text-4xl:  3rem;       /* 48px */
  --text-5xl:  3.75rem;    /* 60px */
  --text-6xl:  4.75rem;    /* 76px – hero */

  /* ---- Line heights ---- */
  --lh-tight:   1.05; /* @kind other */
  --lh-snug:    1.2; /* @kind other */
  --lh-normal:  1.45; /* @kind other */
  --lh-relaxed: 1.65; /* @kind other */

  /* ---- Letter spacing ---- */
  --ls-tight:   -0.02em; /* @kind other */
  --ls-snug:    -0.01em; /* @kind other */
  --ls-normal:  0; /* @kind other */
  --ls-wide:    0.04em; /* @kind other */
  --ls-caps:    0.08em; /* @kind other */

  /* ---- Semantic roles ---- */
  --display-font:   var(--font-display);
  --display-weight: var(--fw-bold);
  --heading-font:   var(--font-display);
  --heading-weight: var(--fw-semibold);
  --body-font:      var(--font-body);
  --body-weight:    var(--fw-regular);
  --emphasis-weight:var(--fw-bold);
}
