:root{
  --display-xl-size:64px; --display-xl-lh:1.05; /* @kind other */ --display-xl-ls:-1.5px;
  --display-lg-size:48px; --display-lg-lh:1.1; /* @kind other */ --display-lg-ls:-1px;
  --display-md-size:36px; --display-md-lh:1.15; /* @kind other */ --display-md-ls:-0.5px;
  --display-sm-size:28px; --display-sm-lh:1.2; /* @kind other */ --display-sm-ls:-0.3px;
  --display-weight:400;

  --title-lg-size:22px; --title-md-size:18px; --title-sm-size:16px;
  --title-weight:500; --title-lg-lh:1.3; /* @kind other */ --title-md-lh:1.4; /* @kind other */

  --body-md-size:16px; --body-sm-size:14px; --body-lh:1.55; /* @kind other */
  --caption-size:13px; --caption-upper-size:12px; --caption-upper-ls:1.5px;
  --code-size:14px; --code-lh:1.6; /* @kind other */
  --button-size:14px; --nav-link-size:14px;

  --weight-regular:400; --weight-medium:500;
}
/* Utility text classes — optional; components use inline vars */
.sp-display-xl{font:var(--display-weight) var(--display-xl-size)/var(--display-xl-lh) var(--font-display);letter-spacing:var(--display-xl-ls);color:var(--text-ink);margin:0}
.sp-display-lg{font:var(--display-weight) var(--display-lg-size)/var(--display-lg-lh) var(--font-display);letter-spacing:var(--display-lg-ls);color:var(--text-ink);margin:0}
.sp-display-md{font:var(--display-weight) var(--display-md-size)/var(--display-md-lh) var(--font-display);letter-spacing:var(--display-md-ls);color:var(--text-ink);margin:0}
.sp-display-sm{font:var(--display-weight) var(--display-sm-size)/var(--display-sm-lh) var(--font-display);letter-spacing:var(--display-sm-ls);color:var(--text-ink);margin:0}
.sp-title-lg{font:var(--title-weight) var(--title-lg-size)/var(--title-lg-lh) var(--font-sans);color:var(--text-ink);margin:0}
.sp-title-md{font:var(--title-weight) var(--title-md-size)/var(--title-md-lh) var(--font-sans);color:var(--text-ink);margin:0}
.sp-title-sm{font:var(--title-weight) var(--title-sm-size)/var(--title-md-lh) var(--font-sans);color:var(--text-ink);margin:0}
.sp-body-md{font:var(--weight-regular) var(--body-md-size)/var(--body-lh) var(--font-sans);color:var(--text-body);margin:0}
.sp-body-sm{font:var(--weight-regular) var(--body-sm-size)/var(--body-lh) var(--font-sans);color:var(--text-body);margin:0}
.sp-caption{font:var(--weight-medium) var(--caption-size)/1.4 var(--font-sans);color:var(--text-muted);margin:0}
.sp-caption-upper{font:var(--weight-medium) var(--caption-upper-size)/1.4 var(--font-sans);letter-spacing:var(--caption-upper-ls);text-transform:uppercase;color:var(--text-muted);margin:0}
.sp-code{font:var(--weight-regular) var(--code-size)/var(--code-lh) var(--font-mono)}
a{color:var(--text-link);text-decoration:none}
a:hover{color:var(--color-primary-active);text-decoration:underline}
