/* ============================================
   VoiceBoard — Typography System
   ============================================ */

.text-large-title {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-bold);
    line-height: 1.1;
    letter-spacing: -1px;
}

.text-title1 {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    letter-spacing: -0.5px;
}

.text-title2 {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    line-height: 1.3;
    letter-spacing: -0.3px;
}

.text-title3 {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    line-height: 1.3;
}

.text-headline {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    line-height: 1.4;
}

.text-body {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-regular);
    line-height: 1.5;
}

.text-callout {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.4;
}

.text-subheadline {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    line-height: 1.4;
}

.text-footnote {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-regular);
    color: var(--color-text-secondary);
    line-height: 1.4;
}

.text-caption {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-regular);
    color: var(--color-text-secondary);
    line-height: 1.3;
}

.text-caption2 {
    font-size: var(--font-size-2xs);
    font-weight: var(--font-weight-regular);
    color: var(--color-text-tertiary);
    line-height: 1.3;
}

/* ── Text Colors ── */
.text-primary { color: var(--color-text-primary); }
.text-secondary { color: var(--color-text-secondary); }
.text-tertiary { color: var(--color-text-tertiary); }
.text-accent { color: var(--color-primary); }
.text-success { color: var(--color-success); }
.text-danger { color: var(--color-danger); }
.text-warning { color: var(--color-warning); }

/* ── Text Utilities ── */
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.text-mono { font-family: 'SF Mono', 'Fira Code', monospace; }
.text-uppercase { text-transform: uppercase; letter-spacing: 0.5px; }

/* Remove default focus outline from headings targeted by Blazor FocusOnNavigate */
h1:focus, h2:focus, h3:focus {
    outline: none;
}
