.prose{font-feature-settings:"cv11","ss01","ss03","palt";hanging-punctuation:first allow-end last;line-break:strict;overflow-wrap:break-word;text-spacing-trim:trim-start}.prose h2{font-size:var(--text-heading-lg);line-height:1.45;font-weight:700;margin-top:2.5rem;margin-bottom:1rem;color:hsl(var(--foreground));letter-spacing:0;scroll-margin-top:6rem;text-wrap:balance}.prose h2:before{content:"";display:inline-block;width:.25rem;height:1.25rem;background-color:hsl(var(--primary));border-radius:9999px;vertical-align:middle;margin-right:.625rem;transform:translateY(-2px)}.prose h3{font-size:var(--text-heading);line-height:1.55;font-weight:600;margin-top:2rem;margin-bottom:.75rem;color:hsl(var(--foreground));letter-spacing:0;scroll-margin-top:6rem;text-wrap:balance}.prose h4{font-size:var(--text-body-lg);line-height:1.6;font-weight:600;margin-top:1.5rem;margin-bottom:.5rem;color:hsl(var(--foreground));letter-spacing:0;text-wrap:balance}.prose p{font-size:var(--text-body-lg);line-height:1.85;margin-top:1.25rem;color:hsl(var(--foreground) / .9);text-wrap:pretty}.prose ul{margin-top:1.25rem;padding-left:1.5rem;list-style-type:disc}.prose ol{margin-top:1.25rem;padding-left:1.5rem;list-style-type:decimal}.prose ul li::marker,.prose ol li::marker{color:hsl(var(--muted-foreground))}.prose ul>li+li,.prose ol>li+li{margin-top:.5rem}.prose li{font-size:var(--text-body-lg);line-height:1.85;color:hsl(var(--foreground) / .9)}.prose li>p{margin-top:0}.prose code:not(pre code){font-family:var(--font-mono);font-size:var(--text-body-sm);background-color:hsl(var(--muted));color:hsl(var(--foreground));padding:.125rem .375rem;border-radius:.25rem;border:1px solid hsl(var(--border) / .4)}.prose pre{margin-top:1.5rem;margin-bottom:1.5rem;border-radius:.5rem;overflow-x:auto;padding:1.25rem;font-family:var(--font-mono);font-size:var(--text-body-sm);background-color:hsl(var(--code-bg));color:hsl(var(--code-foreground));border:1px solid hsl(var(--border));box-shadow:0 1px 2px #0f172a0a;position:relative}.prose pre code{background-color:transparent;padding:0;border:0;font-family:inherit;font-size:inherit;color:inherit}.prose .astro-code,.prose .astro-code span{color:var(--shiki-light);background-color:transparent}html.dark .prose .astro-code,html.dark .prose .astro-code span{color:var(--shiki-dark)}.prose a{color:hsl(var(--primary));overflow-wrap:anywhere;text-underline-offset:4px;text-decoration-color:hsl(var(--foreground) / .2);text-decoration-line:underline;text-decoration-thickness:.08em}.prose a:hover{color:hsl(var(--primary));text-decoration-color:hsl(var(--primary))}.prose blockquote{margin-top:1.5rem;padding-left:1rem;border-left:2px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-style:normal;hanging-punctuation:first allow-end last}.prose blockquote p{margin-top:0}.prose hr{border-color:hsl(var(--border));margin-top:2rem;margin-bottom:2rem}.prose table{width:100%;border-collapse:collapse;margin-top:1.5rem;font-size:var(--text-body-sm)}.prose th{background-color:hsl(var(--muted));text-align:left;font-weight:600;padding:.5rem;border:1px solid hsl(var(--border))}.prose td{padding:.5rem;border:1px solid hsl(var(--border))}.prose img{max-width:100%;border-radius:.5rem;margin-top:1.5rem}.prose pre.mermaid{background-color:hsl(var(--muted));color:hsl(var(--foreground));border:1px dashed hsl(var(--border));font-size:var(--text-body-sm)}.prose .mermaid-rendered{margin-top:1.5rem;margin-bottom:1.5rem;text-align:center}.prose .mermaid-rendered svg{max-width:100%;height:auto;border-radius:.5rem;border:1px solid hsl(var(--border));padding:1rem;background-color:hsl(var(--background))}.prose .copy-btn{position:absolute;top:.5rem;right:.5rem;display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:var(--text-caption, .75rem);line-height:1.25rem;font-family:inherit;border-radius:.375rem;border:1px solid hsl(var(--border));background-color:hsl(var(--code-foreground) / .08);color:hsl(var(--code-foreground) / .7);cursor:pointer;opacity:0;transition:opacity .15s,color .15s,background-color .15s;user-select:none}.prose pre:hover .copy-btn,.prose .copy-btn:focus-visible{opacity:1}.prose .copy-btn:hover{background-color:hsl(var(--code-foreground) / .15);color:hsl(var(--code-foreground))}.prose .copy-btn.copied{color:hsl(var(--success));border-color:hsl(var(--success) / .5);background-color:hsl(var(--success) / .1);opacity:1}@media(pointer:coarse){.prose .copy-btn{opacity:1}}.share-copy-btn[data-astro-cid-vw4qfnoz].copied{color:hsl(var(--success));border-color:hsl(var(--success) / .5);background-color:hsl(var(--success) / .1)}
