.prose {
  --lotus-prose-font-body: var(--lotus-font-sans);
  --lotus-prose-font-heading: var(--lotus-font-sans);
  --lotus-prose-font-mono: var(--lotus-font-mono);
  --lotus-prose-surface-radius: min(var(--lotus-radius-lg), 1rem);
  --lotus-prose-border: var(--lotus-border-muted);
  --tw-prose-body: var(--lotus-text);
  --tw-prose-headings: var(--lotus-text-strong);
  --tw-prose-lead: var(--lotus-text-muted);
  --tw-prose-links: var(--lotus-accent);
  --tw-prose-bold: var(--lotus-text-strong);
  --tw-prose-counters: var(--lotus-text-muted);
  --tw-prose-bullets: var(--lotus-border-hover);
  --tw-prose-hr: var(--lotus-prose-border);
  --tw-prose-quotes: var(--lotus-text-muted);
  --tw-prose-quote-borders: var(--lotus-prose-border);
  --tw-prose-captions: var(--lotus-text-muted);
  --tw-prose-kbd: var(--lotus-text-strong);
  --tw-prose-kbd-shadows: color-mix(in oklab, var(--lotus-text-strong) 10%, transparent);
  --tw-prose-code: var(--lotus-text-strong);
  --tw-prose-pre-code: var(--lotus-text);
  --tw-prose-pre-bg: var(--lotus-code-background);
  --tw-prose-th-borders: var(--lotus-border-hover);
  --tw-prose-td-borders: var(--lotus-prose-border);

  font-family: var(--lotus-prose-font-body);
}

.prose :where(h2, h3, h4):has(> a.lotus-heading-anchor) {
  font-family: var(--lotus-prose-font-heading);
  letter-spacing: 0;
  position: relative;
  text-wrap: balance;
}

.prose :where(h2, h3):has(> a.lotus-heading-anchor) {
  scroll-margin-top: calc(var(--lotus-docs-chrome-height) + 1.5rem);
}

.prose :where(blockquote) {
  border-inline-start: 0.25rem solid var(--lotus-prose-border);
  color: var(--lotus-text-muted);
  font-style: normal;
  font-weight: inherit;
  margin-block-end: 0;
  margin-block-start: var(--lotus-prose-flow);
  padding-inline-start: 1rem;
  quotes: none;
}

.prose :where(blockquote p) {
  color: inherit;
}

.prose :where(blockquote p:first-of-type)::before,
.prose :where(blockquote p:last-of-type)::after {
  content: none;
}

.prose :where(blockquote > :first-child),
.prose :where(h1, h2, h3, h4) + blockquote {
  margin-block-start: 0;
}
