/*! tailwindcss v4.1.7 | 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)))){*,:before,:after,::backdrop{--tw-leading:initial;--tw-font-weight:initial;--tw-border-style:solid;--tw-tracking:initial}}}@layer base{p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{text-wrap:balance}p{text-wrap:pretty}}@layer components{.prose{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));--tw-leading:calc(var(--spacing,.25rem)*6);line-height:calc(var(--spacing,.25rem)*6);color:var(--foreground)}.prose>link[rel=stylesheet]+*,.prose>link[rel=stylesheet]+*>*{margin-top:calc(var(--spacing,.25rem)*0)!important}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-block:calc(var(--spacing,.25rem)*5);color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){color:color-mix(in oklab,var(--foreground)80%,transparent)}}.prose :where(h1,h2,h3,h4,h5,h6):not(:where([class~=not-prose],[class~=not-prose] *)){scroll-margin-top:calc(var(--spacing,.25rem)*32);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--foreground)}@media (min-width:80rem){.prose :where(h1,h2,h3,h4,h5,h6):not(:where([class~=not-prose],[class~=not-prose] *)){scroll-margin-top:calc(var(--spacing,.25rem)*20)}}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:calc(var(--spacing,.25rem)*0);margin-bottom:calc(var(--spacing,.25rem)*6);font-size:var(--text-3xl,1.875rem);line-height:var(--tw-leading,var(--text-3xl--line-height, 1.2 ))}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:calc(var(--spacing,.25rem)*8);margin-bottom:calc(var(--spacing,.25rem)*4);font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75/1.25)))}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:calc(var(--spacing,.25rem)*8);margin-bottom:calc(var(--spacing,.25rem)*4);font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75/1.125)))}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:calc(var(--spacing,.25rem)*7);margin-bottom:calc(var(--spacing,.25rem)*3);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ))}.prose :where(h5,h6):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:calc(var(--spacing,.25rem)*5);margin-bottom:calc(var(--spacing,.25rem)*3)}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);overflow-wrap:break-word;color:var(--foreground);text-decoration-line:underline;-webkit-text-decoration-color:var(--muted-foreground);text-decoration-color:var(--muted-foreground);text-underline-offset:3px;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}@media (hover:hover){.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{-webkit-text-decoration-color:var(--foreground);text-decoration-color:var(--foreground)}}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--foreground)}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-block:calc(var(--spacing,.25rem)*5);margin-left:calc(var(--spacing,.25rem)*6);list-style-type:disc}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)) ::marker{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)) ::marker{color:color-mix(in oklab,var(--foreground)30%,transparent)}}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:color-mix(in oklab,var(--foreground)30%,transparent)}}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)) ::-webkit-details-marker{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)) ::-webkit-details-marker{color:color-mix(in oklab,var(--foreground)30%,transparent)}}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *))::-webkit-details-marker{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *))::-webkit-details-marker{color:color-mix(in oklab,var(--foreground)30%,transparent)}}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *))>li{margin-top:calc(var(--spacing,.25rem)*2)}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-block:calc(var(--spacing,.25rem)*5);margin-left:calc(var(--spacing,.25rem)*6);list-style-type:decimal}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)) ::marker{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)) ::marker{color:color-mix(in oklab,var(--foreground)30%,transparent)}}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:color-mix(in oklab,var(--foreground)30%,transparent)}}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)) ::-webkit-details-marker{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)) ::-webkit-details-marker{color:color-mix(in oklab,var(--foreground)30%,transparent)}}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *))::-webkit-details-marker{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *))::-webkit-details-marker{color:color-mix(in oklab,var(--foreground)30%,transparent)}}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *))>li{margin-top:calc(var(--spacing,.25rem)*2)}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *))[type=A]{list-style-type:upper-alpha}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *))[type=I]{list-style-type:upper-roman}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *))[type=a]{list-style-type:lower-alpha}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *))[type=i]{list-style-type:lower-roman}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-left:calc(var(--spacing,.25rem)*2);color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){color:color-mix(in oklab,var(--foreground)80%,transparent)}}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *))>p{margin-block:calc(var(--spacing,.25rem)*0)}.prose :where(ul ul,ol ol,ul ol,ol ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-block:calc(var(--spacing,.25rem)*2);margin-left:calc(var(--spacing,.25rem)*6)}.prose :where(ul ul,ol ol,ul ol,ol ul):not(:where([class~=not-prose],[class~=not-prose] *)) ::marker{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.prose :where(ul ul,ol ol,ul ol,ol ul):not(:where([class~=not-prose],[class~=not-prose] *)) ::marker{color:color-mix(in oklab,var(--foreground)30%,transparent)}}.prose :where(ul ul,ol ol,ul ol,ol ul):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.prose :where(ul ul,ol ol,ul ol,ol ul):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:color-mix(in oklab,var(--foreground)30%,transparent)}}.prose :where(ul ul,ol ol,ul ol,ol ul):not(:where([class~=not-prose],[class~=not-prose] *)) ::-webkit-details-marker{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.prose :where(ul ul,ol ol,ul ol,ol ul):not(:where([class~=not-prose],[class~=not-prose] *)) ::-webkit-details-marker{color:color-mix(in oklab,var(--foreground)30%,transparent)}}.prose :where(ul ul,ol ol,ul ol,ol ul):not(:where([class~=not-prose],[class~=not-prose] *))::-webkit-details-marker{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.prose :where(ul ul,ol ol,ul ol,ol ul):not(:where([class~=not-prose],[class~=not-prose] *))::-webkit-details-marker{color:color-mix(in oklab,var(--foreground)30%,transparent)}}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){border-style:var(--tw-border-style);background-color:var(--muted);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);overflow-wrap:break-word;color:var(--foreground);border-width:1px;padding-block:.2rem;padding-inline:.3rem;position:relative}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *))>span[data-line=""]>*{color:var(--shiki-light)}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):where([data-theme=dark],[data-theme=dark] *)>span[data-line=""]>*{color:var(--shiki-dark)}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));--tw-leading:calc(var(--spacing,.25rem)*5);line-height:calc(var(--spacing,.25rem)*5)}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)) code{font-size:10px}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)) img,.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)) video,.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)) figure,.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)) details,.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)) blockquote,.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)) .katex-display,.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)) .expressive-code{margin-block:calc(var(--spacing,.25rem)*4)}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)) li,.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)) ol{margin-top:calc(var(--spacing,.25rem)*0)}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)) p{margin-block:calc(var(--spacing,.25rem)*2)}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)) ul{margin-block:calc(var(--spacing,.25rem)*0)}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-block:calc(var(--spacing,.25rem)*6);border-left-style:var(--tw-border-style);padding-left:calc(var(--spacing,.25rem)*6);border-left-width:2px}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)) *{color:var(--muted-foreground)}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-block:calc(var(--spacing,.25rem)*8);border-top-style:var(--tw-border-style);border-top-width:1px}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){margin-inline:auto;margin-block:calc(var(--spacing,.25rem)*6);max-width:fit-content;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25/.875)));display:block;overflow-x:auto}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.prose :where(th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*2);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);text-align:left}.prose :where(th):not(:where([class~=not-prose],[class~=not-prose] *))[align=center]{text-align:center}.prose :where(th):not(:where([class~=not-prose],[class~=not-prose] *))[align=right]{text-align:right}.prose :where(tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-block-style:var(--tw-border-style);border-block-width:1px;border-color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.prose :where(tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}.prose :where(tr):not(:where([class~=not-prose],[class~=not-prose] *)):first-child{border-top-style:var(--tw-border-style);border-top-width:0}.prose :where(tr):not(:where([class~=not-prose],[class~=not-prose] *)):last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));--tw-leading:calc(var(--spacing,.25rem)*5);line-height:calc(var(--spacing,.25rem)*5)}.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)) code{font-size:10px}.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)) img,.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)) video,.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)) figure,.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)) details,.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)) blockquote,.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)) .katex-display,.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)) .expressive-code{margin-block:calc(var(--spacing,.25rem)*4)}.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)) li,.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)) ol{margin-top:calc(var(--spacing,.25rem)*0)}.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)) p{margin-block:calc(var(--spacing,.25rem)*2)}.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)) ul{margin-block:calc(var(--spacing,.25rem)*0)}.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *))>:first-child{margin-top:calc(var(--spacing,.25rem)*0)!important}.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *))>:last-child{margin-bottom:calc(var(--spacing,.25rem)*0)!important}.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline:calc(var(--spacing,.25rem)*4);padding-block:calc(var(--spacing,.25rem)*2);vertical-align:top;overflow-wrap:break-word;color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)){color:color-mix(in oklab,var(--foreground)80%,transparent)}}.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:left}.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *))[align=center]{text-align:center}.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *))[align=right]{text-align:right}.prose :where(img,video,figure,.expressive-code):not(:where([class~=not-prose],[class~=not-prose] *)){margin-inline:auto;margin-block:calc(var(--spacing,.25rem)*6)}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){border-style:var(--tw-border-style);border-width:1px}.prose :where(.expressive-code details):not(:where([class~=not-prose],[class~=not-prose] *)){pointer-events:none!important}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){overflow-y:auto;max-height:min(68vh,1000px)!important}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *))::-webkit-scrollbar-corner{display:none}.prose :where(summary):not(:where([class~=not-prose],[class~=not-prose] *))~*{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));--tw-leading:calc(var(--spacing,.25rem)*5);line-height:calc(var(--spacing,.25rem)*5)}.prose :where(summary):not(:where([class~=not-prose],[class~=not-prose] *))~* code{font-size:10px}.prose :where(summary):not(:where([class~=not-prose],[class~=not-prose] *))~* img,.prose :where(summary):not(:where([class~=not-prose],[class~=not-prose] *))~* video,.prose :where(summary):not(:where([class~=not-prose],[class~=not-prose] *))~* figure,.prose :where(summary):not(:where([class~=not-prose],[class~=not-prose] *))~* details,.prose :where(summary):not(:where([class~=not-prose],[class~=not-prose] *))~* blockquote,.prose :where(summary):not(:where([class~=not-prose],[class~=not-prose] *))~* .katex-display,.prose :where(summary):not(:where([class~=not-prose],[class~=not-prose] *))~* .expressive-code{margin-block:calc(var(--spacing,.25rem)*4)}.prose :where(summary):not(:where([class~=not-prose],[class~=not-prose] *))~* li,.prose :where(summary):not(:where([class~=not-prose],[class~=not-prose] *))~* ol{margin-top:calc(var(--spacing,.25rem)*0)}.prose :where(summary):not(:where([class~=not-prose],[class~=not-prose] *))~* p{margin-block:calc(var(--spacing,.25rem)*2)}.prose :where(summary):not(:where([class~=not-prose],[class~=not-prose] *))~* ul{margin-block:calc(var(--spacing,.25rem)*0)}.prose :where(summary):not(:where([class~=not-prose],[class~=not-prose] *))~*>:first-child{margin-top:calc(var(--spacing,.25rem)*0)!important}.prose :where(summary):not(:where([class~=not-prose],[class~=not-prose] *))~*>:last-child{margin-bottom:calc(var(--spacing,.25rem)*0)!important}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-style:var(--tw-border-style);background-color:var(--muted);padding-inline:calc(var(--spacing,.25rem)*2);padding-block:calc(var(--spacing,.25rem)*1);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--foreground);border-width:1px}.prose :where(.katex-display):not(:where([class~=not-prose],[class~=not-prose] *)){margin-block:calc(var(--spacing,.25rem)*6);padding-block:calc(var(--spacing,.25rem)*2);--tw-tracking:var(--tracking-normal,0em);letter-spacing:var(--tracking-normal,0em);color:var(--foreground);overflow:auto hidden}@supports (color:color-mix(in lab,red,red)){.prose :where(.katex-display):not(:where([class~=not-prose],[class~=not-prose] *)){color:color-mix(in oklab,var(--foreground)80%,transparent)}}}.fix-margin>:first-child{margin-top:calc(var(--spacing,.25rem)*0)!important}.fix-margin>:last-child{margin-bottom:calc(var(--spacing,.25rem)*0)!important}.small{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1/.75)));--tw-leading:calc(var(--spacing,.25rem)*5);line-height:calc(var(--spacing,.25rem)*5)}.small code{font-size:10px}.small img,.small video,.small figure,.small details,.small blockquote,.small .katex-display,.small .expressive-code{margin-block:calc(var(--spacing,.25rem)*4)}.small li,.small ol{margin-top:calc(var(--spacing,.25rem)*0)}.small p{margin-block:calc(var(--spacing,.25rem)*2)}.small ul{margin-block:calc(var(--spacing,.25rem)*0)}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-tracking{syntax:"*";inherits:false}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.nav-link-text:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background-color:currentColor;transition:width .3s ease}.nav-link:hover .nav-link-text:after,.nav-link[aria-current=page] .nav-link-text:after{width:100%}.nav-link[aria-current=page]{color:hsl(var(--foreground))}.mobile-nav-link[aria-current=page]{background-color:hsl(var(--accent));color:hsl(var(--foreground))}.theme-icon{transition:opacity .2s ease,transform .2s ease}.theme-toggle{transition:transform .3s ease}.theme-toggle:hover{transform:rotate(20deg)}.menu-icon,.close-icon,.theme-icon{transition:opacity .2s ease,transform .2s ease}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}.search-button{min-width:40px}@media (min-width: 640px){.search-button{min-width:120px}}.search-modal{animation:fadeIn .2s ease-out}.search-modal-content{animation:slideUp .2s ease-out;max-height:85vh;display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.search-kbd{border-radius:.25rem;border:1px solid hsl(var(--border));background:hsl(var(--muted));padding:.125rem .375rem;font-size:.75rem}.search-result-item{display:block;padding:.75rem;border-radius:.375rem;transition:all .15s ease;cursor:pointer;text-decoration:none}.search-result-item:hover{background-color:hsl(var(--secondary) / .8)}.search-result-item.active{background-color:hsl(var(--secondary));box-shadow:0 0 0 1px hsl(var(--border))}.search-result-title{margin-bottom:.25rem;font-weight:500;color:hsl(var(--foreground));line-height:1.4}body{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono%5Bwght%5D.woff2) format("woff2-variations");font-weight:100 800;font-style:normal;font-display:swap}.search-result-desc{margin-bottom:.5rem;font-size:.875rem;line-height:1.4;color:hsl(var(--muted-foreground));display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-result-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.75rem;color:hsl(var(--muted-foreground))}.search-tag{border-radius:.25rem;background-color:hsl(var(--secondary));padding:.125rem .375rem;font-size:.75rem;white-space:nowrap}.relevance-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;border-radius:.25rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;background-color:hsl(var(--primary) / .15);color:hsl(var(--primary));white-space:nowrap}.search-highlight{background-color:hsl(var(--primary) / .2);color:hsl(var(--primary));font-weight:500;border-radius:.125rem;padding:0 .125rem}.search-results{overflow-y:auto;overflow-x:hidden}.search-results::-webkit-scrollbar{width:8px}.search-results::-webkit-scrollbar-track{background:transparent}.search-results::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:4px}.search-results::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .5)}@media (max-height: 600px){.search-results{max-height:40vh}}@media (max-width: 768px){.search-modal-content{max-height:90vh}.search-results{max-height:50vh}}.search-empty{user-select:none}.search-empty svg{opacity:.5}.search-result-item:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}#search-input:focus-visible{outline:none}.search-result-title,.search-result-desc,.search-result-meta{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
