/* User density overrides load after style sources so every theme obeys them. */
html[data-mdopen-density="tight"] .markdown-body,
html[data-mdopen-density="dense"] .markdown-body,
html[data-mdopen-density="compact"] .markdown-body {
  --mdopen-text-gap: 0.65em;
  --mdopen-heading-major-top: 0.95em;
  --mdopen-heading-major-bottom: 0.34em;
  --mdopen-heading-minor-top: 0.72em;
  --mdopen-heading-minor-bottom: 0.24em;
  --mdopen-rule-gap: 0.55em;
  --mdopen-rule-height: 1px;
  --mdopen-pre-padding: 10px;
  --mdopen-cell-padding-y: 4px;
  line-height: 1.42;
}

html[data-mdopen-density="dense"] .markdown-body {
  --mdopen-text-gap: 0.34em;
  --mdopen-heading-major-top: 0.58em;
  --mdopen-heading-major-bottom: 0.18em;
  --mdopen-heading-minor-top: 0.42em;
  --mdopen-heading-minor-bottom: 0.12em;
  --mdopen-rule-gap: 0.22em;
  --mdopen-rule-height: 1px;
  --mdopen-pre-padding: 7px;
  --mdopen-cell-padding-y: 2px;
  line-height: 1.26;
}

html[data-mdopen-density="compact"] .markdown-body {
  --mdopen-text-gap: 0.16em;
  --mdopen-heading-major-top: 0.34em;
  --mdopen-heading-major-bottom: 0.08em;
  --mdopen-heading-minor-top: 0.24em;
  --mdopen-heading-minor-bottom: 0.06em;
  --mdopen-rule-gap: 0.08em;
  --mdopen-rule-height: 1px;
  --mdopen-pre-padding: 5px;
  --mdopen-cell-padding-y: 1px;
  line-height: 1.16;
}

html[data-mdopen-density="tight"] .markdown-body h1,
html[data-mdopen-density="tight"] .markdown-body h2,
html[data-mdopen-density="dense"] .markdown-body h1,
html[data-mdopen-density="dense"] .markdown-body h2,
html[data-mdopen-density="compact"] .markdown-body h1,
html[data-mdopen-density="compact"] .markdown-body h2 {
  margin-top: var(--mdopen-heading-major-top) !important;
  margin-bottom: var(--mdopen-heading-major-bottom) !important;
  padding-bottom: 0.18em !important;
}

html[data-mdopen-density="tight"] .markdown-body h3,
html[data-mdopen-density="tight"] .markdown-body h4,
html[data-mdopen-density="tight"] .markdown-body h5,
html[data-mdopen-density="tight"] .markdown-body h6,
html[data-mdopen-density="dense"] .markdown-body h3,
html[data-mdopen-density="dense"] .markdown-body h4,
html[data-mdopen-density="dense"] .markdown-body h5,
html[data-mdopen-density="dense"] .markdown-body h6,
html[data-mdopen-density="compact"] .markdown-body h3,
html[data-mdopen-density="compact"] .markdown-body h4,
html[data-mdopen-density="compact"] .markdown-body h5,
html[data-mdopen-density="compact"] .markdown-body h6 {
  margin-top: var(--mdopen-heading-minor-top) !important;
  margin-bottom: var(--mdopen-heading-minor-bottom) !important;
}

html[data-mdopen-density="tight"] .markdown-body p,
html[data-mdopen-density="tight"] .markdown-body blockquote,
html[data-mdopen-density="tight"] .markdown-body ul,
html[data-mdopen-density="tight"] .markdown-body ol,
html[data-mdopen-density="tight"] .markdown-body dl,
html[data-mdopen-density="tight"] .markdown-body table,
html[data-mdopen-density="tight"] .markdown-body pre,
html[data-mdopen-density="tight"] .markdown-body details,
html[data-mdopen-density="dense"] .markdown-body p,
html[data-mdopen-density="dense"] .markdown-body blockquote,
html[data-mdopen-density="dense"] .markdown-body ul,
html[data-mdopen-density="dense"] .markdown-body ol,
html[data-mdopen-density="dense"] .markdown-body dl,
html[data-mdopen-density="dense"] .markdown-body table,
html[data-mdopen-density="dense"] .markdown-body pre,
html[data-mdopen-density="dense"] .markdown-body details,
html[data-mdopen-density="compact"] .markdown-body p,
html[data-mdopen-density="compact"] .markdown-body blockquote,
html[data-mdopen-density="compact"] .markdown-body ul,
html[data-mdopen-density="compact"] .markdown-body ol,
html[data-mdopen-density="compact"] .markdown-body dl,
html[data-mdopen-density="compact"] .markdown-body table,
html[data-mdopen-density="compact"] .markdown-body pre,
html[data-mdopen-density="compact"] .markdown-body details {
  margin-top: 0 !important;
  margin-bottom: var(--mdopen-text-gap) !important;
}

