/* ============================================================================
   SignalCanvas — Typography tokens
   Inter (UI / body) · Manrope (display headings) · Space Grotesk (technical
   labels, uppercase tracked, kbd) · JetBrains Mono (PatchLang / code).
   Inter, Manrope and Space Grotesk are confirmed in FrontendV1.
   JetBrains Mono is a SUBSTITUTE for code display (repo never names a mono).
   ============================================================================ */

:root {
  /* ---- Families ----------------------------------------------------------- */
  --font-ui:      'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-display: 'Manrope', 'Inter', system-ui, sans-serif;
  --font-label:   'Space Grotesk', 'Inter', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;

  /* ---- Type scale (px) -----------------------------------------------------
     Compact, tool-dense. UI base is 14px (matches base.css). */
  --text-2xs: 10px;   /* micro labels, kbd, version stamps */
  --text-xs:  11px;   /* meta, stats bar */
  --text-sm:  13px;   /* secondary UI */
  --text-base:14px;   /* body / UI default */
  --text-md:  16px;
  --text-lg:  18px;   /* action labels */
  --text-xl:  24px;   /* section titles */
  --text-2xl: 32px;
  --text-3xl: 44px;   /* hero */
  --text-4xl: 60px;
  --text-5xl: 80px;   /* marketing display */

  /* ---- Weights ------------------------------------------------------------- */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;

  /* ---- Line height --------------------------------------------------------- */
  --leading-tight: 1.1;
  --leading-snug: 1.3;
  --leading-normal: 1.5;
  --leading-relaxed: 1.65;

  /* ---- Letter spacing ------------------------------------------------------
     Display tightens; technical labels track WIDE and uppercase. */
  --tracking-display: -0.02em;
  --tracking-normal: 0;
  --tracking-label: 0.1em;
  --tracking-label-wide: 0.2em;

  /* ---- Composed roles ------------------------------------------------------ */
  --type-hero: var(--weight-bold) var(--text-3xl)/var(--leading-tight) var(--font-display);
  --type-title: var(--weight-bold) var(--text-xl)/var(--leading-snug) var(--font-display);
  --type-body: var(--weight-regular) var(--text-base)/var(--leading-normal) var(--font-ui);
  --type-mono: var(--weight-regular) var(--text-sm)/var(--leading-relaxed) var(--font-mono);
}

/* Technical micro-label utility — the signature SignalCanvas label treatment. */
.sc-label {
  font-family: var(--font-label);
  font-size: var(--text-2xs);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label-wide);
  color: var(--text-meta);
}
