/* ShadeWright type. IBM Plex, SIL Open Font License 1.1.
   Self host from /type/fonts/. One family. Three weights in product UI.
   Fallback stack keeps iPhone and Android readable before the webfont lands. */
@font-face { font-family: "IBM Plex Sans"; font-weight: 400; font-style: normal; font-display: swap; src: url("fonts/IBMPlexSans-Regular.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-weight: 500; font-style: normal; font-display: swap; src: url("fonts/IBMPlexSans-Medium.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-weight: 600; font-style: normal; font-display: swap; src: url("fonts/IBMPlexSans-SemiBold.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans Condensed"; font-weight: 600; font-style: normal; font-display: swap; src: url("fonts/IBMPlexSansCondensed-SemiBold.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-weight: 400; font-style: normal; font-display: swap; src: url("fonts/IBMPlexMono-Regular.woff2") format("woff2"); }

:root {
  --sw-font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "SF Pro Text", Roboto, "Helvetica Neue", Arial, sans-serif;
  --sw-font-condensed: "IBM Plex Sans Condensed", "IBM Plex Sans", -apple-system, "SF Pro Text", Roboto, Arial, sans-serif;
  --sw-font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}

/* MD3 type scale, tuned for a 430 px phone. Line heights in px. */
.sw-display-small  { font: 600 36px/44px var(--sw-font-sans); letter-spacing: -0.01em; }
.sw-headline-small { font: 600 24px/32px var(--sw-font-sans); letter-spacing: -0.005em; }
.sw-title-large    { font: 500 22px/28px var(--sw-font-sans); }
.sw-title-medium   { font: 500 16px/24px var(--sw-font-sans); }
.sw-body-large     { font: 400 16px/24px var(--sw-font-sans); }
.sw-body-medium    { font: 400 14px/20px var(--sw-font-sans); }
.sw-label-large    { font: 500 14px/20px var(--sw-font-sans); letter-spacing: 0.01em; }
.sw-label-small    { font: 500 11px/16px var(--sw-font-sans); letter-spacing: 0.03em; }
/* Measurements and side marks. Tabular, mono, never wraps. */
.sw-measure        { font: 400 16px/24px var(--sw-font-mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
.sw-measure-large  { font: 500 28px/36px var(--sw-font-mono); font-variant-numeric: tabular-nums; white-space: nowrap; }