genko-share-buttons[data-astro-cid-r65nyyzv] [data-astro-cid-r65nyyzv][hidden]{display:none!important}genko-share-buttons[data-astro-cid-r65nyyzv][data-styled] [data-astro-cid-r65nyyzv]:is(a,button):focus-visible{outline-offset:3px;outline:2px solid}genko-share-buttons[data-astro-cid-r65nyyzv][data-styled] [data-astro-cid-r65nyyzv]:is(a,button):hover{filter:brightness(.96)}genko-share-buttons[data-astro-cid-r65nyyzv][data-styled] button[data-astro-cid-r65nyyzv]:disabled{opacity:.5;cursor:default}.genko-copy-icons[data-astro-cid-r65nyyzv]{display:inline-grid}.genko-copy-icons[data-astro-cid-r65nyyzv]>span[data-astro-cid-r65nyyzv]{grid-area:1/1;transition:opacity .25s ease-in-out,transform .25s ease-in-out,filter .25s ease-in-out;display:inline-flex}[data-astro-cid-r65nyyzv][data-copy-icon=success],[data-astro-cid-r65nyyzv][data-copy-complete] [data-astro-cid-r65nyyzv][data-copy-icon=idle]{opacity:0;filter:blur(2px);transform:scale(.25)}[data-astro-cid-r65nyyzv][data-copy-complete] [data-astro-cid-r65nyyzv][data-copy-icon=success]{opacity:1;filter:blur();transform:scale(1)}@media (prefers-reduced-motion:reduce){.genko-copy-icons[data-astro-cid-r65nyyzv]>span[data-astro-cid-r65nyyzv]{transition:none}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-outline-style:solid;--tw-content:"";--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-sans:var(--font-zen-kaku), sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base,components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.-mx-3{margin-inline:calc(var(--spacing) * -3)}.-my-1{margin-block:calc(var(--spacing) * -1)}.ms-auto{margin-inline-start:auto}.-me-1\.5{margin-inline-end:calc(var(--spacing) * -1.5)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.min-h-0{min-height:0}.min-h-lh{min-height:1lh}.w-fit{width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-max{min-width:max-content}.flex-1{flex:1}.shrink-0{flex-shrink:0}.scroll-fade-x{--_scroll-fade-size-s:var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))));--_scroll-fade-size-e:var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))));--scroll-fade-inline:linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s,0px), #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%)}.scroll-fade-x:where([dir=rtl],[dir=rtl] *){--scroll-fade-inline:linear-gradient(to left, transparent 0, #000 var(--scroll-fade-s,0px), #000 calc(100% - var(--scroll-fade-e,0px)), transparent 100%)}.scroll-fade-x{-webkit-mask-image:var(--scroll-fade-mask,var(--scroll-fade-inline));-webkit-mask-image:var(--scroll-fade-mask,var(--scroll-fade-inline));-webkit-mask-image:var(--scroll-fade-mask,var(--scroll-fade-inline));mask-image:var(--scroll-fade-mask,var(--scroll-fade-inline));-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;mask-composite:intersect}@supports (animation-timeline:scroll()){.scroll-fade-x{animation:1ms ease-in-out scroll-fade-reveal-s scroll(self inline),1ms ease-in-out scroll-fade-reveal-e scroll(self inline);animation-range:0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%;animation-fill-mode:both}}@supports not (animation-timeline:scroll()){.scroll-fade-x{--scroll-fade-s:var(--_scroll-fade-size-s);--scroll-fade-e:var(--_scroll-fade-size-e)}}.cursor-default{cursor:default}.scrollbar-thin{scrollbar-width:thin}.flex-col{flex-direction:column}.content-start{align-content:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--border)}.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/30{border-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-muted{background-color:var(--muted)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.p-\[3px\]{padding:3px}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.text-start{text-align:start}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-\(--shiki-light\){color:var(--shiki-light)}.text-destructive{color:var(--destructive)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.underline-offset-4{text-underline-offset:4px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-has-data-\[slot\=code-block-footer\]\/code-block\:pb-2:is(:where(.group\/code-block):has([data-slot=code-block-footer]) *){padding-bottom:calc(var(--spacing) * 2)}.group-has-data-\[slot\=code-block-header\]\/code-block\:pt-2:is(:where(.group\/code-block):has([data-slot=code-block-header]) *){padding-top:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/code-block\:-mx-2\.5:is(:where(.group\/code-block)[data-size=sm] *){margin-inline:calc(var(--spacing) * -2.5)}.group-data-\[size\=sm\]\/code-block\:px-2\.5:is(:where(.group\/code-block)[data-size=sm] *){padding-inline:calc(var(--spacing) * 2.5)}.group-data-\[size\=sm\]\/code-block\:py-2\.5:is(:where(.group\/code-block)[data-size=sm] *){padding-block:calc(var(--spacing) * 2.5)}.group-data-\[size\=sm\]\/code-block\:pt-2\.5:is(:where(.group\/code-block)[data-size=sm] *){padding-top:calc(var(--spacing) * 2.5)}.group-data-\[size\=sm\]\/code-block\:pb-2\.5:is(:where(.group\/code-block)[data-size=sm] *){padding-bottom:calc(var(--spacing) * 2.5)}.group-data-\[size\=sm\]\/code-block\:text-xs:is(:where(.group\/code-block)[data-size=sm] *){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.group-data-\[size\=sm\]\/code-block\:group-has-data-\[slot\=code-block-header\]\/code-block\:pt-1\.5:is(:where(.group\/code-block)[data-size=sm] *):is(:where(.group\/code-block):has([data-slot=code-block-header]) *){padding-top:calc(var(--spacing) * 1.5)}.group-data-\[variant\=destructive\]\/code-block\:text-destructive:is(:where(.group\/code-block)[data-variant=destructive] *){color:var(--destructive)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.group-data-horizontal\/tabs\:h-8:is(:where(.group\/tabs):where([data-orientation=horizontal]) *){height:calc(var(--spacing) * 8)}.group-data-vertical\/tabs\:h-fit:is(:where(.group\/tabs):where([data-orientation=vertical]) *){height:fit-content}.group-data-vertical\/tabs\:w-full:is(:where(.group\/tabs):where([data-orientation=vertical]) *){width:100%}.group-data-vertical\/tabs\:flex-col:is(:where(.group\/tabs):where([data-orientation=vertical]) *){flex-direction:column}.group-data-vertical\/tabs\:justify-start:is(:where(.group\/tabs):where([data-orientation=vertical]) *){justify-content:flex-start}.before\:min-w-6:before{content:var(--tw-content);min-width:calc(var(--spacing) * 6)}.before\:text-end:before{content:var(--tw-content);text-align:end}.before\:text-muted-foreground:before{content:var(--tw-content);color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:start-1:after{content:var(--tw-content);inset-inline-start:calc(var(--spacing) * 1)}.after\:top-0:after{content:var(--tw-content);top:0}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:text-destructive:after{content:var(--tw-content);color:var(--destructive)}.after\:text-muted-foreground:after{content:var(--tw-content);color:var(--muted-foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:content-\[\'\+\'\]:after{--tw-content:"+";content:var(--tw-content)}.after\:content-\[\'−\'\]:after{--tw-content:"−";content:var(--tw-content)}.after\:select-none:after{content:var(--tw-content);-webkit-user-select:none;user-select:none}.group-data-horizontal\/tabs\:after\:inset-x-0:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);inset-inline:0}.group-data-horizontal\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);bottom:-5px}.group-data-horizontal\/tabs\:after\:h-0\.5:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-vertical\/tabs\:after\:inset-y-0:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-block:0}.group-data-vertical\/tabs\:after\:-right-1:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-vertical\/tabs\:after\:w-0\.5:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}:where([data-numbered]) .in-data-numbered\:col-span-2{grid-column:span 2/span 2}:where([data-numbered]) .in-data-numbered\:grid{display:grid}:where([data-numbered]) .in-data-numbered\:grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}:where([data-numbered]) .in-data-numbered\:grid-cols-subgrid{grid-template-columns:subgrid}:where([data-numbered]) .in-data-numbered\:gap-x-3{column-gap:calc(var(--spacing) * 3)}:where([data-numbered]) .in-data-numbered\:\[counter-increment\:line\]{counter-increment:line}:where([data-numbered]) .in-data-numbered\:before\:content-\[counter\(line\)\]:before{--tw-content:counter(line);content:var(--tw-content)}:where([data-numbered]) .in-data-numbered\:before\:select-none:before{content:var(--tw-content);-webkit-user-select:none;user-select:none}:where([data-wrap]) .in-data-wrap\:min-w-0{min-width:0}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-lg{border-radius:var(--radius-lg)}.has-data-\[icon\=inline-end\]\:pr-1:has([data-icon=inline-end]){padding-right:var(--spacing)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-1:has([data-icon=inline-start]){padding-left:var(--spacing)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.has-\[\>\[data-slot\=code-block-content\]\:focus-visible\]\:border-ring:has(>[data-slot=code-block-content]:focus-visible){border-color:var(--ring)}.has-\[\>\[data-slot\=code-block-content\]\:focus-visible\]\:ring-3:has(>[data-slot=code-block-content]:focus-visible){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.has-\[\>\[data-slot\=code-block-content\]\:focus-visible\]\:ring-ring\/50:has(>[data-slot=code-block-content]:focus-visible){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.has-\[\>\[data-slot\=code-block-content\]\:focus-visible\]\:ring-ring\/50:has(>[data-slot=code-block-content]:focus-visible){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}:is(.\*\:has-\[\>\[data-slot\=code-block-title\]\]\:min-w-0>*):has(>[data-slot=code-block-title]){min-width:0}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-wrap\:scroll-fade-y[data-wrap]{--_scroll-fade-size-t:var(--scroll-fade-t-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))));--_scroll-fade-size-b:var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))));--scroll-fade-block:linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t,0px), #000 calc(100% - var(--scroll-fade-b,0px)), transparent 100%);-webkit-mask-image:var(--scroll-fade-mask,var(--scroll-fade-block));-webkit-mask-image:var(--scroll-fade-mask,var(--scroll-fade-block));-webkit-mask-image:var(--scroll-fade-mask,var(--scroll-fade-block));mask-image:var(--scroll-fade-mask,var(--scroll-fade-block));-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;mask-composite:intersect}@supports (animation-timeline:scroll()){.data-wrap\:scroll-fade-y[data-wrap]{animation:1ms ease-in-out scroll-fade-reveal-t scroll(self y),1ms ease-in-out scroll-fade-reveal-b scroll(self y);animation-range:0 var(--scroll-fade-reveal,calc(var(--spacing) * 24)), calc(100% - var(--scroll-fade-reveal,calc(var(--spacing) * 24))) 100%;animation-fill-mode:both}}@supports not (animation-timeline:scroll()){.data-wrap\:scroll-fade-y[data-wrap]{--scroll-fade-t:var(--_scroll-fade-size-t);--scroll-fade-b:var(--_scroll-fade-size-b)}}.data-wrap\:wrap-break-word[data-wrap]{overflow-wrap:break-word}.data-wrap\:whitespace-pre-wrap[data-wrap]{white-space:pre-wrap}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[size\=sm\]\:text-xs[data-size=sm]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}@supports (content:counter(line) / ''){:where([data-numbered]) .in-data-numbered\:supports-\[content\:counter\(line\)_\/_\'\'\]\:before\:content-\[counter\(line\)_\/_\'\'\]:before{--tw-content:counter(line) / "";content:var(--tw-content)}}.dark\:border-destructive\/40:where(.dark,.dark *){border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:border-destructive\/40:where(.dark,.dark *){border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:border-input:where(.dark,.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:where(.dark,.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:where(.dark,.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-input\/30:where(.dark,.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:where(.dark,.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:text-\(--shiki-dark\):where(.dark,.dark *){color:var(--shiki-dark)}.dark\:text-muted-foreground:where(.dark,.dark *){color:var(--muted-foreground)}@media (hover:hover){.dark\:hover\:bg-destructive\/30:where(.dark,.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:where(.dark,.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:where(.dark,.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.dark\:hover\:text-foreground:where(.dark,.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:where(.dark,.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:where(.dark,.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:where(.dark,.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:where(.dark,.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:where(.dark,.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.data-selected\:bg-background:where([data-selected=true]){background-color:var(--background)}.data-selected\:text-foreground:where([data-selected=true]){color:var(--foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-selected\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *):where([data-selected=true]){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-selected\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-selected=true]){background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-selected\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-selected=true]){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-selected\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-selected=true]):after{content:var(--tw-content);opacity:1}.dark\:data-selected\:border-input:where(.dark,.dark *):where([data-selected=true]){border-color:var(--input)}.dark\:data-selected\:bg-input\/30:where(.dark,.dark *):where([data-selected=true]){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-selected\:bg-input\/30:where(.dark,.dark *):where([data-selected=true]){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:data-selected\:text-foreground:where(.dark,.dark *):where([data-selected=true]){color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-selected\:border-transparent:where(.dark,.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-selected=true]){border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-selected\:bg-transparent:where(.dark,.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-selected=true]){background-color:#0000}.group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *):where([data-state=active]),.group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *):where([data-active]:not([data-active=false])){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-horizontal\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:inline-block svg{display:inline-block}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\]\:align-middle svg{vertical-align:middle}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}:is(.\*\:\[svg\]\:me-1\.5>*):is(svg){margin-inline-end:calc(var(--spacing) * 1.5)}[data-slot=code-block]>.\[\[data-slot\=code-block\]\>\&\]\:absolute{position:absolute}[data-slot=code-block]>.\[\[data-slot\=code-block\]\>\&\]\:end-2{inset-inline-end:calc(var(--spacing) * 2)}[data-slot=code-block]>.\[\[data-slot\=code-block\]\>\&\]\:top-2{top:calc(var(--spacing) * 2)}[data-slot=code-block]>.\[\[data-slot\=code-block\]\>\&\]\:z-10{z-index:10}[data-slot=code-block]>.\[\[data-slot\=code-block\]\>\&\]\:m-0{margin:0}[data-slot=code-block]>.\[\[data-slot\=code-block\]\>\&\]\:opacity-0{opacity:0}[data-slot=code-block]>.\[\[data-slot\=code-block\]\>\&\]\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}[data-slot=code-block]>.\[\[data-slot\=code-block\]\>\&\]\:group-focus-within\/code-block\:opacity-100:is(:where(.group\/code-block):focus-within *){opacity:1}@media (hover:hover){[data-slot=code-block]>.\[\[data-slot\=code-block\]\>\&\]\:group-hover\/code-block\:opacity-100:is(:where(.group\/code-block):hover *){opacity:1}}[data-slot=code-block]>.group-data-\[size\=sm\]\/code-block\:\[\[data-slot\=code-block\]\>\&\]\:end-1\.5:is(:where(.group\/code-block)[data-size=sm] *){inset-inline-end:calc(var(--spacing) * 1.5)}[data-slot=code-block]>.group-data-\[size\=sm\]\/code-block\:\[\[data-slot\=code-block\]\>\&\]\:top-1\.5:is(:where(.group\/code-block)[data-size=sm] *){top:calc(var(--spacing) * 1.5)}@media (pointer:coarse){[data-slot=code-block]>.\[\[data-slot\=code-block\]\>\&\]\:pointer-coarse\:opacity-100{opacity:1}}:is([data-slot=code-block]>.\[\[data-slot\=code-block\]\>\&\]\:\*\:\[button\]\:bg-background>*):is(button){background-color:var(--background)}:is([data-slot=code-block]>.\[\[data-slot\=code-block\]\>\&\]\:\*\:\[button\]\:ring-1>*):is(button){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is([data-slot=code-block]>.\[\[data-slot\=code-block\]\>\&\]\:\*\:\[button\]\:ring-foreground\/10>*):is(button){--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is([data-slot=code-block]>.\[\[data-slot\=code-block\]\>\&\]\:\*\:\[button\]\:ring-foreground\/10>*):is(button){--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}[data-slot=code-block],[data-code-theme]{--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--destructive:oklch(57.7% .245 27.325);--radius-lg:.5rem;--radius-md:.375rem}:is([data-slot=code-block],[data-code-theme]):where(.dark,.dark *){--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--destructive:oklch(70.4% .191 22.216)}[data-slot=code-block] [style*=--shiki-light]{color:var(--shiki-light)}[data-slot=code-block] [style*=--shiki-light]:where(.dark,.dark *){color:var(--shiki-dark)}.article-body blog-code-block{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;min-width:0;margin-block:24px;display:block}.article-body blog-code-block>[data-slot=code-block]{border-style:solid;font-size:14px;line-height:1.5}.article-body blog-code-block pre{tab-size:2;overscroll-behavior-x:contain;max-width:100%;margin:0}.article-body blog-code-block [data-slot=code-block-header]{border-bottom-style:solid;border-bottom-width:1px}.article-body blog-code-block button{cursor:pointer;background:0 0;border-style:solid;padding:0}.article-body blog-code-block button:hover{background:var(--muted)}.article-body blog-code-block button:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-md)}@media (pointer:coarse),(width<640px){.article-body blog-code-block button{min-width:44px;min-height:44px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@keyframes scroll-fade-reveal-t{0%{--scroll-fade-t:0px}to{--scroll-fade-t:var(--_scroll-fade-size-t,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}}@keyframes scroll-fade-reveal-b{0%{--scroll-fade-b:var(--_scroll-fade-size-b,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}to{--scroll-fade-b:0px}}@keyframes scroll-fade-reveal-s{0%{--scroll-fade-s:0px}to{--scroll-fade-s:var(--_scroll-fade-size-s,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}}@keyframes scroll-fade-reveal-e{0%{--scroll-fade-e:var(--_scroll-fade-size-e,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}to{--scroll-fade-e:0px}}.rail-toc[data-astro-cid-i4ieir3l]{--rail-indent:14px;--rail:color-mix(in oklab, var(--ink) 45%, var(--surface));margin-bottom:30px}.rail-title[data-astro-cid-i4ieir3l]{color:color-mix(in oklab, var(--ink) 70%, transparent);align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:500;line-height:20px;display:flex}.rail-title[data-astro-cid-i4ieir3l] svg[data-astro-cid-i4ieir3l]{flex-shrink:0;margin-left:-2px}.rail-body[data-astro-cid-i4ieir3l]{position:relative}.rail-toc[data-astro-cid-i4ieir3l] ol[data-astro-cid-i4ieir3l]{margin:0;padding:0;list-style:none;position:relative}.rail-link[data-astro-cid-i4ieir3l]{padding:6px 8px 6px calc(19px + var(--rail-depth) * var(--rail-indent));color:color-mix(in oklab, var(--ink) 50%, transparent);overflow-wrap:anywhere;border-radius:6px;font-size:14px;line-height:20px;display:block;position:relative}.rail-link[data-astro-cid-i4ieir3l]:hover{color:color-mix(in oklab, var(--ink) 80%, transparent)}.rail-link[data-astro-cid-i4ieir3l][aria-current]{color:var(--ink);font-weight:500}.rail-link[data-astro-cid-i4ieir3l]:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.rail-dot[data-astro-cid-i4ieir3l]{top:calc(50% - 3.25px);left:calc(1.75px + var(--rail-depth) * var(--rail-indent));border:1.25px solid color-mix(in oklab, var(--ink) 30%, transparent);border-radius:50%;width:6.5px;height:6.5px;position:absolute}.rail-track[data-astro-cid-i4ieir3l]{pointer-events:none;opacity:0;height:100%;position:absolute;inset:0 auto 0 0;overflow:visible}.rail-toc[data-astro-cid-i4ieir3l][data-ready] .rail-track[data-astro-cid-i4ieir3l]{opacity:1}.rail-toc[data-astro-cid-i4ieir3l][data-ready] .rail-dot[data-astro-cid-i4ieir3l]{visibility:hidden}.rail-unread[data-astro-cid-i4ieir3l]{stroke:color-mix(in oklab, var(--ink) 25%, transparent);stroke-width:1.25px;stroke-dasharray:2 5;stroke-linecap:round;stroke-linejoin:round}.rail-read[data-astro-cid-i4ieir3l]{stroke:var(--rail);stroke-width:1.25px;stroke-linejoin:round}.rail-node[data-astro-cid-i4ieir3l]{fill:#0000;stroke:color-mix(in oklab, var(--ink) 30%, transparent);stroke-width:1.25px}.rail-node[data-astro-cid-i4ieir3l][data-covered]{fill:var(--rail);stroke:var(--rail)}.rail-plane[data-astro-cid-i4ieir3l]{color:var(--ink);fill:currentColor;filter:drop-shadow(0 0 2px #00000059)}@media (prefers-reduced-motion:no-preference){.rail-link[data-astro-cid-i4ieir3l]{transition:color .2s}.rail-node[data-astro-cid-i4ieir3l]{transition:fill .2s,stroke .2s}}@media (width>=900px) and (prefers-reduced-motion:no-preference){html:has(.rail-toc){scroll-behavior:smooth}}
