.prose blockquote {
  margin: 18px 0;
  padding: 12px 16px;
  border-inline-start: 3px solid var(--sf-accent, var(--accent));
  background: color-mix(in oklab, var(--sf-accent, var(--accent)) 6%, transparent);
  border-radius: 12px;
}
.prose blockquote p:last-child { margin-bottom: 0 }
.prose figure { margin: 18px 0; text-align: center }
.prose figure img { margin: 0 auto }
.prose figcaption {
  margin-top: 7px;
  font-size: calc(12px * var(--fz-prose, 1));
  color: var(--sf-muted, var(--muted));
}
.prose img.nv-img-sm { max-width: min(240px, 100%) }
.prose img.nv-img-md { max-width: min(50%, 100%) }
.prose img.nv-img-full { width: 100% }
.prose pre {
  direction: ltr;
  text-align: left;
  padding: 13px 15px;
  border-radius: 12px;
  background: var(--sf-soft, rgba(0, 0, 0, .04));
  overflow: auto;
  font-size: calc(12.5px * var(--fz-prose, 1));
  line-height: 1.9;
}
.prose hr { border: none; border-top: 1px solid var(--sf-line, rgba(0, 0, 0, .1)); margin: 22px 0 }
.prose table.nv-spec th {
  width: 34%;
  background: var(--sf-soft, rgba(0, 0, 0, .04));
  text-align: start;
  font-weight: 700;
}
.prose .nv-embed {
  position: relative;
  margin: 18px 0;
  padding-top: 56.25%;
  border-radius: 14px;
  overflow: hidden;
  background: var(--sf-soft, rgba(0, 0, 0, .05));
}
.prose .nv-embed > iframe,
.prose .nv-embed > video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.prose audio { width: 100%; margin: 10px 0 }