/* ============================================================
   LCS — Typography tokens
   The app uses Apple's SF Pro (system font) throughout, with the
   .rounded design variant (SF Pro Rounded) for circuit labels,
   source/clock digits, flip-flop pin letters, and chip names.
   These are Apple system fonts and are NOT bundled — we resolve
   to the platform system font via system-ui, with a rounded
   webfont fallback for non-Apple platforms. See fonts.css.
   ============================================================ */

:root {
  /* Families */
  --font-system: -apple-system, BlinkMacSystemFont, "SF Pro Text",
    "SF Pro Display", system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  /* SF Pro Rounded → ui-rounded on Apple, Nunito fallback elsewhere */
  --font-rounded: ui-rounded, "SF Pro Rounded", "Nunito", var(--font-system);

  --font-body: var(--font-system);
  --font-display: var(--font-system);
  --font-numeric: var(--font-rounded); /* the "0/1" digits, pin letters */

  /* Weights (SwiftUI: regular 400, medium 500, semibold 600, bold 700) */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* Type scale — mirrors the sizes used across the app's views.
     Named for the SwiftUI text styles they correspond to. */
  --text-large-title: 34px;  /* .largeTitle */
  --text-title: 28px;        /* .title */
  --text-title2: 22px;       /* .title2 — source digit (size 22 semibold rounded) */
  --text-title3: 20px;       /* .title3 */
  --text-headline: 17px;     /* .headline (semibold) */
  --text-body: 17px;         /* .body */
  --text-callout: 16px;      /* .callout — top-bar icons (size 16 medium) */
  --text-subheadline: 15px;  /* .subheadline — note font (15 medium) */
  --text-footnote: 13px;     /* .footnote */
  --text-caption: 12px;      /* .caption — gate captions, pin letters (12) */
  --text-caption2: 11px;     /* .caption2 — tool button labels */
  --text-micro: 10px;        /* palette section captions, gate expression (10) */
  --text-nano: 7px;          /* 7-seg weight labels (7), chip pins (8) */

  /* Line heights */
  --leading-tight: 1.1;
  --leading-snug: 1.25;
  --leading-normal: 1.4;
  --leading-relaxed: 1.55;

  /* Letter spacing */
  --tracking-caps: 0.04em;   /* uppercase section captions */
  --tracking-normal: 0;
}
