/*!
 *  __  __                __                                     __
 * /\ \/\ \              /\ \             __                    /\ \
 * \ \ \_\ \   __  __    \_\ \      __   /\_\      __       ___ \ \ \/'\
 *  \ \  _  \ /\ \/\ \   /'_` \   /'__`\ \/\ \   /'__`\    /'___\\ \ , <
 *   \ \ \ \ \\ \ \_\ \ /\ \L\ \ /\  __/  \ \ \ /\ \L\.\_ /\ \__/ \ \ \\`\
 *    \ \_\ \_\\/`____ \\ \___,_\\ \____\ _\ \ \\ \__/.\_\\ \____\ \ \_\ \_\
 *     \/_/\/_/ `/___/> \\/__,_ / \/____//\ \_\ \\/__/\/_/ \/____/  \/_/\/_/
 *                 /\___/                \ \____/
 *                 \/__/                  \/___/
 *
 * Powered by Hydejack v9.1.6 <https://hydejack.com/>
 */
.clearfix, .sidebar-social::after { content: ""; display: table; clear: both; }

.color-transition, body, p, hr, .hr, .hr-after::after, .hr-bottom, blockquote, .faded, .read-more, figure, .figure, .figcaption, table:not(.rouge-table) td, table:not(.rouge-table) th, table:not(.rouge-table) thead, table:not(.rouge-table) thead + tbody, table:not(.rouge-table) tbody + tbody, table:not(.rouge-table) tfoot, table:not(.rouge-table) tbody tr:nth-child(even) td, table:not(.rouge-table) tbody tr:nth-child(even) th, table:not(.rouge-table) tbody tr:nth-child(odd) td, table:not(.rouge-table) tbody tr:nth-child(odd) th, .footnotes::before, code, .figure-base, table:not(.rouge-table), .pre-base, pre, article .katex-display, article mjx-container[jax][display="true"], div.highlight > .pre-header, .pre-header-common, div.highlight > button, .message, .note-sm, .note, #markdown-toc, .pagination, .navbar, .nav-btn-bar, .nav-btn, .content .avatar { transition: none; }

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -ms-overflow-style: scrollbar; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

@-ms-viewport { width: device-width; }
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section { display: block; }

[tabindex="-1"]:focus { outline: none !important; }

abbr[title], abbr[data-original-title] { text-decoration: underline; text-decoration: underline dotted; cursor: help; border-bottom: 0; }

address { margin-bottom: 1rem; font-style: normal; line-height: inherit; }

img { vertical-align: middle; border-style: none; }

svg:not(:root) { overflow: hidden; }

a, area, button, [role="button"], input:not([type=range]), label, select, summary, textarea { touch-action: manipulation; }

figure { margin: 0 0 1rem; }

label { display: inline-block; margin-bottom: .25rem; }

button:focus { outline: 1px dotted; outline: 5px auto -webkit-focus-ring-color; }

input, button, select, optgroup, textarea { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; }

button, input { overflow: visible; }

button, select { text-transform: none; }

button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { padding: 0; border-style: none; }

input[type="radio"], input[type="checkbox"] { box-sizing: border-box; padding: 0; }

input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] { -webkit-appearance: listbox; }

textarea { overflow: auto; resize: vertical; }

fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }

legend { display: block; width: 100%; max-width: 100%; padding: 0; margin-bottom: .5rem; font-size: 1.5rem; line-height: inherit; color: inherit; white-space: normal; }

progress { vertical-align: baseline; }

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

[type="search"] { outline-offset: -2px; -webkit-appearance: none; }

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

::-webkit-file-upload-button { font: inherit; -webkit-appearance: button; }

output { display: inline-block; }

summary { display: list-item; }

template { display: none; }

[hidden] { display: none !important; }