html[data-mdopen-density="tight"] .markdown-body li + li {
  margin-top: 0.12em !important;
}

html[data-mdopen-density="dense"] .markdown-body li + li {
  margin-top: 0 !important;
}

html[data-mdopen-density="compact"] .markdown-body li + li {
  margin-top: 0 !important;
}

html[data-mdopen-density="tight"] .markdown-body ul ul,
html[data-mdopen-density="tight"] .markdown-body ul ol,
html[data-mdopen-density="tight"] .markdown-body ol ol,
html[data-mdopen-density="tight"] .markdown-body ol ul,
html[data-mdopen-density="dense"] .markdown-body ul ul,
html[data-mdopen-density="dense"] .markdown-body ul ol,
html[data-mdopen-density="dense"] .markdown-body ol ol,
html[data-mdopen-density="dense"] .markdown-body ol ul,
html[data-mdopen-density="compact"] .markdown-body ul ul,
html[data-mdopen-density="compact"] .markdown-body ul ol,
html[data-mdopen-density="compact"] .markdown-body ol ol,
html[data-mdopen-density="compact"] .markdown-body ol ul {
  margin-top: 0.1em !important;
  margin-bottom: 0 !important;
}

html[data-mdopen-density="tight"] .markdown-body pre,
html[data-mdopen-density="dense"] .markdown-body pre,
html[data-mdopen-density="compact"] .markdown-body pre {
  padding: var(--mdopen-pre-padding) !important;
}

html[data-mdopen-density="tight"] .markdown-body th,
html[data-mdopen-density="tight"] .markdown-body td,
html[data-mdopen-density="dense"] .markdown-body th,
html[data-mdopen-density="dense"] .markdown-body td,
html[data-mdopen-density="compact"] .markdown-body th,
html[data-mdopen-density="compact"] .markdown-body td {
  padding-top: var(--mdopen-cell-padding-y) !important;
  padding-bottom: var(--mdopen-cell-padding-y) !important;
}

