/* Material 3 typography — numeric weight aliases + role helper classes.
   Built on the Figma "Typescale" + "Font theme" variable collections in fig-tokens.css.
   The raw size/line-height/tracking tokens are unitless floats, so each rule multiplies by 1px. */
:root {
  /* Figma weight tokens are font-style NAMES ("Regular"/"Medium"/"SemiBold"); these are the CSS numerics. */
  --md-weight-regular: 400;
  --md-weight-medium: 500;
  --md-weight-bold: 600;
  --md-weight-emphasized: 700;

  /* Font-family stacks resolving the brand/plain roles (both = Roboto in this file). */
  --md-font-brand: var(--static-font-brand), "Roboto Flex", "Roboto", system-ui, sans-serif;
  --md-font-plain: var(--static-font-plain), "Roboto", system-ui, sans-serif;
  --md-font-mono: "Roboto Mono", ui-monospace, "SFMono-Regular", monospace;
}

/* Role classes. Each maps to one Typescale role. `weight` uses the numeric aliases above
   because the Figma --static-*-weight tokens are non-numeric style names. */
.md-display-large{font-family:var(--md-font-brand);font-size:calc(var(--static-display-large-size)*1px);line-height:calc(var(--static-display-large-line-height)*1px);letter-spacing:calc(var(--static-display-large-tracking)*1px);font-weight:var(--md-weight-regular)}
.md-display-medium{font-family:var(--md-font-brand);font-size:calc(var(--static-display-medium-size)*1px);line-height:calc(var(--static-display-medium-line-height)*1px);letter-spacing:calc(var(--static-display-medium-tracking)*1px);font-weight:var(--md-weight-regular)}
.md-display-small{font-family:var(--md-font-brand);font-size:calc(var(--static-display-small-size)*1px);line-height:calc(var(--static-display-small-line-height)*1px);letter-spacing:calc(var(--static-display-small-tracking)*1px);font-weight:var(--md-weight-regular)}
.md-headline-large{font-family:var(--md-font-brand);font-size:calc(var(--static-headline-large-size)*1px);line-height:calc(var(--static-headline-large-line-height)*1px);letter-spacing:calc(var(--static-headline-large-tracking)*1px);font-weight:var(--md-weight-regular)}
.md-headline-medium{font-family:var(--md-font-brand);font-size:calc(var(--static-headline-medium-size)*1px);line-height:calc(var(--static-headline-medium-line-height)*1px);letter-spacing:calc(var(--static-headline-medium-tracking)*1px);font-weight:var(--md-weight-regular)}
.md-headline-small{font-family:var(--md-font-brand);font-size:calc(var(--static-headline-small-size)*1px);line-height:calc(var(--static-headline-small-line-height)*1px);letter-spacing:calc(var(--static-headline-small-tracking)*1px);font-weight:var(--md-weight-regular)}
.md-title-large{font-family:var(--md-font-brand);font-size:calc(var(--static-title-large-size)*1px);line-height:calc(var(--static-title-large-line-height)*1px);letter-spacing:calc(var(--static-title-large-tracking)*1px);font-weight:var(--md-weight-regular)}
.md-title-medium{font-family:var(--md-font-plain);font-size:calc(var(--static-title-medium-size)*1px);line-height:calc(var(--static-title-medium-line-height)*1px);letter-spacing:calc(var(--static-title-medium-tracking)*1px);font-weight:var(--md-weight-medium)}
.md-title-small{font-family:var(--md-font-plain);font-size:calc(var(--static-title-small-size)*1px);line-height:calc(var(--static-title-small-line-height)*1px);letter-spacing:calc(var(--static-title-small-tracking)*1px);font-weight:var(--md-weight-medium)}
.md-body-large{font-family:var(--md-font-plain);font-size:calc(var(--static-body-large-size)*1px);line-height:calc(var(--static-body-large-line-height)*1px);letter-spacing:calc(var(--static-body-large-tracking)*1px);font-weight:var(--md-weight-regular)}
.md-body-medium{font-family:var(--md-font-plain);font-size:calc(var(--static-body-medium-size)*1px);line-height:calc(var(--static-body-medium-line-height)*1px);letter-spacing:calc(var(--static-body-medium-tracking)*1px);font-weight:var(--md-weight-regular)}
.md-body-small{font-family:var(--md-font-plain);font-size:calc(var(--static-body-small-size)*1px);line-height:calc(var(--static-body-small-line-height)*1px);letter-spacing:calc(var(--static-body-small-tracking)*1px);font-weight:var(--md-weight-regular)}
.md-label-large{font-family:var(--md-font-plain);font-size:calc(var(--static-label-large-size)*1px);line-height:calc(var(--static-label-large-line-height)*1px);letter-spacing:calc(var(--static-label-large-tracking)*1px);font-weight:var(--md-weight-medium)}
.md-label-medium{font-family:var(--md-font-plain);font-size:calc(var(--static-label-medium-size)*1px);line-height:calc(var(--static-label-medium-line-height)*1px);letter-spacing:calc(var(--static-label-medium-tracking)*1px);font-weight:var(--md-weight-medium)}
.md-label-small{font-family:var(--md-font-plain);font-size:calc(var(--static-label-small-size)*1px);line-height:calc(var(--static-label-small-line-height)*1px);letter-spacing:calc(var(--static-label-small-tracking)*1px);font-weight:var(--md-weight-medium)}
