h1, .h1 { font-size: 1.875rem; font-weight: 700; line-height: 2.25rem; margin-bottom: var(--spacing-4); }
h2, .h2 { font-size: 1.5rem; font-weight: 600; line-height: 2rem; margin-bottom: var(--spacing-3); }
h3, .h3 { font-size: 1.25rem; font-weight: 600; line-height: 1.75rem; margin-bottom: var(--spacing-2); }

.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-lg { font-size: 1.125rem; line-height: 1.75rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.text-2xl { font-size: 1.5rem; line-height: 2rem; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
.text-9xl { font-size: 8rem; line-height: 1; }

.font-bold { font-weight: 700; }
.font-semibold { font-weight: 600; }
.font-medium { font-weight: 500; }
.font-extrabold { font-weight: 800; }
.font-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }

.italic { font-style: italic; }
.uppercase { text-transform: uppercase; }
.tracking-wider { letter-spacing: 0.05em; }
.text-center { text-align: center; }

/* Prose for Markdown content */
.prose {
  line-height: 1.625;
  color: var(--color-text-muted);
}

.prose p { margin-bottom: 1.25em; }
.prose h1, .prose h2, .prose h3 { color: var(--color-text); margin-top: 1.5em; }
.prose a { color: var(--color-primary); text-decoration: underline; }
.prose ul { list-style-type: disc; padding-left: 1.625em; margin-bottom: 1.25em; }
.prose ol { list-style-type: decimal; padding-left: 1.625em; margin-bottom: 1.25em; }
.prose pre {
  background-color: var(--gray-900);
  color: var(--gray-100);
  padding: var(--spacing-4) var(--spacing-6);
  border-radius: var(--radius);
  overflow-x: auto;
  margin-bottom: 1.25em;
}
.prose code {
  background-color: var(--gray-100);
  padding: 0.2em 0.4em;
  border-radius: 0.25rem;
  font-size: 0.9em;
}
.prose em, .prose i { font-style: italic; }
.prose strong, .prose b { font-weight: bold; }
[data-theme="dark"] .prose code {
  background-color: var(--gray-800);
}
.prose pre code {
  background-color: transparent;
  padding: 0;
  border-radius: 0;
  font-size: inherit;
  color: inherit;
}

[data-theme="dark"] .prose { color: var(--color-text-dark-muted); }
[data-theme="dark"] .prose h1,
[data-theme="dark"] .prose h2,
[data-theme="dark"] .prose h3 { color: var(--color-text-dark); }
