.blog-prose{font-family:var(--font-body);font-weight:500;font-size:clamp(.9rem,.86rem + .1vi,.96rem);line-height:1.65}.blog-prose>*+*{margin-top:1rem}.blog-prose h2,.blog-prose h3,.blog-prose h4{font-family:var(--font-heading);font-weight:700;line-height:1.2}.blog-prose h2{font-size:clamp(1.12rem,1.04rem + .25vi,1.24rem);margin-top:2rem}.blog-prose h3{font-size:clamp(1rem,.96rem + .16vi,1.08rem);margin-top:1.5rem}.blog-prose a{text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .16s ease}.blog-prose a:hover{text-decoration-color:currentColor}.blog-prose ul,.blog-prose ol{padding-left:1.35rem}.blog-prose ul{list-style:square}.blog-prose ol{list-style:decimal}.blog-prose li+li{margin-top:.35rem}.blog-prose blockquote{border-left:var(--border-main) solid var(--color-border);padding-left:1rem;font-style:italic}.blog-prose code{font-family:var(--font-mono);font-size:.92em}.blog-prose :not(pre)>code{border:var(--border-main) solid var(--color-border);color:var(--code-inline-fg);background:var(--code-inline-bg);padding:.1rem .35rem}.blog-prose pre{overflow-x:auto;border:var(--border-main) solid var(--color-border);background:var(--code-window-body);padding:1rem}.blog-prose img{border:var(--border-main) solid var(--color-border)}.blog-prose .expressive-code{margin-top:1.5rem;margin-bottom:1.5rem}.blog-prose .expressive-code .frame .header{isolation:isolate}.blog-prose .expressive-code .frame .title{display:inline-flex;align-items:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.04em}.blog-prose .expressive-code .frame.has-title:not(.is-terminal) .header{position:relative;align-items:flex-start;min-height:0;background:var(--code-window-header-bg)}.blog-prose .expressive-code .frame.has-title:not(.is-terminal) .header:after{content:"";position:absolute;inset-inline:0;inset-block-end:0;border-block-end:var(--border-main) solid var(--code-window-border);z-index:0}.blog-prose .expressive-code .frame.has-title:not(.is-terminal) .title{position:relative;z-index:1;background:var(--code-window-tab-bg);color:var(--code-window-tab-fg);border:var(--border-main) solid var(--code-window-border);border-bottom:0;border-radius:var(--border-radius) var(--border-radius) 0 0;box-shadow:inset 0 1px #ffffff0a;padding:.55rem 1rem .7rem}.blog-prose .expressive-code .frame.has-title:not(.is-terminal) pre{background:var(--code-window-body)}.blog-prose .expressive-code .frame.is-terminal .title{display:block;padding-inline:3rem;text-align:center}.blog-prose .expressive-code .frame.is-terminal pre{background:var(--code-window-terminal-bg)}.blog-prose .expressive-code .ec-line .gutter{display:flex;align-items:stretch;background:var(--code-window-gutter-bg);border-inline-end:var(--border-main) solid var(--code-window-gutter-border)}.blog-prose .expressive-code .gutter .ln{align-items:center;justify-content:center;min-width:calc(var(--lnWidth, 2ch) + 1.1rem);padding-inline:0;font-family:var(--font-mono);font-size:.76rem;font-weight:500;letter-spacing:.02em}.blog-prose .expressive-code .ec-line .code{background:var(--code-window-body);border-inline-start:0}.blog-prose .expressive-code .frame.is-terminal .ec-line .code{background:var(--code-window-terminal-bg)}.blog-prose .expressive-code .copy button,.blog-prose .expressive-code .copy button:before,.blog-prose .expressive-code .copy button div,.blog-prose .expressive-code .copy .feedback{border-radius:0}.blog-prose .expressive-code .copy button{opacity:1;width:1.95rem;height:1.95rem;background:var(--code-window-copy-bg);box-shadow:none}.blog-prose .expressive-code .copy button div{background:var(--code-window-copy-bg);opacity:1}.blog-prose .expressive-code .copy button:before{border-color:var(--code-window-copy-border);opacity:1}.blog-prose .expressive-code .copy button:after{margin:0;background-color:var(--code-window-copy-fg);-webkit-mask-position:center;-webkit-mask-size:.95rem .95rem;mask-position:center;mask-size:.95rem .95rem}.blog-prose .expressive-code .copy button:focus-visible{outline:var(--border-main) solid var(--code-window-focus);outline-offset:2px}.blog-prose .expressive-code .copy .feedback{border:var(--border-main) solid var(--code-window-border);box-shadow:none;font-family:var(--font-mono);font-size:.74rem;font-weight:600;letter-spacing:.03em;padding:.2rem .65rem}@media(pointer:fine){.blog-prose .expressive-code .copy button{cursor:none}}@media(hover:hover){.blog-prose .expressive-code .copy button{opacity:1}.blog-prose .expressive-code .frame:hover .copy button:not(:hover),.blog-prose .expressive-code .frame:focus-within :focus-visible~.copy button:not(:hover),.blog-prose .expressive-code .frame .copy .feedback.show~button:not(:hover){opacity:1}}
