:root{--bg:#0b0b0c;--fg:#c9c6c0;--dim:#6e6b66;--heading:#eae7e1;--link:#5ac8d8;--link-hover:#a3e6ef;--panel:#121213;--code-bg:#121213;--rule:#26262a;--warn:#c24a3a;--chart-accent:#22b8cf;--chart-gain:#3987e5;--chart-loss:var(--warn);color-scheme:dark}[data-theme=light]{--bg:#f7f5f0;--fg:#1f1e1b;--dim:#5e5b56;--heading:#141312;--link:#8a6a28;--link-hover:#5e4718;--panel:#efece5;--code-bg:#fdfcfa;--rule:#dedad2;--warn:#a63b2c;--chart-accent:#9c6200;--chart-gain:#2a78d6;--chart-loss:var(--warn);color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f7f5f0;--fg:#1f1e1b;--dim:#5e5b56;--heading:#141312;--link:#8a6a28;--link-hover:#5e4718;--panel:#efece5;--code-bg:#fdfcfa;--rule:#dedad2;--warn:#a63b2c;--chart-accent:#9c6200;--chart-gain:#2a78d6;--chart-loss:var(--warn);color-scheme:light}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:15px}:root{--measure:56rem;--measure-narrow:40rem}body{min-height:100vh;color:var(--fg);background:var(--bg);margin:0;font-family:ui-monospace,Cascadia Code,SF Mono,Menlo,Consolas,monospace;line-height:1.65}a{color:var(--link);text-underline-offset:2px;text-decoration:underline}a:hover{color:var(--link-hover)}a:focus-visible,button:focus-visible{outline:1px solid var(--link);outline-offset:2px}img{max-width:100%;height:auto}::selection{background:var(--link);color:var(--bg)}mark.hl{background:var(--link);color:var(--bg);border-radius:2px;padding:0 .15em}mark.hl::selection{background:var(--link-hover);color:var(--bg)}.wrap{max-width:var(--measure-narrow);margin:0 auto;padding-block:3rem 4rem;padding-inline:1.25rem}.doc{max-width:min(1180px,100vw - 1.5rem);margin:0 auto;padding-block:2.5rem 4rem;padding-inline:1.25rem}.doc>.subnav,.doc>.doc-header,.doc>.doc-footer,.doc>.doc-rule,.doc>p,.doc>.post-list,.doc>section,.doc>.site-foot,.doc .doc-body>*{max-width:var(--measure);margin-left:auto;margin-right:auto}.doc .doc-body>figure,.doc .doc-body>.wide{max-width:100%}.brand{letter-spacing:.22em;color:var(--heading);margin:0 0 .75rem;font-size:1rem;font-weight:600}.brand a{color:inherit;text-decoration:none}.brand.is-word{letter-spacing:.12em}.brand-mark{vertical-align:middle;background-color:var(--heading);width:2.8em;height:2.8em;margin:-.9em .45em -.9em -.35em;display:inline-block;-webkit-mask:url(/brand/mark-mask.png) 50%/contain no-repeat;mask:url(/brand/mark-mask.png) 50%/contain no-repeat}.brand a:hover{color:var(--link-hover)}.tagline{color:var(--dim);margin:0 0 2rem;font-size:.95rem}.block{margin:0 0 1.25rem;font-size:.95rem}.section-nav{margin-bottom:2.25rem}.section-nav .block{margin-bottom:.55rem}.section-nav .block:last-child{margin-bottom:0}.subnav{color:var(--dim);margin:0 0 1.5rem;font-size:.9rem}.subnav-sep{color:var(--dim);margin:0 .5rem}.dim{color:var(--dim)}.section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin:0 0 1rem;font-size:.8rem;font-weight:600}.post-list{margin:0 0 2rem;padding:0;list-style:none}.post-item+.post-item{margin-top:1.5rem}.post-meta{letter-spacing:.06em;color:var(--dim);font-variant-numeric:tabular-nums;margin:0;font-size:.8rem;display:block}.post-section{color:var(--link)}.post-meta .subnav-sep{margin:0 .35rem}.post-title{margin-top:.15rem;font-size:.95rem;font-weight:600;line-height:1.45;text-decoration:none;display:inline-block}.post-title:hover{text-decoration:underline}.post-summary{color:var(--dim);margin:.25rem 0 0;font-size:.9rem;line-height:1.6}.post-more{margin:0;font-size:.9rem}.doc-header{margin-bottom:2rem}.doc-header h1{letter-spacing:.06em;color:var(--heading);margin:0 0 .5rem;font-size:1.05rem;font-weight:600;line-height:1.5}.doc-lead{color:var(--dim);margin:0 0 .5rem;font-size:.95rem}.doc-rule{border:none;border-top:1px solid var(--rule);margin-bottom:2rem}.doc-body>h2{letter-spacing:.04em;color:var(--link);margin:1.75rem 0 .6rem;font-size:.95rem;font-weight:600}.doc-body>h2:first-child{margin-top:0}.doc-body>h3{letter-spacing:.03em;color:var(--link-hover);margin:1.2rem 0 .45rem;font-size:.9rem;font-weight:600}.doc-body>p,.doc-body>ul,.doc-body>ol{margin:0 0 .9rem;font-size:.95rem;line-height:1.75}.doc-body>ul,.doc-body>ol{padding-left:1.35rem}.doc-body li{margin:.3rem 0}.doc-body>blockquote{border-left:2px solid var(--rule);color:var(--dim);margin:1rem auto;padding:.1rem 0 .1rem .9rem;font-style:italic}.doc-body>figure{text-align:center;margin:1.5rem auto}.only-light{display:none}[data-theme=light] .only-light{display:block}[data-theme=light] .only-dark{display:none}.doc-body>figure img{margin-left:auto;margin-right:auto;display:block}.doc-body>figure img.only-light{display:none}[data-theme=light] .doc-body>figure img.only-light{display:block}[data-theme=light] .doc-body>figure img.only-dark{display:none}.doc-body figcaption{color:var(--dim);margin-top:.4rem;font-size:.8rem;line-height:1.4}.doc-body>.table-scroll,.doc-body>pre{overflow-x:auto}.doc-body table{border-collapse:collapse;width:100%;font-size:.9rem}.doc-body th,.doc-body td{border:1px solid var(--rule);text-align:left;vertical-align:top;padding:.55rem .6rem}.doc-body th{color:var(--heading);font-weight:600}.doc-body :not(pre)>code{background:var(--panel);border:1px solid var(--rule);padding:.1em .35em;font-size:.9em}.doc-body pre{border:1px solid var(--rule);margin:0 auto .9rem;padding:.75rem .9rem;font-size:.88rem;line-height:1.6;background:var(--code-bg)!important}:root:not([data-theme=light]) .doc-body .astro-code,:root:not([data-theme=light]) .doc-body .astro-code span{color:var(--shiki-dark)!important}.doc-body hr{border:none;border-top:1px solid var(--rule);margin:2rem auto}.doc-footer{border-top:1px solid var(--rule);margin-top:2.5rem;padding-top:1.5rem}.doc-footer p{color:var(--dim);margin:0;font-size:.9rem;line-height:1.65}.theme-toggle{z-index:60;font:inherit;letter-spacing:.08em;color:var(--dim);background:color-mix(in srgb, var(--bg) 88%, transparent);border:1px solid var(--rule);cursor:pointer;margin:0;padding:.3rem .55rem;font-size:.72rem;line-height:1.2;position:fixed;bottom:.85rem;right:.85rem}.theme-toggle:hover{color:var(--link-hover);border-color:color-mix(in srgb, var(--link-hover) 45%, var(--rule))}.theme-toggle:after{content:"light"}[data-theme=light] .theme-toggle:after{content:"dark"}@media (width<=720px){.doc{max-width:100%;padding-block:1.75rem 3rem;padding-inline:1rem}.wrap{padding-block:2.25rem 3rem;padding-inline:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.series-box{max-width:var(--measure);background:var(--code-bg);border:1px solid var(--rule);border-radius:6px;margin:0 auto 2rem;padding:.75rem 1rem;font-size:.82rem}.series-name{color:var(--heading);margin:0 0 .45rem}.series-parts{margin:0;padding:0;line-height:1.75;list-style:none}.series-parts a{color:var(--fg);text-decoration:none}.series-parts a:hover{color:var(--link-hover)}.series-n{width:2.5ch;color:var(--dim);display:inline-block}.series-parts .is-here,.series-parts .is-here .series-n{color:var(--link)}.series-step{max-width:var(--measure);justify-content:space-between;gap:1.5rem;margin:2.5rem auto 0;font-size:.85rem;display:flex}.series-step a{text-decoration:none}.series-step a:hover{text-decoration:underline}.series-step a:last-child:not(:first-child){text-align:right}.draft-flag{letter-spacing:.08em;text-transform:uppercase;color:var(--warn);margin:0 0 .75rem;font-size:.75rem}.post-draft{color:var(--warn);margin-left:.6rem}.doc-body .term-fig{text-align:left;background:var(--code-bg);border:1px solid var(--rule);max-width:100%;color:var(--fg);border-radius:6px;margin:0;padding:.9rem 1.1rem;font-size:.78rem;line-height:1.6;display:inline-block;overflow-x:auto}.term-fig .tf-k{color:var(--dim)}.term-fig .tf-v{color:var(--fg);opacity:.75}.term-fig .tf-on{color:var(--chart-accent)}.term-fig .tf-neg{color:var(--chart-loss)}.doc-body>figure.wide figcaption{max-width:var(--measure);margin-left:auto;margin-right:auto}.eh[data-astro-cid-dexd65sd]{display:inline-block;position:relative}.eh-word[data-astro-cid-dexd65sd]{color:var(--link);text-underline-offset:3px;cursor:pointer;text-decoration:underline 1px}.eh-word[data-astro-cid-dexd65sd]:hover{color:var(--link-hover)}.eh-pop[data-astro-cid-dexd65sd]{z-index:20;background:var(--code-bg);border:1px solid var(--rule);white-space:nowrap;opacity:0;visibility:hidden;border-radius:6px;align-items:center;gap:.75rem;padding:.45rem .6rem .45rem .8rem;font-size:.85rem;transition:opacity .18s,transform .18s,visibility 0s linear .18s;display:flex;position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%,-4px);box-shadow:0 6px 24px #00000047}.eh-pop[data-astro-cid-dexd65sd]:before{content:"";height:.6rem;position:absolute;top:-.6rem;left:0;right:0}@media (hover:hover) and (pointer:fine){.eh[data-astro-cid-dexd65sd]:hover .eh-pop[data-astro-cid-dexd65sd],.eh[data-astro-cid-dexd65sd]:focus-within .eh-pop[data-astro-cid-dexd65sd],.eh[data-astro-cid-dexd65sd].is-open .eh-pop[data-astro-cid-dexd65sd]{opacity:1;visibility:visible;transition:opacity .18s,transform .18s,visibility;transform:translate(-50%)}}.eh-addr[data-astro-cid-dexd65sd]{color:var(--heading);text-decoration:none}.eh-addr[data-astro-cid-dexd65sd]:hover{color:var(--link-hover);text-underline-offset:3px;text-decoration:underline}.eh-copy[data-astro-cid-dexd65sd]{border:1px solid var(--rule);font:inherit;color:var(--dim);cursor:pointer;background:0 0;border-radius:3px;padding:.1rem .5rem;font-size:.75rem}.eh-copy[data-astro-cid-dexd65sd]:hover{color:var(--link-hover);border-color:var(--link)}.site-foot[data-astro-cid-nns7i3if]{border-top:1px solid var(--rule);color:var(--dim);margin-top:3rem;padding-top:1.1rem;font-size:.78rem}.foot-note[data-astro-cid-nns7i3if]{margin:0 0 .6rem;line-height:1.6}.foot-links[data-astro-cid-nns7i3if]{flex-wrap:wrap;gap:.25rem 1.1rem;padding-right:3.5rem;display:flex}.foot-links[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]{color:var(--dim);text-decoration:none}.foot-links[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]:hover{color:var(--link-hover);text-underline-offset:3px;text-decoration:underline}.foot-links[data-astro-cid-nns7i3if] .eh-word{color:var(--dim);text-decoration:none}.foot-links[data-astro-cid-nns7i3if] .eh-word:hover{color:var(--link-hover);text-decoration:underline}.foot-links[data-astro-cid-nns7i3if] .eh-pop{top:auto;bottom:calc(100% + .5rem);transform:translate(-50%,4px)}.foot-links[data-astro-cid-nns7i3if] .eh-pop:before{top:auto;bottom:-.6rem}
