.prose {
  max-width: none;
}

.prose h2,
.prose h3,
.prose h4 {
  margin-top: 2.5rem;
  margin-bottom: 1.25rem;
  scroll-margin-top: 6rem;
}

.prose h4 {
  color: var(--color-accent-soft);
  font-size: 1.25rem;
}

.prose p {
  margin-bottom: 1.5rem;
  line-height: 1.75;
}

.prose ul,
.prose ol {
  margin-bottom: 1.5rem;
}

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

.prose table {
  font-size: 0.875rem;
  line-height: 1.5;
}

.prose thead th {
  padding: 0.75rem;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text);
  font-weight: 600;
}

.prose tbody td {
  padding: 0.75rem;
  border-bottom: 1px solid var(--color-surface);
}

.prose blockquote {
  border-left-color: var(--color-accent);
  color: var(--color-accent-soft);
  font-style: italic;
}

.prose pre[class*='language-'] {
  position: relative;
  margin: 2rem 0;
  padding: 3.5rem 1.5rem 1.5rem !important;
  overflow-wrap: anywhere;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-canvas) !important;
  box-shadow: var(--shadow-raised);
  white-space: pre-wrap !important;
}

.prose pre[class*='language-']::before {
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  z-index: 2;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ff5f56;
  box-shadow: 1.25rem 0 0 #ffbd2e, 2.5rem 0 0 #27c93f;
  content: '';
}

.prose pre[class*='language-']::after {
  position: absolute;
  inset: 0 0 auto;
  z-index: 1;
  height: 3.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  background: rgba(255, 255, 255, 0.03);
  content: '';
}

.prose code[class*='language-'] {
  position: relative;
  z-index: 2;
  font-family: var(--font-mono);
  font-size: 0.85rem;
  line-height: 1.6;
  white-space: pre-wrap !important;
}

.prose :not(pre) > code {
  padding: 0.2rem 0.4rem;
  border-radius: 0.25rem;
  background: var(--color-border);
  color: var(--color-accent-soft);
  font-size: 0.9em;
}

.prose pre[class*='language-']::-webkit-scrollbar {
  height: 8px;
}

.prose pre[class*='language-']::-webkit-scrollbar-track {
  background: var(--color-canvas);
}

.prose pre[class*='language-']::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background: var(--color-border);
}

.prose pre[class*='language-']::-webkit-scrollbar-thumb:hover {
  background: #2a2a2a;
}
