:root {
  --GW-body-background-color: #0d0d0d;
  --GW-body-text-color: #e8e8e8;
  --GW-body-link-color: #b8b8b8;
  --GW-body-link-hover-color: #d4d4d4;
  --GW-link-underline-background-color: var(--GW-body-background-color);
  --GW-link-underline-gradient-line-color: #707070;
  --GW-link-underline-gradient-line-color-hover: #909090;
  --GW-text-selection-background-color: #2a2a2a;
  --GW-text-selection-color: #ffffff;
  --GW-blockquote-border-color-level-one: #4a4a4a;
  --GW-blockquote-border-color-level-two: #3a3a3a;
  --GW-blockquote-border-color-level-three: #2a2a2a;
  --GW-blockquote-border-color-level-four: #1a1a1a;
  --GW-blockquote-background-color-level-one: #1a1a1a;
  --GW-blockquote-background-color-level-two: #151515;
  --GW-blockquote-background-color-level-three: #121212;
  --GW-abstract-border-color: #4a4a4a;
  --GW-abstract-background-color: var(--GW-blockquote-background-color-level-one);
  --GW-sidebar-horizontal-rule-color: #2a2a2a;
  --GW-sidebar-mobile-link-border-color: #4a4a4a;
  --GW-TOC-border-color: #2a2a2a;
  --GW-TOC-background-color: #1a1a1a;
  --GW-TOC-link-hover-background-color: #252525;
  --GW-TOC-link-hover-color: #d4d4d4;
  --GW-TOC-link-hover-indicator-bar-color: #707070;
  --GW-TOC-number-color: #6a6a6a;
  --GW-TOC-number-hover-color: #9a9a9a;
  --GW-collapse-summary-blockquote-hover-color: #252525;
  --GW-collapse-disclosure-button-color: #1a1a1a;
  --GW-collapse-disclosure-button-hover-color: #252525;
  --GW-collapse-disclosure-button-top-part-text-color: #6a6a6a;
  --GW-collapse-disclosure-button-bottom-part-text-color: #8a8a8a;
  --GW-collapse-disclosure-button-text-hover-color: #d4d4d4;
  --GW-H1-box-shadow-background-color: var(--GW-body-background-color);
  --GW-H1-box-shadow-line-color: #4a4a4a;
  --GW-H2-bottom-border-color: #2a2a2a;
  --GW-comment-section-top-border-color: #2a2a2a;
  --GW-bulleted-list-marker-color: #6a6a6a;
  --GW-figure-outline-color: #2a2a2a;
  --GW-figure-caption-outline-color: #2a2a2a;
  --GW-epigraph-quotation-mark-color: #4a4a4a;
  --GW-footnote-border-color: #2a2a2a;
  --GW-footnote-highlighted-border-color: #5a5a5a;
  --GW-footnotes-section-top-rule-color: #2a2a2a;
  --GW-footnote-backlink-border-color: #4a4a4a;
  --GW-footnote-backlink-border-hover-color: #6a6a6a;
  --GW-footnote-backlink-after-bordered-block-background-color: var(--GW-body-background-color);
  --GW-footnote-ref-highlight-box-shadow-color: #4a4a4a;
  --GW-footnote-ref-highlight-background-color: rgba(70, 70, 70, 0.3);
  --GW-sidenote-highlight-background-color: var(--GW-body-background-color);
  --GW-sidenote-highlight-box-shadow-color: #4a4a4a;
  --GW-sidenote-border-color: #2a2a2a;
  --GW-sidenote-scrollbar-track-color: var(--GW-body-background-color);
  --GW-sidenote-scrollbar-thumb-color: #2a2a2a;
  --GW-sidenote-scrollbar-thumb-hover-color: #3a3a3a;
  --GW-sidenote-self-link-border-color: #2a2a2a;
  --GW-table-border-color: #2a2a2a;
  --GW-table-full-width-background-color: var(--GW-body-background-color);
  --GW-table-caption-border-color: #2a2a2a;
  --GW-table-row-horizontal-border-color: #1a1a1a;
  --GW-table-cell-vertical-border-color: var(--GW-body-background-color);
  --GW-table-scrollbar-track-color: var(--GW-body-background-color);
  --GW-table-scrollbar-thumb-color: #2a2a2a;
  --GW-table-scrollbar-thumb-hover-color: #3a3a3a;
  --GW-table-scrollbar-border-color: #2a2a2a;
  --GW-table-column-heading-hover-background-color: #1a1a1a;
  --GW-table-sorted-column-heading-background-color: #252525;
  --GW-table-sorted-column-heading-text-color: #e8e8e8;
  --GW-table-sorted-column-heading-text-shadow-color: rgba(0, 0, 0, 0.6);
  --GW-table-zebra-stripe-alternate-row-background-color: #151515;
  --GW-table-row-hover-outline-color: #4a4a4a;
  --GW-code-element-border-color: #2a2a2a;
  --GW-code-element-background-color: #1a1a1a;
  --GW-pre-element-border-color: #2a2a2a;
  --GW-pre-element-background-color: #1a1a1a;
  --GW-pre-element-scrollbar-track-color: #1a1a1a;
  --GW-pre-element-scrollbar-thumb-color: #2a2a2a;
  --GW-pre-element-scrollbar-thumb-hover-color: #3a3a3a;
  --code-bg: #1a1a1a;
  --code-border: #2a2a2a;
  --code-fg: #d4d4d4;
  --GW-syntax-highlight-color-normal: #d4d4d4;
  --GW-syntax-highlight-color-attribute: #c4c4c4;
  --GW-syntax-highlight-color-data-type: #b4b4b4;
  --GW-syntax-highlight-color-variable: #a4a4a4;
  --GW-syntax-highlight-color-other: inherit;
  --GW-syntax-highlight-color-preprocessor: #b4b4b4;
  --GW-syntax-highlight-color-extension: #9a9a9a;
  --GW-syntax-highlight-color-comment: #6a6a6a;
  --GW-syntax-highlight-color-control-flow: #e8e8e8;
  --GW-syntax-highlight-color-keyword: #c4c4c4;
  --GW-syntax-highlight-color-operator: #b4b4b4;
  --GW-syntax-highlight-color-special-char: #d4d4d4;
  --GW-syntax-highlight-color-built-in: #c4c4c4;
  --GW-syntax-highlight-color-function: #d4d4d4;
  --GW-syntax-highlight-color-constant: #b4b4b4;
  --GW-syntax-highlight-color-base-n: #a4a4a4;
  --GW-syntax-highlight-color-dec-val: #a4a4a4;
  --GW-syntax-highlight-color-float: #a4a4a4;
  --GW-syntax-highlight-color-information: #b4b4b4;
  --GW-syntax-highlight-color-char: #c4c4c4;
  --GW-syntax-highlight-color-string: #9a9a9a;
  --GW-syntax-highlight-color-verbatim-string: #9a9a9a;
  --GW-syntax-highlight-color-alert: #e8e8e8;
  --GW-syntax-highlight-color-error: #e8e8e8;
  --GW-syntax-highlight-color-import: #b4b4b4;
  --GW-syntax-highlight-color-special-string: #c4c4c4;
  --GW-math-block-background-color: #1a1a1a;
  --GW-math-block-scrollbar-border-color: #2a2a2a;
  --GW-math-block-scrollbar-track-color: var(--GW-body-background-color);
  --GW-math-block-scrollbar-thumb-color: #2a2a2a;
  --GW-math-block-scrollbar-thumb-hover-color: #3a3a3a;
  --GW-drop-caps-yinit-color: #e8e8e8;
  --GW-drop-caps-yinit-text-shadow-color: #4a4a4a;
  --GW-drop-caps-de-zs-color: #e8e8e8;
  --GW-drop-caps-cheshire-color: #e8e8e8;
  --GW-drop-caps-kanzlei-color: #e8e8e8;
  --GW-admonition-default-left-border-color: #4a4a4a;
  --GW-admonition-default-background-color: #1a1a1a;
  --GW-admonition-tip-left-border-color: #6a6a6a;
  --GW-admonition-tip-background-color: #1a1a1a;
  --GW-admonition-warning-left-border-color: #8a8a8a;
  --GW-admonition-warning-background-color: #1a1a1a;
  --GW-admonition-warning-text-color: #e8e8e8;
  --GW-admonition-warning-title-background-color: rgba(138, 138, 138, 0.15);
  --GW-admonition-warning-icon-color: #8a8a8a;
  --GW-admonition-error-left-border-color: #b4b4b4;
  --GW-admonition-error-background-color: #1a1a1a;
  --GW-admonition-error-text-color: #e8e8e8;
  --GW-admonition-error-title-background-color: rgba(180, 180, 180, 0.15);
  --GW-admonition-error-icon-color: #b4b4b4;
  --GW-admonition-reversed-link-color: #b8b8b8;
  --GW-admonition-reversed-link-color-hover: #d4d4d4;
  --GW-admonition-reversed-link-underline-gradient-line-color: #707070;
  --GW-admonition-reversed-link-underline-gradient-line-color-hover: #909090;
  --GW-admonition-reversed-footnote-ref-highlight-background-color: rgba(70, 70, 70, 0.35);
  --GW-sequential-nav-link-background-color: var(--GW-body-background-color);
  --GW-index-page-bottom-ornament-line-color: #2a2a2a;
  --GW-raw-code-popframe-line-highlight-background-color: #252525;
  --GW-raw-code-popframe-line-hightlight-border-color: #4a4a4a;
  --GW-raw-code-popframe-line-number-color: #6a6a6a;
  --GW-raw-code-popframe-line-number-divider-color: #2a2a2a;
  --GW-popups-body-background-color: var(--GW-body-background-color);
  --GW-popups-popup-background-color: #1a1a1a;
  --GW-popups-popup-border-color: #2a2a2a;
  --GW-popups-box-shadow-color: rgba(0, 0, 0, 0.7);
  --GW-popups-popup-border-focused-color: #4a4a4a;
  --GW-popups-box-shadow-focused-color: rgba(74, 74, 74, 0.4);
  --GW-popups-popup-title-bar-background-color: #151515;
  --GW-popups-popup-title-bar-button-color: #6a6a6a;
  --GW-popups-popup-title-bar-button-color-hover: #d4d4d4;
  --GW-popups-popup-title-color: rgba(232, 232, 232, 0.6);
  --GW-popups-popup-title-link-hover-color: var(--GW-body-link-hover-color);
  --GW-popups-popup-title-bar-background-focused-color: #1a1a1a;
  --GW-popups-popup-title-bar-button-focused-color: #8a8a8a;
  --GW-popups-popup-title-bar-button-focused-color-hover: #d4d4d4;
  --GW-popups-popup-title-bar-submenu-box-shadow-color: rgba(0, 0, 0, 0.8);
  --GW-popups-popup-title-focused-color: #e8e8e8;
  --GW-popups-popup-title-link-hover-focused-color: var(--GW-body-link-hover-color);
  --GW-popups-popup-scrollbar-track-color: var(--GW-body-background-color);
  --GW-popups-popup-scrollbar-thumb-color: #2a2a2a;
  --GW-popups-popup-scrollbar-thumb-hover-color: #3a3a3a;
  --GW-popups-popup-scrollbar-thumb-focused-color: #4a4a4a;
  --GW-popups-popup-scrollbar-thumb-hover-focused-color: #5a5a5a;
  --GW-popups-popup-options-dialog-backdrop-background-color: rgba(0, 0, 0, 0.9);
  --GW-popups-popup-options-dialog-background-color: #1a1a1a;
  --GW-popups-popup-options-dialog-border-color: #2a2a2a;
  --GW-popups-popup-options-dialog-box-shadow-color: rgba(74, 74, 74, 0.4);
  --GW-popups-popup-options-dialog-horizontal-rule-color: #2a2a2a;
  --GW-popups-popup-options-dialog-button-background-color: #151515;
  --GW-popups-popup-options-dialog-button-text-color: #d4d4d4;
  --GW-popups-popup-options-dialog-button-border-color: #4a4a4a;
  --GW-popups-popup-options-dialog-button-hover-box-shadow-color: #5a5a5a;
  --GW-popups-popup-options-dialog-option-button-explanation-text-color: #8a8a8a;
  --GW-popups-popup-options-dialog-option-button-hover-text-color: #e8e8e8;
  --GW-popups-popup-options-dialog-radio-button-border-color: #4a4a4a;
  --GW-popups-show-popup-options-dialog-button-color: #6a6a6a;
  --GW-popins-body-background-color: var(--GW-body-background-color);
  --GW-popins-popin-background-color: #1a1a1a;
  --GW-popins-popin-border-color: #2a2a2a;
  --GW-popins-box-shadow-color: rgba(0, 0, 0, 0.7);
  --GW-popins-popin-title-bar-background-color: #0a0a0a;
  --GW-popins-popin-title-bar-button-color: #8a8a8a;
  --GW-popins-popin-scrollbar-thumb-color: #2a2a2a;
  --GW-popins-popin-scrollbar-track-color: var(--GW-body-background-color);
  --GW-popins-popin-scrollbar-thumb-hover-color: #3a3a3a;
  --GW-popins-popin-stack-counter-text-color: #d4d4d4;
  --GW-image-focus-image-hover-drop-shadow-color: #6a6a6a;
  --GW-mode-selector-background-color: var(--GW-body-background-color);
  --GW-mode-selector-border-hover-color: #4a4a4a;
  --GW-mode-selector-button-text-color: #8a8a8a;
  --GW-mode-selector-button-hover-text-color: #d4d4d4;
  --GW-back-to-top-link-color: #6a6a6a;
  --GW-back-to-top-link-hover-color: #9a9a9a;
  --GW-sidenotes-max-width: 310px;
  --fg:#d4d4d4;--fg-comment:#6a6a6a;--fg-comment2:#5a5a5a;--fg-bqn-1-mod:#b4b4b4;--fg-bqn-2-mod:#a4a4a4;--fg-bqn-sub:#8a8a6a;--fg-bqn-string:#9a9a9a;--fg-diff-deleted:#545454;--fg-diff-added:#7D7D7D;--fg-output:#b4b4b4;--fg-keyword:#c4c4c4;--fg-nameclass:#c4c4c4;--fg-exception:#b4b4b4;--fg-string:#9a9a9a;--fg-literal:#a4a4a4;--fg-variable:#a4a4a4;--fg-nametag:#c4c4c4;--bg-code-accent:#252525;--bg:#1a1a1a;
}
@font-face {
  font-family: "et-book";
  src: url("../fonts/et-book-roman-line-figures.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "et-book";
  src: url("../fonts/et-book-display-italic-old-style-figures.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "et-book";
  src: url("../fonts/et-book-bold-line-figures.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "crimson";
  src: url("../fonts/crimson-roman-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "crimson";
  src: url("../fonts/crimson-italic-webfont.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "crimson";
  src: url("../fonts/crimson-semibold-webfont.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "crimson";
  src: url("../fonts/crimson-bold-webfont.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "CheshireInitials";
  src: url("../fonts/CheshireInitials.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Hopf Mono";
  src: url("../fonts/hopf-mono-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
html {
  padding: 0;
  margin: 0;
  background-color: var(--GW-body-background-color);
  color: var(--GW-body-text-color);
  font-weight: 400;
  font-family: "crimson", "Apple Garamond", Baskerville, "Libre Baskerville", "Times New Roman", "Droid Serif", Times, serif;
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body {
  display: flex;
  flex-direction: column;
  max-width: 100%;
  margin: 0 auto;
  padding: 1em;
  box-sizing: border-box;
  min-height: 100vh;
}
#layout {
display: flex;
flex-direction: column;
width: 100%;
margin: 0 auto;
gap: 2em;
}
#sidebar {
width: 8ch !important;
flex-shrink: 0;
z-index: 100;
pointer-events: auto;
}
#sidebar code {
border: none;
background-color: transparent;
padding: 0;
}
#sidebar a {
display: block;
transition: color 0.2s ease;
}
#main-content {
flex-grow: 1;
min-width: 0;
width: 100%;
position: relative;
z-index: 1;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  position: relative;
  margin: 1.25em 0 0.5em 0;
}
h1 code,
h2 code,
h3 code,
h4 code,
h5 code,
h6 code {
  border: none;
  padding: 0;
  background-color: inherit;
  font-size: inherit;
  font-weight: normal;
}
h1 {
  font-family: "et-book";
  font-feature-settings: "smcp";
  font-size: 1.45em;
  line-height: 1.25;
}
h2 {
  font-style: normal;
  font-size: 1.20em;
  word-spacing: 0.2em;
  padding: 0 0.5em .5em 0;
  line-height: 1.25;
  box-shadow: 0 -5px 5px 0 var(--GW-H1-box-shadow-background-color) inset, 0 -6px 0 0 var(--GW-H1-box-shadow-line-color) inset;
}
h2::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0.1em;
  pointer-events: none;
}
h3 { font-size: 1.125em; }
h4 { text-transform: capitalize; }
h5,
h6 { font-size: 1em; }
h6 { font-style: italic; }
section:not(.collapse) > h1:first-child {
  line-height: 1;
  margin: 1em 0 0.375em 0;
  text-align: right;
  font-weight: 600;
  box-shadow: 0 -2px 0 0 var(--GW-H1-box-shadow-background-color) inset,
  0 -3px 0 0 var(--GW-H1-box-shadow-line-color) inset;
  font-style: normal;
}
.markdownBody section:not(.collapse) > h1:first-child a {
  position: relative;
}
.markdownBody section:not(.collapse) > h1:first-child a::after {
  position: absolute;
  top: 0.15em;
}
.markdownBody section:not(.collapse) > h2:first-child a {
  position: relative;
}
.markdownBody section:not(.collapse) > h2:first-child a::after {
  position: absolute;
  top: 0.1em;
  left: unset;
  right: -0.75em;
}
.markdownBody section.collapse > h2:first-child a::after {
  top: -0.2em;
}
section > :first-child a:hover::after,
section > :first-child a:active::after,
section > :first-child a:focus::after,
section.highlighted > :first-child a::after,
section:target > :first-child a::after {
  visibility: visible;
}
section > :first-child a:hover::after,
section > :first-child a:active::after,
section > :first-child a:focus::after,
section.highlighted > :first-child a::after {
  opacity: 0.8;
}
section:target > :first-child a::after {
  opacity: 0.5;
}
#markdownBody section > :first-child a[href^="#"]:hover::after,
#markdownBody section > :first-child a[href^="#"]:active::after,
#markdownBody section > :first-child a[href^="#"]:focus::after,
#markdownBody section:target > :first-child a[href^="#"]::after,
#markdownBody section.highlighted > :first-child a[href^="#"]::after {
visibility: visible;
opacity: 0.8;
}
#markdownBody section:target > :first-child a[href^="#"]::after {
opacity: 0.5;
}
h1 + section > h2:first-child,
h2 + section > h3:first-child {
  margin-top: 0;
}
.markdownBody section > :first-child > a {
  background: none;
}
.markdownBody section:not(.collapse) > h1:first-child a,
.markdownBody section:not(.collapse) > h2:first-child a {
  display: block;
}
header h1 {
  margin: 0;
  font-size: 2em;
  line-height: 1.15;
  font-weight: 400;
  font-family: "et-book";
  position: relative;
  font-variant: small-caps;
}
header h1::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: -0.6em;
  pointer-events: none;
  z-index: -1;
}
#page-metadata {
margin: 0 0 2rem -0.5rem;
overflow: auto;
font-size: 0.95em;
line-height: 1.5;
}
#page-metadata hr {
display: none;
}
#page-metadata #page-description {
display: block;
margin: 0 auto 0.75em auto;
}
#page-metadata #page-description ~ * {
font-size: 0.9em;
}
#page-metadata-block span:nth-of-type(n/**/+3) {
white-space: nowrap;
}
#page-metadata-block > span:not(:last-child)::after {
content: "·";
display: inline-block;
margin: 0 0.5em 0 0.75em;
}
p {
  margin: 0;
  font-variant-numeric: oldstyle-nums;
  padding: 10px 0px 0px 0px;
}
p + p {
  text-indent: 2em;
}
#markdownBody > p:first-of-type:not(.no-cap)::first-letter {
float: left;
font-family: "CheshireInitials", serif;
font-size: 6em;
line-height: 0.7;
margin-top: 0.15em;
margin-right: 0.1em;
}
#markdownBody > p:first-of-type {
text-indent: 0;
}
.smallcaps {
  font-variant: small-caps;
  font-size: 0.95em;
}
span.smallcaps {
  font-feature-settings: "smcp";
}
span.smallcaps-auto {
  font-feature-settings: "smcp", "c2sc";
  font-variant-numeric: tabular-nums;
}
small {
  font-size: 0.6875em;
}
sub,
sup {
  line-height: 0.3em;
  font-feature-settings: "lnum";
}
hr {
  border: none;
  height: 0;
  border-bottom: 1px solid var(--GW-sidebar-horizontal-rule-color);
  margin: 1em 0;
}
a {
  color: var(--GW-body-link-color);
  text-decoration: none;
  transition: color 0.2s ease;
}
#markdownBody a {
word-wrap: break-word;
overflow-wrap: break-word;
}
#markdownBody a:link,
footer a {
  background-image: linear-gradient(var(--GW-link-underline-gradient-line-color), var(--GW-link-underline-gradient-line-color));
  background-size: 1px 1px;
  background-repeat: repeat-x;
  background-position: 0% calc(100% - 0.1em);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  font-variant-numeric: lining-nums;
}
#markdownBody a:link,
#markdownBody a:link *,
footer a {
  text-shadow:
  0.00em 0.08em var(--GW-link-underline-background-color),
  -0.00em 0.08em var(--GW-link-underline-background-color),
  0.13em 0.08em var(--GW-link-underline-background-color),
  -0.13em 0.08em var(--GW-link-underline-background-color),
  0.03em 0.08em var(--GW-link-underline-background-color),
  -0.03em 0.08em var(--GW-link-underline-background-color),
  0.05em 0 var(--GW-link-underline-background-color),
  -0.05em 0 var(--GW-link-underline-background-color);
}
#markdownBody a:hover {
background-image: linear-gradient(var(--GW-link-underline-gradient-line-color-hover), var(--GW-link-underline-gradient-line-color-hover));
}
#markdownBody a:focus-visible {
outline: 2px solid var(--GW-body-link-color);
outline-offset: 2px;
border-radius: 2px;
}
a:hover,
footer a:hover,
#sidebar a:hover {
color: var(--GW-body-link-hover-color);
}
#markdownBody ul,
#markdownBody ol {
list-style-type: none;
margin: 1.25em 0 1.5em 0;
padding: 0 0 0 2.5em;
overflow: hidden;
}
#markdownBody li > ul,
#markdownBody li > ol {
margin: 0.5em 0;
}
#markdownBody ul > li,
#markdownBody ol > li {
position: relative;
margin: 0;
}
#markdownBody ul > li:nth-of-type(n/**/+2),
#markdownBody ol > li:nth-of-type(n/**/+2) {
margin: 0.5em 0 0 0;
}
#markdownBody ul > li::before {
content: "✧";
color: #888;
font-size: 0.875em;
position: absolute;
top: 0.125em;
left: -1.375em;
z-index: 1;
}
#markdownBody ul ul > li::before,
#markdownBody ul ul ul ul > li::before {
content: "✦";
}
#markdownBody ul ul ul > li::before {
content: "✧";
}
#markdownBody ol {
counter-reset: ol;
}
#markdownBody ol > li {
counter-increment: ol;
}
#markdownBody ol > li::before {
content: counter(ol) ".";
position: absolute;
width: 2em;
right: calc(100% + 0.5em);
text-align: right;
font-feature-settings: "onum";
z-index: 1;
}
#markdownBody ol ol {
list-style-type: lower-roman;
}
#markdownBody ol ol > li {
padding: 0 0 0 0.25em;
}
#markdownBody ol ol > li::before {
content: none;
}
#markdownBody ol ol ol {
list-style-type: lower-alpha;
}
li > ul + p,
li > ol + p {
  margin-top: 1em;
}
blockquote {
  --GW-link-underline-background-color: var(--GW-blockquote-background-color);
  --GW-blockquote-background-color: var(--GW-blockquote-background-color-level-one);
  --GW-blockquote-border-color: var(--GW-blockquote-border-color-level-one);
  margin: 1.625em 0 1.75em 0;
  border: 1px solid var(--GW-blockquote-border-color);
  background-color: var(--GW-blockquote-background-color);
  font-size: 0.95em;
  padding: 1em 1.25em;
  border-radius: 2px;
}
blockquote blockquote {
  --GW-blockquote-border-color: var(--GW-blockquote-border-color-level-two);
  --GW-blockquote-background-color: var(--GW-blockquote-background-color-level-two);
  margin: 1em 1px;
}
blockquote blockquote blockquote {
  --GW-blockquote-border-color: var(--GW-blockquote-border-color-level-three);
  --GW-blockquote-background-color: var(--GW-blockquote-background-color-level-three);
}
blockquote blockquote blockquote blockquote {
  --GW-blockquote-border-color: var(--GW-blockquote-border-color-level-four);
  --GW-blockquote-background-color: var(--GW-blockquote-background-color-level-one);
}
#markdownBody blockquote blockquote:first-child {
margin: 0.25em 1px 1em 1px;
}
#markdownBody blockquote > :last-child,
#markdownBody blockquote > :last-child > :last-child,
#markdownBody blockquote > :last-child > :last-child > :last-child {
margin-bottom: 0;
}
#markdownBody blockquote > :first-child,
#markdownBody blockquote > :first-child > :first-child,
#markdownBody blockquote > :first-child > :first-child > :first-child {
margin-top: 0;
}
blockquote p > code:first-child,
blockquote p > a:first-child code:first-child {
  border: none;
  background-color: transparent;
  font-weight: bold;
  font-family: inherit;
  padding: 0;
  font-size: inherit;
}
blockquote table {
  font-size: 0.7em;
}
blockquote :not(.small-table) > table {
  --GW-table-zebra-stripe-alternate-row-background-color: var(--GW-body-background-color);
}
blockquote table th + th,
blockquote table td + td {
  border-left: 1px solid var(--GW-blockquote-background-color);
}
.epigraph {
  margin:2em 0 2em 0;
  padding:0.5em 2.5em 0.375em 2.5em
}
.epigraph blockquote {
  --GW-blockquote-background-color: var(--GW-body-background-color);
  padding:0;
  border:none;
  background-color:inherit;
  margin:0;
  font-size:inherit;
  position:relative;
  z-index:1;
  overflow:visible
}
.epigraph p {
  font-style:italic;
  background-color:inherit
}
.epigraph p:nth-child(1) em,
.epigraph p:last-child {
  font-style:normal
}
#markdownBody .epigraph p:last-child {
margin:0.5em 0 0 0;
text-align:right;
font-size:0.875em;
text-indent:0
}
.epigraph blockquote::before,
.epigraph blockquote::after {
  display:block;
  position:absolute;
  font-size:2.5em;
  opacity:0.5;
  color:var(--GW-epigraph-quotation-mark-color)
}
.epigraph blockquote::before {
  content:"“";
  left:-0.975em;
  top:-0.5em
}
.epigraph blockquote::after {
  content:"”";
  right:-0.975em;
  bottom:-1em
}
@media only screen and (max-width: 64.9ch)  {
  .epigraph {
    margin:2.125em 1em;
    padding:0;
    font-size:0.95em;
    overflow:visible
  }
  .epigraph blockquote::before {
    left:-0.375em;
    top:-0.75em
  }
  .epigraph blockquote::after {
    right:-0.375em;
    bottom:-1.25em
  }
  .epigraph+.epigraph {
    margin-top:2.75em
  }
}
@media only screen and (min-width: 65ch)  {
  h1+.epigraph,
h3+.epigraph,
h5+.epigraph {
    margin-top:1.25em
  }
  h2+.epigraph,
h4+.epigraph,
h6+.epigraph {
    margin-top:1em
  }
}
code {
  padding: 0 4px;
  font-family: "Liberation Mono", Consolas, Courier, monospace;
  font-size: 0.9em;
  border: 1px solid var(--GW-code-element-border-color);
  background-color: var(--GW-code-element-background-color);
  --GW-link-underline-background-color: var(--GW-code-element-background-color);
  word-break: break-all;
  hyphens: none;
}
pre {
  margin: 1.75em auto;
  border: 1px solid var(--GW-pre-element-border-color);
  background-color: var(--GW-pre-element-background-color);
  cursor: text;
  max-height: calc(100vh - 8em);
  overflow: auto;
}
pre code {
  display: block;
  padding: 0.4rem 0.7rem;
  margin: 0;
  border: none;
  background-color: transparent;
}
div.sourceCode {
  margin: 1.5em 0;
  border-radius: 6px;
  background-color: var(--code-bg);
  border: 1px solid var(--code-border);
  overflow-x: auto;
}
div.sourceCode pre {
  margin: 0;
  padding: 1em 1.2em;
  font-family: "Hopf Mono", monospace;
  font-size: 0.9em;
  line-height: 1.5;
  color: var(--code-fg);
}
code:not(pre code) {
  font-family: "Hopf Mono", monospace;
  font-size: 0.9em;
  background-color: var(--code-bg);
  padding: 0.2em 0.4em;
  border-radius: 4px;
}
pre::-webkit-scrollbar {
  height: 16px;
  background-color: var(--GW-pre-element-scrollbar-track-color);
}
pre::-webkit-scrollbar-thumb {
  background-color: var(--GW-pre-element-scrollbar-thumb-color);
  box-shadow: 0 0 0 3px var(--GW-pre-element-scrollbar-track-color) inset;
}
pre::-webkit-scrollbar-thumb:hover {
  background-color: var(--GW-pre-element-scrollbar-thumb-hover-color);
}
pre {
  scrollbar-color: var(--GW-pre-element-scrollbar-thumb-color) var(--GW-pre-element-scrollbar-track-color);
}
pre:hover {
  scrollbar-color: var(--GW-pre-element-scrollbar-thumb-hover-color) var(--GW-pre-element-scrollbar-track-color);
}
table {
  border-collapse: collapse;
  width: 100%;
  margin: 2em 0;
  font-size: 0.75em;
  border-style: solid;
  border-color: var(--GW-table-border-color);
  border-width: 2px 0;
}
table th,
table td {
  padding: 7px 10px;
  line-height: 1.35;
}
table th {
  font-weight: normal;
  font-variant: small-caps;
  border-bottom: 2px solid #555;
  text-align: left;
  hyphens: none;
}
table td {
  vertical-align: top;
  border-bottom: 1px solid var(--GW-table-border-color);
}
tr:last-child td {
  border-bottom: 1px solid #555;
}
table th + th,
table td + td {
  border-left: 1px solid var(--GW-table-cell-vertical-border-color);
}
table td > code {
  word-break: normal;
}
table caption {
  padding: 0.25em 0.75em;
  font-style: italic;
  font-size: 1.25em;
  border-top: 2px solid var(--GW-table-caption-border-color);
}
:not(.small-table) > table tr:nth-child(odd) td {
  background-color: var(--GW-table-zebra-stripe-alternate-row-background-color);
  --GW-link-underline-background-color: var(--GW-table-zebra-stripe-alternate-row-background-color);
}
.markdownBody table tbody tr:hover {
  outline: 1px dotted var(--GW-table-row-hover-outline-color);
}
figure {
  margin: 2em auto 1.75em auto;
  max-width: calc(100% - 5em);
  width: fit-content;
  display: block;
  outline: 1px solid var(--GW-figure-caption-outline-color);
}
figure + figure {
  margin-top: 2.75em;
}
figure img,
figure video {
  display: block;
  max-width: 100%;
  height: auto;
  width: auto;
  margin: 0 auto;
  outline: 1px solid #888;
  border-radius: 2px;
}
figure img {
  max-height: calc(100vh - 8em);
  object-fit: contain;
}
figure video {
  max-height: calc(100vh - 10em);
}
figure audio {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  outline: 1px solid #888;
}
figcaption {
  font-size: 0.9375em;
  font-weight: bold;
  line-height: 1.45;
  margin: auto;
  padding: 0.25em 0.5em calc(0.25em + 1px) 0.5em;
  width: fit-content;
}
figcaption strong {
  font-weight: inherit;
  font-variant-caps: small-caps;
}
.columns li figure {
  padding-bottom: 1px;
}
figure.full-width {
  position: relative;
  max-width: 100%;
  width: 100%;
}
img.fleuron-block {
  max-width: 1.8cm;
  height: auto;
  display: block;
  outline: none;
}
img::before {
  display: block;
  font-family: var(--GW-sans-serif-font-stack, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
  padding: 0.5em 0.75em;
  background-color: var(--GW-body-background-color);
  text-align: left;
  content: "🖼️ Imagen no disponible";
  color: #666;
  font-size: 0.9em;
}
.tikz-figure {
  display: block;
  margin: 2em auto;
  max-width: 100%;
  text-align: center;
  clear: both;
}
.tikz-image {
  max-width: 95%;
  height: auto;
  background-color: transparent;
  filter: invert(1) contrast(0.9) drop-shadow(0 0 1px rgba(255,255,255,0.1));
  transition: filter 0.25s ease;
}
.tikz-image:hover {
  filter: invert(1) contrast(1) drop-shadow(0 0 2px rgba(255,255,255,0.3));
  cursor: zoom-in;
}
.tikz-figure figcaption {
  margin-top: 1em;
  font-family: var(--GW-sans-serif-font-stack, sans-serif);
  font-size: 0.85rem;
  line-height: 1.4;
  color: var(--GW-body-link-hover-color);
  border-top: 1px solid var(--GW-figure-caption-outline-color);
  padding-top: 0.5em;
  display: inline-block;
  min-width: 20%;
}
.tikz-container {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding: 1em 0;
  text-align: center;
}
.katex {
  font-size: 1.1em;
}
.katex-display > .katex {
  white-space: normal !important;
}
.katex-display > .base {
  margin: 0.25em 0 !important;
}
.katex-display {
  margin: 0.5em 0 !important;
  overflow-x: auto;
  overflow-y: hidden;
}
.katex-display::-webkit-scrollbar {
  height: 8px;
}
.katex-display::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}
.katex-display::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.4);
}
a.footnote {
  vertical-align: super;
  line-height: 0.3;
  position: relative;
  top: 0.05em;
  padding: 0 0.05em;
  font-feature-settings: "lnum";
  font-weight: 600;
  z-index: 1;
}
a.footnote sup {
  vertical-align: baseline;
  font-size: 0.75em;
}
a.footnote::before {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% + 0.5em);
  height: 190%;
  left: calc(-0.25em - 3px);
  top: -10px;
  z-index: -1;
  border: 3px double transparent;
  transition: background-color 0.15s ease 0.05s, border-color 0.15s ease 0.05s;
}
a.footnote.highlighted::before,
a.footnote:hover::before,
a.footnote:target::before,
a.footnote.targeted::before {
  background-color: var(--GW-footnote-ref-highlight-background-color);
  border-color: var(--GW-footnote-ref-highlight-box-shadow-color);
  outline: none;
}
sup + sup,
a.footnote {
  margin-left: 0.05em;
}
.footnotes {
  font-variant-numeric: tabular-nums;
}
.footnotes > ol > li + li {
  margin: 1em 0 0 0;
}
.footnotes ol li {
  position: relative;
}
.footnotes ol li ol {
  counter-reset: ol;
}
.footnotes ol li ol li {
  list-style-type: none;
  font-variant-numeric: tabular-nums;
}
.footnotes ol li ol li::marker {
  content: counter(ol) ".";
  width: 2em;
  right: calc(100% + 0.5em);
  text-align: right;
  font-feature-settings: "onum";
  color: var(--GW-footnote-border-color);
}
#footnotediv {
z-index: 10001;
font-size: 0.85em;
box-shadow: 0 2.8px 2.2px rgba(0,0,0,0.034),
0 6.7px 5.3px rgba(0,0,0,0.048),
0 12.5px 10px rgba(0,0,0,0.06),
0 22.3px 17.9px rgba(0,0,0,0.072);
position: absolute;
transition: none;
}
#footnotediv.fading {
opacity: 0.0;
transition: opacity 0.5s ease-in 0.03s;
}
#footnotediv > div {
background-color: var(--GW-body-background-color);
color: var(--GW-body-text-color);
padding: 12px 16px 14px;
max-width: 500px;
max-height: calc(100vh - 32px);
border: 1px solid var(--GW-sidebar-mobile-link-border-color);
line-height: 1.45;
overflow: auto;
overscroll-behavior: none;
}
#footnotediv > div::-webkit-scrollbar {
width: 14px;
}
#footnotediv > div::-webkit-scrollbar-thumb {
background-color: #3a3a3a;
box-shadow: 0 0 0 3px var(--GW-body-background-color) inset;
}
#footnotediv > div::-webkit-scrollbar-thumb:hover {
background-color: #5a5a5a;
}
#footnotediv blockquote {
margin: 1em 0;
}
#footnotediv > div > blockquote:nth-last-child(2) {
margin-bottom: 2px;
}
#footnotediv > div > blockquote:nth-last-child(2) + p {
margin-top: 1em;
}
#footnotediv > div > code:nth-child(1) {
margin-top: 0px;
}
#sidenote-column-right {
position: absolute;
max-width: var(--GW-sidenotes-max-width);
font-size: 0.85em;
z-index: 1;
pointer-events: none;
}
#sidenote-column-right > * {
pointer-events: auto;
}
#sidenote-column-right {
height: 100%;
width: calc(50vw - (50% + 104px));
top: 0;
left: calc(100% + 60px);
}
.sidenote {
  position: absolute;
  left: 0;
  width: 100%;
  opacity: 0.85;
  line-height: 1.5;
  padding: 2em 0 0 0;
}
.sidenote.hidden {
  display: none;
}
.sidenote.highlighted,
.sidenote:hover,
.sidenote:target,
.sidenote.targeted {
  background-color: var(--GW-sidenote-highlight-background-color);
  opacity: 1.0;
}
.sidenote:target {
  z-index: 1;
}
.sidenote.highlighted,
.sidenote:hover {
  z-index: 2;
}
.sidenote::after {
  content: "";
  position: absolute;
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  top: -13px;
  left: -13px;
}
.sidenote.highlighted::after,
.sidenote:hover::after,
.sidenote:target::after,
.sidenote.targeted::after {
  border: 3px double var(--GW-sidenote-highlight-box-shadow-color);
}
.sidenote-outer-wrapper {
  overflow: hidden;
  position: relative;
  z-index: 1;
  border-style: dotted;
  border-color: var(--GW-sidenote-highlight-box-shadow-color);
  border-width: 1px 0;
}
.sidenote.cut-off .sidenote-outer-wrapper {
  overflow-y: auto;
  overscroll-behavior: none;
  width: 100%;
  padding: 0 1px 0 0;
}
.sidenote.cut-off .sidenote-outer-wrapper::-webkit-scrollbar {
  width: 12px;
}
.sidenote.cut-off .sidenote-outer-wrapper::-webkit-scrollbar-thumb {
  background-image: url("data:image/gif;base64,R0lGODlhBAAEAPAAMXd3d////ywAAAAABAAEAAACBgQShqgJBQA7");
  box-shadow: 0 0 0 2px var(--GW-sidenote-scrollbar-track-color) inset;
  background-size: 2px;
}
.sidenote.cut-off .sidenote-outer-wrapper::-webkit-scrollbar-thumb:hover {
  background-image: url("data:image/gif;base64,R0lGODlhBAAEAPAAMQAAAP///ywAAAAABAAEAAACBgQShqgJBQA7");
}
.sidenote.cut-off .sidenote-outer-wrapper {
  scrollbar-color: var(--GW-sidenote-scrollbar-thumb-color) var(--GW-sidenote-scrollbar-track-color);
}
.sidenote.cut-off .sidenote-outer-wrapper:hover {
  scrollbar-color: var(--GW-sidenote-scrollbar-thumb-hover-color) var(--GW-sidenote-scrollbar-track-color);
}
.sidenote-inner-wrapper {
  position: relative;
  margin: 0.5em 0;
}
.sidenote-inner-wrapper > * {
  position: relative;
  z-index: 1;
}
.sidenote blockquote {
  margin: 1.5em 0 0.75em 0;
}
.sidenote pre {
  margin: 1.75em 0 0.75em 0;
}
.sidenote blockquote + *,
.sidenote pre + * {
  margin-top: 1.75em;
}
.sidenote p + p {
  text-indent: 1em;
}
#markdownBody .sidenote ul,
#markdownBody .sidenote ol {
padding: 0 0 0 1.75em;
}
#markdownBody .sidenote li {
text-align: left;
}
.sidenote > .sidenote-self-link {
  font-weight: 600;
  position: absolute;
  top: 0;
  border-style: dotted;
  border-color: var(--GW-sidenote-self-link-border-color);
  border-width: 1px 1px 0px 1px;
  width: 2em;
  height: 2em;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
#markdownBody .sidenote > .sidenote-self-link {
background-image: none;
}
#sidenote-column-right .sidenote > .sidenote-self-link {
left: 0;
}
.sidenote figure {
  margin: 1.5em auto;
  max-width: calc(100% - 2px);
}
.header-anchor {
  display: inline-block;
  margin-right: 0.3em;
  font-size: 0.85em;
  font-weight: 400;
  text-decoration: none;
  color: #999;
  opacity: 0;
  transition: opacity 0.2s ease, color 0.2s ease;
  cursor: pointer;
  user-select: none;
}
.has-anchor:hover .header-anchor {
  opacity: 1;
}
.header-anchor:hover {
  color: var(--GW-body-link-hover-color);
}
.header-anchor:focus {
  opacity: 1;
  outline: 2px solid var(--GW-body-link-color);
  outline-offset: 2px;
}
h1 .header-anchor { font-size: 0.7em; }
h2 .header-anchor { font-size: 0.75em; }
.has-anchor {
  scroll-margin-top: 2rem;
}
::selection {
  text-shadow: none;
  background: var(--GW-text-selection-background-color);
  color: var(--GW-text-selection-color);
}
::-moz-selection {
  text-shadow: none;
  background: var(--GW-text-selection-background-color);
  color: var(--GW-text-selection-color);
}
#markdownBody {
overflow-wrap: break-word;
word-wrap: break-word;
}
@supports (-webkit-hyphens: auto) or (-ms-hyphens: auto) or (hyphens: auto)  {
  #markdownBody li,
#markdownBody p {
  text-align: justify;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  }
}
#abstract > blockquote {
margin: 0 0 1.5em 0;
border-color: #bbb;
padding: 0.9rem 1.25rem 0.95rem 1.25rem;
clear: none;
}
footer {
  font-size: 0.75em;
  -webkit-font-smoothing: subpixel-antialiased;
}
@media only screen and (max-width: 64.9ch)  {
  html { font-size: 17px; }
  body {
    padding: 1em;
    margin: 0 1ch;
  }
  #layout { gap: 1.5em; }
  #sidebar {
  position: relative;
  display: block;
  align-items: stretch;
  padding: 0;
  margin-right: -1px;
  border-bottom: 1px solid var(--GW-sidebar-horizontal-rule-color, #eee);
  width: 100% !important;
  }
  #sidebar .sidebar-inner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  margin: 10px;
  }
  #sidebar a {
  border: 1px dotted var(--GW-sidebar-mobile-link-border-color, #ccc);
  padding: 3px 10px;
  text-align: center;
  display: inline-block;
  font-size: 1em;
  }
  #sidebar a#logo {
  padding: 0;
  border: none;
  margin: 0;
  flex-shrink: 0;
  display: flex;
  }
  #sidebar a#logo svg,
