/**
 * Typography System
 * Font sizes, weights, and text styling
 */

:root {
    /* Font Families */
    --font-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-mono: 'SF Mono', Monaco, 'Cascadia Code', monospace;
    
    /* Font Sizes */
    --text-xs: 0.75rem;    /* 12px */
    --text-sm: 0.875rem;   /* 14px */
    --text-base: 1rem;     /* 16px */
    --text-lg: 1.125rem;   /* 18px */
    --text-xl: 1.25rem;    /* 20px */
    --text-2xl: 1.5rem;    /* 24px */
    --text-3xl: 1.875rem;  /* 30px */
    --text-4xl: 2.25rem;   /* 36px */
    
    /* Line Heights */
    --leading-tight: 1.25;
    --leading-normal: 1.5;
    --leading-relaxed: 1.75;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    line-height: var(--leading-tight);
    color: var(--color-text-primary);
    margin-bottom: 0.5rem;
}

h1 { font-size: var(--text-4xl); }
h2 { font-size: var(--text-3xl); }
h3 { font-size: var(--text-2xl); }
h4 { font-size: var(--text-xl); }
h5 { font-size: var(--text-lg); }
h6 { font-size: var(--text-base); }

/* Body text */
p {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-text-primary);
    margin-bottom: 1rem;
}

/* Small text */
small {
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
}

/* Code */
code, pre {
    font-family: var(--font-mono);
    font-size: var(--text-sm);
}

/* Links */
a {
    color: var(--color-accent-orange);
    transition: color 0.2s ease;
}

a:hover {
    color: var(--color-accent-orange-hover);
}