/* Basic Prose Styles - Mimicking @tailwindcss/typography defaults */

.prose {
  color: #374151; /* Tailwind's gray-700 */
  line-height: 1.75;
}

/* Headings */
.prose h1 {
  font-size: 2.25em; /* 36px */
  font-weight: 800; /* Extra bold */
  margin-top: 1.5em;
  margin-bottom: 0.8em;
  line-height: 1.2;
  color: #111827; /* Tailwind's gray-900 */
}

.prose h2 {
  font-size: 1.875em; /* 30px */
  font-weight: 700; /* Bold */
  margin-top: 1.2em;
  margin-bottom: 0.6em;
  line-height: 1.3;
  color: #111827;
}

.prose h3 {
  font-size: 1.5em; /* 24px */
  font-weight: 600; /* Semi-bold */
  margin-top: 1em;
  margin-bottom: 0.5em;
  line-height: 1.4;
  color: #111827;
}

.prose h4 {
  font-size: 1.25em; /* 20px */
  font-weight: 600; /* Semi-bold */
  margin-top: 0.8em;
  margin-bottom: 0.4em;
  line-height: 1.5;
  color: #111827;
}

/* Paragraphs */
.prose p {
  margin-top: 1em;
  margin-bottom: 1em;
}

/* Links */
.prose a {
  color: #2563eb; /* Tailwind's blue-600 */
  text-decoration: underline;
}

.prose a:hover {
  color: #1d4ed8; /* Tailwind's blue-700 */
}

/* Lists */
.prose ul,
.prose ol {
  margin-top: 1em;
  margin-bottom: 1em;
  padding-left: 1.75em; /* Indent lists */
}

.prose ul li,
.prose ol li {
  margin-bottom: 0.5em;
}

.prose ul li::marker {
  color: #6b7280; /* Tailwind's gray-500 */
}

.prose ol li::marker {
  color: #6b7280; /* Tailwind's gray-500 */
}

/* Blockquotes */
.prose blockquote {
  border-left: 0.25em solid #d1d5db; /* Tailwind's gray-300 */
  padding-left: 1em;
  margin-top: 1.5em;
  margin-bottom: 1.5em;
  color: #4b5563; /* Tailwind's gray-600 */
  font-style: italic;
}

/* Tables */
.prose table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1.5em;
  margin-bottom: 1.5em;
  font-size: 0.875em; /* 14px */
  line-height: 1.7142857;
}

.prose thead {
  border-bottom: 1px solid #d1d5db; /* Tailwind's gray-300 */
}

.prose th {
  padding: 0.75em 1em;
  font-weight: 600;
  text-align: left;
  color: #374151; /* Tailwind's gray-700 */
}

.prose td {
  padding: 0.75em 1em;
  border-bottom: 1px solid #e5e7eb; /* Tailwind's gray-200 */
}

/* Code */
.prose :not(pre) > code {
  background-color: #e5e7eb; /* Tailwind's gray-200 */
  padding: 0.2em 0.4em;
  border-radius: 0.25em;
  font-size: 0.875em;
  color: #1f2937; /* Tailwind's gray-800 */
}

.prose pre {
  background-color: #1f2937; /* Tailwind's gray-800 */
  color: #f9fafb; /* Tailwind's gray-50 */
  padding: 1em;
  border-radius: 0.375em;
  overflow-x: auto;
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}

.prose pre code {
  background-color: transparent;
  color: inherit;
  padding: 0;
  border-radius: 0;
  font-size: 1em;
}