.toc-link[data-astro-cid-ymbpksfa].active{color:var(--color-primary);font-weight:500}.toc-list[data-astro-cid-ymbpksfa]::-webkit-scrollbar{width:4px}.toc-list[data-astro-cid-ymbpksfa]::-webkit-scrollbar-track{background:transparent}.toc-list[data-astro-cid-ymbpksfa]::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:4px}.toc-list[data-astro-cid-ymbpksfa]::-webkit-scrollbar-thumb:hover{background-color:var(--color-muted-foreground)}@layer components{.prose{--tw-prose-body: var(--color-foreground);--tw-prose-headings: var(--color-muted-foreground);--tw-prose-lead: var(--color-muted-foreground);--tw-prose-links: var(--color-primary);--tw-prose-bold: var(--color-foreground);--tw-prose-counters: var(--color-muted-foreground);--tw-prose-bullets: var(--color-muted-foreground);--tw-prose-hr: var(--color-border);--tw-prose-quotes: var(--color-foreground);--tw-prose-quote-borders: var(--color-primary);--tw-prose-captions: var(--color-muted-foreground);--tw-prose-code: var(--color-accent);--tw-prose-pre-code: var(--color-foreground);--tw-prose-pre-bg: var(--color-muted);--tw-prose-th-borders: var(--color-border);--tw-prose-td-borders: var(--color-border);max-width:none;font-size:1.125rem;line-height:1.8}.prose h1{font-size:2.5em;font-weight:800;letter-spacing:-.025em;margin-bottom:.5em;line-height:1.15;scroll-margin-top:6rem;color:var(--color-muted-foreground)}.prose h2{font-size:1.75em;font-weight:700;letter-spacing:-.02em;margin-top:2em;margin-bottom:.75em;line-height:1.25;scroll-margin-top:6rem;color:var(--color-muted-foreground);border-bottom:1px solid var(--color-border);padding-bottom:.3em}.prose h3{font-size:1.375em;font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.3;scroll-margin-top:6rem;color:var(--color-muted-foreground)}.prose h4{font-size:1.125em;font-weight:600;margin-top:1.5em;margin-bottom:.5em;scroll-margin-top:6rem;color:var(--color-muted-foreground)}.prose p{margin-top:1.25em;margin-bottom:1.25em;line-height:1.8;color:var(--color-foreground)}.prose a{color:var(--color-primary);text-decoration:none;font-weight:500;border-bottom:1px solid transparent;transition:border-color .2s}.prose a:hover{border-bottom-color:var(--color-primary)}.prose strong{color:var(--color-foreground);font-weight:700}.prose code:not(pre code){color:var(--color-accent);background-color:var(--color-muted);border:1px solid var(--color-border);border-radius:.375rem;padding:.2em .4em;font-size:.875em;font-weight:500;font-family:var(--font-mono)}.prose code:before,.prose code:after{content:none}.prose blockquote{font-style:normal;color:var(--color-muted-foreground);border-left:.25rem solid var(--color-primary);background-color:var(--color-muted);border-radius:0 .5rem .5rem 0;padding:1em 1em 1em 1.5em;margin:1.5em 0;quotes:none}.prose blockquote p:first-child{margin-top:0}.prose blockquote p:last-child{margin-bottom:0}.prose ul,.prose ol{margin-top:1.25em;margin-bottom:1.25em;padding-left:1.5em}.prose li{margin-top:.5em;margin-bottom:.5em}.prose ul>li::marker{color:var(--color-muted-foreground)}.prose ol>li::marker{color:var(--color-muted-foreground)}.prose hr{border-color:var(--color-border);margin:2.5em 0}.prose img{border-radius:var(--radius);margin:2em 0}.prose table{width:100%;border-collapse:collapse;margin:2em 0}.prose th,.prose td{border:1px solid var(--color-border);padding:.75em 1em}.prose th{background-color:var(--color-muted);font-weight:600}figure[data-rehype-pretty-code-figure]{position:relative;margin:1.5rem 0;overflow:hidden;border-radius:var(--radius);border:1px solid var(--color-border)}figcaption[data-rehype-pretty-code-title]{border-bottom:1px solid var(--color-border);background-color:var(--color-muted);padding:.5rem 1rem;font-size:.75rem;font-weight:500;color:var(--color-foreground)}pre{overflow-x:auto;padding:1rem;font-size:.875rem;line-height:1.7}pre code{font-family:var(--font-mono);background:transparent;border:none;padding:0;font-size:inherit;color:inherit}pre[data-theme*=" "]{color:var(--shiki-light);background-color:var(--shiki-light-bg)}pre[data-theme*=" "] code,pre[data-theme*=" "] code span{color:var(--shiki-light)}.dark pre[data-theme*=" "]{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)}.dark pre[data-theme*=" "] code,.dark pre[data-theme*=" "] code span{color:var(--shiki-dark)}[data-highlighted-line]{margin:0 -1rem;padding:0 1rem;border-left:2px solid var(--color-primary);background-color:color-mix(in srgb,var(--color-primary) 10%,transparent)}[data-line].diff.add{background-color:#10b98126}[data-line].diff.add:before{content:"+";position:absolute;left:.5rem;color:#10b981;font-weight:600}[data-line].diff.remove{background-color:#ef444426}[data-line].diff.remove:before{content:"-";position:absolute;left:.5rem;color:#ef4444;font-weight:600}[data-line].diff{position:relative;margin:0 -1rem;padding:0 1rem 0 1.5rem}pre:has(.focused) [data-line]:not(.focused){opacity:.4;filter:blur(.095rem);transition:opacity .35s,filter .35s}pre:has(.focused):hover [data-line]:not(.focused){opacity:1;filter:blur(0)}[data-line].focused{background-color:color-mix(in srgb,var(--color-primary) 8%,transparent)}[data-highlighted-chars]{background-color:color-mix(in srgb,var(--color-primary) 25%,transparent);border-radius:.25rem;padding:.125em .25em;margin:0 -.125em}.highlighted{margin:0 -1rem;padding:0 1rem;background-color:color-mix(in srgb,var(--color-primary) 10%,transparent)}.copy-button{position:absolute;right:.5rem;top:.5rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.375rem;background-color:transparent;padding:0;color:var(--color-muted-foreground);opacity:0;transition:all .2s;cursor:pointer;border:1px solid transparent;z-index:10}.copy-button.center-y{top:50%;transform:translateY(-50%)}.copy-button:hover{background-color:var(--color-muted);color:var(--color-foreground);border-color:var(--color-border)}.copy-button:focus{opacity:1;outline:2px solid var(--color-ring);outline-offset:2px}figure[data-rehype-pretty-code-figure]:hover .copy-button{opacity:1}.copy-button.copied{color:#22c55e}.anchor{text-decoration:none;border-bottom:none}.anchor:hover{border-bottom:none}.anchor-icon{margin-left:.5rem;display:none;color:var(--color-muted-foreground);opacity:0;transition:opacity .2s}@media(min-width:768px){.anchor-icon{display:inline-block}}h2:hover .anchor-icon,h3:hover .anchor-icon,h4:hover .anchor-icon{opacity:1}}
