@charset "UTF-8";
/* --------------------------------------------------------------
Reset
--------------------------------------------------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  line-height: 1.8;
  background: #fff;
  margin: 1.5em 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: 400;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
}

blockquote, q {
  quotes: "" "";
}

a img {
  border: none;
}

input, textarea {
  margin: 0;
}

.footnotes ol li > p,
div.footnotes ol li > p,
section.footnotes ol li > p,
#footnotes ol li > p {
  display: inline;
  margin: 0;
  padding: 0;
}
.footnotes ol li > p + p,
div.footnotes ol li > p + p,
section.footnotes ol li > p + p,
#footnotes ol li > p + p {
  display: block;
  margin-top: 0.5em;
}

#mkreplaced-toc {
  list-style-position: inside;
  padding: 0;
  margin: 0 0 0 1rem;
  list-style-type: none;
}
#mkreplaced-toc li::before {
  content: "";
}
#mkreplaced-toc li {
  font-size: 1rem;
  line-height: 1.25;
  font-weight: normal;
}
#mkreplaced-toc li ul {
  font-size: 1.3rem;
  font-weight: 300;
  padding: 0.5rem 0;
  margin: 0 0 0 1rem;
}
#mkreplaced-toc li.missing {
  list-style-type: none !important;
}
#mkreplaced-toc.max-1 ul, #mkreplaced-toc.max1 ul {
  display: none;
}
#mkreplaced-toc.max-2 ul ul, #mkreplaced-toc.max2 ul ul {
  display: none;
}
#mkreplaced-toc.max-3 ul ul ul, #mkreplaced-toc.max3 ul ul ul {
  display: none;
}
#mkreplaced-toc.max-4 ul ul ul ul, #mkreplaced-toc.max4 ul ul ul ul {
  display: none;
}
#mkreplaced-toc.max-5 ul ul ul ul ul, #mkreplaced-toc.max5 ul ul ul ul ul {
  display: none;
}

.mk-rtl {
  direction: rtl;
  text-align: right;
}

body.mkkatex-number-equations {
  counter-reset: eqnum;
}
body.mkkatex-number-equations .katex-display {
  position: relative;
}
body.mkkatex-number-equations .katex-display::after {
  counter-increment: eqnum;
  content: "(" counter(eqnum) ")";
  position: absolute;
  left: 0;
  top: 25%;
}
body.mkkatex-number-equations.mkkatex-number-equations-right .katex-display::after {
  right: 0;
  left: auto;
}

.mkprinting,
.mkprinting #wrapper {
  height: auto;
  margin-bottom: 0;
  padding-bottom: 0;
}

.hideProgress #generated-toc,
.hideProgress #firstdiff,
.hideProgress #toc-title,
.hideProgress #mkdocumentprogress,
.hideProgress #mkincludechart,
.hideProgress #mkprogressbar1,
.hideProgress #mkprogressbar2,
.hideProgress b.bookmark,
.hideProgress .mkscrollmeter,
.hideProgress #alllinks,
.hideProgress #criticnav,
.hideProgress .popup,
.hideProgress #progressindicator,
.hideProgress #mkautoscroll,
.mkprinting #generated-toc,
.mkprinting #firstdiff,
.mkprinting #toc-title,
.mkprinting #mkdocumentprogress,
.mkprinting #mkincludechart,
.mkprinting #mkprogressbar1,
.mkprinting #mkprogressbar2,
.mkprinting b.bookmark,
.mkprinting .mkscrollmeter,
.mkprinting #alllinks,
.mkprinting #criticnav,
.mkprinting .popup,
.mkprinting #progressindicator,
.mkprinting #mkautoscroll {
  display: none !important;
}

.mkcolor-grammar-error,
.mkcolor-spell-error {
  background: none;
  border-bottom: none;
}

body.mkprinting #wrapper ul,
body.mkprinting #wrapper ol,
body.mkprinting #wrapper pre {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
body.mkprinting #wrapper table {
  margin-top: 0.75rem;
  margin-bottom: 1.25rem;
  padding-bottom: 0.35rem;
}
body.mkprinting #wrapper ul ul,
body.mkprinting #wrapper ol ol,
body.mkprinting #wrapper ul ol,
body.mkprinting #wrapper ol ul {
  margin-top: 0;
  margin-bottom: 0;
}
body.mkprinting #wrapper ul ul,
body.mkprinting #wrapper ul ol {
  margin-bottom: 0.25rem;
}
body.mkprinting #wrapper p {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
body.mkprinting #wrapper h1 {
  margin-top: 0;
  margin-bottom: 0.75rem;
}
body.mkprinting #wrapper h2,
body.mkprinting #wrapper h3,
body.mkprinting #wrapper h4,
body.mkprinting #wrapper h5,
body.mkprinting #wrapper h6 {
  margin-top: 1.25rem;
  margin-bottom: 0.75rem;
}
body.mkprinting #wrapper hr {
  margin: 1rem 0;
}
body.mkprinting #wrapper p + hr,
body.mkprinting #wrapper ul + hr,
body.mkprinting #wrapper ol + hr {
  margin-top: 0.75rem;
  margin-bottom: 0;
}
body.mkprinting #wrapper p:has(+ hr),
body.mkprinting #wrapper ul:has(+ hr),
body.mkprinting #wrapper ol:has(+ hr) {
  margin-bottom: 0;
}
body.mkprinting #wrapper hr:has(+ h2),
body.mkprinting #wrapper hr:has(+ h3),
body.mkprinting #wrapper hr:has(+ h4),
body.mkprinting #wrapper hr:has(+ h5),
body.mkprinting #wrapper hr:has(+ h6) {
  margin-bottom: 0;
}
body.mkprinting #wrapper p:has(+ h2),
body.mkprinting #wrapper p:has(+ h3),
body.mkprinting #wrapper p:has(+ h4),
body.mkprinting #wrapper p:has(+ h5),
body.mkprinting #wrapper p:has(+ h6),
body.mkprinting #wrapper ul:has(+ h2),
body.mkprinting #wrapper ul:has(+ h3),
body.mkprinting #wrapper ul:has(+ h4),
body.mkprinting #wrapper ul:has(+ h5),
body.mkprinting #wrapper ul:has(+ h6),
body.mkprinting #wrapper ol:has(+ h2),
body.mkprinting #wrapper ol:has(+ h3),
body.mkprinting #wrapper ol:has(+ h4),
body.mkprinting #wrapper ol:has(+ h5),
body.mkprinting #wrapper ol:has(+ h6),
body.mkprinting #wrapper table:has(+ h2),
body.mkprinting #wrapper table:has(+ h3),
body.mkprinting #wrapper table:has(+ h4),
body.mkprinting #wrapper table:has(+ h5),
body.mkprinting #wrapper table:has(+ h6),
body.mkprinting #wrapper blockquote:has(+ h2),
body.mkprinting #wrapper blockquote:has(+ h3),
body.mkprinting #wrapper blockquote:has(+ h4),
body.mkprinting #wrapper blockquote:has(+ h5),
body.mkprinting #wrapper blockquote:has(+ h6) {
  margin-bottom: 0;
}
body.mkprinting #wrapper p + h2,
body.mkprinting #wrapper ul + h2,
body.mkprinting #wrapper ol + h2,
body.mkprinting #wrapper blockquote + h2,
body.mkprinting #wrapper p + h3,
body.mkprinting #wrapper ul + h3,
body.mkprinting #wrapper ol + h3,
body.mkprinting #wrapper blockquote + h3,
body.mkprinting #wrapper p + h4,
body.mkprinting #wrapper ul + h4,
body.mkprinting #wrapper ol + h4,
body.mkprinting #wrapper blockquote + h4,
body.mkprinting #wrapper p + h5,
body.mkprinting #wrapper ul + h5,
body.mkprinting #wrapper ol + h5,
body.mkprinting #wrapper blockquote + h5,
body.mkprinting #wrapper p + h6,
body.mkprinting #wrapper ul + h6,
body.mkprinting #wrapper ol + h6,
body.mkprinting #wrapper blockquote + h6 {
  margin-top: 1.25rem;
}
body.mkprinting #wrapper hr + h2,
body.mkprinting #wrapper hr + h3,
body.mkprinting #wrapper hr + h4,
body.mkprinting #wrapper hr + h5,
body.mkprinting #wrapper hr + h6 {
  margin-top: 1.25rem;
}
body.mkprinting #wrapper p + p,
body.mkprinting #wrapper p + ul,
body.mkprinting #wrapper p + ol,
body.mkprinting #wrapper ul + p,
body.mkprinting #wrapper ol + p,
body.mkprinting #wrapper ul + ul,
body.mkprinting #wrapper ol + ol,
body.mkprinting #wrapper ul + ol,
body.mkprinting #wrapper ol + ul,
body.mkprinting #wrapper h1 + p,
body.mkprinting #wrapper h2 + p,
body.mkprinting #wrapper h3 + p,
body.mkprinting #wrapper h4 + p,
body.mkprinting #wrapper h5 + p,
body.mkprinting #wrapper h6 + p,
body.mkprinting #wrapper h1 + ul,
body.mkprinting #wrapper h2 + ul,
body.mkprinting #wrapper h3 + ul,
body.mkprinting #wrapper h4 + ul,
body.mkprinting #wrapper h5 + ul,
body.mkprinting #wrapper h6 + ul,
body.mkprinting #wrapper h1 + ol,
body.mkprinting #wrapper h2 + ol,
body.mkprinting #wrapper h3 + ol,
body.mkprinting #wrapper h4 + ol,
body.mkprinting #wrapper h5 + ol,
body.mkprinting #wrapper h6 + ol,
body.mkprinting #wrapper h1 + table,
body.mkprinting #wrapper h2 + table,
body.mkprinting #wrapper h3 + table,
body.mkprinting #wrapper h4 + table,
body.mkprinting #wrapper h5 + table,
body.mkprinting #wrapper h6 + table,
body.mkprinting #wrapper table + p,
body.mkprinting #wrapper table + ul,
body.mkprinting #wrapper table + ol {
  margin-top: 0;
}
body.mkprinting #wrapper table:has(+ p),
body.mkprinting #wrapper table:has(+ ul),
body.mkprinting #wrapper table:has(+ ol) {
  margin-bottom: 1.25rem;
}
body.mkprinting #wrapper table + h2,
body.mkprinting #wrapper table + h3,
body.mkprinting #wrapper table + h4,
body.mkprinting #wrapper table + h5,
body.mkprinting #wrapper table + h6 {
  margin-top: 0;
  padding-top: 0.75rem;
}
body.mkprinting #wrapper blockquote {
  margin: 0.5rem 0;
}
body.mkprinting #wrapper blockquote + blockquote {
  margin-top: 1.5rem;
}
body.mkprinting #wrapper blockquote p {
  margin: 0.4rem 0;
}
body.mkprinting #wrapper figure {
  margin: 0.5rem 0 0.75rem;
}

@media print {
  body.bandw {
    background: white;
  }
  html,
  body,
  #wrapper {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    -webkit-perspective: none !important;
    -webkit-text-size-adjust: none;
    border: 0;
    box-sizing: border-box;
    float: none;
    margin: 0;
    max-width: 100%;
    padding: 0;
    margin-top: 0;
    width: auto;
  }
  .critic #wrapper mark.crit {
    background-color: #fffd38 !important;
    text-decoration: none;
    color: #000;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    page-break-after: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  section {
    page-break-before: avoid;
  }
  pre > code {
    white-space: pre;
    word-break: break-word;
  }
  #generated-toc,
  #firstdiff,
  #toc-title,
  #mkdocumentprogress,
  #mkincludechart,
  #mkprogressbar1,
  #mkprogressbar2,
  .mkscrollmeter,
  #alllinks,
  .popup {
    display: none !important;
  }
  .suppressprintlinks a {
    border-bottom: none !important;
    color: inherit !important;
    cursor: default !important;
    text-decoration: none !important;
  }
  .hrefafterlinktext #wrapper a:link:after,
  .hrefafterlinktext #wrapper a:visited:after {
    content: " (" attr(href) ") ";
    font-size: 90%;
    opacity: 0.9;
  }
  .nocodebreak pre {
    page-break-inside: avoid;
  }
  .breakfootnotes .footnotes {
    page-break-before: always;
  }
  .breakfootnotes .footnotes hr {
    display: none;
  }
  body.footnotes-at-page-bottom .footnotes {
    display: none !important;
  }
  .page-footnotes-container {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: white;
    border-top: 1px solid #ccc;
    padding: 5px 15px;
    margin-top: 20px;
    z-index: 1000;
  }
  .page-footnotes-container .page-footnote {
    margin-bottom: 8px;
    font-size: 0.9em;
    line-height: 1.4;
    display: flex;
    align-items: baseline;
  }
  .page-footnotes-container .page-footnote .footnote-marker {
    font-weight: bold;
    vertical-align: super;
    font-size: 0.8em;
    margin-right: 8px;
    flex-shrink: 0;
  }
  .page-footnotes-container .page-footnote span {
    display: inline;
    margin: 0;
    padding: 0;
  }
  #mktoctitle {
    display: block;
  }
  #print-title {
    border-bottom: solid 1px #666;
    display: block;
  }
  #wrapper ul,
  #wrapper ol,
  #wrapper pre {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }
  #wrapper table {
    margin-top: 0.75rem;
    margin-bottom: 1.25rem;
    padding-bottom: 0.35rem;
  }
  #wrapper ul ul,
  #wrapper ol ol,
  #wrapper ul ol,
  #wrapper ol ul {
    margin-top: 0;
    margin-bottom: 0;
  }
  #wrapper ul ul,
  #wrapper ul ol {
    margin-bottom: 0.25rem;
  }
  #wrapper p {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }
  #wrapper h1 {
    margin-top: 0;
    margin-bottom: 0.75rem;
  }
  #wrapper h2,
  #wrapper h3,
  #wrapper h4,
  #wrapper h5,
  #wrapper h6 {
    margin-top: 1.25rem;
    margin-bottom: 0.75rem;
  }
  #wrapper hr {
    margin: 1rem 0;
  }
  #wrapper p + hr,
  #wrapper ul + hr,
  #wrapper ol + hr {
    margin-top: 0.75rem;
    margin-bottom: 0;
  }
  #wrapper p:has(+ hr),
  #wrapper ul:has(+ hr),
  #wrapper ol:has(+ hr) {
    margin-bottom: 0;
  }
  #wrapper hr:has(+ h2),
  #wrapper hr:has(+ h3),
  #wrapper hr:has(+ h4),
  #wrapper hr:has(+ h5),
  #wrapper hr:has(+ h6) {
    margin-bottom: 0;
  }
  #wrapper p:has(+ h2),
  #wrapper p:has(+ h3),
  #wrapper p:has(+ h4),
  #wrapper p:has(+ h5),
  #wrapper p:has(+ h6),
  #wrapper ul:has(+ h2),
  #wrapper ul:has(+ h3),
  #wrapper ul:has(+ h4),
  #wrapper ul:has(+ h5),
  #wrapper ul:has(+ h6),
  #wrapper ol:has(+ h2),
  #wrapper ol:has(+ h3),
  #wrapper ol:has(+ h4),
  #wrapper ol:has(+ h5),
  #wrapper ol:has(+ h6),
  #wrapper table:has(+ h2),
  #wrapper table:has(+ h3),
  #wrapper table:has(+ h4),
  #wrapper table:has(+ h5),
  #wrapper table:has(+ h6),
  #wrapper blockquote:has(+ h2),
  #wrapper blockquote:has(+ h3),
  #wrapper blockquote:has(+ h4),
  #wrapper blockquote:has(+ h5),
  #wrapper blockquote:has(+ h6) {
    margin-bottom: 0;
  }
  #wrapper p + h2,
  #wrapper ul + h2,
  #wrapper ol + h2,
  #wrapper blockquote + h2,
  #wrapper p + h3,
  #wrapper ul + h3,
  #wrapper ol + h3,
  #wrapper blockquote + h3,
  #wrapper p + h4,
  #wrapper ul + h4,
  #wrapper ol + h4,
  #wrapper blockquote + h4,
  #wrapper p + h5,
  #wrapper ul + h5,
  #wrapper ol + h5,
  #wrapper blockquote + h5,
  #wrapper p + h6,
  #wrapper ul + h6,
  #wrapper ol + h6,
  #wrapper blockquote + h6 {
    margin-top: 1.25rem;
  }
  #wrapper hr + h2,
  #wrapper hr + h3,
  #wrapper hr + h4,
  #wrapper hr + h5,
  #wrapper hr + h6 {
    margin-top: 1.25rem;
  }
  #wrapper p + p,
  #wrapper p + ul,
  #wrapper p + ol,
  #wrapper ul + p,
  #wrapper ol + p,
  #wrapper ul + ul,
  #wrapper ol + ol,
  #wrapper ul + ol,
  #wrapper ol + ul,
  #wrapper h1 + p,
  #wrapper h2 + p,
  #wrapper h3 + p,
  #wrapper h4 + p,
  #wrapper h5 + p,
  #wrapper h6 + p,
  #wrapper h1 + ul,
  #wrapper h2 + ul,
  #wrapper h3 + ul,
  #wrapper h4 + ul,
  #wrapper h5 + ul,
  #wrapper h6 + ul,
  #wrapper h1 + ol,
  #wrapper h2 + ol,
  #wrapper h3 + ol,
  #wrapper h4 + ol,
  #wrapper h5 + ol,
  #wrapper h6 + ol,
  #wrapper h1 + table,
  #wrapper h2 + table,
  #wrapper h3 + table,
  #wrapper h4 + table,
  #wrapper h5 + table,
  #wrapper h6 + table,
  #wrapper table + p,
  #wrapper table + ul,
  #wrapper table + ol {
    margin-top: 0;
  }
  #wrapper table:has(+ p),
  #wrapper table:has(+ ul),
  #wrapper table:has(+ ol) {
    margin-bottom: 1.25rem;
  }
  #wrapper table + h2,
  #wrapper table + h3,
  #wrapper table + h4,
  #wrapper table + h5,
  #wrapper table + h6 {
    margin-top: 0;
    padding-top: 0.75rem;
  }
  #wrapper blockquote {
    margin: 0.5rem 0;
  }
  #wrapper blockquote + blockquote {
    margin-top: 1.5rem;
  }
  #wrapper blockquote p {
    margin: 0.4rem 0;
  }
  #wrapper figure {
    margin: 0.5rem 0 0.75rem;
  }
  #wrapper pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
  }
  #wrapper #generated-toc-clone,
  #wrapper #mkreplaced-toc {
    display: block;
  }
  .task-list {
    padding-left: 3.3rem;
  }
  .mkstyle--ink .task-list, .mkstyle--swiss .task-list {
    padding-left: 3.3rem !important;
  }
  .mkstyle--upstandingcitizen .task-list, .mkstyle--github .task-list {
    padding-left: 3.6rem !important;
  }
  .mkstyle--manuscript .task-list {
    padding-left: 0 !important;
  }
  .mkstyle--amblin .task-list {
    padding-left: 2.1rem !important;
  }
  .mkstyle--grump .task-list {
    padding-left: 0 !important;
  }
  .task-list .task-list-item {
    list-style-type: none !important;
    left: auto;
  }
  .task-list .task-list-item .task-list-item-checkbox {
    -webkit-appearance: none;
    position: relative;
    left: auto;
  }
  .task-list .task-list-item .task-list-item-checkbox:before {
    border: solid 1px #aaa;
    border-radius: 2px;
    color: white;
    content: " ";
    display: block;
    font-weight: bold;
    height: 1em;
    left: -1rem;
    line-height: 1;
    position: absolute;
    text-align: center;
    top: -0.75em;
    width: 1em;
  }
  .task-list .gh-complete.task-list-item .task-list-item-checkbox:before {
    background: #838387;
    content: "✓";
  }
}
.page-footnotes-container {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-top: 1px solid #ccc;
  padding: 5px 15px;
  margin-top: 10px;
  background: white;
  z-index: 1000;
  font-size: 0.9em;
  line-height: 1.4;
}

.page-footnote {
  display: flex;
  align-items: baseline;
  margin-bottom: 8px;
}
.page-footnote:last-child {
  margin-bottom: 0;
}

.footnote-marker {
  font-weight: bold;
  vertical-align: super;
  font-size: 0.8em;
  margin-right: 8px;
  flex-shrink: 0;
}

body.footnotes-at-page-bottom .footnotes {
  display: none !important;
}

.footnotes ol li > p,
div.footnotes ol li > p,
section.footnotes ol li > p,
#footnotes ol li > p {
  display: inline;
  margin: 0;
  padding: 0;
}
.footnotes ol li > p + p,
div.footnotes ol li > p + p,
section.footnotes ol li > p + p,
#footnotes ol li > p + p {
  display: block;
  margin-top: 0.5em;
}