// Use theme variables with namespace to avoid conflicts
@use 'variables' as vars;
@use 'mixins' as mix;

// ============================================
// Hikari Typography Component
// Unified text rendering: headings, body, caption, code, muted
// ============================================

// ============================================
// Base Typography
// ============================================

.hi-typography {
    font-family: vars.$hikari-font-family-sans;
    color: var(--hi-color-text-primary);
    line-height: 1.5;
    margin: 0;
}

// ============================================
// Heading Variants (H1–H6)
// ============================================

.hi-typography-h1 {
    font-size: vars.$hikari-font-size-3xl;
    font-weight: 600;
    line-height: 1.25;
    margin-bottom: vars.$hikari-spacing-md;
}

.hi-typography-h2 {
    font-size: vars.$hikari-font-size-2xl;
    font-weight: 600;
    line-height: 1.25;
    margin-bottom: vars.$hikari-spacing-md;
}

.hi-typography-h3 {
    font-size: vars.$hikari-font-size-xl;
    font-weight: 600;
    line-height: 1.25;
    margin-bottom: vars.$hikari-spacing-md;
}

.hi-typography-h4 {
    font-size: vars.$hikari-font-size-lg;
    font-weight: 500;
    line-height: 1.35;
}

.hi-typography-h5 {
    font-size: vars.$hikari-font-size-base;
    font-weight: 500;
    line-height: 1.5;
}

.hi-typography-h6 {
    font-size: vars.$hikari-font-size-sm;
    font-weight: 500;
    line-height: 1.5;
}

// ============================================
// Body Text
// ============================================

.hi-typography-body {
    font-size: vars.$hikari-font-size-base;
    line-height: 1.5;
}

// ============================================
// Caption / Small Text
// ============================================

.hi-typography-caption {
    font-size: vars.$hikari-font-size-sm;
    color: var(--hi-color-text-secondary);
    line-height: 1.5;
}

// ============================================
// Inline Code
// ============================================

.hi-typography-code {
    font-family: vars.$hikari-font-family-mono;
    font-size: 0.9em;
    padding: 0.15em 0.4em;
    background-color: var(--hi-color-border);
    border-radius: vars.$hikari-radius-sm;
    white-space: nowrap;
}

// ============================================
// Muted Text
// ============================================

.hi-typography-muted {
    font-size: vars.$hikari-font-size-base;
    color: var(--hi-color-text-secondary);
    line-height: 1.5;
}

// ============================================
// Overline
// ============================================

.hi-typography-overline {
    font-size: vars.$hikari-font-size-xs;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--hi-color-text-secondary);
}
