.prose {
  font-family: var(--font-sans);
  color: var(--fg0);
  line-height: 1.7;
  font-size: 16px;
}
.prose h1, .prose h2, .prose h3 {
  font-family: var(--font-display);
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.prose h1 { font-size: 44px; margin: 0 0 18px; }
.prose h2 { font-size: 28px; margin: 30px 0 12px; }
.prose h3 { font-size: 22px; margin: 24px 0 10px; }
.prose p { margin: 12px 0; color: var(--fg1); }
.prose a { color: var(--fg0); text-decoration-color: color-mix(in oklab, var(--accent0) 40%, transparent); }
.prose a:hover { text-decoration-color: color-mix(in oklab, var(--accent2) 55%, transparent); }
.prose code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.95em;
  background: color-mix(in oklab, var(--card) 90%, transparent);
  border: 1px solid var(--stroke);
  padding: 2px 6px;
  border-radius: 10px;
}
.prose pre {
  background: color-mix(in oklab, var(--card) 82%, transparent);
  border: 1px solid var(--stroke);
  padding: 14px;
  border-radius: var(--r-lg);
  overflow: auto;
  box-shadow: var(--shadow);
}
.prose pre code { background: transparent; border: 0; padding: 0; }
.prose blockquote {
  margin: 18px 0;
  padding: 2px 0 2px 14px;
  border-left: 3px solid color-mix(in oklab, var(--accent0) 55%, var(--stroke));
  color: var(--fg1);
}
.prose hr { border: 0; border-top: 1px solid var(--stroke); margin: 26px 0; }
.prose ul, .prose ol { margin: 12px 0 12px 22px; color: var(--fg1); }
.prose img {
  max-width: 100%;
  border-radius: var(--r-xl);
  border: 1px solid var(--stroke);
  box-shadow: var(--shadow);
}

