:root{color-scheme:light;--paper:#fcfcfb;--ink:#23282e;--syntax:#a6aeb8;--muted:#697180;--accent:#0b63d8;--green:#1a7f37;--code-bg:#f3f4f1;--code-inline-bg:#f3f4f1;--rule:#e5e7e3;--sel:#d4e4fa;--header-bg:#fff}html.dark{color-scheme:dark;--paper:#15181c;--ink:#edf1f6;--syntax:#7a8694;--muted:#b4bec9;--accent:#6cb3ff;--green:#8fd9a8;--code-bg:#20262d;--code-inline-bg:#323c48;--rule:#39414c;--sel:#2f4f73;--header-bg:#0c0f12}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:iA Writer Mono,SF Mono,ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:15px;line-height:1.75}::selection{background:var(--sel)}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell{grid-template-columns:1fr minmax(0,80ch) 1fr;column-gap:48px;padding:0 32px;display:grid}.shell>.mid{grid-column:2}header.site{z-index:10;background:var(--header-bg);border-bottom:1px solid var(--rule);position:sticky;top:0}header.site .mid{white-space:nowrap;align-items:baseline;gap:3ch;padding:16px 0;font-size:14px;display:flex;overflow-x:auto}header.site .brand{color:var(--ink);align-self:center;margin-right:1ch;display:inline-flex}header.site .brand:hover{color:var(--accent)}header.site .brand .robot{display:block}header.site nav{gap:2.5ch;display:flex}header.site nav a,header.site .ext a{color:var(--muted);text-decoration:none}header.site nav a:hover,header.site .ext a:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}header.site nav a.current{color:var(--ink);font-weight:700}header.site .ext{align-items:baseline;gap:2.5ch;margin-left:auto;display:flex}button.theme{font:inherit;cursor:pointer;color:var(--muted);background:0 0;border:0;padding:0}button.theme .br{color:var(--syntax)}button.theme:hover{color:var(--accent)}button.theme:hover .label{text-underline-offset:3px;text-decoration:underline}button.theme:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page{padding-top:28px;padding-bottom:96px;position:relative}main{grid-column:2;min-width:0}aside.toc{grid-column:3;place-self:start;min-width:0;max-width:100%;font-size:13px;line-height:2;position:sticky;top:110px}aside.toc ul{list-style:none}aside.toc li{text-indent:-2ch;padding-left:2ch}aside.toc li:before{content:"- ";color:var(--syntax)}aside.toc a{color:var(--muted);text-decoration:none}aside.toc a:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}aside.toc li.active a{color:var(--ink);font-weight:700}.frontmatter{margin-bottom:44px}.frontmatter .fence{color:var(--syntax)}.frontmatter table{border-collapse:collapse}.frontmatter td{vertical-align:top;padding:0}.frontmatter td.k{color:var(--green);white-space:nowrap;padding-right:1ch}.frontmatter td.k:after{content:":";color:var(--syntax)}.frontmatter td.v{color:var(--ink)}.frontmatter .big{font-weight:700}.prose h1,.prose h2,.prose h3,.prose h4{scroll-margin-top:80px;font-weight:700;line-height:1.35}.prose h1{letter-spacing:-.01em;margin:0 0 20px;font-size:26px}.prose h2{margin:64px 0 18px;font-size:19px}.prose h3{margin:34px 0 12px;font-size:15.5px}.prose h4{margin:28px 0 10px;font-size:15px}.prose h1:before{content:"# ";color:var(--syntax)}.prose h2:before{content:"## ";color:var(--syntax)}.prose h3:before{content:"### ";color:var(--syntax)}.prose h4:before{content:"#### ";color:var(--syntax)}.prose p{margin:0 0 20px}.muted{color:var(--muted)}.prose strong{font-weight:700}.prose em{font-style:italic}.prose :not(pre)>code{background:var(--code-inline-bg);padding:1px 4px;font-size:14px}.prose a,a.l{color:var(--accent);text-decoration:none}.prose a:before,a.l:before{content:"[";color:var(--syntax)}.prose a:after,a.l:after{content:"]";color:var(--syntax)}.prose a:hover,a.l:hover{text-underline-offset:3px;text-decoration:underline}.prose ul,.prose ol{margin:0 0 20px;list-style:none}.prose li{margin-bottom:8px;padding-left:2ch;position:relative}.prose li>ul,.prose li>ol{margin:8px 0 0}.prose ul>li:before{content:"- ";color:var(--syntax);position:absolute;left:0}.prose ol{counter-reset:n}.prose ol>li{padding-left:3ch}.prose ol>li:before{counter-increment:n;content:counter(n) ". ";color:var(--syntax);position:absolute;left:0}.prose li.task-list-item{text-indent:-6ch;padding-left:6ch;position:static}.prose li.task-list-item:before{content:none}.prose li.task-list-item .box{color:var(--syntax)}.prose li.task-list-item.done .box .x{color:var(--green);font-weight:700}.prose blockquote{color:var(--muted);margin:0 0 20px}.prose blockquote p{margin-bottom:0;padding-left:2ch;position:relative}.prose blockquote p+p{margin-top:10px}.prose blockquote p:before{content:"> ";color:var(--syntax);position:absolute;left:0}.prose pre{background:var(--code-bg);margin:0 0 20px;padding:14px 18px;font-size:13.5px;line-height:1.65;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;padding:0}.prose .mermaid{margin:0 0 20px;overflow-x:auto}.prose .mermaid svg{max-width:100%;height:auto;display:block}.prose .mermaid .did{font-size:11px;color:var(--muted)!important}.md-table{margin:0 0 20px;overflow-x:auto}.md-table table{border-collapse:collapse;white-space:nowrap;font-size:13.5px;line-height:1.6}.md-table th,.md-table td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:4px 16px 4px 0;font-weight:400}.md-table th{font-weight:700}.md-table td:last-child,.md-table th:last-child{white-space:normal;min-width:22ch}.prose hr{color:var(--syntax);border:0;margin:0 0 20px}.prose hr:after{content:"---"}footer{border-top:1px solid var(--rule);color:var(--muted);margin-top:72px;padding-top:18px;font-size:13px}@media (width<=1260px){aside.toc{display:none}}@media (width<=700px){.shell{padding-left:20px;padding-right:20px}.page{padding-top:20px}.prose h2{margin-top:48px}}