html[data-mdopen-density="tight"] .markdown-body hr,
html[data-mdopen-density="dense"] .markdown-body hr,
html[data-mdopen-density="compact"] .markdown-body hr {
  height: var(--mdopen-rule-height) !important;
  margin: var(--mdopen-rule-gap) 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background-color: var(--borderColor-default, #d0d7de) !important;
}

html[data-mdopen-density="tight"] .markdown-body .footnotes,
html[data-mdopen-density="dense"] .markdown-body .footnotes,
html[data-mdopen-density="compact"] .markdown-body .footnotes {
  margin-top: var(--mdopen-rule-gap) !important;
  margin-bottom: 0 !important;
  padding-top: var(--mdopen-text-gap) !important;
}

html[data-mdopen-density="tight"] .markdown-body .footnotes-list,
html[data-mdopen-density="dense"] .markdown-body .footnotes-list,
html[data-mdopen-density="compact"] .markdown-body .footnotes-list {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

html[data-mdopen-density="tight"] .markdown-body .footnote-item + .footnote-item {
  margin-top: 0.12em !important;
}

html[data-mdopen-density="dense"] .markdown-body .footnote-item + .footnote-item,
html[data-mdopen-density="compact"] .markdown-body .footnote-item + .footnote-item {
  margin-top: 0 !important;
}

html[data-mdopen-density="tight"] .markdown-body .footnote-item > :last-child,
html[data-mdopen-density="dense"] .markdown-body .footnote-item > :last-child,
html[data-mdopen-density="compact"] .markdown-body .footnote-item > :last-child {
  margin-bottom: 0 !important;
}

html[data-mdopen-density="tight"] .markdown-body > :first-child,
html[data-mdopen-density="dense"] .markdown-body > :first-child,
html[data-mdopen-density="compact"] .markdown-body > :first-child {
  margin-top: 0 !important;
}

html[data-mdopen-font]:not([data-mdopen-font="source"]) .markdown-body {
  font-family: var(--mdopen-font-body) !important;
  letter-spacing: var(--mdopen-font-body-spacing) !important;
}

html[data-mdopen-font]:not([data-mdopen-font="source"]) .markdown-body h1,
html[data-mdopen-font]:not([data-mdopen-font="source"]) .markdown-body h2,
html[data-mdopen-font]:not([data-mdopen-font="source"]) .markdown-body h3,
html[data-mdopen-font]:not([data-mdopen-font="source"]) .markdown-body h4,
html[data-mdopen-font]:not([data-mdopen-font="source"]) .markdown-body h5,
html[data-mdopen-font]:not([data-mdopen-font="source"]) .markdown-body h6 {
  font-family: var(--mdopen-font-heading) !important;
  font-weight: var(--mdopen-font-heading-weight) !important;
  letter-spacing: var(--mdopen-font-heading-spacing) !important;
}

html[data-mdopen-font]:not([data-mdopen-font="source"]) .markdown-body code,
html[data-mdopen-font]:not([data-mdopen-font="source"]) .markdown-body kbd,
html[data-mdopen-font]:not([data-mdopen-font="source"]) .markdown-body pre,
html[data-mdopen-font]:not([data-mdopen-font="source"]) .markdown-body samp,
html[data-mdopen-font]:not([data-mdopen-font="source"]) .markdown-body tt {
  font-family: var(--mdopen-font-code) !important;
}

html[data-mdopen-font]:not([data-mdopen-font="source"]) .markdown-body blockquote {
  font-family: var(--mdopen-font-quote) !important;
}

html[data-mdopen-font]:not([data-mdopen-font="source"]) .markdown-body table {
  font-family: var(--mdopen-font-ui) !important;
}

/* Code wrapping is a user override, so it wins over theme-source code rules. */
.markdown-body {
  --mdopen-code-padding: var(--mdopen-pre-padding, var(--mdopen-theme-pre-padding, 1rem));
}

html[data-mdopen-style="readthedocs"] .markdown-body {
  --mdopen-theme-pre-padding: 12px;
}

.markdown-body pre,
html[data-mdopen-style="demo"] .markdown-body pre,
html[data-mdopen-style="readthedocs"] .markdown-body pre {
  --mdopen-code-scrollbar-size: 10px;
  --mdopen-code-scrollbar-thumb: transparent;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 0 !important;
  scrollbar-color: var(--mdopen-code-scrollbar-thumb) transparent;
  scrollbar-width: thin;
}

.markdown-body pre.mdopen-has-x-scroll:hover,
html[data-mdopen-style="demo"] .markdown-body pre.mdopen-has-x-scroll:hover,
html[data-mdopen-style="readthedocs"] .markdown-body pre.mdopen-has-x-scroll:hover {
  --mdopen-code-scrollbar-thumb: color-mix(in srgb, var(--fgColor-muted, #57606a) 42%, transparent);
}

.markdown-body pre code,
.markdown-body pre tt {
  display: block;
  width: max-content;
  min-width: 100%;
  box-sizing: border-box;
  padding: var(--mdopen-code-padding);
  overflow: visible;
}

.markdown-body pre.mdopen-has-x-scroll code,
.markdown-body pre.mdopen-has-x-scroll tt {
  padding-bottom: max(0px, calc(var(--mdopen-code-padding) - var(--mdopen-code-scrollbar-size)));
}

.markdown-body .mdopen-frontmatter {
  margin: 0 0 var(--mdopen-text-gap, 1rem) !important;
  padding: 0 !important;
  border: 1px solid var(--borderColor-default, var(--mdopen-preview-border, rgba(128, 128, 128, 0.28))) !important;
  border-radius: 6px !important;
  background: var(--mdopen-preview-code-bg, var(--bgColor-muted, rgba(175, 184, 193, 0.16))) !important;
  overflow: hidden !important;
}

.markdown-body .mdopen-frontmatter summary {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.markdown-body .mdopen-frontmatter[open] summary {
  border-bottom: 1px solid var(--borderColor-default, var(--mdopen-preview-border, rgba(128, 128, 128, 0.28))) !important;
}

.markdown-body .mdopen-frontmatter pre {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.markdown-body pre::-webkit-scrollbar {
  width: var(--mdopen-code-scrollbar-size);
  height: var(--mdopen-code-scrollbar-size);
}

.markdown-body pre::-webkit-scrollbar-track {
  background: transparent;
}

.markdown-body pre::-webkit-scrollbar-thumb {
  border: 3px solid transparent;
  border-radius: 999px;
  background-clip: content-box;
  background-color: var(--mdopen-code-scrollbar-thumb);
}

html:not([data-mdopen-code-wrap="false"]) .markdown-body pre code,
html:not([data-mdopen-code-wrap="false"]) .markdown-body pre tt,
html:not([data-mdopen-code-wrap="false"]) .markdown-body pre span {
  white-space: pre-wrap !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}

html:not([data-mdopen-code-wrap="false"]) .markdown-body pre code,
html:not([data-mdopen-code-wrap="false"]) .markdown-body pre tt {
  width: auto;
}

html[data-mdopen-code-wrap="false"] .markdown-body pre code,
html[data-mdopen-code-wrap="false"] .markdown-body pre tt,
html[data-mdopen-code-wrap="false"] .markdown-body pre span {
  white-space: pre !important;
  overflow-wrap: normal;
  word-break: normal;
}
