@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(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{color-scheme:light dark;text-rendering:optimizelegibility;-moz-text-size-adjust:100%;text-size-adjust:100%;--tp-background:light-dark(#fff,#18181b);--tp-foreground:light-dark(#18181b,#fafafa);--tp-card:light-dark(#fff,#202024);--tp-card-foreground:var(--tp-foreground);--tp-popover:light-dark(#fff,#202024);--tp-popover-foreground:var(--tp-foreground);--tp-primary:light-dark(#6d5dfc,#8b7cff);--tp-primary-foreground:light-dark(#fff,#18181b);--tp-secondary:light-dark(#e4e4e7,#3f3f46);--tp-secondary-foreground:var(--tp-foreground);--tp-muted:light-dark(#f4f4f5,#27272a);--tp-muted-foreground:light-dark(#666670,#a1a1aa);--tp-accent:light-dark(#ede9fe,#4c1d95);--tp-accent-foreground:light-dark(#3b197a,#f5f3ff);--tp-destructive:#dc2626;--tp-destructive-foreground:#fff;--tp-success:light-dark(#15803d,#22c55e);--tp-success-foreground:light-dark(#fff,#18181b);--tp-warning:light-dark(#b45309,#f59e0b);--tp-warning-foreground:light-dark(#fff,#18181b);--tp-border:light-dark(#d4d4d8,#3f3f46);--tp-edge:var(--tp-border);--tp-hairline:color-mix(in oklab, var(--tp-foreground) 10%, transparent);--tp-input:var(--tp-border);--tp-control:light-dark(transparent,color-mix(in oklab, var(--tp-input) 30%, transparent));--tp-control-strong:color-mix(in oklab, var(--tp-input) 50%, transparent);--tp-control-border:color-mix(in oklab, var(--tp-foreground) 45%, var(--tp-background));--tp-choice:var(--tp-control);--tp-choice-foreground:var(--tp-primary);--tp-ring:light-dark(#6d5dfc,#a78bfa);--tp-primary-subtle:light-dark(color-mix(in oklab, var(--tp-primary) 12%, var(--tp-background)),color-mix(in oklab, var(--tp-primary) 20%, var(--tp-background)));--tp-primary-subtle-foreground:light-dark(color-mix(in oklab, var(--tp-primary) 85%, var(--tp-foreground)),color-mix(in oklab, var(--tp-primary) 70%, var(--tp-foreground)));--tp-primary-border:light-dark(color-mix(in oklab, var(--tp-primary) 30%, var(--tp-background)),color-mix(in oklab, var(--tp-primary) 40%, var(--tp-background)));--tp-destructive-subtle:light-dark(color-mix(in oklab, var(--tp-destructive) 12%, var(--tp-background)),color-mix(in oklab, var(--tp-destructive) 20%, var(--tp-background)));--tp-destructive-subtle-foreground:light-dark(color-mix(in oklab, var(--tp-destructive) 85%, var(--tp-foreground)),color-mix(in oklab, var(--tp-destructive) 70%, var(--tp-foreground)));--tp-destructive-border:light-dark(color-mix(in oklab, var(--tp-destructive) 30%, var(--tp-background)),color-mix(in oklab, var(--tp-destructive) 40%, var(--tp-background)));--tp-success-subtle:light-dark(color-mix(in oklab, var(--tp-success) 12%, var(--tp-background)),color-mix(in oklab, var(--tp-success) 20%, var(--tp-background)));--tp-success-subtle-foreground:light-dark(color-mix(in oklab, var(--tp-success) 85%, var(--tp-foreground)),color-mix(in oklab, var(--tp-success) 70%, var(--tp-foreground)));--tp-success-border:light-dark(color-mix(in oklab, var(--tp-success) 30%, var(--tp-background)),color-mix(in oklab, var(--tp-success) 40%, var(--tp-background)));--tp-warning-subtle:light-dark(color-mix(in oklab, var(--tp-warning) 12%, var(--tp-background)),color-mix(in oklab, var(--tp-warning) 20%, var(--tp-background)));--tp-warning-subtle-foreground:light-dark(color-mix(in oklab, var(--tp-warning) 85%, var(--tp-foreground)),color-mix(in oklab, var(--tp-warning) 70%, var(--tp-foreground)));--tp-warning-border:light-dark(color-mix(in oklab, var(--tp-warning) 30%, var(--tp-background)),color-mix(in oklab, var(--tp-warning) 40%, var(--tp-background)));--_tp-edge-default:var(--tp-edge);--_tp-hairline-default:var(--tp-hairline);--_tp-input-default:var(--tp-input);--_tp-card-default:var(--tp-card);--_tp-control-default:var(--tp-control);--_tp-control-strong-default:var(--tp-control-strong);--_tp-control-border-default:var(--tp-control-border);--_tp-choice-default:var(--tp-choice);--_tp-choice-foreground-default:var(--tp-choice-foreground);--_tp-joined-edge-width-default:var(--tp-joined-edge-width);--_tp-primary-border-default:var(--tp-primary-border);--_tp-destructive-border-default:var(--tp-destructive-border);--_tp-success-border-default:var(--tp-success-border);--_tp-warning-border-default:var(--tp-warning-border);--tp-chart-1:#6d5dfc;--tp-chart-2:#0ea5e9;--tp-chart-3:#16a34a;--tp-chart-4:#d97706;--tp-chart-5:#db2777;--tp-syntax-comment:light-dark(#59636e,#a0a8b1);--tp-syntax-keyword:light-dark(#b42318,#ff9a92);--tp-syntax-string:light-dark(#0a3069,#a5d6ff);--tp-syntax-number:light-dark(#0550ae,#79c0ff);--tp-syntax-function:light-dark(#6639ba,#d2a8ff);--tp-syntax-type:light-dark(#953800,#ffa657);--tp-syntax-constant:light-dark(#0550ae,#79c0ff);--tp-syntax-variable:light-dark(#953800,#ffa657);--tp-syntax-property:light-dark(#0550ae,#79c0ff);--tp-syntax-tag:light-dark(#116329,#7ee787);--tp-syntax-attribute:light-dark(#0550ae,#79c0ff);--tp-syntax-operator:light-dark(#b42318,#ff9a92);--tp-syntax-inserted:light-dark(#116329,#aff5b4);--tp-syntax-deleted:light-dark(#82071e,#ffdcd7);--tp-content-gray:light-dark(#ebedf0,#2f3033);--tp-content-gray-foreground:light-dark(#575b62,#c4c7cd);--tp-content-brown:light-dark(#f8e9e2,#3b2d25);--tp-content-brown-foreground:light-dark(#74523f,#dec0b0);--tp-content-orange:light-dark(#fee8da,#48270d);--tp-content-orange-foreground:light-dark(#8b4501,#fdb584);--tp-content-yellow:light-dark(#faeccb,#3d2e05);--tp-content-yellow-foreground:light-dark(#715700,#e2c47c);--tp-content-green:light-dark(#daf5de,#1a3821);--tp-content-green-foreground:light-dark(#146d34,#9dd8a9);--tp-content-blue:light-dark(#e0effe,#17324d);--tp-content-blue-foreground:light-dark(#065da0,#9cccff);--tp-content-purple:light-dark(#f0e8ff,#36284b);--tp-content-purple-foreground:light-dark(#6a439b,#d3b8fe);--tp-content-pink:light-dark(#fee5f0,#472235);--tp-content-pink-foreground:light-dark(#913266,#fcabd1);--tp-content-red:light-dark(#fee7e4,#4f1f1d);--tp-content-red-foreground:light-dark(#a12628,#ffb0a9);--tp-spacing:.25rem;--tp-spacing-compact:.1875rem;--_tp-spacing-default:var(--tp-spacing);--tp-space-0:0;--tp-font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;--tp-font-heading:var(--tp-font-sans);--tp-font-mono:"Cascadia Mono", ui-monospace, sfmono-regular, menlo, monaco, consolas, monospace;--tp-font-emoji:"Apple Color Emoji", "Noto Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Twemoji Mozilla", "Android Emoji", emojisymbols, sans-serif;--tp-type-scale:1;--tp-type-scale-compact:.9;--_tp-type-scale-default:var(--tp-type-scale);--tp-font-normal:400;--tp-font-medium:500;--tp-font-semibold:600;--tp-font-bold:700;--tp-leading-tight:1.25;--tp-leading-normal:1.5;--tp-leading-relaxed:1.75;--tp-tracking-tight:-.025em;--tp-tracking-normal:0;--tp-tracking-wide:.025em;--tp-target-size-min:2.75rem;--tp-border-width:1px;--tp-border-width-strong:2px;--tp-joined-edge-width:var(--tp-border-width);--tp-border-style:solid;--tp-ring-width:2px;--tp-radius:.625rem;--tp-radius-sm:calc(var(--tp-radius) * .6);--tp-radius-md:calc(var(--tp-radius) * .8);--tp-radius-lg:var(--tp-radius);--tp-radius-xl:calc(var(--tp-radius) * 1.4);--tp-radius-2xl:calc(var(--tp-radius) * 1.8);--tp-radius-3xl:calc(var(--tp-radius) * 2.2);--tp-radius-4xl:calc(var(--tp-radius) * 2.6);--tp-radius-full:9999px;--tp-shadow-none:none;--tp-opacity-disabled:.55;--tp-opacity-backdrop:.48;--tp-duration-fast:.2s;--tp-duration-normal:.28s;--tp-duration-slow:.56s;--tp-easing-standard:cubic-bezier(.2, 0, 0, 1);--tp-easing-enter:cubic-bezier(.22, 1, .36, 1);--tp-easing-exit:cubic-bezier(.4, 0, 1, 1);--tp-motion-scale:1;--tp-motion-play-state:running;font-family:var(--tp-font-sans);font-size:100%;font-weight:var(--tp-font-normal);line-height:var(--tp-leading-normal);letter-spacing:var(--tp-tracking-normal)}[density=default]{--tp-spacing:var(--_tp-spacing-default);--tp-type-scale:var(--_tp-type-scale-default)}[density=compact]{--tp-spacing:var(--tp-spacing-compact);--tp-type-scale:var(--tp-type-scale-compact)}:root,[density=default],[density=compact]{--tp-space-0-5:calc(var(--tp-spacing) * .5);--tp-space-1:calc(var(--tp-spacing) * 1);--tp-space-1-5:calc(var(--tp-spacing) * 1.5);--tp-space-2:calc(var(--tp-spacing) * 2);--tp-space-2-5:calc(var(--tp-spacing) * 2.5);--tp-space-3:calc(var(--tp-spacing) * 3);--tp-space-4:calc(var(--tp-spacing) * 4);--tp-space-5:calc(var(--tp-spacing) * 5);--tp-space-6:calc(var(--tp-spacing) * 6);--tp-space-8:calc(var(--tp-spacing) * 8);--tp-space-10:calc(var(--tp-spacing) * 10);--tp-space-12:calc(var(--tp-spacing) * 12);--tp-space-16:calc(var(--tp-spacing) * 16);--tp-control-height-xs:calc(var(--tp-spacing) * 6);--tp-control-height-sm:calc(var(--tp-spacing) * 7);--tp-control-height-md:calc(var(--tp-spacing) * 8);--tp-control-height-lg:calc(var(--tp-spacing) * 9);--tp-icon-size-xs:calc(var(--tp-spacing) * 3);--tp-icon-size-sm:calc(var(--tp-spacing) * 3.5);--tp-icon-size-md:calc(var(--tp-spacing) * 4);--tp-icon-size-lg:calc(var(--tp-spacing) * 5);--tp-ring-offset:calc(var(--tp-spacing) / 2);--tp-shadow-sm:0 calc(var(--tp-spacing) / 4) var(--tp-space-1) #00000029;--tp-shadow-md:0 var(--tp-space-1) var(--tp-space-5) #0000002e;--tp-shadow-lg:0 var(--tp-space-3) var(--tp-space-12) #0003;--tp-text-xs:calc(.75rem * var(--tp-type-scale));--tp-text-sm:calc(.875rem * var(--tp-type-scale));--tp-text-base:calc(1rem * var(--tp-type-scale));--tp-text-lg:calc(1.125rem * var(--tp-type-scale));--tp-text-xl:calc(1.25rem * var(--tp-type-scale));--tp-text-2xl:calc(1.5rem * var(--tp-type-scale))}[appearance=flat]{--tp-edge:transparent;--tp-hairline:transparent;--tp-input:transparent;--tp-card:color-mix(in oklab, var(--tp-foreground) 4%, var(--tp-background));--tp-control:color-mix(in oklab, var(--tp-foreground) 10%, var(--tp-card));--tp-control-strong:color-mix(in oklab, var(--tp-foreground) 15%, var(--tp-card));--tp-control-border:transparent;--tp-choice:var(--tp-primary);--tp-choice-foreground:var(--tp-primary);--tp-joined-edge-width:var(--tp-border-width-strong);--tp-primary-border:transparent;--tp-destructive-border:transparent;--tp-success-border:transparent;--tp-warning-border:transparent}[appearance=default]{--tp-edge:var(--_tp-edge-default);--tp-hairline:var(--_tp-hairline-default);--tp-input:var(--_tp-input-default);--tp-card:var(--_tp-card-default);--tp-control:var(--_tp-control-default);--tp-control-strong:var(--_tp-control-strong-default);--tp-control-border:var(--_tp-control-border-default);--tp-choice:var(--_tp-choice-default);--tp-choice-foreground:var(--_tp-choice-foreground-default);--tp-joined-edge-width:var(--_tp-joined-edge-width-default);--tp-primary-border:var(--_tp-primary-border-default);--tp-destructive-border:var(--_tp-destructive-border-default);--tp-success-border:var(--_tp-success-border-default);--tp-warning-border:var(--_tp-warning-border-default)}:where(code,kbd,samp,pre){font-family:var(--tp-font-mono)}body{min-width:calc(var(--tp-spacing) * 100);min-height:100vh;color:var(--tp-foreground);background:var(--tp-background);font-size:var(--tp-text-base);margin:0}@media (pointer:coarse){:root{--_tp-coarse-target:var(--tp-target-size-min)}}@media (prefers-reduced-motion:reduce){:root{--tp-motion-scale:0;--tp-motion-play-state:paused}}[motion-policy=normal]{--tp-motion-scale:1;--tp-motion-play-state:running}[motion-policy=reduce]{--tp-motion-scale:0;--tp-motion-play-state:paused}@property --tp-duration-fast{syntax:"<time>";inherits:true;initial-value:.2s}@property --tp-duration-normal{syntax:"<time>";inherits:true;initial-value:.28s}@property --tp-duration-slow{syntax:"<time>";inherits:true;initial-value:.56s}@property --_tp-message-scroller-fade{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tp-media-slider-fill{syntax:"<percentage>";inherits:true;initial-value:0%}@property --tp-media-slider-pointer{syntax:"<percentage>";inherits:true;initial-value:0%}@property --tp-media-slider-buffer{syntax:"<percentage>";inherits:true;initial-value:0%}:is(tp-scroll-trigger:not(:defined),tp-image-group:not(:defined),tp-image:not(:defined),tp-mo-text-split:not(:defined),tp-mo-text-mirror:not(:defined),tp-mo-text-stroke:not(:defined)){display:block}tp-cursor:not(:defined){display:none}tp-cursor-zone:not(:defined){display:contents}tp-table:not(:defined){display:block;overflow-x:auto}tp-table-caption:not(:defined){display:table-caption}tp-table-header:not(:defined){display:table-header-group}tp-table-body:not(:defined){display:table-row-group}tp-table-footer:not(:defined){display:table-footer-group}tp-table-row:not(:defined){display:table-row}:is(tp-table-head:not(:defined),tp-table-cell:not(:defined)){display:table-cell}tp-visually-hidden:not(:where([hidden])){clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin-block:-1px 0;margin-inline:0;padding:0;display:block;position:absolute;overflow:hidden}tp-scroll-trigger[pin]{block-size:calc(100cqb + var(--tp-scroll-trigger-pin-length,200cqb))}@supports (aspect-ratio:attr(ratio type(<number>))){tp-image:not(:defined)[width][height]{aspect-ratio:attr(width type(<number>)) / attr(height type(<number>))}tp-image:not(:defined)[ratio]{aspect-ratio:attr(ratio type(<number>))}}:is(tp-mo-text-split:not(:defined),tp-mo-text-mirror:not(:defined),tp-mo-text-stroke:not(:defined)){visibility:hidden;animation:0s 3s forwards tp-mo-text-undefined}tp-mo-text-split[split~=chars],tp-mo-text-stroke[split~=chars]{font-kerning:none;font-variant-ligatures:none}@keyframes tp-mo-text-undefined{to{visibility:visible}}:root{--tp-background:light-dark(#fff,#0a0a0a);--tp-foreground:light-dark(#0a0a0a,#ededed);--tp-card:light-dark(#fff,#111);--tp-popover:light-dark(#fff,#111);--tp-muted:light-dark(#f5f5f5,#171717);--tp-muted-foreground:light-dark(#666,#8f8f8f);--tp-secondary:light-dark(#f0f0f0,#1f1f1f);--tp-border:light-dark(#e5e5e5,#262626);--tp-font-sans:"Fivo Sans", "Geist", ui-sans-serif, system-ui, sans-serif;--tp-font-mono:"Geist Mono", ui-monospace, "SFMono-Regular", monospace;--site-font-display:"Anton", "Impact", "Arial Narrow", sans-serif;--site-subtle:light-dark(#fafafa,#0f0f0f);--site-line:light-dark(#ededed,#1c1c1c);--site-accent:light-dark(#5b4bf5,#9d91ff);--site-header-height:3.5rem;--site-subnav-height:3rem;--site-max:84rem;--site-gutter:clamp(1rem, 4vw, 2rem);--site-ease:cubic-bezier(.2, 0, 0, 1)}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--site-header-height) + 1.5rem);-webkit-font-smoothing:antialiased}@media (width<48rem){html{scroll-padding-top:calc(var(--site-header-height) + var(--site-subnav-height) + 1.5rem)}}body{font-feature-settings:"ss01", "cv11";min-width:0;margin:0}a{color:inherit}::selection{background:color-mix(in oklab, var(--site-accent) 25%, transparent)}:is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--site-accent);outline-offset:2px}.skip-link{z-index:100;border-radius:var(--tp-radius-md);background:var(--tp-foreground);color:var(--tp-background);font-size:var(--tp-text-sm);padding:.5rem .75rem;position:absolute;inset-block-start:-3rem;inset-inline-start:1rem}.skip-link:focus{inset-block-start:.75rem}.container{inline-size:100%;max-inline-size:var(--site-max);padding-inline:var(--site-gutter);margin-inline:auto}.site-header{z-index:50;border-block-end:1px solid var(--site-line);background:color-mix(in oklab, var(--tp-background) 82%, transparent);backdrop-filter:saturate(1.4)blur(14px);position:sticky;inset-block-start:0}.site-header__inner{block-size:var(--site-header-height);align-items:center;gap:1.5rem;display:flex}.logo{letter-spacing:-.02em;align-items:center;gap:.55rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.logo svg{block-size:1.25rem;inline-size:1.25rem}.site-nav{gap:.25rem;display:flex}.site-nav a{border-radius:var(--tp-radius-md);color:var(--tp-muted-foreground);font-size:var(--tp-text-sm);transition:color .16s var(--site-ease);padding:.4rem .65rem;text-decoration:none;position:relative}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--tp-foreground)}.site-nav a[aria-current=page]:after{content:"";background:var(--tp-foreground);block-size:1px;position:absolute;inset-block-end:calc((var(--site-header-height) - 1.9rem) / -2);inset-inline:.65rem}.site-header__actions{align-items:center;gap:.375rem;margin-inline-start:auto;display:flex}.search-trigger{border:1px solid var(--tp-border);border-radius:var(--tp-radius-md);background:var(--site-subtle);block-size:2rem;inline-size:15rem;color:var(--tp-muted-foreground);font:inherit;font-size:var(--tp-text-sm);cursor:pointer;transition:border-color .16s var(--site-ease), color .16s var(--site-ease);align-items:center;gap:.75rem;padding-inline:.75rem .375rem;display:inline-flex}.search-trigger:hover{border-color:color-mix(in oklab, var(--tp-foreground) 25%, var(--tp-border));color:var(--tp-foreground)}.search-trigger svg{flex:none;block-size:.9rem;inline-size:.9rem}.search-trigger span{text-align:start;flex:1}.search-trigger kbd{border:1px solid var(--tp-border);border-radius:var(--tp-radius-sm);background:var(--tp-background);font:500 .7rem var(--tp-font-sans);padding:.1rem .35rem}.icon-link{border-radius:var(--tp-radius-md);block-size:2rem;inline-size:2rem;color:var(--tp-muted-foreground);transition:color .16s var(--site-ease);place-items:center;display:inline-grid}.icon-link:hover{color:var(--tp-foreground)}.icon-link svg{block-size:1rem;inline-size:1rem}@media (width<52rem){.search-trigger{justify-content:center;inline-size:2rem;padding:0}.search-trigger span,.search-trigger kbd{display:none}}@media (width<36rem){.site-header__inner{gap:.75rem}.logo span{display:none}.site-nav a{padding-inline:.45rem}.icon-link--github{display:none}}.section-header{border-block-end:1px solid var(--site-line);background:radial-gradient(60rem 18rem at 50% -6rem, color-mix(in oklab, var(--accent,var(--site-accent)) 9%, transparent), transparent 70%), var(--tp-background);padding-block:clamp(3rem,8vw,5.5rem) clamp(2rem,5vw,3rem)}.eyebrow{color:var(--tp-muted-foreground);font:500 .75rem var(--tp-font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.5rem;margin:0 0 1rem;display:inline-flex}.eyebrow:before{content:"";background:var(--accent,var(--site-accent));border-radius:50%;block-size:.4rem;inline-size:.4rem}.display{font-family:var(--site-font-display);letter-spacing:.005em;text-transform:uppercase;margin:0;font-size:clamp(3rem,8.5vw,7rem);font-weight:400;line-height:1.02}.display>*{display:block}.outline{color:#0000;-webkit-text-stroke:max(1px, .018em) var(--accent,var(--site-accent))}.lede{max-inline-size:38rem;color:var(--tp-muted-foreground);text-wrap:pretty;margin:1.25rem 0 0;font-size:clamp(1rem,1.6vw,1.125rem);line-height:1.6}.section-header--embedded{background:0 0;margin-block-end:2.5rem;padding-block:0 2.5rem}.section-header--embedded .display{font-size:clamp(2.75rem,6vw,5rem)}.docs-shell{grid-template-columns:14rem minmax(0,1fr);gap:clamp(2rem,4vw,4rem);display:grid}.docs-shell--toc{grid-template-columns:14rem minmax(0,1fr) 12rem}.sidebar{--tp-accent:var(--tp-muted);--tp-accent-foreground:var(--tp-foreground);align-self:start;position:sticky;inset-block-start:var(--site-header-height)}.sidebar__summary{display:none}.sidebar__scroll{block-size:calc(100dvh - var(--site-header-height));display:block}.sidebar__scroll:not(:defined){overflow:hidden}.sidebar__scroll[data-overflow-y-end]{mask-image:linear-gradient(#000 calc(100% - 2.5rem),#0000)}.sidebar__scroll[data-overflow-y-start]{mask-image:linear-gradient(#0000,#000 2.5rem)}.sidebar__scroll[data-overflow-y-start][data-overflow-y-end]{mask-image:linear-gradient(#0000,#000 2.5rem calc(100% - 2.5rem),#0000)}.sidebar nav{padding-block:2rem}.sidebar tp-tree-view{--tp-tree-view-indent:.75rem}.sidebar tp-tree-item::part(row){color:var(--tp-muted-foreground)}.sidebar tp-tree-item::part(row):hover,.sidebar tp-tree-item[data-selected]::part(row){color:var(--tp-foreground)}.sidebar tp-tree-item[data-section]::part(row){color:var(--tp-foreground);font-size:.75rem;font-weight:600}.sidebar tp-tree-item[data-subgroup]::part(row){color:var(--tp-foreground);font-weight:500}.sidebar tp-tree-item[data-section]+tp-tree-item[data-section]{margin-block-start:1.25rem}.sidebar tp-tree-item>a{color:inherit;text-decoration:none;display:block}.sidebar tp-tree-view[motion-policy] tp-tree-item::part(group){block-size:auto}.sidebar :is(tp-tree-view,tp-tree-item):not(:defined){font-size:var(--tp-text-sm);display:block}.sidebar tp-tree-item[data-section]:not(:defined){color:var(--tp-foreground);padding-inline-start:2rem;font-size:.75rem;font-weight:600;line-height:2rem}.sidebar tp-tree-item:not(:defined) tp-tree-item:not(:defined){margin-inline-start:.25rem}.sidebar tp-tree-item:not(:defined)>a{border-radius:var(--tp-radius-md);color:var(--tp-muted-foreground);font-size:var(--tp-text-sm);padding:.34375rem .5rem;font-weight:400;line-height:1.5}.sidebar tp-tree-item:not(:defined)>a[aria-current=page]{background:var(--tp-muted);color:var(--tp-foreground);font-weight:500}tp-table-of-contents-item:not(:defined){color:var(--tp-muted-foreground);font-size:var(--tp-text-sm);padding-block:.3rem;display:block}.docs-main{min-inline-size:0;padding-block:2.5rem 6rem}.toc{align-self:start;padding-block:2.5rem;position:sticky;inset-block-start:var(--site-header-height)}@media (width<72rem){.docs-shell--toc{grid-template-columns:14rem minmax(0,1fr)}.toc{display:none}}@media (width<48rem){.docs-shell,.docs-shell--toc{display:block}.sidebar{z-index:40;border-block-end:1px solid var(--site-line);background:color-mix(in oklab, var(--tp-background) 82%, transparent);backdrop-filter:saturate(1.4)blur(14px);position:sticky;inset-block-start:var(--site-header-height)}.sidebar__scroll{inset-inline:calc(-1 * var(--site-gutter));block-size:auto;padding-inline:var(--site-gutter);border-block-end:1px solid var(--site-line);background:var(--tp-background);position:absolute;inset-block-start:100%;box-shadow:0 24px 48px -24px oklab(0% none none/.3);mask-image:none}.sidebar__summary{min-block-size:var(--site-subnav-height);font-size:var(--tp-text-sm);cursor:pointer;align-items:center;gap:.5rem;list-style:none;display:flex}.sidebar__summary::-webkit-details-marker{display:none}.sidebar__summary-label{color:var(--tp-muted-foreground)}.sidebar__summary-label:after{content:"/";color:var(--tp-border);margin-inline-start:.5rem}.sidebar__summary-current{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.sidebar__summary svg{block-size:1rem;inline-size:1rem;color:var(--tp-muted-foreground);transition:transform .2s var(--site-ease);flex:none}.sidebar__disclosure[open] .sidebar__summary svg{transform:rotate(180deg)}.sidebar nav{max-block-size:calc(100dvh - var(--site-header-height) - var(--site-subnav-height) - 2rem);overscroll-behavior:contain;padding-block:.5rem 1.25rem;overflow-y:auto}}.page-title{font-family:var(--site-font-display);text-transform:uppercase;margin:0;font-size:clamp(2.5rem,5vw,3.75rem);font-weight:400;line-height:1}.page-description{max-inline-size:42rem;color:var(--tp-muted-foreground);margin:.75rem 0 0;font-size:1.0625rem;line-height:1.6}.page-meta{flex-wrap:wrap;gap:.5rem;margin-block-start:1.25rem;display:flex}.chip{border:1px solid var(--tp-border);color:var(--tp-muted-foreground);font:500 .75rem var(--tp-font-mono);border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .55rem;text-decoration:none;display:inline-flex}a.chip:hover{border-color:color-mix(in oklab, var(--tp-foreground) 30%, var(--tp-border));color:var(--tp-foreground)}.prose{max-inline-size:46rem;font-size:.9375rem;line-height:1.7}.prose>:first-child{margin-block-start:0}.prose h2:not(.preview *){border-block-end:1px solid var(--site-line);letter-spacing:-.025em;margin:3.5rem 0 1rem;padding-block-end:.5rem;font-size:1.375rem;font-weight:600}.prose h3:not(.preview *){letter-spacing:-.015em;margin:2.25rem 0 .75rem;font-size:1.0625rem;font-weight:600}.prose :is(p,ul,ol):not(.preview *){margin:0 0 1rem}.prose a:not(.preview *){text-decoration-color:color-mix(in oklab, currentcolor 35%, transparent);text-underline-offset:.2em}.prose a:not(.preview *):hover{text-decoration-color:currentColor}.prose :not(pre)>code:not(.preview *){border:1px solid var(--site-line);border-radius:var(--tp-radius-sm);background:var(--site-subtle);font:.85em var(--tp-font-mono);padding:.12rem .35rem}.prose pre{border:1px solid var(--site-line);border-radius:var(--tp-radius-lg);font:.8125rem/1.65 var(--tp-font-mono);margin:0 0 1.25rem;padding:1rem 1.15rem;overflow-x:auto}.prose .prose-table{margin-block:0 1.5rem}.astro-code,.astro-code span{color:light-dark(var(--shiki-light),var(--shiki-dark))}.astro-code{background:var(--site-subtle)!important}.prose .preview,.prose .api,.prose .related{max-inline-size:none}.docs-main .prose{max-inline-size:52rem}.preview{border:1px solid var(--site-line);border-radius:var(--tp-radius-xl);background:var(--tp-background);margin:1.5rem 0 2.5rem;position:relative;overflow:hidden}.preview__bar{border-block-end:1px solid var(--site-line);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .5rem .5rem 1rem;display:flex}.preview__title{color:var(--tp-muted-foreground);font:500 .75rem var(--tp-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<36rem){.preview__title{display:none}.preview__bar{justify-content:flex-end}}.preview__tools{align-items:center;gap:.375rem;display:flex}.preview__canvas{justify-content:center;align-items:center;gap:var(--tp-space-3);background-image:radial-gradient(color-mix(in oklab, var(--tp-foreground) 9%, transparent) 1px, transparent 1px);background-position:50%;background-size:18px 18px;flex-wrap:wrap;min-block-size:14rem;padding:clamp(1.5rem,5vw,3.5rem) clamp(1rem,4vw,2.5rem);display:flex}.preview__canvas[data-align=start]{justify-content:flex-start;align-items:flex-start}.preview__canvas[data-align=stretch]>*{flex:100%}.preview__code{border-block-start:1px solid var(--site-line)}.preview__code tp-code-block{display:block}.preview__code tp-code-block::part(code-block){border:0;border-radius:0}.preview__code[hidden]{display:none}.preview[density=compact]{font-size:var(--tp-text-base)}.api{margin-block:1rem 2rem}.api code{font:.8rem var(--tp-font-mono)}.api tp-table-head[scope=row] code{color:var(--tp-foreground);font-weight:500}.api tp-table-cell code{color:var(--tp-muted-foreground)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:1rem;display:grid}.link-card{border:1px solid var(--site-line);border-radius:var(--tp-radius-xl);background:var(--tp-background);transition:border-color .2s var(--site-ease), transform .2s var(--site-ease);flex-direction:column;gap:.5rem;padding:1.25rem;text-decoration:none;display:flex;position:relative}.link-card:hover{border-color:color-mix(in oklab, var(--tp-foreground) 22%, var(--tp-border))}.link-card h3{letter-spacing:-.015em;margin:0;font-size:.975rem;font-weight:600}.link-card p{color:var(--tp-muted-foreground);font-size:var(--tp-text-sm);margin:0;line-height:1.55}.link-card .chip{align-self:flex-start}.link-card__arrow{color:var(--tp-muted-foreground);transition:transform .2s var(--site-ease);position:absolute;inset-block-start:1.25rem;inset-inline-end:1.25rem}.link-card:hover .link-card__arrow{color:var(--tp-foreground);transform:translate(3px)}.related{margin-block-start:1rem}.site-footer{border-block-start:1px solid var(--site-line);color:var(--tp-muted-foreground);font-size:.8125rem}.site-footer__inner{flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-block:2rem;display:flex}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--tp-foreground)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important}}
