/* Prose Styles Override - Must load AFTER Tailwind to prevent being overwritten */
.prose {
  color: var(--color-gray-700) !important;
  max-width: 65ch !important;
}

.prose > * + * {
  margin-top: 1.25em !important;
}

.prose h1 {
  color: var(--color-gray-900) !important;
  font-weight: 800 !important;
  font-size: 2.25em !important;
  margin-top: 0 !important;
  margin-bottom: 0.8888889em !important;
  line-height: 1.1111111 !important;
}

.prose h2 {
  color: var(--color-gray-900) !important;
  font-weight: 700 !important;
  font-size: 1.875em !important;
  margin-top: 1.6em !important;
  margin-bottom: 0.8em !important;
  line-height: 1.3333333 !important;
}

.prose h3 {
  color: var(--color-gray-900) !important;
  font-weight: 600 !important;
  font-size: 1.5em !important;
  margin-top: 1.6em !important;
  margin-bottom: 0.6em !important;
  line-height: 1.6 !important;
}

.prose h4 {
  color: var(--color-gray-900) !important;
  font-weight: 600 !important;
  font-size: 1.25em !important;
  margin-top: 1.5em !important;
  margin-bottom: 0.5em !important;
  line-height: 1.5 !important;
}

.prose h5 {
  color: var(--color-gray-900) !important;
  font-weight: 600 !important;
  font-size: 1.125em !important;
  margin-top: 1.5em !important;
  margin-bottom: 0.5em !important;
  line-height: 1.5 !important;
}

.prose h6 {
  color: var(--color-gray-900) !important;
  font-weight: 600 !important;
  font-size: 1em !important;
  margin-top: 1.5em !important;
  margin-bottom: 0.5em !important;
  line-height: 1.5 !important;
}

.prose p {
  margin-top: 1.25em !important;
  margin-bottom: 1.25em !important;
  line-height: 1.75 !important;
}

.prose a {
  color: var(--color-primary) !important;
  text-decoration: underline !important;
  font-weight: 500 !important;
}

.prose a:hover {
  color: var(--primary-700) !important;
}

.prose strong {
  color: var(--color-gray-900) !important;
  font-weight: 600 !important;
}

.prose em {
  font-style: italic !important;
}

.prose ul {
  list-style-type: disc !important;
  margin-top: 1.25em !important;
  margin-bottom: 1.25em !important;
  padding-left: 1.625em !important;
}

.prose ol {
  list-style-type: decimal !important;
  margin-top: 1.25em !important;
  margin-bottom: 1.25em !important;
  padding-left: 1.625em !important;
}

.prose li {
  margin-top: 0.5em !important;
  margin-bottom: 0.5em !important;
  line-height: 1.75 !important;
}

.prose ul > li::marker {
  color: var(--color-gray-500) !important;
}

.prose ol > li::marker {
  color: var(--color-gray-500) !important;
}

.prose blockquote {
  font-weight: 500 !important;
  font-style: italic !important;
  color: var(--color-gray-900) !important;
  border-left: 0.25rem solid var(--color-gray-200) !important;
  quotes: "\201C""\201D""\2018""\2019" !important;
  margin-top: 1.6em !important;
  margin-bottom: 1.6em !important;
  padding-left: 1em !important;
}

.prose code {
  color: var(--color-gray-900) !important;
  font-weight: 600 !important;
  font-size: 0.875em !important;
  background-color: var(--color-gray-100) !important;
  padding: 0.2em 0.4em !important;
  border-radius: 0.25rem !important;
}

.prose pre {
  color: var(--color-gray-200) !important;
  background-color: var(--color-gray-800) !important;
  overflow-x: auto !important;
  font-size: 0.875em !important;
  line-height: 1.7142857 !important;
  margin-top: 1.7142857em !important;
  margin-bottom: 1.7142857em !important;
  border-radius: 0.375rem !important;
  padding: 0.8571429em 1.1428571em !important;
}

.prose pre code {
  background-color: transparent !important;
  border-width: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  font-weight: inherit !important;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

.prose table {
  width: 100% !important;
  table-layout: auto !important;
  text-align: left !important;
  margin-top: 2em !important;
  margin-bottom: 2em !important;
  font-size: 0.875em !important;
  line-height: 1.7142857 !important;
  border-collapse: collapse !important;
}

.prose thead {
  border-bottom: 2px solid var(--color-gray-300) !important;
}

.prose thead th {
  color: var(--color-gray-900) !important;
  font-weight: 600 !important;
  vertical-align: bottom !important;
  padding: 0.5714286em !important;
  text-align: left !important;
}

.prose tbody tr {
  border-bottom: 1px solid var(--color-gray-200) !important;
}

.prose tbody tr:last-child {
  border-bottom-width: 0 !important;
}

.prose tbody td {
  vertical-align: top !important;
  padding: 0.5714286em !important;
}

.prose hr {
  border-color: var(--color-gray-200) !important;
  border-top-width: 1px !important;
  border-style: solid !important;
  margin-top: 3em !important;
  margin-bottom: 3em !important;
}

.prose img {
  margin-top: 2em !important;
  margin-bottom: 2em !important;
  border-radius: 0.5rem !important;
  max-width: 100% !important;
  height: auto !important;
}

.prose figure {
  margin-top: 2em !important;
  margin-bottom: 2em !important;
}

.prose figure figcaption {
  color: var(--color-gray-600) !important;
  font-size: 0.875em !important;
  line-height: 1.4285714 !important;
  margin-top: 0.8571429em !important;
}

/* Prose Large Variant */
.prose-lg {
  font-size: 1.125em !important;
  line-height: 1.7777778 !important;
}

.prose-lg p {
  margin-top: 1.3333333em !important;
  margin-bottom: 1.3333333em !important;
}

.prose-lg h1 {
  font-size: 2.6666667em !important;
  margin-top: 0 !important;
  margin-bottom: 0.8333333em !important;
  line-height: 1 !important;
}

.prose-lg h2 {
  font-size: 2em !important;
  margin-top: 1.5em !important;
  margin-bottom: 0.8333333em !important;
  line-height: 1.0833333 !important;
}

.prose-lg h3 {
  font-size: 1.6666667em !important;
  margin-top: 1.6666667em !important;
  margin-bottom: 0.6666667em !important;
  line-height: 1.3333333 !important;
}

.prose-lg h4 {
  font-size: 1.3333333em !important;
  margin-top: 1.7777778em !important;
  margin-bottom: 0.4444444em !important;
  line-height: 1.5 !important;
}

/* Max-width Override */
.max-w-none {
  max-width: none !important;
}