/* ============================================================
   CCW Portal — Typography
   ============================================================ */

:root {
  --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI',
                 Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;

  /* Type scale */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;

  /* Line heights */
  --line-height-tight: 1.25;
  --line-height-snug: 1.375;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;

  /* Font weights */
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
}

body {
  font-family: var(--font-family);
  font-size: var(--text-base);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
  color: var(--color-text-primary);
  background-color: var(--color-bg-secondary);
}

h1, h2, h3, h4, h5, h6 {
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  color: var(--color-text-primary);
}

.ccw-text-xs { font-size: var(--text-xs); }
.ccw-text-sm { font-size: var(--text-sm); }
.ccw-text-base { font-size: var(--text-base); }
.ccw-text-lg { font-size: var(--text-lg); }
.ccw-text-xl { font-size: var(--text-xl); }
.ccw-text-2xl { font-size: var(--text-2xl); }
.ccw-text-3xl { font-size: var(--text-3xl); }

.ccw-font-normal { font-weight: var(--font-weight-normal); }
.ccw-font-medium { font-weight: var(--font-weight-medium); }
.ccw-font-semibold { font-weight: var(--font-weight-semibold); }
.ccw-font-bold { font-weight: var(--font-weight-bold); }

.ccw-text-primary { color: var(--color-text-primary); }
.ccw-text-secondary { color: var(--color-text-secondary); }
.ccw-text-tertiary { color: var(--color-text-tertiary); }
.ccw-text-inverse { color: var(--color-text-inverse); }
.ccw-text-error { color: var(--color-error); }
.ccw-text-success { color: var(--color-success); }
.ccw-text-warning { color: var(--color-warning); }

.ccw-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ccw-uppercase {
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

code, .ccw-mono {
  font-family: var(--font-mono);
  font-size: 0.9em;
}

.ccw-divider {
  border: none;
  border-top: 1px solid var(--color-border);
  margin: var(--space-2) 0;
}
