.prose {
  --cd-prose-body: #3f3f46;
  --cd-prose-headings: #18181b;
  --cd-prose-lead: #52525b;
  --cd-prose-links: #18181b;
  --cd-prose-bold: #18181b;
  --cd-prose-counters: #71717a;
  --cd-prose-bullets: #d4d4d8;
  --cd-prose-hr: #e4e4e7;
  --cd-prose-quotes: #18181b;
  --cd-prose-quote-borders: #e4e4e7;
  --cd-prose-captions: #71717a;
  --cd-prose-code: #18181b;
  --cd-prose-pre-code: rgb(238 238 238);
  --cd-prose-pre-border: rgb(51, 51, 51);
  --cd-prose-pre-bg: rgb(24 24 24);
  --cd-prose-th-borders: #ddd;
  --cd-prose-td-borders: #eee;
  --cd-prose-bg-hover: rgba(0,0,0,0.035);

  --cd-prose-invert-body: #d4d4d8;
  --cd-prose-invert-headings: #fff;
  --cd-prose-invert-lead: #a1a1aa;
  --cd-prose-invert-links: #fff;
  --cd-prose-invert-bold: #fff;
  --cd-prose-invert-counters: #a1a1aa;
  --cd-prose-invert-bullets: #52525b;
  --cd-prose-invert-hr: #3f3f46;
  --cd-prose-invert-quotes: #f4f4f5;
  --cd-prose-invert-quote-borders: #3f3f46;
  --cd-prose-invert-captions: #a1a1aa;
  --cd-prose-invert-code: #fff;
  --cd-prose-invert-pre-code: rgb(238 238 238);
  --cd-prose-invert-pre-border: rgb(51, 51, 51);
  --cd-prose-invert-pre-bg: rgb(24 24 24);
  --cd-prose-invert-th-borders: #52525b;
  --cd-prose-invert-td-borders: #3f3f46;
  --cd-prose-invert-bg-hover: rgba(0,0,0,0.035);
}

.dark .prose {
  --cd-prose-body: var(--cd-prose-invert-body);
  --cd-prose-headings: var(--cd-prose-invert-headings);
  --cd-prose-lead: var(--cd-prose-invert-lead);
  --cd-prose-links: var(--cd-prose-invert-links);
  --cd-prose-bold: var(--cd-prose-invert-bold);
  --cd-prose-counters: var(--cd-prose-invert-counters);
  --cd-prose-bullets: var(--cd-prose-invert-bullets);
  --cd-prose-hr: var(--cd-prose-invert-hr);
  --cd-prose-quotes: var(--cd-prose-invert-quotes);
  --cd-prose-quote-borders: var(--cd-prose-invert-quote-borders);
  --cd-prose-captions: var(--cd-prose-invert-captions);
  --cd-prose-code: var(--cd-prose-invert-code);
  --cd-prose-pre-code: var(--cd-prose-invert-pre-code);
  --cd-prose-pre-border: var(--cd-prose-invert-pre-border);
  --cd-prose-pre-bg: var(--cd-prose-invert-pre-bg);
  --cd-prose-th-borders: var(--cd-prose-invert-th-borders);
  --cd-prose-td-borders: var(--cd-prose-invert-td-borders);
  --cd-prose-bg-hover: var(--cd-prose-invert-bg-hover);
}

.prose {
  font-size: 1em;
  line-height: 1.75;
  color: var(--cd-prose-body);
}

.prose h1:not(:where([class~="not-prose"] *)) ,
.prose h2:not(:where([class~="not-prose"] *)) ,
.prose h3:not(:where([class~="not-prose"] *)) ,
.prose h4:not(:where([class~="not-prose"] *)) ,
.prose h5:not(:where([class~="not-prose"] *)) ,
.prose h6:not(:where([class~="not-prose"] *)) {
  font-family: var(--cd-font-serif);
}

