@layer base{pre,pre *,code,code *,pre code,pre code *,.shiki,.shiki *,[data-rehype-pretty-code-fragment] *,[data-rehype-pretty-code-fragment] pre,[data-rehype-pretty-code-fragment] code{font-feature-settings:"calt" 1,"liga" 1,"ss01" 1,"ss02" 1,"ss03" 1,"ss04" 1,"ss05" 1,"ss06" 1,"ss07" 1,"ss08" 1,"ss09" 1;font-family:var(--font-mono),ui-monospace,monospace!important}pre[data-title]:before{content:attr(data-title);background-color:var(--color-gray);border-bottom:1px solid var(--color-secondary-2);color:var(--color-secondary);margin:-1rem -1rem 1rem;padding:.5rem 1rem;font-size:.75rem;font-weight:600;display:block}pre+figcaption{color:var(--color-secondary-2);text-align:center;margin-top:-.5rem;padding:.5rem 1rem;font-size:.75rem;font-style:italic}pre.shiki:has(code){padding-inline-end:3rem;position:relative}pre.shiki button.copy{z-index:1;background-color:oklch(from var(--color-secondary-2)l c h/.08);width:1.5rem;height:1.5rem;color:var(--color-muted-foreground);cursor:pointer;border-radius:0 .375rem;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;right:0;border:1px solid oklch(from var(--color-secondary-2)l c h/.2)!important;border-top-width:0!important;border-right-width:0!important}pre.shiki button.copy:focus-visible{outline:2px solid oklch(from var(--color-secondary-2)l c h/.5);outline-offset:2px}pre.shiki button.copy span{aspect-ratio:1;background-color:currentColor;width:100%;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:.9rem;mask-size:.9rem;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}pre.shiki button.copy .ready{-webkit-mask-image:url(/icons/copy.svg);mask-image:url(/icons/copy.svg)}pre.shiki button.copy .success{display:none;-webkit-mask-image:url(/icons/copy-success.svg);mask-image:url(/icons/copy-success.svg)}pre.shiki button.copy.copied .success{display:block}pre.shiki button.copy.copied .ready{display:none}.article-content pre{background-color:oklch(from var(--color-secondary-2)l c h/.1)!important;border-color:oklch(from var(--color-secondary-2)l c h/.2)!important;--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important;border-width:1px!important;border-radius:.5rem!important}.article-content pre.shiki code{width:100%;display:block;line-height:1.4!important}.article-content pre.shiki.has-diff .line.diff,.article-content pre.shiki .line.highlighted{width:calc(100% + 2rem);margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem;display:inline-block}.article-content pre.shiki .line.highlighted{background-color:#68a3ff36;background-color:lab(66.001% 1.51989 -54.0514/.21)}.article-content pre.shiki .line.diff.add{background-color:#00c09a36;background-color:lab(69.0354% -54.2976 7.17208/.21)}.article-content pre.shiki .line.diff.remove{background-color:#ee769f36;background-color:lab(65.1034% 50.2943 .64466/.21)}.article-content pre.shiki.has-focused .line:not(.focused){opacity:.4;filter:blur(.095rem)}.article-content pre.shiki.has-focused .line.focused{opacity:1;filter:none}@media (hover:hover) and (pointer:fine){.article-content pre.shiki.has-focused:hover .line:not(.focused){opacity:1;filter:none}}@media (prefers-reduced-motion:reduce){.article-content pre.shiki.has-focused .line:not(.focused){filter:none}}@media (prefers-reduced-motion:no-preference){.article-content pre.shiki.has-focused .line{transition:opacity .15s ease-out,filter .15s ease-out}}code:not(pre code){background-color:oklch(from var(--color-secondary-2)l c h/.1);border-color:oklch(from var(--color-secondary-2)l c h/.2);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-radius:.25rem;padding:.125rem .25rem;font-size:.875rem;border-width:1px!important}}
.prose{--tw-prose-body:var(--color-foreground);--tw-prose-headings:var(--color-foreground);--tw-prose-lead:var(--color-muted-foreground);--tw-prose-links:var(--color-foreground);--tw-prose-bold:var(--color-foreground);--tw-prose-counters:var(--color-muted-foreground);--tw-prose-bullets:var(--color-muted);--tw-prose-hr:var(--color-border);--tw-prose-quotes:var(--color-foreground);--tw-prose-quote-borders:var(--color-border);--tw-prose-captions:var(--color-muted-foreground);--tw-prose-kbd:var(--color-foreground);--tw-prose-kbd-shadows:oklch(from var(--color-foreground)l c h/.1);--tw-prose-code:var(--color-foreground);--tw-prose-pre-code:var(--color-foreground);--tw-prose-pre-bg:var(--color-card);--tw-prose-th-borders:var(--color-border);--tw-prose-td-borders:var(--color-border);--tw-prose-invert-body:var(--color-foreground);--tw-prose-invert-headings:var(--color-foreground);--tw-prose-invert-lead:var(--color-muted-foreground);--tw-prose-invert-links:var(--color-foreground);--tw-prose-invert-bold:var(--color-foreground);--tw-prose-invert-counters:var(--color-muted-foreground);--tw-prose-invert-bullets:var(--color-muted);--tw-prose-invert-hr:var(--color-border);--tw-prose-invert-quotes:var(--color-foreground);--tw-prose-invert-quote-borders:var(--color-border);--tw-prose-invert-captions:var(--color-muted-foreground);--tw-prose-invert-kbd:var(--color-foreground);--tw-prose-invert-kbd-shadows:oklch(from var(--color-foreground)l c h/.1);--tw-prose-invert-code:var(--color-foreground);--tw-prose-invert-pre-code:var(--color-foreground);--tw-prose-invert-pre-bg:var(--color-card);--tw-prose-invert-th-borders:var(--color-border);--tw-prose-invert-td-borders:var(--color-border)}.article-content h1,.article-content h2{text-wrap:balance}blockquote{text-align:center;border:none;padding-inline-start:0}.article-content em,.article-content i,.article-content q{font-family:var(--font-serif),serif;vertical-align:baseline;font-size:1.3em;font-style:italic;line-height:1}.article-content em strong,.article-content i strong{font-family:var(--font-serif),serif;font-style:italic;font-weight:700;line-height:1}hr{border-color:var(--color-muted-foreground)}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)),.article-footnotes :where(a):not([data-footnote-back]){color:var(--color-foreground);text-underline-offset:3px;font-weight:400;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in oklab,var(--color-foreground)50%,transparent)!important;text-decoration-color:color-mix(in oklab,var(--color-foreground)50%,transparent)!important}@media (hover:hover){.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)),.article-footnotes :where(a):not([data-footnote-back]){transition:text-decoration-color .2s,color .2s}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover,.article-footnotes :where(a):not([data-footnote-back]):hover{color:var(--tw-prose-links);-webkit-text-decoration-color:var(--color-foreground)!important;text-decoration-color:var(--color-foreground)!important}}@media (prefers-reduced-motion:reduce){.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)),.article-footnotes :where(a):not([data-footnote-back]){transition:none}}@media (prefers-reduced-motion:no-preference){html:has(.article-content){scroll-behavior:smooth}}@media (min-width:768px){article.blog-post .wide{box-sizing:border-box;width:115%;max-width:none;margin-left:-7.5%;margin-right:-7.5%}}
.article-content .mermaid,.mermaid-diagram{-webkit-overflow-scrolling:touch;justify-content:center;display:flex;overflow:auto visible}.article-content .mermaid svg,.mermaid-diagram svg{flex-shrink:0;max-width:100%;height:auto;margin:0 auto;display:block}@media (min-width:768px){.article-content .mermaid svg,.mermaid-diagram svg{padding:1.25rem}}.article-content .mermaid svg.flowchart rect,.mermaid-diagram svg.flowchart rect{rx:6;ry:6}
