// Typography Tokens
// Generated from base-tokens.json
// Using Google Fonts: Inter, Playfair Display, JetBrains Mono

// Font Families with Google Fonts
$base-typography-font-family-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;
$base-typography-font-family-serif: 'Playfair Display', ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
$base-typography-font-family-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Monaco, Consolas, 'Courier New', monospace;
$base-typography-font-family-display: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif;

// Font Sizes
$base-typography-font-size-xs: 0.75rem;    // 12px
$base-typography-font-size-sm: 0.875rem;   // 14px
$base-typography-font-size-md: 1rem;       // 16px
$base-typography-font-size-lg: 1.125rem;   // 18px
$base-typography-font-size-xl: 1.25rem;    // 20px
$base-typography-font-size-2xl: 1.5rem;    // 24px
$base-typography-font-size-3xl: 1.875rem;  // 30px
$base-typography-font-size-4xl: 2.25rem;   // 36px
$base-typography-font-size-5xl: 3rem;      // 48px
$base-typography-font-size-6xl: 3.75rem;   // 60px
$base-typography-font-size-7xl: 4.5rem;    // 72px
$base-typography-font-size-8xl: 6rem;      // 96px
$base-typography-font-size-9xl: 8rem;      // 128px
$base-typography-font-size-10xl: 10rem;    // 160px
$base-typography-font-size-11xl: 12rem;    // 192px

// Font Weights
$base-typography-font-weight-100: 100;
$base-typography-font-weight-200: 200;
$base-typography-font-weight-300: 300;
$base-typography-font-weight-400: 400;
$base-typography-font-weight-500: 500;
$base-typography-font-weight-600: 600;
$base-typography-font-weight-700: 700;
$base-typography-font-weight-800: 800;
$base-typography-font-weight-900: 900;

$base-typography-font-weight-thin: 100;
$base-typography-font-weight-extralight: 200;
$base-typography-font-weight-light: 300;
$base-typography-font-weight-normal: 400;
$base-typography-font-weight-medium: 500;
$base-typography-font-weight-semibold: 600;
$base-typography-font-weight-bold: 700;
$base-typography-font-weight-extrabold: 800;
$base-typography-font-weight-black: 900;

// Line Heights
$base-typography-line-height-none: 1;
$base-typography-line-height-tight: 1.25;
$base-typography-line-height-snug: 1.375;
$base-typography-line-height-normal: 1.5;
$base-typography-line-height-relaxed: 1.625;
$base-typography-line-height-loose: 2;
$base-typography-line-height-3: 0.75rem;
$base-typography-line-height-4: 1rem;
$base-typography-line-height-5: 1.25rem;
$base-typography-line-height-6: 1.5rem;
$base-typography-line-height-7: 1.75rem;
$base-typography-line-height-8: 2rem;
$base-typography-line-height-9: 2.25rem;
$base-typography-line-height-10: 2.5rem;

// Letter Spacing
$base-typography-letter-spacing-tighter: -0.05em;
$base-typography-letter-spacing-tight: -0.025em;
$base-typography-letter-spacing-normal: 0em;
$base-typography-letter-spacing-wide: 0.025em;
$base-typography-letter-spacing-wider: 0.05em;
$base-typography-letter-spacing-widest: 0.1em;

// Word Spacing
$base-typography-word-spacing-tight: -0.05em;
$base-typography-word-spacing-normal: 0em;
$base-typography-word-spacing-wide: 0.05em;
$base-typography-word-spacing-wider: 0.1em;

// Text Decoration
$base-typography-text-decoration-line-none: none;
$base-typography-text-decoration-line-underline: underline;
$base-typography-text-decoration-line-overline: overline;
$base-typography-text-decoration-line-line-through: line-through;

$base-typography-text-decoration-style-solid: solid;
$base-typography-text-decoration-style-double: double;
$base-typography-text-decoration-style-dotted: dotted;
$base-typography-text-decoration-style-dashed: dashed;
$base-typography-text-decoration-style-wavy: wavy;

$base-typography-text-decoration-thickness-auto: auto;
$base-typography-text-decoration-thickness-from-font: from-font;
$base-typography-text-decoration-thickness-0: 0px;
$base-typography-text-decoration-thickness-1: 1px;
$base-typography-text-decoration-thickness-2: 2px;
$base-typography-text-decoration-thickness-4: 4px;
$base-typography-text-decoration-thickness-8: 8px;

$base-typography-text-decoration-offset-auto: auto;
$base-typography-text-decoration-offset-0: 0px;
$base-typography-text-decoration-offset-1: 1px;
$base-typography-text-decoration-offset-2: 2px;
$base-typography-text-decoration-offset-4: 4px;
$base-typography-text-decoration-offset-8: 8px;

// Typography Scale Map
$base-typography-scale: (
  xs: (
    font-size: $base-typography-font-size-xs,
    line-height: $base-typography-line-height-4,
  ),
  sm: (
    font-size: $base-typography-font-size-sm,
    line-height: $base-typography-line-height-5,
  ),
  md: (
    font-size: $base-typography-font-size-md,
    line-height: $base-typography-line-height-6,
  ),
  lg: (
    font-size: $base-typography-font-size-lg,
    line-height: $base-typography-line-height-7,
  ),
  xl: (
    font-size: $base-typography-font-size-xl,
    line-height: $base-typography-line-height-7,
  ),
  2xl: (
    font-size: $base-typography-font-size-2xl,
    line-height: $base-typography-line-height-8,
  ),
  3xl: (
    font-size: $base-typography-font-size-3xl,
    line-height: $base-typography-line-height-9,
  ),
  4xl: (
    font-size: $base-typography-font-size-4xl,
    line-height: $base-typography-line-height-10,
  ),
);

// Font Family Map
$base-typography-families: (
  sans: $base-typography-font-family-sans,
  serif: $base-typography-font-family-serif,
  mono: $base-typography-font-family-mono,
  display: $base-typography-font-family-display,
);

// Font Weight Map
$base-typography-weights: (
  thin: $base-typography-font-weight-thin,
  extralight: $base-typography-font-weight-extralight,
  light: $base-typography-font-weight-light,
  normal: $base-typography-font-weight-normal,
  medium: $base-typography-font-weight-medium,
  semibold: $base-typography-font-weight-semibold,
  bold: $base-typography-font-weight-bold,
  extrabold: $base-typography-font-weight-extrabold,
  black: $base-typography-font-weight-black,
);

