.prose{max-width:720px}.prose>p:first-of-type>em:only-child{color:var(--text-muted)}.prose h2{font-size:var(--font-size-2xl);color:var(--text-dark);margin-top:var(--space-xl);margin-bottom:var(--space-xs);font-weight:700}.prose .subtitle{font-size:var(--font-size-lg);color:var(--text-muted);margin-bottom:var(--space-md)}.prose h3{font-size:var(--font-size-xl);color:var(--text-dark);margin-top:var(--space-lg);margin-bottom:var(--space-sm);font-weight:600}.prose h4{font-size:var(--font-size-lg);color:var(--text-dark);margin-top:var(--space-md);margin-bottom:var(--space-xs);font-weight:600}.prose :is(h2,h3,h4)>a{color:inherit;text-decoration:none}.prose :is(h2,h3,h4)>a:hover{color:var(--primary)}.prose [id]{scroll-margin-top:calc(var(--header-height) + var(--space-sm))}.prose p{margin-bottom:var(--space-md);line-height:1.7}.prose ul,.prose ol{margin-bottom:var(--space-md);padding-left:var(--space-md)}.prose li{margin-bottom:var(--space-xs);line-height:1.7}.prose li:last-child{margin-bottom:0}.prose .steps ol{counter-reset:step;margin:var(--space-lg) 0;padding:0;list-style:none}.prose .steps li{counter-increment:step;padding:0 0 var(--space-md) 3rem;color:var(--text-muted);margin:0;position:relative}.prose .steps li:last-child{padding-bottom:0}.prose .steps li:before{content:counter(step);border:1.5px solid var(--primary);background-color:var(--bg-green-tint);width:2rem;height:2rem;color:var(--primary);border-radius:50%;place-items:center;font-size:.95rem;font-weight:700;line-height:1;display:grid;position:absolute;top:0;left:0}.prose .steps li:after{content:"";background-color:var(--border-light);width:2px;position:absolute;top:2.4rem;bottom:.4rem;left:calc(1rem - 1px)}.prose .steps li:last-child:after{display:none}.prose .steps li>strong:first-child{color:var(--text-dark);margin-bottom:.1rem;display:block}.prose a{color:var(--primary);text-decoration:underline}.prose a:hover{color:var(--primary-hover)}.prose .vscode-banner{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);margin:var(--space-md) 0 var(--space-lg);background:var(--bg-green-tint);border:1px solid var(--primary);border-radius:var(--radius-md);display:flex}.prose .vscode-banner__icon{flex-shrink:0}.prose .vscode-banner__text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.prose .vscode-banner__text strong{color:var(--text-dark);font-size:var(--font-size-base)}.prose .vscode-banner__text span{color:var(--text-muted);font-size:var(--font-size-sm)}.prose .vscode-banner__btn{background:var(--primary);color:var(--white);border-radius:var(--radius-sm);font-size:var(--font-size-sm);flex-shrink:0;margin-left:auto;padding:.4rem 1.2rem;font-weight:600;text-decoration:none;transition:background-color .15s}.prose .vscode-banner__btn:hover{background:var(--primary-hover)}.prose .vscode-banner__link{color:var(--primary);font-size:var(--font-size-sm);flex-shrink:0;text-decoration:none}.prose .vscode-banner__link:hover{color:var(--primary-hover);text-decoration:underline}@media (width<=480px){.prose .vscode-banner{padding:var(--space-sm) var(--space-md);flex-wrap:wrap}.prose .vscode-banner__btn{text-align:center;width:100%;margin-left:0;margin-top:var(--space-xs)}}.prose blockquote{border-left:3px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:var(--space-sm) var(--space-md);margin:var(--space-md) 0;color:var(--text-dark);background-color:#f0f7f0}.prose blockquote>:last-child{margin-bottom:0}.prose blockquote code{background-color:var(--white)}.prose code{background-color:var(--bg-light);border-radius:var(--radius-sm);padding:.2em .4em;font-size:.9em}.prose :not(pre)>code{overflow-wrap:anywhere}.prose pre{border:1px solid var(--border-light);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md);font-size:.875rem;line-height:1.6;overflow-x:auto;background-color:#f7f7f5!important}.prose pre code{background:0 0;padding:0;font-size:1em}.prose img{border-radius:var(--radius-md);max-width:100%;margin:var(--space-md) 0}.prose hr{border:none;border-top:1px solid var(--border-light);margin:var(--space-xl) 0}.prose details:not(.toc){margin:var(--space-md) 0;border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md)}.prose details:not(.toc)>summary{cursor:pointer;color:var(--primary);font-weight:600}.prose details:not(.toc)[open]>summary{margin-bottom:var(--space-sm)}.prose table{border-collapse:collapse;width:max-content;max-width:100%;margin:var(--space-lg) 0;font-variant-numeric:tabular-nums;font-size:.875rem;line-height:1.5;display:block;overflow-x:auto}.prose table,.prose pre{--scroll-cover:var(--white);background-image:linear-gradient(to right, var(--scroll-cover) 30%, transparent), linear-gradient(to left, var(--scroll-cover) 30%, transparent), radial-gradient(farthest-side at 0 50%, #00000029, transparent), radial-gradient(farthest-side at 100% 50%, #00000029, transparent);background-position:0,100%,0,100%;background-repeat:no-repeat;background-size:2.5rem 100%,2.5rem 100%,.875rem 100%,.875rem 100%;background-attachment:local,local,scroll,scroll}.prose pre{--scroll-cover:#f7f7f5}.prose td code,.prose th code{overflow-wrap:normal}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border-light);padding:.45rem .75rem}.prose td code{background:0 0;padding:0;font-size:.95em}.prose th{vertical-align:bottom;border-bottom:1.5px solid var(--text-dark);letter-spacing:.01em;color:var(--text-muted);white-space:nowrap;font-size:.8125rem;font-weight:600}.prose th code{color:inherit;background:0 0;padding:0;font-size:.95em}.prose table.compact th,.prose table.compact td{white-space:nowrap}.prose th[align=right],.prose td[align=right]{text-align:right}.prose th[align=center],.prose td[align=center]{text-align:center}@media (width<=600px){.prose table{font-size:.8125rem}.prose th,.prose td{padding:.4rem .45rem}}.prose table.ledger{font-size:.875rem}.prose table.ledger th,.prose table.ledger td{padding:.45rem .75rem}.prose table.ledger th{vertical-align:bottom;border-bottom:1.5px solid var(--text-dark)}.prose table.ledger th small{color:var(--text-muted);margin-top:.15rem;font-size:.75rem;font-weight:400;display:block}.prose table.ledger .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.prose table.ledger .pick{background-color:var(--bg-green-tint)}.prose table.ledger th.pick code{color:var(--primary-dark)}.prose table.ledger tr.group td{color:var(--text-dark);background-color:#0000;padding-top:.9rem;font-weight:600}.prose table.ledger tr.group td span{color:var(--text-muted);font-weight:400}.prose table.ledger tr.total td{color:var(--text-dark);border-top:1px solid var(--text-muted);font-weight:600}.prose table.ledger .spike{color:#b45309;font-weight:600}.prose table.ledger tr.note td{color:var(--text-muted);background-color:#0000;border-bottom:none;padding-top:.6rem;font-size:.75rem}@media (width<=600px){.prose table.ledger{width:100%;font-size:.8125rem}.prose table.ledger th,.prose table.ledger td{padding:.4rem .45rem}.prose table.ledger th.num{white-space:normal}}.prose strong{color:var(--text-dark);font-weight:600}.prose .formula{background:var(--bg-light);border-radius:var(--radius-sm);white-space:nowrap;padding:.15em .5em;font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-size:1.05em;font-style:italic;display:inline-block}.prose .toc{margin-bottom:var(--space-md)}.prose .toc__toggle{align-items:center;gap:var(--space-xs);cursor:pointer;user-select:none;border-radius:var(--radius-sm);margin:-.25rem -.5rem;padding:.25rem .5rem;list-style:none;display:inline-flex}.prose .toc__toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.prose .toc__toggle::-webkit-details-marker{display:none}.prose .toc__label{font-size:var(--font-size-sm);color:var(--text-muted);font-weight:500}.prose .toc__icon{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.prose .toc[open] .toc__icon{transform:rotate(180deg)}.prose .toc__nav{margin-top:var(--space-xs)}.prose .toc__list{flex-direction:column;gap:.25rem;margin:0;padding-left:0;list-style:none;display:flex}.prose .toc__item{margin:0}.prose .toc__link{font-size:var(--font-size-sm);color:var(--primary);line-height:1.4;text-decoration:none}.prose .toc__link:hover{text-decoration:underline}.prose .references{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--border-light)}.prose .references h2{margin-top:0;margin-bottom:var(--space-md)}.prose .reference-group{margin-bottom:var(--space-md)}.prose .reference-group__heading{font-size:var(--font-size-xl);color:var(--text-dark);margin-top:var(--space-lg);margin-bottom:var(--space-sm);font-weight:600}.prose .reference-group:first-child .reference-group__heading{margin-top:0}.prose .reference-list{padding-left:var(--space-lg);margin:0 0 var(--space-md) 0;list-style:none}.prose .reference-item{margin-bottom:var(--space-xs);line-height:1.7;font-size:var(--font-size-sm);border-radius:var(--radius-sm);margin-left:-.5rem;padding:.2rem .5rem .2rem 0;position:relative}.prose .reference-item.highlighted,.prose .reference-item:target{animation:2.5s ease-out highlight-fade}@keyframes highlight-fade{0%,30%{background-color:var(--bg-green-tint)}to{background-color:#0000}}.prose .reference-item:last-child{margin-bottom:0}.prose .reference-item:before{content:"[" attr(data-ref-number) "]";left:calc(-1 * var(--space-lg));width:var(--space-lg);color:var(--primary);font-weight:500;position:absolute}.prose .ref-authors{color:var(--text-dark);font-weight:500}.prose .ref-year{color:var(--text-muted)}.prose .ref-title{color:var(--text-dark)}.prose a.ref-title{color:var(--primary);text-decoration:underline}.prose a.ref-title:hover{color:var(--primary-hover)}.prose .ref-source{color:var(--text-muted)}.prose .ref-source-lead{color:var(--text-dark);font-weight:500}.prose .ref-sep{color:var(--text-dark)}.prose .cite-group{white-space:nowrap}.prose .cite{vertical-align:super;color:var(--primary);background-color:var(--bg-green-tint);border-radius:var(--radius-sm);justify-content:center;align-items:center;margin-left:.1em;padding:.15em .4em;font-size:.75em;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.prose .cite:hover{background-color:var(--primary);color:var(--white);text-decoration:none}.prose .cite:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.prose .cite-sep{vertical-align:super;color:var(--text-muted);margin-right:.15em;font-size:.75em;line-height:1}@media (width<=768px){.prose h2{font-size:1.625rem}.prose h3{font-size:1.25rem}.prose h4{font-size:1.125rem}.prose .reference-list{padding-left:var(--space-md)}.prose .reference-item:before{left:calc(-1 * var(--space-md));width:var(--space-md);font-size:.85em}}@media (width<=600px){.prose{font-size:1.0625rem}}@media print{.prose .references{margin-top:var(--space-lg);padding-top:var(--space-md)}.prose .reference-item{font-size:.875rem}.prose .reference-item.highlighted{background-color:#0000}.prose a.ref-title{color:var(--text-dark);text-decoration:none}.prose a.ref-title:after{content:" [" attr(href) "]";color:var(--text-muted);word-break:break-all;font-size:.75em}}.article__back[data-astro-cid-zg7dkzxc]{color:var(--primary);margin-bottom:var(--space-lg);font-weight:500;display:inline-block}.article__back[data-astro-cid-zg7dkzxc]:hover{text-decoration:underline}.article__header[data-astro-cid-zg7dkzxc]{margin-bottom:var(--space-xl)}.article__date[data-astro-cid-zg7dkzxc]{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-xs);display:block}.article__title[data-astro-cid-zg7dkzxc]{font-size:var(--font-size-3xl);margin-bottom:var(--space-xs)}.article__author[data-astro-cid-zg7dkzxc]{color:var(--text-muted);font-size:var(--font-size-base)}.article__author[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]{color:inherit;text-underline-offset:2px;text-decoration:underline}.article__cover[data-astro-cid-zg7dkzxc]{width:100%;max-width:720px;height:auto;margin:0 0 var(--space-xl);display:block}.article__content[data-astro-cid-zg7dkzxc]{max-width:720px}.article__main[data-astro-cid-zg7dkzxc]{min-width:0}.article__rail[data-astro-cid-zg7dkzxc]{display:none}.rail[data-astro-cid-zg7dkzxc]{top:calc(var(--header-height) + var(--space-lg));max-height:calc(100vh - var(--header-height) - 2 * var(--space-lg));padding-left:var(--space-sm);border-left:1px solid var(--border-light);font-size:.875rem;position:sticky;overflow-y:auto}.rail__label[data-astro-cid-zg7dkzxc]{color:var(--text-dark);margin-bottom:var(--space-xs);font-weight:600}.rail__list[data-astro-cid-zg7dkzxc]{margin:0 0 var(--space-sm);padding:0;list-style:none}.rail__link[data-astro-cid-zg7dkzxc]{color:var(--text-muted);gap:.5rem;padding:.3rem 0;line-height:1.35;display:flex;position:relative}.rail__link[data-astro-cid-zg7dkzxc]:hover{color:var(--primary);text-decoration:none}.rail__link[data-astro-cid-zg7dkzxc][aria-current]{color:var(--primary);font-weight:600}.rail__link[data-astro-cid-zg7dkzxc][aria-current]:before{content:"";left:calc(-1 * var(--space-sm) - 1px);background-color:var(--primary);width:2px;position:absolute;top:.3rem;bottom:.3rem}.rail__num[data-astro-cid-zg7dkzxc]{text-align:right;font-variant-numeric:tabular-nums;flex:0 0 1.3rem}.rail__top[data-astro-cid-zg7dkzxc]{color:var(--text-muted);font-size:.8125rem}@media (width>=1100px){.article__layout--rail[data-astro-cid-zg7dkzxc]{column-gap:var(--space-lg);grid-template-columns:minmax(0,720px) minmax(0,1fr);display:grid}.article__rail[data-astro-cid-zg7dkzxc]{display:block}.article__layout--rail[data-astro-cid-zg7dkzxc] .prose .toc{display:none}}.article__fab[data-astro-cid-zg7dkzxc]{right:var(--space-sm);bottom:var(--space-sm);z-index:40;border:1px solid var(--border-light);background-color:var(--white);color:var(--primary);opacity:0;pointer-events:none;border-radius:999px;padding:.55rem 1rem;font-size:.875rem;font-weight:600;transition:opacity .2s,transform .2s;position:fixed;transform:translateY(.5rem);box-shadow:0 4px 14px #0000001f}.article__fab[data-astro-cid-zg7dkzxc]:hover{text-decoration:none}.article__fab[data-astro-cid-zg7dkzxc].is-visible{opacity:1;pointer-events:auto;transform:none}@media (width>=1100px){.article__fab[data-astro-cid-zg7dkzxc]{display:none}}.article__next[data-astro-cid-zg7dkzxc]{max-width:720px;margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--border-light)}.article__next-title[data-astro-cid-zg7dkzxc]{font-size:var(--font-size-xl);margin-bottom:var(--space-md)}.article__next-list[data-astro-cid-zg7dkzxc]{margin:0 0 var(--space-md);gap:var(--space-md);padding:0;list-style:none;display:grid}.article__next-link[data-astro-cid-zg7dkzxc]{color:var(--primary);font-weight:600}.article__next-desc[data-astro-cid-zg7dkzxc]{color:var(--text-muted);font-size:var(--font-size-sm);margin:var(--space-xs) 0 0}.article__next-feed[data-astro-cid-zg7dkzxc]{font-size:var(--font-size-sm);color:var(--text-muted)}.article__next-feed[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]{color:var(--primary)}
