@layer components{.prose pre,.prose .astro-code{margin-top:1.35rem!important;margin-bottom:1.35rem!important;padding:1rem 1.1rem!important;border-radius:.75rem!important;font-size:.82rem;line-height:1.55;tab-size:2;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-muted-foreground) 42%,transparent) transparent}.prose pre::-webkit-scrollbar,.prose .astro-code::-webkit-scrollbar{width:.65rem;height:.65rem}.prose pre::-webkit-scrollbar-thumb,.prose .astro-code::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-muted-foreground) 42%,transparent);border:2px solid transparent;border-radius:999px;background-clip:padding-box}.prose .code-block-shell{position:relative;isolation:isolate;width:100%;margin:1.35rem 0}.prose .code-block-shell>pre{width:100%;margin:0!important;overflow-x:auto!important}.prose .code-block-shell.is-collapsible:not(.is-expanded)>pre{max-height:clamp(16rem,46vh,22rem);overflow-y:hidden!important;padding-bottom:4.3rem!important}.prose .code-block-shell.is-collapsible:not(.is-expanded):after{position:absolute;z-index:1;right:1px;bottom:1px;left:1px;height:5.5rem;border-radius:0 0 .7rem .7rem;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--color-card) 94%,transparent) 58%,color-mix(in srgb,var(--color-card) 99%,transparent));content:"";pointer-events:none}.prose .code-block-copy,.prose .code-block-toggle{border:1px solid color-mix(in srgb,var(--color-border) 88%,transparent);background:color-mix(in srgb,var(--color-card) 90%,transparent);color:var(--color-foreground);box-shadow:0 6px 18px -12px #0f172a8c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:var(--font-sans);font-weight:800;letter-spacing:-.01em;cursor:pointer;transition:opacity .16s ease,border-color .16s ease,background-color .16s ease,transform .16s ease}.prose .code-block-copy{position:absolute;z-index:3;top:.58rem;right:.58rem;min-height:1.95rem;padding:.34rem .58rem;border-radius:.55rem;font-size:.7rem;line-height:1;opacity:.52}.prose .code-block-shell:hover .code-block-copy,.prose .code-block-copy:focus-visible,.prose .code-block-copy[data-copy-state=copied],.prose .code-block-copy[data-copy-state=error]{opacity:1}.prose .code-block-copy[data-copy-state=copied]{border-color:color-mix(in srgb,#16a34a 58%,var(--color-border))}.prose .code-block-copy[data-copy-state=error]{border-color:color-mix(in srgb,#dc2626 58%,var(--color-border))}.prose .code-block-toggle{position:absolute;z-index:2;bottom:.72rem;left:50%;min-height:2.15rem;padding:.42rem .78rem;border-radius:999px;font-size:.74rem;line-height:1.1;transform:translate(-50%)}.prose .code-block-toggle:hover{border-color:color-mix(in srgb,var(--color-foreground) 28%,var(--color-border));background:color-mix(in srgb,var(--color-card) 98%,var(--color-secondary));transform:translate(-50%) translateY(-1px)}.prose .code-block-copy:focus-visible,.prose .code-block-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--color-ring) 34%,transparent);outline-offset:2px}.prose .code-block-shell.is-expanded>pre{max-height:none;overflow-y:visible;padding-bottom:4.3rem!important}}@media(max-width:640px){.prose pre,.prose .astro-code{margin:1.05rem -.25rem!important;padding:.82rem .88rem!important;border-radius:.65rem!important;font-size:.76rem;line-height:1.5}.prose .code-block-shell{width:calc(100% + .5rem);margin:1.05rem -.25rem}.prose .code-block-shell>pre{width:100%;margin:0!important}.prose .code-block-shell.is-collapsible:not(.is-expanded)>pre{max-height:min(17rem,52vh);padding-bottom:4rem!important}.prose .code-block-shell.is-expanded>pre{padding-bottom:4rem!important}.prose .code-block-copy{top:.42rem;right:.42rem;min-height:1.8rem;padding:.3rem .48rem;font-size:.66rem;opacity:.86}.prose .code-block-toggle{bottom:.58rem;max-width:calc(100% - 2rem);min-height:2rem;padding:.38rem .66rem;font-size:.69rem;white-space:nowrap}}@media(prefers-reduced-motion:reduce){.prose .code-block-copy,.prose .code-block-toggle{transition:none!important}}.scrollbar-hide.svelte-13lojxz::-webkit-scrollbar{display:none}.scrollbar-hide.svelte-13lojxz{-ms-overflow-style:none;scrollbar-width:none}.cta-content[data-astro-cid-gt2qiip6] h1{font-size:1.125rem;font-weight:700;color:var(--color-foreground);margin-bottom:.5rem;margin-top:0;line-height:1.2}@media(min-width:640px){.cta-content[data-astro-cid-gt2qiip6] h1{font-size:1.25rem}}.cta-content[data-astro-cid-gt2qiip6] p{font-size:.8125rem;color:var(--color-muted-foreground);line-height:1.35;margin-bottom:.4rem}@media(min-width:640px){.cta-content[data-astro-cid-gt2qiip6] p{font-size:.875rem}}.cta-content[data-astro-cid-gt2qiip6] ul{margin-top:.5rem;margin-bottom:.75rem;display:flex;flex-direction:column;gap:.25rem;list-style:disc;padding-left:1.25rem}.cta-content[data-astro-cid-gt2qiip6] li{font-size:.8125rem;color:var(--color-muted-foreground);line-height:1.3}@media(min-width:640px){.cta-content[data-astro-cid-gt2qiip6] li{font-size:.875rem}}.cta-content[data-astro-cid-gt2qiip6] a{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.25rem;border-radius:.5rem;background-color:var(--color-primary);color:var(--color-primary-foreground);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;margin-top:.5rem;transition:all .3s;box-shadow:0 4px 6px -1px #0000001a}.cta-content[data-astro-cid-gt2qiip6] a:hover{background-color:var(--color-primary);opacity:.9;transform:scale(1.05);box-shadow:0 10px 15px -3px #0000001a}.cta-content[data-astro-cid-gt2qiip6] strong{color:var(--color-foreground);font-weight:700}.giscus{width:100%}.giscus-frame{width:100%;border:none}.article-header{border-top:1px solid var(--color-border);padding-top:clamp(2rem,5vw,4rem)}.article-title{max-width:52rem;font-family:var(--font-editorial);font-weight:700;letter-spacing:-.055em;line-height:1.02;text-wrap:balance;word-break:keep-all;overflow-wrap:normal}.article-deck{max-width:48rem;font-family:var(--font-editorial);font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.55;text-wrap:pretty;word-break:keep-all;overflow-wrap:normal}.article-prose{max-width:49rem}.article-prose :is(h2,h3,h4){word-break:keep-all;overflow-wrap:break-word}.part4-article svg text:not([fill]){fill:currentColor}