#sidebar a#logo img {
  width: 3rem;
  height: 3rem;
  object-fit: contain;
  margin: 10px;
  }
  #site-nav {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  }
  header h1 { font-size: 2em; }
  h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 1.25em 0 0.5em 0;
  }
  p + p { text-indent: 1em; }
  figure {
    max-width: calc(100% - 2em);
  }
  figure + figure {
    margin-top: 2em;
  }
  figcaption {
    font-size: 0.875em;
  }
  .header-anchor {
    opacity: 0.6;
    font-size: 0.75em;
  }
  .has-anchor {
    scroll-margin-top: 1rem;
  }
  #markdownBody ul,
#markdownBody ol {
  padding: 0 0 0 1.75em;
  }
  blockquote {
    margin: 1.25em 0 1.5em 0;
  }
  #page-metadata {
  margin: 0 0 2rem 0 !important;
  text-align: center;
  }
  #footnotediv {
  display: none;
  }
}
@media only screen and (min-width: 650px)  {
  body {
    padding: 2em;
  }
  figure.float-right {
    float: right;
    max-width: calc(50% - 1.5em);
    margin: 0 0 1em 1.5em;
  }
  figure.float-left {
    float: left;
    max-width: calc(50% - 1.5em);
    margin: 0 1.5em 1em 0;
  }
  p ~ figure.float-right,
p ~ figure.float-left {
    margin-top: 0.5em;
  }
  section:not(.collapse) > h1:first-child {
    font-size: 2em;
    overflow: hidden;
    padding: 10px 0 10px 0;
    box-shadow: 0 -5px 5px 0 var(--GW-H1-box-shadow-background-color) inset, 0 -6px 0 0 var(--GW-H1-box-shadow-line-color) inset;
    text-transform: uppercase;
  }
  .markdownBody section:not(.collapse) > h1:first-child a::after {
    left: -0.75em;
  }
  section:not(.collapse) > h2:first-child {
    overflow: hidden;
  }
}
@media only screen and (min-width: 65ch)  {
  body {
    padding: 2em 2.5ch 2em 0.5ch;
    margin: 0;
  }
  #layout {
  flex-direction: row;
  align-items: flex-start;
  gap: 1rem;
  // max-width: none;
  }
  #sidebar {
  width: 18ch;
  position: static;
  top: 2em;
  flex-shrink: 0;
  font-variant: small-caps;
  font-size: 16px;
  padding-left: 2em;
  }
  #sidebar a#logo {
  margin: 0 0 1em 0;
  padding: 0;
  }
  #sidebar a#logo svg,
