@font-face{font-family:"Inter Variable";font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/inter-latin.fc02456a.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}@font-face{font-family:"Inter Variable";font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/inter-cyrillic.f0547106.woff2) format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"JetBrains Mono Variable";font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/jetbrains-mono-latin.0d24c247.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}@font-face{font-family:"JetBrains Mono Variable";font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/jetbrains-mono-cyrillic.678d7e36.woff2) format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}:root{color-scheme:light;--bg:#fbfbfa;--bg-2:#f4f3f0;--bg-3:#ebeae6;--bg-hover:#efeeeb;--panel:#ffffff;--code:#f7f6f3;--fg:#37352f;--fg-strong:#191919;--fg-2:#63625d;--fg-3:#6b6a65;--line:#e0dfda;--line-2:#d2d1cc;--line-3:#bfbeb9;--input-edge:#84837e;--brand:#1b6ac9;--brand-bg:#e7f1fb;--brand-fg:#ffffff;--ok:#3b7354;--ok-bg:#edf3ec;--warn:#8a5d12;--warn-bg:#fbf3db;--err:#b8403b;--err-bg:#fdebec;--violet:#7d55a0;--violet-bg:#f6f3f9;--seg-track:var(--bg-3);--seg-on:var(--panel);--seg-edge:var(--input-edge);--scrim:rgb(0 0 0/.4);--gray-bg:#f1f1ef;--bar:#8f8e89;--edge:rgb(0 0 0/.09);--c1:#1b6ac9;--c2:#007a70;--c3:#a76c12;--c4:#6b5bb5;--c5:#5f6b7a;--c1-bg:#e8f0fb;--c2-bg:#e3f3f1;--c3-bg:#f8efdc;--c4-bg:#ece9f7;--c5-bg:#eceef1;--sh-1:0 1px 2px rgb(0 0 0/.05);--shadow:0 1px 2px rgba(15,15,15,.06),0 6px 20px rgba(15,15,15,.08);--sh-pop:0 12px 32px -8px rgb(0 0 0/.22),0 2px 6px rgb(0 0 0/.08);--hdr-bg:#111111;--hdr-hover:#222222;--hdr-panel:#1a1a1a;--hdr-fg:#f0f0f0;--hdr-fg-2:#a5a5a5;--hdr-line:#333333;--hdr-edge:#7a7a7a;--hdr-focus:#5ba3ef;--focus:var(--brand);--ring:0 0 0 2px var(--focus);--r:3px;--r-sm:2px;--hdr:48px;--sb:272px;--rail:220px;--col:760px;--gut:32px;--font:"Inter Variable",Inter,system-ui,sans-serif;--mono:"JetBrains Mono Variable","JetBrains Mono",ui-monospace,monospace;--font-mono:var(--mono);--fs-caption:12px;--fs-small:13px;--fs-body:14px;--fs-lead:15px;--fs-sub:16px;--fs-heading:22px;--fs-title:28px;--lh-title:1.21;--lh-small:1.54;--lh-lead:1.5;--lh-heading:1.27;--dur-1:.1s;--dur-2:.15s;--dur-3:.2s;--ease-enter:cubic-bezier(.2,0,0,1);--ease-exit:cubic-bezier(.4,0,1,1);--ease-std:cubic-bezier(.2,0,.38,.9);--z-bar:5;--z-backdrop:44;--z-sheet:45;--z-header:50;--z-dropdown:60;--z-toast:90;--z-skip:120}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#111111;--bg-2:#171717;--bg-3:#2a2a2a;--bg-hover:#222222;--panel:#1a1a1a;--code:#161616;--fg:#d4d4d4;--fg-strong:#f0f0f0;--fg-2:#a5a5a5;--fg-3:#999999;--line:#262626;--line-2:#333333;--input-edge:#7a7a7a;--brand:#5ba3ef;--brand-bg:#1c2f43;--brand-fg:#0b1b2e;--ok:#62b083;--ok-bg:#1f2f25;--warn:#d9a856;--warn-bg:#352c1a;--err:#ef8a85;--err-bg:#3a2020;--violet:#b597d0;--violet-bg:#2c2433;--gray-bg:#222222;--seg-track:var(--bg);--seg-on:var(--line-2);--seg-edge:color-mix(in oklab,var(--fg-strong) 42%,var(--bg));--scrim:rgb(0 0 0/.6);--c1:#5ba3ef;--c2:#4fb3a8;--c3:#d9a856;--c4:#a394e6;--c5:#9aa7b8;--c1-bg:#1c2f43;--c2-bg:#173330;--c3-bg:#352c1a;--c4-bg:#2a2542;--c5-bg:#272c33;--shadow:0 1px 2px rgba(0,0,0,.5),0 10px 28px rgba(0,0,0,.45);--sh-1:0 1px 2px rgb(0 0 0/.25);--line-3:#555555;--edge:rgb(0 0 0/.45);--sh-pop:0 12px 32px -8px rgb(0 0 0/.6),0 2px 6px rgb(0 0 0/.4);--bar:#707070;--gray-bg:#2b2b2b}}:root[data-theme=dark]{color-scheme:dark;--bg:#111111;--bg-2:#171717;--bg-3:#2a2a2a;--bg-hover:#222222;--panel:#1a1a1a;--code:#161616;--fg:#d4d4d4;--fg-strong:#f0f0f0;--fg-2:#a5a5a5;--fg-3:#999999;--line:#262626;--line-2:#333333;--input-edge:#7a7a7a;--brand:#5ba3ef;--brand-bg:#1c2f43;--brand-fg:#0b1b2e;--ok:#62b083;--ok-bg:#1f2f25;--warn:#d9a856;--warn-bg:#352c1a;--err:#ef8a85;--err-bg:#3a2020;--violet:#b597d0;--violet-bg:#2c2433;--gray-bg:#222222;--seg-track:var(--bg);--seg-on:var(--line-2);--seg-edge:color-mix(in oklab,var(--fg-strong) 42%,var(--bg));--scrim:rgb(0 0 0/.6);--c1:#5ba3ef;--c2:#4fb3a8;--c3:#d9a856;--c4:#a394e6;--c5:#9aa7b8;--c1-bg:#1c2f43;--c2-bg:#173330;--c3-bg:#352c1a;--c4-bg:#2a2542;--c5-bg:#272c33;--shadow:0 1px 2px rgba(0,0,0,.5),0 10px 28px rgba(0,0,0,.45);--sh-1:0 1px 2px rgb(0 0 0/.25);--line-3:#555555;--edge:rgb(0 0 0/.45);--sh-pop:0 12px 32px -8px rgb(0 0 0/.6),0 2px 6px rgb(0 0 0/.4);--bar:#707070;--gray-bg:#2b2b2b}@media(max-width:767.98px){:root{--hdr:52px;--gut:16px;--fs-body:15px;--fs-lead:16px;--fs-sub:17px;--fs-heading:20px;--fs-title:24px;--lh-title:1.25}}@media(prefers-reduced-motion:reduce){:root{--dur-2:0ms;--dur-3:0ms}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 16px);scrollbar-gutter:stable;-webkit-tap-highlight-color:transparent}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--fg);font:var(--fs-body)/1.55 var(--font);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}h1,h2,h3,h4{line-height:1.25;text-wrap:balance}table{font-variant-numeric:tabular-nums}a{color:var(--brand)}button,input,select{font:inherit;color:inherit}a,button,label,summary{touch-action:manipulation}svg.i{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}svg.i.gh{fill:currentColor;stroke:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}:where(input,select,textarea):focus-visible{outline-offset:-1px}:where([role=option],[role=tab],[role=tabpanel],td,th):focus-visible{outline-offset:-2px}[hidden]{display:none!important}.sr,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:absolute;top:8px;left:8px;z-index:var(--z-skip);padding:8px 12px;border-radius:var(--r);background:var(--panel);color:var(--fg-strong);font:500 14px/1.2 var(--font);text-decoration:none;box-shadow:var(--shadow),var(--ring);transform:translateY(-200%)}.skip:focus{transform:none;outline:0}::selection{background:color-mix(in oklab,var(--brand) 24%,transparent)}mark{padding:0 1px;border-radius:var(--r-sm);background:var(--warn-bg);color:inherit}.hdr{position:sticky;top:0;z-index:var(--z-header);height:var(--hdr);background:var(--hdr-bg);color:var(--hdr-fg);box-shadow:inset 0 -1px 0 var(--hdr-line);--focus:var(--hdr-focus)}.hdr-in{position:relative;display:flex;align-items:center;gap:4px;height:100%;padding-inline:20px}.ibtn{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;padding:0;border:0;border-radius:var(--r);background:transparent;color:var(--hdr-fg-2);cursor:pointer;transition:background-color var(--dur-2),color var(--dur-2)}.ibtn svg.i{width:18px;height:18px}.ibtn svg.gh{width:18px;height:18px;fill:currentColor}.nav-btn{display:none;margin-inline-start:-6px}.nav-btn svg{grid-area:1/1;transition:opacity var(--dur-1) ease}.nav-btn .i-x,.nav-open .nav-btn .i-menu{opacity:0}.nav-open .nav-btn .i-x{opacity:1}.nav-open .nav-btn{color:var(--hdr-fg)}.brand{display:flex;align-items:center;flex:none;height:36px;border-radius:var(--r);color:var(--hdr-fg)}.brand svg{display:block;width:auto;height:18px;fill:currentColor}.hdr-mid{position:relative;display:flex;align-items:center;flex:1;gap:4px;min-width:0;height:100%}.hdr-sp{flex:1}.hs{position:absolute;inset:0;display:flex;align-items:center;visibility:hidden;transition:visibility 0s var(--dur-2)}.hs.open{visibility:visible;transition:none}.hs-f{position:relative;display:flex;align-items:center;gap:2px;width:100%;height:40px;padding:0 4px 0 36px;border:1px solid var(--hdr-edge);border-radius:var(--r);background:var(--hdr-panel);opacity:0;clip-path:inset(0 0 0 100%);transition:clip-path var(--dur-2) var(--ease-enter),opacity var(--dur-1) ease,border-color var(--dur-1) ease}.hs.open .hs-f{opacity:1;clip-path:inset(-4px)}.hs-f:focus-within{border-color:var(--hdr-focus);outline:2px solid transparent}.hs-f>svg.i{position:absolute;inset-inline-start:11px;width:18px;height:18px;color:var(--hdr-fg-2);pointer-events:none}.hs-in{flex:1;min-width:0;height:100%;padding:0;border:0;background:transparent;color:var(--hdr-fg);font-size:16px;outline:0}.hs-in::placeholder{color:var(--hdr-fg-2);opacity:1}.hs-in::-webkit-search-cancel-button{display:none}.hs-x{width:32px;height:32px}.hs-pan{position:absolute;top:calc(50% + 24px);inset-inline:0;display:flex;flex-direction:column;max-height:calc(100dvh - var(--hdr) - 12px);overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);color:var(--fg-strong);box-shadow:var(--sh-pop);--focus:var(--brand)}#hs-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;padding:4px 0 10px}.hs-msg{margin:0;padding:14px 16px;color:var(--fg-2);font-size:14px}.hs-gt{padding:10px 16px 4px;font-size:12px;line-height:16px;font-weight:500;color:var(--fg-2)}.hs-o{position:relative;display:block;margin:0 6px;padding:8px 10px;border-radius:var(--r);color:var(--fg-strong);text-decoration:none;scroll-margin:8px}.hs-o b{display:block;font-size:14px;line-height:20px;font-weight:500;overflow-wrap:anywhere}.hs-o span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;margin-top:2px;font-size:13px;line-height:1.45;color:var(--fg-2);overflow-wrap:anywhere}.hs-o.on{background:color-mix(in srgb,var(--brand) 14%,var(--panel))}.hs-o.on:before{content:"";position:absolute;inset-inline-start:0;top:8px;bottom:8px;width:2px;background:var(--brand)}.shell{display:grid;grid-template-columns:var(--sb) minmax(0,1fr);min-height:calc(100dvh - var(--hdr))}.shell.bare{grid-template-columns:minmax(0,1fr)}.side{position:sticky;top:var(--hdr);display:flex;flex-direction:column;height:calc(100dvh - var(--hdr));min-width:0;background:var(--bg-2);border-inline-end:1px solid var(--line)}.side-nav{flex:1;min-height:0;padding:20px 12px 24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.side-foot{flex:none;padding:10px 12px;border-top:1px solid var(--line)}.sb-g+.sb-g{margin-top:20px}.sb-t{margin:0 0 4px;padding:0 8px;color:var(--fg-2);font-size:12px;line-height:20px;font-weight:500}.sb-list,.sb-sub{margin:0;padding:0;list-style:none}.sb-a{position:relative;display:flex;align-items:center;min-height:30px;padding:5px 8px;border-radius:var(--r);color:var(--fg);font-size:13px;line-height:1.4;text-decoration:none;overflow-wrap:anywhere;transition:background-color var(--dur-1) ease-out,color var(--dur-1) ease-out}.sb-a[aria-current]{background:var(--bg-3);color:var(--fg-strong);font-weight:500}.sb-row{display:flex;align-items:center;gap:2px}.sb-row .sb-a{flex:1;min-width:0}.sb-x{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;padding:0;border:0;border-radius:var(--r);background:transparent;color:var(--fg-2);cursor:pointer;transition:color var(--dur-1) ease-out}.sb-x{position:relative}.sb-x:after{content:"";position:absolute;inset:-1px -6px}.sb-x svg.i{width:14px;height:14px;transition:rotate var(--dur-2) var(--ease-std)}.sb-x[data-state=closed] svg.i{rotate:-90deg}.sb-sub{margin:2px 0 8px 15px;border-inline-start:1px solid var(--line-2)}.sb-sub .sb-a{min-height:28px;margin-inline-start:-1px;padding:4px 8px 4px 12px;border-radius:0 var(--r) var(--r) 0;border-inline-start:1px solid transparent;color:var(--fg-2);font-size:13px}.sb-sub .sb-a[aria-current]{border-inline-start-color:var(--fg-strong);background:transparent;color:var(--fg-strong)}.side :focus-visible{outline-offset:-2px}.main-col{display:flex;flex-direction:column;min-width:0}.page{flex:1;display:grid;grid-template-columns:minmax(0,1fr);column-gap:32px;align-items:start;width:100%;max-width:calc(var(--col) + 2 * var(--gut));margin-inline:auto;padding:40px var(--gut) 64px}.page:focus{outline:0}.rail{display:none}.doc{min-width:0;font-size:var(--fs-body);line-height:1.7;container:article/inline-size}.toc h2{margin:0 0 10px;font-size:12px;line-height:20px;font-weight:500;color:var(--fg-2)}.toc ul{margin:0;padding:0;list-style:none}.toc>ul{border-inline-start:1px solid var(--line)}.toc a{display:block;margin-inline-start:-1px;padding:4px 0 4px 14px;border-inline-start:1px solid transparent;color:var(--fg-2);font-size:13px;line-height:1.45;text-decoration:none;overflow-wrap:break-word;transition:color var(--dur-2)}.toc ul ul a{padding-inline-start:26px}.toc a.on{border-inline-start-color:var(--fg-strong);color:var(--fg-strong)}.toc :focus-visible{outline-offset:-2px}.doc h1{margin:0;color:var(--fg-strong);font-size:var(--fs-title);line-height:var(--lh-title);font-weight:700;letter-spacing:-.02em;overflow-wrap:break-word}.doc .lead{margin:10px 0 24px;color:var(--fg-2);font-size:var(--fs-lead);line-height:1.6;text-wrap:pretty}.doc h1+:not(.lead){margin-top:20px}.doc h2{margin:40px 0 12px;color:var(--fg-strong);font-size:var(--fs-heading);line-height:1.3;font-weight:600;letter-spacing:-.01em}.doc h3{margin:28px 0 8px;color:var(--fg-strong);font-size:var(--fs-sub);line-height:1.4;font-weight:600}.doc h4{margin:24px 0 6px;color:var(--fg-strong);font-size:var(--fs-body);line-height:1.45;font-weight:600}.doc h2+h3,.doc h3+h4{margin-top:12px}.doc :where(p){margin:0 0 16px;text-wrap:pretty}.doc :where(ul,ol){margin:0 0 16px;padding-inline-start:22px}.doc li+li{margin-top:4px}.doc li{text-wrap:pretty}.doc li>:is(ul,ol){margin:4px 0 0}.doc li>p:last-child{margin-bottom:0}.doc li::marker{color:var(--fg-2)}.doc :is(p,li,h2,h3,h4,td,th,figcaption){overflow-wrap:break-word}.doc a{text-decoration-thickness:from-font;text-underline-position:from-font;text-underline-offset:.18em;transition:color var(--dur-2)}.doc hr{margin:32px 0;border:0;border-top:1px solid var(--line)}.doc small{display:inline-block;font-size:.86em;line-height:1.4;color:var(--fg-2)}.doc strong{font-weight:600;color:var(--fg-strong)}.doc blockquote{margin:16px 0;padding:2px 0 2px 16px;border-inline-start:2px solid var(--line-2);color:var(--fg-2)}.doc code{padding:1px 4px;border:1px solid var(--line);border-radius:var(--r);background:var(--code);font:.9em var(--mono);overflow-wrap:break-word;-webkit-box-decoration-break:clone;box-decoration-break:clone}.doc a code{border-color:transparent;background:var(--brand-bg);color:inherit}.h-a{margin-inline-start:8px;color:var(--fg-3);font-weight:400;text-decoration:none;opacity:0;transition:opacity var(--dur-1) ease}:is(h2,h3,h4):hover>.h-a,.h-a:focus-visible,.h-a[data-done]{opacity:1}.h-a[data-done]{color:var(--ok)}.fl{text-decoration:none}.fl code{text-decoration:underline;text-decoration-thickness:from-font;text-underline-offset:.18em}.callout{margin:16px 0;padding:12px 16px;border:1px solid color-mix(in oklab,var(--c) 32%,transparent);border-radius:var(--r);background:var(--cbg);--c:var(--fg-2);--cbg:var(--bg-2)}.callout.tip{--c:var(--ok);--cbg:var(--ok-bg)}.callout.important{--c:var(--warn);--cbg:var(--warn-bg)}.callout-l{display:block;margin-bottom:2px;font-size:12px;line-height:1.5;font-weight:600;color:var(--c)}.callout>p{margin-bottom:6px}.callout>:last-child{margin-bottom:0}.callout code{border-color:transparent;background:color-mix(in oklab,var(--c) 10%,transparent)}.chip{display:inline-flex;align-items:baseline;gap:6px;max-width:100%;padding:0 6px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--panel);color:var(--fg-strong);font:500 12px/20px var(--mono);text-decoration:none;vertical-align:baseline;transition:border-color var(--dur-2),background-color var(--dur-2)}.chip-n{overflow-wrap:anywhere}.chip-s{color:var(--fg-2);font:400 12px/20px var(--font);white-space:nowrap}.caps{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.caps>a:not(.chip){display:inline-flex;align-items:center;min-height:28px;padding:3px 10px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--panel);color:var(--fg-strong);font-size:13px;line-height:1.4;font-weight:500;text-decoration:none;transition:border-color var(--dur-2)}.caps>a code{padding:0;border:0;background:none;font-size:12px;text-decoration:none}.subs{margin:24px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.doc .subs>li{margin:0;border-bottom:1px solid var(--line)}.subs a{display:block;padding:10px 0 11px;color:var(--fg);text-decoration:none}.subs b{display:block;color:var(--fg-strong);font-size:14px;line-height:1.5;font-weight:500}.subs span{display:block;color:var(--fg-2);font-size:13px;line-height:1.5;text-wrap:pretty}.subs code{padding:0;border:0;background:none;font-size:13px}.toc-all{columns:2 260px;column-gap:32px;padding:0;list-style:none}.doc .toc-all li{margin:0;break-inside:avoid}.toc-all a{display:block;padding:3px 0;text-decoration:none}.toc-all ul{margin:0 0 6px;padding:0 0 0 14px;list-style:none;border-inline-start:1px solid var(--line)}.toc-all ul a{color:var(--fg-2);font-size:13px}.feat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:16px 0}.doc .feat>li{margin:0;padding:12px 0 13px;border-top:1px solid var(--line);font-size:13px;line-height:1.55;color:var(--fg-2);text-wrap:pretty}.feat strong{display:block;margin-bottom:1px;font-size:14px;line-height:1.45;font-weight:500}.cw{position:relative;min-width:0;margin:16px 0;border:1px solid var(--line);border-radius:var(--r);background:var(--code)}.cw-bar{display:flex;align-items:center;gap:2px;min-height:30px;padding-inline:14px 4px;border-bottom:1px solid var(--line);color:var(--fg-2);font-size:12px}.cw-cap{padding:8px 14px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--fg-2)}.cw-cap small{display:block;font-size:12px}.cw-name{flex:1;min-width:0;padding-block:8px;font-weight:500;line-height:1.4;color:var(--fg-2);overflow-wrap:anywhere}.cw-name b{font:500 12px/1.4 var(--mono);color:var(--fg-strong)}.cw-meta{margin-inline-start:8px;font-weight:400;white-space:nowrap}.cw-tablist{display:flex;flex:1;align-self:stretch;min-width:0;margin:0 0 -1px -10px;flex-wrap:wrap}.cw-tab{min-height:30px;padding:0 10px;border:0;border-radius:0;background:transparent;color:var(--fg-2);font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer;transition:color var(--dur-2)}.cw-tab[data-state=active]{color:var(--fg-strong);box-shadow:inset 0 -2px 0 var(--fg-strong)}.cw-panel[data-state=inactive]{display:none}.cw-btn{display:inline-flex;align-items:center;gap:6px;flex:none;height:24px;padding:0 8px;border:0;border-radius:var(--r);background:transparent;color:var(--fg-2);font-size:12px;font-weight:500;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-1) ease,color var(--dur-1) ease}.cw-btn.ic{width:24px;padding:0;justify-content:center}.cw-pre{margin:0;padding:12px 14px;overflow:auto hidden;scrollbar-width:none;color:var(--fg);font:13px/1.6 var(--mono);white-space:pre;tab-size:4}.cw-pre::-webkit-scrollbar{display:none}.cw-pre code{padding:0;border:0;border-radius:0;background:none;font:inherit}.ln{display:block;padding-inline-start:calc((var(--n,0) + 2) * 1ch);text-indent:calc((var(--n,0) + 2) * -1ch)}.t-c{color:var(--fg-3)}.t-s{color:var(--ok)}.t-f{color:var(--c1)}.t-a{color:color-mix(in oklab,var(--c2) 75%,var(--fg-strong))}.t-d,.t-n{color:var(--warn)}.t-k{color:var(--violet)}.t-p{color:var(--fg-strong)}.cw-more{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:36px;border:0;border-top:1px solid var(--line);border-radius:0 0 var(--r-sm) var(--r-sm);background:var(--code);color:var(--fg-2);font-size:13px;font-weight:500;cursor:pointer;transition:color var(--dur-2)}.cw-more svg.i{width:14px;height:14px;transition:rotate var(--dur-2) var(--ease-std)}.cw-more[aria-expanded=true] svg.i{rotate:180deg}.cw-more:focus-visible{outline-offset:-2px}.cw.is-clip{padding-bottom:36px}.cw.is-clip:not(.is-open) .cw-pre{max-height:calc(24 * 1.6 * 13px + 12px)}.cp{position:relative;display:inline-grid;place-items:center;width:24px;height:24px;margin:-3px 0 -3px 4px;padding:0;border:0;border-radius:var(--r);background:transparent;color:var(--fg-2);vertical-align:middle;opacity:0;cursor:pointer;transition:opacity var(--dur-1) ease,background-color var(--dur-1) ease,color var(--dur-1) ease}.cp svg.i{grid-area:1/1;width:14px;height:14px;transition:opacity var(--dur-2) var(--ease-enter),scale var(--dur-2) var(--ease-enter),filter var(--dur-2) var(--ease-enter)}.cp svg.i:last-child{opacity:0;scale:.25;filter:blur(4px)}.cp[data-done]{color:var(--ok)}.cp[data-done] svg.i:first-child{opacity:0;scale:.25;filter:blur(4px)}.cp[data-done] svg.i:last-child{opacity:1;scale:1;filter:none}tr:hover .cp,.prop:hover .cp,.cp:focus-visible,.cp[data-done],.repo .cp,.doc :is(p,li)>.cp{opacity:1}.doc :is(p,li)>.cp{margin-inline-start:2px;color:var(--fg-3)}.cp:after{content:"";position:absolute;inset:-8px}.cp.cw-cp{width:28px;height:28px;margin:0;opacity:1}.cp.cw-cp:after{inset:-4px -6px}.cp.cw-cp svg.i{width:16px;height:16px}.tbl{position:relative;margin:16px 0}.tbl-s{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none}.tbl-s::-webkit-scrollbar{display:none}.tbl table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;line-height:1.55}.tbl :is(th,td){padding:8px 12px;border-bottom:1px solid var(--line);background:var(--bg);text-align:start;vertical-align:top}.tbl :is(th,td):first-child{padding-inline-start:0}.tbl :is(th,td):last-child{padding-inline-end:0}.tbl th{border-bottom-color:var(--line-2);color:var(--fg-2);font-size:12px;line-height:18px;font-weight:500;white-space:nowrap}.tbl .nw{white-space:nowrap}.tbl .num{text-align:end}.tbl td:not(.nw,.num){min-width:14ch}.tbl td.tx{min-width:min(30ch,64vw)}.tbl td .chip+br+.chip{margin-top:4px}.tbl.over:not(.no-stick) :is(th,td):first-child{position:sticky;inset-inline-start:0;z-index:1;padding-inline-end:12px;border-inline-end:1px solid var(--line-2)}.tbl.s2.over:not(.no-stick) :is(th,td):first-child{border-inline-end:0}.tbl.s2.over:not(.no-stick) :is(th,td):nth-child(2){position:sticky;inset-inline-start:var(--s1,0px);z-index:1;border-inline-end:1px solid var(--line-2)}.tbl.over:not(.no-stick,.s2) :is(th,td):nth-child(2),.tbl.s2.over:not(.no-stick) :is(th,td):nth-child(3){padding-inline-start:12px}.tbl.more-s:not(.no-stick,.s2) :is(th,td):first-child,.tbl.s2.more-s:not(.no-stick) :is(th,td):nth-child(2){box-shadow:8px 0 8px -8px var(--edge)}.tbl.more-e:after,.tbl.no-stick.more-s:before{content:"";position:absolute;z-index:2;inset-block:0;width:20px;pointer-events:none}.tbl.more-e:after{inset-inline-end:0;background:linear-gradient(to left,var(--edge),transparent)}.tbl.no-stick.more-s:before{inset-inline-start:0;background:linear-gradient(to right,var(--edge),transparent)}.tbl-nav{position:absolute;z-index:3;top:4px;inset-inline-end:0;display:flex;gap:4px;padding-inline-start:20px;background:linear-gradient(to right,transparent,var(--bg) 16px)}.tbl-b{display:inline-grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid var(--line-2);border-radius:var(--r);background:var(--panel);color:var(--fg-2);cursor:pointer;transition:background-color var(--dur-2),color var(--dur-2)}.tbl-b{position:relative}.tbl-b:after{content:"";position:absolute;inset:-8px -2px}.tbl-b svg.i{width:14px;height:14px}.tbl-b[aria-disabled=true]{color:var(--line-2);cursor:default}.props{margin:16px 0;border-top:1px solid var(--line)}.prop{padding:9px 0 11px;border-bottom:1px solid var(--line)}.prop dt{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}.prop-n{display:inline-flex;align-items:center;min-height:21px;font-size:14px;line-height:1.5;font-weight:500;color:var(--fg-strong)}.prop-n code{padding:0;border:0;background:none;font:500 13px/1.6 var(--mono);color:var(--fg-strong)}.prop-n small{margin-inline-start:8px;font-weight:400}.prop-m{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;font-size:12px;line-height:1.5;color:var(--fg-2);font-variant-numeric:tabular-nums}.prop-m code{padding:0;border:0;background:none;font-size:12px;color:inherit}.prop-m a{color:inherit}.tag{padding:0 5px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-2);color:var(--fg-2);font:12px/18px var(--mono);white-space:nowrap}.prop dd{margin:3px 0 0;font-size:13px;line-height:1.6}.prop dd>:last-child{margin-bottom:0}.prop .cp{margin:-2px -4px -2px 2px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 16px}.doc .cards>li{margin:0;display:flex;min-width:0}.card,.pager a{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);box-shadow:var(--sh-1);text-decoration:none;transition:border-color var(--dur-2)}.card{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;padding:10px 12px 12px;color:var(--fg)}.card b{font-size:14px;line-height:1.4;font-weight:500;color:var(--fg-strong);overflow-wrap:break-word}.card>span{font-size:13px;line-height:1.45;color:var(--fg-2);text-wrap:pretty}.cards-h{margin:20px 0 0;font-size:12px;line-height:20px;font-weight:500;color:var(--fg-2)}.hero-acts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:7px 14px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--panel);box-shadow:var(--sh-1);color:var(--fg-strong);font-size:14px;line-height:20px;font-weight:500;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-2),border-color var(--dur-2),scale var(--dur-1) var(--ease-enter)}.btn:active{scale:.96}.btn:has(>svg:first-child){padding-inline-start:12px}.btn svg.i{color:var(--fg-2)}.btn svg.gh{color:inherit}.btn.primary{border-color:var(--fg-strong);background:var(--fg-strong);box-shadow:none;color:var(--bg)}.btn.primary svg.i{color:inherit}.pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:48px}.pager a{display:flex;flex-direction:column;gap:1px;padding:10px 14px 12px}.pager small{font-size:12px;line-height:1.5;color:var(--fg-2)}.pager b{font-size:14px;line-height:1.4;font-weight:500;color:var(--fg-strong);overflow-wrap:break-word}.pager a[rel=next]{grid-column:2;align-items:flex-end;text-align:end}.repo{display:flex;flex-direction:column;gap:8px;margin:16px 0;padding:14px 16px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);box-shadow:var(--sh-1)}.repo-t{display:flex;align-items:center;gap:8px;font-size:14px;line-height:1.4;font-weight:500;color:var(--fg-strong)}.repo-t svg.gh{width:18px;height:18px}.repo-t a{color:inherit;text-decoration:none;overflow-wrap:anywhere}.repo p{margin:0;font-size:13px;line-height:1.5;color:var(--fg-2)}.repo .repo-l{font-size:12px;font-variant-numeric:tabular-nums}.repo .repo-a{margin-top:4px}.clone{display:flex;align-items:center;gap:6px;min-width:0;padding:3px 4px 3px 10px;border:1px solid var(--line);border-radius:var(--r);background:var(--code)}.clone code{flex:1;min-width:0;padding:4px 0;border:0;background:none;font-size:12px;white-space:nowrap;overflow-x:auto;scrollbar-width:none}.clone code::-webkit-scrollbar{display:none}.clone .cp{flex:none;margin:0}.ft{border-top:1px solid var(--line)}.ft-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;width:100%;max-width:calc(var(--col) + 32px + var(--rail) + 2 * var(--gut));min-height:52px;margin-inline:auto;padding:10px var(--gut);color:var(--fg-2);font-size:13px}.ft-brand{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap}.ft-brand svg{display:block;width:auto;height:14px;fill:currentColor}:root{--ft-h:53px}.ft{min-height:var(--ft-h)}.ft-in{max-width:none;padding-inline:20px}@supports (animation-timeline:view()) and (timeline-scope:--ft){body{timeline-scope:--ft}.ft{view-timeline:--ft block}.side{animation:side-fit linear both;animation-timeline:--ft;animation-range:entry 0% entry 100%}@keyframes side-fit{to{height:calc(100dvh - var(--hdr) - var(--ft-h))}}}.ft-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ft-ctl [data-slot=select-trigger]{height:30px;min-width:112px;padding:0 8px 0 10px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--panel);box-shadow:none;color:var(--fg);font-size:13px;cursor:pointer}[data-slot=select-content]{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);color:var(--fg);box-shadow:var(--shadow);font-size:13px}[data-slot=select-item]{border-radius:var(--r-sm);cursor:pointer}[data-slot=select-item][data-highlighted]{background:var(--bg-hover);color:var(--fg-strong)}.page:has(>.err){display:block;max-width:none}.err{max-width:560px;margin:0 auto;padding:72px 0 48px;text-align:center}.err-code{font-size:72px;line-height:1;font-weight:600;letter-spacing:-.04em;color:var(--fg-3);font-variant-numeric:tabular-nums}.err h1{margin:12px 0;color:var(--fg-strong);font-size:var(--fs-title);line-height:var(--lh-title);font-weight:600;letter-spacing:-.02em}.err-text{margin:0 0 24px;color:var(--fg-2);font-size:var(--fs-lead);line-height:1.5;text-wrap:pretty}.err-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0}@media(hover:hover){.ibtn:hover{background:var(--hdr-hover);color:var(--hdr-fg)}.hs-o:not(.on):hover{background:var(--bg-hover)}.sb-a:not([aria-current]):hover,.sb-x:hover{background:var(--bg-hover);color:var(--fg-strong)}.toc a:hover,.cw-tab:hover,.cw-more:hover,.toc-all ul a:hover{color:var(--fg-strong)}.cp:hover,.tbl-b:not([aria-disabled=true]):hover,.cw-btn:hover{background:var(--bg-hover);color:var(--fg-strong)}.repo-t a:hover,.subs a:hover b{text-decoration:underline;text-decoration-thickness:from-font;text-underline-offset:.18em}.doc a:hover{color:var(--fg-strong)}.card:hover,.pager a:hover,.caps>a:hover,.chip:hover{border-color:var(--line-3)}.chip:hover,.btn:hover{background:var(--bg-hover)}.btn.primary:hover{background:color-mix(in oklab,var(--fg-strong) 88%,var(--bg));color:var(--bg)}.ft-ctl [data-slot=select-trigger]:hover{background:var(--bg-hover)}}@media(min-width:1280px){.page{grid-template-columns:minmax(0,var(--col)) var(--rail);max-width:calc(var(--col) + 32px + var(--rail) + 2 * var(--gut))}.rail{grid-column:2}.rail{display:block;position:sticky;top:calc(var(--hdr) + 40px);max-height:calc(100dvh - var(--hdr) - 56px);padding-bottom:24px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}}@media(min-width:1024px){.brand{width:calc(var(--sb) + max(0px,(100vw - var(--sb) - var(--col) - 32px - var(--rail) - 2 * var(--gut)) / 2) + var(--gut) - 20px - 4px - 12px)}}@media(max-width:1023.98px){.nav-btn{display:inline-grid}.hm-nav,.hdr .gh-a{display:none}.shell{grid-template-columns:minmax(0,1fr)}.shell>.side{display:none}.page{padding-top:28px}}@media(max-width:767.98px){.hdr-in{padding-inline:8px}.nav-btn{margin-inline-start:0}.page{padding-bottom:56px}.doc{line-height:1.65}.pager{grid-template-columns:minmax(0,1fr)}.pager a[rel=next]{grid-column:1}}@media(max-width:639.98px){.lead-more{display:none}.hero-acts,.err-acts{flex-direction:column;align-items:stretch}.hero-acts .btn,.err-acts .btn{min-height:44px;font-size:15px}.hdr-mid{position:static}.hs{inset:calc(100% - 1px) 0 auto;height:57px;padding:1px 8px 8px;background:var(--hdr-bg);box-shadow:inset 0 -1px 0 var(--hdr-line);opacity:0;transition:opacity var(--dur-2) ease,visibility 0s var(--dur-2)}.hs.open{opacity:1;transition:opacity var(--dur-2) ease}.hs-f{height:48px;opacity:1;clip-path:none}.hs-x{width:40px;height:40px}.hs-pan{inset:100% 0 auto;max-height:calc(100dvh - var(--hdr) - 56px);border-width:0 0 1px;border-radius:0}.ft-in{flex-direction:column;align-items:flex-start}}@container article (max-width:719.98px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@container article (max-width:559.98px){.feat{grid-template-columns:minmax(0,1fr)}}@container article (max-width:479.98px){.cards{grid-template-columns:minmax(0,1fr)}}@media(pointer:coarse){.ibtn{width:44px;height:44px}.sb-a{min-height:44px;font-size:16px}.sb-sub .sb-a{min-height:40px;font-size:15px}.sb-x{width:44px;height:44px}.cp{width:32px;height:32px;opacity:1}.cp.cw-cp{width:36px;height:36px}.tbl-b{width:32px;height:32px}.caps>a:not(.chip){min-height:40px;padding-inline:14px}.chip{line-height:28px}.cw-btn{min-height:36px;min-width:36px;justify-content:center}.cw-tab{min-height:44px;padding-inline:12px}.cw-bar{min-height:44px}.h-a{display:none}.ft-ctl [data-slot=select-trigger],.ft-ctl [data-slot=toggle-group]{height:40px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media(forced-colors:active){.sb-a[aria-current],.toc a.on,.cw-tab[data-state=active],.ch-bar{outline:1px solid CanvasText}.ch-bar{background:CanvasText}}@media print{:root,:root[data-theme=dark]{color-scheme:light;--bg:#fff;--bg-2:#fff;--bg-3:#f1f1f1;--bg-hover:#f1f1f1;--panel:#fff;--code:#f6f6f6;--fg:#111;--fg-strong:#000;--fg-2:#333;--fg-3:#555;--line:#bbb;--line-2:#999;--brand:#000}*{box-shadow:none!important}.hdr,.side,.rail,.pager,.ft,.cw-btn,.cw-more,.hero-acts,.h-a,.cp,.tbl-nav{display:none!important}.shell{display:block}.page{display:block;padding:0}.cw.is-clip .cw-pre{max-height:none!important}.cw-tabs .cw-panel{display:block!important}.tbl-s{overflow:visible}.tbl :is(th,td){white-space:normal!important;position:static!important}h1,h2,h3,h4{break-after:avoid}pre,blockquote,figure,.callout,tr{break-inside:avoid}p,li{orphans:3;widows:3}.doc a{color:inherit;text-decoration:underline}}.doc :is(.cards,.feat,.caps){padding:0;list-style:none}.doc :is(dl,dd){margin-inline:0}.rd{min-width:0}.rd-next{margin-top:56px;padding-top:48px;border-top:1px solid var(--line-2)}.side-foot .ft-ctl [data-slot=select-trigger]{flex:1}.ns-f .ft-ctl{margin-top:8px;padding:0 8px}.caps:not(:has(.chip)){display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:24px}.caps:not(:has(.chip))>a{min-height:44px;padding:10px 14px 12px;border-color:var(--line);box-shadow:var(--sh-1);font-size:14px}.bmw .prop :is(a,button,summary,[tabindex]){scroll-margin-top:calc(var(--hdr) + 64px)}.tbl.over:not(.no-stick) .tbl-s{scroll-padding-inline-start:calc(var(--lead,0px) + 12px)}.cw-pre:focus-visible{outline-offset:-2px}@media(forced-colors:active){.fl-step[aria-selected=true],.bm-s[aria-current],.ft-ctl [data-state=on]{outline:2px solid Highlight;outline-offset:-2px}}.doc code,.cw-pre,.chip,.tag,.bm-s,.fl-bytes,.fl-kv dd,.ch-g{font-variant-ligatures:none}.chip-s,.cw-meta,.prop-m{font-variant-numeric:tabular-nums}.card b,.pager b,.subs b{text-wrap:balance}.prop dd{text-wrap:pretty}.sb-row{border-radius:var(--r);transition:background-color var(--dur-1) ease-out}.sb-row:has(>.sb-a[aria-current]){background:var(--bg-3)}.sb-row .sb-a[aria-current]{background:transparent}.sb [data-slot=collapsible-content]{overflow:hidden;contain:content}.sb [data-slot=collapsible-content][data-state=open]{animation:sb-open var(--dur-3) var(--ease-enter)}.sb [data-slot=collapsible-content][data-state=closed]{animation:sb-close var(--dur-2) var(--ease-exit)}@keyframes sb-open{0%{height:0}to{height:var(--reka-collapsible-content-height)}}@keyframes sb-close{0%{height:var(--reka-collapsible-content-height)}to{height:0}}@media(prefers-reduced-motion:reduce){.sb [data-slot=collapsible-content]{animation:none!important}}@media(hover:hover){.sb-row:hover{background:var(--bg-hover)}.sb-row .sb-a:hover,.sb-row .sb-x:hover{background:transparent}.sb-row:hover .sb-a,.sb-row:hover .sb-x{color:var(--fg-strong)}}.sb-a[aria-current]:before{content:"";position:absolute;inset-inline-start:0;top:6px;bottom:6px;width:2px;background:var(--brand)}.sb-sub .sb-a[aria-current]:before{content:none}.sb-sub .sb-a[aria-current],.toc a.on{border-inline-start-color:var(--brand)}.btn.primary{border-color:var(--brand);background:var(--brand);box-shadow:none;color:var(--brand-fg)}.btn.primary:hover{background:color-mix(in oklab,var(--brand) 88%,var(--fg-strong));color:var(--brand-fg)}a.ft-brand{color:inherit;text-decoration:none}.ft-ctl [data-slot=select-trigger]{min-width:132px;justify-content:space-between}@media(max-width:767.98px){.ft-in{gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.ft-ctl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin:0;padding:0}.ft-ctl [data-slot=select-trigger]{width:100%;min-width:0}}@keyframes rd-in{0%{opacity:0}}.rd.nv .rd-page{animation:rd-in .14s ease-out}@media(prefers-reduced-motion:reduce){.rd.nv .rd-page{animation:none}}.hs .hs-in,.hs .hs-in:focus,.hs .hs-in:focus-visible{border:0;outline:0;box-shadow:none;background:transparent}.doc.home h1{font-size:clamp(32px,4.2vw,44px);line-height:1.12;letter-spacing:-.02em}.doc.home .lead{max-width:34em;margin:14px 0 24px;font-size:clamp(17px,1.6vw,20px);line-height:1.5;text-wrap:balance}.doc.home .hero-acts{margin-bottom:0}.doc.home .hero-cmd{margin-bottom:28px}.doc.home .hero-cmd+p{margin:0 0 8px;color:var(--fg-2);font-size:14px;line-height:1.5}.doc.home .hero-cmd+p+ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px;margin:0 0 8px;padding:0;list-style:none;border-top:1px solid var(--line)}.doc.home .hero-cmd+p+ul li{display:flex;align-items:center;min-height:44px;margin:0;padding:9px 0;white-space:nowrap;border-bottom:1px solid var(--line);font-size:14px;line-height:1.45;text-wrap:pretty}.doc.home .hero-cmd+p+ul a{color:var(--fg-strong);text-decoration:none}.doc.home .hero-cmd+p+ul a code{padding:0;border:0;background:none;font-size:13px}@media(hover:hover){.doc.home .hero-cmd+p+ul a:hover{text-decoration:underline;text-decoration-thickness:from-font;text-underline-position:from-font}}@container article (max-width:620px){.doc.home .hero-cmd+p+ul{grid-template-columns:repeat(2,minmax(0,1fr))}}.brand{pointer-events:none}.brand svg{pointer-events:auto;cursor:pointer}.brand .lg-play polyline{fill:none;stroke:var(--hdr-bg)}.hero-cmd{display:flex;align-items:center;gap:4px;max-width:100%;margin:10px 0 0;padding:0 2px 0 10px;border:1px solid var(--line-2);border-radius:3px;background:var(--code)}.hero-cmd code{flex:1;min-width:0;overflow-x:auto;padding:7px 0;background:none;border:0;font:13px/1.4 var(--font-mono);white-space:nowrap;scrollbar-width:none}.hero-cmd code::-webkit-scrollbar{display:none}.hero-cmd code:before{content:"$ ";color:var(--fg-3);user-select:none}.hm-nav{flex:none;max-width:none;justify-content:flex-start}.hm-nav .hm{position:relative}.hm-nav .hm-b{height:36px;padding:0 10px 0 12px;gap:4px;border-radius:var(--r);background:transparent;color:var(--hdr-fg-2);font:500 14px/20px var(--font);white-space:nowrap;box-shadow:none;cursor:pointer;transition:background-color var(--dur-2),color var(--dur-2)}.hm-nav .hm-b>svg{top:0;width:14px;height:14px;margin:0;transition-duration:var(--dur-2);transition-timing-function:var(--ease-std)}.hm-nav .hm.has-cur .hm-b{position:relative;color:var(--hdr-fg)}.hm-nav .hm.has-cur .hm-b:after{content:"";position:absolute;inset:auto 12px calc((36px - var(--hdr)) / 2);height:2px;background:var(--hdr-focus)}.hm-nav .hm-b[data-state=open]{background:var(--hdr-hover);color:var(--hdr-fg)}@media(hover:hover){.hm-nav .hm-b:hover{background:var(--hdr-hover);color:var(--hdr-fg)}}.hm-nav .hm-c{position:absolute;top:100%;left:0;z-index:var(--z-dropdown);width:288px;max-width:calc(100vw - 24px);margin:6px 0 0;padding:8px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);color:var(--fg);box-shadow:var(--shadow);transform-origin:top left;--focus: var(--brand)}.hm-nav .hm-c[data-state=open]{animation:var(--nwt-pop-in) var(--dur-1) var(--ease-enter) backwards}.hm-nav .hm-c[data-state=closed]{animation:var(--nwt-pop-out) calc(var(--dur-1) * .75) var(--ease-exit) forwards}.hm-nav .hm-l{margin:0;padding:0;list-style:none}.hm-nav .hm-a{display:block;padding:8px;border-radius:var(--r);background:transparent;color:var(--fg);text-decoration:none;box-shadow:none;transition:background-color var(--dur-2)}.hm-nav .hm-t{display:block;font-size:14px;line-height:20px;font-weight:500;color:var(--fg)}.hm-nav .hm-d{display:block;font-size:12px;line-height:16px;font-weight:400;color:var(--fg-2);text-wrap:pretty}.hm-nav .hm-a[aria-current]{background:var(--bg-3)}.hm-nav .hm-a[aria-current] .hm-t{color:var(--fg-strong)}.hm-nav .hm-a:focus-visible{background:var(--bg-hover);outline:2px solid var(--focus);outline-offset:-2px}@media(hover:hover){.hm-nav .hm-a:not([aria-current]):hover{background:var(--bg-hover)}}:root{--sheet-top: var(--hdr)}.ns-c{top:var(--sheet-top);bottom:0;z-index:var(--z-sheet);width:100vw;max-width:none;height:auto;gap:0;border-right:1px solid var(--line);background:var(--bg-2);color:var(--fg);box-shadow:var(--sh-pop)}@media(min-width:640px){.ns-c{width:400px}}.ns-c[data-state=open],[data-slot=sheet-overlay][data-state=open]{animation-duration:.16s!important;animation-timing-function:var(--ease-enter)!important}.ns-c[data-state=closed],[data-slot=sheet-overlay][data-state=closed]{animation-duration:.12s!important;animation-timing-function:var(--ease-exit)!important}.ns-c>[data-slot=sheet-close]{display:none}.ns-c :focus-visible{outline-offset:-2px}.ns-scroll{flex:1;min-height:0;overflow:hidden auto;overscroll-behavior:contain}.ns-layers{display:flex;align-items:flex-start;width:200%;transition:translate .16s var(--ease-std)}.ns-layers.deep{translate:-50% 0}.ns-l{flex:none;width:50%;padding:8px 8px calc(24px + env(safe-area-inset-bottom))}@media(prefers-reduced-motion:reduce){.ns-layers{transition:none}}.ns-in{justify-content:space-between;gap:12px;width:100%;border:0;background:transparent;font-family:inherit;text-align:start;cursor:pointer}.ns-in svg.i{flex:none;width:16px;height:16px;color:var(--fg-2)}.ns-in.cur{color:var(--fg-strong);font-weight:500}.ns-back{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:6px;width:calc(100% + 16px);min-height:48px;margin:-8px -8px 8px;padding:0 16px;border:0;border-bottom:1px solid var(--line);background:var(--bg-2);color:var(--fg-2);font:500 15px/1.4 var(--font);cursor:pointer}.ns-back svg.i{width:16px;height:16px}.ns-top{font-weight:600;color:var(--fg-strong)}@media(hover:hover){.ns-in:hover,.ns-back:hover{background:var(--bg-hover);color:var(--fg-strong)}}.ns-f{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.ns-gh{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 8px;border-radius:var(--r);color:var(--fg);font-size:16px;line-height:24px;text-decoration:none;transition:background-color var(--dur-2)}.ns-gh svg{flex:none;width:18px;height:18px;fill:currentColor}@media(hover:hover){.ns-gh:hover{background:var(--bg-hover)}}.hs-o mark{background:transparent;color:var(--fg-strong);font-weight:600}@keyframes nwt-pop-in{0%{opacity:0;transform:scale(.97)}}@keyframes nwt-pop-out{to{opacity:0;transform:scale(.97)}}@keyframes nwt-sheet-in{0%{transform:translate(var(--nwt-sheet-x, 0),var(--nwt-sheet-y, 0))}}@keyframes nwt-sheet-out{to{transform:translate(var(--nwt-sheet-x, 0),var(--nwt-sheet-y, 0))}}.hm-list{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none}.sb [data-slot=collapsible-content][data-state=open]{height:auto}.ns-o{position:fixed;inset:var(--hdr) 0 0;z-index:var(--z-backdrop);background:var(--scrim);animation:nwt-fade-in var(--dur-3) ease backwards}@keyframes nwt-fade-in{0%{opacity:0}}.ns-c{position:fixed;left:0;display:flex;flex-direction:column;--nwt-sheet-x:-100%;animation:nwt-sheet-in .16s var(--ease-enter) backwards}.hs-in{-webkit-appearance:none;appearance:none}.cp:disabled{opacity:.4;cursor:default}html.lock{overflow:hidden}:root{--r:4px;--r-sm:3px}.cw,.hero-cmd,.callout,.card,.hm-nav .hm-c,[data-slot=select-content]{border-radius:6px}@media(min-width:640px){.hs-pan{border-radius:6px}}.tag,.doc code{border-radius:var(--r-sm)}.hdr-in{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:4px;--logo-h:18px}.brand,.brand svg{height:var(--logo-h)}.brand{grid-column:1;justify-self:start;width:auto;pointer-events:auto}.hdr-mid{grid-column:2;position:static;flex:none}.hdr-end{grid-column:3;justify-self:end;display:flex;align-items:center;gap:4px}.hdr-end .nav-btn{margin-inline-start:0}.hs{inset:0 100px 0 calc(20px + var(--logo-h) * 7.078 + 16px)}.hm-nav .hm-b{display:inline-flex;align-items:center;padding:0 12px;text-decoration:none}@media(min-width:1024px){.hdr-in{--logo-h:21px}.brand{width:auto}.hs{inset-inline-end:100px}}@media(max-width:1023.98px){.hs{inset-inline-end:140px}}@media(max-width:767.98px){.hs{inset-inline:calc(8px + var(--logo-h) * 7.078 + 12px) 152px}}@media(max-width:639.98px){.hs{inset:calc(100% - 1px) 0 auto}}.sb-t{margin-bottom:4px;color:var(--fg-strong);font-size:13px;font-weight:600}.sb-g+.sb-g{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.ns-c{background:var(--bg);box-shadow:none}.ns-l{padding:0 0 calc(24px + env(safe-area-inset-bottom))}.ns-l2{flex:none;width:50%}.ns-l2>.ns-l{width:100%}.ns-list{margin:0;padding:0;list-style:none}.ns-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;margin:0;padding:12px 16px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--fg);font:400 16px/1.4 var(--font);text-align:start;text-decoration:none;cursor:pointer;transition:background-color var(--dur-1) ease-out}.ns-row svg.i{flex:none;width:16px;height:16px;color:var(--fg-2)}.ns-c .ns-back{position:sticky;top:0;z-index:1;justify-content:flex-start;gap:8px;width:100%;min-height:48px;margin:0;padding:12px 16px;background:var(--bg);color:var(--fg-2);font:400 16px/1.4 var(--font)}.ns-top{color:var(--fg-strong);font-weight:600}.ns-gt{margin:0;padding:20px 16px 8px;border-bottom:1px solid var(--line);color:var(--fg-strong);font:600 13px/20px var(--font)}@media(hover:hover){.ns-row:hover,.ns-c .ns-back:hover{background:var(--bg-hover);color:var(--fg-strong)}}.doc h2.pt{margin:0;font-size:var(--fs-title);line-height:var(--lh-title);font-weight:700;letter-spacing:-.02em;overflow-wrap:break-word}.doc h2.pt+*{margin-top:20px}.rd-page .doc h3{margin:40px 0 12px;font-size:var(--fs-heading);line-height:1.3;font-weight:600;letter-spacing:-.01em}.rd-page .doc h2.pt+h3,.rd-page .doc p+h3:first-of-type{margin-top:24px}.doc .note{color:var(--fg-2);font-size:var(--fs-small);line-height:var(--lh-small)}.doc .link-state{margin-top:-8px}.doc .link-state.err{color:var(--err)}.js .nojs,html:not(.js) .link-state,html:not(.js) .kit-link{display:none}.parts{display:flex;flex-direction:column;gap:8px;margin:16px 0}.part{display:grid;grid-template-columns:200px minmax(0,1fr);gap:4px 24px;padding:16px 20px;border:1px solid var(--line);border-radius:6px;background:var(--panel);box-shadow:var(--sh-1)}.doc .part h4{margin:0;font-size:var(--fs-sub);line-height:1.5}.doc .part p{margin:0;font-size:var(--fs-lead);line-height:1.6;color:var(--fg);text-wrap:pretty}.part a{display:inline-block;margin-top:4px;font-size:var(--fs-small)}@media(max-width:639.98px){.part{grid-template-columns:minmax(0,1fr);padding:14px 16px}}.acc{margin:12px 0 8px;border-top:1px solid var(--line)}.acc-i{border-bottom:1px solid var(--line)}.rd-page .doc .acc-h{margin:0;font:inherit}.acc-t{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:100%;margin:0;padding:14px 4px;border:0;border-radius:var(--r);background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}.acc-flat{cursor:default}.acc-tx{display:flex;flex-direction:column;gap:2px;min-width:0}.acc .acc-n{padding:0;border:0;background:none;color:var(--fg-strong);font:600 14px/1.5 var(--mono)}.acc-d{color:var(--fg-2);font-size:14px;line-height:1.5;font-weight:400;text-wrap:pretty}.acc-t svg.i{flex:none;width:16px;height:16px;margin-top:3px;color:var(--fg-2);transition:rotate var(--dur-2) var(--ease-std)}.acc-t[data-state=open] svg.i{rotate:180deg}.acc-t:focus-visible{outline:4px solid color-mix(in oklab,var(--focus) 45%,transparent);outline-offset:0}@media(hover:hover){button.acc-t:hover .acc-n{text-decoration:underline;text-underline-offset:3px}}.acc-c{overflow:hidden}.acc-c[data-state=open]{animation:sb-open var(--dur-3) var(--ease-enter)}.acc-c[data-state=closed]{animation:sb-close var(--dur-2) var(--ease-exit)}.acc-l{display:grid;gap:8px;margin:0;padding:0 4px 16px;list-style:none}.rd-page .doc .acc-l li{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:2px 16px;margin:0;font-size:14px;line-height:1.5}.acc-s{color:var(--fg-strong);font-weight:500}.acc-sd{color:var(--fg-2)}@media(max-width:639.98px){.rd-page .doc .acc-l li{grid-template-columns:minmax(0,1fr)}}html:not(.js) .acc-c[hidden]{display:block}html:not(.js) .acc-t svg.i{display:none}@media(prefers-reduced-motion:reduce){.acc-c{animation:none!important}.acc-t svg.i{transition:none}}.os-tabs{margin:16px 0}.os-tabs .cw-tablist{margin:0;border-bottom:1px solid var(--line)}.os-tabs .cw-tab{min-height:36px;padding:0 12px;font-size:13px}.os-tabs .cw-tab:first-child{padding-inline-start:0}.os-tabs .cw-panel{padding-top:4px}.os-tabs .cw-panel>h4:first-child{margin-top:16px}.os-tabs .cw-panel>:last-child{margin-bottom:0}.hero-cmd.ps code:before{content:"PS> "}.doc .os-pre{margin-bottom:8px}@media(hover:hover){.os-tabs .cw-tab:hover{color:var(--fg-strong)}}.doc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.doc-head h1+.page-md{flex:none;margin:calc((var(--fs-title) * var(--lh-title) - 24px) / 2) 0 0;opacity:1}.ai-card{margin:24px 0 16px}.ai-card h4{margin-top:0}.ai-card .note{margin-bottom:8px}.ai-links{color:var(--fg-3);font-size:12px}.ai-links a{color:var(--fg-2);text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:.2em}.ai-note{margin-inline-start:6px}@media(hover:hover){.ai-links a:hover{color:var(--fg-strong)}}@media(max-width:767.98px){.ai-links{grid-column:1/-1}}.doc .kit-link{margin:-4px 0 16px;padding:8px 12px;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--fg-2)}.doc .kit-link b{font-weight:500;color:var(--fg)}.doc .kit-link.err{color:var(--err)}.hero-cmd{margin:16px 0}.hero-cmd+.note{margin-top:-8px}.hero-cmd .cp{flex:none;margin:0}.cw-pre.wrap{white-space:pre-wrap;overflow-wrap:anywhere}.cw-bar .cp{margin-inline-start:auto}.card small{margin-top:auto;padding-top:6px;color:var(--fg-3);font:12px/1.4 var(--mono)}.doc .props .prop-n code{font-size:13px}.prop dt .tag{align-self:center}kbd{display:inline-block;min-width:22px;padding:0 6px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--panel);box-shadow:inset 0 -1px 0 var(--line-2);color:var(--fg-strong);font:500 12px/20px var(--mono);text-align:center}.then{margin:0 6px;color:var(--fg-2);font-size:12px}.dlg{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 64px);padding:16px 20px 20px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--fg);box-shadow:var(--sh-pop);font-size:var(--fs-body)}.dlg[open]{animation:nwt-dlg-in var(--dur-3) var(--ease-enter) backwards}@keyframes nwt-dlg-in{0%{opacity:0;transform:scale(.98)}}.dlg::backdrop{background:var(--scrim)}.dlg-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.dlg-h h2{margin:0;color:var(--fg-strong);font-size:var(--fs-sub);line-height:1.4;font-weight:600}.dlg .cw-btn.ic{width:32px;height:32px}.dlg .tbl :is(th,td){background:var(--panel)}.dlg .note{margin:12px 0 0;color:var(--fg-2);font-size:var(--fs-small)}@media(hover:hover){.dlg .cw-btn:hover{background:var(--bg-hover);color:var(--fg-strong)}}.keys-btn{padding:4px 2px;border:0;background:none;color:var(--fg-2);font-size:12px;text-decoration:underline;text-decoration-color:var(--line-3);text-underline-offset:.2em;cursor:pointer}.ft-sel{position:relative}.ft-ctl [data-slot=select-trigger]{display:inline-flex;align-items:center;gap:8px}.ft-ctl [data-slot=select-trigger] svg.i{width:16px;height:16px;opacity:.5}[data-slot=select-content]{position:absolute;bottom:calc(100% + 4px);right:0;z-index:var(--z-dropdown);min-width:100%;margin:0;padding:4px;list-style:none;transform-origin:bottom right;animation:nwt-pop-in var(--dur-1) var(--ease-enter) backwards}[data-slot=select-item]{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;padding:6px 8px;white-space:nowrap}[data-slot=select-item] svg.i{width:16px;height:16px;visibility:hidden}[data-slot=select-item][aria-selected=true] svg.i{visibility:visible}@media(hover:hover){.keys-btn:hover{color:var(--fg-strong)}[data-slot=select-item]:hover{background:var(--bg-hover);color:var(--fg-strong)}}@media(pointer:coarse){.keys-btn{min-height:40px;padding-inline:8px}[data-slot=select-item]{min-height:44px}}@media(max-width:767.98px){.ft-ctl{grid-template-columns:auto minmax(0,1fr)}}.ua{position:relative;display:inline-grid;place-items:center;flex:none;width:36px;height:36px}.ua-btn{position:relative;display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:var(--hdr-hover);color:var(--hdr-fg);font:600 11px/1 var(--font);letter-spacing:.02em;cursor:pointer;transition:background-color var(--dur-2)}.ua-btn:after{content:"";position:absolute;inset:-8px}.ua-btn:disabled{visibility:hidden}.ua-btn[aria-expanded=true]{background:var(--hdr-line)}@media(hover:hover){.ua-btn:not(:disabled):hover{background:var(--hdr-line)}}.ua-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:var(--z-dropdown);min-width:220px;max-width:min(320px,calc(100vw - 16px));padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--fg);box-shadow:var(--shadow);transform-origin:top right;animation:nwt-pop-in var(--dur-1) var(--ease-enter) backwards;--focus:var(--brand)}.ua-mail{margin:0 0 4px;padding:4px 8px 8px;border-bottom:1px solid var(--line);color:var(--fg-2);font-size:13px;line-height:1.4;overflow-wrap:anywhere}.ua-out{display:flex;align-items:center;min-height:32px;padding:0 8px;border-radius:var(--r);color:var(--fg-strong);font-size:14px;font-weight:500;text-decoration:none}.ua-out:focus-visible{outline-offset:-2px}@media(hover:hover){.ua-out:hover{background:var(--bg-hover)}}@media(pointer:coarse){.ua{width:44px;height:44px}.ua-out{min-height:44px}}@media(min-width:1280px){:root{--art:880px;--g:max(32px,(100vw - var(--sb) - 12px - var(--rail) - var(--art)) / 2)}.page{grid-template-columns:minmax(32px,1fr) minmax(0,var(--art)) minmax(32px,1fr) var(--rail);column-gap:0;max-width:none;margin-inline:0;padding-inline:0 12px}.page>.rd{grid-column:2}.page>.rail{grid-column:4}}@media(min-width:1920px){:root{--art:920px}}.dev{margin:16px 0;container-type:inline-size}.dev-t,.dev-sk,.doc .dev-msg{width:100%;margin:0;border:1px solid var(--line);border-radius:6px;background:var(--panel);box-shadow:var(--sh-1)}.dev-t{border-collapse:separate;border-spacing:0;overflow:hidden;font-size:13px;line-height:1.5}.dev-t td{font-variant-numeric:tabular-nums}.dev-t :is(th,td){padding:10px 12px;border-bottom:1px solid var(--line);text-align:start;vertical-align:middle}.dev-t :is(th,td):first-child{padding-inline-start:16px}.dev-t :is(th,td):last-child{padding-inline-end:16px;text-align:end}.dev-t thead th{border-bottom-color:var(--line-2);color:var(--fg-2);font-size:12px;line-height:18px;font-weight:500;white-space:nowrap}.dev-t tbody th{color:var(--fg-strong);font-weight:500;overflow-wrap:anywhere}.dev-t tbody tr:last-child>*{border-bottom:0}.dev-t tbody th:focus-visible{outline-offset:-2px}.dev-st{display:inline-block;font:500 12px/18px var(--font)}.dev-st[data-s=active]{border-color:transparent;background:var(--ok-bg);color:var(--ok)}.dev-st[data-s=expired]{border-color:transparent;background:var(--warn-bg);color:var(--warn)}.dev .btn{min-height:28px;padding:3px 10px;font-size:13px;box-shadow:none}.dev .btn.dev-danger{border-color:var(--err);background:var(--err);color:var(--bg)}.dev .btn:disabled{opacity:.6;cursor:default}@media(hover:hover){.dev .btn.dev-danger:not(:disabled):hover{background:color-mix(in oklab,var(--err) 88%,var(--fg-strong))}}.dev-cf>td{background:var(--bg-2)}.dev-t .dev-cf>td{text-align:start}.dev-cf-b{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.doc .dev-q{margin:0;color:var(--fg-strong)}.dev-cf-a{display:flex;gap:8px}.doc .dev-msg{padding:16px;color:var(--fg-2);font-size:var(--fs-small);line-height:var(--lh-small)}.doc .dev-err{color:var(--err)}.dev-sk-r{display:grid;grid-template-columns:3fr 2fr 4fr;gap:24px;padding:16px}.dev-sk-r+.dev-sk-r{border-top:1px solid var(--line)}.dev-sk-r span{height:12px;border-radius:var(--r-sm);background:var(--bg-3)}@media(prefers-reduced-motion:no-preference){.dev-sk-r span{animation:dev-pulse 1s ease-in-out infinite alternate}}@keyframes dev-pulse{to{opacity:.5}}html:not(.js) .dev{display:none}@container (max-width:600px){.dev-t thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dev-t,.dev-t tbody,.dev-t tr,.dev-t :is(th,td){display:block}.dev-t tbody tr{padding:12px 16px;border-bottom:1px solid var(--line)}.dev-t tbody tr:last-child{border-bottom:0}.dev-t tbody :is(th,td),.dev-t tbody :is(th,td):is(:first-child,:last-child){padding:2px 0;border:0;text-align:start}.dev-t tbody th{padding-bottom:6px;font-size:14px}.dev-t td[data-l]{display:flex;justify-content:space-between;gap:16px}.dev-t td[data-l]:before{content:attr(data-l);color:var(--fg-2)}.dev-t td.dev-a:not(:empty){padding-top:10px}.dev-t .dev-cf{background:var(--bg-2)}.dev .btn{min-height:40px;padding-inline:14px;font-size:14px}.dev-a .btn,.dev-cf-a,.dev-cf-a .btn{flex:1;width:100%}}

/* Export colour attributes (data-tc = text, data-bg = background); same tokens and mapping as editor/src/editor.css */
.doc [data-tc="red"] { color: var(--err); }
.doc [data-bg="red"] { background-color: var(--err-bg); }
.doc [data-tc="orange"] { color: var(--c3); }
.doc [data-bg="orange"] { background-color: var(--c3-bg); }
.doc [data-tc="green"] { color: var(--c2); }
.doc [data-bg="green"] { background-color: var(--c2-bg); }
.doc [data-tc="blue"] { color: var(--c1); }
.doc [data-bg="blue"] { background-color: var(--c1-bg); }
.doc [data-tc="purple"] { color: var(--c4); }
.doc [data-bg="purple"] { background-color: var(--c4-bg); }
.doc [data-tc="gray"] { color: var(--c5); }
.doc [data-bg="gray"] { background-color: var(--c5-bg); }