.prose :where(p):not(:where([class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where([class~="lead"]):not(:where([class~="not-prose"] *)) {
  color: var(--cd-prose-lead);
  font-size: 1.25em;
  line-height: 1.6;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}

.prose :where(a):not(:where([class~="not-prose"] *)) {
  color: var(--cd-prose-links);
  text-decoration: underline;
  font-weight: 500;
}

.prose :where(strong):not(:where([class~="not-prose"] *)) {
  color: var(--cd-prose-bold);
  font-weight: 600;
}

.prose :where(a strong):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote strong):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th strong):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(ol):not(:where([class~="not-prose"] *)) {
  list-style-type: decimal;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-left: 1.625em;
}

.prose :where(ol[type="A"]):not(:where([class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a"]):not(:where([class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="A" s]):not(:where([class~="not-prose"] *)) {
  list-style-type: upper-alpha;
}

.prose :where(ol[type="a" s]):not(:where([class~="not-prose"] *)) {
  list-style-type: lower-alpha;
}

.prose :where(ol[type="I"]):not(:where([class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i"]):not(:where([class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="I" s]):not(:where([class~="not-prose"] *)) {
  list-style-type: upper-roman;
}

.prose :where(ol[type="i" s]):not(:where([class~="not-prose"] *)) {
  list-style-type: lower-roman;
}

.prose :where(ol[type="1"]):not(:where([class~="not-prose"] *)) {
  list-style-type: decimal;
}

.prose :where(ul):not(:where([class~="not-prose"] *)) {
  list-style-type: disc;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  padding-left: 1.625em;
}

.prose :where(ol > li):not(:where([class~="not-prose"] *))::marker {
  font-weight: 400;
  color: var(--cd-prose-counters);
}

.prose :where(ul > li):not(:where([class~="not-prose"] *))::marker {
  color: var(--cd-prose-bullets);
}

.prose :where(hr):not(:where([class~="not-prose"] *)) {
  border-color: var(--cd-prose-hr);
  border-top-width: 1px;
  margin-top: 3em;
  margin-bottom: 3em;
}

.prose :where(blockquote):not(:where([class~="not-prose"] *)) {
  font-weight: 500;
  font-style: italic;
  color: var(--cd-prose-quotes);
  border-left-width: 0.25em;
  border-left-color: var(--cd-prose-quote-borders);
  quotes: "\201C""\201D""\2018""\2019";
  margin-top: 1.6em;
  margin-bottom: 1.6em;
  padding-left: 1em;
}

.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"] *))::before {
  content: open-quote;
}

.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"] *))::after {
  content: close-quote;
}

.prose :where(h1):not(:where([class~="not-prose"] *)) {
  color: var(--cd-prose-headings);
  font-weight: 800;
  font-size: 2.2rem;
  margin-top: 0;
  margin-bottom: 0.8888889em;
  line-height: 1.1111111;
}

.prose :where(h1 strong):not(:where([class~="not-prose"] *)) {
  font-weight: 900;
  color: inherit;
}

.prose :where(h2):not(:where([class~="not-prose"] *)) {
  color: var(--cd-prose-headings);
  font-weight: 700;
  font-size: 1.8em;
  margin-top: 1.2em;
  margin-bottom: 0.5em;
  line-height: 1.3333333;
}

.prose :where(h2 strong):not(:where([class~="not-prose"] *)) {
  font-weight: 800;
  color: inherit;
}

.prose :where(h3):not(:where([class~="not-prose"] *)) {
  color: var(--cd-prose-headings);
  font-weight: 600;
  font-size: 1.4em;
  margin-top: 1.6em;
  margin-bottom: 0.4em;
  line-height: 1.6;
}

.prose :where(h3 strong):not(:where([class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(h4):not(:where([class~="not-prose"] *)) {
  color: var(--cd-prose-headings);
  font-weight: 600;
  font-size: 1.2em;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}

.prose :where(h4 strong):not(:where([class~="not-prose"] *)) {
  font-weight: 700;
  color: inherit;
}

.prose :where(h5):not(:where([class~="not-prose"] *)) {
  color: var(--cd-prose-headings);
  font-weight: 600;
  font-size: 1em;
  margin-top: 1em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}


.prose :where(h6):not(:where([class~="not-prose"] *)) {
  color: var(--cd-prose-headings);
  font-weight: 600;
  font-size: 1em;
  margin-top: 1em;
  margin-bottom: 0.5em;
  line-height: 1.4;
}


.prose :where(img):not(:where([class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(figure > *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
  margin-bottom: 0;
}

.prose :where(figcaption):not(:where([class~="not-prose"] *)) {
  color: var(--cd-prose-captions);
  font-size: 0.875em;
  line-height: 1.4285714;
  margin-top: 0.8571429em;
}

.prose :where(code):not(:where([class~="not-prose"] *)) {
  color: var(--cd-prose-code);
  font-size: 0.98em;
  letter-spacing: -0.02em;
}
.prose :where(code):not(:where(pre code)):not(:where([class~="not-prose"] *)) {
  padding: 0.1em;
  background: var(--cd-bg-color-hover);
}

.prose :where(a code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h1 code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(h2 code):not(:where([class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.875em;
}

.prose :where(h3 code):not(:where([class~="not-prose"] *)) {
  color: inherit;
  font-size: 0.9em;
}

.prose :where(h4 code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(blockquote code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(thead th code):not(:where([class~="not-prose"] *)) {
  color: inherit;
}

.prose :where(table):not(:where([class~="not-prose"] *)) {
  width: 100%;
  table-layout: auto;
  text-align: left;
  margin-top: 2em;
  margin-bottom: 2em;
  font-size: 0.875em;
  line-height: 1.7142857;
  border-width: 1px;
  border-color: var(--cd-prose-td-borders);
}

.prose :where(thead):not(:where([class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--cd-prose-th-borders);
}

.prose :where(thead th):not(:where([class~="not-prose"] *)) {
  color: var(--cd-prose-headings);
  font-weight: 600;
  vertical-align: bottom;
  border-left-width: 1px;
  border-left-color: var(--cd-prose-th-borders);
  /* text-transform: uppercase; */
}
.prose :where(thead th:first-child):not(:where([class~="not-prose"] *)) {
  border-left-width: 0;
}

.prose :where(tbody tr):not(:where([class~="not-prose"] *)) {
  border-bottom-width: 1px;
  border-bottom-color: var(--cd-prose-td-borders);
  transition: background-color 125ms;
}
.prose :where(tbody tr:hover):not(:where([class~="not-prose"] *)) {
  background-color: var(--cd-prose-bg-hover);
}

.prose :where(tbody tr:last-child):not(:where([class~="not-prose"] *)) {
  border-bottom-width: 0;
}

.prose :where(tbody td):not(:where([class~="not-prose"] *)) {
  vertical-align: baseline;
  border-left-width: 1px;
  border-left-color: var(--cd-prose-th-borders);
}
.prose :where(tbody td:first-child):not(:where([class~="not-prose"] *)) {
  border-left-width: 0;
}
.prose :where(tbody td p:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(tfoot):not(:where([class~="not-prose"] *)) {
  border-top-width: 1px;
  border-top-color: var(--cd-prose-th-borders);
}

.prose :where(tfoot td):not(:where([class~="not-prose"] *)) {
  vertical-align: top;
}

.prose :where(th, td):not(:where([class~="not-prose"] *)) {
  padding: 0.5rem 1rem;
}

.prose :where(video):not(:where([class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(figure):not(:where([class~="not-prose"] *)) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.prose :where(li):not(:where([class~="not-prose"] *)) {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.prose :where(ol > li):not(:where([class~="not-prose"] *)) {
  padding-left: 0.375em;
}

.prose :where(ul > li):not(:where([class~="not-prose"] *)) {
  padding-left: 0.375em;
}

.prose :where(.prose > ul > li p):not(:where([class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 1.25em;
}

.prose :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 1.25em;
}

.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"] *)) {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

.prose :where(hr + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h2 + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h3 + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(h4 + *):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(.prose > :first-child):not(:where([class~="not-prose"] *)) {
  margin-top: 0;
}

.prose :where(.prose > :last-child):not(:where([class~="not-prose"] *)) {
  margin-bottom: 0;
}

.prose :where(.task-list .task-list):not(:where([class~="not-prose"] *)) {
  padding-left: 1em;
}

.prose :where(dl):not(:where([class~="not-prose"] *)) {
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}

.prose :where(dt):not(:where([class~="not-prose"] *)) {
  font-weight: bold;
}

.prose :where(dd):not(:where([class~="not-prose"] *)) {
  padding-left: 1em;
}

pre {
  border: 1px solid rgb(var(--cd-prose-pre-border));
  overflow-x: auto;
  font-weight: 400;
  font-feature-settings: "kern";
  white-space: pre;
  scrollbar-width: thin;
  padding: 1.25rem 1.5rem;
}
pre::-webkit-scrollbar {
  width: 2px;
  background-color: ButtonFace;
}
pre:has([data-linenos]) {
  padding-left: 0;
}
pre code {
  background-color: transparent;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;

}
pre a {
  text-decoration: none;
}

.highlight {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  border-radius: 6px;
}
.highlight:has(> .filename) {
  background-color: rgb(249 250 251);
  border: 1px solid rgb(153, 153, 153);
}
.highlight:is(.dark *):has(> .filename) {
  background-color: rgb(55 65 81);
  border-color: rgb(75 85 99);
}
.highlight > .filename {
  border-radius: 6px 0 0 0;
  display: inline-block;
  border-right: 1px solid rgb(153, 153, 153);
  background-color: #e7e9ed;
  padding: 0.5rem;
  color: #333;
  font-weight: 500;
  font-size: 0.9em;
}
.highlight:is(.dark *) > .filename {
  border-color: rgb(75 85 99);
  background-color: #111;
  color: rgb(255 255 255);
}
.highlight pre {
  background-color: rgba(0, 0, 0, 0.9);
  border-radius: 6px;
  font-size: 0.98rem;
  line-height: 1.4;
}
.highlight .filename + pre {
  border-radius: 0 0 6px 6px;
}
.highlight pre code { color: white; }

.highlight pre code [data-linenos]:before {
  content: attr(data-linenos);
  display: inline-block;
  width: 3rem;
  text-align: right;
  padding-right: 1rem;
  white-space: nowrap;
  color: rgb(82 82 91);
  font-size: 0.75rem;
}
.highlight .hll {
  background-color: #333;
  display: block;
}

.highlight .c { color: hsl(31, 76%, 64%) } /* Comment */
.highlight .err { color: #960050; background-color: #1e0010 } /* Error */
.highlight .k { color: #66d9ef } /* Keyword */
.highlight .l { color: #ae81ff } /* Literal */
.highlight .n { color: #f8f8f2 } /* Name */
.highlight .o { color: #f92672 } /* Operator */
.highlight .p { color: #f8f8f2 } /* Punctuation */
.highlight .cm { color: hsl(30, 20%, 50%) } /* Comment.Multiline */
.highlight .cp { color: hsl(30, 20%, 50%) } /* Comment.Preproc */
.highlight .c1 { color: hsl(30, 20%, 50%) } /* Comment.Single */
.highlight .cs { color: hsl(30, 20%, 50%) } /* Comment.Special */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .kc { color: #66d9ef } /* Keyword.Constant */
.highlight .kd { color: #66d9ef } /* Keyword.Declaration */
.highlight .kn { color: #f92672 } /* Keyword.Namespace */
.highlight .kp { color: #66d9ef } /* Keyword.Pseudo */
.highlight .kr { color: #66d9ef } /* Keyword.Reserved */
.highlight .kt { color: #66d9ef } /* Keyword.Type */
.highlight .ld { color: #e6db74 } /* Literal.Date */
.highlight .m { color: #ae81ff } /* Literal.Number */
.highlight .s { color: #e6db74 } /* Literal.String */
.highlight .na { color: #a6e22e } /* Name.Attribute */
.highlight .nb { color: #f8f8f2 } /* Name.Builtin */
.highlight .nc { color: #a6e22e } /* Name.Class */
.highlight .no { color: #66d9ef } /* Name.Constant */
.highlight .nd { color: #a6e22e } /* Name.Decorator */
.highlight .ni { color: #f8f8f2 } /* Name.Entity */
.highlight .ne { color: #a6e22e } /* Name.Exception */
.highlight .nf { color: #a6e22e } /* Name.Function */
.highlight .nl { color: #f8f8f2 } /* Name.Label */
.highlight .nn { color: #f8f8f2 } /* Name.Namespace */
.highlight .nx { color: #a6e22e } /* Name.Other */
.highlight .py { color: #f8f8f2 } /* Name.Property */
.highlight .nt { color: #f92672 } /* Name.Tag */
.highlight .nv { color: #f8f8f2 } /* Name.Variable */
.highlight .ow { color: #f92672 } /* Operator.Word */
.highlight .w { color: #f8f8f2 } /* Text.Whitespace */
.highlight .mf { color: #ae81ff } /* Literal.Number.Float */
.highlight .mh { color: #ae81ff } /* Literal.Number.Hex */
.highlight .mi { color: #ae81ff } /* Literal.Number.Integer */
.highlight .mo { color: #ae81ff } /* Literal.Number.Oct */
.highlight .sb { color: #e6db74 } /* Literal.String.Backtick */
.highlight .sc { color: #e6db74 } /* Literal.String.Char */
.highlight .sd { color: #e6db74 } /* Literal.String.Doc */
.highlight .s2 { color: #e6db74 } /* Literal.String.Double */
.highlight .se { color: #ae81ff } /* Literal.String.Escape */
.highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */
.highlight .si { color: #e6db74 } /* Literal.String.Interpol */
.highlight .sx { color: #e6db74 } /* Literal.String.Other */
.highlight .sr { color: #e6db74 } /* Literal.String.Regex */
.highlight .s1 { color: #e6db74 } /* Literal.String.Single */
.highlight .ss { color: #e6db74 } /* Literal.String.Symbol */
.highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */
.highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */
.highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */
.highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */

.highlight .gh { } /* Generic Heading & Diff Header */
.highlight .gu { color: hsl(30, 20%, 50%); } /* Generic.Subheading & Diff Unified/Comment? */
.highlight .gd { color: #f92672; } /* Generic.Deleted & Diff Deleted */
.highlight .gi { color: #a6e22e; } /* Generic.Inserted & Diff Inserted */
