:root{color-scheme:dark;--bg:#222021;--bg-subtle:#2b292a;--text:#fff;--muted:#b8b3b5;--border:#423f40;--accent:#8fc1f0;--accent-tint:#33404d;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--header-height:3.25rem;--sidebar-width:17rem;--column-width:44rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-height) + 1rem)}body{background:var(--bg);min-height:100vh;color:var(--text);font:1rem/1.65 var(--sans);flex-direction:column;margin:0;display:flex}a{color:var(--accent);text-underline-offset:.15em;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{z-index:20;background:var(--bg);border:1px solid var(--border);padding:.25rem .75rem;position:absolute;top:-3rem;left:.5rem}.skip-link:focus{top:.5rem}.site-header{z-index:10;height:var(--header-height);background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:1.75rem;padding:0 1.25rem;display:flex;position:sticky;top:0}.site-name{color:var(--text);white-space:nowrap;font-weight:600;text-decoration:none}.primary-nav{gap:1.25rem;font-size:.9375rem;display:flex}.primary-nav a{color:var(--muted);text-decoration:none}.primary-nav a:hover{color:var(--text)}.primary-nav a[aria-current]{color:var(--text);font-weight:600}.site-links{gap:.25rem;margin-left:auto;display:flex}.site-links a,.menu-toggle{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:.5rem;display:flex}.site-links a:hover,.menu-toggle:hover{color:var(--text)}.icon{display:block}.menu-toggle{margin-left:-.5rem;display:none}.shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);flex:1;display:grid}main{min-width:0;padding:1.25rem 2.5rem 4rem}.column{max-width:var(--column-width);margin-inline:auto}.sidebar{top:var(--header-height);height:calc(100vh - var(--header-height));background:var(--bg-subtle);border-right:1px solid var(--border);padding:1rem .75rem 2rem;font-size:.875rem;line-height:1.4;position:sticky;overflow-y:auto}.sidebar ul{margin:0;padding:0;list-style:none}.sidebar ul ul{border-left:1px solid var(--border);margin-left:.8125rem;padding-left:.5rem}.sidebar a{color:var(--text);border-radius:3px;flex:1;padding:.25rem .5rem;text-decoration:none;display:block}.sidebar a:hover{background:var(--border)}.sidebar a[aria-current=page]{color:var(--accent);background:var(--accent-tint);font-weight:600}.sidebar nav>ul>li+li{margin-top:.5rem}.sidebar nav>ul>li>details>summary>a{font-weight:600}.sidebar summary{cursor:pointer;align-items:flex-start;list-style:none;display:flex;position:relative}.sidebar summary::-webkit-details-marker{display:none}.sidebar summary:before{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);flex:none;width:.375rem;height:.375rem;margin:.5625rem .25rem 0 .1875rem;transform:rotate(-45deg)}.sidebar details[open]>summary:before{transform:rotate(45deg)}.breadcrumbs{color:var(--muted);margin-bottom:2rem;font-size:.8125rem}.breadcrumbs ol{flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"›";margin:0 .5rem}.breadcrumbs a{color:inherit}h1,h2,h3,h4{font-weight:600;line-height:1.25}h1{letter-spacing:-.01em;margin:0 0 .5rem;font-size:2rem}.doc-header{margin-bottom:1.75rem}.doc-description{color:var(--muted);margin:0;font-size:1.0625rem}.doc-meta{color:var(--muted);margin:.75rem 0 0;font-size:.8125rem}.doc-meta>*+:before{content:"·";color:var(--muted);margin:0 .5em;display:inline-block}.doc-meta a{color:var(--accent)}.doc-tags{font-family:var(--mono);font-size:.75rem}.toc{background:var(--bg-subtle);border:1px solid var(--border);margin-bottom:2rem;padding:.875rem 1.125rem;font-size:.875rem;line-height:1.5}.toc-title{margin:0 0 .375rem;font-weight:600}.toc ol{margin:0;padding:0;list-style:none}.toc ol ol{padding-left:1.5rem}.toc a{color:var(--text);text-decoration:none}.toc a:hover{color:var(--accent);text-decoration:underline}.toc-number{color:var(--muted);font-variant-numeric:tabular-nums}.prose{counter-reset:h2 figure}.prose>:first-child{margin-top:0}.prose h2{counter-increment:h2;counter-reset:h3;border-bottom:1px solid var(--border);margin:2.5rem 0 .75rem;padding-bottom:.375rem;font-size:1.375rem}.prose h2:before{content:counter(h2) ". ";color:var(--muted);font-weight:400}.prose h3{counter-increment:h3;margin:1.75rem 0 .5rem;font-size:1.125rem}.prose h3:before{content:counter(h2) "." counter(h3) " ";color:var(--muted);font-weight:400}.prose h4{margin:1.5rem 0 .5rem;font-size:1rem}.prose p,.prose ul,.prose ol,.prose blockquote,.prose table,.prose pre{margin:0 0 1rem}.prose ul,.prose ol{padding-left:1.5rem}.prose li+li{margin-top:.25rem}.prose li:has(>input[type=checkbox]){margin-left:-1.25rem;list-style:none}.prose blockquote{color:var(--muted);border-left:2px solid var(--border);padding-left:1rem}.prose code{background:var(--bg-subtle);border:1px solid var(--border);font-family:var(--mono);border-radius:3px;padding:.1em .3em;font-size:.875em}.prose pre{border:1px solid var(--border);font-family:var(--mono);padding:.875rem 1rem;font-size:.8125rem;line-height:1.55;overflow-x:auto}.prose pre.astro-code{background-color:var(--bg-subtle)!important}.prose pre code{font-size:inherit;background:0 0;border:0;padding:0}.prose table{border-collapse:collapse;max-width:100%;font-size:.9375rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.4375rem 1.25rem .4375rem 0}.prose th{border-bottom:1px solid var(--muted);font-weight:600}.prose img{max-width:100%;height:auto;margin-inline:auto;display:block}.prose figure{margin:1.75rem 0}.prose figure img{border:1px solid var(--border)}.prose figcaption{counter-increment:figure;color:var(--muted);text-align:center;margin-top:.5rem;font-size:.8125rem}.prose figcaption:before{content:"Figure " counter(figure) ". ";font-weight:600}.figure-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:1.75rem 0;display:grid}.figure-grid figure{margin:0}.figure-grid img{aspect-ratio:1;object-fit:contain;width:100%}.katex-display{margin:1.25rem 0;padding:.125rem 0;overflow:auto hidden}.prose pre.mermaid{text-align:center;background:0 0;border:0;padding:0;overflow-x:auto}.prose pre.mermaid:not([data-processed]){color:var(--muted);text-align:left;font-size:.75rem}.prose pre.mermaid svg{max-width:100%;height:auto}.entry-list,.prose .entry-list{margin:0 0 1rem;padding:0;list-style:none}.entry-list li+li,.prose .entry-list li+li{border-top:1px solid var(--border);margin-top:0}.entry-list li{padding:.75rem 0}.entry-title{font-weight:600;text-decoration:none}.entry-title:hover{text-decoration:underline}.prose .entry-description,.entry-description{margin:.125rem 0 0;font-size:.9375rem}.prose .entry-meta,.entry-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin:.25rem 0 0;font-size:.8125rem}@media (width<=56rem){html{scroll-padding-top:1rem}.site-header{flex-wrap:wrap;gap:0 .5rem;height:auto;padding:.25rem 1rem .5rem;position:static}.menu-toggle{display:flex}.primary-nav{order:1;width:100%}.shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--border);height:auto;display:none;position:static}.sidebar[data-open]{display:block}main{padding:1rem 1rem 3rem}h1{font-size:1.625rem}}@media (width<=30rem){.figure-grid{grid-template-columns:minmax(0,1fr)}}
