/* ===== Article Body (Prose) ===== */
.prose h2 {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-top: 1.25rem;
  margin-bottom: 0.375rem;
}

.prose h3 {
  font-size: 1.0625rem;
  font-weight: 600;
  margin-top: 1rem;
  margin-bottom: 0.25rem;
}

.prose p {
  margin-bottom: 0.625rem;
  text-align: justify;
}

.prose ul,
.prose ol {
  margin-bottom: 0.625rem;
  padding-left: 1.25rem;
}

.prose li {
  margin-bottom: 0.125rem;
}

.prose blockquote {
  border: 1px dashed var(--border);
  padding: 0.375rem 0.5rem;
  margin: 0.5rem 0;
  background: var(--bg-secondary);
  font-style: italic;
}

.prose blockquote > :last-child {
  margin-bottom: 0;
}

.prose code {
  font-family: var(--font-mono);
  font-size: 0.85em;
  font-weight: 700;
  background: var(--code-bg);
  padding: 0.125em 0.35em;
  border-radius: 3px;
}

.prose pre {
  background: var(--pre-bg);
  border: 1px solid var(--pre-border);
  padding: 0;
  border-radius: 0;
  overflow-x: auto;
  margin-bottom: 0.5rem;
}

.prose pre code {
  display: block;
  background: none;
  padding: 0.75rem;
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.3;
}

.prose hr {
  border: none;
  border-top: 1px solid var(--border);
  margin: 0.75rem 0;
}

.prose a {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.prose a:hover {
  text-decoration: none;
}

/* ===== Responsive ===== */
@media (max-width: 640px) {
  .prose pre {
    margin-left: -1rem;
    margin-right: -1rem;
    padding-left: 1rem;
    padding-right: 1rem;
    border-left: none;
    border-right: none;
  }
}
