@font-face{font-family:'SourceCodePro';src:url(../fonts/source-code-pro/SourceCodePro-Regular-2030.otf.woff2) format('woff2');font-weight:normal;font-style:normal}@font-face{font-family:'SourceCodePro';src:url(../fonts/source-code-pro/SourceCodePro-It-1050.otf.woff2) format('woff2');font-weight:normal;font-style:italic}@font-face{font-family:'SourceCodePro';src:url(../fonts/source-code-pro/SourceCodePro-Bold-2030.otf.woff2) format('woff2');font-weight:bold;font-style:normal}@font-face{font-family:'SourceCodePro';src:url(../fonts/source-code-pro/SourceCodePro-BoldIt-1050.otf.woff2) format('woff2');font-weight:bold;font-style:italic}@font-face{font-family:"et-book";src:url(../fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot);src:url(../fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot?#iefix) format("embedded-opentype") , url(../fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.woff) format("woff") , url(../fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.ttf) format("truetype") , url(../fonts/et-book/et-book-roman-line-figures/et-book-roman-line-figures.svg#etbookromanosf) format("svg");font-weight:normal;font-style:normal}@font-face{font-family:"et-book";src:url(../fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot);src:url(../fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot?#iefix) format("embedded-opentype") , url(../fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.woff) format("woff") , url(../fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.ttf) format("truetype") , url(../fonts/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.svg#etbookromanosf) format("svg");font-weight:normal;font-style:italic}@font-face{font-family:"et-book";src:url(../fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot);src:url(../fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot?#iefix) format("embedded-opentype") , url(../fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.woff) format("woff") , url(../fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.ttf) format("truetype") , url(../fonts/et-book/et-book-bold-line-figures/et-book-bold-line-figures.svg#etbookromanosf) format("svg");font-weight:bold;font-style:normal}@font-face{font-family:"et-book-roman-old-style";src:url(../fonts/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot);src:url(../fonts/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot?#iefix) format("embedded-opentype") , url(../fonts/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.woff) format("woff") , url(../fonts/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.ttf) format("truetype") , url(../fonts/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.svg#etbookromanosf) format("svg");font-weight:normal;font-style:normal}:root{--highlight-red:#ffbfb5;--highlight-yellow:#fcebc1;--highlight-green:#b5dcaf;--highlight-blue:#d6e8fa;--highlight-purple:#d8c3ff;--color-inline-code-bg:#f7f9fa;--color-border:#e6e8eb;--color-border-heavy:#c1c7cd;--font-family-prose:-apple-system , BlinkMacSystemFont , "Segoe UI" , Roboto , Oxygen , Ubuntu , Cantarell , "Open Sans" , "Helvetica Neue" , sans-serif;--font-family-heading:-apple-system , BlinkMacSystemFont , "Segoe UI" , Roboto , Oxygen , Ubuntu , Cantarell , "Open Sans" , "Helvetica Neue" , sans-serif;--font-family-code:SourceCodePro , Menlo , monospace;--font-size:16px;--inline-code-font-size:15px;--side-note-baseline-offset:5px;--side-note-text-indent:-8px;--heading-font-weight:400;--title-font-size:40px;--h1-font-size:30px;--h2-font-size:21px;--ul-indent-size:24px;--task-list-margin-right:6px}@media (prefers-color-scheme:dark){:root{--highlight-red:#644744;--highlight-yellow:#5c4e24;--highlight-green:#495315;--highlight-blue:#4b5058;--highlight-purple:#544a60;--color-inline-code-bg:#242121;--color-border:#393635;--color-border-heavy:#524f4d;--color-table-heading:#242121}}pre,pre.numberSource{background-color:#f7f9fa;border:1px solid var(--color-border);--color-code-highlight-bg:#e6e8eb}pre code{color:var(--color-text)}pre.numberSource>code.sourceCode>span>a:first-child::before{color:#c1c7cd}code{--paper-code-red:#c82829;--paper-code-orange:#ff5600;--paper-code-green:#718c00;--paper-code-blue:#21439c;--paper-code-cyan:#45899d;--paper-code-magenta:#a535ae;--paper-code-gray:#637282}code span.im{color:var(--color-text);font-weight:normal;font-style:normal}code span.bu{color:var(--color-text);font-weight:normal;font-style:normal}code span.ex{color:var(--color-text);font-weight:normal;font-style:normal}code span.at{color:var(--color-text);font-weight:normal;font-style:normal}code span.kw{color:var(--paper-code-orange);font-weight:normal;font-style:normal}code span.dt{color:var(--paper-code-green);font-weight:normal;font-style:normal}code span.dv{color:var(--paper-code-blue);font-weight:normal;font-style:normal}code span.bn{color:var(--paper-code-magenta);font-weight:normal;font-style:normal}code span.fl{color:var(--paper-code-magenta);font-weight:normal;font-style:normal}code span.ch{color:var(--paper-code-magenta);font-weight:normal;font-style:normal}code span.st{color:var(--paper-code-green);font-weight:normal;font-style:normal}code span.vs{color:var(--paper-code-green);font-weight:normal;font-style:normal}code span.co{color:var(--paper-code-gray);font-weight:normal;font-style:normal}code span.ot{color:var(--paper-code-blue);font-weight:normal;font-style:normal}code span.al{color:var(--paper-code-red);font-weight:normal;font-style:normal}code span.fu{color:var(--paper-code-blue);font-weight:normal;font-style:normal}code span.er{color:var(--paper-code-red);font-weight:normal;font-style:normal}code span.wa{color:var(--paper-code-orange);font-weight:normal;font-style:italic}code span.cn{color:var(--paper-code-magenta);font-weight:normal;font-style:normal}code span.sc{color:var(--paper-code-red);font-weight:normal;font-style:normal}code span.ss{color:var(--paper-code-red);font-weight:normal;font-style:normal}code span.va{color:var(--paper-code-blue);font-weight:normal;font-style:normal}code span.cf{color:var(--paper-code-orange);font-weight:normal;font-style:normal}code span.op{color:var(--paper-code-orange);font-weight:normal;font-style:normal}code span.pp{color:var(--paper-code-cyan);font-weight:normal;font-style:normal}code span.do{color:var(--paper-code-gray);font-weight:normal;font-style:italic}code span.an{color:var(--paper-code-gray);font-weight:normal;font-style:italic}code span.cv{color:var(--paper-code-gray);font-weight:normal;font-style:italic}code span.in{color:var(--paper-code-gray);font-weight:normal;font-style:italic}a.sourceLine::before{text-decoration:none}@media (prefers-color-scheme:dark){pre,pre.numberSource{background-color:#242121;--color-code-highlight-bg:#322f2f}pre.numberSource>code.sourceCode>span>a:first-child::before{color:#524f4d}code{--paper-code-red:#9b0032;--paper-code-orange:#fa551e;--paper-code-green:#b4dc19;--paper-code-blue:#14c8eb;--paper-code-cyan:#14c8eb;--paper-code-magenta:#78286e;--paper-code-gray:#9d9b99}}:root{--solarized-base03:#002b36;--solarized-base02:#073642;--solarized-base01:#586e75;--solarized-base00:#657b83;--solarized-base0:#839496;--solarized-base1:#93a1a1;--solarized-base2:#eee8d5;--solarized-base3:#fdf6e3;--solarized-yellow:#b58900;--solarized-orange:#cb4b16;--solarized-red:#dc322f;--solarized-magenta:#d33682;--solarized-violet:#6c71c4;--solarized-blue:#268bd2;--solarized-cyan:#2aa198;--solarized-green:#859900}@media (prefers-color-scheme:dark){:root{--solarized-base03:#fdf6e3;--solarized-base02:#eee8d5;--solarized-base01:#93a1a1;--solarized-base00:#839496;--solarized-base0:#657b83;--solarized-base1:#586e75;--solarized-base2:#073642;--solarized-base3:#002b36}}pre,pre.numberSource{background:var(--solarized-base3);--color-code-highlight-bg:var(--solarized-base2)}pre code{color:var(--solarized-base00)}pre.numberSource>code.sourceCode>span>a:first-child::before{color:var(--solarized-base1)}code span.kw{color:var(--solarized-green);font-weight:normal;font-style:normal}code span.dt{color:var(--solarized-yellow);font-weight:normal;font-style:normal}code span.dv{color:var(--solarized-cyan);font-weight:normal;font-style:normal}code span.bn{color:var(--solarized-cyan);font-weight:normal;font-style:normal}code span.fl{color:var(--solarized-cyan);font-weight:normal;font-style:normal}code span.ch{color:var(--solarized-cyan);font-weight:normal;font-style:normal}code span.st{color:var(--solarized-cyan);font-weight:normal;font-style:normal}code span.co{color:var(--solarized-base1);font-weight:normal;font-style:italic}code span.ot{color:var(--solarized-blue);font-weight:normal;font-style:normal}code span.al{color:var(--solarized-red);font-weight:normal;font-style:normal}code span.fu{color:var(--solarized-blue);font-weight:normal;font-style:normal}code span.er{color:var(--solarized-red);font-weight:normal;font-style:normal}code span.wa{color:var(--solarized-orange);font-weight:normal;font-style:italic}code span.cn{color:var(--solarized-cyan);font-weight:normal;font-style:normal}code span.sc{color:var(--solarized-red);font-weight:normal;font-style:normal}code span.vs{color:var(--solarized-cyan);font-weight:normal;font-style:normal}code span.ss{color:var(--solarized-red);font-weight:normal;font-style:normal}code span.im{color:var(--solarized-base00);font-weight:normal;font-style:normal}code span.va{color:var(--solarized-blue);font-weight:normal;font-style:normal}code span.cf{color:var(--solarized-green);font-weight:normal;font-style:normal}code span.op{color:var(--solarized-green);font-weight:normal;font-style:normal}code span.bu{color:var(--solarized-base00);font-weight:normal;font-style:normal}code span.ex{color:var(--solarized-base00);font-weight:normal;font-style:normal}code span.pp{color:var(--solarized-orange);font-weight:normal;font-style:normal}code span.at{color:var(--solarized-base00);font-weight:normal;font-style:normal}code span.do{color:var(--solarized-base1);font-weight:normal;font-style:italic}code span.an{color:var(--solarized-base1);font-weight:normal;font-style:italic}code span.cv{color:var(--solarized-base1);font-weight:normal;font-style:italic}code span.in{color:var(--solarized-base1);font-weight:normal;font-style:italic}a.sourceLine::before{text-decoration:none}code.diff span.kw{color:var(--solarized-yellow);font-weight:normal;font-style:normal}code.diff span.dt{color:var(--solarized-blue);font-weight:normal;font-style:normal}code.diff span.st{color:var(--solarized-red);font-weight:normal;font-style:normal}code.diff span.va{color:var(--solarized-green);font-weight:normal;font-style:normal}:root{--background-color:#fffff8;--color-text:#111;--color-text-secondary:#111;--color-link:inherit;--color-sidenote:#111;--color-inline-code:#111;--color-inline-code-bg:rgba(0,0,0,0);--color-border:rgba(0,0,0,0);--color-border-heavy:#000;--color-table-heading:var(--background-color);--font-family-prose:et-book , Palatino , "Palatino Linotype" , "Palatino LT STD" , "Book Antiqua" , Georgia , serif;--font-family-heading:var(--font-family-prose);--font-family-code:Consolas , "Liberation Mono" , Menlo , Courier , monospace;--side-note-number-font-family:et-book-roman-old-style , Palatino , Georgia , serif;--line-height:30px;--font-size:21px;--inline-code-font-size:16px;--code-block-font-size:15px;--line-numbers-font-size:13px;--side-note-line-height:24px;--side-note-font-size:16px;--side-note-code-font-size:12px;--side-note-baseline-offset:4.5px;--side-note-text-indent:-8px;--heading-font-weight:400;--title-font-size:48px;--title-code-font-size:39px;--title-line-height:48px;--title-margin-top:90px;--h1-font-size:33px;--h1-code-font-size:27px;--h1-line-height:33px;--h1-margin-top:60px;--h1-margin-bottom:21px;--h2-font-size:26px;--h2-code-font-size:20px;--h2-line-height:26px;--h2-margin-top:60px;--h2-margin-bottom:21px;--figcaption-line-height:24px;--figcaption-font-size:18px;--figcaption-code-font-size:14px;--figcaption-gap:7px;--captioned-figure-gap:12px;--table-line-height:26px;--table-font-size:21px;--table-code-font-size:16px;--nav-toc-font-size:15px;--nav-toc-code-font-size:12px;--nav-toc-indent:16px}@media (prefers-color-scheme:dark){:root{--background-color:#111;--color-text:#fffff8;--color-text-secondary:#fffff8;--color-link:inherit;--color-sidenote:#fffff8;--color-inline-code:#fffff8;--color-inline-code-bg:inherit;--color-border:inherit;--color-border-heavy:#fff}}h1:not(.title), h2 {font-style:italic}nav#TOC label a,a:link,a:visited{text-decoration:underline}@media screen and (min-width: calc(745px + 2 * (52px + 206px + 52px) - 1px)) {
  nav#TOC a {
    text-decoration: none;
  }
  nav#TOC a:hover,
  nav#TOC a:hover code {
    text-decoration: underline;
  }
}table{border-width:2px}table,table td,table th{border-left:none;border-right:none}table td{border-top:none;border-bottom:none}table td,table th{min-width:120px}:root{--color-tol-navy:#328;--color-tol-forest:#173;--color-tol-acqua:#4a9;--color-tol-sky:#8ce;--color-tol-sand:#dc7;--color-tol-rose:#c67;--color-tol-lilac:#a49;--color-tol-plum:#825;--color-tol-navy-bg: hsl(from var(--color-tol-navy) h calc(s * 0.5) calc(l * 1.75));--color-tol-forest-bg: hsl(from var(--color-tol-forest) h calc(s * 0.4) calc(l * 1.8));--color-tol-acqua-bg: hsl(from var(--color-tol-acqua) h calc(s * 0.5) calc(l * 1.75));--color-tol-sky-bg: hsl(from var(--color-tol-sky) h calc(s * 0.5) calc(l * 1.75));--color-tol-sand-bg: hsl(from var(--color-tol-sand) h calc(s * 0.5) calc(l * 1.75));--color-tol-rose-bg: hsl(from var(--color-tol-rose) h calc(s * 0.5) calc(l * 1.75));--color-tol-lilac-bg: hsl(from var(--color-tol-lilac) h calc(s * 0.5) calc(l * 1.75));--color-tol-plum-bg: hsl(from var(--color-tol-plum) h calc(s * 0.5) calc(l * 1.75));--background-color:#fff;--color-text:#1b2733;--color-text-secondary:#637282;--color-link:var(--color-tol-forest);--color-link-hover:var(--color-text);--color-link-bg-hover:var(--color-tol-forest-bg);--color-sidenote:#616970;--highlight-red:var(--color-tol-rose-bg);--highlight-yellow:var(--color-tol-sand-bg);--highlight-green:var(--color-tol-forest-bg);--highlight-blue:var(--color-tol-navy-bg);--highlight-purple:var(--color-tol-plum-bg);--color-inline-code:var(--color-tol-lilac);--color-inline-code-bg:var(--color-tol-sand-bg);--color-border:#dfdfd0;--color-border-heavy:#ccccd4;--color-table-heading:#f3f3fb;--font-family-prose:system-ui , -apple-system , BlinkMacSystemFont , "Segoe UI" , Roboto , Oxygen , Ubuntu , Cantarell , "Open Sans" , "Helvetica Neue" , sans-serif;--font-family-heading:system-ui , -apple-system , BlinkMacSystemFont , "Segoe UI" , Roboto , Oxygen , Ubuntu , Cantarell , "Open Sans" , "Helvetica Neue" , sans-serif;--font-family-code:Menlo , monospace;--side-note-number-font-family:var(--font-family-prose);--line-height:26px;--font-size:17px;--inline-code-font-size:15px;--code-block-font-size:14px;--code-block-side-padding:8px;--line-numbers-font-size:12px;--tight-code-line-height:18px;--tight-code-padding-top:5px;--side-note-line-height:20px;--side-note-font-size:13px;--side-note-code-font-size:13px;--side-note-baseline-offset:4px;--side-note-sup-offset:-6px;--side-note-number-hang-left:-6px;--side-note-text-indent:-9px;--heading-font-weight:500;--title-font-size:42px;--title-code-font-size:40px;--title-line-height:48px;--title-margin-top:92px;--h1-font-size:32px;--h1-code-font-size:29px;--h1-line-height:36px;--h1-word-spacing:1px;--h1-margin-top:30px;--h1-margin-bottom:12px;--h2-font-size:22px;--h2-code-font-size:20px;--h2-line-height:28px;--h2-word-spacing:.5px;--h2-margin-top:18px;--h2-margin-bottom:6px;--ul-indent-size:23px;--ol-indent-size:19px;--ol-li-padding-left:4px;--hr-margin-top:18px;--hr-margin-bottom:calc(var(--line-height) - var(--hr-margin-top) - 1px);--extra-wide-scale-factor:1.5;--figcaption-line-height:21px;--figcaption-font-size:14px;--figcaption-code-font-size:13px;--figcaption-gap:6px;--fig-border-color:#91a7be;--fig-border-size:1pt;--fig-border-style:var(--fig-border-size) solid var(--fig-border-color);--fig-background-color:var(--color-tol-sand-bg);--fig-background:var(--fig-background-color);--captioned-figure-gap:10px;--table-line-height:21px;--table-font-size:14px;--table-code-font-size:13px;--nav-toc-font-size:12px;--nav-toc-code-font-size:12px;--nav-toc-indent:15px;--nav-toc-baseline-offset:2px;--main-width:745px;--main-width-narrow:550px;--side-note-max-width:300px}@media (prefers-color-scheme:dark){:root{--background-color:#161313;--color-text:#f7f5f2;--color-text-secondary:#9d9b99;--color-link:#2994ff;--color-sidenote:#b4b2af;--highlight-red:#600;--highlight-yellow:#7f6000;--highlight-green:#274e13;--highlight-blue:#1c4587;--highlight-purple:#351c75;--color-inline-code:#f7f5f2;--color-inline-code-bg:#242121;--color-border:#393635;--color-border-heavy:#524f4d;--color-table-heading:#242121}}*,*:after,*:before{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{-webkit-text-size-adjust:100%}body{font-family: var(--font-family-prose);color:var(--color-text);font-size:var(--font-size);line-height:var(--line-height);-webkit-font-variant-ligatures:no-common-ligatures;font-variant-ligatures:no-common-ligatures;hanging-punctuation:first;margin:0;padding:0;padding-top:var(--title-margin-top);width:100%;background-color:var(--background-color)}@media print{body{background-color:initial}}.only-light-mode{display:inherit}.only-dark-mode{display:none}@media (prefers-color-scheme:dark){.only-light-mode{display:none}.only-dark-mode{display:inherit}}.sidenote,.marginnote{color:var(--color-sidenote);font-size:var(--side-note-font-size);line-height:var(--side-note-line-height);vertical-align:baseline;margin-top:var(--side-note-baseline-offset)}:is(.sidenote, .marginnote) figcaption {font-size:var(--side-note-font-size);line-height:var(--side-note-line-height)}.sidenote code,.marginnote code{color:var(--color-sidenote)}main > .sidenote-wrapper > :is(.marginnote, .sidenote) {margin-bottom:var(--side-note-line-height)}main{counter-reset:sidenote-counter-anchor sidenote-counter}.sidenote-number:after{counter-increment:sidenote-counter-anchor;content:counter(sidenote-counter-anchor)}.sidenote:before{counter-increment:sidenote-counter;content:counter(sidenote-counter)}.sidenote-number:after,.sidenote:before{position:relative}nav#TOC label,
label.margin-toggle:not(.sidenote-number),
.sidenote-number:after,
.sidenote:before,
.footnote-ref sup,
sup {font-size:var(--side-note-font-size);font-weight:700;font-family: var(--side-note-number-font-family);-webkit-font-feature-settings:"tnum" 1;font-feature-settings:"tnum" 1;vertical-align:baseline;position:relative;top:var(--side-note-sup-offset)}sup{font-weight:inherit}.sidenote:before{position:absolute;right: calc(100% + 0.5ch)}input.margin-toggle{display:none}label.margin-toggle:not(.sidenote-number) {display:none}label.sidenote-number{display:inline}@media screen and (max-width: calc(26px + 550px + 26px + 169px + 26px - 1px)) {
  .margin-toggle:checked + .sidenote,
  .margin-toggle:checked + .marginnote {
    margin-top: var(--side-note-line-height);
    vertical-align: baseline;
  }

  label.margin-toggle {
    color: var(--color-link);
  }

  label.margin-toggle:not(.sidenote-number) {
    display: inline;
  }

  label {
    cursor: pointer;
  }
}h1,h2{font-family: var(--font-family-heading);font-weight:var(--heading-font-weight)}h4,h5,h6{font-weight:normal}h1.title{margin-top:var(--line-height);margin-bottom:var(--line-height);font-size:var(--title-font-size);line-height:var(--title-line-height)}h1.title code{font-size:var(--title-code-font-size)}h1:not(.title) {font-size:var(--h1-font-size);line-height:var(--h1-line-height);word-spacing:var(--h1-word-spacing);margin-top:var(--h1-margin-top);margin-bottom:var(--h1-margin-bottom)}h1:not(.title) code {font-size:var(--h1-code-font-size)}h2{font-size:var(--h2-font-size);line-height:var(--h2-line-height);word-spacing:var(--h2-word-spacing);margin-top:var(--h2-margin-top);margin-bottom:var(--h2-margin-bottom)}h2 code{font-size:var(--h2-code-font-size)}h3{font-size:var(--font-size);line-height:var(--line-height);font-weight:bold}h1:not(.title) + :is(*:not(.sidenote-wrapper), p),
/* 1 */ h1:not(.title) + .sidenote-wrapper + :is(*:not(.sidenote-wrapper), p),
/* 2 */ h1:not(.title) + .sidenote-wrapper + .sidenote-wrapper + :is(*:not(.sidenote-wrapper), p),
/* 3 */ h1:not(.title) + .sidenote-wrapper + .sidenote-wrapper + .sidenote-wrapper + :is(*:not(.sidenote-wrapper), p),
/* 4 */ h1:not(.title) + .sidenote-wrapper + .sidenote-wrapper + .sidenote-wrapper + .sidenote-wrapper + :is(*:not(.sidenote-wrapper), p) {margin-top:var(--h1-margin-bottom)}h2 + :is(*:not(.sidenote-wrapper), p),
/* 1 */ h2 + .sidenote-wrapper + :is(*:not(.sidenote-wrapper), p),
/* 2 */ h2 + .sidenote-wrapper + .sidenote-wrapper + :is(*:not(.sidenote-wrapper), p),
/* 3 */ h2 + .sidenote-wrapper + .sidenote-wrapper + .sidenote-wrapper + :is(*:not(.sidenote-wrapper), p),
/* 4 */ h2 + .sidenote-wrapper + .sidenote-wrapper + .sidenote-wrapper + .sidenote-wrapper + :is(*:not(.sidenote-wrapper), p) {margin-top:var(--h2-margin-bottom)}h3 + :is(*:not(.sidenote-wrapper), p),
/* 1 */ h3 + .sidenote-wrapper + :is(*:not(.sidenote-wrapper), p),
/* 2 */ h3 + .sidenote-wrapper + .sidenote-wrapper + :is(*:not(.sidenote-wrapper), p),
/* 3 */ h3 + .sidenote-wrapper + .sidenote-wrapper + .sidenote-wrapper + :is(*:not(.sidenote-wrapper), p),
/* 4 */ h3 + .sidenote-wrapper + .sidenote-wrapper + .sidenote-wrapper + .sidenote-wrapper + :is(*:not(.sidenote-wrapper), p) {margin-top:0}p, main > ul, main > ol, .wide, :not(.wide) > div.sourceCode, main > pre, img, table, blockquote {margin-top:var(--line-height);margin-bottom:var(--line-height)}:is(.marginnote, .sidenote) :is(p, main > ul, main > ol, .wide, :not(.wide) > div.sourceCode, main > pre, img, table, blockquote) {margin-top:var(--side-note-font-size);margin-bottom:var(--side-note-font-size)}.sidenote-wrapper > :is(.marginnote, .sidenote) > :is(p, main > ul, main > ol, .wide, :not(.wide) > div.sourceCode, main > pre, img, table, blockquote):first-child {margin-top:0}.sidenote-wrapper > :is(.marginnote, .sidenote) > :is(p, main > ul, main > ol, .wide, :not(.wide) > div.sourceCode, main > pre, img, table, blockquote):last-child {margin-bottom:0}.wide > p:first-child,
.wide > table:first-child,
:is(p, figure) > img:first-child {margin-top:0}.wide > p:last-child,
:is(p, figure) > img:last-child {margin-bottom:0}ul:not(.task-list) {margin-left:var(--ul-indent-size)}ol{margin-left:var(--ol-indent-size)}ul.task-list{list-style:none;margin-left:var(--ul-indent-size)}ul.task-list>li{position:relative}ul.task-list>li>input[type="checkbox"]{position:absolute;left: calc(-1 * var(--ul-indent-size));height:var(--line-height)}ol>li{padding-left:var(--ol-li-padding-left)}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha}ol ol ol{list-style-type:lower-roman}ol ol ol ol{list-style-type:decimal}ol ol ol ol ol{list-style-type:lower-alpha}ol ol ol ol ol ol{list-style-type:lower-roman}ol ol ol ol ol ol ol{list-style-type:decimal}ol ol ol ol ol ol ol ol{list-style-type:lower-alpha}ol ol ol ol ol ol ol ol ol{list-style-type:lower-roman}ul{list-style-type:disc}ul ul{list-style-type:circle}ul ul ul{list-style-type:square}ul ul ul ul{list-style-type:disc}ul ul ul ul ul{list-style-type:circle}ul ul ul ul ul ul{list-style-type:square}ul ul ul ul ul ul ul{list-style-type:disc}ul ul ul ul ul ul ul ul{list-style-type:circle}ul ul ul ul ul ul ul ul ul{list-style-type:square}blockquote{border-left:1px solid var(--color-text-secondary);padding-left:1.5rem;font-style:italic}blockquote>p{margin-top:0}blockquote em,blockquote i,blockquote .sidenote-wrapper{font-style:normal}hr{margin-top:var(--hr-margin-top);margin-bottom:var(--hr-margin-bottom);border-style:solid;color:var(--color-border-heavy);border-width:1px 0 0}a code,a:link code,a:visited code,a,a:link,a:visited{color:var(--color-link);text-decoration-line:underline;text-decoration-style:solid;text-decoration-skip-ink:auto;text-decoration-thickness:1.2pt}a:hover{text-decoration-style:dashed;color:var(--color-link-hover);background-color:var(--color-link-bg-hover)}span.mark,mark{color:inherit;padding:2px 0 1px}span.mark.red,mark.red{background-color:var(--highlight-red)}span.mark.yellow,mark.yellow{background-color:var(--highlight-yellow)}span.mark.green,mark.green{background-color:var(--highlight-green)}span.mark.blue,mark.blue{background-color:var(--highlight-blue)}span.mark.purple,mark.purple{background-color:var(--highlight-purple)}.subtitle{margin-top:0}.author,.date{margin-top:0;margin-bottom:0}.signoff{margin-top: calc(4 * var(--line-height));margin-bottom: calc(4 * var(--line-height));display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.signoff .up{align-self:center;display:flex;justify-content:center}.signoff .up a:before{content:'↑ '}.signoff .prev{align-self:start;display:flex;justify-content:start}.signoff .prev a:before{content:'← '}.signoff .next{align-self:end;display:flex;justify-content:end}.signoff .next a:after{content:' →'}.copyright{text-align:center}span.smallcaps{font-variant:small-caps}span.underline{text-decoration:underline}.katex-display{background:var(--background-color);transform:translateZ(0)}@media print{.katex-display{background-color:initial}}code{font-family: var(--font-family-code);word-spacing:normal;color:var(--color-inline-code);background-color:var(--color-inline-code-bg);font-size:var(--inline-code-font-size);margin:0;padding:2px 0 1px;border:1px solid var(--color-border);border-radius:1px}.sidenote code,.marginnote code{font-size:var(--side-note-code-font-size)}pre code{color:inherit;background-color:inherit;font-size:var(--code-block-font-size);line-height:var(--line-height);margin:initial;padding:initial;border:initial;border-radius:initial}pre>code{position:relative;display:inline-block;min-width:100%;z-index:1;white-space:pre-wrap;padding:0 var(--code-block-side-padding)}.wide>pre,.wide>div.sourceCode{transform:translateZ(0)}.wide pre>code{white-space:pre}pre.numberSource code{counter-reset:source-line 0}pre>code.sourceCode>span{line-height:var(--line-height);display:inline-block;position:relative}div.sourceCode{--line-numbers-width: calc(4 * var(--line-numbers-font-size));--line-numbers-negative-width: calc(-1 * var(--line-numbers-width));margin-left:var(--line-numbers-negative-width)}div.sourceCode>pre{margin-left:var(--line-numbers-width)}pre.numberSource>code.sourceCode>span{counter-increment:source-line;padding-left:var(--line-numbers-width);text-indent:var(--line-numbers-negative-width);margin-left:var(--line-numbers-negative-width)}pre.numberSource>code.sourceCode>span>a:first-child::before{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;content:counter(source-line);font-size:var(--line-numbers-font-size);text-decoration:none;position:relative;text-align:right;display:inline-block;padding: 0 calc(2 * var(--code-block-side-padding));width:var(--line-numbers-width)}pre>code.sourceCode>span>a:first-child:hover::before{text-decoration:underline}.tight-code pre,pre.tight-code{padding-top:var(--tight-code-padding-top)}pre.tight-code code,.tight-code pre code,.tight-code pre>code.sourceCode>span,pre.tight-code>code.sourceCode>span{line-height:var(--tight-code-line-height)}pre>code.sourceCode>span::after{position:absolute;background-color:var(--color-code-highlight-bg);z-index:-1;left: calc(-1 * var(--code-block-side-padding));right: calc(-1 * var(--code-block-side-padding));top:0;height:100%}pre.numberSource>code.sourceCode>span::after{left:calc(var(--line-numbers-width) - var(--code-block-side-padding))}pre.hl-1  > code.sourceCode > span:nth-of-type(1)::after  {content:""}pre.hl-2  > code.sourceCode > span:nth-of-type(2)::after  {content:""}pre.hl-3  > code.sourceCode > span:nth-of-type(3)::after  {content:""}pre.hl-4  > code.sourceCode > span:nth-of-type(4)::after  {content:""}pre.hl-5  > code.sourceCode > span:nth-of-type(5)::after  {content:""}pre.hl-6  > code.sourceCode > span:nth-of-type(6)::after  {content:""}pre.hl-7  > code.sourceCode > span:nth-of-type(7)::after  {content:""}pre.hl-8  > code.sourceCode > span:nth-of-type(8)::after  {content:""}pre.hl-9  > code.sourceCode > span:nth-of-type(9)::after  {content:""}pre.hl-10 > code.sourceCode > span:nth-of-type(10)::after {content:""}pre.hl-11 > code.sourceCode > span:nth-of-type(11)::after {content:""}pre.hl-12 > code.sourceCode > span:nth-of-type(12)::after {content:""}pre.hl-13 > code.sourceCode > span:nth-of-type(13)::after {content:""}pre.hl-14 > code.sourceCode > span:nth-of-type(14)::after {content:""}pre.hl-15 > code.sourceCode > span:nth-of-type(15)::after {content:""}pre.hl-16 > code.sourceCode > span:nth-of-type(16)::after {content:""}pre.hl-17 > code.sourceCode > span:nth-of-type(17)::after {content:""}pre.hl-18 > code.sourceCode > span:nth-of-type(18)::after {content:""}pre.hl-19 > code.sourceCode > span:nth-of-type(19)::after {content:""}pre.hl-20 > code.sourceCode > span:nth-of-type(20)::after {content:""}pre.hl-21 > code.sourceCode > span:nth-of-type(21)::after {content:""}pre.hl-22 > code.sourceCode > span:nth-of-type(22)::after {content:""}pre.hl-23 > code.sourceCode > span:nth-of-type(23)::after {content:""}pre.hl-24 > code.sourceCode > span:nth-of-type(24)::after {content:""}pre.hl-25 > code.sourceCode > span:nth-of-type(25)::after {content:""}pre.hl-26 > code.sourceCode > span:nth-of-type(26)::after {content:""}pre.hl-27 > code.sourceCode > span:nth-of-type(27)::after {content:""}pre.hl-28 > code.sourceCode > span:nth-of-type(28)::after {content:""}pre.hl-29 > code.sourceCode > span:nth-of-type(29)::after {content:""}pre.hl-30 > code.sourceCode > span:nth-of-type(30)::after {content:""}pre.hl-31 > code.sourceCode > span:nth-of-type(31)::after {content:""}pre.hl-32 > code.sourceCode > span:nth-of-type(32)::after {content:""}pre.hl-33 > code.sourceCode > span:nth-of-type(33)::after {content:""}pre.hl-34 > code.sourceCode > span:nth-of-type(34)::after {content:""}pre.hl-35 > code.sourceCode > span:nth-of-type(35)::after {content:""}pre.hl-36 > code.sourceCode > span:nth-of-type(36)::after {content:""}pre.hl-37 > code.sourceCode > span:nth-of-type(37)::after {content:""}pre.hl-38 > code.sourceCode > span:nth-of-type(38)::after {content:""}pre.hl-39 > code.sourceCode > span:nth-of-type(39)::after {content:""}pre.hl-40 > code.sourceCode > span:nth-of-type(40)::after {content:""}pre.hl-1  > code.sourceCode > span:nth-of-type(1)  {min-width:100%}pre.hl-2  > code.sourceCode > span:nth-of-type(2)  {min-width:100%}pre.hl-3  > code.sourceCode > span:nth-of-type(3)  {min-width:100%}pre.hl-4  > code.sourceCode > span:nth-of-type(4)  {min-width:100%}pre.hl-5  > code.sourceCode > span:nth-of-type(5)  {min-width:100%}pre.hl-6  > code.sourceCode > span:nth-of-type(6)  {min-width:100%}pre.hl-7  > code.sourceCode > span:nth-of-type(7)  {min-width:100%}pre.hl-8  > code.sourceCode > span:nth-of-type(8)  {min-width:100%}pre.hl-9  > code.sourceCode > span:nth-of-type(9)  {min-width:100%}pre.hl-10 > code.sourceCode > span:nth-of-type(10) {min-width:100%}pre.hl-11 > code.sourceCode > span:nth-of-type(11) {min-width:100%}pre.hl-12 > code.sourceCode > span:nth-of-type(12) {min-width:100%}pre.hl-13 > code.sourceCode > span:nth-of-type(13) {min-width:100%}pre.hl-14 > code.sourceCode > span:nth-of-type(14) {min-width:100%}pre.hl-15 > code.sourceCode > span:nth-of-type(15) {min-width:100%}pre.hl-16 > code.sourceCode > span:nth-of-type(16) {min-width:100%}pre.hl-17 > code.sourceCode > span:nth-of-type(17) {min-width:100%}pre.hl-18 > code.sourceCode > span:nth-of-type(18) {min-width:100%}pre.hl-19 > code.sourceCode > span:nth-of-type(19) {min-width:100%}pre.hl-20 > code.sourceCode > span:nth-of-type(20) {min-width:100%}pre.hl-21 > code.sourceCode > span:nth-of-type(21) {min-width:100%}pre.hl-22 > code.sourceCode > span:nth-of-type(22) {min-width:100%}pre.hl-23 > code.sourceCode > span:nth-of-type(23) {min-width:100%}pre.hl-24 > code.sourceCode > span:nth-of-type(24) {min-width:100%}pre.hl-25 > code.sourceCode > span:nth-of-type(25) {min-width:100%}pre.hl-26 > code.sourceCode > span:nth-of-type(26) {min-width:100%}pre.hl-27 > code.sourceCode > span:nth-of-type(27) {min-width:100%}pre.hl-28 > code.sourceCode > span:nth-of-type(28) {min-width:100%}pre.hl-29 > code.sourceCode > span:nth-of-type(29) {min-width:100%}pre.hl-30 > code.sourceCode > span:nth-of-type(30) {min-width:100%}pre.hl-31 > code.sourceCode > span:nth-of-type(31) {min-width:100%}pre.hl-32 > code.sourceCode > span:nth-of-type(32) {min-width:100%}pre.hl-33 > code.sourceCode > span:nth-of-type(33) {min-width:100%}pre.hl-34 > code.sourceCode > span:nth-of-type(34) {min-width:100%}pre.hl-35 > code.sourceCode > span:nth-of-type(35) {min-width:100%}pre.hl-36 > code.sourceCode > span:nth-of-type(36) {min-width:100%}pre.hl-37 > code.sourceCode > span:nth-of-type(37) {min-width:100%}pre.hl-38 > code.sourceCode > span:nth-of-type(38) {min-width:100%}pre.hl-39 > code.sourceCode > span:nth-of-type(39) {min-width:100%}pre.hl-40 > code.sourceCode > span:nth-of-type(40) {min-width:100%}pre.numberSource.hl-1  > code.sourceCode > span:nth-of-type(1)  {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-2  > code.sourceCode > span:nth-of-type(2)  {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-3  > code.sourceCode > span:nth-of-type(3)  {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-4  > code.sourceCode > span:nth-of-type(4)  {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-5  > code.sourceCode > span:nth-of-type(5)  {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-6  > code.sourceCode > span:nth-of-type(6)  {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-7  > code.sourceCode > span:nth-of-type(7)  {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-8  > code.sourceCode > span:nth-of-type(8)  {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-9  > code.sourceCode > span:nth-of-type(9)  {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-10 > code.sourceCode > span:nth-of-type(10) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-11 > code.sourceCode > span:nth-of-type(11) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-12 > code.sourceCode > span:nth-of-type(12) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-13 > code.sourceCode > span:nth-of-type(13) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-14 > code.sourceCode > span:nth-of-type(14) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-15 > code.sourceCode > span:nth-of-type(15) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-16 > code.sourceCode > span:nth-of-type(16) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-17 > code.sourceCode > span:nth-of-type(17) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-18 > code.sourceCode > span:nth-of-type(18) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-19 > code.sourceCode > span:nth-of-type(19) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-20 > code.sourceCode > span:nth-of-type(20) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-21 > code.sourceCode > span:nth-of-type(21) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-22 > code.sourceCode > span:nth-of-type(22) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-23 > code.sourceCode > span:nth-of-type(23) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-24 > code.sourceCode > span:nth-of-type(24) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-25 > code.sourceCode > span:nth-of-type(25) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-26 > code.sourceCode > span:nth-of-type(26) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-27 > code.sourceCode > span:nth-of-type(27) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-28 > code.sourceCode > span:nth-of-type(28) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-29 > code.sourceCode > span:nth-of-type(29) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-30 > code.sourceCode > span:nth-of-type(30) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-31 > code.sourceCode > span:nth-of-type(31) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-32 > code.sourceCode > span:nth-of-type(32) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-33 > code.sourceCode > span:nth-of-type(33) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-34 > code.sourceCode > span:nth-of-type(34) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-35 > code.sourceCode > span:nth-of-type(35) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-36 > code.sourceCode > span:nth-of-type(36) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-37 > code.sourceCode > span:nth-of-type(37) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-38 > code.sourceCode > span:nth-of-type(38) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-39 > code.sourceCode > span:nth-of-type(39) {min-width: calc(100% + var(--line-numbers-width))}pre.numberSource.hl-40 > code.sourceCode > span:nth-of-type(40) {min-width: calc(100% + var(--line-numbers-width))}figure{margin-bottom:var(--captioned-figure-gap);box-sizing:border-box}figure+p,figure+.sidenote-wrapper+p,figure+.sidenote-wrapper+.sidenote-wrapper+p,figure+.sidenote-wrapper+.sidenote-wrapper+.sidenote-wrapper+p,figure+.sidenote-wrapper+.sidenote-wrapper+.sidenote-wrapper+.sidenote-wrapper+p{margin-top:var(--captioned-figure-gap)}figure > img, figure > pre, figure > div.sourceCode, figure:not(.wide) > div.sourceCode {margin-bottom:var(--figcaption-gap)}:is(.sidenote, .marginnote) :is(figure > img, figure > pre, figure > div.sourceCode, figure:not(.wide) > div.sourceCode) {margin-bottom:var(--figcaption-gap)}figure>img{box-sizing:border-box;border:var(--fig-border-style);background:var(--fig-background);position:relative;width: calc(100% - (2 * var(--fig-border-size)));height: calc(100% - (2 * var(--fig-border-size)));top:var(--fig-border-size);bottom:var(--fig-border-size);left:var(--fig-border-size);right:var(--fig-border-size)}img{width:100%;display:block}.wide img{transform:translateZ(0)}figcaption{font-size:var(--figcaption-font-size);line-height:var(--figcaption-line-height);font-style:italic;text-align:center;color:var(--color-text-secondary)}.left-align-caption figcaption{text-align:left}figcaption code{font-size:var(--figcaption-code-font-size)}table{-webkit-font-feature-settings:"tnum" 1;font-feature-settings:"tnum" 1;font-size:var(--table-font-size);line-height:var(--table-line-height);border-spacing:0;border-collapse:collapse;border:1px solid var(--color-border-heavy);width:100%;background-color:var(--background-color)}thead,tbody{vertical-align:top}td>*:first-child{margin-top:0}td>*:last-child{margin-bottom:0}@media print{table{background-color:initial}}table code{font-size:var(--table-code-font-size)}table pre code{font-size:inherit}.wide table{transform:translateZ(0)}table td,table th{border:1px solid var(--color-border-heavy);padding:5px 8px;min-width:100px}table th{background-color:var(--color-table-heading)}table>caption{caption-side:bottom;margin-top:var(--figcaption-gap);margin-bottom:calc(var(--captioned-figure-gap) - var(--line-height));font-size:var(--figcaption-font-size);line-height:var(--figcaption-line-height);font-style:italic;text-align:center;color:var(--color-text-secondary)}.left-align-caption table>caption{text-align:left}table>caption code{font-size:var(--figcaption-code-font-size)}.note table{font-size:inherit;line-height:inherit}.note table,.note td{border:none}.note.red td{background:var(--highlight-red)}.note.yellow td{background:var(--highlight-yellow)}.note.green td{background:var(--highlight-green)}.note.blue td{background:var(--highlight-blue)}.note.purple td{background:var(--highlight-purple)}.date.before-toc{padding-bottom:var(--line-height)}nav#TOC{margin-bottom:var(--line-height);border-left:1px solid var(--color-text-secondary);padding-left:1.5rem}nav#TOC input{display:none}nav#TOC label{color:var(--color-link);cursor:pointer}nav#TOC>ul{display:none}nav#TOC>input:checked+ul{display:block}nav#TOC a code,nav#TOC a:link code,nav#TOC a:visited code,nav#TOC a,nav#TOC a:link,nav#TOC a:visited{text-decoration-line:none!important}nav#TOC a:hover{color:var(--color-link)!important;text-decoration-line:underline!important;text-decoration-style:solid!important;text-decoration-skip-ink:auto!important;text-decoration-thickness:1pt!important}@media print{nav#TOC>input+ul{display:block}}@media screen and (min-width: calc(745px + 2 * (52px + 206px + 52px) - 1px)) {
  header {
    margin-bottom: var(--line-height);
  }

  .date.before-toc {
    padding-bottom: initial;
  }

  nav#TOC {
    /* Unset some styles for small screen width */
    margin-bottom: initial;
    border-left: initial;
    padding-left: initial;

    position: sticky;
    margin-top: calc(var(--nav-toc-baseline-offset));
    float: left;
    top: var(--line-height);

    font-size: var(--nav-toc-font-size);
    color: var(--color-text-secondary);

    margin-left: var(--line-height);

    max-width: calc((100vw - var(--main-width)) / 2 - 2 * var(--line-height));
    max-height: calc(100vh - 2 * var(--line-height));
    overflow-y: auto;
  }

  nav#TOC label {
    display: none;
  }

  nav#TOC ul {
    display: block;
    list-style: none;
    margin-left: var(--nav-toc-indent);
  }
  nav#TOC > ul {
    margin-left: 0;
  }

  nav#TOC li {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  nav#TOC code {
    font-size: var(--nav-toc-code-font-size);
  }

  nav#TOC code,
  nav#TOC a,
  nav#TOD a:link,
  nav#TOD a:visited {
    color: var(--color-text-secondary);
  }

  nav#TOC a:hover,
  nav#TOC a:hover code {
    text-decoration: none;
    color: var(--color-link);
  }
}.sidenote,.marginnote{float:right;clear:right;position:relative;width:var(--computed-width);max-width:var(--side-note-max-width);margin-right: calc(-1 * min(var(--computed-width), var(--side-note-max-width)) - var(--margin-left))}@media screen and (min-width: calc(745px + 2 * (52px + 206px + 52px))) {
  header,
  main,
  footer {
    max-width: var(--main-width);
  }

  header,
  main,
  footer {
    margin-left: auto;
    margin-right: auto;
  }

  .sidenote,
  .marginnote {
    --margin-left: calc(2 * var(--line-height));
    --margin-right: var(--margin-left);
    --computed-width: calc((100vw - 100%) / 2 - var(--margin-right) - var(--margin-left));
  }

  .wide {
    width: 100%;
    overflow-x: auto;
  }

  .wide.extra-wide {
    margin-left: calc((1 - var(--extra-wide-scale-factor)) / 2 * 100%);
    width: calc(var(--extra-wide-scale-factor) * 100%);
  }

  .wide.full-width {
    margin-left: calc(var(--line-height) - ((100vw - var(--main-width)) / 2));
    width: calc(100vw - 2 * var(--line-height));
  }

  .wide.extra-wide figcaption,
  .wide.extra-wide table > caption {
    margin-left: calc(((var(--extra-wide-scale-factor) - 1) / 2) * var(--main-width));
    max-width: var(--main-width);
    margin-right: calc(100% - var(--main-width) - (((var(--extra-wide-scale-factor) - 1) / 2) * var(--main-width)));
  }

  .wide.full-width figcaption,
  .wide.full-width table > caption {
    margin-left: calc((100vw - var(--main-width)) / 2 - var(--line-height));
    max-width: var(--main-width);
    margin-right: calc(100% - var(--main-width) - ((100vw - var(--main-width)) / 2 - var(--line-height)));
  }
}@media screen and (min-width: calc(52px + 745px + 52px + 206px + 52px)) and (max-width: calc(745px + 2 * (52px + 206px + 52px) - 1px)) {
  header,
  nav#TOC,
  main,
  footer {
    margin-left: calc(2 * var(--line-height));
    max-width: var(--main-width);
    margin-right: auto;
  }

  .sidenote,
  .marginnote {
    --margin-left: calc(2 * var(--line-height));
    --margin-right: var(--margin-left);
    --computed-width: calc(100vw - var(--main-width) - calc(2 * var(--line-height)) - var(--margin-right) - var(--margin-left));
  }

  .wide {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .wide.extra-wide {
    margin-left: calc(-1 * var(--line-height));
    width: calc(100vw - 2 * var(--line-height));
    max-width: calc(var(--extra-wide-scale-factor) * var(--main-width));
  }

  .wide.full-width {
    margin-left: calc(-1 * var(--line-height));
    width: calc(100vw - 2 * var(--line-height));
    max-width: calc(100vw - 2 * var(--line-height));
  }

  .wide.extra-wide .katex-display,
  .wide.full-width .katex-display {
    padding-left: var(--line-height);
    padding-right: var(--line-height);
  }

  .wide.extra-wide .katex-display,
  .wide.extra-wide .katex-display > .katex,
  .wide.full-width .katex-display,
  .wide.full-width .katex-display > .katex {
    text-align: left;
  }

  .wide.extra-wide figcaption,
  .wide.extra-wide table > caption,
  .wide.full-width figcaption,
  .wide.full-width table > caption {
    text-align: left;
    margin-left: var(--line-height);
    max-width: var(--main-width);
  }
}@media screen and (min-width: calc(26px + 550px + 26px + 169px + 26px)) and (max-width: calc(52px + 745px + 52px + 206px + 52px - 1px)) {
  header,
  nav#TOC,
  main,
  footer {
    margin-left: var(--line-height);
    max-width: calc(max(var(--main-width-narrow), 100vw - (3 * var(--line-height)) - var(--side-note-max-width)));
    margin-right: auto;
  }

  .sidenote,
  .marginnote {
    --margin-left: var(--line-height);
    --margin-right: var(--line-height);
    --computed-width: calc(100vw - var(--main-width-narrow) - var(--line-height) - var(--margin-right) - var(--margin-left));
  }

  .wide {
    width: var(--main-width);
  }
  .sidenote-wrapper .wide {
    width: 100%;
  }
  .wide {
    overflow-x: auto;
    overflow-y: hidden;
  }

  .wide .katex-display,
  .wide .katex-display > .katex {
    text-align: left;
  }

  .wide figcaption,
  .wide table > caption {
    text-align: left;
    max-width: var(--main-width-narrow);
  }

  .wide.extra-wide,
  .wide.full-width {
    width: calc(100vw - 2 * var(--line-height));
  }
}@media screen and (max-width: calc(26px + 550px + 26px + 169px + 26px - 1px)) {
  header,
  nav#TOC,
  main,
  footer {
    margin-left: var(--line-height);
    margin-right: var(--line-height);
  }

  .margin-toggle:not(:checked) + .marginnote {
    display: none;
  }
  .margin-toggle:not(:checked) + .sidenote {
    /* .sidenote is special because .sidenote:before tracks the counter,
     * and counters don't increment for display: none;
     * https://stackoverflow.com/a/36600119
     * */
    position: absolute;
    left: -9999px;
    max-height: 0px;
    overflow: hidden;
    opacity: 0;
  }

  .margin-toggle:checked + .sidenote,
  .margin-toggle:checked + .marginnote {
    display: block;
    float: left;
    clear: both;
    width: 100%;
    max-width: 100%;
  }

  .wide {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .wide .katex-display,
  .wide .katex-display > .katex {
    text-align: left;
  }

  .wide figcaption,
  .wide table > caption {
    text-align: left;
    max-width: calc(100vw - 2 * var(--line-height));
  }
}@page {
  size: letter;
  margin: 0.5in;
  /* To make room for line numbers in left margin. */
  margin-left: 0.25in;
}@media print{:root{--line-height:18px;--font-size:12px;--inline-code-font-size:11px;--code-block-font-size:10px;--code-block-side-padding:6px;--line-numbers-font-size:8.5px;--tight-code-line-height:12.5px;--tight-code-padding-top:2px;--side-note-line-height:14px;--side-note-font-size:9px;--side-note-code-font-size:9px;--side-note-baseline-offset:3px;--side-note-sup-offset:-4px;--side-note-number-hang-left:-4px;--side-note-text-indent:-6.5px;--title-font-size:30px;--title-code-font-size:29px;--title-line-height:37px;--title-margin-top:71px;--h1-font-size:22px;--h1-code-font-size:20px;--h1-line-height:28px;--h1-word-spacing:.5px;--h1-margin-top:18px;--h1-margin-bottom:6px;--h2-font-size:16.5px;--h2-code-font-size:15px;--h2-line-height:22px;--h2-word-spacing:0;--h2-margin-top:14px;--h2-margin-bottom:4.5px;--ul-indent-size:18px;--ol-indent-size:14px;--hr-margin-top:14px;--figcaption-line-height:16px;--figcaption-font-size:10px;--figcaption-code-font-size:9.5px;--figcaption-gap:4.5px;--captioned-figure-gap:7.5px;--table-line-height:16px;--table-font-size:10px;--table-code-font-size:9.5px;--nav-toc-font-size:8.5px;--nav-toc-code-font-size:8.5px}body{padding-top:0;padding-left:.25in}header,nav#TOC,main,footer{width:5.25in;margin-right:auto}.sidenote,.marginnote{width:2in;margin-right:-2.25in}.wide{width:7.5in;overflow-x:hidden;overflow-y:hidden}.wide .katex-display,.wide .katex-display>.katex{text-align:left}.wide figcaption,.wide table>caption{text-align:left;width:5.25in}.wide pre>code{white-space:pre-wrap}}h1,h2,h3{page-break-after:avoid}table,figure,pre,img{page-break-inside:avoid}