/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-leading:initial}}}:root{--callout-bg-color:#f2f3f5}:root.dark{--callout-bg-color:#161616}.blockquote,.callout{background:#f2f3f5;background:var(--callout-bg-color);border-radius:2px;font-style:normal}.callout{padding:0!important}.callout-title{align-items:center;gap:10px;padding:10px;display:flex}.callout-title>strong{font-weight:700}.blockquote,.callout-content{padding:10px 20px}.blockquote-heading{margin:5px 0!important;padding:0!important}.blockquote>p,.callout-content>p{margin:5px 0;font-weight:400}.callout-title p{margin:0}.callout-title>strong{line-height:1.5}.blockquote>p:before,.callout p:before,p:after{display:none}.prose .anchor{color:var(--foreground);cursor:pointer;text-decoration:none}h1 a.anchor,h2 a.anchor,h3 a.anchor,h4 a.anchor,h5 a.anchor,h6 a.anchor{font-weight:inherit;color:inherit;text-decoration:none;position:relative}h1 a.anchor:hover,h2 a.anchor:hover,h3 a.anchor:hover,h4 a.anchor:hover,h5 a.anchor:hover,h6 a.anchor:hover{color:inherit;text-decoration:none}.anchor{visibility:hidden;cursor:pointer;width:80%;max-width:700px;margin-left:-1em;padding-right:.5em;text-decoration-line:none;position:absolute}.anchor:hover{visibility:visible}.anchor:after{content:"#";color:var(--muted-foreground);display:none}:hover>.anchor{visibility:visible}:is(h1,h2,h3,h4,h5,h6):hover .anchor:after{display:inline-block}@media (max-width:640px){.anchor{float:left;padding-right:calc(var(--spacing,.25rem)*2);width:auto;margin-left:0;position:static}.anchor:after{margin-left:calc(var(--spacing,.25rem)*2)}}h1,h2,h3,h4,h5,h6{clear:both;scroll-margin-top:100px}h1:after,h2:after,h3:after,h4:after,h5:after,h6:after{content:"";clear:both;display:table}span[data-rehype-pretty-code-figure]{max-width:100%;margin:0;display:inline;position:relative}span[data-rehype-pretty-code-figure] code{font-size:.875rem;font-family:var(--font-mono);background-color:var(--syntax-bg);color:var(--foreground);white-space:break-spaces;word-break:break-word;overflow-wrap:break-word;-webkit-box-decoration-break:clone;box-decoration-break:clone;border:none;border-radius:.25rem;margin:0;padding:.1rem .2rem;display:inline}@media (max-width:640px){span[data-rehype-pretty-code-figure] code{padding:.075rem .125rem;font-size:.825rem}}span[data-rehype-pretty-code-figure] code span[data-line]{word-break:break-word;overflow-wrap:break-word;white-space:break-spaces;background:0 0}li span[data-rehype-pretty-code-figure],p span[data-rehype-pretty-code-figure]{display:inline}.dark span[data-rehype-pretty-code-figure] code{background-color:var(--syntax-bg);color:var(--syntax-txt)}.light span[data-rehype-pretty-code-figure] code{border:1px solid var(--border)}span[data-rehype-pretty-code-figure] code[data-language=plaintext]{font-family:var(--font-mono)}span[data-rehype-pretty-code-figure] code:after,span[data-rehype-pretty-code-figure] code:before{content:""!important;display:none!important}figure[data-rehype-pretty-code-figure]{margin-block:calc(var(--spacing,.25rem)*6);border-radius:calc(var(--radius) - .125rem);border-style:var(--tw-border-style);border-width:1px;overflow:hidden}figure[data-rehype-pretty-code-figure] pre{margin-block:calc(var(--spacing,.25rem)*2);font-size:.875rem;line-height:var(--tw-leading,1.25rem);--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);padding:0;overflow-x:auto;background-color:#0000!important;border-width:0!important}figure[data-rehype-pretty-code-figure] code{width:100%;padding-block:calc(var(--spacing,.25rem)*2);counter-reset:line;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-family:var(--font-mono);font-size:.85rem;display:grid}figure[data-rehype-pretty-code-figure] code [data-line]{padding-inline:calc(var(--spacing,.25rem)*2);border-left:2px var(--tw-border-style) #0000}@media (max-width:640px){figure[data-rehype-pretty-code-figure] code,figure[data-rehype-pretty-code-figure] pre{font-size:.825rem}figure[data-rehype-pretty-code-figure] code [data-line]{padding-inline:calc(var(--spacing,.25rem)*2)}figure[data-rehype-pretty-code-figure] code[data-line-numbers]>[data-line]:before{width:.875rem;margin-right:1rem;font-size:.75rem}}.dark figure[data-rehype-pretty-code-figure] code [data-line] span{color:var(--shiki-dark,currentColor)!important}.light figure[data-rehype-pretty-code-figure] code [data-line] span{color:var(--shiki-light,currentColor)!important}figure[data-rehype-pretty-code-figure] code .line--highlighted{border-left:2px var(--tw-border-style) var(--border);border-radius:0;width:100%;background-color:var(--syntax-highlight)!important;margin:0!important}figure[data-rehype-pretty-code-figure] code[data-line-numbers]{counter-reset:line}figure[data-rehype-pretty-code-figure] code[data-line-numbers]>[data-line]:before{counter-increment:line;content:counter(line);text-align:right;width:1rem;color:var(--muted-foreground);margin-right:1.5rem;font-size:.8rem;display:inline-block}.dark figure[data-rehype-pretty-code-figure] code[data-line-numbers]>[data-line]:before{color:var(--muted-foreground)}figure[data-rehype-pretty-code-figure] code .word--highlighted{padding-inline:calc(var(--spacing,.25rem)*1);padding-block:calc(var(--spacing,.25rem)*.5);background-color:var(--primary-15);box-shadow:0 0 0 1px var(--primary-20);border-radius:.25rem;font-weight:500}.dark figure[data-rehype-pretty-code-figure] code .word--highlighted{background-color:var(--primary-30);box-shadow:0 0 0 1px var(--primary-40);font-weight:500}[data-rehype-pretty-code-title]{border-top-left-radius:calc(var(--radius) - .125rem);border-top-right-radius:calc(var(--radius) - .125rem);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border);background-color:var(--muted);padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*2);font-family:var(--font-mono);font-size:.875rem;line-height:var(--tw-leading,1.25rem)}figure[data-rehype-pretty-code-figure] pre{-ms-overflow-style:none;scrollbar-width:thin}figure[data-rehype-pretty-code-figure] pre::-webkit-scrollbar{height:6px}figure[data-rehype-pretty-code-figure] pre::-webkit-scrollbar-track{background-color:#0000}figure[data-rehype-pretty-code-figure] pre::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:3.40282e+38px}figure[data-rehype-pretty-code-figure] pre::-webkit-scrollbar-thumb:is(){background-color:var(--muted)}svg p{font-size:unset!important;line-height:normal!important}[id^=mermaid-]{background:0 0}[id^=mermaid-] text{fill:var(--foreground)!important}[id^=mermaid-] .actor,[id^=mermaid-] circle,[id^=mermaid-] ellipse,[id^=mermaid-] polygon,[id^=mermaid-] rect{border-radius:.375rem;stroke:var(--foreground)!important;fill:var(--background)!important}[id^=mermaid-] .flowchart-link,[id^=mermaid-] .labelBox,[id^=mermaid-] .loopLine,[id^=mermaid-] line,[id^=mermaid-] path{stroke:var(--foreground)!important}.mermaid-diagram .marker,[id^=mermaid-] .flowchart-label,[id^=mermaid-] .marker{fill:var(--foreground)!important}[id^=mermaid-] .flowchart-label{color:var(--foreground)!important}[id^=mermaid-] .arrowheadPath,[id^=mermaid-] .edgePath .path{stroke:var(--foreground)!important;fill:var(--foreground)!important}[id^=mermaid-] .taskText,[id^=mermaid-] .taskTextOutsideRight{fill:var(--foreground)!important}[id^=mermaid-] .note{fill:var(--muted)!important;stroke:var(--foreground)!important}[id^=mermaid-] .noteText{fill:var(--foreground)!important}[id^=mermaid-] .edgeLabel,[id^=mermaid-] .edgeLabel p{font-weight:400;color:var(--foreground)!important;background-color:#0000!important}[id^=mermaid-] .edgeLabel .label foreignObject{overflow:visible}[id^=mermaid-] .edgeLabel .label div,[id^=mermaid-] .messageText{text-align:center;color:var(--foreground)!important;background-color:#0000!important;font-size:14px!important;line-height:1.2!important}[id^=mermaid-] .messageLine0,[id^=mermaid-] .messageLine1{stroke:var(--foreground)!important}[id^=mermaid-] .loopText,[id^=mermaid-] .noteText,[id^=mermaid-] text.actor,[id^=mermaid-] tspan{fill:var(--foreground)!important}.img-blur{filter:blur(.375rem)}.img-unblur{animation:img-unblur .8s linear}@media (prefers-reduced-motion:reduce){.img-unblur{filter:blur();animation:none}}@keyframes img-unblur{0%{filter:blur(12px)}to{filter:blur()}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}