.distill-article{--distill-text-color: #282728;--distill-heading-color: #1a1a1a;--distill-link-color: #006cac;--distill-border-color: rgba(0, 0, 0, .1);--distill-bg: #fdfdfd;--distill-code-bg: #f4f4f5;--distill-muted: #71717a;font-family:Roboto,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.125rem;line-height:1.7;color:var(--distill-text-color);background:var(--distill-bg)}:where([data-theme=dark]) .distill-article{--distill-text-color: #eaedf3;--distill-heading-color: #fafafa;--distill-link-color: #ff6b01;--distill-border-color: rgba(255, 255, 255, .1);--distill-bg: #212737;--distill-code-bg: #343f60;--distill-muted: #a1a1aa}.distill-header{max-width:900px;margin:0 auto;padding:4rem 2rem 2rem;border-bottom:1px solid var(--distill-border-color)}.distill-title{font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.2;margin:0 0 1rem;color:var(--distill-heading-color);letter-spacing:-.02em}.distill-description{font-size:1.25rem;color:var(--distill-muted);margin:0 0 1.5rem;font-weight:300;line-height:1.5}.distill-meta{display:flex;flex-wrap:wrap;gap:1.5rem;font-size:.9rem;color:var(--distill-muted)}.distill-meta-item{display:flex;align-items:center;gap:.5rem}.distill-meta-label{font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.distill-wrapper{display:grid;grid-template-columns:1fr min(850px,100%) 1fr;gap:0 2rem;padding:3rem 1.5rem}@media(min-width:1200px){.distill-wrapper{grid-template-columns:220px min(850px,100%) 1fr;gap:0 3rem;padding:3rem 2rem}}.distill-toc{display:none}@media(min-width:1200px){.distill-toc{display:block;position:sticky;top:2rem;align-self:start;max-height:calc(100vh - 4rem);overflow-y:auto;padding-right:1rem}}.distill-toc-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--distill-muted);margin-bottom:1rem}.distill-toc-list{list-style:none;padding:0;margin:0}.distill-toc-list li{margin-bottom:.5rem}.distill-toc-list a{font-size:.875rem;color:var(--distill-muted);text-decoration:none;transition:color .2s ease;display:block;border-left:2px solid transparent;padding:.25rem 0 .25rem .75rem;margin-left:-.75rem}.distill-toc-list a:hover{color:var(--distill-link-color)}.distill-toc-list a.active{color:var(--distill-link-color);border-left-color:var(--distill-link-color)}.distill-toc-list .toc-level-3{padding-left:1.5rem}.distill-content{grid-column:2;max-width:100%;overflow-x:auto}.distill-content h1,.distill-content h2,.distill-content h3,.distill-content h4{font-family:Roboto,sans-serif;color:var(--distill-heading-color);font-weight:600;margin-top:2.5rem;margin-bottom:1rem;line-height:1.3}.distill-content h2{font-size:1.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--distill-border-color)}.distill-content h3{font-size:1.35rem;font-weight:500}.distill-content h4{font-size:1.1rem;font-weight:500;color:var(--distill-muted)}.distill-content p{margin:0 0 1.5rem;text-align:left}.distill-content strong{font-weight:600}.distill-content em{font-style:italic}.distill-content a{color:var(--distill-link-color);text-decoration:none;background-image:linear-gradient(var(--distill-link-color),var(--distill-link-color));background-size:0% 1px;background-position:0% 100%;background-repeat:no-repeat;transition:background-size .3s ease}.distill-content a:hover{background-size:100% 1px}.distill-content ul,.distill-content ol{margin:0 0 1.5rem;padding-left:1.5rem}.distill-content li{margin-bottom:.5rem}.distill-content li::marker{color:var(--distill-link-color)}.distill-content code{font-family:Roboto Mono,SF Mono,Consolas,monospace;font-size:.9em;background:var(--distill-code-bg);padding:.2em .4em;border-radius:4px}.distill-content pre{background:var(--distill-code-bg);padding:1.25rem;border-radius:8px;overflow-x:auto;margin:1.5rem 0;border:1px solid var(--distill-border-color)}.distill-content pre code{background:none;padding:0;font-size:.875rem;line-height:1.6}.distill-content blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:3px solid var(--distill-link-color);background:var(--distill-code-bg);border-radius:0 8px 8px 0;font-style:italic}.distill-content blockquote p:last-child{margin-bottom:0}.distill-content img{max-width:100%;height:auto;border-radius:8px;margin:1.5rem auto;display:block}.distill-content figure{margin:2rem 0;text-align:center}.distill-content figcaption{font-size:.875rem;color:var(--distill-muted);margin-top:.75rem;font-style:italic}.distill-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}.distill-content th,.distill-content td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--distill-border-color)}.distill-content th{font-weight:600;background:var(--distill-code-bg)}.distill-content hr{border:none;border-top:1px solid var(--distill-border-color);margin:3rem 0}.distill-content .katex-display{margin:2rem 0;overflow-x:auto;overflow-y:hidden;padding:1rem 0}.distill-content .katex{font-size:1.1em}.distill-content a[data-footnote-ref]{font-size:.75em;vertical-align:super;text-decoration:none;color:var(--distill-link-color);font-weight:600;padding:0 .15em;cursor:pointer;position:relative}.distill-content a[data-footnote-ref]:before{content:"["}.distill-content a[data-footnote-ref]:after{content:"]"}.distill-content a[data-footnote-ref]:hover{background-size:0}.footnote-tooltip{position:fixed;max-width:400px;padding:1rem 1.25rem;background:#fafaf9;color:#1a1a1a;border:1px solid rgba(0,0,0,.1);border-radius:8px;box-shadow:0 10px 40px #00000026,0 2px 10px #0000001a;font-family:Roboto,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.9rem;line-height:1.6;z-index:10000;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s;pointer-events:none}:where([data-theme=dark]) .footnote-tooltip{background:#212737;color:#eaedf3;border-color:#ffffff1a;box-shadow:0 10px 40px #0006,0 2px 10px #0000004d}.footnote-tooltip.visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.footnote-tooltip:before{content:"";position:absolute;top:-6px;left:20px;width:12px;height:12px;background:#fdfdfd;border-left:1px solid rgba(0,0,0,.1);border-top:1px solid rgba(0,0,0,.1);transform:rotate(45deg)}:where([data-theme=dark]) .footnote-tooltip:before{background:#212737;border-color:#ffffff1a}.footnote-tooltip p{margin:0}.footnote-tooltip p+p{margin-top:.75rem}.footnote-tooltip a{color:#006cac}:where([data-theme=dark]) .footnote-tooltip a{color:#ff6b01}.distill-content .footnotes{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--distill-border-color);font-size:.9rem;color:var(--distill-muted)}.distill-content .footnotes-title{font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.5rem;color:var(--distill-heading-color)}.distill-content .footnotes ol{padding-left:1.5rem;list-style-type:decimal}.distill-content .footnotes li{margin-bottom:1rem;padding-left:.5rem}.distill-content .footnotes li:target{background:#006cac1a;border-radius:4px;padding:.5rem;margin-left:-.5rem}:where([data-theme=dark]) .distill-content .footnotes li:target{background:#ff6b011a}.distill-content .footnotes a[data-footnote-backref]{font-size:.875rem;margin-left:.25rem;text-decoration:none}.distill-mobile-toc{display:block;margin-bottom:2rem;padding:1rem 1.25rem;background:var(--distill-code-bg);border-radius:8px;border:1px solid var(--distill-border-color)}@media(min-width:1200px){.distill-mobile-toc{display:none}}.distill-mobile-toc summary{font-weight:600;cursor:pointer;font-size:.9rem;color:var(--distill-heading-color)}.distill-mobile-toc[open] summary{margin-bottom:1rem}.distill-mobile-toc .distill-toc-list{margin-top:.5rem}html{scroll-behavior:smooth}:target{scroll-margin-top:2rem}.distill-article ::selection{background:#006cac4d}:where([data-theme=dark]) .distill-article ::selection{background:#ff6b014d}.reading-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:linear-gradient(90deg,#006cac,#09f);z-index:1000;transition:width .1s ease-out}:where([data-theme=dark]) .reading-progress{background:linear-gradient(90deg,#ff6b01,#ff9a44)}.giscus-container{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--distill-border-color)}.comments-title{font-size:1.25rem;font-weight:600;color:var(--distill-heading-color);margin-bottom:1.5rem;padding-bottom:0;border-bottom:none}.giscus{margin-top:1rem}.giscus-frame{width:100%!important}
