:where(.prose .blog-mermaid,.media-viewer__diagram){overscroll-behavior-inline:contain;border:1px solid color-mix(in srgb, var(--border-default) 80%, transparent);border-radius:var(--radius-md);background:var(--color-bg-panel);width:min(100%,100vw - 2rem);padding:1.25rem;position:relative;overflow-x:auto}.prose .blog-mermaid{margin:2rem 0}.prose .blog-mermaid.is-zoomable,.prose .blog-media img.is-zoomable{cursor:zoom-in}.prose .blog-mermaid.is-zoomable:focus-visible,.prose .blog-media img.is-zoomable:focus-visible{outline:2px solid var(--color-brand);outline-offset:4px}.blog-mermaid__zoom-mark{border-top:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--color-bg-elevated);width:2.25rem;height:2.25rem;color:var(--color-brand);box-shadow:var(--shadow-subtle);pointer-events:none;place-items:center;display:grid;position:absolute;bottom:0;right:0}.blog-mermaid__zoom-mark svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:1.2rem;height:1.2rem}:where(.prose .blog-mermaid,.media-viewer__diagram)>svg{width:auto;min-width:0;max-width:100%;height:auto;margin:0 auto;display:block}:where(.prose .blog-mermaid,.media-viewer__diagram) :where(text,tspan,.label,.nodeLabel,.edgeLabel){font-family:var(--font-sans)}:where(.prose .blog-mermaid,.media-viewer__diagram) :where(.edgeLabel,.labelBkg){color:var(--color-heading);background:var(--color-bg-elevated)!important;border-color:var(--border-default)!important;border-radius:var(--radius-md)!important;outline-color:var(--color-brand)!important}:where(.prose .blog-mermaid,.media-viewer__diagram) :where(.edgeLabel p){background:var(--color-bg-elevated)!important;color:var(--color-heading)!important;border-color:var(--border-default)!important;border-radius:var(--radius-md)!important;outline-color:var(--color-brand)!important;box-sizing:border-box!important;padding:.5rem!important}:where(.prose .blog-mermaid,.media-viewer__diagram) :where(.flowchart-link,.messageLine0,.messageLine1,.loopLine){stroke:var(--border-strong)!important}:where(.prose .blog-mermaid,.media-viewer__diagram) :where(.actor,.node rect,.node polygon,.node circle,.node ellipse){stroke-width:1.4px}:where(.prose .blog-mermaid,.media-viewer__diagram) :where(.cluster rect){stroke-width:1.4px;fill:color-mix(in srgb, var(--color-bg-panel) 84%, var(--color-brand-soft))!important;stroke:color-mix(in srgb, var(--color-brand) 44%, var(--border-default))!important}:where(.prose .blog-mermaid,.media-viewer__diagram) :where(.cluster text,.clusterLabel,.cluster-label){fill:var(--color-heading)!important}.media-viewer__diagram{width:max(100%, var(--expanded-mermaid-width,100%));max-width:none;margin:0}.media-viewer__diagram>svg{width:100%;height:auto;display:block;max-width:none!important}.article-header-meta[data-astro-cid-zg7dkzxc]{color:var(--color-fg-subtle);font-size:var(--text-caption);flex-wrap:wrap;gap:.55rem .9rem;margin-top:1.25rem;font-weight:730;display:flex}.article-header-meta[data-astro-cid-zg7dkzxc] span[data-astro-cid-zg7dkzxc]:first-child{color:var(--color-brand)}.article-back-link[data-astro-cid-zg7dkzxc]{border-radius:var(--radius-sm);width:fit-content;min-height:2.75rem;color:var(--color-brand);align-items:center;margin-top:1.2rem;font-weight:650;display:inline-flex}.blog-post-section{padding-block:clamp(3.25rem,5.5vw,5rem)}.blog-post__layout[data-astro-cid-zg7dkzxc]{grid-template-columns:minmax(0,1fr);grid-template-areas:"body""rail";align-items:start;gap:clamp(2rem,5vw,4rem);min-width:0;display:grid}@media (width>=980px){.blog-post__layout[data-astro-cid-zg7dkzxc]{grid-template-columns:minmax(0,68ch) minmax(14rem,18rem);grid-template-areas:"body rail";justify-content:space-between}}.blog-post__body[data-astro-cid-zg7dkzxc].prose{grid-area:body;width:100%;min-width:0;max-width:min(100%,68ch)}.blog-post__body[data-astro-cid-zg7dkzxc]>p:first-of-type{color:var(--color-heading);margin-top:0;font-size:1.12rem;font-weight:470;line-height:1.75}.blog-post__body[data-astro-cid-zg7dkzxc] h2[id]{scroll-margin-top:6rem}.blog-post__rail[data-astro-cid-zg7dkzxc]{border-top:1px solid var(--border-default);width:100%;min-width:0;max-width:100%;box-shadow:none;background:0 0;border-radius:0;grid-area:rail;gap:1.75rem;padding:1.25rem 0;display:grid}@media (width>=980px){.blog-post__rail[data-astro-cid-zg7dkzxc]{position:sticky;top:5.5rem}}.blog-post__rail-block[data-astro-cid-zg7dkzxc]{gap:.75rem;min-width:0;display:grid}.blog-post__rail-block[data-astro-cid-zg7dkzxc]>.pill[data-astro-cid-zg7dkzxc]{justify-self:start}.blog-post__rail-block[data-astro-cid-zg7dkzxc]+.blog-post__rail-block[data-astro-cid-zg7dkzxc]{border-top:1px solid var(--border-subtle);padding-top:1.5rem}.blog-post__rail-title[data-astro-cid-zg7dkzxc]{color:var(--color-heading);margin:0;font-size:1.125rem;font-weight:700;line-height:1.3}.blog-post__tags[data-astro-cid-zg7dkzxc]{flex-wrap:wrap;gap:.5rem;min-width:0;display:flex}.blog-post__rail[data-astro-cid-zg7dkzxc] .pill[data-astro-cid-zg7dkzxc]{padding:.35rem .6rem;font-size:.8125rem;font-weight:550;line-height:1.4}.blog-post__toc[data-astro-cid-zg7dkzxc],.blog-post__links[data-astro-cid-zg7dkzxc]{gap:.25rem;min-width:0;margin:0;padding:0;list-style:none;display:grid}.blog-post__toc[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc],.blog-post__links[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]{border-radius:var(--radius-sm);min-width:0;min-height:2.75rem;color:var(--color-brand);text-decoration:underline;text-decoration-color:color-mix(in oklch, var(--color-brand) 30%, transparent);text-underline-offset:.2em;overflow-wrap:anywhere;transition:background-color var(--motion-feedback) var(--ease-out-quart), color var(--motion-feedback) var(--ease-out-quart);align-items:baseline;gap:.6rem;padding:.6rem .5rem;font-size:.9rem;font-weight:480;line-height:1.5;display:grid}.blog-post__toc[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]{grid-template-columns:1.4rem minmax(0,1fr)}.blog-post__toc-number[data-astro-cid-zg7dkzxc]{color:var(--color-fg-subtle);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:550}.blog-post__links[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]{grid-template-columns:minmax(0,1fr) .875rem}.blog-post__links[data-astro-cid-zg7dkzxc] svg[data-astro-cid-zg7dkzxc]{stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;align-self:start;width:.875rem;height:.875rem;margin-top:.25rem}.blog-post__toc[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:hover,.blog-post__toc[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:focus-visible,.blog-post__links[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:hover,.blog-post__links[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:focus-visible{background:var(--color-brand-soft);color:var(--color-brand-hover);text-decoration-color:currentColor}.blog-post__pager[data-astro-cid-zg7dkzxc]{border-top:1px solid var(--border-default);gap:1rem;margin-top:clamp(3rem,6vw,4.5rem);padding-top:1.25rem;display:grid}@media (width>=760px){.blog-post__pager[data-astro-cid-zg7dkzxc]{grid-template-columns:repeat(2,minmax(0,1fr))}}.blog-post__pager-link[data-astro-cid-zg7dkzxc]{border-top:1px solid var(--border-default);transition:border-color var(--motion-feedback) var(--ease-smooth), transform var(--motion-state) var(--ease-out-quint);background:0 0;border-radius:0;gap:.4rem;padding:1rem 0;display:grid}.blog-post__pager-link[data-astro-cid-zg7dkzxc]:hover{border-color:var(--color-brand);transform:translateY(-1px)}.blog-post__pager-link[data-astro-cid-zg7dkzxc] span[data-astro-cid-zg7dkzxc]{color:var(--color-fg-subtle);font-size:var(--text-caption);font-weight:740}.blog-post__pager-link[data-astro-cid-zg7dkzxc] strong[data-astro-cid-zg7dkzxc]{color:var(--color-heading);font-size:1rem;line-height:1.35}.mobile-contents[data-astro-cid-zg7dkzxc]{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--color-bg-panel);margin-bottom:2rem;padding:.25rem 1rem}.mobile-contents[data-astro-cid-zg7dkzxc] summary[data-astro-cid-zg7dkzxc]{cursor:pointer;color:var(--color-heading);padding-block:.75rem;font-size:1.125rem;font-weight:700}.mobile-contents[data-astro-cid-zg7dkzxc] summary[data-astro-cid-zg7dkzxc]:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}.mobile-contents[data-astro-cid-zg7dkzxc] ol[data-astro-cid-zg7dkzxc]{margin-block:.25rem .75rem;padding-left:1.5rem}.mobile-contents[data-astro-cid-zg7dkzxc] li[data-astro-cid-zg7dkzxc]{margin:0;padding-left:.25rem}.mobile-contents[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]{padding-block:.6rem;font-size:.9375rem;line-height:1.5;display:block}@media (width>=980px){.mobile-contents[data-astro-cid-zg7dkzxc]{display:none}}.blog-post__body[data-astro-cid-zg7dkzxc] pre:focus-visible,.blog-post__body[data-astro-cid-zg7dkzxc] table:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}.blog-post__rail[data-astro-cid-zg7dkzxc] .desktop-contents[data-astro-cid-zg7dkzxc]{display:none}@media (width>=980px){.blog-post__rail[data-astro-cid-zg7dkzxc] .desktop-contents[data-astro-cid-zg7dkzxc]{display:grid}}
