.discussion-link[data-astro-cid-ilgprlpa]{margin-top:2rem;padding:1rem 1.25rem;border:1px solid var(--color-border);border-radius:.25rem;background:color-mix(in srgb,var(--color-card-bg) 72%,white 28%)}.discussion-link-label[data-astro-cid-ilgprlpa]{margin:0 0 .4rem;font-family:var(--font-condensed);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.discussion-link-copy[data-astro-cid-ilgprlpa]{margin:0;font-family:var(--font-reading);font-size:.98rem;line-height:1.6}.discussion-link-anchor[data-astro-cid-ilgprlpa]{display:inline-flex;gap:.6rem;align-items:baseline;margin-top:.8rem;font-family:var(--font-condensed);font-size:.9rem;text-decoration:none}.discussion-link-anchor[data-astro-cid-ilgprlpa]:hover{text-decoration:underline}.discussion-link-date[data-astro-cid-ilgprlpa]{color:var(--color-muted);font-size:.78rem}.reading-progress-container{position:fixed;top:0;left:0;right:0;z-index:8;opacity:0;transform:translateY(-100%);transition:opacity .2s ease,transform .2s ease;pointer-events:none;overflow:hidden}.reading-progress-container.visible{opacity:1;transform:translateY(0);pointer-events:auto}.reading-progress-container.compact{pointer-events:none}.reading-progress-container.compact .reading-progress-inner{opacity:0;position:absolute;top:0;left:0;right:0;transform:translateY(-100%);pointer-events:none}.reading-progress-inner{background:var(--color-bg);border-bottom:1px solid rgba(0,0,0,.06);padding:.3rem 1rem;display:flex;align-items:center;min-height:1.6rem;transition:opacity .2s ease,transform .2s ease}.dark .reading-progress-inner{border-bottom-color:#ffffff14}.reading-progress-heading{font-family:var(--font-condensed);font-size:.75rem;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70ch;margin:0 auto;display:flex;align-items:center;gap:.4rem}.reading-progress-title{color:#444;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;text-decoration:none}.reading-progress-title:hover{text-decoration:underline}.dark .reading-progress-title{color:#bbb}.reading-progress-sep{color:#999;flex-shrink:0}.dark .reading-progress-sep{color:#666}.reading-progress-section{color:var(--tag-color, #212121);flex-shrink:1;overflow:hidden;text-overflow:ellipsis;font-weight:600;text-decoration:none}.reading-progress-section:hover{text-decoration:underline}.dark .reading-progress-section{color:var(--tag-color, #F5F5F5)}@media(min-width:1240px){.reading-progress-inner{display:none}}.reading-progress-bar{height:2px;background:#0000000f;width:100%}.dark .reading-progress-bar{background:#ffffff0f}.reading-progress-fill{height:100%;width:0%;background:var(--tag-color, #212121);transition:width .1s linear}.bauhaus-divider[data-astro-cid-kruxkou2]{width:100%;border-radius:0}.toc-wrapper[data-astro-cid-xvrfupwn]{margin:0 0 2rem}.toc-details[data-astro-cid-xvrfupwn]{border-bottom:1px solid var(--color-border)}.toc-label[data-astro-cid-xvrfupwn]{font-family:var(--font-condensed);font-size:.85rem;letter-spacing:.04em;color:var(--color-muted);padding:.6rem 0;cursor:pointer;list-style-position:inside}.toc-count[data-astro-cid-xvrfupwn]{margin-left:.4rem;opacity:.7}.toc[data-astro-cid-xvrfupwn]{padding:0}.toc-list[data-astro-cid-xvrfupwn]{list-style:none;padding:0;margin:0;font-family:var(--font-condensed);font-size:.92rem;line-height:1.4}.toc-item[data-astro-cid-xvrfupwn]{margin:0;line-height:1.4;border-top:1px solid var(--color-border)}.toc-item--sub[data-astro-cid-xvrfupwn]{border-top:0}.toc-item--sub[data-astro-cid-xvrfupwn]+.toc-item[data-astro-cid-xvrfupwn]:not(.toc-item--sub){margin-top:.25rem}.toc-item[data-astro-cid-xvrfupwn] a[data-astro-cid-xvrfupwn]{display:grid;grid-template-columns:2rem minmax(0,1fr);padding:.55rem 0;color:var(--color-text);text-decoration:none;transition:color .15s ease}.toc-item--sub[data-astro-cid-xvrfupwn] a[data-astro-cid-xvrfupwn]{padding-top:.4rem;padding-bottom:.4rem;color:var(--color-muted)}.toc-item--sub[data-astro-cid-xvrfupwn] .toc-text[data-astro-cid-xvrfupwn]{grid-column:2}.toc-num[data-astro-cid-xvrfupwn]{font-family:var(--font-mono);font-size:.78em;line-height:1.8;color:var(--color-muted);font-variant-numeric:tabular-nums;transition:color .15s ease}.toc-item[data-astro-cid-xvrfupwn] a[data-astro-cid-xvrfupwn]:hover .toc-text[data-astro-cid-xvrfupwn]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}.toc-item[data-astro-cid-xvrfupwn] a[data-astro-cid-xvrfupwn].is-current .toc-num[data-astro-cid-xvrfupwn]{color:var(--toc-accent)}.toc-item[data-astro-cid-xvrfupwn] a[data-astro-cid-xvrfupwn].is-current .toc-text[data-astro-cid-xvrfupwn]{color:var(--color-text)}@media(min-width:1240px){.toc-wrapper[data-astro-cid-xvrfupwn]{position:absolute;top:0;bottom:0;right:calc(100% + 3.5rem);width:14rem;margin:0}.toc-details[data-astro-cid-xvrfupwn]{position:sticky;top:7rem;border:0}.toc-label[data-astro-cid-xvrfupwn]{display:none}.toc[data-astro-cid-xvrfupwn]{padding:0}.toc-list[data-astro-cid-xvrfupwn]{font-size:.88rem;border-bottom:1px solid var(--color-border)}.toc-item[data-astro-cid-xvrfupwn] a[data-astro-cid-xvrfupwn]{color:var(--color-muted)}.toc-item[data-astro-cid-xvrfupwn] a[data-astro-cid-xvrfupwn]:hover{color:var(--color-text)}}.blog-post{max-width:42rem;margin:3rem auto 4rem;color:color-mix(in srgb,var(--color-text) 90%,#463730)}.dark .blog-post{color:var(--color-text)}.blog-post pre{overflow:auto}.blog-post .post-body{position:relative;font-family:var(--font-reading);font-size:1.1rem;line-height:1.7;font-weight:300;text-wrap:pretty;hanging-punctuation:first}.blog-post strong{font-weight:600}.blog-post .related-posts{margin-top:2.5rem;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--tag-color, #212121) 22%,transparent)}.blog-post .related-posts h2{margin-top:0;margin-bottom:.75rem;font-family:var(--font-condensed);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.blog-post .related-posts-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem;font-family:var(--font-reading);font-size:1.05rem}.blog-post .related-posts-list li{display:flex;flex-wrap:wrap;gap:.35rem .75rem;align-items:baseline}.blog-post .related-posts-list a{text-decoration:none}.blog-post .related-posts-list a:hover{text-decoration:underline}.blog-post .related-posts-list time{margin:0;font-size:.8rem}.blog-post h1,.blog-post h2,.blog-post h3,.blog-post h4,.blog-post h5{font-family:var(--font-reading);padding-left:0;margin-left:0;padding-bottom:0;margin-top:3rem;margin-bottom:.75rem;scroll-margin-top:6rem;text-wrap:balance}.blog-post h2{font-size:1.6rem;font-weight:600;line-height:1.2;letter-spacing:-.005em}.blog-post h3{font-size:1.3rem;font-weight:400;font-style:italic;line-height:1.3;margin-top:2.25rem}.blog-post h1:first-of-type{font-size:clamp(2.4rem,6vw,3.5rem);text-align:left;margin-top:1.25rem;margin-bottom:.9rem;font-weight:400;line-height:1.06;letter-spacing:-.015em}.blog-post .category{margin:1rem 0 .5rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.blog-post .category span{display:inline-flex}.blog-post .category .card-tag{font-size:.85rem;margin-right:0}.blog-post .post-meta{display:flex;align-items:baseline;gap:.5rem;margin-bottom:2rem;font-family:var(--font-condensed);font-size:.9rem;letter-spacing:.02em;color:var(--color-muted)}.blog-post .meta-separator{opacity:.6}.blog-post time.telemetry-date{display:inline;font-family:var(--font-condensed);font-size:inherit;letter-spacing:.02em;text-transform:none;color:var(--color-muted);margin:0}.blog-post .related-posts-list time.telemetry-date{font-size:.8rem}.blog-post .abstract{margin:0 0 2rem;padding:1.1rem 1.3rem;background:color-mix(in srgb,var(--tag-color, #212121) 5%,transparent);border-left:3px solid var(--tag-color, #212121);border-radius:0 6px 6px 0}.dark .blog-post .abstract{background:color-mix(in srgb,var(--tag-color, #F5F5F5) 8%,transparent)}.blog-post .abstract-label,.blog-post .post-updates-label{display:block;font-family:var(--font-condensed);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;margin-bottom:.4rem}.blog-post .abstract-label{color:var(--tag-color, #212121)}.dark .blog-post .abstract-label{color:color-mix(in srgb,var(--tag-color, #F5F5F5) 75%,white)}.blog-post .abstract p{margin:0;font-family:var(--font-reading);font-size:1.05rem;font-weight:300;line-height:1.6}.blog-post .post-updates{margin:0 0 2rem;padding:.9rem 1.3rem;border-left:3px solid var(--color-border);font-size:.95rem}.blog-post .post-updates-label{color:var(--color-muted)}.blog-post .post-updates ul{margin:0;padding-left:1.2rem;line-height:1.55;color:var(--color-muted)}.blog-post .post-updates li{margin-bottom:.4rem}.blog-post .post-updates li:last-child{margin-bottom:0}.blog-post hr:not(.content-ending-line){border:none;border-top:1px solid var(--tag-color, #212121);opacity:.25;margin:0 0 2rem}.blog-post .post-body hr{width:4rem;margin:2.5rem auto}.blog-post ul{margin-left:0;margin-bottom:1.5rem;padding-left:1.4rem}.blog-post ul li{margin-bottom:.5rem}.blog-post p{margin-bottom:1.3rem;max-width:100%}.blog-post .post-body p{line-height:inherit}.blog-post .post-body>p:first-of-type:first-letter{float:left;font-family:var(--font-reading);font-size:3.3em;line-height:.8;padding-right:.08em;padding-top:.08em;font-weight:600;color:var(--tag-color, #212121)}.dark .blog-post .post-body>p:first-of-type:first-letter{color:var(--tag-color, #F5F5F5)}.blog-post .post-body a,.blog-post .related-posts-list a{color:var(--color-link);text-decoration-thickness:1px;text-underline-offset:.15em;text-decoration-color:color-mix(in srgb,var(--color-link) 45%,transparent)}.blog-post .post-body a:hover,.blog-post .related-posts-list a:hover{text-decoration-color:currentColor}.blog-post img{object-fit:contain;height:inherit;width:100%;border:1px solid var(--color-border);border-radius:4px;margin:0 auto;display:block}.blog-post img+em,.blog-post p:has(>img)+p>em:only-child{display:block;text-align:center;font-size:.85rem;color:var(--color-muted);margin-top:.5rem;margin-bottom:1.5rem;font-family:var(--font-condensed);font-style:normal}.content-ending-line{margin-top:3rem;margin-bottom:2rem}.writing-ending{text-align:center;font-size:1.5em;color:var(--tag-color, #000);margin:1rem 0}.dark .writing-ending{color:var(--tag-color, #F5F5F5)}.blog-post blockquote{margin:2rem 0;padding:.1rem 0 .1rem 1.25rem;border-left:2px solid color-mix(in srgb,var(--tag-color, #212121) 70%,transparent)}.blog-post blockquote p{margin:0 0 .6rem;font-style:italic;line-height:1.62;color:color-mix(in srgb,var(--color-text) 80%,transparent)}.blog-post blockquote p:last-child{margin-bottom:0}.blog-post blockquote em{font-style:normal}.blog-post ol{margin-bottom:1.5rem;padding-left:1.5rem}.blog-post li{line-height:1.6}.blog-post .post-details{display:none}@media(min-width:1240px){.blog-post .post-meta{display:none}.blog-post .post-details{display:block;position:absolute;top:0;bottom:0;left:calc(100% + 3.5rem);width:13rem}.blog-post .post-details dl{position:sticky;top:7rem;margin:0;font-family:var(--font-condensed);font-size:.88rem;font-weight:400;line-height:1.4;border-bottom:1px solid var(--color-border)}.blog-post .post-details-row{display:grid;grid-template-columns:5.75rem minmax(0,1fr);gap:.5rem;padding:.55rem 0;border-top:1px solid var(--color-border)}.blog-post .post-details dt{color:var(--color-text)}.blog-post .post-details dd{margin:0;color:var(--color-muted)}.blog-post .post-details time.telemetry-date{font-size:inherit;letter-spacing:0}.blog-post .post-details-tags{list-style:none;margin:0;padding:0}.blog-post .post-details-tags li{margin:0 0 .3rem;line-height:1.4}.blog-post .post-details-tags li:last-child{margin-bottom:0}.blog-post .post-details a{color:var(--color-muted);text-decoration:none}.blog-post .post-details-tags a:before{content:"";display:inline-block;width:.45rem;height:.45rem;margin-right:.45rem;border-radius:50%;background:var(--tag);vertical-align:.05em}.blog-post .post-details a:hover{color:var(--color-text);text-decoration:underline;text-underline-offset:.15em}}@media(max-width:720px){.blog-post{margin-top:2rem;box-sizing:border-box;padding-inline:clamp(.75rem,2.5vw,1rem)}.blog-post .post-body{font-size:1.07rem}.blog-post .post-body>h2{margin-top:2.25rem}}@media(max-width:620px){.blog-post h1:first-of-type{font-size:2.3rem;margin-bottom:1rem}.blog-post h2{font-size:1.4rem}.blog-post h3{font-size:1.18rem}.blog-post .abstract{padding:1rem 1.1rem}.blog-post .post-body>p:first-of-type:first-letter{font-size:2.9em}}
