:root {
  color-scheme: light;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 17px;
  line-height: 1.8;
  color: #202020;
  background: #fff;
}
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 850px; margin: 0 auto; padding: 40px 28px 64px; }
header { padding-bottom: 18px; border-bottom: 1px solid #ccc; }
h1 { margin: 0 0 16px; font-size: 1.9rem; line-height: 1.4; font-weight: 650; }
h2 { margin: 2.5rem 0 1rem; font-size: 1.35rem; line-height: 1.5; font-weight: 650; }
h3 { margin: 1.5rem 0 .7rem; font-size: 1.08rem; }
h4 { margin: 1.4rem 0 .7rem; font-size: 1rem; }
p { margin: .9rem 0; }
a { color: #164d85; text-decoration: underline; text-underline-offset: .16em; }
a:hover { color: #111; }
a:focus-visible, summary:focus-visible { outline: 2px solid #164d85; outline-offset: 4px; }
code { font-size: .92em; }
nav { margin: 1.3rem 0 1.8rem; }
nav ol { margin: .4rem 0; padding-left: 1.65rem; }
nav li { margin: .15rem 0; }
.site-nav { max-width: 850px; margin: 0 auto; padding: 24px 28px 0; font-size: .94rem; line-height: 1.65; }
.site-nav strong { display: block; margin-bottom: .5rem; }
.site-nav ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .2rem .6rem; }
.site-nav li { margin: 0; }
.site-nav a { display: block; padding: .35rem .6rem; border-left: 2px solid transparent; }
.site-nav a[aria-current="page"] { color: #202020; background: #f3f3f3; border-left-color: #555; font-weight: 600; }
[id] { scroll-margin-top: 24px; }
ul, ol { padding-left: 1.65rem; }
li { margin: .5rem 0; }
li > p { margin: .3rem 0; }
.muted, figcaption, .figure-links { color: #555; font-size: .91rem; }
.equation { overflow-x: auto; overflow-y: hidden; margin: 1.25rem 0; padding: .45rem .15rem; }
.katex { font-size: 1.08em; }
.katex-display { margin: .35em 0; }
.katex-display > .katex { white-space: nowrap; }
figure { margin: 1.5rem 0; }
.figure-scroll { overflow-x: auto; padding: 8px 0; }
.figure-scroll img { display: block; width: 100%; height: auto; max-width: 540px; min-width: 330px; margin: 0 auto; }
.figure-scroll.data img { max-width: 100%; min-width: 760px; }
figcaption { margin-top: .45rem; line-height: 1.75; }
.figure-links { margin: .35rem 0 0; }
.figure-links a + a { margin-left: 1rem; }
.table-scroll { overflow-x: auto; margin: 1.2rem 0; }
table { width: 100%; border-collapse: collapse; font-size: .95rem; }
th, td { border-bottom: 1px solid #ddd; padding: .6rem .7rem; text-align: left; vertical-align: top; }
th { border-top: 1px solid #999; font-weight: 600; }
caption { text-align: left; margin-bottom: .5rem; }
.references { padding-left: 1.6rem; font-size: .95rem; overflow-wrap: anywhere; }
footer { margin-top: 2.5rem; padding-top: 1rem; border-top: 1px solid #ccc; font-size: .9rem; }
.skip-link { position: absolute; top: -100px; left: 12px; background: #fff; padding: 8px; }
.skip-link:focus { top: 8px; }
@media screen and (min-width: 1100px) {
  main { margin-left: calc(max(20px, (100vw - 1100px) / 2) + 250px); margin-right: 20px; }
  .site-nav { position: fixed; top: 104px; left: max(20px, (100vw - 1100px) / 2); width: 210px; max-height: calc(100vh - 128px); overflow-y: auto; padding: 0 16px 0 0; border-right: 1px solid #ddd; }
  .site-nav ul { display: block; }
  .site-nav li + li { margin-top: .45rem; }
}
@media (max-width: 600px) {
  :root { font-size: 16px; }
  main { padding: 24px 18px 40px; }
  .site-nav { padding: 20px 18px 0; }
  h1 { font-size: 1.65rem; }
  h2 { font-size: 1.22rem; margin-top: 2rem; }
  th, td { padding: .5rem; }
}
@media print {
  :root { font-size: 11pt; }
  main { max-width: none; padding: 0; }
  nav, .skip-link, .figure-links { display: none; }
  h2, h3, h4 { break-after: avoid; }
  figure, .equation, tr { break-inside: avoid; }
  .equation, .figure-scroll, .table-scroll { overflow: visible; }
  .figure-scroll img { min-width: 0; max-width: 115mm; }
  .figure-scroll.data img { min-width: 0; max-width: 100%; }
  a { color: #202020; }
}