#sidebar a#logo img {
  width: 80px;
  height: auto;
  }
  #main-content {
  flex-grow: 1;
  max-width: 60ch;
  padding: 0;
  }
  article,
main {
    width: 100%;
    margin: 0;
  }
  main {
    min-height: 100vh;
    display: flex;
    flex-flow: column;
  }
  article {
    flex: 1 1 auto;
  }
  #markdownBody {
  line-height: 1.45;
  }
  h1 {
    margin: 1.25em 0 0.5em -0.5rem;
  }
}
@media only screen and (min-width: 118.5ch)  {
  body {
    padding: 2em 6ch 2em 0.5ch;
  }
  #layout {
  gap: 1.5rem;
  }
  #sidebar {
  width: 20ch;
  }
}
@media only screen and (min-width: 130.1ch)  {
  main {
    position: relative;
    right: 0;
  }
  #markdownBody {
  position: relative;
  }
  #sidenote-column-right {
  display: block;
  pointer-events: none;
  }
  #sidenote-column-right > * {
  pointer-events: auto;
  }
}
@media only screen and (max-width: 130ch)  {
  #sidenote-column-right {
  display: none;
  }
}
@media only screen and (max-width: 649px)  {
  #markdownBody figure {
  max-width: 100%;
  }
}
@media only screen and (max-width: 64.9ch), not screen and (hover: hover) and (pointer: fine)  {
  #footnotediv {
  display: none;
  }
}
@media print  {
  .header-anchor {
    display: none !important;
  }
  #markdownBody a:link {
  background-image: none;
  text-decoration: underline;
  }
  a {
    color: #000;
  }
  header h1::after {
    border-bottom-color: #000;
  }
  figure img,
