@font-face{font-family:Commit Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/commit-mono-latin-400-normal.wzhe4RuD.woff2)format("woff2"),url(/_astro/commit-mono-latin-400-normal.s0S3qwFW.woff)format("woff")}@font-face{font-family:Commit Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/commit-mono-latin-500-normal.5uPfnx7h.woff2)format("woff2"),url(/_astro/commit-mono-latin-500-normal.DSlnSK8M.woff)format("woff")}@font-face{font-family:Commit Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/commit-mono-latin-600-normal.SwgSWHaV.woff2)format("woff2"),url(/_astro/commit-mono-latin-600-normal.BuQDXT0M.woff)format("woff")}@font-face{font-family:Timeless Sans;src:url(/_astro/TimelessSansVF.B9pFgEUz.woff2)format("woff2");font-weight:300 800;font-style:normal;font-display:swap}:root{color-scheme:dark;--bg:#0b0b0b;--ink:#ededed;--ink-soft:#a8a8a8;--ink-faint:#8a8a8a;--window:#151515;--edge:#2b2b2b;--blue:#74ade8;--green:#a1c181;--red:#d07277;--yellow:#dec184;--sans:"Timeless Sans", ui-sans-serif, system-ui, sans-serif;--mono:"Commit Mono", ui-monospace, Menlo, monospace;--quick:.12s ease-out;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.0625rem;--text-xl:2rem;--text-display:clamp(2rem, 1.25rem + 2.5vw, 3rem);--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}::selection{background:#74ade84d}body{background:var(--bg);color:var(--ink-soft);font-family:var(--sans);font-size:var(--text-base);font-weight:var(--weight-regular);text-wrap:pretty;-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}a{color:inherit;text-decoration-color:var(--ink-faint);text-underline-offset:.2em;transition:color var(--quick), text-decoration-color var(--quick);text-decoration-thickness:1px}a:hover{color:var(--ink);text-decoration-color:var(--ink)}:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}em,i{font-variation-settings:"ital" 100;font-style:normal}th,strong,b{font-weight:var(--weight-bold)}h1,h2,h3,code,pre,kbd,.top,.foot,.meta,.docs-nav,.toc{font-family:var(--mono)}code,kbd{font-size:.875em}pre,pre code{font-size:inherit}p code{color:var(--ink)}.page{--gutter:clamp(20px, 5vw, 72px);max-width:calc(1280px + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.top{justify-content:space-between;align-items:center;padding-block:24px;display:flex}.name{color:var(--ink);font-weight:var(--weight-semibold);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.top nav{gap:24px;display:flex}.top nav a{text-decoration:none}main{padding-block-start:clamp(32px,8vh,72px)}h1{color:var(--ink);font-size:var(--text-xl);font-weight:var(--weight-regular);letter-spacing:-.03em;text-wrap:balance;margin:0;line-height:1.2}.hero{gap:48px;padding-block-end:clamp(32px,8vh,72px);display:grid}@media (width>=1100px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,600px);align-items:center;gap:64px}}.hero h1{font-size:var(--text-display);font-weight:var(--weight-medium);letter-spacing:-.045em;line-height:1.1}.lede{max-width:36em;font-size:var(--text-lg);margin:20px 0 0}.lede code{color:var(--ink)}.band{border-block-start:1px solid var(--edge);gap:20px 56px;padding-block:56px;display:grid}@media (width>=800px){.band{grid-template-columns:200px minmax(0,760px)}}.band-label{white-space:pre-line;color:var(--ink);font-size:var(--text-base);font-weight:var(--weight-regular);margin:0}.band-body{container-type:inline-size}.features{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:32px 40px;display:grid}.feature h3{color:var(--ink);font-size:var(--text-base);font-weight:var(--weight-medium);margin:0 0 6px}.feature p{margin:0}.feature code{white-space:nowrap}.stats{flex-wrap:wrap;gap:32px 64px;margin:0;display:flex}.stats div{flex-direction:column-reverse;gap:4px;display:flex}.stats dt{color:var(--ink-faint);font-size:var(--text-sm)}.stats dd{color:var(--ink);font-family:var(--mono);font-size:var(--text-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:0;line-height:1}.unit{color:var(--ink-faint);font-size:var(--text-base);letter-spacing:0;margin-inline-start:.4em}.steps{counter-reset:step;margin:0;padding:0;list-style:none}.steps li{counter-increment:step;grid-template-columns:4ch minmax(0,1fr);gap:12px 16px;padding-block:20px;display:grid}.steps li+li{border-block-start:1px solid var(--edge)}.steps li:first-child{padding-block-start:0}.steps li:before{content:counter(step, decimal-leading-zero);color:var(--ink-faint);font-family:var(--mono);font-size:var(--text-sm)}.steps h3{color:var(--ink);font-size:var(--text-base);font-weight:var(--weight-medium);margin:0 0 4px}.steps p{margin:0}.step-command{border:1px solid var(--edge);background:var(--window);max-width:100%;color:var(--ink);font-size:var(--text-sm);overflow-wrap:anywhere;grid-column:2;justify-self:start;padding:6px 12px}@container (width>=680px){.steps li{grid-template-columns:4ch minmax(0,1fr) auto;align-items:start}.step-command{white-space:nowrap;grid-column:3;justify-self:end}}.install{border:1px solid var(--edge);background:var(--window);width:100%;color:var(--ink);font:inherit;font-family:var(--mono);transition:border-color var(--quick);text-align:start;cursor:pointer;justify-content:space-between;align-items:baseline;gap:3ch;margin-block-start:32px;padding:12px 16px;display:flex}.install code{min-width:0;font-size:var(--text-sm);user-select:text;overflow-wrap:anywhere}.prompt{color:var(--ink-faint)}.copy{color:var(--ink-soft);font-size:var(--text-xs);transition:color var(--quick);flex:none;gap:1ch;display:inline-flex}.install:hover{border-color:var(--ink-faint)}.install:hover .copy{color:var(--ink)}.install[data-copied] .copy{color:var(--green)}.copy kbd{color:var(--ink-faint);font-size:inherit}@media (hover:none){.copy kbd{display:none}}.meta{color:var(--ink-faint);font-size:var(--text-xs);margin:12px 0 0}.prose{max-width:640px;line-height:1.65;display:block}.prose>*{margin-block:0}.prose>*+*{margin-block-start:12px}.prose>:not(h2,h3)+:is(.code,table,.callout,.experiment),.prose>:is(.code,table,.callout,.experiment)+:not(h2,h3){margin-block-start:24px}.prose>*+h2{margin-block-start:40px}.prose>*+h3{margin-block-start:32px}.prose>:is(h2,h3)+*{margin-block-start:12px}.prose>.docs-title+*{margin-block-start:20px}.prose h2{font-size:var(--text-lg);font-weight:var(--weight-regular);line-height:1.4}.prose h2~h2{border-block-start:1px solid var(--edge);padding-block-start:32px}.prose h3{color:var(--ink);font-size:var(--text-base);font-weight:var(--weight-medium);line-height:1.4}.prose strong{color:var(--ink);font-weight:var(--weight-semibold)}.prose pre{border:1px solid var(--edge);font-size:var(--text-sm);padding:14px 16px;line-height:1.65;overflow-x:auto;background:var(--window)!important}.prose code{color:var(--ink)}:is(.prose p,.prose li,.prose td:not(:first-child),.feature p,.lede)>code{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#ffffff12;border-radius:4px;padding:.15em .35em}.prose :is(ul,ol){padding-inline-start:1.25em}.prose li{padding-inline-start:.25em}.prose li+li{margin-block-start:4px}.prose li::marker{color:var(--ink-faint)}.prose li>:is(ul,ol){margin-block-start:4px}.prose table{border-collapse:collapse;line-height:1.6;display:block;overflow-x:auto}.prose th,.prose td{border-block-end:1px solid var(--edge);text-align:start;vertical-align:top;padding:10px 24px 10px 0}.prose :is(th,td):last-child{padding-inline-end:0}.prose th{color:var(--ink-faint);font-size:var(--text-xs);font-weight:var(--weight-regular);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;padding-block-start:0}.prose th code{color:inherit;font-family:var(--sans);font-size:inherit}.prose td:first-child code{white-space:nowrap}.prose td:not(:first-child) code{overflow-wrap:anywhere}.prose td:first-child,.prose th:first-child{min-width:calc(16ch + 24px)}@media (width<=640px){.prose :is(th,td):not(:first-child){min-width:10rem}}h2{color:var(--ink);font-size:inherit;font-weight:var(--weight-semibold);margin:0 0 4px}.note{color:var(--ink-faint);font-size:var(--text-sm);margin:24px 0 0}.window{border:1px solid var(--edge);background:var(--window);border-radius:8px;align-self:start;max-width:640px;margin:0;overflow:hidden}.bar{border-block-end:1px solid var(--edge);color:var(--ink-faint);font-size:var(--text-xs);text-align:center;padding-block:8px;position:relative}.lights{gap:7px;display:flex;position:absolute;inset-block-start:50%;inset-inline-start:14px;transform:translateY(-50%)}.lights i{background:var(--edge);border-radius:50%;width:10px;height:10px}.terminal{color:var(--ink);font-size:var(--text-xs);scrollbar-width:thin;scrollbar-color:var(--edge) transparent;margin:0;padding:16px 20px;line-height:1.7;overflow-x:auto}.terminal .dim{color:var(--ink-faint)}.terminal .soft{color:var(--ink-soft)}.terminal .mark{color:var(--blue)}.terminal .add{color:var(--green)}.terminal .remove{color:var(--red)}.foot{color:var(--ink-faint);font-size:var(--text-xs);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-block-start:72px;padding-block-end:40px;display:flex}.foot p{margin:0}.page:has(.notfound){flex-direction:column;min-height:100dvh;display:flex}.notfound{text-align:center;flex:1;grid-template-columns:minmax(0,1fr);align-content:center;justify-items:center;gap:32px;display:grid}.logo-ascii{letter-spacing:0;user-select:none;background:linear-gradient(160deg,#d3e2ff,#82aaff 45%,#5787ea);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(6px,1.9vw,10px);line-height:.6}.notfound h1{color:var(--ink);font-size:var(--text-xl);font-weight:var(--weight-semibold);margin:0}.notfound-text p{margin:8px 0 0}.notfound-links{justify-content:center;gap:24px;padding-block-start:16px;display:flex}@media (prefers-reduced-motion:reduce){a,.install,.copy{transition:none}}.docs{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"side aside""page page";gap:24px 8px;display:grid}.docs-side{grid-area:side;align-content:start;gap:16px;display:grid}.docs>.prose{grid-area:page}.docs-aside{grid-area:aside;align-content:start;gap:24px;display:grid}.docs-nav div+div{margin-block-start:24px}.docs-nav p,.toc p{color:var(--ink-faint);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px}.docs-nav a{font-size:var(--text-sm);text-decoration:none;display:block}.docs-nav a[aria-current=page]{color:var(--ink);font-weight:var(--weight-semibold)}.docs-search-open,.docs-menu{border:1px solid var(--edge);background:var(--window);width:100%;color:var(--ink-faint);font:inherit;font-size:var(--text-sm);text-align:start;cursor:pointer;transition:color var(--quick), border-color var(--quick);align-items:center;gap:8px;padding:6px 10px;display:flex}.docs-search-open:hover,.docs-menu:hover{color:var(--ink);border-color:var(--ink-faint)}.docs-search-open span{flex:1}.docs-search-open kbd{font-size:var(--text-xs)}@media (hover:none){.docs-search-open kbd{display:none}}.docs-menu{color:var(--ink)}.docs-menu[hidden]{display:none}@media (width<=799px){.docs-side:has(.docs-menu:not([hidden])){gap:8px}.docs-menu[aria-expanded=false]+.docs-nav{display:none}.docs-menu:not([hidden])+.docs-nav{padding:4px 10px 8px}}@media (width>=800px){.docs{grid-template:"aside page""side page"1fr/200px minmax(0,640px);gap:24px 56px}.docs-side{scrollbar-width:none;align-self:start;max-height:calc(100vh - 64px);position:sticky;top:32px;overflow-y:auto}.docs-menu{display:none!important}}.docs-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.docs-title button{color:var(--ink-faint);font:inherit;font-family:var(--mono);font-size:var(--text-xs);cursor:pointer;transition:color var(--quick);background:0 0;border:0;flex:none;justify-content:space-between;gap:1ch;padding:0;display:inline-flex}.docs-title button:before{content:"["}.docs-title button:after{content:"]"}.docs-title button:hover{color:var(--ink)}.docs-title button[data-copied]{color:var(--green)}.code-copy{color:var(--ink-faint);font:inherit;font-family:var(--mono);font-size:var(--text-xs);cursor:pointer;transition:color var(--quick);background:0 0;border:0;padding:0}.code-copy:hover{color:var(--ink)}.code-copy[data-copied]{color:var(--green)}.prose h2[id],.prose h3[id]{scroll-margin-top:24px;position:relative}.anchor{color:var(--ink-faint);font-weight:var(--weight-regular);opacity:0;transition:opacity var(--quick), color var(--quick);margin-inline-start:1ch;text-decoration:none}.prose h2:hover .anchor,.prose h3:hover .anchor,.anchor:focus-visible{opacity:1}@media (hover:none){.anchor{opacity:1}}.code{position:relative}.code pre{margin:0!important}.code-copy{padding:2px 6px;position:absolute;inset-block-start:3px;inset-inline-end:10px}.code:before{content:attr(data-label);border:1px solid var(--edge);background:var(--window);min-height:calc(1.2rem + 8px);color:var(--ink-faint);font-family:var(--mono);font-size:var(--text-xs);border-block-end:0;padding:4px 16px;display:block}.callout{--callout:var(--blue);border-inline-start:2px solid var(--callout);background:var(--window);padding:12px 16px}.callout:before{content:attr(data-kind);color:var(--callout);font-size:var(--text-xs);display:block}.callout>*{margin-block:8px 0}.callout>:first-child{margin-block-start:4px}.callout[data-kind=tip]{--callout:var(--green)}.callout[data-kind=warning]{--callout:var(--yellow)}.callout[data-kind=caution]{--callout:var(--red)}.keys{white-space:nowrap}.prose kbd{border:1px solid var(--edge);background:var(--window);color:var(--ink);border-block-end-width:2px;border-radius:4px;padding:.1em .4em}.experiment{background:#dec1840f;border:1px dashed #dec18480;align-items:baseline;gap:12px;padding:10px 14px;display:flex}.experiment span{color:var(--yellow);font-family:var(--mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;flex:none}.experiment p{color:var(--ink);font-size:var(--text-sm);margin:0}.docs-updated{color:var(--ink-faint);font-size:var(--text-xs);margin-block-start:40px!important}.pager{border-block-start:1px solid var(--edge);grid-template-columns:1fr 1fr;gap:16px;margin-block-start:56px;padding-block-start:24px;display:grid}.pager a{color:var(--ink);text-decoration:none;display:grid}.pager a span{color:var(--ink-faint);font-size:var(--text-xs)}.pager a:hover span{color:var(--ink-soft)}.pager a[rel=next]{text-align:end;grid-column:2}.toc{display:none}@media (width>=1200px){.docs{grid-template:"side page aside"/200px minmax(0,640px) minmax(0,240px);justify-content:space-between}.docs-aside{scrollbar-width:none;align-self:start;max-height:calc(100vh - 64px);position:sticky;top:32px;overflow-y:auto}.toc{font-size:var(--text-sm);display:block}}.toc a{border-inline-start:1px solid var(--edge);padding-block:2px;padding-inline-start:10px;text-decoration:none;display:block}.toc a[data-depth="3"]{padding-inline-start:22px}.toc a[aria-current]{border-color:var(--ink);color:var(--ink)}.search{border:1px solid var(--edge);background:var(--window);width:min(560px,100vw - 32px);max-height:min(520px,100vh - 96px);color:var(--ink-soft);margin-block-start:12vh;padding:0;overflow:hidden}.search[open]{flex-direction:column;display:flex}.search::backdrop{background:#0009}.search form{align-items:center;gap:8px;padding:12px 16px;display:flex}.search input{min-width:0;color:var(--ink);font:inherit;-webkit-appearance:none;background:0 0;border:0;outline:none;flex:1;padding:0}.search input::-webkit-search-cancel-button{display:none}.search-close{color:var(--ink-faint);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;padding:0}.search ul,.search-empty{border-block-start:1px solid var(--edge)}.search ul{margin:0;padding:0;list-style:none;overflow-y:auto}.search ul:empty{display:none}.search ul a{gap:2px;padding:10px 16px;text-decoration:none;display:grid}.search ul a[aria-selected]{background:var(--edge)}.search-title{color:var(--ink)}.search-text{color:var(--ink-faint);font-size:var(--text-xs)}.search mark{color:var(--blue);background:0 0}.search-empty{color:var(--ink-faint);padding:12px 16px 16px}.search-empty p{margin:0}.search-empty .install{background:var(--bg);margin-block-start:10px}.search-empty .search-ask{font-size:var(--text-sm);align-items:center;gap:8px;margin-block-start:12px;display:flex}.search-ask a{border:1px solid var(--edge);color:var(--ink-soft);font-family:var(--mono);font-size:var(--text-xs);transition:color var(--quick), border-color var(--quick);padding:3px 10px;text-decoration:none}.search-ask a:hover{border-color:var(--ink-faint);color:var(--ink)}@media (prefers-reduced-motion:reduce){.anchor,.code-copy,.docs-title button,.docs-search-open,.docs-menu{transition:none}}
