.site-footer[data-v-cd34c50c]{padding:26px var(--gutter) 34px;border-top:1px solid var(--ink);flex-wrap:wrap;align-items:baseline;gap:4px 28px;margin-top:72px;display:flex}p[data-v-cd34c50c]{margin:0}.colophon[data-v-cd34c50c]{font:19px/1.5 var(--font-display)}.fine[data-v-cd34c50c]{color:var(--ink-3);font-size:14px;line-height:1.7}.seal[data-v-7fbfb318]{flex:none;display:block}.ground[data-v-7fbfb318]{fill:var(--node-red)}.glyph[data-v-7fbfb318]{fill:var(--node-on-red);font-family:var(--font-display);text-anchor:middle;dominant-baseline:central}.directory[data-v-382d37a5]{gap:18px;display:grid}.directory.columns[data-v-382d37a5]{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:20px 28px}h2[data-v-382d37a5]{font:400 16px/1.5 var(--font-display);color:var(--ink-3);margin:0 0 4px}.volume[data-v-382d37a5]{color:var(--cinnabar);margin-right:4px}ul[data-v-382d37a5]{margin:0;padding:0;list-style:none}a[data-v-382d37a5]{color:var(--ink-2);border-left:2px solid #0000;padding:3px 0 3px 10px;font-size:15px;line-height:1.6;text-decoration:none;transition:color .15s,border-color .15s;display:block}a[data-v-382d37a5]:hover{color:var(--ink);border-left-color:var(--rule-strong)}a.router-link-active[data-v-382d37a5]{color:var(--cinnabar);border-left-color:var(--cinnabar)}.site-header[data-v-8a2e14c5]{z-index:40;height:58px;padding:0 var(--gutter);background:var(--paper);border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.brand[data-v-8a2e14c5]{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.brand-name[data-v-8a2e14c5]{font:24px/1 var(--font-display);letter-spacing:.12em}.actions[data-v-8a2e14c5]{align-items:center;gap:2px;display:flex}.link[data-v-8a2e14c5]{height:38px;color:var(--ink-2);font:15px var(--font-body);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 12px;text-decoration:none;transition:color .15s;display:inline-flex}.link[data-v-8a2e14c5]:hover,.link.router-link-active[data-v-8a2e14c5]{color:var(--cinnabar)}.link svg[data-v-8a2e14c5]{transition:transform .15s}.link svg.flip[data-v-8a2e14c5]{transform:rotate(180deg)}.theme[data-v-8a2e14c5]{font-family:var(--font-display);font-size:18px}.menu[data-v-8a2e14c5]{position:relative}.panel[data-v-8a2e14c5]{width:min(680px, calc(100vw - 2 * var(--gutter)));background:var(--paper);border:1px solid var(--ink);max-height:calc(100vh - 90px);box-shadow:4px 4px 0 var(--paper-3);padding:20px 22px;position:absolute;top:calc(100% + 11px);right:0;overflow-y:auto}@media (width<=480px){.menu[data-v-8a2e14c5]{position:static}.panel[data-v-8a2e14c5]{left:var(--gutter);right:var(--gutter);width:auto;top:58px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f4efe3;--paper-2:#ece5d5;--paper-3:#e2d9c4;--stage-bg:#f9f6ee;--ink:#1c1915;--ink-2:#463f35;--ink-3:#685f50;--ink-4:#a99f8b;--rule:#cfc5ae;--rule-strong:#9a8f79;--edge:#5b5346;--cinnabar:#b02f1c;--cinnabar-deep:#8f2414;--on-cinnabar:#fff8ee;--azurite:#17587a;--on-azurite:#f2f8fb;--malachite:#1f6e4c;--ochre:#8f5f0c;--tint-azurite:color-mix(in srgb, #17587a 14%, var(--stage-bg));--tint-malachite:color-mix(in srgb, #1f6e4c 16%, var(--stage-bg));--tint-ochre:color-mix(in srgb, #b27d14 22%, var(--stage-bg));--tint-cinnabar:color-mix(in srgb, #b02f1c 12%, var(--stage-bg));--node-red:#b8321f;--node-on-red:#fff8ee;--node-black:#1f1b17;--node-black-stroke:#1f1b17;--node-on-black:#f6f0e3;--code-bg:#efe9da;--bar:#685f50;--font-display:"LXGW WenKai", "Kaiti SC", "STKaiti", "KaiTi", "BiauKai", "Noto Serif CJK SC", serif;--font-body:"Palatino Linotype", "Book Antiqua", Palatino, "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--font-num:"Palatino Linotype", "Book Antiqua", Palatino, Georgia, "Microsoft YaHei UI", "PingFang SC", serif;--font-mono:"Cascadia Code", "JetBrains Mono", "SF Mono", Menlo, Consolas, "Microsoft YaHei UI", "PingFang SC", monospace;--gutter:clamp(16px, 3.4vw, 40px);--measure:40em}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#15130f;--paper-2:#1c1914;--paper-3:#2b271f;--stage-bg:#100e0b;--ink:#efe8d9;--ink-2:#c9bfac;--ink-3:#a0968a;--ink-4:#5f574a;--rule:#38322a;--rule-strong:#6a6152;--edge:#94897a;--cinnabar:#e8654e;--cinnabar-deep:#f07d67;--on-cinnabar:#1c0d08;--azurite:#6db7d6;--on-azurite:#08202b;--malachite:#6ec9a0;--ochre:#dbab52;--tint-azurite:color-mix(in srgb, #6db7d6 22%, var(--stage-bg));--tint-malachite:color-mix(in srgb, #6ec9a0 22%, var(--stage-bg));--tint-ochre:color-mix(in srgb, #dbab52 24%, var(--stage-bg));--tint-cinnabar:color-mix(in srgb, #e8654e 20%, var(--stage-bg));--node-red:#c8412c;--node-on-red:#fff3e8;--node-black:#2e2a24;--node-black-stroke:#a79d8a;--node-on-black:#f2ebdc;--code-bg:#1f1b16;--bar:#94897a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#15130f;--paper-2:#1c1914;--paper-3:#2b271f;--stage-bg:#100e0b;--ink:#efe8d9;--ink-2:#c9bfac;--ink-3:#a0968a;--ink-4:#5f574a;--rule:#38322a;--rule-strong:#6a6152;--edge:#94897a;--cinnabar:#e8654e;--cinnabar-deep:#f07d67;--on-cinnabar:#1c0d08;--azurite:#6db7d6;--on-azurite:#08202b;--malachite:#6ec9a0;--ochre:#dbab52;--tint-azurite:color-mix(in srgb, #6db7d6 22%, var(--stage-bg));--tint-malachite:color-mix(in srgb, #6ec9a0 22%, var(--stage-bg));--tint-ochre:color-mix(in srgb, #dbab52 24%, var(--stage-bg));--tint-cinnabar:color-mix(in srgb, #e8654e 20%, var(--stage-bg));--node-red:#c8412c;--node-on-red:#fff3e8;--node-black:#2e2a24;--node-black-stroke:#a79d8a;--node-on-black:#f2ebdc;--code-bg:#1f1b16;--bar:#94897a}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:76px}body{background:var(--paper);color:var(--ink);font:17px/1.85 var(--font-body);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}a{color:inherit}button,input,select{font:inherit}:focus-visible{outline:2px solid var(--azurite);outline-offset:2px}::selection{background:var(--cinnabar);color:var(--on-cinnabar)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{z-index:100;background:var(--ink);color:var(--paper);padding:6px 12px;position:absolute;top:-60px;left:12px}.skip-link:focus{top:8px}.prose{max-width:var(--measure)}.prose>*{margin-block:0}.prose p,.prose ul,.prose ol,.prose table,.prose blockquote{margin-block:0 1.05em}.prose h2{font:400 clamp(25px, 3.2vw, 31px) / 1.35 var(--font-display);color:var(--ink);margin:2.2em 0 .7em;padding-left:26px;position:relative}.prose h2:before{content:"";background:var(--cinnabar);clip-path:polygon(0 0,100% 0,100% 100%,50% 62%,0 100%);width:16px;height:.62em;position:absolute;top:.32em;left:0}.prose h3{font:400 21px/1.45 var(--font-display);color:var(--ink);margin:1.7em 0 .45em}.prose ul,.prose ol{padding-left:1.5em}.prose li{margin-bottom:.35em}.prose li::marker{color:var(--cinnabar);font-family:var(--font-num)}.prose strong{font-weight:600}.prose em{color:var(--cinnabar);font-style:normal}.prose a{color:var(--azurite);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.prose a:hover{color:var(--cinnabar)}.prose code{background:var(--code-bg);font:.86em var(--font-mono);word-break:break-word;border-radius:2px;padding:.08em .34em}.prose .table-scroll{margin-block:0 1.2em;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;margin:0;font-size:15px;line-height:1.6}.prose th{text-align:left;border-bottom:1.5px solid var(--ink);white-space:nowrap;padding:7px 12px 7px 0;font-weight:600}.prose td{border-bottom:1px solid var(--rule);vertical-align:top;padding:7px 12px 7px 0}.prose .dropcap:first-letter{float:left;font:400 3.3em/.95 var(--font-display);color:var(--cinnabar);margin:.08em .1em 0 0}.figure-row{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:0 18px;margin-block:1.5em;display:grid}.figure-row>.figure{margin:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
