// src/tokens/typography.ts
var fontFamilies = {
  /** Geist — primary UI font for body text, labels, headings, and display. */
  GEIST: "Geist",
  /** Crimson Pro — editorial/serif font, mostly italic. Used for decorative headings and pull quotes. */
  CRIMSON_PRO: "Crimson Pro"
};
var typographyTypes = {
  // Geist Label Caption (12px)
  GEIST_LABEL_CAPTION_REGULAR: "GEIST_LABEL_CAPTION_REGULAR",
  GEIST_LABEL_CAPTION_MEDIUM: "GEIST_LABEL_CAPTION_MEDIUM",
  GEIST_LABEL_CAPTION_SEMI_BOLD: "GEIST_LABEL_CAPTION_SEMI_BOLD",
  // Geist Body Extra Small (14px)
  GEIST_BODY_XS_REGULAR: "GEIST_BODY_XS_REGULAR",
  GEIST_BODY_XS_MEDIUM: "GEIST_BODY_XS_MEDIUM",
  GEIST_BODY_XS_BOLD: "GEIST_BODY_XS_BOLD",
  // Geist Body Small (16px)
  GEIST_BODY_S_REGULAR: "GEIST_BODY_S_REGULAR",
  GEIST_BODY_S_MEDIUM: "GEIST_BODY_S_MEDIUM",
  GEIST_BODY_S_SEMI_BOLD: "GEIST_BODY_S_SEMI_BOLD",
  GEIST_BODY_S_BOLD: "GEIST_BODY_S_BOLD",
  // Geist Body Medium (18px)
  GEIST_BODY_M_LIGHT: "GEIST_BODY_M_LIGHT",
  GEIST_BODY_M_REGULAR: "GEIST_BODY_M_REGULAR",
  GEIST_BODY_M_MEDIUM: "GEIST_BODY_M_MEDIUM",
  GEIST_BODY_M_SEMI_BOLD: "GEIST_BODY_M_SEMI_BOLD",
  // Geist Body Large (20px)
  GEIST_BODY_L_REGULAR: "GEIST_BODY_L_REGULAR",
  GEIST_BODY_L_MEDIUM: "GEIST_BODY_L_MEDIUM",
  GEIST_BODY_L_SEMI_BOLD: "GEIST_BODY_L_SEMI_BOLD",
  GEIST_BODY_L_BOLD: "GEIST_BODY_L_BOLD",
  // Geist Heading Small (24px)
  GEIST_HEADING_S_REGULAR: "GEIST_HEADING_S_REGULAR",
  GEIST_HEADING_S_MEDIUM: "GEIST_HEADING_S_MEDIUM",
  GEIST_HEADING_S_BOLD: "GEIST_HEADING_S_BOLD",
  // Geist Heading Medium (28px)
  GEIST_HEADING_M_BOLD: "GEIST_HEADING_M_BOLD",
  // Geist Heading Large (32px)
  GEIST_HEADING_L_REGULAR: "GEIST_HEADING_L_REGULAR",
  GEIST_HEADING_L_MEDIUM: "GEIST_HEADING_L_MEDIUM",
  GEIST_HEADING_L_SEMI_BOLD: "GEIST_HEADING_L_SEMI_BOLD",
  GEIST_HEADING_L_BOLD: "GEIST_HEADING_L_BOLD",
  // Geist Display Large (36px)
  GEIST_DISPLAY_L_MEDIUM: "GEIST_DISPLAY_L_MEDIUM",
  // Crimson Pro Body Small (16px, italic)
  CRIMSON_PRO_BODY_S_LIGHT_ITALIC: "CRIMSON_PRO_BODY_S_LIGHT_ITALIC",
  // Crimson Pro Body Medium (18px, italic)
  CRIMSON_PRO_BODY_M_LIGHT_ITALIC: "CRIMSON_PRO_BODY_M_LIGHT_ITALIC",
  // Crimson Pro Heading Medium (24px, italic)
  CRIMSON_PRO_HEADING_M_MEDIUM_ITALIC: "CRIMSON_PRO_HEADING_M_MEDIUM_ITALIC",
  // Crimson Pro Display Large (40px, upright)
  CRIMSON_PRO_DISPLAY_L_REGULAR: "CRIMSON_PRO_DISPLAY_L_REGULAR",
  // Crimson Pro Display Extra Large (46px, italic)
  CRIMSON_PRO_DISPLAY_XL_REGULAR_ITALIC: "CRIMSON_PRO_DISPLAY_XL_REGULAR_ITALIC"
};
var typographyStyles = {
  // Geist Label Caption (12px)
  [typographyTypes.GEIST_LABEL_CAPTION_REGULAR]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 12,
    fontWeight: 400,
    lineHeight: 16
  },
  [typographyTypes.GEIST_LABEL_CAPTION_MEDIUM]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 12,
    fontWeight: 500,
    lineHeight: 16
  },
  [typographyTypes.GEIST_LABEL_CAPTION_SEMI_BOLD]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 12,
    fontWeight: 600,
    lineHeight: 16
  },
  // Geist Body Extra Small (14px)
  [typographyTypes.GEIST_BODY_XS_REGULAR]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 14,
    fontWeight: 400,
    lineHeight: 20
  },
  [typographyTypes.GEIST_BODY_XS_MEDIUM]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 14,
    fontWeight: 500,
    lineHeight: 20
  },
  [typographyTypes.GEIST_BODY_XS_BOLD]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 14,
    fontWeight: 600,
    lineHeight: 20
  },
  // Geist Body Small (16px)
  [typographyTypes.GEIST_BODY_S_REGULAR]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 16,
    fontWeight: 400,
    lineHeight: 24,
    letterSpacing: -0.08
  },
  [typographyTypes.GEIST_BODY_S_MEDIUM]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 16,
    fontWeight: 500,
    lineHeight: 24,
    letterSpacing: -0.08
  },
  [typographyTypes.GEIST_BODY_S_SEMI_BOLD]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 16,
    fontWeight: 600,
    lineHeight: 24,
    letterSpacing: -0.08
  },
  [typographyTypes.GEIST_BODY_S_BOLD]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 16,
    fontWeight: 700,
    lineHeight: 24,
    letterSpacing: -0.08
  },
  // Geist Body Medium (18px)
  [typographyTypes.GEIST_BODY_M_LIGHT]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 18,
    fontWeight: 300,
    lineHeight: 28,
    letterSpacing: -0.09
  },
  [typographyTypes.GEIST_BODY_M_REGULAR]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 18,
    fontWeight: 400,
    lineHeight: 28,
    letterSpacing: -0.09
  },
  [typographyTypes.GEIST_BODY_M_MEDIUM]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 18,
    fontWeight: 500,
    lineHeight: 28,
    letterSpacing: -0.09
  },
  [typographyTypes.GEIST_BODY_M_SEMI_BOLD]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 18,
    fontWeight: 600,
    lineHeight: 28,
    letterSpacing: -0.09
  },
  // Geist Body Large (20px)
  [typographyTypes.GEIST_BODY_L_REGULAR]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 20,
    fontWeight: 400,
    lineHeight: 30,
    letterSpacing: -0.2
  },
  [typographyTypes.GEIST_BODY_L_MEDIUM]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 20,
    fontWeight: 500,
    lineHeight: 30,
    letterSpacing: -0.2
  },
  [typographyTypes.GEIST_BODY_L_SEMI_BOLD]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 20,
    fontWeight: 600,
    lineHeight: 30,
    letterSpacing: -0.2
  },
  [typographyTypes.GEIST_BODY_L_BOLD]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 20,
    fontWeight: 700,
    lineHeight: 30,
    letterSpacing: -0.2
  },
  // Geist Heading Small (24px)
  [typographyTypes.GEIST_HEADING_S_REGULAR]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 24,
    fontWeight: 400,
    lineHeight: 32,
    letterSpacing: -0.48
  },
  [typographyTypes.GEIST_HEADING_S_MEDIUM]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 24,
    fontWeight: 500,
    lineHeight: 32,
    letterSpacing: -0.48
  },
  [typographyTypes.GEIST_HEADING_S_BOLD]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 24,
    fontWeight: 700,
    lineHeight: 32,
    letterSpacing: -0.48
  },
  // Geist Heading Medium (28px)
  [typographyTypes.GEIST_HEADING_M_BOLD]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 28,
    fontWeight: 700,
    lineHeight: 36,
    letterSpacing: -0.6
  },
  // Geist Heading Large (32px)
  [typographyTypes.GEIST_HEADING_L_REGULAR]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 32,
    fontWeight: 400,
    lineHeight: 40,
    letterSpacing: -0.64
  },
  [typographyTypes.GEIST_HEADING_L_MEDIUM]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 32,
    fontWeight: 500,
    lineHeight: 40,
    letterSpacing: -0.64
  },
  [typographyTypes.GEIST_HEADING_L_SEMI_BOLD]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 32,
    fontWeight: 600,
    lineHeight: 40,
    letterSpacing: -0.64
  },
  [typographyTypes.GEIST_HEADING_L_BOLD]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 32,
    fontWeight: 700,
    lineHeight: 40,
    letterSpacing: -0.64
  },
  // Geist Display Large (36px)
  [typographyTypes.GEIST_DISPLAY_L_MEDIUM]: {
    fontFamily: fontFamilies.GEIST,
    fontSize: 36,
    fontWeight: 500,
    lineHeight: 44,
    letterSpacing: -0.72
  },
  // Crimson Pro Body Small (16px, italic)
  [typographyTypes.CRIMSON_PRO_BODY_S_LIGHT_ITALIC]: {
    fontFamily: fontFamilies.CRIMSON_PRO,
    fontSize: 16,
    fontWeight: 300,
    lineHeight: 20,
    letterSpacing: -0.32,
    fontStyle: "italic"
  },
  // Crimson Pro Body Medium (18px, italic)
  [typographyTypes.CRIMSON_PRO_BODY_M_LIGHT_ITALIC]: {
    fontFamily: fontFamilies.CRIMSON_PRO,
    fontSize: 18,
    fontWeight: 300,
    lineHeight: 28,
    letterSpacing: 0,
    fontStyle: "italic"
  },
  // Crimson Pro Heading Medium (24px, italic)
  [typographyTypes.CRIMSON_PRO_HEADING_M_MEDIUM_ITALIC]: {
    fontFamily: fontFamilies.CRIMSON_PRO,
    fontSize: 24,
    fontWeight: 400,
    lineHeight: 32,
    letterSpacing: -0.48,
    fontStyle: "italic"
  },
  // Crimson Pro Display Large (40px, upright)
  [typographyTypes.CRIMSON_PRO_DISPLAY_L_REGULAR]: {
    fontFamily: fontFamilies.CRIMSON_PRO,
    fontSize: 40,
    fontWeight: 300,
    lineHeight: 48,
    letterSpacing: -1.6
  },
  // Crimson Pro Display Extra Large (46px, italic)
  [typographyTypes.CRIMSON_PRO_DISPLAY_XL_REGULAR_ITALIC]: {
    fontFamily: fontFamilies.CRIMSON_PRO,
    fontSize: 46,
    fontWeight: 400,
    lineHeight: 54,
    letterSpacing: -1.38,
    fontStyle: "italic"
  }
};
function typographyMixin(type) {
  const style = typographyStyles[type];
  return [
    `font-family: "${style.fontFamily}", sans-serif`,
    `font-size: ${style.fontSize}px`,
    `font-weight: ${style.fontWeight}`,
    `line-height: ${style.lineHeight}px`,
    `letter-spacing: ${style.letterSpacing != null ? `${style.letterSpacing}px` : "inherit"}`,
    `font-style: ${style.fontStyle ?? "normal"}`
  ].join(";\n  ");
}

export {
  fontFamilies,
  typographyTypes,
  typographyStyles,
  typographyMixin
};
//# sourceMappingURL=chunk-UXT2H3FM.js.map