.blog-prose .heading-anchor{color:var(--muted-foreground);opacity:0;margin-left:.4em;font-weight:400;text-decoration:none;transition:opacity .12s ease-in-out}.blog-prose :is(h2,h3,h4):hover .heading-anchor,.blog-prose .heading-anchor:focus-visible{opacity:1}.blog-prose .heading-anchor:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:.25rem}.blog-prose pre code{font-size:inherit;background:0 0;border:0;padding:0}.blog-prose pre code [data-line]{min-height:1lh}.blog-prose pre,.blog-prose pre span{color:var(--shiki-light)}.blog-prose pre{background-color:var(--muted)!important}.blog-prose figure[data-rehype-pretty-code-figure]{margin:0}.blog-prose [data-rehype-pretty-code-title]{border:1px solid var(--border);background-color:var(--secondary);color:var(--muted-foreground);font-family:var(--font-mono),ui-monospace,monospace;border-bottom:0;border-radius:.5rem .5rem 0 0;margin-bottom:-1.25rem;padding:.5rem .9rem;font-size:.75rem}.blog-prose [data-rehype-pretty-code-title]+pre{border-radius:0 0 .5rem .5rem}:root.dark .blog-prose pre,:root.dark .blog-prose pre span,:root[data-theme=dark] .blog-prose pre,:root[data-theme=dark] .blog-prose pre span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}:root.dark .blog-prose pre,:root[data-theme=dark] .blog-prose pre{border-color:color-mix(in oklab,var(--shiki-dark-bg)72%,white 28%)}.blog-prose [data-footnotes]{border-top:1px solid var(--border);color:var(--muted-foreground);margin-top:3.5rem;padding-top:1.5rem;font-size:.9375rem}.blog-prose [data-footnotes] h2{letter-spacing:.14em;text-transform:uppercase;border:0;margin:0;padding:0;font-size:.6875rem;font-weight:500}.blog-prose [data-footnotes] ol{margin-top:1rem}.blog-prose [data-footnotes] li{font-size:.9375rem}.blog-prose [data-footnotes] p{margin-top:.25rem;font-size:.9375rem}.blog-prose [data-footnote-backref]{font-size:0;text-decoration:none}.blog-prose [data-footnote-backref]:after{content:"↩︎";color:var(--muted-foreground);margin-left:.35em;font-size:.9375rem}.blog-prose sup a{font-variant-numeric:tabular-nums;padding:0 .15em;text-decoration:none}.blog-prose>:first-child{margin-top:0}.blog-prose .callout-body>*+*{margin-top:.75rem}
