/* Typography System */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap");

/* Headings */
h1 {
  font-size: var(--size-4xl);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

h2 {
  font-size: var(--size-3xl);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.01em;
  margin-bottom: 1.5rem;
}

h3 {
  font-size: var(--size-2xl);
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1rem;
}

h4 {
  font-size: var(--size-xl);
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 0.75rem;
}

h5 {
  font-size: var(--size-lg);
  font-weight: 600;
  margin-bottom: 0.5rem;
}

h6 {
  font-size: var(--size-base);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
  color: var(--text-muted);
}

/* Paragraphs */
p {
  font-size: var(--size-base);
  line-height: 1.8;
  color: var(--text);
}

p.large {
  font-size: var(--size-lg);
  line-height: 1.7;
}

p.small {
  font-size: var(--size-sm);
  line-height: 1.6;
  color: var(--text-muted);
}

/* Labels */
label {
  display: block;
  font-size: var(--size-sm);
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--text);
}

/* Text utilities */
.text-muted {
  color: var(--text-muted);
}

.text-secondary {
  color: var(--text-secondary);
}

.text-primary {
  color: var(--primary);
}

.text-success {
  color: var(--success);
}

.text-error {
  color: var(--error);
}

.text-warning {
  color: var(--warning);
}

.font-mono {
  font-family: var(--font-mono);
}

.font-bold {
  font-weight: 700;
}

.font-semibold {
  font-weight: 600;
}

.font-medium {
  font-weight: 500;
}

.italic {
  font-style: italic;
}

.uppercase {
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Line clamp */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Gradient text */
.gradient-text {
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