figure video {
    outline-color: #000;
    page-break-inside: avoid;
  }
  figure {
    page-break-inside: avoid;
  }
}
@media (prefers-reduced-motion: reduce)  {
  *,
*::before,
*::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@media (prefers-color-scheme: dark)  {
  .header-anchor {
    color: white;
  }
  .header-anchor:hover {
    color: #aaa;
  }
  img.fleuron-block {
    filter: invert(95%) sepia(8%) saturate(114%) hue-rotate(106deg) brightness(102%) contrast(91%);
  }
}
svg {
  fill: currentColor;
}
#site-footer {
font-size: 0.85em;
color: #6a6a6a;
}
#site-footer nav {
display: flex;
justify-content: flex-end;
flex-wrap: wrap;
gap: 0.5em;
}
#site-footer a {
color: #8a8a8a;
text-decoration: none;
transition: color 0.2s ease;
}
#site-footer a:hover {
color: #b8b8b8;
}
#site-footer .separator {
color: #4a4a4a;
padding: 0 0.5em;
}
@media only screen and (max-width: 64.9ch)  {
  #site-footer {
  padding: 1.5rem 0 1rem 0;
  font-size: 0.8em;
  }
  #site-footer nav {
  gap: 0.75em;
  }
  #site-footer .separator {
  display: none;
  }
}
.collapse .disclosure-button::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\"><path d=\"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z\" fill=\"%235C5C5C\"></path></svg>");
}
.collapse .disclosure-button:hover::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\"><path d=\"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z\" fill=\"%23000\"></path></svg>");
}
.collapse .disclosure-button:checked::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\" fill=\"%235C5C5C\"></path></svg>");
}
.collapse .disclosure-button:checked:hover::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\" fill=\"%23000\"></path></svg>");
}
hr::after {
  opacity: 1;
  filter: invert(1) drop-shadow(0 0 0 currentColor);
}
ul > li::before {
  filter: invert(1);
}
#TOC ul > li::before {
filter: none;
}
table th.tablesorter-header {
  background-image: url("/img/tablesorter-bg-dark.gif");
  background-repeat: no-repeat;
  background-position: right 6px center;
  padding-right: 20px;
  cursor: pointer;
}
table th.tablesorter-headerAsc {
  background-image: url("/img/tablesorter-asc-dark.gif");
}
table th.tablesorter-headerDesc {
  background-image: url("/img/tablesorter-desc-dark.gif");
}
.sidenote.cut-off .sidenote-outer-wrapper::-webkit-scrollbar-thumb {
  background-image: url("data:image/gif;base64,R0lGODlhBAAEAPAAMQAAAIiIiCwAAAAABAAEAAACBkwAhqgZBQA7");
}
.sidenote.cut-off .sidenote-outer-wrapper::-webkit-scrollbar-thumb:hover {
  background-image: url("data:image/gif;base64,R0lGODlhBAAEAPAAMQAAAL+/vywAAAAABAAEAAACBkwAhqgZBQA7");
}
img.invertible,
img.invertible-auto {
  filter: grayscale(50%) invert(100%) brightness(95%) hue-rotate(180deg);
}
img,
img.invertible,
img.invertible-auto {
  transition: filter 0.25s ease;
}
img:hover,
img.invertible:hover,
img.invertible-auto:hover {
  filter: none;
  transition: filter 0s ease 0.25s;
}
.popupdiv.loading::before {
  filter: invert(1);
  opacity: 0.4;
}
a[href$=".pdf" i]::after,
a[href$="/pdf" i]::after,
a[href*="/pdf/" i]::after,
a[href$="type=pdf" i]::after,
a[href*=".pdf#" i]::after,
a[href*="pdfs.semanticscholar.org" i]::after,
a[href$=".epub" i]::after,
a[href*="citeseerx.ist.psu.edu" i]::after,
a[href$=".opml" i]::after,
a[href$=".txt" i]::after,
a[href$=".xml" i]::after,
a[href$=".css" i]::after,
a[href$=".hs" i]::after,
a[href$=".js" i]::after,
a[href$=".json" i]::after,
a[href$=".jsonl" i]::after,
a[href^="/"][href$=".php" i]::after,
a[href$=".conf" i]::after,
a[href$=".sh" i]::after,
a[href$=".R" i]::after,
a[href$=".patch" i]::after,
a[href$=".diff" i]::after,
a[href$=".doc" i]::after,
a[href$=".docx" i]::after,
a[href*="docs.google.com" i]::after,
a[href$=".xls" i]::after,
a[href$=".xlsx" i]::after,
a[href$=".ods" i]::after,
a[href$=".csv" i]::after,
a[href$=".gif" i]::after,
a[href$=".bmp" i]::after,
a[href$=".ico" i]::after,
a[href$=".jpg" i]::after,
a[href$=".jpeg" i]::after,
a[href$=".png" i]::after,
a[href$=".svg" i]::after,
a[href$=".xcf" i]::after,
a[href$=".mp3" i]::after,
a[href$=".wav" i]::after,
a[href$=".flac" i]::after,
a[href$=".ogg" i]::after,
a[href$=".rm" i]::after,
a[href$=".swf" i]::after,
a[href$=".avi" i]::after,
a[href$=".mp4" i]::after,
a[href$=".webm" i]::after,
a[href$=".tar" i]::after,
a[href$=".zip" i]::after,
a[href$=".xz"  i]::after,
a[href$=".img" i]::after,
a[href$=".bin" i]::after,
a[href$=".pkl" i]::after,
a[href$=".onnx" i]::after,
a[href$=".pt" i]::after,
a[href$=".ebt" i]::after,
a[href$=".mdb" i]::after,
a[href$=".mht" i]::after,
a[href$=".ttf" i]::after,
a[href*="scholar.google.com"]::after,
a[href*="reddit.com"]::after {
  filter: invert(1);
}
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: var(--GW-body-text-color); background-color: #2a2a2a; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: var(--GW-body-text-color); background-color: #2a2a2a; padding-left: 5px; padding-right: 5px; }
.hll { background-color: #252525 }
.c { color: var(--fg-comment); font-style: italic }
.err { border: 1px solid #898989 }
.highlight-bqn .err { color: var(--fg); border: none; }
.k { font-weight: bold }
.o { font-weight: bold }
.highlight-bqn     .o { font-weight: normal }
.highlight-tex     .o { font-weight: normal }
.highlight-console .o { font-weight: normal }
.p { }
.highlight-bqn .py { color: var(--fg-bqn-2-mod) }
.ch { color: var(--fg-comment2); font-style: italic }
.cm { color: var(--fg-comment2); font-style: italic }
.cp { color: var(--fg-comment2); font-weight: bold }
.cpf { color: var(--fg-comment2); font-style: italic }
.c1 { color: var(--fg-comment2); font-style: italic }
.cs { color: var(--fg-comment2); font-weight: bold }
.gd { color: #545454 }
.highlight-diff .gd { color: var(--fg-diff-deleted) }
.ge { font-style: italic }
.gr { color: #898989 }
.gh { color: var(--fg-output); font-weight: bold }
.gi { color: #7D7D7D }
.highlight-diff .gi { color: var(--fg-diff-added) }
.go { color: var(--fg-output) }
.gp { font-weight: bold }
.highlight-console .gp { color: var(--fg-bqn-1-mod); font-weight: normal }
.gs { font-weight: bold }
.gu { color: var(--fg-keyword); font-weight: bold }
.gt { color: #6D6D6D }
.kc { color: var(--fg-keyword); font-weight: bold }
.highlight-Python .kc { color: var(--fg-bqn-1-mod) }
.kd { color: var(--fg-keyword); font-weight: bold }
.highlight-bqn .kd { color: var(--fg-bqn-2-mod); font-weight: bold }
.kn { color: var(--fg-keyword); font-weight: bold }
.highlight-Python .kn { color: var(--fg) }
.kp { color: var(--fg-keyword); font-weight: bold }
.kr { font-weight: bold }
.kt { background-color: var(--bg-code-accent) }
.highlight-bqn .kt { color: var(--fg); background-color: var(--bg) }
.m { color: var(--fg-output) }
.s { color: var(--fg-string) }
.na { color: var(--fg-output) }
.highlight-bqn .na { color: var(--fg-bqn-1-mod) }
.highlight-tex .na { color: var(--fg) }
.nb { font-weight: bold }
.highlight-Python  .nb { color: var(--fg-bqn-1-mod) }
.highlight-tex     .nb { font-weight: normal }
.highlight-console .nb { font-weight: normal }
.nc { color: var(--fg-nameclass); font-weight: bold }
.no { }
.nd { color: #555555; font-weight: bold }
.ni { color: #848484; font-weight: bold }
.highlight-bqn .ni { color: var(--fg-bqn-sub) }
.ne { color: var(--fg-exception) }
.nf { font-weight: bold   }
.highlight-emacs-lisp .nf { font-weight: normal }
.nl { color: #363636; font-weight: bold }
.nn { background-color: var(--bg-code-accent) }
.highlight-Python .nn { background-color: var(--bg) }
.nt { color: var(--fg-nametag); font-weight: bold }
.nv {  }
.highlight-bqn .nv { color: var(--fg-bqn-sub) }
.highlight-tex .nv { font-weight: bold }
.ow { font-weight: bold }
.w { color: #bbbbbb }
.mb { color: var(--fg-comment) }
.mf {  }
.mh {  }
.mi {  }
.mo {  }
.sa { color: var(--fg-string) }
.sb { color: var(--fg-string) }
.sc { color: var(--fg-string) }
.dl { color: var(--fg-string) }
.sd { color: var(--fg-string);  font-style: italic }
.s2 { color: var(--fg-string) }
.highlight-bqn    .s2 { color: var(--fg-bqn-string) }
.highlight-Python .s2 { color: var(--fg-bqn-string) }
.se { color: var(--fg-string);  font-weight: bold }
.sh { color: var(--fg-string) }
.si { color: #9F9F9F }
.highlight-Python .si { color: var(--fg) }
.sx { color: var(--fg-nameclass) }
.highlight-bqn .sx { color: var(--fg-bqn-string) }
.sr { color: var(--fg-exception) }
.s1 { color: #717171 }
.highlight-bqn     .s1 { color: var(--fg-bqn-string) }
.highlight-console .s1 { color: var(--fg-bqn-string) }
.ss { color: var(--fg-literal) }
.highlight-bqn .ss { color: var(--fg-bqn-string) }
.bp { color: var(--fg-exception) }
.fm { color: #3F3F3F }
.vc { color: var(--fg-variable) }
.vg { color: var(--fg-variable) }
.vi { color: var(--fg-variable) }
.vm { color: var(--fg-variable) }
.highlight-Python .vm { color: var(--fg-bqn-1-mod) }
.il { color: var(--fg-comment) }
#markdownBody section>:not(:first-child) a[href^="#"]::after,
#markdownBody p a[href^="#"]::after {
content:"¶";
margin:0 1px 0 3px;
font-size:0.75em;
vertical-align:middle;
position:relative;
bottom:0.15em;
opacity:0.6;
margin-right:4px;
display:inline-block
}
#markdownBody section>:not(:first-child) a[href^="#"].footnote::after,
#markdownBody p a[href^="#"].footnote::after {
content:none
}
#markdownBody a[href*="arxiv.org"]::after {
content:"𝛘"
}
#markdownBody a[href*="gwern.net"]::after {
content:"𝔊";
margin:0 0 0 2px;
vertical-align:baseline;
position:relative;
bottom:0.15em;
opacity:0.55
}
#markdownBody a[href*="haskell.org"]::after {
content:"𝛌"
}
#markdownBody a[href*="reddit.com"]::after {
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 341.8 341.8'%3E%3Cellipse cx='170.9' cy='170.035' rx='170.301' ry='170.95'/%3E%3Cpath d='M284.434 170.035c0-13.796-11.154-24.993-24.898-24.993-6.772 0-12.748 2.6-17.13 6.998-16.93-12.196-40.434-20.194-66.328-21.194l11.353-53.384 36.85 7.798c.398 9.397 8.166 16.995 17.727 16.995 9.76 0 17.727-7.998 17.727-17.795s-7.967-17.795-17.727-17.795c-6.97 0-12.947 4-15.735 9.997l-41.23-8.797c-1.195-.2-2.4 0-3.386.6s-1.593 1.6-1.992 2.8l-12.548 59.583c-26.49.8-50.194 8.597-67.324 21.194-4.382-4.2-10.557-6.998-17.13-6.998-13.744 0-24.898 11.197-24.898 24.993 0 10.197 5.975 18.795 14.74 22.793-.398 2.4-.598 5-.598 7.598 0 38.39 44.418 69.38 99.392 69.38s99.392-30.99 99.392-69.38c0-2.6-.2-5-.598-7.398 8.166-4 14.34-12.796 14.34-22.993zm-170.3 17.795c0-9.797 7.967-17.795 17.727-17.795s17.727 7.998 17.727 17.795-7.967 17.795-17.727 17.795-17.727-7.998-17.727-17.795zm98.994 46.986c-12.15 12.196-35.255 12.996-42.027 12.996s-30.077-1-42.027-12.996c-1.793-1.8-1.793-4.8 0-6.598a4.68 4.68 0 0 1 6.573 0c7.57 7.598 23.902 10.397 35.654 10.397s27.886-2.8 35.654-10.397a4.68 4.68 0 0 1 6.573 0c1.394 2 1.394 4.8-.398 6.598zm-3.187-29.19c-9.76 0-17.727-7.998-17.727-17.795s7.967-17.795 17.727-17.795 17.727 7.998 17.727 17.795-7.967 17.795-17.727 17.795z' fill='%23fff'/%3E%3C/svg%3E")
}
#markdownBody a[href*="reddit.com"]:hover::after {
opacity:0.3
}
#markdownBody a[href*="reddit.com"]::after {
content:"";
display:inline-block;
position:static;
background-repeat:no-repeat;
background-position:bottom center;
height:0.75em;
width:0.75em;
margin:0 0 2px 3px;
opacity:0.50
}
#markdownBody a[href*="wikipedia.org/wiki/"]::after {
content:"";
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NDAgNTEyIj48cGF0aCBmaWxsPSIjZDRkNGQ0IiBkPSJNNjQwIDUxLjJsLS4zIDEyLjJjLTI4LjEuOC00NSAxNS44LTU1LjggNDAuMy0yNSA1Ny44LTEwMy4zIDI0MC0xNTUuMyAzNTguNkg0MTVsLTgxLjktMTkzLjFjLTMyLjUgNjMuNi02OC4zIDEzMC05OS4yIDE5My4xLS4zLjMtMTUgMC0xNS0uM0MxNzIgMzUyLjMgMTIyLjggMjQzLjQgNzUuOCAxMzMuNCA2NC40IDEwNi43IDI2LjQgNjMuNC4yIDYzLjdjMC0zLjEtLjMtMTAtLjMtMTQuMmgxNjEuOXYxMy45Yy0xOS4yIDEuMS01Mi44IDEzLjMtNDMuMyAzNC4yIDIxLjkgNDkuNyAxMDMuNiAyNDAuMyAxMjUuNiAyODguNiAxNS0yOS43IDU3LjgtMTA5LjIgNzUuMy0xNDIuOC0xMy45LTI4LjMtNTguNi0xMzMuOS03Mi44LTE2MC05LjctMTcuOC0zNi4xLTE5LjQtNTUuOC0xOS43VjQ5LjhsMTQyLjUuM3YxMy4xYy0xOS40LjYtMzguMSA3LjgtMjkuNCAyNi4xIDE4LjkgNDAgMzAuNiA2OC4xIDQ4LjEgMTA0LjcgNS42LTEwLjggMzQuNy02OS40IDQ4LjEtMTAwLjggOC45LTIwLjYtMy45LTI4LjYtMzguNi0yOS40LjMtMy42IDAtMTAuMy4zLTEzLjYgNDQuNC0uMyAxMTEuMS0uMyAxMjMuMS0uNnYxMy42Yy0yMi41LjgtNDUuOCAxMi44LTU4LjEgMzEuN2wtNTkuMiAxMjIuOGM2LjQgMTYuMSA2My4zIDE0Mi44IDY5LjIgMTU2LjdMNTU5LjIgOTEuOGMtOC42LTIzLjEtMzYuNC0yOC4xLTQ3LjItMjguM1Y0OS42bDEyNy44IDEuMS4yLjV6Ii8+PC9zdmc+");
background-repeat:no-repeat;
background-size:0.75em;
background-position:right 1px top;
width:0.85em;
height:0.85em;
display:inline-block;
vertical-align:baseline;
opacity:0.85
}
#markdownBody a[href*="wikipedia.org/wiki/"]:hover::after {
opacity:0.6
}
#markdownBody a[href*="youtube.com"]::after,
#markdownBody a[href*="youtu.be"]::after {
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NzYgNTEyIj48cGF0aCBkPSJNNTQ5LjY1NSAxMjQuMDgzYy02LjI4MS0yMy42NS0yNC43ODctNDIuMjc2LTQ4LjI4NC00OC41OTdDNDU4Ljc4MSA2NCAyODggNjQgMjg4IDY0UzExNy4yMiA2NCA3NC42MjkgNzUuNDg2Yy0yMy40OTcgNi4zMjItNDIuMDAzIDI0Ljk0Ny00OC4yODQgNDguNTk3LTExLjQxMiA0Mi44NjctMTEuNDEyIDEzMi4zMDUtMTEuNDEyIDEzMi4zMDVzMCA4OS40MzggMTEuNDEyIDEzMi4zMDVjNi4yODEgMjMuNjUgMjQuNzg3IDQxLjUgNDguMjg0IDQ3LjgyMUMxMTcuMjIgNDQ4IDI4OCA0NDggMjg4IDQ0OHMxNzAuNzggMCAyMTMuMzcxLTExLjQ4NmMyMy40OTctNi4zMjEgNDIuMDAzLTI0LjE3MSA0OC4yODQtNDcuODIxIDExLjQxMi00Mi44NjcgMTEuNDEyLTEzMi4zMDUgMTEuNDEyLTEzMi4zMDVzMC04OS40MzgtMTEuNDEyLTEzMi4zMDV6bS0zMTcuNTEgMjEzLjUwOFYxNzUuMTg1bDE0Mi43MzkgODEuMjA1LTE0Mi43MzkgODEuMjAxeiIvPjwvc3ZnPg==")
}
#markdownBody a[href*="youtube.com"]:hover::after,
#markdownBody a[href*="youtu.be"]:hover::after {
opacity:0.3
}
#markdownBody a[href*="youtube.com"]::after,
#markdownBody a[href*="youtu.be"]::after {
content:"";
display:inline-block;
position:static;
background-repeat:no-repeat;
background-position:bottom center;
height:1em;
width:1em;
margin:0 0 0 3px;
opacity:0.60
}
#markdownBody a[href*="overflow.net"]::after,
#markdownBody a[href*="overflow.com"]::after,
#markdownBody a[href*="stackexchange.com"]::after {
content:"";
background-image:url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 50 50' version='1.1'%3E%3Cpath d='M13 2C9.687 2 7 4.688 7 8v2h36V8c0-3.313-2.688-6-6-6zM7 12v8h36v-8zm0 10v8h36v-8zm0 10v2c0 3.313 2.688 6 6 6h15v8l8-8h1c3.313 0 6-2.688 6-6v-2z' id='surface1'/%3E%3C/svg%3E");
background-repeat:no-repeat;
background-size:0.75em;
background-position:right 1px top;
width:0.85em;
height:0.85em;
display:inline-block;
vertical-align:baseline;
opacity:0.85
}
#markdownBody a[href*="overflow.net"]:hover::after,
#markdownBody a[href*="overflow.com"]:hover::after,
#markdownBody a[href*="stackexchange.com"]:hover::after {
opacity:0.6
}
#markdownBody a[href*="github.com"]::after {
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297a12 12 0 0 0-12 12c0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577L9 21.065c-3.338.724-4.042-1.6-4.042-1.6C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.73.084-.73 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.81 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.3.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.4 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.9 1.23 3.22 0 4.6-2.805 5.625-5.475 5.92.42.36.80 1.096.80 2.22l-.015 3.286c0 .315.2.7.825.57 4.8-1.574 8.236-6.074 8.236-11.37 0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")
}
#markdownBody a[href*="github.com"]:hover::after {
opacity:0.3
}
#markdownBody a[href*="github.com"]::after {
content:"";
display:inline-block;
position:static;
background-repeat:no-repeat;
background-position:bottom center;
height:0.75em;
width:0.75em;
margin:0 0 2px 3px;
opacity:0.60
}
#markdownBody a[href*="archive.org"]::after {
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 13.1 15'%3E%3Cpath d='M.1 1.5c.08.12.12.3.23.4H12.6l.3-.4L6.5 0 .1 1.5zm.3 1h12.2v1.1H.4zM1 4.2h1l.2.1.2 3.7-.1 4.5H1l-.3-.1L.5 8c0-1.5.2-3.7.2-3.7l.3-.1zm10 0h1.1l.2.1.2 3.7-.1 4.5-.3.1h-1l-.3-.1-.2-4.4c0-1.5.2-3.7.2-3.7l.2-.2zm-6.7 0h1l.2.1.2 3.7-.1 4.5-.3.1h-.9l-.3-.1-.2-4.4c0-1.5.2-3.7.2-3.7l.2-.2zm3.4 0H9l.2 3.7-.1 4.5-.3.1h-1l-.3-.1L7.3 8c0-1.5.2-3.7.2-3.7l.2-.1zM.4 13.1h12.3v.6H.4zM0 14.3h13.1v.7H0z'/%3E%3Chead/%3E%3Cg stroke='%231a1a1a' stroke-width='.32'%3E%3Cuse xlink:href='%23B' opacity='0' fill='%231a1a1a' fill-opacity='.42'/%3E%3Cpath d='M6.5.01L.1 1.5l.2.4h12.3l.14-.2.14-.2c0 0-1.44-.34-3.2-.75L6.5.01z' opacity='0' fill-opacity='.42'/%3E%3Cpath d='M6.5.01L.1 1.5l.2.4h12.3l.14-.2.14-.2c0 0-1.44-.34-3.2-.75L6.5.01z' opacity='0'/%3E%3Cuse xlink:href='%23B' opacity='0'/%3E%3C/g%3E%3Cg stroke='%23000'%3E%3Cpath d='M.4 3.05V2.5h12.2v1.1H.4z' opacity='0' stroke-width='.32'/%3E%3Cuse xlink:href='%23B' opacity='0' stroke-width='.32'/%3E%3C/g%3E%3Cdefs %3E%3Cpath id='B' d='M.2 1.7l-.1-.2H.2L6.5.01l6.38 1.5c0 0-.06.1-.14.2l-.15.2H.3z'/%3E%3C/defs%3E%3C/svg%3E")
}
#markdownBody a[href*="archive.org"]:hover::after {
opacity:0.3
}
#markdownBody a[href*="archive.org"]::after {
content:"";
display:inline-block;
position:static;
background-repeat:no-repeat;
background-position:bottom center;
height:0.75em;
width:0.75em;
margin:0 0 2px 3px;
opacity:0.60
}
#markdownBody a[href$=".pdf" i]::after,
#markdownBody a[href$="/pdf" i]::after,
#markdownBody a[href$="type=pdf" i]::after,
#markdownBody a[href*=".pdf#" i]::after,
#markdownBody a[href$=".opml" i]::after,
#markdownBody a[href$=".page" i]::after,
#markdownBody a[href$=".txt" i]::after,
#markdownBody a[href$=".xml" i]::after,
#markdownBody a[href$=".css" i]::after,
#markdownBody a[href$=".hs" i]::after,
#markdownBody a[href$=".js" i]::after,
#markdownBody a[href$=".json" i]::after,
#markdownBody a[href^="."][href$=".php" i]::after,
#markdownBody a[href$=".sh" i]::after,
#markdownBody a[href$=".doc" i]::after,
#markdownBody a[href$=".docx" i]::after,
#markdownBody a[href$=".xls" i]::after,
#markdownBody a[href$=".xlsx" i]::after,
#markdownBody a[href$=".csv" i]::after,
#markdownBody a[href$=".gif" i]::after,
#markdownBody a[href$=".ico" i]::after,
#markdownBody a[href$=".jpg" i]::after,
#markdownBody a[href$=".png" i]::after,
#markdownBody a[href$=".svg" i]::after,
#markdownBody a[href$=".xcf" i]::after,
#markdownBody a[href$=".maff" i]::after,
#markdownBody a[href$=".ogg" i]::after,
#markdownBody a[href$=".avi" i]::after,
#markdownBody a[href$=".mp4" i]::after,
#markdownBody a[href$=".webm" i]::after,
#markdownBody a[href$=".tar" i]::after,
#markdownBody a[href$=".zip" i]::after,
#markdownBody a[href$=".xz" i]::after,
#markdownBody a[href$=".ebt" i]::after,
#markdownBody a[href$=".epub" i]::after,
#markdownBody a[href$=".mdb" i]::after,
#markdownBody a[href$=".mht" i]::after,
#markdownBody a[href$=".ttf" i]::after {
content:"";
display:inline-block;
position:static;
background-repeat:no-repeat;
background-position:bottom center;
height:0.75em;
width:0.75em;
margin:0 0 0 2px;
opacity:0.55
}
#markdownBody a[href$=".pdf" i]:hover::after,
#markdownBody a[href$="/pdf" i]:hover::after,
#markdownBody a[href$="type=pdf" i]:hover::after,
#markdownBody a[href*=".pdf#" i]:hover::after,
#markdownBody a[href$=".opml" i]:hover::after,
#markdownBody a[href$=".page" i]:hover::after,
#markdownBody a[href$=".txt" i]:hover::after,
#markdownBody a[href$=".xml" i]:hover::after,
#markdownBody a[href$=".css" i]:hover::after,
#markdownBody a[href$=".hs" i]:hover::after,
#markdownBody a[href$=".js" i]:hover::after,
#markdownBody a[href$=".json" i]:hover::after,
#markdownBody a[href^="."][href$=".php" i]:hover::after,
#markdownBody a[href$=".sh" i]:hover::after,
#markdownBody a[href$=".doc" i]:hover::after,
#markdownBody a[href$=".docx" i]:hover::after,
#markdownBody a[href$=".xls" i]:hover::after,
#markdownBody a[href$=".xlsx" i]:hover::after,
#markdownBody a[href$=".csv" i]:hover::after,
#markdownBody a[href$=".gif" i]:hover::after,
#markdownBody a[href$=".ico" i]:hover::after,
#markdownBody a[href$=".jpg" i]:hover::after,
#markdownBody a[href$=".png" i]:hover::after,
#markdownBody a[href$=".svg" i]:hover::after,
#markdownBody a[href$=".xcf" i]:hover::after,
#markdownBody a[href$=".maff" i]:hover::after,
#markdownBody a[href$=".ogg" i]:hover::after,
#markdownBody a[href$=".avi" i]:hover::after,
#markdownBody a[href$=".mp4" i]:hover::after,
#markdownBody a[href$=".webm" i]:hover::after,
#markdownBody a[href$=".tar" i]:hover::after,
#markdownBody a[href$=".zip" i]:hover::after,
#markdownBody a[href$=".xz" i]:hover::after,
#markdownBody a[href$=".ebt" i]:hover::after,
#markdownBody a[href$=".epub" i]:hover::after,
#markdownBody a[href$=".mdb" i]:hover::after,
#markdownBody a[href$=".mht" i]:hover::after,
#markdownBody a[href$=".ttf" i]:hover::after {
opacity:0.3
}
#markdownBody a[href$=".pdf" i]::after,
#markdownBody a[href$="/pdf" i]::after,
#markdownBody a[href$="type=pdf" i]::after,
#markdownBody a[href*=".pdf#" i]::after {
opacity:0.5;
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBkPSJNMTgxLjkgMjU2LjFjLTUtMTYtNC45LTQ2LjktMi00Ni45IDguNCAwIDcuNiAzNi45IDIgNDYuOXptLTEuNyA0Ny4yYy03LjcgMjAuMi0xNy4zIDQzLjMtMjguNCA2Mi43IDE4LjMtNyAzOS0xNy4yIDYyLjktMjEuOS0xMi43LTkuNi0yNC45LTIzLjQtMzQuNS00MC44ek04Ni4xIDQyOC4xYzAgLjggMTMuMi01LjQgMzQuOS00MC4yLTYuNyA2LjMtMjkuMSAyNC41LTM0LjkgNDAuMnpNMjQ4IDE2MGgxMzZ2MzI4YzAgMTMuMy0xMC43IDI0LTI0IDI0SDI0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNFYyNEMwIDEwLjcgMTAuNyAwIDI0IDBoMjAwdjEzNmMwIDEzLjIgMTAuOCAyNCAyNCAyNHptLTggMTcxLjhjLTIwLTEyLjItMzMuMy0yOS00Mi43LTUzLjggNC41LTE4LjUgMTEuNi00Ni42IDYuMi02NC4yLTQuNy0yOS40LTQyLjQtMjYuNS00Ny44LTYuOC01IDE4LjMtLjQgNDQuMSA4LjEgNzctMTEuNiAyNy42LTI4LjcgNjQuNi00MC44IDg1LjgtLjEgMC0uMS4xLS4yLjEtMjcuMSAxMy45LTczLjYgNDQuNS01NC41IDY4IDUuNiA2LjkgMTYgMTAgMjEuNSAxMCAxNy45IDAgMzUuNy0xOCA2MS4xLTYxLjggMjUuOC04LjUgNTQuMS0xOS4xIDc5LTIzLjIgMjEuNyAxMS44IDQ3LjEgMTkuNSA2NCAxOS41IDI5LjIgMCAzMS4yLTMyIDE5LjctNDMuNC0xMy45LTEzLjYtNTQuMy05LjctNzMuNi03LjJ6TTM3NyAxMDVMMjc5IDdjLTQuNS00LjUtMTAuNi03LTE3LTdoLTZ2MTI4aDEyOHYtNi4xYzAtNi4zLTIuNS0xMi40LTctMTYuOXoiLz48L3N2Zz4=")
}
#markdownBody a[href$=".opml" i]::after,
#markdownBody a[href$=".page" i]::after,
#markdownBody a[href$=".txt" i]::after,
#markdownBody a[href$=".xml" i]::after {
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBkPSJNMjI0IDEzNlYwSDI0QzEwLjcgMCAwIDEwLjcgMCAyNHY0NjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMzM2YzEzLjMgMCAyNC0xMC43IDI0LTI0VjE2MEgyNDhjLTEzLjIgMC0yNC0xMC44LTI0LTI0em02NCAyMzZjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEydjh6bTAtNjRjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEydjh6bTAtNzJ2OGMwIDYuNi01LjQgMTItMTIgMTJIMTA4Yy02LjYgMC0xMi01LjQtMTItMTJ2LThjMC02LjYgNS40LTEyIDEyLTEyaDE2OGM2LjYgMCAxMiA1LjQgMTIgMTJ6bTk2LTExNC4xdjYuMUgyNTZWMGg2LjFjNi40IDAgMTIuNSAyLjUgMTcgN2w5Ny45IDk4YzQuNSA0LjUgNyAxMC42IDcgMTYuOXoiLz48L3N2Zz4=")
}
#markdownBody a[href$=".css" i]::after,
#markdownBody a[href$=".hs" i]::after,
#markdownBody a[href$=".js" i]::after,
#markdownBody a[href$=".json" i]::after,
#markdownBody a[href^="."][href$=".php" i]::after,
#markdownBody a[href$=".sh" i]::after {
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBkPSJNMzg0IDEyMS45NDFWMTI4SDI1NlYwaDYuMDU5YzYuMzY1IDAgMTIuNDcgMi41MjkgMTYuOTcxIDcuMDI5bDk3Ljk0MSA5Ny45NDFBMjQuMDA1IDI0LjAwNSAwIDAgMSAzODQgMTIxLjk0MXpNMjQ4IDE2MGMtMTMuMiAwLTI0LTEwLjgtMjQtMjRWMEgyNEMxMC43NDUgMCAwIDEwLjc0NSAwIDI0djQ2NGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMzM2YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFYxNjBIMjQ4ek0xMjMuMjA2IDQwMC41MDVhNS40IDUuNCAwIDAgMS03LjYzMyAuMjQ2bC02NC44NjYtNjAuODEyYTUuNCA1LjQgMCAwIDEtMC03Ljg3OWw2NC44NjYtNjAuODEyYTUuNCA1LjQgMCAwIDEgNy42MzMuMjQ2bDE5LjU3OSAyMC44ODVhNS40IDUuNCAwIDAgMS0uMzcyIDcuNzQ3TDEwMS42NSAzMzZsNDAuNzYzIDM1Ljg3NGE1LjQgNS40IDAgMCAxIC4zNzIgNy43NDdsLTE5LjU3OSAyMC44ODR6bTUxLjI5NSA1MC40NzlsLTI3LjQ1My03Ljk3YTUuNDAyIDUuNDAyIDAgMCAxLTMuNjgxLTYuNjkybDYxLjQ0LTIxMS42MjZhNS40MDIgNS40MDIgMCAwIDEgNi42OTItMy42ODFsMjcuNDUyIDcuOTdhNS40IDUuNCAwIDAgMSAzLjY4IDYuNjkybC02MS40NCAyMTEuNjI2YTUuMzk3IDUuMzk3IDAgMCAxLTYuNjkgMy42ODF6bTE2MC43OTItMTExLjA0NWwtNjQuODY2IDYwLjgxMmE1LjQgNS40IDAgMCAxLTcuNjMzLS4yNDZsLTE5LjU4LTIwLjg4NWE1LjQgNS40IDAgMCAxIC4zNzItNy43NDdMMjg0LjM1IDMzNmwtNDAuNzYzLTM1Ljg3NGE1LjQgNS40IDAgMCAxLS4zNzItNy43NDdsMTkuNTgtMjAuODg1YTUuNCA1LjQgMCAwIDEgNy42MzMtLjI0Nmw2NC44NjYgNjAuODEyYTUuNCA1LjQgMCAwIDEtLjAwMSA3Ljg3OXoiLz48L3N2Zz4=")
}
#markdownBody a[href$=".doc" i]::after,
#markdownBody a[href$=".docx" i]::after {
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBkPSJNMjI0IDEzNlYwSDI0QzEwLjcgMCAwIDEwLjcgMCAyNHY0NjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMzM2YzEzLjMgMCAyNC0xMC43IDI0LTI0VjE2MEgyNDhjLTEzLjIgMC0yNC0xMC44LTI0LTI0em01Ny4xIDEyMEgzMDVjNy43IDAgMTMuNCA3LjEgMTEuNyAxNC43bC0zOCAxNjhjLTEuMiA1LjUtNi4xIDkuMy0xMS43IDkuM2gtMzhjLTUuNSAwLTEwLjMtMy44LTExLjYtOS4xLTI1LjgtMTAzLjUtMjAuOC04MS4yLTI1LjYtMTEwLjVoLS41Yy0xLjEgMTQuMy0yLjQgMTcuNC0yNS42IDExMC41LTEuMyA1LjMtNi4xIDkuMS0xMS42IDkuMUgxMTdjLTUuNiAwLTEwLjUtMy45LTExLjctOS40bC0zNy44LTE2OGMtMS43LTcuNSA0LTE0LjYgMTEuNy0xNC42aDI0LjVjNS43IDAgMTAuNyA0IDExLjggOS43IDE1LjYgNzggMjAuMSAxMDkuNSAyMSAxMjIuMiAxLjYtMTAuMiA3LjMtMzIuNyAyOS40LTEyMi43IDEuMy01LjQgNi4xLTkuMSAxMS43LTkuMWgyOS4xYzUuNiAwIDEwLjQgMy44IDExLjcgOS4yIDI0IDEwMC40IDI4LjggMTI0IDI5LjYgMTI5LjQtLjItMTEuMi0yLjYtMTcuOCAyMS42LTEyOS4yIDEtNS42IDUuOS05LjUgMTEuNS05LjV6TTM4NCAxMjEuOXY2LjFIMjU2VjBoNi4xYzYuNCAwIDEyLjUgMi41IDE3IDdsOTcuOSA5OGM0LjUgNC41IDcgMTAuNiA3IDE2Ljl6Ii8+PC9zdmc+")
}
#markdownBody a[href$=".xls" i]::after,
#markdownBody a[href$=".xlsx" i]::after {
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBkPSJNMjI0IDEzNlYwSDI0QzEwLjcgMCAwIDEwLjcgMCAyNHY0NjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMzM2YzEzLjMgMCAyNC0xMC43IDI0LTI0VjE2MEgyNDhjLTEzLjIgMC0yNC0xMC44LTI0LTI0em02MC4xIDEwNi41TDIyNCAzMzZsNjAuMSA5My41YzUuMSA4LS42IDE4LjUtMTAuMSAxOC41aC0zNC45Yy00LjQgMC04LjUtMi40LTEwLjYtNi4zQzIwOC45IDQwNS41IDE5MiAzNzMgMTkyIDM3M2MtNi40IDE0LjgtMTAgMjAtMzYuNiA2OC44LTIuMSAzLjktNi4xIDYuMy0xMC41IDYuM0gxMTBjLTkuNSAwLTE1LjItMTAuNS0xMC4xLTE4LjVsNjAuMy05My41LTYwLjMtOTMuNWMtNS4yLTggLjYtMTguNSAxMC4xLTE4LjVoMzQuOGM0LjQgMCA4LjUgMi40IDEwLjYgNi4zIDI2LjEgNDguOCAyMCAzMy42IDM2LjYgNjguNSAwIDAgNi4xLTExLjcgMzYuNi02OC41IDIuMS0zLjkgNi4yLTYuMyAxMC42LTYuM0gyNzRjOS41LS4xIDE1LjIgMTAuNCAxMC4xIDE4LjR6TTM4NCAxMjEuOXY2LjFIMjU2VjBoNi4xYzYuNCAwIDEyLjUgMi41IDE3IDdsOTcuOSA5OGM0LjUgNC41IDcgMTAuNiA3IDE2Ljl6Ii8+PC9zdmc+")
}
#markdownBody a[href$=".csv" i]::after {
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBkPSJNMjI0IDEzNlYwSDI0QzEwLjcgMCAwIDEwLjcgMCAyNHY0NjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMzM2YzEzLjMgMCAyNC0xMC43IDI0LTI0VjE2MEgyNDhjLTEzLjIgMC0yNC0xMC44LTI0LTI0em0tOTYgMTQ0YzAgNC40Mi0zLjU4IDgtOCA4aC04Yy04Ljg0IDAtMTYgNy4xNi0xNiAxNnYzMmMwIDguODQgNy4xNiAxNiAxNiAxNmg4YzQuNDIgMCA4IDMuNTggOCA4djE2YzAgNC40Mi0zLjU4IDgtOCA4aC04Yy0yNi41MSAwLTQ4LTIxLjQ5LTQ4LTQ4di0zMmMwLTI2LjUxIDIxLjQ5LTQ4IDQ4LTQ4aDhjNC40MiAwIDggMy41OCA4IDh2MTZ6bTQ0LjI3IDEwNEgxNjBjLTQuNDIgMC04LTMuNTgtOC04di0xNmMwLTQuNDIgMy41OC04IDgtOGgxMi4yN2M1Ljk1IDAgMTAuNDEtMy41IDEwLjQxLTYuNjIgMC0xLjMtLjc1LTIuNjYtMi4xMi0zLjg0bC0yMS44OS0xOC43N2MtOC40Ny03LjIyLTEzLjMzLTE3LjQ4LTEzLjMzLTI4LjE0IDAtMjEuMyAxOS4wMi0zOC42MiA0Mi40MS0zOC42MkgyMDBjNC40MiAwIDggMy41OCA4IDh2MTZjMCA0LjQyLTMuNTggOC04IDhoLTEyLjI3Yy01Ljk1IDAtMTAuNDEgMy41LTEwLjQxIDYuNjIgMCAxLjMuNzUgMi42NiAyLjEyIDMuODRsMjEuODkgMTguNzdjOC40NyA3LjIyIDEzLjMzIDE3LjQ4IDEzLjMzIDI4LjE0LjAxIDIxLjI5LTE5IDM4LjYyLTQyLjM5IDM4LjYyek0yNTYgMjY0djIwLjhjMCAyMC4yNyA1LjcgNDAuMTcgMTYgNTYuODggMTAuMy0xNi43IDE2LTM2LjYxIDE2LTU2Ljg4VjI2NGMwLTQuNDIgMy41OC04IDgtOGgxNmM0LjQyIDAgOCAzLjU4IDggOHYyMC44YzAgMzUuNDgtMTIuODggNjguODktMzYuMjggOTQuMDktMy4wMiAzLjI1LTcuMjcgNS4xMS0xMS43MiA1LjExcy04LjctMS44Ni0xMS43Mi01LjExYy0yMy40LTI1LjItMzYuMjgtNTguNjEtMzYuMjgtOTQuMDlWMjY0YzAtNC40MiAzLjU4LTggOC04aDE2YzQuNDIgMCA4IDMuNTggOCA4em0xMjEtMTU5TDI3OS4xIDdjLTQuNS00LjUtMTAuNi03LTE3LTdIMjU2djEyOGgxMjh2LTYuMWMwLTYuMy0yLjUtMTIuNC03LTE2Ljl6Ii8+PC9zdmc+")
}
#markdownBody a[href$=".gif" i]::after,
#markdownBody a[href$=".ico" i]::after,
#markdownBody a[href$=".jpg" i]::after,
#markdownBody a[href$=".png" i]::after,
#markdownBody a[href$=".svg" i]::after,
#markdownBody a[href$=".xcf" i]::after {
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBkPSJNMzg0IDEyMS45NDFWMTI4SDI1NlYwaDYuMDU5YTI0IDI0IDAgMCAxIDE2Ljk3IDcuMDI5bDk3Ljk0MSA5Ny45NDFhMjQuMDAyIDI0LjAwMiAwIDAgMSA3LjAzIDE2Ljk3MXpNMjQ4IDE2MGMtMTMuMiAwLTI0LTEwLjgtMjQtMjRWMEgyNEMxMC43NDUgMCAwIDEwLjc0NSAwIDI0djQ2NGMwIDEzLjI1NSAxMC43NDUgMjQgMjQgMjRoMzM2YzEzLjI1NSAwIDI0LTEwLjc0NSAyNC0yNFYxNjBIMjQ4em0tMTM1LjQ1NSAxNmMyNi41MSAwIDQ4IDIxLjQ5IDQ4IDQ4cy0yMS40OSA0OC00OCA0OC00OC0yMS40OS00OC00OCAyMS40OTEtNDggNDgtNDh6bTIwOCAyNDBoLTI1NmwuNDg1LTQ4LjQ4NUwxMDQuNTQ1IDMyOGM0LjY4Ni00LjY4NiAxMS43OTktNC4yMDEgMTYuNDg1LjQ4NUwxNjAuNTQ1IDM2OCAyNjQuMDYgMjY0LjQ4NWM0LjY4Ni00LjY4NiAxMi4yODQtNC42ODYgMTYuOTcxIDBMMzIwLjU0NSAzMDR2MTEyeiIvPjwvc3ZnPg==")
}
#markdownBody a[href$=".maff" i]::after,
#markdownBody a[href$=".ogg" i]::after {
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBkPSJNMjI0IDEzNlYwSDI0QzEwLjcgMCAwIDEwLjcgMCAyNHY0NjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMzM2YzEzLjMgMCAyNC0xMC43IDI0LTI0VjE2MEgyNDhjLTEzLjIgMC0yNC0xMC44LTI0LTI0em0tNjQgMjY4YzAgMTAuNy0xMi45IDE2LTIwLjUgOC41TDEwNCAzNzZINzZjLTYuNiAwLTEyLTUuNC0xMi0xMnYtNTZjMC02LjYgNS40LTEyIDEyLTEyaDI4bDM1LjUtMzYuNWM3LjYtNy42IDIwLjUtMi4yIDIwLjUgOC41djEzNnptMzMuMi00Ny42YzkuMS05LjMgOS4xLTI0LjEgMC0zMy40LTIyLjEtMjIuOCAxMi4yLTU2LjIgMzQuNC0zMy41IDI3LjIgMjcuOSAyNy4yIDcyLjQgMCAxMDAuNC0yMS44IDIyLjMtNTYuOS0xMC40LTM0LjQtMzMuNXptODYtMTE3LjFjNTQuNCA1NS45IDU0LjQgMTQ0LjggMCAyMDAuOC0yMS44IDIyLjQtNTctMTAuMy0zNC40LTMzLjUgMzYuMi0zNy4yIDM2LjMtOTYuNSAwLTEzMy44LTIyLjEtMjIuOCAxMi4zLTU2LjMgMzQuNC0zMy41ek0zODQgMTIxLjl2Ni4xSDI1NlYwaDYuMWM2LjQgMCAxMi41IDIuNSAxNyA3bDk3LjkgOThjNC41IDQuNSA3IDEwLjYgNyAxNi45eiIvPjwvc3ZnPg==")
}
#markdownBody a[href$=".avi" i]::after,
#markdownBody a[href$=".mp4" i]::after,
#markdownBody a[href$=".webm" i]::after {
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBkPSJNMzg0IDEyMS45NDFWMTI4SDI1NlYwaDYuMDU5YzYuMzY1IDAgMTIuNDcgMi41MjkgMTYuOTcxIDcuMDI5bDk3Ljk0MSA5Ny45NDFBMjQuMDA1IDI0LjAwNSAwIDAgMSAzODQgMTIxLjk0MXpNMjI0IDEzNlYwSDI0QzEwLjc0NSAwIDAgMTAuNzQ1IDAgMjR2NDY0YzAgMTMuMjU1IDEwLjc0NSAyNCAyNCAyNGgzMzZjMTMuMjU1IDAgMjQtMTAuNzQ1IDI0LTI0VjE2MEgyNDhjLTEzLjIgMC0yNC0xMC44LTI0LTI0em05NiAxNDQuMDE2djExMS45NjNjMCAyMS40NDUtMjUuOTQzIDMxLjk5OC00MC45NzEgMTYuOTcxTDIyNCAzNTMuOTQxVjM5MmMwIDEzLjI1NS0xMC43NDUgMjQtMjQgMjRIODhjLTEzLjI1NSAwLTI0LTEwLjc0NS0yNC0yNFYyODBjMC0xMy4yNTUgMTAuNzQ1LTI0IDI0LTI0aDExMmMxMy4yNTUgMCAyNCAxMC43NDUgMjQgMjR2MzguMDU5bDU1LjAyOS01NS4wMTNjMTUuMDExLTE1LjAxIDQwLjk3MS00LjQ5MSA0MC45NzEgMTYuOTd6Ii8+PC9zdmc+")
}
#markdownBody a[href$=".tar" i]::after,
#markdownBody a[href$=".zip" i]::after,
#markdownBody a[href$=".xz" i]::after {
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBkPSJNMzc3IDEwNUwyNzkuMSA3Yy00LjUtNC41LTEwLjYtNy0xNy03SDI1NnYxMjhoMTI4di02LjFjMC02LjMtMi41LTEyLjQtNy0xNi45ek0xMjguNCAzMzZjLTE3LjkgMC0zMi40IDEyLjEtMzIuNCAyNyAwIDE1IDE0LjYgMjcgMzIuNSAyN3MzMi40LTEyLjEgMzIuNC0yNy0xNC42LTI3LTMyLjUtMjd6TTIyNCAxMzZWMzItNjMuNnYzMmgtMzJWMEgyNEMxMC43IDAgMCAxMC43IDAgMjR2NDY0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDMzNmMxMy4zIDAgMjQtMTAuNyAyNC0yNFYxNjBIMjQ4Yy0xMy4yIDAtMjQtMTAuOC0yNC0yNHo5NS45IDMyaDMydjMyaC0zMnptMzIuMyAzODRjLTMzLjIgMC01OC0zMC40LTUxLjQtNjIuOUw5Ni40IDI1NnYtMzJoMzJ2LTMyaC0zMnYtMzJoMzJ2LTMySDk2Vjk2aDMyVjY0aDMydjMyaC0zMnYzMmgzMnYzMmgtMzJ2MzJoMzJ2MzJoLTMydjMyaDIyLjFjNS43IDAgMTAuNyA0LjEgMTEuOCA5LjdsMTcuMyA4Ny43YzYuNCAzMi40LTE4LjQgNjIuNi01MS40IDYyLjZ6Ii8+PC9N2c+")
}
#markdownBody a[href$=".ebt" i]::after,
#markdownBody a[href$=".epub" i]::after,
#markdownBody a[href$=".mdb" i]::after,
#markdownBody a[href$=".mht" i]::after,
#markdownBody a[href$=".ttf" i]::after {
background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBkPSJNMjI0IDEzNlYwSDI0QzEwLjcgMCAwIDEwLjcgMCAyNHY0NjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRoMzM2YzEzLjMgMCAyNC0xMC43IDI0LTI0VjE2MEgyNDhjLTEzLjIgMC0yNC0xMC44LTI0LTI0em0xNjAtMTQuMXY2LjFIMjU2VjBoNi4xYzYuNCAwIDEyLjUgMi41IDE3IDdsOTcuOSA5OGM0LjUgNC41IDcgMTAuNiA3IDE2Ljl6Ii8+PC9zdmc+")
}
/* Link icons: the embedded SVGs are black, so on the dark background
   they're inverted to read light, like the rest of the text.
   (The Wikipedia one already has a light fill in its own SVG.) */
