@layer vendor{@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-ext-wght-normal-CawQDOvP.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-wght-normal-DdqRvwsR.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}}@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}img,picture,svg{block-size:auto;max-inline-size:100%;display:block}input,button,textarea,select{font:inherit}}@layer tokens{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--blue:var(--lightningcss-light,oklch(53.1% .187 262.2))var(--lightningcss-dark,oklch(70% .15 262));--red:var(--lightningcss-light,oklch(58.8% .198 28.9))var(--lightningcss-dark,oklch(62.3% .196 28.7));--yellow:var(--lightningcss-light,oklch(68.9% .143 79.7))var(--lightningcss-dark,oklch(80.9% .167 82.3));--green:var(--lightningcss-light,oklch(56% .134 152.5))var(--lightningcss-dark,oklch(62.1% .141 152.7));--brand:var(--blue);--spectrum:linear-gradient(90deg in oklch, oklch(57.4% .202 262) 0%, oklch(62.3% .196 28.7) 33%, oklch(80.9% .167 82.3) 66%, oklch(62.1% .141 152.7) 100%);--surface:var(--lightningcss-light,oklch(99.4% .003 274))var(--lightningcss-dark,oklch(18.7% .008 274.5));--surface-raised:var(--lightningcss-light,oklch(100% 0 0))var(--lightningcss-dark,oklch(22.5% .012 274));--surface-sunken:var(--lightningcss-light,oklch(96.8% .006 274))var(--lightningcss-dark,oklch(15.5% .008 274));--text:var(--lightningcss-light,oklch(21% .012 274))var(--lightningcss-dark,oklch(94% .006 274));--text-muted:var(--lightningcss-light,oklch(45% .015 274))var(--lightningcss-dark,oklch(76% .012 274));--border:var(--lightningcss-light,oklch(90% .008 274))var(--lightningcss-dark,oklch(31% .012 274));--font-body:system-ui, -apple-system, "Segoe UI", roboto, "Helvetica Neue", sans-serif;--font-display:"Sora Variable", var(--font-body);--font-mono:ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", menlo, consolas, monospace;--step--1:clamp(.875rem, .85rem + .1vw, .9375rem);--step-0:clamp(1rem, .96rem + .2vw, 1.125rem);--step-1:clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--step-2:clamp(1.5rem, 1.2rem + 1.3vw, 2.25rem);--step-3:clamp(2rem, 1.4rem + 2.6vw, 3.5rem);--gutter:clamp(1rem, .5rem + 2.5vw, 2rem);--space:clamp(1rem, .6rem + 1.5vw, 1.5rem);--section:clamp(3.5rem, 2rem + 6vw, 7rem);--page:72rem;--radius:.75rem;--shadow:0 1px 2px oklch(20% .02 274/.08), 0 10px 30px oklch(20% .02 274/.1);--header-block-size:4rem}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}}@layer base{html{scrollbar-gutter:stable;scroll-padding-block-start:calc(var(--header-block-size) + 1rem)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--surface);min-block-size:100dvh;color:var(--text);font-family:var(--font-body);font-size:var(--step-0);-webkit-font-smoothing:antialiased;flex-direction:column;line-height:1.6;display:flex}main{flex:1}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;font-weight:600;line-height:1.15}h1{font-size:var(--step-3)}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}@supports (text-wrap:pretty){p,li,dd,figcaption{text-wrap:pretty}}a{color:var(--brand);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}code,kbd,pre{font-family:var(--font-mono);font-size:.9em}:not(pre)>code{background:var(--surface-sunken);overflow-wrap:anywhere;border-radius:.3em;padding-block:.1em;padding-inline:.3em}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:2px}@supports selector(::selection){::selection{background:color-mix(in oklch, var(--blue) 25%, transparent)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer layout{.site-header,.site-footer,main>section,.docs{inline-size:min(100% - 2 * var(--gutter), var(--page));margin-inline:auto}.site-header{z-index:10;justify-content:space-between;align-items:center;gap:var(--space);min-block-size:var(--header-block-size);display:flex;position:sticky;inset-block-start:0}.site-header:before{content:"";z-index:-1;background:color-mix(in oklch, var(--surface) 85%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-block-end:1px solid var(--border);inline-size:100vw;position:absolute;inset-block:0;inset-inline:50%;translate:-50%}.site-header{flex-wrap:wrap;row-gap:0}.site-header nav ul{flex-wrap:wrap;gap:0 clamp(.75rem,.4rem + 1.5vw,1.75rem);padding:0;list-style:none;display:flex}@media (width<30rem){.site-header nav ul{gap:0 .6rem;font-size:.9375rem}}.site-header nav a{color:var(--text);padding-block:.5rem;font-weight:500;text-decoration:none;display:inline-block}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--brand)}.site-header nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--brand)}.brand{padding-block:.25rem;display:block}.site-header>nav{margin-inline-start:auto}.site-search{flex:0 13rem;padding-block:.5rem}.site-search form{position:relative}.site-search input{border:1px solid var(--border);background:var(--surface-sunken);inline-size:100%;color:var(--text);font-size:var(--step--1);border-radius:999px;padding:.4rem 2rem .4rem .75rem}.site-search input::placeholder{color:var(--text-muted);opacity:1}.site-search input:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.site-search kbd{border:1px solid var(--border);block-size:fit-content;color:var(--text-muted);font-family:var(--font-mono);pointer-events:none;border-radius:.3rem;margin-block:auto;padding:0 .35rem;font-size:.75rem;line-height:1.4;position:absolute;inset-block:0;inset-inline-end:.6rem}.site-search input:focus+kbd,.site-search input:not(:placeholder-shown)+kbd{display:none}@media (pointer:coarse){.site-search kbd{display:none}}.nav-search a{vertical-align:middle;display:inline-flex}@media (width>=48rem){.nav-search{display:none}}@media (width<48rem){.site-search{display:none}}.site-footer{gap:var(--space);padding-block:var(--space) calc(var(--space) * 2);border-block-start:1px solid var(--border);color:var(--text-muted);font-size:var(--step--1);margin-block-start:var(--section);display:grid}.site-footer>nav{gap:calc(var(--space) * 2);flex-wrap:wrap;display:flex}.site-footer h2{color:var(--text);font-size:var(--step-0);margin-block-end:.5rem}.site-footer ul{gap:.25rem;padding:0;list-style:none;display:grid}.site-footer a{color:inherit}}@layer components{.sl-0550ae{--shiki-light:#0550ae}.sl-0a3069{--shiki-light:#0a3069}.sl-116329{--shiki-light:#116329}.sl-1f2328{--shiki-light:#1f2328}.sl-57606a{--shiki-light:#57606a}.sl-6e7781{--shiki-light:#6e7781}.sl-82071e{--shiki-light:#82071e}.sl-8250df{--shiki-light:#8250df}.sl-953800{--shiki-light:#953800}.sl-cf222e{--shiki-light:#cf222e}.sl-eaeef2{--shiki-light:#eaeef2}.sl-f6f8fa{--shiki-light:#f6f8fa}.slb-ffffff{--shiki-light-bg:#fff}.sd-161b22{--shiki-dark:#161b22}.sd-79c0ff{--shiki-dark:#79c0ff}.sd-7ee787{--shiki-dark:#7ee787}.sd-8b949e{--shiki-dark:#8b949e}.sd-a5d6ff{--shiki-dark:#a5d6ff}.sd-d2a8ff{--shiki-dark:#d2a8ff}.sd-e6edf3{--shiki-dark:#e6edf3}.sd-f0f6fc{--shiki-dark:#f0f6fc}.sd-ff7b72{--shiki-dark:#ff7b72}.sd-ffa198{--shiki-dark:#ffa198}.sd-ffa657{--shiki-dark:#ffa657}.sdb-0d1117{--shiki-dark-bg:#0d1117}.skip-link{z-index:100;border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow);padding:.5rem 1rem;position:absolute;inset-block-start:.5rem;inset-inline-start:.5rem;translate:0 -200%}.skip-link:focus{translate:0}.button{border:1px solid var(--border);background:var(--surface-raised);min-block-size:2.75rem;color:var(--text);border-radius:999px;justify-content:center;align-items:center;padding-inline:1.25rem;font-weight:600;text-decoration:none;transition:border-color .15s ease-out,background-color .15s ease-out;display:inline-flex}.button:hover{border-color:var(--brand)}.button.primary{border-color:var(--brand);background:var(--brand);color:var(--lightningcss-light,oklch(100% 0 0))var(--lightningcss-dark,oklch(18.7% .008 274.5))}.button.primary:hover{background:oklch(from var(--brand) calc(l - .06) c h)}.code{border:1px solid var(--border);border-radius:var(--radius);background:var(--lightningcss-light,var(--shiki-light-bg,#fff))var(--lightningcss-dark,var(--shiki-dark-bg,#24292e));min-inline-size:0;position:relative;overflow:clip}.code pre{background:var(--lightningcss-light,var(--shiki-light-bg,#fff))var(--lightningcss-dark,var(--shiki-dark-bg,#24292e));color:var(--lightningcss-light,var(--shiki-light,#24292e))var(--lightningcss-dark,var(--shiki-dark,#e1e4e8));tab-size:2;padding:1rem 1.25rem;font-size:.875rem;line-height:1.65;overflow-x:auto}.code pre span{color:var(--lightningcss-light,var(--shiki-light))var(--lightningcss-dark,var(--shiki-dark))}.prose>*+*{margin-block-start:1.1em}.prose h2{margin-block-start:2.2em}.prose h3{margin-block-start:1.8em}.prose :is(h2,h3) .anchor{color:inherit;text-decoration:none}.prose :is(h2,h3) .anchor:hover:after{content:" #";color:var(--text-muted)}.prose :is(ul,ol){padding-inline-start:1.25em}.prose li+li{margin-block-start:.35em}.prose blockquote{border-inline-start:3px solid var(--brand);color:var(--text-muted);padding-inline-start:1rem}.prose table{border-collapse:collapse;inline-size:100%;font-size:var(--step--1)}.prose :is(th,td){border-block-end:1px solid var(--border);text-align:start;vertical-align:top;padding:.5rem .75rem}}@layer pages{.hero{justify-items:start;gap:var(--space);padding-block:var(--section) calc(var(--section) * .6);display:grid}.hero h1{letter-spacing:-.035em;max-inline-size:18ch;font-size:clamp(2.25rem,1.2rem + 4.5vw,4.5rem)}.hero .lead{max-inline-size:60ch;color:var(--text-muted);font-size:var(--step-1);line-height:1.5}.hero .install{inline-size:min(100%,26rem)}.eyebrow{color:var(--text-muted);font-size:var(--step--1);align-items:center;gap:.5rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:var(--spectrum);border-radius:999px;block-size:.25rem;inline-size:2.5rem}.actions{flex-wrap:wrap;gap:.75rem;display:flex}main>section:not(.hero){padding-block:calc(var(--section) * .5)}hgroup{gap:.75rem;margin-block-end:calc(var(--space) * 1.5);display:grid}hgroup p{max-inline-size:62ch;color:var(--text-muted);font-size:var(--step-1);line-height:1.5}.loop-grid{gap:var(--space);grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr));align-items:start;display:grid}.loop-code,.demo{gap:.75rem;min-inline-size:0;display:grid}:is(.loop-code,.demo) figcaption{color:var(--text-muted);font-size:var(--step--1)}.demo-frame{padding:calc(var(--space) * 1.5);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow);background-image:var(--spectrum);background-repeat:no-repeat;background-size:100% 4px}.feature-grid{gap:var(--space);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));margin-block-start:calc(var(--space) * 1.5);padding:0;list-style:none;display:grid}.feature-grid li{padding:var(--space);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);align-content:start;gap:.5rem;display:grid}.feature-grid li+li{margin:0}.feature-grid h3{font-size:var(--step-0);letter-spacing:-.01em}.feature-grid p{color:var(--text-muted)}.split{gap:var(--space) calc(var(--space) * 2);grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));align-items:center;display:grid}.split h2{margin-block-end:.75rem}.split p{color:var(--text-muted)}.shots{gap:var(--space);grid-template-columns:repeat(auto-fit,minmax(min(100%,30rem),1fr));padding:0;list-style:none;display:grid}.shots figure{gap:.6rem;display:grid}.shots img{border:1px solid var(--border);border-radius:var(--radius);inline-size:100%;box-shadow:var(--shadow)}.shots figcaption{color:var(--text-muted);font-size:var(--step--1)}.shots figcaption strong{color:var(--text)}.lineage p{max-inline-size:62ch;color:var(--text-muted);font-size:var(--step-1);margin-block-start:1rem;line-height:1.5}.cta{padding:calc(var(--space) * 2.5) var(--space);border-radius:calc(var(--radius) * 1.5);background:var(--surface-sunken);text-align:center;justify-items:center;gap:1rem;margin-block-start:calc(var(--section) * .5);display:grid}.cta p{color:var(--text-muted)}.docs{gap:calc(var(--space) * 1.5);grid-template-columns:minmax(0,1fr);padding-block-start:calc(var(--space) * 1.5);display:grid}@media (width>=52rem){.docs{grid-template-columns:13rem minmax(0,1fr)}}@media (width>=76rem){.docs{grid-template-columns:13rem minmax(0,1fr) 12rem}}.docs-nav,.outline{font-size:var(--step--1)}:is(.docs-nav,.outline) h2{color:var(--text-muted);font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;margin-block:0 .5rem;font-size:.75rem}:is(.docs-nav,.outline) ul,:is(.docs-nav,.outline) ol{gap:.15rem;padding:0;list-style:none;display:grid}:is(.docs-nav,.outline) a{color:var(--text);padding-block:.3rem;text-decoration:none;display:block}:is(.docs-nav,.outline) a:hover,:is(.docs-nav,.outline) a[aria-current=page]{color:var(--brand)}:is(.docs-nav,.outline) a[aria-current=page]{font-weight:600}.docs-menu{border-block-end:1px solid var(--border)}.docs-menu>summary{color:var(--text);cursor:pointer;padding-block:.6rem;font-weight:600}.docs-menu[open]>summary{margin-block-end:.5rem}@media (width>=52rem){.docs-menu{border-block-end:0;align-self:start;position:sticky;inset-block-start:calc(var(--header-block-size) + 1.5rem)}.docs-menu>summary{display:none}.docs-menu::details-content{content-visibility:visible;block-size:auto}}.docs-nav{align-content:start;gap:var(--space);padding-block-end:var(--space);display:grid}@media (width>=52rem){.docs-nav{max-block-size:calc(100dvh - var(--header-block-size) - 3rem);padding-block-end:0;overflow-y:auto}}.outline{display:none}@media (width>=76rem){.outline{align-self:start;display:block;position:sticky;inset-block-start:calc(var(--header-block-size) + 1.5rem)}}.outline li[data-depth="3"]{padding-inline-start:.75rem}.doc{min-inline-size:0;max-inline-size:46rem;padding-block-end:var(--space)}.doc>h1{margin-block-end:.25em}.doc-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:.75rem;padding:0;list-style:none;display:grid}.doc-cards li{border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:1rem}.doc-cards p{color:var(--text-muted);font-size:var(--step--1);margin-block-start:.25rem}.doc-footer{gap:var(--space);border-block-start:1px solid var(--border);color:var(--text-muted);font-size:var(--step--1);margin-block-start:calc(var(--space) * 2.5);padding-block-start:var(--space);display:grid}.pager{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.75rem;display:grid}.pager a{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;font-weight:600;text-decoration:none;display:grid}.pager a:hover{border-color:var(--brand)}.pager a[rel=next]{text-align:end;grid-column:-2}.pager span{color:var(--text-muted);font-size:.8em;font-weight:400}.page-intro{padding-block:calc(var(--section) * .5) var(--space);gap:1rem;display:grid}.page-intro h1{font-size:var(--step-3)}.page-intro>p{max-inline-size:46rem;color:var(--text-muted);font-size:var(--step-1)}.search-page>gd-site-search{max-inline-size:52rem}.chips{flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.chips a{border:1px solid var(--border);color:var(--text);font-size:var(--step--1);border-radius:999px;padding:.35rem .85rem;text-decoration:none;display:inline-block}.chips a:hover{border-color:var(--brand);color:var(--brand)}.example-group,.brand-section{padding-block:var(--space) calc(var(--space) * 1.5)}:is(.example-group,.brand-section)>h2{margin-block-end:var(--space)}.example-list{gap:var(--space);grid-template-columns:repeat(auto-fill,minmax(min(100%,30rem),1fr));padding:0;list-style:none;display:grid}.example{block-size:100%;padding:var(--space);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);align-content:start;gap:.75rem;scroll-margin-block-start:calc(var(--header-block-size) + 1rem);display:grid}.example h3{font-size:var(--step-1)}.example>p:first-of-type{color:var(--text-muted)}.example details{min-inline-size:0}.example summary{cursor:pointer;font-size:var(--step--1)}.example details[open] summary{margin-block-end:.75rem}.example .code pre{max-block-size:28rem}.example-facts{font-size:var(--step--1);gap:.25rem;display:grid}.example-facts div{flex-wrap:wrap;gap:.5rem;display:flex}.example-facts dt{min-inline-size:3.5rem;color:var(--text-muted)}.demo-item{gap:var(--space) calc(var(--space) * 2);padding-block:calc(var(--space) * 1.5);border-block-start:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));align-items:start;scroll-margin-block-start:calc(var(--header-block-size) + 1rem);display:grid}@media (width>=60rem){.demo-item{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}}.demo-text{gap:.85rem;display:grid}.demo-text h2{font-size:var(--step-2)}.demo-pitch{font-size:var(--step-1);line-height:1.45}.demo-usual{color:var(--text-muted)}.demo-usual strong{color:var(--text)}.demo-links{font-size:var(--step--1);flex-wrap:wrap;gap:.5rem 1.25rem;padding:0;list-style:none;display:flex}.demo-clips{gap:var(--space);display:grid}.demo-clip{gap:.6rem;min-inline-size:0;display:grid}.demo-clip video{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-sunken);block-size:auto;max-block-size:80svh;inline-size:auto;max-inline-size:100%;box-shadow:var(--shadow)}.demo-clip figcaption{color:var(--text-muted);font-size:var(--step--1)}.demo-clip figcaption strong{color:var(--text)}.demo-teaser{padding-block:var(--section) 0}.demo-teaser hgroup{margin-block-end:var(--space)}.demo-cards{gap:var(--space);grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr));padding:0;list-style:none;display:grid}.demo-cards a{color:var(--text);gap:.5rem;font-weight:600;text-decoration:none;display:grid}.demo-cards a:hover{color:var(--brand)}.demo-cards img{aspect-ratio:4/3;object-fit:cover;object-position:top;border:1px solid var(--border);border-radius:var(--radius);block-size:auto;inline-size:100%}.post-list{padding-block-end:var(--section)}.post-list ol{gap:calc(var(--space) * 1.5);max-inline-size:46rem;padding:0;list-style:none;display:grid}.post-list h2{font-size:var(--step-2)}.post-list h2 a{color:var(--text);text-decoration:none}.post-list h2 a:hover{color:var(--brand)}.post-list p:last-child{margin-block-start:.5rem}.byline{color:var(--text-muted);font-size:var(--step--1)}.post{max-inline-size:46rem;padding-block:calc(var(--section) * .5) var(--section);inline-size:min(100% - 2 * var(--gutter), 46rem);margin-inline:auto}.post header{gap:.5rem;margin-block-end:calc(var(--space) * 1.5);display:grid}.post h1{font-size:var(--step-3)}.post footer{border-block-start:1px solid var(--border);margin-block-start:calc(var(--space) * 2);padding-block-start:var(--space)}.brand-section .split{align-items:start}.brand-section .split>*{margin-block-start:0}.brand-mark img{block-size:auto;inline-size:min(10rem,40vw);margin-inline:auto}.downloads{gap:var(--space);grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));margin-block-start:var(--space);padding:0;list-style:none;display:grid}.downloads figure{gap:.75rem;min-inline-size:0;display:grid}.downloads figcaption{flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;display:flex}.downloads figcaption strong{flex-basis:100%}.download-preview{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius);min-block-size:0;padding:1rem;display:block;overflow:clip}.download-preview[data-background=light]{background:oklch(100% 0 0)}.download-preview[data-background=dark]{background:oklch(18.7% .008 274.5)}.download-preview img{object-fit:contain;block-size:100%;inline-size:100%}.swatches{gap:var(--space);margin-block:.75rem var(--space);grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr));padding:0;list-style:none;display:grid}.swatches li{font-size:var(--step--1);gap:.15rem;display:grid}.swatches code{color:var(--text-muted)}.swatch{border:1px solid var(--border);border-radius:var(--radius);block-size:4rem;inline-size:100%;margin-block-end:.5rem;display:block}.not-found{padding-block:var(--section)}}@layer utilities{.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}}
