:root {
  color-scheme: light dark;
  --page: #f3f3fa;
  --paper: #ffffff;
  --ink: #232428;
  --muted: #555860;
  --link: #075da5;
  --rule: #d0d3dc;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 18px;
  line-height: 1.65;
  color: var(--ink);
  background: var(--page);
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: var(--link); text-underline-offset: .18em; overflow-wrap: anywhere; }
a:hover { text-decoration-thickness: .12em; }
a:focus-visible, summary:focus-visible { outline: 3px solid var(--link); outline-offset: 4px; }
::selection { background: #c8e4fa; color: #142b40; }
.skip { position: absolute; top: -100px; left: 1rem; background: var(--paper); padding: .6rem 1rem; }
.skip:focus { top: 1rem; }
.masthead, main, footer { max-width: 76rem; margin-inline: auto; padding-inline: clamp(1.2rem, 5vw, 4rem); }
.masthead { padding-block: 1.1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.brand { font-weight: 700; text-decoration: none; color: var(--ink); }
.masthead nav { display: flex; gap: 1.3rem; }
.masthead a { min-height: 44px; display: inline-flex; align-items: center; }
[aria-current="page"] { font-weight: 700; }
main { padding-block: clamp(1.8rem, 5vw, 3.5rem); background: var(--paper); }
.page-title { margin: 0 0 1.5rem; max-width: 25ch; font-size: clamp(2rem, 5vw, 2.8rem); line-height: 1.15; letter-spacing: -.025em; }
.document { max-width: 72ch; }
.document p { margin: 0 0 1.2rem; }
.document h2 { margin: 2.5rem 0 .8rem; font-size: 1.35rem; line-height: 1.3; scroll-margin-top: 1.5rem; }
.document li { margin-block: .6rem; }
.document ul { padding-left: 1.3rem; margin-block: 0 1.3rem; }
.contents { max-width: 72ch; padding-block: .8rem; margin: 1.8rem 0 2rem; border-block: 1px solid var(--rule); }
summary { cursor: pointer; min-height: 44px; padding-block: .35rem; font-weight: 600; }
.contents ul { padding-left: 1.3rem; margin-block: .5rem; }
.contents a { display: inline-block; padding-block: .35rem; }
footer { padding-block: 1.8rem 2.5rem; color: var(--muted); font-size: .88rem; }
footer p { margin: .3rem 0; }
@media (prefers-color-scheme: dark) {
  :root { --page: #101214; --paper: #1c1e21; --ink: #f2f3f5; --muted: #c0c5cd; --link: #9dcdf5; --rule: #50565f; }
  ::selection { background: #244d6e; color: #ffffff; }
}
@media print {
  :root { color-scheme: light; --page: #fff; --paper: #fff; --ink: #000; --muted: #333; --link: #000; }
  .masthead, .contents, .skip { display: none; }
  main { padding: 0; }
  .document { max-width: none; }
  h2 { break-after: avoid; }
}
