pre code.hljs {
  display: block;
  overflow-x: auto;
  padding: 1em
}
code.hljs {
  padding: 3px 5px
}
/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/
.hljs {
  color: #24292e;
  background: #ffffff
}
.hljs-doctag,
.hljs-keyword,
.hljs-meta .hljs-keyword,
.hljs-template-tag,
.hljs-template-variable,
.hljs-type,
.hljs-variable.language_ {
  /* prettylights-syntax-keyword */
  color: #d73a49
}
.hljs-title,
.hljs-title.class_,
.hljs-title.class_.inherited__,
.hljs-title.function_ {
  /* prettylights-syntax-entity */
  color: #6f42c1
}
.hljs-attr,
.hljs-attribute,
.hljs-literal,
.hljs-meta,
.hljs-number,
.hljs-operator,
.hljs-variable,
.hljs-selector-attr,
.hljs-selector-class,
.hljs-selector-id {
  /* prettylights-syntax-constant */
  color: #005cc5
}
.hljs-regexp,
.hljs-string,
.hljs-meta .hljs-string {
  /* prettylights-syntax-string */
  color: #032f62
}
.hljs-built_in,
.hljs-symbol {
  /* prettylights-syntax-variable */
  color: #e36209
}
.hljs-comment,
.hljs-code,
.hljs-formula {
  /* prettylights-syntax-comment */
  color: #6a737d
}
.hljs-name,
.hljs-quote,
.hljs-selector-tag,
.hljs-selector-pseudo {
  /* prettylights-syntax-entity-tag */
  color: #22863a
}
.hljs-subst {
  /* prettylights-syntax-storage-modifier-import */
  color: #24292e
}
.hljs-section {
  /* prettylights-syntax-markup-heading */
  color: #005cc5;
  font-weight: bold
}
.hljs-bullet {
  /* prettylights-syntax-markup-list */
  color: #735c0f
}
.hljs-emphasis {
  /* prettylights-syntax-markup-italic */
  color: #24292e;
  font-style: italic
}
.hljs-strong {
  /* prettylights-syntax-markup-bold */
  color: #24292e;
  font-weight: bold
}
.hljs-addition {
  /* prettylights-syntax-markup-inserted */
  color: #22863a;
  background-color: #f0fff4
}
.hljs-deletion {
  /* prettylights-syntax-markup-deleted */
  color: #b31d28;
  background-color: #ffeef0
}
.hljs-char.escape_,
.hljs-link,
.hljs-params,
.hljs-property,
.hljs-punctuation,
.hljs-tag {
  /* purposely ignored */
  
}
body { background:#fbfaf7; }
.shell { display:grid; grid-template-columns:270px minmax(0,1fr) 230px; gap:44px; max-width:1400px; margin:0 auto; padding:0 28px; }
.side { position:sticky; top:0; align-self:start; height:100vh; overflow:auto; padding:22px 0 40px; font-size:15px; }
.side h4 { font-size:12px; letter-spacing:.07em; text-transform:uppercase; color:var(--mute); margin:22px 0 6px; }
.side a { display:block; padding:5px 10px; border-radius:7px; color:var(--ink); text-decoration:none; line-height:1.3; } .side a:hover { background:#efece4; } .side a.on { background:var(--ink); color:#fff; }
.brandrow { display:flex; align-items:center; gap:8px; font-weight:700; font-size:19px; margin-bottom:14px; } .brandrow a { padding:0; display:flex; gap:8px; align-items:center; } .brandrow a:hover { background:none; } .brandrow small { font-weight:500; color:var(--mute); font-size:14px; }
#q { width:100%; font:15px ui-sans-serif,system-ui; padding:9px 12px; border:1px solid var(--line); border-radius:9px; background:#fff; }
#hits { position:absolute; z-index:5; width:520px; max-height:70vh; overflow:auto; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 18px 50px rgba(0,0,0,.14); margin-top:6px; padding:6px; }
#hits a { padding:9px 12px; } #hits a b { display:block; } #hits a span { color:var(--mute); font-size:13.5px; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } #hits mark { background:var(--acc-soft); color:inherit; }
main { padding:34px 0 120px; min-width:0; } main h1 { font-size:42px; letter-spacing:-0.035em; line-height:1.08; margin:6px 0 18px; }
main h2 { font-size:27px; letter-spacing:-0.02em; margin:46px 0 10px; padding-top:14px; border-top:1px solid var(--line); } main h3 { font-size:20px; margin:30px 0 8px; } main h4 { font-size:17px; margin:22px 0 6px; }
main p, main li { font-size:16.5px; line-height:1.62; } main li { margin:4px 0; } main a { color:#1d4ed8; }
.crumb { font-size:13.5px; color:var(--mute); } .crumb a { color:var(--mute); }
.anchor { float:left; margin-left:-22px; width:22px; color:#c9c5ba; text-decoration:none; opacity:0; } h2:hover .anchor, h3:hover .anchor, h4:hover .anchor { opacity:1; }
main code { font:0.88em ui-monospace,Menlo,Consolas,monospace; background:#efece4; padding:1.5px 5px; border-radius:5px; }
.code { position:relative; margin:16px 0; border:1px solid var(--line); border-radius:11px; background:#fff; overflow:hidden; } .code pre { margin:0; padding:14px 16px; overflow:auto; } .code code { background:none; padding:0; font-size:13.5px; line-height:1.6; }
.lang { position:absolute; right:58px; top:7px; font:11px ui-monospace,Menlo,monospace; color:#a09c92; } .copy { position:absolute; right:8px; top:5px; font:11.5px ui-sans-serif,system-ui; border:1px solid var(--line); background:#fff; border-radius:6px; padding:2px 7px; cursor:pointer; color:var(--mute); }
.tablewrap { overflow:auto; margin:16px 0; } main table { border-collapse:collapse; font-size:15px; width:100%; background:#fff; } main th, main td { border:1px solid var(--line); padding:8px 11px; text-align:left; vertical-align:top; } main th { background:#f3f1ea; font-size:13.5px; }
blockquote { border-left:3px solid var(--acc); margin:16px 0; padding:2px 16px; color:#3d4047; background:#fff; }
.toc { position:sticky; top:0; align-self:start; max-height:100vh; overflow:auto; padding:40px 0; font-size:13.5px; } .toc b { font-size:12px; letter-spacing:.07em; text-transform:uppercase; color:var(--mute); display:block; margin-bottom:8px; }
.toc a { display:block; color:var(--mute); text-decoration:none; padding:3px 0 3px 10px; border-left:2px solid var(--line); line-height:1.35; } .toc a.d3 { padding-left:22px; } .toc a.on { color:var(--ink); border-color:var(--acc); font-weight:600; }
.pn { display:flex; justify-content:space-between; gap:16px; margin-top:60px; } .pn a { flex:1; border:1px solid var(--line); border-radius:11px; padding:12px 16px; text-decoration:none; color:var(--ink); background:#fff; } .pn a small { display:block; color:var(--mute); } .pn a.next { text-align:right; }
.src { font-size:13.5px; color:var(--mute); margin-top:26px; }
.cards { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:10px 0 8px; } .cards a { border:1px solid var(--line); border-radius:12px; background:#fff; padding:14px 16px; text-decoration:none; color:var(--ink); } .cards a:hover { border-color:var(--ink); } .cards b { display:block; font-size:17px; margin-bottom:3px; } .cards span { color:var(--mute); font-size:14.5px; line-height:1.45; display:block; } .cards small { color:#a09c92; font-size:12.5px; }
@media (max-width:1100px) { .shell { grid-template-columns:230px minmax(0,1fr); } .toc { display:none; } } @media (max-width:760px) { .shell { grid-template-columns:1fr; } .side { position:static; height:auto; } .cards { grid-template-columns:1fr; } }
