.article{color:var(--color-text);text-wrap:pretty;overflow-wrap:anywhere;font-size:15.5px;line-height:1.7}.article>:first-child{margin-top:0}.article :where(h1,h2,h3,h4){letter-spacing:-.012em;text-wrap:balance;margin:1.6em 0 .55em;font-weight:650;line-height:1.3}.article h1{font-size:1.3em}.article h2{font-size:1.16em}.article h3{font-size:1.04em}.article h4{color:var(--color-soft);font-size:1em}.article :where(p,ul,ol,pre,blockquote,figure){margin:0 0 1em}.article :where(ul,ol){padding-left:1.35em}.article ul{list-style:outside}.article ol{list-style:decimal}.article li{margin:.35em 0;padding-left:.2em}.article li::marker{color:var(--color-mute)}.article ol>li::marker{font-variant-numeric:tabular-nums;font-weight:600}.article strong{font-weight:650}.article a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--color-text) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--color-text) 35%, transparent);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .15s}.article a:hover{text-decoration-color:currentColor}.article code{background:var(--color-wash);border-radius:6px;padding:.12em .4em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em}.article pre{background:var(--color-wash);border-radius:12px;padding:12px 14px;font-size:13.5px;line-height:1.55;overflow-x:auto}.article pre code{font-size:inherit;background:0 0;padding:0}.article img{max-width:100%;height:auto;box-shadow:0 0 0 1px var(--color-line);border-radius:12px;display:block}.article blockquote{background:var(--color-wash);color:var(--color-soft);border-radius:12px;padding:12px 16px}.article blockquote>:last-child{margin-bottom:0}.article hr{background:var(--color-line);border:0;height:1px;margin:1.6em 0}.article h2,.article h3,.article h4{scroll-margin-top:16px}.article figure{margin:1.4em 0}.article figure>img,.article figure>.clip>img{width:100%}.article figure>video,.article figure>.clip>video{max-height:min(520px,70vh);margin:0 auto}.article figcaption{color:var(--color-mute);text-align:center;margin-top:8px;font-size:13px;line-height:1.45}.article img{cursor:zoom-in}.article a img{cursor:pointer}.article video{max-width:100%;box-shadow:0 0 0 1px var(--color-line);cursor:pointer;background:#000;border-radius:12px;display:block}.article .clip{vertical-align:top;max-width:100%;display:inline-block;position:relative}.article figure>.clip{display:block}.article .clip>img{cursor:pointer}.article .clip>canvas{pointer-events:none;border-radius:12px;width:100%;height:100%;position:absolute;inset:0}.article .clip-toggle{color:#121216;cursor:pointer;opacity:0;background:#ffffff9e;border:0;border-radius:9999px;place-items:center;width:34px;height:34px;margin:-17px 0 0 -17px;padding:0;transition:opacity .16s cubic-bezier(.25,1,.5,1);display:grid;position:absolute;top:50%;left:50%;box-shadow:0 0 0 1px #0000000f,0 2px 6px #00000029}.article .clip[data-state=paused] .clip-toggle,.article .clip-toggle:focus-visible{opacity:1}@media (hover:hover){.article .clip:hover .clip-toggle{opacity:1}}.article .clip-toggle:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}@media (prefers-reduced-motion:reduce){.article .clip-toggle{transition:none}}.article video[width][height]{width:auto;height:auto}.article img[data-loading],.article video[data-loading]{background-color:var(--color-wash);background-image:linear-gradient(90deg, transparent 25%, var(--color-shimmer,transparent) 50%, transparent 75%);background-size:200% 100%;animation:1.6s linear infinite article-shimmer}.article img[data-loading]:not([height]),.article video[data-loading]:not([height]){aspect-ratio:16/9;width:100%}@keyframes article-shimmer{0%{background-position:200% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.article img[data-loading],.article video[data-loading]{animation:none}}.article .embed{aspect-ratio:16/9;box-shadow:0 0 0 1px var(--color-line);background:#000;border-radius:12px;margin:1.4em 0;position:relative;overflow:hidden}.article .embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.article .table-wrap{box-shadow:0 0 0 1px var(--color-line);border-radius:12px;margin:1.2em 0;overflow-x:auto}.article table{border-collapse:collapse;width:100%;min-width:max-content;margin:0;font-size:14px;line-height:1.5}.article :where(th,td){border-bottom:1px solid var(--color-line);text-align:left;vertical-align:top;padding:9px 12px}.article th{background:var(--color-wash);color:var(--color-soft);font-size:13px;font-weight:600}.article tr:last-child td{border-bottom:0}.article :where(th,td)[align=center]{text-align:center}.article :where(th,td)[align=right]{text-align:right}.article mark{background:color-mix(in srgb, var(--color-brand) 42%, transparent);color:inherit;border-radius:4px;padding:.05em .25em}.article kbd{background:var(--color-raised);box-shadow:0 0 0 1px var(--color-line-strong), 0 1.5px 0 1px var(--color-line-strong);white-space:nowrap;border-radius:6px;padding:.18em .45em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8em;font-weight:600}.article :where(sub,sup){font-size:.75em}.article pre{position:relative}.article pre[data-lang]{padding-top:34px}.article pre[data-lang]:before{content:attr(data-lang);font:600 11px/1 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--color-mute);position:absolute;top:10px;left:14px}.article .copy{height:26px;font:600 12px/26px var(--font-sans);color:var(--color-soft);background:var(--color-raised);box-shadow:0 0 0 1px var(--color-line);opacity:0;border-radius:8px;padding:0 9px;transition:opacity .15s,color .15s;position:absolute;top:6px;right:6px}.article pre:hover .copy,.article .copy:focus-visible,.article .copy[data-copied]{opacity:1}@media (hover:none){.article .copy{opacity:1}}.article details{background:var(--color-raised);box-shadow:0 0 0 1px var(--color-line);border-radius:12px;margin:1em 0}.article summary{cursor:pointer;border-radius:12px;padding:12px 42px 12px 14px;font-weight:600;list-style:none;transition:background-color .15s;position:relative}.article summary:hover{background:var(--color-wash)}.article summary::-webkit-details-marker{display:none}.article summary:after{content:"";border-right:2px solid var(--color-mute);border-bottom:2px solid var(--color-mute);width:8px;height:8px;transition:transform .2s var(--ease-out-quart);margin-top:-6px;position:absolute;top:50%;right:16px;transform:rotate(45deg)}.article details[open]>summary:after{margin-top:-2px;transform:rotate(225deg)}.article details>:not(summary){margin-left:14px;margin-right:14px}.article details>:last-child:not(summary){margin-bottom:14px}:is(.article li:has(>input[type=checkbox]),.article li:has(>p>input[type=checkbox])){margin-left:-1.35em;padding-left:0;list-style:none}.article input[type=checkbox]{appearance:none;vertical-align:-3px;width:17px;height:17px;box-shadow:inset 0 0 0 1.5px var(--color-line-strong);background:var(--color-raised) center / 12px no-repeat;border-radius:5px;margin:0 9px 0 0}.article input[type=checkbox]:checked{box-shadow:none;background-color:var(--color-text);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}[data-theme=dark] .article input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111114' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}.article .callout{--tone:#2563eb;background:color-mix(in srgb, var(--tone) 9%, var(--color-canvas));box-shadow:0 0 0 1px color-mix(in srgb, var(--tone) 16%, transparent);border-radius:12px;margin:1.2em 0;padding:12px 14px 12px 44px;font-size:14.5px;line-height:1.6;position:relative}.article .callout:before{content:"";background:var(--tone);width:18px;height:18px;-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;position:absolute;top:14px;left:15px}.article .callout-title{color:color-mix(in srgb, var(--tone) 72%, var(--color-text));margin:0 0 2px;font-weight:650}.article .callout>:last-child{margin-bottom:0}.article .callout[data-type=note]{--tone:#2563eb;--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M12 11v5.5M12 7.5h.01'/%3E%3C/svg%3E")}.article .callout[data-type=tip]{--tone:#16a34a;--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21.5h4M12 2.5a6.5 6.5 0 0 0-4 11.6c.6.5 1 1.2 1 2v.4h6v-.4c0-.8.4-1.5 1-2A6.5 6.5 0 0 0 12 2.5Z'/%3E%3C/svg%3E")}.article .callout[data-type=important]{--tone:#7c3aed;--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 15a2 2 0 0 1-2 2H8l-4.5 4V5a2 2 0 0 1 2-2h13a2 2 0 0 1 2 2Z'/%3E%3Cpath d='M12 7v4.5M12 14.5h.01'/%3E%3C/svg%3E")}.article .callout[data-type=warning]{--tone:#d97706;--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 2.2 18a2 2 0 0 0 1.7 3h16.2a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0Z'/%3E%3Cpath d='M12 9.5v4M12 17h.01'/%3E%3C/svg%3E")}.article .callout[data-type=caution]{--tone:#dc2626;--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.1 2.5h7.8l5.6 5.6v7.8l-5.6 5.6H8.1l-5.6-5.6V8.1Z'/%3E%3Cpath d='M12 7.5v5M12 16h.01'/%3E%3C/svg%3E")}[data-theme=dark] .article .callout{background:color-mix(in srgb, var(--tone) 14%, var(--color-canvas));box-shadow:0 0 0 1px color-mix(in srgb, var(--tone) 26%, transparent)}[data-theme=dark] .article .callout-title{color:color-mix(in srgb, var(--tone) 55%, var(--color-text))}
.hc{--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--color-accent:var(--hc-brand);--color-accent-hover:color-mix(in srgb, var(--hc-brand) 86%, var(--color-fg));--color-accent-ink:var(--hc-brand-ink);--color-brand:var(--hc-brand);--hc-underline:color-mix(in srgb, var(--hc-brand) 65%, var(--color-fg));background:var(--color-ink);min-height:100dvh;color:var(--color-fg);overflow-wrap:break-word;flex-direction:column;display:flex;overflow-x:clip}.hc[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-ink:#fff;--color-surface:#f7f7f9;--color-surface-2:#f0f0f3;--color-surface-3:#e6e6eb;--color-line:#10101814;--color-line-strong:#10101826;--color-fg:#131317;--color-fg-soft:#45454e;--color-fg-mute:#66666f;--color-danger:#c4232d;--color-canvas:#fff;--color-raised:#fff;--color-wash:#f2f2f5;--color-wash-2:#e8e8ed;--color-shimmer:#fffc;--color-text:#17171c;--color-soft:#4c4c56;--color-mute:#66666f}.hc[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-ink:#0a0a0b;--color-surface:#111114;--color-surface-2:#17171b;--color-surface-3:#1f1f24;--color-line:#ffffff14;--color-line-strong:#ffffff26;--color-fg:#f4f4f5;--color-fg-soft:#b6b6bd;--color-fg-mute:#8f8f98;--color-canvas:#0a0a0b;--color-raised:#141417;--color-wash:#19191e;--color-wash-2:#232329;--color-shimmer:#ffffff0d;--color-text:#f3f3f6;--color-soft:#c4c4cc;--color-mute:#94949e}:root:has(.hc[data-theme=light]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff}:root:has(.hc[data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0a0a0b}body:has(.hc){background:0 0}@layer base{.hc :focus-visible{outline-color:var(--hc-ring)}}.hc ::selection{background:color-mix(in srgb, var(--hc-brand) 32%, transparent)}.hc .article{font-size:16.5px;line-height:1.75}.hc .article a{-webkit-text-decoration-color:var(--hc-underline);text-decoration-color:var(--hc-underline)}.hc .article :where(h2,h3,h4){scroll-margin-top:92px}.hc .article h2{margin-top:1.9em;font-size:1.3em}.hc .article h3{font-size:1.1em}.hc-lightbox{z-index:60;cursor:zoom-out;background:#000000db;place-items:center;padding:24px;animation:.16s both hc-fade;display:grid;position:fixed;inset:0}.hc-lightbox img{border-radius:12px;max-width:min(1400px,100%);max-height:100%;box-shadow:0 24px 80px -20px #000c}.hc-toc [data-dot]{transition:background-color .15s}.hc-toc a[aria-current=true]{color:var(--color-fg)}.hc-toc a[aria-current=true] [data-dot]{background:var(--hc-brand)}@keyframes hc-fade{0%{opacity:0}to{opacity:1}}@keyframes hc-rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.hc-rise{animation:hc-rise .2s var(--ease-out-quart) both}.hc-sticky{top:calc(var(--hc-header) + 24px);max-height:calc(100dvh - var(--hc-header) - 48px);position:sticky}.hc-hero{background:var(--color-surface);isolation:isolate;position:relative}.hc-hero:before{content:"";z-index:-1;background-image:linear-gradient(var(--color-line) 1px, transparent 1px), linear-gradient(90deg, var(--color-line) 1px, transparent 1px);background-position:top;background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 90% at 50% 0,#000 30%,#0000 75%);mask-image:radial-gradient(70% 90% at 50% 0,#000 30%,#0000 75%)}.hc-fade{animation:.16s both hc-fade}.hc-drawer{animation:hc-slide .22s var(--ease-out-quart) both}.hc-drawer.left-0{animation-name:hc-slide-left}@keyframes hc-slide{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@keyframes hc-slide-left{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:none}}.hc .article .hc-anchor{color:var(--color-mute);opacity:0;margin-left:.4em;font-weight:500;text-decoration:none;transition:opacity .15s}.hc .article :is(h2,h3):hover .hc-anchor,.hc .article .hc-anchor:focus-visible{opacity:1}@media (hover:none){.hc .article .hc-anchor{opacity:.6}}.hc-toc-mobile summary::-webkit-details-marker{display:none}@media (prefers-reduced-motion:reduce){.hc-drawer,.hc-rise,.hc-fade{animation:none}}.hc-bar{transition:transform .22s var(--ease-out-quart)}@media (max-width:767px){.hc-bar[data-hidden]{transform:translateY(-100%)}}@media (prefers-reduced-motion:reduce){.hc-bar{transition:none}}
