:root{
  /* Raw size ramp (the LMS build addresses sizes by number) */
  --fs-10:10px; --fs-11:11px; --fs-12:12px; --fs-13:13px; --fs-14:14px;
  --fs-15:15px; --fs-16:16px; --fs-18:18px; --fs-20:20px; --fs-22:22px;
  --fs-24:24px; --fs-28:28px; --fs-32:32px; --fs-36:36px; --fs-40:40px;
  --fs-44:44px; --fs-50:50px; --fs-60:60px;

  --fw-normal:400; /* @kind font */
  --fw-medium:500; /* @kind font */
  --fw-semibold:600; /* @kind font */
  --fw-bold:700; /* @kind font */

  --lh-tight:1.2; /* @kind font */
  --lh-snug:1.35; /* @kind font */
  --lh-normal:1.5; /* @kind font */
  --lh-relaxed:1.7; /* @kind font */
  --ls-tight:-0.03em; /* @kind font */
  --ls-snug:-0.01em; /* @kind font */
  --ls-normal:0; /* @kind font */
  --ls-label:0.5px; /* @kind font */
  --ls-mono:0.1em; /* @kind font */

  /* Semantic type tokens: size / weight / line-height / tracking */
  --type-display-size:var(--fs-50);   --type-display-weight:var(--fw-bold);     --type-display-lh:1.2;  --type-display-ls:var(--ls-tight); /* @kind font */
  --type-h1-size:var(--fs-40);        --type-h1-weight:var(--fw-bold);          --type-h1-lh:1.25;      --type-h1-ls:var(--ls-tight); /* @kind font */
  --type-h2-size:var(--fs-32);        --type-h2-weight:var(--fw-bold);          --type-h2-lh:1.3;       --type-h2-ls:var(--ls-snug); /* @kind font */
  --type-h3-size:var(--fs-24);        --type-h3-weight:var(--fw-bold);          --type-h3-lh:1.35;      --type-h3-ls:var(--ls-snug); /* @kind font */
  --type-h4-size:var(--fs-20);        --type-h4-weight:var(--fw-semibold);      --type-h4-lh:1.4;       --type-h4-ls:var(--ls-normal); /* @kind font */
  --type-h5-size:var(--fs-18);        --type-h5-weight:var(--fw-semibold);      --type-h5-lh:1.45;      --type-h5-ls:var(--ls-normal); /* @kind font */
  --type-h6-size:var(--fs-16);        --type-h6-weight:var(--fw-semibold);      --type-h6-lh:1.5;       --type-h6-ls:var(--ls-normal); /* @kind font */
  --type-body-lg-size:var(--fs-16);   --type-body-lg-weight:var(--fw-normal);   --type-body-lg-lh:1.6; /* @kind font */
  --type-body-size:var(--fs-14);      --type-body-weight:var(--fw-normal);      --type-body-lh:1.6; /* @kind font */
  --type-body-sm-size:var(--fs-13);   --type-body-sm-weight:var(--fw-normal);   --type-body-sm-lh:1.55; /* @kind font */
  --type-caption-size:var(--fs-12);   --type-caption-weight:var(--fw-normal);   --type-caption-lh:1.5; /* @kind font */
  --type-label-size:var(--fs-14);     --type-label-weight:var(--fw-medium);     --type-label-lh:1.4; /* @kind font */
  --type-button-size:var(--fs-14);    --type-button-weight:var(--fw-medium);    --type-button-lh:1.4; /* @kind font */
  --type-nav-size:var(--fs-15);       --type-nav-weight:var(--fw-medium);       --type-nav-lh:1.4; /* @kind font */
  --type-table-size:var(--fs-14);     --type-table-weight:var(--fw-normal);     --type-table-lh:1.5; /* @kind font */
  --type-overline-size:var(--fs-10);  --type-overline-weight:var(--fw-medium);  --type-overline-ls:var(--ls-mono); /* @kind font */
}