#markdownBody a[href*="youtube.com"]::after,
#markdownBody a[href*="youtu.be"]::after,
#markdownBody a[href*="overflow.net"]::after,
#markdownBody a[href*="overflow.com"]::after,
#markdownBody a[href*="stackexchange.com"]::after,
#markdownBody a[href*="github.com"]::after,
#markdownBody a[href*="archive.org"]::after {
  filter: invert(1);
}
/* Table of contents: a box floated to the right of the essay's first
   paragraph; at full width on narrow screens. Inserted by site.hs (insertToc). */
#markdownBody #TOC {
  float: right;
  clear: right;
  width: 16em;
  max-width: 45%;
  margin: 0.75em 0 1em 1.75em;
  border: 1px solid var(--GW-sidebar-mobile-link-border-color);
  background-color: var(--GW-TOC-background-color);
  --GW-link-underline-background-color: var(--GW-TOC-background-color);
  line-height: 1.35;
}
#markdownBody #TOC .TOC-title {
  font-variant: small-caps;
  letter-spacing: 0.02em;
  padding: 6px 12px;
  border-bottom: 1px solid var(--GW-sidebar-mobile-link-border-color);
}
#markdownBody #TOC ul {
  list-style: none;
  counter-reset: toc;
  margin: 0;
  padding: 0.6em 0.9em 0.7em 2.3em;
  overflow: visible;
}
#markdownBody #TOC ul ul {
  padding: 0.25em 0 0 1.6em;
}
#markdownBody #TOC li {
  counter-increment: toc;
  margin: 0.35em 0 0 0;
  text-align: left;
  hyphens: none;
  -webkit-hyphens: none;
}
#markdownBody #TOC li:first-child {
  margin-top: 0;
}
#markdownBody #TOC ul > li::before {
  content: counters(toc, ".") ".";
  position: absolute;
  left: auto;
  right: calc(100% + 0.45em);
  top: 0;
  font-size: inherit;
  color: var(--GW-TOC-number-color);
  font-variant-numeric: lining-nums;
  filter: none;
}
#markdownBody #TOC a:link {
  background-image: none;
  text-shadow: none;
  color: var(--GW-body-link-color);
}
#markdownBody #TOC a:hover {
  color: var(--GW-TOC-link-hover-color);
}
#markdownBody #TOC a::after {
  content: none;
}
@media only screen and (max-width: 649px)  {
  #markdownBody #TOC {
    float: none;
    width: auto;
    max-width: none;
    margin: 1em 0 1.25em 0;
  }
}

