@font-face{font-family:Albert Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1c299d465d3dabbc-s.3ur_zt1bghf9o.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Albert Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b596f47277c1e818-s.p.30a_ou6vtcpon.woff2)format("woff2");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}@font-face{font-family:Albert Sans Fallback;src:local(Arial);ascent-override:91.47%;descent-override:24.07%;line-gap-override:0.0%;size-adjust:103.86%}.nYUCEW_className{font-family:Albert Sans,Albert Sans Fallback;font-style:normal}.nYUCEW_variable{--font-albert-sans:"Albert Sans", "Albert Sans Fallback"}
:root{--bg:#fafafa;--panel:#fff;--shot:#1c1a19;--line:#e5e5e5;--line-strong:#d4d4d4;--fg:#171717;--body:#525252;--muted:#737373;--dim:#a3a3a3;--lav:#6e56cf;--purple:#a855f7;--teal:#14b8a6;--blue:#3b82f6;--orange:#f97316;--green:#16a34a;--code-bg:#171717;--ring:0 0 0 4px #0000000d;--sans:var(--font-albert-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}body{background:var(--bg);color:var(--fg);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}code,.mono{font-family:var(--mono)}:focus-visible{outline:2px solid var(--lav);outline-offset:3px;border-radius:6px}.frame{max-width:1200px;margin:0 auto;position:relative}.row{position:relative}.row:before{content:"";background:var(--line);height:1px;position:absolute;top:0;left:0;right:0}.nav{z-index:20;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(140%)blur(14px);position:sticky;top:0}.nav-inner{align-items:center;gap:40px;height:64px;padding:0 28px;display:flex}.brand{letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:10px;font-weight:600;display:flex}.links{color:var(--muted);gap:30px;font-size:14.5px;display:flex}.links a{transition:color .15s ease-out}.links a:hover,.links a[aria-current=page]{color:var(--fg)}.nav-actions{margin-left:auto}.btn{height:46px;font:500 15px var(--sans);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:10px;padding:0 20px;transition:transform .15s ease-out,background .15s ease-out,border-color .15s ease-out;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{color:#fafafa;background:#171717;box-shadow:inset 0 1px #ffffff1f,0 1px 2px #0000001f,0 10px 24px -12px #00000073}.btn-primary:hover{background:#2b2b2b}.btn-small{height:34px;padding:0 14px;font-size:14px}.install{border:1px solid var(--line-strong);background:var(--panel);border-radius:8px;align-items:center;gap:8px;height:48px;padding:0 6px 0 14px;transition:border-color .15s ease-out,box-shadow .15s ease-out;display:flex;box-shadow:inset 0 1px 2px #0000000a}.install:focus-within{border-color:var(--dim);box-shadow:var(--ring)}.install .prompt{color:var(--dim);font:400 14px var(--mono);-webkit-user-select:none;user-select:none}.install input{min-width:0;height:100%;color:var(--fg);font:400 14px var(--mono);text-overflow:ellipsis;background:0 0;border:0;outline:0;flex:1;padding:0}.install button{border:1px solid var(--line);background:var(--bg);height:34px;color:var(--body);font:500 13px var(--sans);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:0 11px;transition:color .15s ease-out,border-color .15s ease-out;display:inline-flex}.install button:hover{color:var(--fg);border-color:var(--line-strong)}.install button.done{color:var(--green);border-color:color-mix(in srgb, var(--green) 35%, transparent)}.install button svg{width:14px;height:14px}.tag{border:1px solid color-mix(in srgb, var(--lav) 30%, transparent);background:color-mix(in srgb, var(--lav) 6%, transparent);color:var(--lav);font:500 10.5px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:1px 7px}.footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:14px;padding:26px 28px 30px;font-size:14px;display:flex}.footer nav{flex-wrap:wrap;gap:8px 24px;display:flex}.footer a{transition:color .15s ease-out}.footer a:hover{color:var(--fg)}.doc-kicker{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--lav);margin:0 0 10px}.doc-title{letter-spacing:-.035em;text-wrap:balance;margin:0 0 12px;font-size:clamp(28px,4vw,38px);font-weight:600;line-height:1.15}.doc-lede{color:var(--body);text-wrap:pretty;margin:0 0 32px;font-size:18px;line-height:1.55}.prose{color:var(--body);font-size:16px;line-height:1.7}.prose>:first-child{margin-top:0}.prose h2,.prose h3,.prose h4{color:var(--fg);letter-spacing:-.02em;scroll-margin-top:84px;position:relative}.prose h2{border-top:1px solid var(--line);margin:48px 0 14px;padding-top:28px;font-size:23px;font-weight:600;line-height:1.3}.prose h3{margin:32px 0 10px;font-size:18px;font-weight:600;line-height:1.4}.prose h4{margin:24px 0 8px;font-size:16px;font-weight:600}.prose .anchor{color:var(--dim);opacity:0;padding-right:6px;font-weight:400;transition:opacity .15s ease-out;position:absolute;left:-22px}.prose h2 .anchor{top:28px}.prose h2:hover .anchor,.prose h3:hover .anchor,.prose h4:hover .anchor{opacity:1}.prose p,.prose ul,.prose ol{margin:0 0 16px}.prose ul,.prose ol{padding-left:22px}.prose li{margin:4px 0;padding-left:2px}.prose li>ul,.prose li>ol{margin:4px 0}.prose strong{color:var(--fg);font-weight:600}.prose a{color:var(--fg);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;transition:text-decoration-color .15s ease-out}.prose a:hover{-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.prose hr{border:0;border-top:1px solid var(--line);margin:36px 0}.prose :not(pre)>code{border:1px solid var(--line);color:var(--fg);overflow-wrap:anywhere;background:#f2f2f2;border-radius:5px;padding:1px 6px;font-size:.86em}.prose .codeblock{margin:0 0 20px;position:relative}.prose pre{background:var(--code-bg);color:#e5e5e5;border-radius:8px;margin:0;padding:16px 18px;font-size:13.5px;line-height:1.65;overflow-x:auto}.prose pre code{font-family:var(--mono)}.prose .codeblock .copy{color:#b5b5b5;height:28px;font:500 12px var(--sans);cursor:pointer;opacity:0;background:#232323;border:1px solid #3a3a3a;border-radius:6px;padding:0 10px;transition:opacity .15s ease-out,color .15s ease-out;position:absolute;top:9px;right:9px}.prose .codeblock:hover .copy,.prose .codeblock .copy:focus-visible{opacity:1}.prose .codeblock .copy:hover{color:#fafafa}.prose .codeblock .copy.done{opacity:1;color:#86efac}.prose .table{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin:0 0 20px;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:14.5px;line-height:1.55}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 14px}.prose th{color:var(--muted);background:#f7f7f7;font-size:13.5px;font-weight:500}.prose tr:last-child td{border-bottom:0}.prose td code{white-space:nowrap}.prose blockquote{border:1px solid color-mix(in srgb, var(--lav) 25%, transparent);border-left:3px solid var(--lav);background:color-mix(in srgb, var(--lav) 4%, transparent);color:var(--body);border-radius:6px;margin:0 0 20px;padding:12px 16px}.prose blockquote p{margin:0}.prose blockquote p+p{margin-top:8px}.legal,.missing{padding:56px 28px 80px}.legal article,.missing{max-width:760px;margin:0 auto}.legal-updated{color:var(--muted);margin:0 0 32px;font-size:14px}.missing p{color:var(--body)}.missing a{color:var(--fg);text-underline-offset:3px;text-decoration:underline}@media (max-width:960px){.links{display:none}}@media (max-width:640px){.nav-inner,.footer,.legal,.missing{padding-left:16px;padding-right:16px}.nav-inner{gap:12px}.nav-actions .btn-small{padding:0 11px;font-size:13px}.install .prompt,.install button .label{display:none}.install input{font-size:12.5px}.install button{padding:0 9px}.legal,.missing{padding-top:36px}.prose .anchor{display:none}.prose .codeblock .copy{opacity:1}}@media (max-width:340px){.nav-actions{display:none}}
