:where(.prose .blog-mermaid,.blog-mermaid-dialog__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: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,.blog-mermaid-dialog__diagram)>svg{width:auto;min-width:min(44rem,100%);max-width:none;height:auto;margin:0 auto;display:block}:where(.prose .blog-mermaid,.blog-mermaid-dialog__diagram) :where(text,tspan,.label,.nodeLabel,.edgeLabel){font-family:var(--font-sans)}:where(.prose .blog-mermaid,.blog-mermaid-dialog__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,.blog-mermaid-dialog__diagram) :where(.edgeLabel p,svg foreignObject div){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,.blog-mermaid-dialog__diagram) :where(.flowchart-link,.messageLine0,.messageLine1,.loopLine){stroke:var(--border-strong)!important}:where(.prose .blog-mermaid,.blog-mermaid-dialog__diagram) :where(.actor,.node rect,.node polygon,.node circle,.node ellipse){stroke-width:1.4px}:where(.prose .blog-mermaid,.blog-mermaid-dialog__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,.blog-mermaid-dialog__diagram) :where(.cluster text,.clusterLabel,.cluster-label){fill:var(--color-heading)!important}.blog-mermaid-dialog,.blog-media-dialog{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--color-bg-panel);width:min(99vw,126rem);max-width:99vw;height:min(94vh,66rem);max-height:94vh;color:var(--color-fg);box-shadow:var(--shadow-raised);margin:auto;padding:0}.blog-mermaid-dialog::backdrop,.blog-media-dialog::backdrop{background:color-mix(in srgb, var(--color-brand-deep) 72%, transparent)}.blog-mermaid-dialog__close,.blog-media-dialog__close{z-index:1;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--color-bg-elevated);min-height:2.5rem;color:var(--color-heading);font-size:var(--text-caption);box-shadow:var(--shadow-subtle);padding:.6rem .9rem;font-weight:760;line-height:1;position:absolute;top:.85rem;right:.85rem}.blog-mermaid-dialog__close:focus-visible,.blog-media-dialog__close:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}.blog-mermaid-dialog__scroller,.blog-media-dialog__scroller{width:100%;height:100%;padding:clamp(3rem,3vw,3.75rem) clamp(.75rem,1.4vw,1.25rem) clamp(.75rem,1.4vw,1.25rem);overflow:auto}.blog-mermaid-dialog__scroller:focus,.blog-media-dialog__scroller:focus{outline:none}.blog-mermaid-dialog__canvas{min-width:max(100%, var(--expanded-mermaid-width,100%));place-items:start;min-height:100%;display:grid}.blog-mermaid-dialog__diagram{width:max(100%, var(--expanded-mermaid-width,100%));max-width:none;margin:0}.blog-mermaid-dialog__diagram>svg{width:100%;height:auto;display:block;max-width:none!important}.blog-media-dialog__scroller{align-content:start;gap:1rem;display:grid}.blog-media-dialog img{border-radius:var(--radius-md);background:var(--color-bg-elevated);width:auto;max-width:100%;height:auto;margin-inline:auto;display:block}.blog-media-dialog p{max-width:70ch;color:var(--color-fg-muted);font-size:var(--text-small);margin-inline:auto;line-height:1.55}@media (width<=640px){.blog-mermaid-dialog,.blog-media-dialog{border-radius:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh}}.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:760;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:"rail""body";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-child{color:var(--color-heading);margin-top:0;font-size:1.16rem;font-weight:640;line-height:1.55}.blog-post__body[data-astro-cid-zg7dkzxc] h2[id]{scroll-margin-top:6rem}.blog-post__rail[data-astro-cid-zg7dkzxc]{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--color-bg-elevated);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-subtle);grid-area:rail;gap:1.15rem;padding:1rem;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:.7rem;min-width:0;display:grid}.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:1rem}.blog-post__rail-title[data-astro-cid-zg7dkzxc]{color:var(--color-fg-subtle);font-size:var(--text-caption);font-weight:760;line-height:1.3}.blog-post__tags[data-astro-cid-zg7dkzxc]{flex-wrap:wrap;gap:.5rem;min-width:0;display:flex}.blog-post__toc[data-astro-cid-zg7dkzxc],.blog-post__links[data-astro-cid-zg7dkzxc]{gap:.55rem;min-width:0;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-fg-muted);font-size:var(--text-caption);overflow-wrap:anywhere;align-items:center;font-weight:690;line-height:1.35;display:flex}.blog-post__toc[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:hover,.blog-post__links[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:hover{color:var(--color-brand)}.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:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--color-bg-elevated);transition:border-color var(--motion-feedback) var(--ease-smooth), transform var(--motion-state) var(--ease-out-quint);gap:.4rem;padding:1rem;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}
