/* Astryx typography tokens — copied verbatim from tokens.stylex.ts.
   Default theme uses the platform system font stack; no webfont files ship with Astryx core. */

:root {
  /* Font families */
  --font-family-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-family-code: 'SF Mono', Monaco, Consolas, monospace;
  --font-family-heading: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  /* Text sizes — geometric scale: round(14 × 1.2^step)/16 */
  --font-size-4xs: 0.375rem;   /*  6px */
  --font-size-3xs: 0.4375rem;  /*  7px */
  --font-size-2xs: 0.5rem;     /*  8px */
  --font-size-xs: 0.625rem;    /* 10px */
  --font-size-sm: 0.75rem;     /* 12px */
  --font-size-base: 0.875rem;  /* 14px — base anchor */
  --font-size-lg: 1.0625rem;   /* 17px */
  --font-size-xl: 1.25rem;     /* 20px */
  --font-size-2xl: 1.5rem;     /* 24px */
  --font-size-3xl: 1.8125rem;  /* 29px */
  --font-size-4xl: 2.1875rem;  /* 35px */
  --font-size-5xl: 2.625rem;   /* 42px */

  /* Font weights */
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Type scale — headings (step mapping: h6=-2 … h1=+3) */
  --text-heading-1-size: var(--font-size-2xl);
  --text-heading-1-weight: var(--font-weight-semibold);
  --text-heading-1-leading: 1.3333;
  --text-heading-2-size: var(--font-size-xl);
  --text-heading-2-weight: var(--font-weight-semibold);
  --text-heading-2-leading: 1.4;
  --text-heading-3-size: var(--font-size-lg);
  --text-heading-3-weight: var(--font-weight-semibold);
  --text-heading-3-leading: 1.4118;
  --text-heading-4-size: var(--font-size-base);
  --text-heading-4-weight: var(--font-weight-semibold);
  --text-heading-4-leading: 1.4286;
  --text-heading-5-size: var(--font-size-sm);
  --text-heading-5-weight: var(--font-weight-semibold);
  --text-heading-5-leading: 1.6667;
  --text-heading-6-size: var(--font-size-xs);
  --text-heading-6-weight: var(--font-weight-semibold);
  --text-heading-6-leading: 1.6;

  /* Type scale — text */
  --text-body-size: var(--font-size-base);
  --text-body-weight: var(--font-weight-normal);
  --text-body-leading: 1.4286;
  --text-large-size: var(--font-size-lg);
  --text-large-weight: var(--font-weight-semibold);
  --text-large-leading: 1.4118;
  --text-label-size: var(--font-size-base);
  --text-label-weight: var(--font-weight-medium);
  --text-label-leading: 1.4286;
  --text-code-size: var(--font-size-base);
  --text-code-weight: var(--font-weight-normal);
  --text-code-leading: 1.4286;
  --text-supporting-size: var(--font-size-sm);
  --text-supporting-weight: var(--font-weight-normal);
  --text-supporting-leading: 1.6667;

  /* Type scale — display (weight 400, tighter leading) */
  --text-display-1-size: var(--font-size-5xl);
  --text-display-1-weight: var(--font-weight-normal);
  --text-display-1-leading: 1.2381;
  --text-display-2-size: var(--font-size-4xl);
  --text-display-2-weight: var(--font-weight-normal);
  --text-display-2-leading: 1.2571;
  --text-display-3-size: var(--font-size-3xl);
  --text-display-3-weight: var(--font-weight-normal);
  --text-display-3-leading: 1.2414;
}

body {
  font-family: var(--font-family-body);
  font-size: var(--text-body-size);
  line-height: var(--text-body-leading);
  color: var(--color-text-primary);
  background-color: var(--color-background-body);
}
