:root {
  color-scheme: light;
  font: 17px/1.6 system-ui, -apple-system, "Segoe UI", sans-serif;
  color: #1e293b;
  background: #fff;
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #075985; text-underline-offset: 0.15em; }
a:hover { color: #0c4a6e; }
a:focus-visible { outline: 3px solid #b45309; outline-offset: 3px; }
.skip-link { position: absolute; left: 1rem; top: -5rem; background: white; padding: 0.5rem; }
.skip-link:focus { top: 0.5rem; }
.site-header { padding: 1rem 2rem; background: #eef6f7; border-bottom: 1px solid #cbd5e1; }
.site-header a { margin-right: 1.5rem; }
.layout { max-width: 1440px; margin: auto; display: grid; grid-template-columns: 17rem minmax(0, 1fr); }
.chapters { padding: 1.5rem; border-right: 1px solid #cbd5e1; }
.chapters ul { list-style: none; padding: 0; }
.chapters li { margin: 0.5rem 0; }
.chapters [aria-current="page"] { font-weight: bold; color: #1e293b; }
main { min-width: 0; padding: 1.5rem 2.5rem 4rem; overflow-wrap: anywhere; }
h1, h2, h3, h4 { line-height: 1.25; scroll-margin-top: 1rem; }
h1 { font-size: 2rem; }
h2 { border-bottom: 1px solid #cbd5e1; padding-bottom: 0.3rem; margin-top: 2rem; }
code { font: 0.88em/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; background: #f1f5f9; padding: 0.1em 0.2em; }
pre { overflow: auto; background: #f1f5f9; border: 1px solid #cbd5e1; border-radius: 0.4rem; padding: 1rem; }
pre code { padding: 0; white-space: pre; overflow-wrap: normal; }
.table-scroll { overflow-x: auto; margin: 1.25rem 0; }
table { border-collapse: collapse; width: 100%; font-size: 0.94rem; }
th, td { padding: 0.6rem; text-align: left; vertical-align: top; border: 1px solid #cbd5e1; }
th { background: #eef6f7; }
blockquote { border-left: 4px solid #94a3b8; padding-left: 1rem; margin-left: 0; }
img { max-width: 100%; }
.on-this-page { padding: 0.75rem 1rem; background: #f8fafc; border: 1px solid #cbd5e1; }
.on-this-page ul { margin-bottom: 0; }
.page-footer { border-top: 1px solid #cbd5e1; margin-top: 3rem; padding-top: 1rem; font-size: 0.9rem; }
@media (max-width: 760px) {
  .layout { display: block; }
  .chapters { border-right: 0; border-bottom: 1px solid #cbd5e1; }
  main { padding: 1rem; }
  .site-header { padding: 1rem; }
}
@media print {
  .site-header, .chapters, .skip-link, .on-this-page, .page-footer { display: none; }
  .layout { display: block; }
  main { padding: 0; }
  pre { white-space: pre-wrap; }
  pre code { white-space: pre-wrap; }
  .table-scroll { overflow: visible; }
}