html { --font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, Arial, sans-serif; --font-family-heading: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, Arial, sans-serif; --code-font-family: ui-monospace, Menlo, Monaco, Cascadia Mono, Segoe UI Mono, Roboto Mono, Oxygen Mono, Ubuntu Monospace, Source Code Pro, Fira Mono, Droid Sans Mono, Courier New, monospace; --body-color: #333; --body-bg: #fff; --border-color: #ebebeb; --gray: #777; --gray-bg: rgba(0, 0, 0, 0.025); --gray-text: #666; --menu-text: #bbb; --inv-body-color: #ccc; --inv-body-bg: #282828; --root-font-size: 15px; --root-font-size-medium: 16px; --root-font-size-large: 17px; --root-font-size-print: 8pt; --root-line-height: 1.75; --font-weight: 400; --font-weight-bold: 700; --font-weight-heading: 700; --content-width-5: 54rem; --content-margin-5: 4rem; --sidebar-width: 21rem; --half-content: 31rem; --break-point-3: 64em; --break-point-5: 86em; --break-point-dynamic: 1664px; }
html .content { -webkit-font-smoothing: initial; -moz-osx-font-smoothing: initial; }

* { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

html { font-family: var(--font-family); font-size: var(--root-font-size); line-height: var(--root-line-height); }

body { color: var(--body-color); background-color: var(--body-bg); font-weight: var(--font-weight); overflow-y: scroll; }

.content img, .img, .content video, .video { max-width: 100%; height: auto; }

.lead { margin-left: -1rem; margin-right: -1rem; margin-bottom: 1.5rem; }

img.lead, video.lead { display: block; max-width: calc(100% + 2rem); width: calc(100% + 2rem); height: auto; }

@media (display-mode: standalone) { body { overscroll-behavior-y: contain; } }
:focus { outline-color: var(--accent-color) !important; }

::selection { background: var(--accent-color-faded); }

.heading, .f1, h1, .h1, .f2, h2, .h2, .f3, h3, .h3, .f4, h4, .h4, .post-date, .sidebar-nav-item, .f5, h5, .h5, .f6, h6, .h6, .tippy-content a { font-family: var(--font-family-heading); font-weight: var(--font-weight-heading); }

.f1, h1, .h1 { font-size: 2rem; line-height: 1.3; }

.f2, h2, .h2 { font-size: 1.5rem; line-height: 1.4; }

.f3, h3, .h3 { font-size: 1.2em; line-height: 1.5; }

.f4, h4, .h4, .post-date, .sidebar-nav-item { font-size: 1.08rem; line-height: 1.6; }

.f5, h5, .h5 { font-size: 1.04rem; line-height: 1.7; }

.f6, h6, .h6 { font-size: 1rem; }

.content h1 > a, .content .h1 > a { text-decoration: none; border-bottom: none; }
@media screen and (max-width: 42em) { .content h1, .content .h1 { font-size: 1.7rem; line-height: 1.35; } }
@media screen and (min-width: 86em) { .content h1, .content .h1 { font-size: 2.4rem; line-height: 1.25; } }

@media screen and (min-width: 1664px) { body:not(.no-large-headings) .content h1, body:not(.no-large-headings) .content .h1 { width: calc(100% + 50vw - 32rem); font-size: 3rem; line-height: 1.2; } }
@media screen and (min-width: 124em) { body:not(.no-large-headings) .content h1, body:not(.no-large-headings) .content .h1 { font-size: 4rem; line-height: 1.1; } }

h1, h2, h3, .h1, .h2, .h3 { margin: 4rem 0 1rem; }

h4, h5, h6, .h4, .post-date, .h5, .h6 { margin: 3rem 0 .5rem; }

p { margin-top: 0; margin-bottom: 1rem; }
p.lead { font-size: 1.2em; margin-top: 1.5rem; margin-bottom: 1.5rem; padding: 0 1rem; }

ul, ol, dl { margin-top: 0; margin-bottom: 1rem; }

ul, ol { padding-left: 1.25rem; }

hr, .hr { border: 0; margin: 1rem 0; border-top: 1px solid var(--border-color); }

.hr-after::after { content: ""; display: block; margin: 1rem 0; border-top: 1px solid var(--border-color); }

.hr-bottom { border-bottom: 1px solid var(--border-color); padding-bottom: .75rem; margin-bottom: 1rem; }

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .post-date, .h5, .h6, .heading, .f1, h1, .h1, .f2, h2, .h2, .f3, h3, .h3, .f4, h4, .h4, .post-date, .sidebar-nav-item, .f5, h5, .h5, .f6, h6, .h6, .tippy-content a { text-rendering: optimizeLegibility; }

h1 + h2, .h1 + .h2, h1 + .h2, .h1 + h2, h2 + h3, .h2 + .h3, h2 + .h3, .h2 + h3, h3 + h4, .h3 + .h4, .h3 + .post-date, h3 + .h4, h3 + .post-date, .h3 + h4, h4 + h5, .h4 + .h5, .post-date + .h5, h4 + .h5, .h4 + h5, .post-date + h5, h5 + h6, .h5 + .h6, h5 + .h6, .h5 + h6 { margin-top: 0; }

dt, strong { font-weight: var(--font-weight-bold); }

dt:after { content: " :"; color: var(--menu-text); }

dd { margin-bottom: .5rem; }

abbr { font-size: 85%; font-weight: var(--font-weight-bold); text-transform: uppercase; }
abbr[title] { cursor: help; border-bottom: 1px dotted var(--border-color); }

blockquote { padding: .5rem 1rem; margin: .8rem 0; color: var(--gray); border-left: 0.25rem solid var(--border-color); }
blockquote.lead { font-size: 1.2em; margin-top: 1.5rem; margin-bottom: 1.5rem; border-left-width: 0.4rem; }
blockquote > p:last-child { margin-bottom: 0; }

.heading, .f1, h1, .h1, .f2, h2, .h2, .f3, h3, .h3, .f4, h4, .h4, .post-date, .sidebar-nav-item, .f5, h5, .h5, .f6, h6, .h6, .tippy-content a { font-weight: var(--font-weight-heading); }

.fine, figure, .figure, .figcaption, .smaller { font-size: smaller; }

.faded, .read-more, figure, .figure, .figcaption { color: var(--gray); }

.centered, figure, .figure, .figcaption { text-align: center; }

h1[id], h2[id], h3[id], h4[id], h5[id], h6[id] { position: relative; }
h1[id] > .permalink, h2[id] > .permalink, h3[id] > .permalink, h4[id] > .permalink, h5[id] > .permalink, h6[id] > .permalink { text-decoration: none; border: none; opacity: 0; transition: opacity 400ms; }
@media print { h1[id] > .permalink, h2[id] > .permalink, h3[id] > .permalink, h4[id] > .permalink, h5[id] > .permalink, h6[id] > .permalink { display: none; } }
h1[id]:hover > .permalink, h2[id]:hover > .permalink, h3[id]:hover > .permalink, h4[id]:hover > .permalink, h5[id]:hover > .permalink, h6[id]:hover > .permalink { opacity: 0.5; }
h1[id] > .permalink:hover, h1[id] > .permalink:focus, h2[id] > .permalink:hover, h2[id] > .permalink:focus, h3[id] > .permalink:hover, h3[id] > .permalink:focus, h4[id] > .permalink:hover, h4[id] > .permalink:focus, h5[id] > .permalink:hover, h5[id] > .permalink:focus, h6[id] > .permalink:hover, h6[id] > .permalink:focus { opacity: 1; transition: opacity 200ms; }

.content-hash::before { content: "#"; }

.content-json::before { content: "{}"; }

@media print { h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .post-date, .h5, .h6, dt { page-break-inside: avoid; break-inside: avoid-page; page-break-after: avoid; break-after: avoid-page; } }
table:not(.rouge-table) { border-collapse: collapse; border-radius: 0 !important; display: block; margin-bottom: 1.5rem; }
table:not(.rouge-table) td, table:not(.rouge-table) th { padding: .5em .75em; }
table:not(.rouge-table) td:first-child, table:not(.rouge-table) th:first-child { padding-left: 1rem; border-left: 1px solid var(--border-color); }
table:not(.rouge-table) td:last-child, table:not(.rouge-table) th:last-child { padding-right: 1rem; border-right: 1px solid var(--border-color); }
table:not(.rouge-table) > *:first-child { border-top: 1px solid var(--border-color); }
table:not(.rouge-table) > *:last-child { border-bottom: 1px solid var(--border-color); }
table:not(.rouge-table) thead { background-color: var(--body-bg); }
table:not(.rouge-table) thead + tbody, table:not(.rouge-table) tbody + tbody, table:not(.rouge-table) tfoot { border-top: 1px solid var(--border-color); }
table:not(.rouge-table) tbody tr:nth-child(even) td, table:not(.rouge-table) tbody tr:nth-child(even) th { background-color: var(--body-bg); }
table:not(.rouge-table) tbody tr:nth-child(odd) td, table:not(.rouge-table) tbody tr:nth-child(odd) th { background-color: var(--gray-bg); }

table.stretch-table { display: table; width: 100% !important; width: calc(100% + 2em) !important; }

table.scroll-table { white-space: nowrap; }

table.flip-table { display: flex; overflow: hidden; }
table.flip-table thead, table.flip-table tbody { display: flex; }
table.flip-table thead { flex-shrink: 0; min-width: min-content; border-left: 1px solid var(--border-color); border-bottom: 1px solid var(--border-color); }
table.flip-table thead th { padding-left: 1em; }
table.flip-table tbody { position: relative; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
table.flip-table tr { display: flex; flex-direction: column; min-width: min-content; flex-shrink: 0; }
table.flip-table tr:last-child { border-right: 1px solid var(--border-color); }
table.flip-table tr:last-child td { padding-right: 1em; }
table.flip-table td, table.flip-table th { display: block; }
table.flip-table td:first-child, table.flip-table th:first-child { padding-left: .5em; border-left: none; }
table.flip-table td:last-child, table.flip-table th:last-child { padding-right: .5em; border-right: none; }

@media screen and (max-width: 72em) { table.scroll-table-small { white-space: nowrap; }
  table.flip-table-small { display: flex; overflow: hidden; }
  table.flip-table-small thead, table.flip-table-small tbody { display: flex; }
  table.flip-table-small thead { flex-shrink: 0; min-width: min-content; border-left: 1px solid var(--border-color); border-bottom: 1px solid var(--border-color); }
  table.flip-table-small thead th { padding-left: 1em; }
  table.flip-table-small tbody { position: relative; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
  table.flip-table-small tr { display: flex; flex-direction: column; min-width: min-content; flex-shrink: 0; }
  table.flip-table-small tr:last-child { border-right: 1px solid var(--border-color); }
  table.flip-table-small tr:last-child td { padding-right: 1em; }
  table.flip-table-small td, table.flip-table-small th { display: block; }
  table.flip-table-small td:first-child, table.flip-table-small th:first-child { padding-left: .5em; border-left: none; }
  table.flip-table-small td:last-child, table.flip-table-small th:last-child { padding-right: .5em; border-right: none; } }
@media print { table:not(.rouge-table) { width: 100% !important; } }
footer { margin-bottom: 2rem; }

a[href^="#fn:"], a[href^="#fnref:"] { margin-left: .1rem; font-weight: var(--font-weight-bold); }
@media screen and (max-width: 72em) { a[href^="#fn:"], a[href^="#fnref:"] { font-weight: normal; }
  a[href^="#fn:"]::before, a[href^="#fnref:"]::before { content: "["; }
  a[href^="#fn:"]::after, a[href^="#fnref:"]::after { content: "]"; } }

sup { line-height: 1; }
@media screen and (max-width: 72em) { sup[id^="fnref"] { vertical-align: baseline; font-size: inherit; } }

.footnotes { margin-top: 5rem; margin-bottom: 5rem; }
.footnotes > ol { color: var(--gray); }
.footnotes > ol > li { padding: .5rem; margin-left: .5rem; }
.footnotes > ol > li > p { margin: 0; }
.footnotes > ol > li:focus { outline: none; color: var(--gray-text); background: var(--gray-bg); }
.footnotes::before { content: ""; display: block; margin: 1rem 0; border: 0; border-top: 1px solid var(--border-color); }

code, pre { font-family: var(--code-font-family); }

code { padding: .25em .5em; background-color: var(--gray-bg); font-size: smaller; }

.figure-base, table:not(.rouge-table), .pre-base, pre, article .katex-display, article mjx-container[jax][display="true"], div.highlight > .pre-header { margin-left: -1rem; margin-right: -1rem; overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (min-width: 42em) { .figure-base, table:not(.rouge-table), .pre-base, pre, article .katex-display, article mjx-container[jax][display="true"], div.highlight > .pre-header { border-radius: 0.5rem; } }

.pre-base, pre, article .katex-display, article mjx-container[jax][display="true"] { padding: 1rem; margin-bottom: 1.5rem; background-color: var(--gray-bg); backface-visibility: hidden; }
@media print { .pre-base, pre, article .katex-display, article mjx-container[jax][display="true"] { width: 100% !important; page-break-inside: avoid; break-inside: avoid-page; } }

pre { margin-top: 0; display: block; font-size: .83em; line-height: 1.5em; position: relative; }

pre > code { display: inline-block; position: relative; min-width: 100%; padding: 0; color: inherit; background-color: transparent; font-size: 1em; }

.pre-header-common, div.highlight > .pre-header, div.highlight > button { height: 2rem; border: none; border-bottom: 1px solid var(--border-color); border-bottom-left-radius: 0; border-bottom-right-radius: 0; }

div.highlight { position: relative; }
div.highlight > .pre-header { display: block; color: var(--gray) !important; background-color: var(--gray-bg); }
div.highlight > .pre-header > span { font-size: smaller; }
div.highlight > .pre-header > * { display: inline-block; padding: .3rem 1rem .2rem; }
div.highlight > button { position: absolute; top: 0; right: -1rem; color: var(--menu-text); background: none; border-left: 1px solid var(--border-color); border-right: 1px solid var(--border-color); border-top-left-radius: 0; padding-left: 1rem; padding-right: 1rem; overflow: hidden; cursor: pointer; opacity: 0; transition: opacity 300ms; }
div.highlight > button:hover { background: var(--gray-bg); }
div.highlight > button.copy-success > .icon-copy { animation-name: icon-copy; animation-duration: 1.5s; animation-timing-function: ease; }
div.highlight > button.copy-success > .icon-checkmark { animation-name: icon-checkmark; animation-duration: 1.5s; animation-timing-function: ease; }
div.highlight > button > .icon-copy { display: inline-block; }
div.highlight > button > .icon-checkmark { position: absolute; top: 50%; margin-top: -3em; left: 0; right: 0; text-align: center; }
div.highlight:hover > button { opacity: 1; transition: opacity 100ms; }
div.highlight > .pre-header ~ pre.highlight { border-top-left-radius: 0; border-top-right-radius: 0; padding-top: .65rem; }
div.highlight > .pre-header ~ button { opacity: 1; }

body.no-break-layout div.highlight > button { border-right: none; }

@keyframes icon-checkmark { 0% { transform: translateY(0); }
  15%, 85% { transform: translateY(2.5em); }
  100% { transform: translateY(5em); } }
@keyframes icon-copy { 0% { transform: translateY(0); }
  15% { transform: translateY(2.5em); }
  15.01%, 85% { transform: translateY(-2.5em); }
  100% { transform: translateY(0); } }
.page { margin-bottom: 3em; }
.page li + li { margin-top: .25rem; }
.page > header { position: relative; margin-bottom: 2rem; }

@media screen and (min-width: 1664px) { body:not(.no-third-column) .page > header > .lead + .note-sm, body:not(.no-third-column) .page > header > .lead + .note, body:not(.no-third-column) .page > header > .lead + #markdown-toc, body:not(.no-third-column) .page > header > a.no-hover + .note-sm, body:not(.no-third-column) .page > header > a.no-hover + .note, body:not(.no-third-column) .page > header > a.no-hover + #markdown-toc { position: absolute; right: -25rem; width: 21rem; bottom: 0; margin-bottom: 0; } }

.page-title, .post-title { margin-top: 0; }

.post-date { display: flex; justify-content: space-between; margin-top: -.6rem; height: 2rem; margin-bottom: .85rem; color: var(--gray); }
.post-date > .ellipsis, #breadcrumbs.post-date > ul { cursor: pointer; }
.post-date [class^="icon-"] { display: inline-block; font-size: smaller; margin-right: .25rem; }

clap-button { margin-left: auto; margin-right: auto; --clap-button-color: var(--accent-color); }

clap-button + p.message, clap-button + p.note-sm, clap-button + p.note, clap-button + p#markdown-toc { margin: -2rem auto 0; max-width: 32rem; font-size: smaller; }

hr.dingbat { border: 0; }
hr.dingbat:after { content: "\2756"; display: block; text-align: center; font-size: 1.5rem; color: var(--menu-text); }

@media print { .page { margin-bottom: 0; } }
.related-posts { padding-left: 0; list-style: none; margin-bottom: 2rem; }
.related-posts > li, .related-posts > li + li { margin-top: 1rem; }

@media print { .comments { display: none; } }

.read-more { margin-top: 1.5rem; margin-bottom: 3rem; text-align: right; }
.read-more::after { content: " \2192"; font-family: "icomoon" !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; font-size: smaller; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.message, .note-sm, .note, #markdown-toc { margin-bottom: 1rem; padding: 1rem; color: var(--gray-text); background-color: var(--gray-bg); margin-left: -1rem; margin-right: -1rem; }

.note-sm, .note, #markdown-toc { background: transparent; color: var(--body-color); font-size: smaller; border-left: 1px solid var(--border-color); padding: 1.2rem 1rem 0 1rem; margin: 1rem -1rem; position: relative; }
.note-sm:before, .note:before, #markdown-toc:before { font-size: 0.667rem; font-weight: bold; font-style: normal; letter-spacing: .025rem; text-transform: uppercase; color: var(--menu-text); position: absolute; top: 0; }
.note-sm[title]:before, [title].note:before, [title]#markdown-toc:before { content: attr(title) !important; }

.note { font-size: 1rem; }

.pagination { width: calc(100% + 2rem); margin: 0 -1rem 1rem; color: var(--gray); text-align: center; }
.pagination > ul { list-style: none; padding: 0; }

.pagination-item > * { display: block; padding: .25rem 1rem; border: solid var(--border-color); border-width: 1px 0; transition: border-color 1s ease; }
.pagination-item > a, .pagination-item > a:hover, .pagination-item > a:focus { border-color: var(--border-color) !important; text-decoration: none; }
.pagination-item:first-child > * { margin-bottom: -1px; }
.pagination-item > a:hover, .pagination-item > a:focus { background-color: var(--gray-bg); border-bottom: 1px solid var(--border-color); }

@media (min-width: 23.5em) { .pagination { width: 100%; margin: 3rem 0; }
  .pagination-item > * { float: left; width: 50%; border-width: 1px; }
  .pagination-item:first-child > * { margin-bottom: 0; border-top-left-radius: 0.25rem; border-bottom-left-radius: 0.25rem; }
  .pagination-item:last-child > * { margin-left: -1px; border-top-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem; } }
body { /* Prevent side-scrolling on mobile */ display: block; position: relative; overflow-x: hidden; }

hy-push-state, hy-drawer { display: block; overflow: hidden; }

@media screen { body::before { content: ''; width: .5rem; background: var(--gray-bg); position: fixed; left: 0; top: 0; bottom: 0; } }
@media (min-width: 64em) { body::before { width: 21rem; } }
@media (min-width: 1664px) { body::before { width: calc(50% - 31rem); } }

@media screen and (min-width: 42em) { html { font-size: var(--root-font-size-medium); } }
@media screen and (min-width: 124em) { html { font-size: var(--root-font-size-large); } }

#breadcrumbs > ul { height: 1rem; margin: -1.5rem 0 .5rem; padding: 0; font-size: .667rem; color: var(--menu-text); text-transform: uppercase; width: 100%; list-style: none; }
#breadcrumbs > ul > li { display: inline; }
#breadcrumbs > ul > li a { color: var(--gray); text-decoration: none; border-bottom: none; }

@media print { html { font-size: var(--root-font-size-print); } }
@page { margin: 16mm; }
.fl { float: left; }

.fr { float: right; }

.mb4 { margin-bottom: 4rem; }

.mb6 { margin-bottom: 6rem; }

.mt0 { margin-top: 0; }

.mt1 { margin-top: 1rem; }

.mt2 { margin-top: 2rem; }

.mt3 { margin-top: 3rem; }

.mt4 { margin-top: 4rem; }

.pb0 { padding-bottom: 0; }

.ml1 { margin-left: 1rem; }

.mr1 { margin-right: 1rem; }

.sixteen-nine { position: relative; }
.sixteen-nine::before { display: block; content: ""; width: 100%; padding-top: 56.25%; }
.sixteen-nine > * { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }

.sixteen-ten { position: relative; }
.sixteen-ten::before { display: block; content: ""; width: 100%; padding-top: 62.5%; }
.sixteen-ten > * { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }

.four-three { position: relative; }
.four-three::before { display: block; content: ""; width: 100%; padding-top: 75%; }
.four-three > * { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }

.sr-only { display: none; display: unset; position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }

.larger { font-size: larger; }

.smaller { font-size: smaller; }

.clearfix, .sidebar-social::after { content: ""; display: table; clear: both; }

.ellipsis, #breadcrumbs > ul { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.border { border: 1px solid var(--border-color); transition: border-color 1s ease; }

@media (min-width: 42em) { .border-radius, .lead, .page .aspect-ratio.sixteen-nine.lead { border-radius: 0.5rem; } }

.fallback-img { background-position: center; background-repeat: no-repeat; background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB3aWR0aD0iMTYwIiBoZWlnaHQ9IjkwIiB2aWV3Qm94PSIwIDAgMTYwIDkwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuMDQ4ODI4LCAwLCAwLCAwLjA0Nzk5MSwgNTQuOTk5OTczLCAyMC40MjgxNDgpIj4KICAgIDxwYXRoIHN0eWxlPSJmaWxsOnJnYmEoMTI4LDEyOCwxMjgsLjMzKSIgZD0iTTk1OS44ODQgMTI4YzAuMDQwIDAuMDM0IDAuMDgyIDAuMDc2IDAuMTE2IDAuMTE2djc2Ny43N2MtMC4wMzQgMC4wNDAtMC4wNzYgMC4wODItMC4xMTYgMC4xMTZoLTg5NS43N2MtMC4wNDAtMC4wMzQtMC4wODItMC4wNzYtMC4xMTQtMC4xMTZ2LTc2Ny43NzJjMC4wMzQtMC4wNDAgMC4wNzYtMC4wODIgMC4xMTQtMC4xMTRoODk1Ljc3ek05NjAgNjRoLTg5NmMtMzUuMiAwLTY0IDI4LjgtNjQgNjR2NzY4YzAgMzUuMiAyOC44IDY0IDY0IDY0aDg5NmMzNS4yIDAgNjQtMjguOCA2NC02NHYtNzY4YzAtMzUuMi0yOC44LTY0LTY0LTY0djB6Ii8+CiAgICA8cGF0aCBzdHlsZT0iZmlsbDpyZ2JhKDEyOCwxMjgsMTI4LC4zMykiIGQ9Ik04MzIgMjg4YzAgNTMuMDIwLTQyLjk4IDk2LTk2IDk2cy05Ni00Mi45OC05Ni05NiA0Mi45OC05NiA5Ni05NiA5NiA0Mi45OCA5NiA5NnoiLz4KICAgIDxwYXRoIHN0eWxlPSJmaWxsOnJnYmEoMTI4LDEyOCwxMjgsLjMzKSIgZD0iTTg5NiA4MzJoLTc2OHYtMTI4bDIyNC0zODQgMjU2IDMyMGg2NGwyMjQtMTkyeiIvPgogIDwvZz4KPC9zdmc+"); }

hy-push-state a { color: var(--body-color); transition: color 250ms, text-decoration-color 250ms, border-color 250ms; }
@supports not ((text-decoration-thickness: initial) and (text-underline-offset: initial)) { hy-push-state a { text-decoration: none; border-bottom: 2px solid; } }
@supports (text-decoration-thickness: initial) and (text-underline-offset: initial) { hy-push-state a { text-decoration-style: solid; text-underline-offset: .35rem; text-decoration-thickness: 2px; } }
hy-push-state a:hover { transition: color 50ms, text-decoration-color 50ms, border-color 50ms; }
hy-push-state a.no-hover { border-bottom: none; text-decoration-thickness: unset; text-underline-offset: unset; }

.content a:not(.btn):not(.no-hover) { border-color: var(--accent-color-faded); }
@supports (text-decoration-thickness: initial) and (text-underline-offset: initial) { .content a:not(.btn):not(.no-hover) { text-decoration-color: var(--accent-color-faded); } }
.content a:not(.btn):not(.no-hover):hover { border-color: var(--accent-color); }
@supports (text-decoration-thickness: initial) and (text-underline-offset: initial) { .content a:not(.btn):not(.no-hover):hover { text-decoration-color: var(--accent-color); } }

a.btn { text-decoration: none; }

@media print { a:not(.no-print-link)::after { content: " (" attr(href) ") "; color: var(--gray); font-size: 62%; } }
.content .aspect-ratio { overflow: hidden; }
.content .aspect-ratio img { margin: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; background-color: var(--gray-bg); }

figure, .figure { margin-bottom: 2rem; }
figure > *:first-child, .figure > *:first-child { margin-bottom: 1rem; }

.highlighter-rouge + .figure { margin-top: -1.5rem; }

.figcaption { margin-top: -0.5rem; margin-bottom: 2rem; }

hy-drawer { width: 100%; position: relative; overflow: hidden; display: block; z-index: 4; }
@media screen { hy-drawer { --hy-drawer-width: 100%; --hy-drawer-peek-width: .5rem; --hy-drawer-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.25); } }
@media screen and (min-width: 64em) { hy-drawer { position: fixed; width: 21rem; top: 0; left: 0; bottom: 0; margin-left: 0; --hy-drawer-peek-width: 21rem; }
  hy-drawer.cover { position: relative; width: 100%; } }
@media screen and (min-width: 1664px) { hy-drawer { width: calc(50% - 31rem); --hy-drawer-peek-width: calc(50% - 31rem); } }
@media screen { hy-drawer.loaded { position: static; } }

.sidebar { position: relative; display: flex; justify-content: center; align-items: center; color: rgba(255, 255, 255, 0.75); text-align: center; min-height: 100vh; }
.sidebar.invert { color: rgba(32, 32, 32, 0.75); }
.sidebar a { color: #fff; border-bottom-color: rgba(255, 255, 255, 0.2); text-decoration-color: rgba(255, 255, 255, 0.2); }
.sidebar a:hover { border-bottom-color: #fff; text-decoration-color: #fff; }
.sidebar.invert a { color: #222; border-bottom-color: rgba(32, 32, 32, 0.2); text-decoration-color: rgba(32, 32, 32, 0.2); }
.sidebar.invert a:hover { border-bottom-color: #222; text-decoration-color: #222; }

hy-drawer.loaded .sidebar { min-height: 100%; }

.sidebar-bg { position: absolute; top: 0; left: calc(50% - 50vw); width: 100vw; height: 100%; background: #202020 center / cover; }
.sidebar-bg::after { content: ""; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: rgba(0, 0, 0, 0.05); }
.sidebar-bg.sidebar-overlay::after { background: -moz-linear-gradient(top, rgba(32, 32, 32, 0) 0%, rgba(32, 32, 32, 0.5) 50%, rgba(32, 32, 32, 0) 100%); background: -webkit-linear-gradient(top, rgba(32, 32, 32, 0) 0%, rgba(32, 32, 32, 0.5) 50%, rgba(32, 32, 32, 0) 100%); background: linear-gradient(to bottom, rgba(32, 32, 32, 0) 0%, rgba(32, 32, 32, 0.5) 50%, rgba(32, 32, 32, 0) 100%); }

.sidebar-sticky { position: relative; z-index: 3; max-width: 21rem; padding: 1.5rem; contain: content; }

.sidebar-about .avatar { margin-bottom: 1.5rem; }
.sidebar-about > a.sidebar-title { text-decoration: none; }
.sidebar-about > a.sidebar-title > h2 { margin: 0; padding-bottom: .5rem; }
.sidebar-about > a.sidebar-title::after { content: ''; display: block; border-bottom: 2px solid; margin: 0 auto .5rem; width: 4rem; border-color: rgba(255, 255, 255, 0.2); transition: border-color 250ms; }
.sidebar-about > a.sidebar-title:hover::after { border-color: white; transition: border-color 50ms; }

.sidebar.invert .sidebar-about > a.sidebar-title::after { border-color: rgba(32, 32, 32, 0.2); }
.sidebar.invert .sidebar-about > a.sidebar-title:hover::after { border-color: #222; }

.sidebar-nav > ul { list-style: none; padding-left: 0; }

.sidebar-nav-item { display: inline-block; margin-bottom: .5rem; }

@media (min-width: 64em) { #_main.no-drawer #_menu { display: none; }
  #_main.no-drawer .nav-btn-bar > :nth-child(2) { border: none; } }

@media print { .sidebar { display: none; } }
#_swipe { position: absolute; z-index: 4; opacity: 0.33; top: 5vw; right: 5vw; transform: scale(0.67); }
@media screen and (min-width: 42em) { #_swipe { top: calc(50% - 48px); right: 10vw; transform: scale(1); } }

.sidebar-social > ul { display: inline-block; list-style: none; padding-left: 0; margin-bottom: 0; }
.sidebar-social > ul > li { float: left; }
.sidebar-social > ul > li > a { display: inline-block; text-align: center; font-size: 1.4rem; width: 3rem; height: 4rem; padding: .5rem 0; line-height: 3rem; text-decoration: none; border-bottom-width: 2px; border-bottom-style: solid; }
.sidebar-social > ul li + li { margin-top: 0; }

@media print { .sidebar-social { display: none; } }

.fixed-common, .fixed-top, .fixed-bottom { position: fixed; left: 0; width: 100%; z-index: 2; }

.fixed-top { top: 0; }

.fixed-bottom { bottom: 0; }

.navbar > .content { position: relative; padding-top: 0; padding-bottom: 0; min-height: 0; max-height: 5rem; }
.navbar > .content::before { content: ""; position: absolute; display: block; width: calc(100% - 6rem); height: 5rem; left: 3rem; margin: auto; box-shadow: 0 0 2rem rgba(0, 0, 0, 0.25); z-index: -1; }
.navbar.fixed-top > .content::before { bottom: 1px; }
.navbar.fixed-bottom > .content::before { top: 1px; }

.nav-btn-bar { margin: 0 -1rem; background-color: white; background-color: var(--body-bg); height: 5rem; display: flex; align-items: center; position: relative; }
.nav-btn-bar > :first-child, .nav-btn-bar > :last-child { border: none; }

.nav-btn { background: none; border: none; text-decoration: none; display: flex; align-items: center; justify-content: center; width: 3.25rem; height: 5rem; color: var(--menu-text); border-right: 1px solid var(--border-color); border-left: 1px solid var(--border-color); margin-left: -1px; }

a.nav-btn, button.nav-btn { cursor: pointer; }
a.nav-btn:hover, a.nav-btn:focus, button.nav-btn:hover, button.nav-btn:focus { background-image: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.05)); }

.nav-span { flex: 1; }

.animation-main { opacity: 0; pointer-events: none; }

#_navbar { z-index: 3; background-color: var(--body-bg); }

.navbar .loading { display: none; }
@media print { .navbar { display: none; } }

#markdown-toc { margin: 2rem -1rem 2rem calc(-1rem + 1px); padding-left: 2.5rem; padding-bottom: .5rem; transition: opacity 300ms ease, transform 300ms ease, border-color 1s ease; }
#markdown-toc:before { left: 1rem; }

@media screen and (min-width: 1664px) { body:not(.no-toc) #markdown-toc { position: absolute; z-index: 4; width: 20.5rem; right: 0; margin: auto; overflow: auto; overscroll-behavior: contain; }
  body:not(.no-toc) #markdown-toc.toc-hide { opacity: 0; transform: translateX(-2rem); }
  body:not(.no-toc) #markdown-toc.toc-show { opacity: 1; transform: translateX(0); }
  body:not(.no-toc) #markdown-toc.affix { position: fixed; top: 1rem; max-height: calc(100vh - 1rem); } }

@media screen and (min-width: 1664px) { body.no-break-layout:not(.no-toc) #markdown-toc { width: calc(50% - 31rem); } }

.content { margin-left: auto; margin-right: auto; padding: 8rem 1rem 12rem; }
@media screen { .content { padding-left: 1.5rem; min-height: 100vh; } }
@media screen and (min-width: 42em) { .content { max-width: 42rem; } }
@media screen and (min-width: 54em) { .content { max-width: 48rem; } }
@media screen and (min-width: 64em) { .content { padding-left: 1rem; margin-left: 24rem; margin-right: 3rem; } }
@media screen and (min-width: 86em) { .content { padding-top: 9rem; margin-left: 25rem; margin-right: 4rem; max-width: 54rem; } }
@media screen and (min-width: 1664px) { .content { margin: auto; } }
@media print { .content { padding: 1rem; } }

.large-only { display: none; }
@media screen and (min-width: 1664px) { .large-only { display: block; } }

.avatar { width: 7rem; height: 7rem; border-radius: 100%; overflow: hidden; display: inline-block; position: relative; z-index: 1; }
.avatar img { width: 100%; }

.content .avatar { float: right; box-sizing: content-box; border: 1rem solid var(--body-bg); transition: border-color 1s ease; margin-top: -1.5rem; margin-right: -1rem; }

article .katex-display, article mjx-container[jax][display="true"] { padding: 2rem; }

main > footer.content { position: absolute; bottom: 0; left: 0; right: 0; color: var(--gray); text-align: center; min-height: 0; padding-top: 0; padding-bottom: 2rem; }
main > footer.content > p { margin-bottom: 0; }
@media print { main > footer.content { display: none; } }

@media screen { a.external::after, a[href*="://"]:not(.no-mark-external):not(.no-mark)::after, a.no-push-state:not(.no-mark-external):not(.no-mark)::after { content: "\2009\ea7e"; font-family: "icomoon" !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; font-size: smaller; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: var(--menu-text); } }
@media screen { pre, table:not(.highlight), .katex-display, .break-layout, mjx-container[jax="CHTML"][display="true"] { position: relative; width: calc(100% + 2rem); border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; } }
@media screen and (min-width: 42rem) { pre, table:not(.highlight), .katex-display, .break-layout, mjx-container[jax="CHTML"][display="true"] { width: calc(100% + 50vw - 19rem); } }
@media screen and (min-width: 54em) { pre, table:not(.highlight), .katex-display, .break-layout, mjx-container[jax="CHTML"][display="true"] { width: calc(100% + 50vw - 22rem); } }
@media screen and (min-width: 64em) { pre, table:not(.highlight), .katex-display, .break-layout, mjx-container[jax="CHTML"][display="true"] { width: calc(100vw - 24rem); } }
@media screen and (min-width: 86em) { pre, table:not(.highlight), .katex-display, .break-layout, mjx-container[jax="CHTML"][display="true"] { width: calc(100% + 100vw - 77rem); } }
@media screen and (min-width: 1664px) { pre, table:not(.highlight), .katex-display, .break-layout, mjx-container[jax="CHTML"][display="true"] { width: calc(100% + 50vw - 46rem + 2px); } }

body:not(.no-break-layout) .katex-display > .katex, body:not(.no-break-layout) mjx-container[jax][display="true"] { text-align: left !important; }

body.no-break-layout { width: calc(100% + 6rem); }

@media screen and (min-width: 1664px) { body.no-toc:not(.no-break-layout) pre, body.no-toc:not(.no-break-layout) table:not(.highlight), body.no-toc:not(.no-break-layout) .katex-display, body.no-toc:not(.no-break-layout) .break-layout, body.no-toc:not(.no-break-layout) mjx-container[jax="CHTML"][display="true"] { width: calc(100% + 50vw - 25rem); } }

.note:before { content: "Note"; }

.page > header > .note-sm:before, .page > header > .note:before, .page > header > #markdown-toc:before { content: "Description"; }

#markdown-toc:before { content: "Table of Contents"; }

.layout-resume .note-sm:before, .layout-resume .note:before, .layout-resume #markdown-toc:before { content: "Summary"; }

.loading > [class*="icon-"] { display: inline-block; -webkit-animation: rotate 2s infinite linear both; animation: rotate 2s infinite linear both; -webkit-transform-origin: 50% 50%; -ms-transform-origin: 50% 50%; transform-origin: 50% 50%; }

@-webkit-keyframes rotate { 0% { -webkit-transform: rotateZ(0); transform: rotateZ(0); }
  100% { -webkit-transform: rotateZ(360deg); transform: rotateZ(360deg); } }
@keyframes rotate { 0% { -webkit-transform: rotateZ(0); transform: rotateZ(0); }
  100% { -webkit-transform: rotateZ(360deg); transform: rotateZ(360deg); } }
.tippy-box[data-animation='fade'][data-state='hidden'] { opacity: 0; }

[data-tippy-root] { max-width: calc(100vw - 10px); }

.tippy-box { position: relative; background-color: #333; color: white; border-radius: 4px; font-size: 14px; line-height: 1.4; outline: 0; transition-property: transform, visibility, opacity; }
.tippy-box[data-placement^='top'] > .tippy-arrow { bottom: 0; }
.tippy-box[data-placement^='top'] > .tippy-arrow::before { bottom: -7px; left: 0; border-width: 8px 8px 0; border-top-color: initial; transform-origin: center top; }
.tippy-box[data-placement^='bottom'] > .tippy-arrow { top: 0; }
.tippy-box[data-placement^='bottom'] > .tippy-arrow::before { top: -7px; left: 0; border-width: 0 8px 8px; border-bottom-color: initial; transform-origin: center bottom; }
.tippy-box[data-placement^='left'] > .tippy-arrow { right: 0; }
.tippy-box[data-placement^='left'] > .tippy-arrow::before { border-width: 8px 0 8px 8px; border-left-color: initial; right: -7px; transform-origin: center left; }
.tippy-box[data-placement^='right'] > .tippy-arrow { left: 0; }
.tippy-box[data-placement^='right'] > .tippy-arrow::before { left: -7px; border-width: 8px 8px 8px 0; border-right-color: initial; transform-origin: center right; }
.tippy-box[data-inertia][data-state='visible'] { transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11); }

.tippy-arrow { width: 16px; height: 16px; color: #333; }
.tippy-arrow::before { content: ''; position: absolute; border-color: transparent; border-style: solid; }

.tippy-content { position: relative; padding: 5px 9px; z-index: 1; }

[data-tippy-root] { --body-color: var(--inv-body-color); --body-bg: var(--inv-body-bg); }

.tippy-box { color: var(--body-color) !important; background-color: var(--body-bg) !important; }

.tippy-content { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif !important; font-weight: normal !important; }
.tippy-content a { text-decoration: none; border: none; }
.tippy-content a:after { color: var(--body-color) !important; }

.tippy-arrow { color: var(--body-bg) !important; }

.dark-mode .tippy-content { -webkit-font-smoothing: initial; -moz-osx-font-smoothing: initial; }

.light-mode .tippy-content { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

body .highlight, body pre.highlight { color: #383a42; }
body .highlight .ge { font-style: italic; }
body .highlight .gs { font-weight: 700; }
body .highlight .ow { font-weight: 700; }
body .highlight .n, body .highlight .nf, body .highlight .nn, body .highlight .o, body .highlight .p { color: #383a42; }
body .highlight .c, body .highlight .c1, body .highlight .cm, body .highlight .cp, body .highlight .cs { color: #a0a1a7; font-style: italic; }
body .highlight .sr, body .highlight .ss { color: #0184bc; }
body .highlight .k, body .highlight .kc, body .highlight .kd, body .highlight .kn, body .highlight .kp, body .highlight .kr, body .highlight .kt { color: #a626a4; }
body .highlight .l, body .highlight .ld, body .highlight .s, body .highlight .s1, body .highlight .s2, body .highlight .sb, body .highlight .sc, body .highlight .sd, body .highlight .se, body .highlight .sh, body .highlight .si, body .highlight .sx { color: #50a14f; }
body .highlight .nt, body .highlight .nx, body .highlight .vi { color: #e45649; }
body .highlight .il, body .highlight .m, body .highlight .mf, body .highlight .mh, body .highlight .mi, body .highlight .mo, body .highlight .na { color: #986801; }
body .highlight .bp, body .highlight .nb, body .highlight .nc, body .highlight .nd, body .highlight .ne, body .highlight .ni, body .highlight .nl, body .highlight .no, body .highlight .nv, body .highlight .py, body .highlight .vc, body .highlight .vg { color: #c18401; }
body .highlight .gd { color: #ff1414; }
body .highlight .gi { color: #2db448; }
body .highlight .w { color: #f8f8f2; }
body .highlight .cpf { color: navy; }
body .highlight .gu { color: #75715e; }
body .highlight .lineno { color: #9d9d9f; user-select: none; }
body .highlight .ln { color: #9d9d9f; user-select: none; }
body .highlight .ln:after { content: " "; }
body .highlight .hll { color: #383a42; background-color: #e5e5e6; }
body .highlight .hl { color: #383a42; background-color: #e5e5e6; }
body .highlight .language-json .w + .s2 { color: #e45649; }
body .highlight .language-json .kc { color: #0184bc; }

@media screen { body.light-mode .highlight, body.light-mode pre.highlight { color: #383a42; }
  body.light-mode .highlight .ge { font-style: italic; }
  body.light-mode .highlight .gs { font-weight: 700; }
  body.light-mode .highlight .ow { font-weight: 700; }
  body.light-mode .highlight .n, body.light-mode .highlight .nf, body.light-mode .highlight .nn, body.light-mode .highlight .o, body.light-mode .highlight .p { color: #383a42; }
  body.light-mode .highlight .c, body.light-mode .highlight .c1, body.light-mode .highlight .cm, body.light-mode .highlight .cp, body.light-mode .highlight .cs { color: #a0a1a7; font-style: italic; }
  body.light-mode .highlight .sr, body.light-mode .highlight .ss { color: #0184bc; }
  body.light-mode .highlight .k, body.light-mode .highlight .kc, body.light-mode .highlight .kd, body.light-mode .highlight .kn, body.light-mode .highlight .kp, body.light-mode .highlight .kr, body.light-mode .highlight .kt { color: #a626a4; }
  body.light-mode .highlight .l, body.light-mode .highlight .ld, body.light-mode .highlight .s, body.light-mode .highlight .s1, body.light-mode .highlight .s2, body.light-mode .highlight .sb, body.light-mode .highlight .sc, body.light-mode .highlight .sd, body.light-mode .highlight .se, body.light-mode .highlight .sh, body.light-mode .highlight .si, body.light-mode .highlight .sx { color: #50a14f; }
  body.light-mode .highlight .nt, body.light-mode .highlight .nx, body.light-mode .highlight .vi { color: #e45649; }
  body.light-mode .highlight .il, body.light-mode .highlight .m, body.light-mode .highlight .mf, body.light-mode .highlight .mh, body.light-mode .highlight .mi, body.light-mode .highlight .mo, body.light-mode .highlight .na { color: #986801; }
  body.light-mode .highlight .bp, body.light-mode .highlight .nb, body.light-mode .highlight .nc, body.light-mode .highlight .nd, body.light-mode .highlight .ne, body.light-mode .highlight .ni, body.light-mode .highlight .nl, body.light-mode .highlight .no, body.light-mode .highlight .nv, body.light-mode .highlight .py, body.light-mode .highlight .vc, body.light-mode .highlight .vg { color: #c18401; }
  body.light-mode .highlight .gd { color: #ff1414; }
  body.light-mode .highlight .gi { color: #2db448; }
  body.light-mode .highlight .w { color: #f8f8f2; }
  body.light-mode .highlight .cpf { color: navy; }
  body.light-mode .highlight .gu { color: #75715e; }
  body.light-mode .highlight .lineno { color: #9d9d9f; user-select: none; }
  body.light-mode .highlight .ln { color: #9d9d9f; user-select: none; }
  body.light-mode .highlight .ln:after { content: " "; }
  body.light-mode .highlight .hll { color: #383a42; background-color: #e5e5e6; }
  body.light-mode .highlight .hl { color: #383a42; background-color: #e5e5e6; }
  body.light-mode .highlight .language-json .w + .s2 { color: #e45649; }
  body.light-mode .highlight .language-json .kc { color: #0184bc; } }

