/* Generated from shared/typography/contract.json. Run npm run typography:build. */
:root {
  --font-ui: 'Inter', system-ui, sans-serif;
  --font-display: 'Poppins', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --text-12: calc(0.75rem * var(--tscale, 1));
  --text-13: calc(0.8125rem * var(--tscale, 1));
  --text-14: calc(0.875rem * var(--tscale, 1));
  --text-16: calc(1rem * var(--tscale, 1));
  --text-20: calc(1.25rem * var(--tscale, 1));
  --text-24: calc(1.5rem * var(--tscale, 1));
  --text-28: calc(1.75rem * var(--tscale, 1));
  --text-32: calc(2rem * var(--tscale, 1));
  --type-page-title-size: calc(2rem * var(--tscale, 1));
  --type-page-title-line: 1.1875;
  --type-page-title-tracking: -0.04em;
  --type-page-title: 500 var(--type-page-title-size)/var(--type-page-title-line) var(--font-display);
  --type-section-title-size: calc(1.25rem * var(--tscale, 1));
  --type-section-title-line: 1.3;
  --type-section-title-tracking: normal;
  --type-section-title: 600 var(--type-section-title-size)/var(--type-section-title-line) var(--font-ui);
  --type-card-title-size: calc(1rem * var(--tscale, 1));
  --type-card-title-line: 1.375;
  --type-card-title-tracking: normal;
  --type-card-title: 600 var(--type-card-title-size)/var(--type-card-title-line) var(--font-ui);
  --type-body-size: calc(0.875rem * var(--tscale, 1));
  --type-body-line: 1.4285714285714286;
  --type-body-tracking: normal;
  --type-body: 400 var(--type-body-size)/var(--type-body-line) var(--font-ui);
  --type-label-size: calc(0.875rem * var(--tscale, 1));
  --type-label-line: 1.4285714285714286;
  --type-label-tracking: normal;
  --type-label: 500 var(--type-label-size)/var(--type-label-line) var(--font-ui);
  --type-reading-size: calc(1rem * var(--tscale, 1));
  --type-reading-line: 1.5;
  --type-reading-tracking: normal;
  --type-reading: 400 var(--type-reading-size)/var(--type-reading-line) var(--font-ui);
  --type-meta-size: calc(0.75rem * var(--tscale, 1));
  --type-meta-line: 1.3333333333333333;
  --type-meta-tracking: normal;
  --type-meta: 400 var(--type-meta-size)/var(--type-meta-line) var(--font-ui);
  --type-code-size: calc(0.8125rem * var(--tscale, 1));
  --type-code-line: 1.3846153846153846;
  --type-code-tracking: normal;
  --type-code: 400 var(--type-code-size)/var(--type-code-line) var(--font-mono);
  --type-metric-size: calc(2rem * var(--tscale, 1));
  --type-metric-line: 1.1875;
  --type-metric-tracking: normal;
  --type-metric: 600 var(--type-metric-size)/var(--type-metric-line) var(--font-ui);
  --type-button-size: calc(1rem * var(--tscale, 1));
  --type-button-line: 1.5;
  --type-button-tracking: normal;
  --type-button: 500 var(--type-button-size)/var(--type-button-line) var(--font-ui);
  --type-action-code-size: calc(1.75rem * var(--tscale, 1));
  --type-action-code-line: 1.2857142857142858;
  --type-action-code-tracking: normal;
  --type-action-code: 500 var(--type-action-code-size)/var(--type-action-code-line) var(--font-mono);
}
@media (max-width: 767px) {
  :root {
    --type-page-title-size: calc(1.75rem * var(--tscale, 1));
    --type-page-title-line: 1.2142857142857142;
  }
}
.type-page-title { font: var(--type-page-title); letter-spacing: var(--type-page-title-tracking); text-transform: none; }
.type-section-title { font: var(--type-section-title); letter-spacing: var(--type-section-title-tracking); text-transform: none; }
.type-card-title { font: var(--type-card-title); letter-spacing: var(--type-card-title-tracking); text-transform: none; }
.type-body { font: var(--type-body); letter-spacing: var(--type-body-tracking); text-transform: none; }
.type-label { font: var(--type-label); letter-spacing: var(--type-label-tracking); text-transform: none; }
.type-reading { font: var(--type-reading); letter-spacing: var(--type-reading-tracking); text-transform: none; }
.type-meta { font: var(--type-meta); letter-spacing: var(--type-meta-tracking); text-transform: none; }
.type-code { font: var(--type-code); letter-spacing: var(--type-code-tracking); text-transform: none; }
.type-metric { font: var(--type-metric); letter-spacing: var(--type-metric-tracking); text-transform: none; }
.type-button { font: var(--type-button); letter-spacing: var(--type-button-tracking); text-transform: none; }
.type-action-code { font: var(--type-action-code); letter-spacing: var(--type-action-code-tracking); text-transform: none; }
.type-metric, .type-code { font-variant-numeric: tabular-nums; }
/* Semantic defaults shared by the application, static pages and design kit.
   Low specificity lets components choose a role without fighting a reset. */
:where(html) { font-size: 100%; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
:where(body) { font: var(--type-body); letter-spacing: normal; font-optical-sizing: auto; font-synthesis: none; }
:where(button, input, select, textarea, optgroup) { font-family: var(--font-ui); letter-spacing: normal; }
:where(button) { font-weight: var(--weight-medium); }
:where(input, select, textarea) { font-size: var(--text-16); }
:where(h1) { font: var(--type-page-title); letter-spacing: var(--type-page-title-tracking); }
:where(h2) { font: var(--type-section-title); }
:where(h3, h4, h5, h6) { font: var(--type-card-title); }
:where(b, strong) { font-weight: var(--weight-semibold); }
:where(code, pre, kbd, samp) { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
:where([role='dialog'], [role='alertdialog'], .p-dialog) :where(h1, h2) { font: var(--type-section-title); letter-spacing: normal; }
