:root * { --csstools-light-dark-toggle--23: var(--csstools-color-scheme--dark) #0060df; --focus-ring-color: var(--csstools-light-dark-toggle--23, #0df); }

@media print {
body > :not(.print) { display: none !important; }
* { text-shadow: none !important; }
}

* { box-sizing: border-box; }

body.is-frameless > .app-container ~ * { app-region: no-drag; }

.markdown-preview-view { font-size: var(--font-text-size); font-family: var(--font-text); line-height: var(--line-height-normal); width: 100%; height: 100%; padding: var(--file-margins); position: relative; overflow-y: auto; overflow-wrap: break-word; color: var(--text-normal); user-select: text; scrollbar-gutter: stable; }

.markdown-rendered { tab-size: var(--indent-size); }

.markdown-rendered > :first-child { margin-top: 0px; }

.markdown-rendered > :last-child { margin-bottom: 0px; }

.vertical-tab-content .setting-item ~ :is(h1, h2, h3, h4, .setting-item-heading) { margin-top: var(--size-4-6); }

button { --text-color: var(--text-normal); app-region: no-drag; display: inline-flex; align-items: center; justify-content: center; color: var(--text-color); font-size: var(--font-ui-small); border-radius: var(--button-radius); border: 0px; padding: var(--size-4-1) var(--size-4-3); height: var(--input-height); font-weight: var(--input-font-weight); cursor: var(--cursor); font-family: inherit; outline: none; user-select: none; white-space: nowrap; }

button:not(.clickable-icon) { color: var(--text-color); background-color: var(--interactive-normal); box-shadow: var(--input-shadow); }

@media (hover: hover) {
button:hover { background-color: var(--interactive-hover); box-shadow: var(--input-shadow-hover); }
}

@media (forced-colors: active) {
button { border: 1px solid buttonborder; }
}

svg.svg-icon { height: var(--icon-size); width: var(--icon-size); stroke-width: var(--icon-stroke); }

.callout { --callout-color: var(--callout-default); --callout-icon: lucide-pencil; }

.callout[data-callout="abstract"], .callout[data-callout="summary"], .callout[data-callout="tldr"] { --callout-color: var(--callout-summary); --callout-icon: lucide-clipboard-list; }

.callout[data-callout="info"] { --callout-color: var(--callout-info); --callout-icon: lucide-info; }

.callout { overflow: hidden; border-style: solid; border-color: rgba(var(--callout-color), var(--callout-border-opacity)); border-width: var(--callout-border-width); border-radius: var(--callout-radius); margin: 1em 0px; mix-blend-mode: var(--callout-blend-mode); background-color: rgba(var(--callout-color), 0.1); padding: var(--callout-padding); }

.callout-title { padding: var(--callout-title-padding); display: flex; gap: var(--size-4-1); font-size: var(--callout-title-size); color: rgb(var(--callout-color)); line-height: var(--line-height-tight); align-items: flex-start; }

.callout-content { overflow-x: auto; padding: var(--callout-content-padding); background-color: var(--callout-content-background); }

.callout-icon { flex: 0 0 auto; display: flex; align-items: center; }

.callout-icon .svg-icon { color: rgb(var(--callout-color)); }

.callout-icon::after { content: "​"; }

.callout-title-inner { --font-weight: var(--callout-title-weight); font-weight: var(--font-weight); color: var(--callout-title-color); }

.markdown-rendered code { color: var(--code-normal); font-family: var(--font-monospace); background-color: var(--code-background); border-radius: var(--code-radius); font-size: var(--code-size); padding: 0.15em 0.3em; border: var(--code-border-width) solid var(--code-border-color); -webkit-box-decoration-break: clone; }

.markdown-rendered pre { position: relative; padding: var(--size-4-3) var(--size-4-4); min-height: 38px; background-color: var(--code-background); border-radius: var(--code-radius); white-space: var(--code-white-space); border: var(--code-border-width) solid var(--code-border-color); overflow-x: auto; }

.markdown-rendered pre code { border: none; padding: 0px; background-color: transparent; }

.markdown-rendered button.copy-code-button { margin: 6px; padding: 6px 8px; height: auto; background-color: transparent; box-shadow: none; color: var(--text-muted); font-size: var(--font-ui-smaller); font-family: var(--font-interface); position: absolute; top: 0px; inset-inline-end: 0px; }

@media (hover: hover) {
.markdown-rendered button.copy-code-button:hover { background-color: var(--background-modifier-hover); }
}

code[class*="language-"] { color: var(--code-normal); background: none; overflow-wrap: break-word; white-space: pre-wrap; word-break: normal; direction: ltr; font-family: var(--font-monospace); text-align: left; word-spacing: normal; line-height: var(--line-height-normal); hyphens: none; }

@media print {
code[class*="language-"] { text-shadow: none; }
}

.token.important, .token.bold { font-weight: bold; }

.token.punctuation { color: var(--code-punctuation); }

.token.boolean, .token.number { color: var(--code-value); }

.token.atrule, .token.attr-value, .token.builtin, .token.function, .token.class-name, .token.property-access { color: var(--code-function); }

.token.regex, .token.important { color: var(--code-important); }

.internal-embed img:not([width]), .internal-embed audio, .internal-embed video { max-width: 100%; }

.markdown-rendered :is(p, pre, table, ul, ol) + :is(h1, h2, h3, h4, h5, h6), .markdown-rendered div:is(.el-blockquote, .el-p, .el-pre, .el-table, .el-ul, .el-ol) + div > :is(h1, h2, h3, h4, h5, h6) { margin-top: var(--heading-spacing); }

h1, h2, h3, h4, h5, h6 { margin-block-start: var(--p-spacing); margin-block-end: var(--p-spacing); }

h1, .markdown-rendered h1 { --font-weight: var(--h1-weight); font-variant: var(--h1-variant); letter-spacing: var(--h1-letter-spacing); line-height: var(--h1-line-height); font-size: var(--h1-size); color: var(--h1-color); font-weight: var(--font-weight); font-style: var(--h1-style); font-family: var(--h1-font); }

h2, .markdown-rendered h2 { --font-weight: var(--h2-weight); font-variant: var(--h2-variant); letter-spacing: var(--h2-letter-spacing); line-height: var(--h2-line-height); font-size: var(--h2-size); color: var(--h2-color); font-weight: var(--font-weight); font-style: var(--h2-style); font-family: var(--h2-font); }

.markdown-preview-view img, .markdown-rendered img { image-rendering: -webkit-optimize-contrast; max-width: 100%; }

.markdown-preview-view img:not([width]), .markdown-rendered img:not([width]) { outline: none; }

ul > li, ol > li { text-align: start; }

ol > li::marker, ul > li::marker { color: var(--list-marker-color); }

.markdown-rendered ul, .markdown-rendered ol { padding-inline-start: 0px; margin-block-start: var(--p-spacing); margin-block-end: var(--p-spacing); }

.markdown-rendered ul > li, .markdown-rendered ol > li { padding-top: var(--list-spacing); padding-bottom: var(--list-spacing); position: relative; }

.markdown-rendered ul > li { margin-inline-start: 3ch; }

.markdown-source-view ol > li, .markdown-source-view ul > li, .markdown-preview-view ol > li, .markdown-preview-view ul > li, .mod-cm6 .HyperMD-list-line.cm-line { padding-top: var(--list-spacing); padding-bottom: var(--list-spacing); }

a { --font-weight: var(--link-weight); color: var(--link-color); font-weight: var(--link-weight); outline: none; text-decoration-line: var(--link-decoration); text-decoration-thickness: var(--link-decoration-thickness); cursor: var(--cursor-link); transition: opacity var(--anim-duration-fast) ease-in-out; }

@media (hover: hover) {
a:hover { color: var(--link-color-hover); text-decoration-line: var(--link-decoration-hover); }
}

@media (hover: hover) {
.external-link:hover { color: var(--link-external-color-hover); text-decoration-line: var(--link-external-decoration-hover); }
}

.markdown-rendered table { margin-block-start: var(--p-spacing); margin-block-end: var(--p-spacing); word-break: normal; }

.cm-html-embed table, .markdown-rendered table { border-collapse: collapse; line-height: var(--table-line-height); }

.cm-html-embed td, .markdown-rendered td, .cm-html-embed th, .markdown-rendered th { padding: var(--size-2-2) var(--size-4-2); border: var(--table-border-width) solid var(--table-border-color); max-width: var(--table-column-max-width); min-width: var(--table-column-min-width); vertical-align: var(--table-cell-vertical-alignment); }

.cm-html-embed td, .markdown-rendered td { font-size: var(--table-text-size); color: var(--table-text-color); }

.cm-html-embed th, .markdown-rendered th { font-size: var(--table-header-size); font-weight: var(--table-header-weight); color: var(--table-header-color); font-family: var(--table-header-font); line-height: var(--line-height-tight); }

.cm-html-embed th, .markdown-rendered th, .cm-html-embed td, .markdown-rendered td { text-align: start; }

.cm-html-embed th[align="left"], .markdown-rendered th[align="left"], .cm-html-embed td[align="left"], .markdown-rendered td[align="left"] { text-align: start; }

.cm-html-embed thead > tr > th, .markdown-rendered thead > tr > th, .cm-html-embed tbody > tr > td, .markdown-rendered tbody > tr > td { white-space: var(--table-white-space); text-overflow: ellipsis; overflow: hidden; }

.cm-html-embed tbody tr, .markdown-rendered tbody tr { background-color: var(--table-background); }

@media (hover: hover) {
.cm-html-embed tbody tr:hover, .markdown-rendered tbody tr:hover { background-color: var(--table-row-background-hover); }
}

.cm-html-embed tbody tr:nth-child(2n+1), .markdown-rendered tbody tr:nth-child(2n+1) { background-color: var(--table-row-alt-background); }

@media (hover: hover) {
.cm-html-embed tbody tr:nth-child(2n+1):hover, .markdown-rendered tbody tr:nth-child(2n+1):hover { background-color: var(--table-row-alt-background-hover); }
}

.cm-html-embed tbody tr > td:nth-child(2n+2), .markdown-rendered tbody tr > td:nth-child(2n+2) { background-color: var(--table-column-alt-background); }

.cm-html-embed tbody tr:last-child > td, .markdown-rendered tbody tr:last-child > td { border-bottom-width: var(--table-row-last-border-width); }

.cm-html-embed tbody tr > td:first-child, .markdown-rendered tbody tr > td:first-child { border-left-width: var(--table-column-first-border-width); }

.cm-html-embed tbody tr > td:last-child, .markdown-rendered tbody tr > td:last-child { border-right-width: var(--table-column-last-border-width); }

.cm-html-embed thead tr, .markdown-rendered thead tr { background-color: var(--table-header-background); }

@media (hover: hover) {
.cm-html-embed thead tr:hover, .markdown-rendered thead tr:hover { background-color: var(--table-header-background-hover); }
}

.cm-html-embed thead tr > th, .markdown-rendered thead tr > th { border-top-width: var(--table-header-border-width); border-color: var(--table-header-border-color); }

.cm-html-embed thead tr > th:nth-child(2n+2), .markdown-rendered thead tr > th:nth-child(2n+2) { background-color: var(--table-column-alt-background); }

.cm-html-embed thead tr > th:first-child, .markdown-rendered thead tr > th:first-child { border-left-width: var(--table-column-first-border-width); }

.cm-html-embed thead tr > th:last-child, .markdown-rendered thead tr > th:last-child { border-right-width: var(--table-column-last-border-width); }

b, strong { font-weight: calc(var(--font-weight) + var(--bold-modifier)); color: var(--bold-color); }

.markdown-rendered { }

.markdown-rendered p { margin-block-start: var(--p-spacing); margin-block-end: var(--p-spacing); unicode-bidi: plaintext; }

.docferry-snapshot-hidden-host { left: -10000px; pointer-events: none; position: fixed; top: 0px; visibility: hidden; width: 860px; }

#ma249d62e1b97b54b { font-family: var(--font-mermaid); font-size: 16px; fill: rgb(51, 51, 51); }

#ma249d62e1b97b54b .edge-thickness-normal { stroke-width: 1px; }

#ma249d62e1b97b54b .edge-pattern-solid { stroke-dasharray: 0; }

#ma249d62e1b97b54b .marker { fill: rgb(51, 51, 51); stroke: rgb(51, 51, 51); }

#ma249d62e1b97b54b .marker.cross { stroke: rgb(51, 51, 51); }

#ma249d62e1b97b54b p { margin: 0px; }

#ma249d62e1b97b54b .label { font-family: var(--font-mermaid); color: rgb(51, 51, 51); }

#ma249d62e1b97b54b .cluster-label span { color: rgb(51, 51, 51); }

#ma249d62e1b97b54b .cluster-label span p { background-color: transparent; }

#ma249d62e1b97b54b .label text, #ma249d62e1b97b54b span { fill: rgb(51, 51, 51); color: rgb(51, 51, 51); }

#ma249d62e1b97b54b .node rect, #ma249d62e1b97b54b .node circle, #ma249d62e1b97b54b .node ellipse, #ma249d62e1b97b54b .node polygon, #ma249d62e1b97b54b .node path { fill: rgb(236, 236, 255); stroke: rgb(147, 112, 219); stroke-width: 1px; }

#ma249d62e1b97b54b .rough-node .label, #ma249d62e1b97b54b .node .label, #ma249d62e1b97b54b .image-shape .label, #ma249d62e1b97b54b .icon-shape .label { text-align: center; }

#ma249d62e1b97b54b .flowchart-link { stroke: rgb(51, 51, 51); fill: none; }

#ma249d62e1b97b54b .edgeLabel { background-color: rgba(232, 232, 232, 0.8); text-align: center; }

#ma249d62e1b97b54b .labelBkg { background-color: rgba(232, 232, 232, 0.5); }

#ma249d62e1b97b54b .cluster rect { fill: rgb(255, 255, 222); stroke: rgb(170, 170, 51); stroke-width: 1px; }

#ma249d62e1b97b54b .cluster span { color: rgb(51, 51, 51); }