/* SOptim docs — typography + code blocks. Plays with Tailwind CDN's `prose`. */

.prose pre {
  background: #0f172a;
  color: #e2e8f0;
  border-radius: 0.5rem;
  padding: 1rem 1.25rem;
  overflow-x: auto;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.875rem;
  line-height: 1.6;
}
.prose code {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.85em;
}
.prose :not(pre) > code {
  background: rgb(241 245 249);
  color: rgb(15 23 42);
  padding: 0.1rem 0.35rem;
  border-radius: 0.25rem;
  font-weight: 500;
}
.dark .prose :not(pre) > code {
  background: rgb(30 41 59);
  color: rgb(226 232 240);
}

.prose table {
  font-size: 0.9rem;
  width: 100%;
  border-collapse: collapse;
  margin: 1.25rem 0;
}
.prose th,
.prose td {
  border: 1px solid rgb(226 232 240);
  padding: 0.5rem 0.75rem;
  text-align: left;
  vertical-align: top;
}
.prose th {
  background: rgb(248 250 252);
  font-weight: 600;
}
.dark .prose th,
.dark .prose td {
  border-color: rgb(51 65 85);
}
.dark .prose th {
  background: rgb(30 41 59);
}

.prose blockquote {
  border-left: 3px solid rgb(59 130 246);
  background: rgb(239 246 255);
  margin: 1rem 0;
  padding: 0.75rem 1rem;
  color: rgb(30 41 59);
  border-radius: 0 0.375rem 0.375rem 0;
}
.prose blockquote p {
  margin: 0;
}
.dark .prose blockquote {
  background: rgb(30 41 59);
  color: rgb(203 213 225);
}

.prose h2 {
  margin-top: 2.25rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid rgb(226 232 240);
}
.dark .prose h2 {
  border-bottom-color: rgb(51 65 85);
}

.prose a {
  color: rgb(37 99 235);
  text-decoration: none;
}
.prose a:hover {
  text-decoration: underline;
}
.dark .prose a {
  color: rgb(96 165 250);
}

/* Search results dropdown */
#docs-search-results mark {
  background: rgb(254 240 138);
  color: inherit;
  padding: 0 1px;
}
.dark #docs-search-results mark {
  background: rgb(133 77 14);
  color: rgb(254 240 138);
}
