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:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{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{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}:root{--bg: #ffffff;--bg-elev: #fafafa;--bg-code: #111827;--border: #e5e7eb;--text: #111827;--text-dim: #5f6673;--text-muted: #8b93a1;--brand: #2563eb;--brand-soft: #eff6ff;--green: #16a34a;--accent: #2563eb;--sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "Geist Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--sidebar-w: 264px;--toc-w: 220px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--mono)}button{font-family:inherit}.layout{display:flex;align-items:flex-start;max-width:1480px;margin:0 auto}.sidebar{flex:0 0 var(--sidebar-w);width:var(--sidebar-w);position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--border);padding:32px 24px;background:var(--bg-elev)}.brand{display:flex;align-items:baseline;gap:8px;font-weight:700;font-size:20px;color:var(--text);margin-bottom:22px;line-height:1.3}.brand em{font-style:normal;color:var(--text-muted);font-weight:500;font-size:12px;font-family:var(--mono);letter-spacing:.02em}.search{position:relative;margin-bottom:20px}.search input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:9px 11px;color:var(--text);font-size:14px;font-family:var(--sans)}.search input:focus{outline:none;border-color:var(--accent)}.search-results{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;background:var(--bg);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 18px 40px #0000001f}.search-results button{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:10px 12px;cursor:pointer;color:var(--text)}.search-results button:last-child{border-bottom:none}.search-results button:hover{background:var(--bg-elev)}.search-results b{display:block;font-size:14.5px;font-weight:600}.search-results span{display:block;color:var(--text-dim);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-empty{padding:12px;color:var(--text-dim);font-size:14px}.nav-group{margin-bottom:26px}.nav-group-title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:600;margin:0 0 8px;font-family:var(--mono)}nav a{display:block;padding:7px 10px;border-radius:7px;color:var(--text-dim);font-size:14px;line-height:1.4;margin-bottom:2px;transition:color .15s ease,background .15s ease}nav a:hover{color:var(--text);background:var(--bg);text-decoration:none}nav a.active{color:var(--brand);background:var(--brand-soft);font-weight:600}.side-foot{padding:16px 0 4px;border-top:1px solid var(--border);margin-top:12px}.side-foot a{color:var(--text-dim);font-size:13px}.content{flex:1 1 auto;min-width:0;padding:64px 64px 96px;display:flex;justify-content:center}.content-inner{width:100%;max-width:760px}.eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);font-weight:600;font-family:var(--mono)}.doc-title{font-size:42px;line-height:1.15;margin:14px 0;letter-spacing:-1.2px;font-weight:700}.doc-desc{font-size:18px;color:var(--text-dim);margin:0 0 40px;line-height:1.6}.prose h2{font-size:25px;line-height:1.3;margin:52px 0 16px;padding-top:0;border-top:none;letter-spacing:-.5px;font-weight:650}.prose h2:first-child{margin-top:0}.prose h3{font-size:19px;line-height:1.4;margin:34px 0 12px;font-weight:650;letter-spacing:-.2px}.prose h4{font-size:17px;line-height:1.4;margin:24px 0 8px;color:var(--brand);font-weight:600}.prose p{margin:18px 0}.prose ul,.prose ol{padding-left:22px;margin:16px 0}.prose li{margin:8px 0}.prose li::marker{color:var(--green)}.prose strong{color:var(--text);font-weight:600}.prose blockquote{margin:18px 0;padding:14px 18px;border-radius:10px;background:var(--brand-soft);border:1px solid #dbeafe;border-left:3px solid var(--accent);color:var(--text)}.prose blockquote p{margin:0}.prose table{width:100%;border-collapse:separate;border-spacing:0;margin:22px 0;font-size:14px;display:block;overflow-x:auto;border:1px solid var(--border);border-radius:9px}.prose th,.prose td{border-bottom:1px solid var(--border);padding:11px 14px;text-align:left;line-height:1.5}.prose th{background:var(--bg-elev);font-weight:600;color:var(--text)}.prose tr:last-child td{border-bottom:none}.prose tr:nth-child(2n) td{background:#fcfcfd}.prose :not(pre)>code{background:var(--bg-elev);border:1px solid var(--border);border-radius:5px;padding:1px 6px;font-size:.85em;color:#1f57c9;font-family:var(--mono)}.codewrap{position:relative;margin:18px 0}.codewrap pre{background:var(--bg-code);border:1px solid #1f2937;border-radius:12px;padding:16px 18px;overflow-x:auto;margin:0;font-size:13px;line-height:1.65}.codewrap pre code{font-family:var(--mono);color:#e5e7eb}.hljs-comment,.hljs-quote{color:#94a3b8}.hljs-keyword,.hljs-selector-tag,.hljs-literal{color:#93c5fd}.hljs-string,.hljs-attr{color:#86efac}.hljs-number,.hljs-built_in{color:#fcd34d}.copy{position:absolute;top:10px;right:10px;z-index:2;background:var(--bg);color:var(--text-dim);border:1px solid var(--border);border-radius:6px;padding:3px 10px;font-size:11px;cursor:pointer;font-family:var(--mono)}.copy:hover{color:var(--text)}.pager{display:flex;justify-content:space-between;gap:16px;margin-top:56px;padding-top:28px;border-top:1px solid var(--border)}.pager-link{flex:1 1 0;min-width:0;border:1px solid var(--border);border-radius:12px;padding:16px 18px;color:var(--text);font-weight:600;line-height:1.4;transition:border-color .15s ease,transform .15s ease}.pager-link:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-1px)}.pager-link.next{text-align:right}.pager-link span{display:block;color:var(--text-dim);font-size:12px;font-weight:500;margin-bottom:4px;font-family:var(--mono)}.notfound{padding-top:40px}.toc{flex:0 0 var(--toc-w);width:var(--toc-w);position:sticky;top:0;height:100vh;overflow-y:auto;padding:72px 20px}.toc-title{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-dim);font-weight:600;margin-bottom:12px;font-family:var(--mono)}.toc button{display:block;width:100%;text-align:left;background:none;border:none;border-left:2px solid var(--border);color:var(--text-dim);cursor:pointer;font-size:13.5px;padding:5px 0 5px 12px;margin-bottom:2px;line-height:1.5;font-family:var(--sans)}.toc button:hover{color:var(--brand);border-left-color:var(--brand)}.toc .toc-l3{padding-left:24px;font-size:13px}@media (max-width: 1180px){.toc{display:none}}@media (max-width: 760px){.layout{display:block}.sidebar{position:static;height:auto;width:100%;flex-basis:auto;padding:22px 18px 16px;border-right:none;border-bottom:1px solid var(--border)}.brand{margin-bottom:18px}.nav-group{margin-bottom:16px}.content{padding:40px 20px 64px}.doc-title{font-size:34px;letter-spacing:-.8px}.doc-desc{font-size:17px}}
