pre {
  background: #fafafa;
  border: 1px solid #e4e4e7;
  border-radius: 8px;
  padding: 1rem 1.25rem;
  overflow-x: auto;
  font-size: 0.8125rem;
  line-height: 1.8;
  margin-bottom: 1.25rem;
  position: relative;
}

.dark pre {
  background: #111113;
  border-color: #27272a;
}

code:not(pre code) {
  background: #f4f4f5;
  border: 1px solid #e4e4e7;
  border-radius: 4px;
  padding: 0.125em 0.375em;
  font-size: 0.8125em;
}

.dark code:not(pre code) {
  background: #18181b;
  border-color: #27272a;
}

.prose p { margin-bottom: 1rem; line-height: 1.8; }
.prose h2 { font-size: 1.35rem; font-weight: 600; margin-top: 2.5rem; margin-bottom: 0.75rem; scroll-margin-top: 5rem; }
.prose h3 { font-size: 1.1rem; font-weight: 600; margin-top: 2rem; margin-bottom: 0.5rem; scroll-margin-top: 5rem; }
.prose ul, .prose ol { margin-bottom: 1rem; padding-left: 1.5rem; }
.prose ul { list-style-type: disc; }
.prose ol { list-style-type: decimal; }
.prose li { margin-bottom: 0.375rem; line-height: 1.8; }
.prose a { color: #dc2626; text-decoration: underline; text-underline-offset: 2px; }
.dark .prose a { color: #f87171; }
.prose strong { font-weight: 600; }
.prose table { width: 100%; border-collapse: collapse; margin-bottom: 1.25rem; font-size: 0.875rem; display: block; overflow-x: auto; }
.prose th { text-align: left; font-weight: 600; padding: 0.625rem 0.75rem; border-bottom: 2px solid #e4e4e7; }
.prose td { padding: 0.625rem 0.75rem; border-bottom: 1px solid #e4e4e7; }
.dark .prose th { border-color: #27272a; }
.dark .prose td { border-color: #27272a; }

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #d4d4d8; border-radius: 3px; }
.dark ::-webkit-scrollbar-thumb { background: #27272a; }
.dark ::-webkit-scrollbar-thumb:hover { background: #3f3f46; }