/* TikZ diagrams: no double border; caption in the same font as the text. */
.tikz-figure,
figure.tikz-figure {
  outline: none;
}
.tikz-figure img.tikz-image {
  outline: none;
  border-radius: 0;
}
.tikz-figure figcaption {
  font-family: inherit;
  font-size: 0.9em;
  font-weight: normal;
  font-style: italic;
  color: var(--GW-body-text-color);
  opacity: 0.8;
}
/* Definition lists */
#markdownBody dt {
  font-weight: 600;
  margin-top: 0.5em;
}
#markdownBody dd {
  margin: 0.15em 0 0 2em;
}

/* Images: shown with inverted colors to blend into the dark background;
   hovering reveals the real image. TikZ diagrams are excluded (their inversion
   is permanent so they stay legible), as are the logo and the fleuron, which
   are part of the design. */
#markdownBody img:not(.tikz-image),
.sidenote img {
  filter: invert(1);
  transition: filter 0.25s ease;
}
#markdownBody img:not(.tikz-image):hover,
.sidenote img:hover {
  filter: none;
}

/* NerdTests badge on the About page */
#markdownBody p.nerd-badge {
  text-align: center;
  text-indent: 0;
  margin-top: 1.5em;
}
#markdownBody p.nerd-badge a:link {
  background-image: none;
  text-shadow: none;
}
