@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/inter-cyrillic-ext-opsz-normal-CfYZpDVp.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/inter-cyrillic-opsz-normal-BFQXbQ-f.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/inter-greek-ext-opsz-normal-BmPQvyvo.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/inter-greek-opsz-normal-BM0NlUE_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/inter-vietnamese-opsz-normal-Ci9T9ieq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/inter-latin-ext-opsz-normal-DpK-iCPk.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/build/assets/inter-latin-opsz-normal-BwkfbSeq.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}:root{--hc-brand:#126ce5;--hc-on-brand:#fff;--hc-bg:#fff;--hc-soft:#f7f7f8;--hc-soft-2:#f0f0f2;--hc-line:#e7e7ea;--hc-fg:#0e0e11;--hc-fg-2:#55555e;--hc-fg-3:#80808a;--hc-card:#fff;--hc-shadow:0 1px 2px #0e0e110a;--hc-shadow-hover:0 12px 32px -12px #0e0e1129, 0 2px 6px #0e0e110a;--hc-radius:14px;--hc-tint:color-mix(in srgb, var(--hc-brand) 9%, transparent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not(.hc-light){--hc-bg:#0b0b0d;--hc-soft:#131316;--hc-soft-2:#1a1a1e;--hc-line:#24242a;--hc-fg:#f4f4f6;--hc-fg-2:#b1b1ba;--hc-fg-3:#85858f;--hc-card:#121215;--hc-shadow:0 0 0 1px #ffffff05;--hc-shadow-hover:0 12px 32px -12px #0009;--hc-tint:color-mix(in srgb, var(--hc-brand) 18%, transparent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root.hc-dark{--hc-bg:#0b0b0d;--hc-soft:#131316;--hc-soft-2:#1a1a1e;--hc-line:#24242a;--hc-fg:#f4f4f6;--hc-fg-2:#b1b1ba;--hc-fg-3:#85858f;--hc-card:#121215;--hc-shadow:0 0 0 1px #ffffff05;--hc-shadow-hover:0 12px 32px -12px #0009;--hc-tint:color-mix(in srgb, var(--hc-brand) 18%, transparent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}body{background:var(--hc-bg);color:var(--hc-fg);font:16px/1.6 var(--hc-font,-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter Variable", Inter, system-ui, sans-serif);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--hc-brand);outline-offset:2px;border-radius:6px}.wrap{max-width:1180px;margin:0 auto;padding:0 24px}.skip{background:var(--hc-fg);color:var(--hc-bg);z-index:50;border-radius:8px;padding:8px 12px;position:absolute;top:-48px;left:12px}.skip:focus{top:12px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}svg.lucide{stroke-width:1.8px;width:18px;height:18px}.topbar{z-index:30;background:color-mix(in srgb, var(--hc-bg) 88%, transparent);-webkit-backdrop-filter:saturate(180%)blur(14px);border-bottom:1px solid var(--hc-line);position:sticky;top:0}.topbar-in{justify-content:space-between;align-items:center;gap:16px;height:60px;display:flex}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand img{object-fit:contain;width:auto;max-width:150px;height:28px}.brand-mark{background:var(--hc-brand);width:30px;height:30px;color:var(--hc-on-brand);border-radius:9px;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid}.brand-name{white-space:nowrap;text-overflow:ellipsis;font-size:15.5px;font-weight:650;overflow:hidden}.brand-sep{background:var(--hc-line);flex:none;width:1px;height:18px}.brand-hc{color:var(--hc-fg-2);white-space:nowrap;font-size:15px}.topnav{align-items:center;gap:8px;display:flex}.toplink{height:34px;color:var(--hc-fg-2);border-radius:9px;align-items:center;gap:6px;padding:0 10px;font-size:14px;display:inline-flex}.toplink:hover{background:var(--hc-soft);color:var(--hc-fg)}.toplink svg{width:15px;height:15px}@media (width<=720px){.brand-sep,.brand-hc,.toplink span{display:none}}.band{background:var(--hc-header-bg,var(--hc-brand));color:var(--hc-on-header,var(--hc-on-brand));padding:56px 0 64px}.band h1{letter-spacing:-.03em;max-width:760px;margin:0;font-size:clamp(30px,4.6vw,46px);font-weight:700;line-height:1.1}.band-sub{opacity:.86;max-width:640px;margin:12px 0 28px;font-size:18px}.band.compact{padding:22px 0}.search{max-width:680px;position:relative}.search input{border-radius:var(--hc-radius);width:100%;height:56px;font:inherit;color:#0e0e11;-webkit-appearance:none;background:#fff;border:0;outline:none;padding:0 56px 0 52px;font-size:17px;box-shadow:0 1px 2px #0000001a,0 12px 32px -10px #0000004d}.search input::-webkit-search-cancel-button{display:none}.search input:focus{box-shadow:0 0 0 4px #fff6,0 12px 32px -10px #0000004d}.search svg.lead{color:#80808a;width:20px;height:20px;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.kbd{color:#80808a;text-align:center;background:#fafafa;border:1px solid #e2e2e6;border-radius:6px;min-width:24px;height:24px;padding:0 7px;font:600 12px/22px ui-monospace,SF Mono,Menlo,monospace;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.band.compact .search input{border-radius:12px;height:46px;font-size:15.5px}.band.compact .search{max-width:560px}.suggest{color:#0e0e11;z-index:20;background:#fff;border-radius:14px;padding:6px;display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 20px 50px -12px #0000004d,0 0 0 1px #0000000d}.suggest.open{display:block}.suggest a{border-radius:9px;padding:10px 12px;display:block}.suggest a:hover,.suggest a.active{background:#f3f5fa}.suggest b{font-size:15px;font-weight:600;display:block}.suggest span{color:#6b6b73;white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}main{padding:48px 0 72px}.h-section{letter-spacing:-.02em;margin:0 0 16px;font-size:20px;font-weight:650}.h-section.sm{color:var(--hc-fg-2);letter-spacing:-.01em;margin:32px 0 10px;font-size:15px;font-weight:600}.grid+.h-section,.grid~.h-section{margin-top:56px}.grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.layout-list .grid{border:1px solid var(--hc-line);border-radius:var(--hc-radius);grid-template-columns:1fr;gap:0;overflow:hidden}.layout-list .grid .card{box-shadow:none;border:0;border-bottom:1px solid var(--hc-line);border-radius:0;padding:16px 20px}.layout-list .grid .card:last-child{border-bottom:0}.layout-list .grid .card:hover{background:var(--hc-soft);transform:none}.card{background:var(--hc-card);border:1px solid var(--hc-line);border-radius:var(--hc-radius);box-shadow:var(--hc-shadow);gap:16px;padding:22px 22px 20px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative}.card:hover{box-shadow:var(--hc-shadow-hover);border-color:color-mix(in srgb, var(--hc-brand) 30%, var(--hc-line));transform:translateY(-2px)}.card-body{min-width:0;padding-right:18px}.card h3{letter-spacing:-.015em;margin:1px 0 4px;font-size:16.5px;font-weight:650;line-height:1.3}.card p{color:var(--hc-fg-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 10px;font-size:14.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.card-go{color:var(--hc-fg-3);transition:transform .2s,color .2s;position:absolute;top:22px;right:18px;width:16px!important;height:16px!important}.card:hover .card-go{color:var(--hc-brand);transform:translate(3px)}.icon{width:42px;height:42px;color:var(--hc-brand);background:var(--hc-tint);border-radius:11px;flex:none;place-items:center;display:grid}.icon svg{width:20px;height:20px}.icon.lg{border-radius:14px;width:52px;height:52px}.icon.lg svg{width:24px;height:24px}.meta{color:var(--hc-fg-3);font-size:13px}.popular{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:4px 24px;display:grid}.popular a{border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.popular a:hover{background:var(--hc-soft)}.popular b,.list b{font-size:15px;font-weight:600;line-height:1.4;display:block}.popular small,.list small{color:var(--hc-fg-2);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:2px;font-size:14px;display:-webkit-box;overflow:hidden}.doc{color:var(--hc-fg-3);flex:none;margin-top:2px;width:18px!important;height:18px!important}.list{border:1px solid var(--hc-line);border-radius:var(--hc-radius);background:var(--hc-card);overflow:hidden}.list a{border-top:1px solid var(--hc-line);align-items:flex-start;gap:12px;padding:15px 18px;display:flex}.list a>span{flex:1;min-width:0}.list a:first-child{border-top:0}.list a:hover{background:var(--hc-soft)}.list a:hover .chev{color:var(--hc-brand);transform:translate(3px)}.chev{color:var(--hc-fg-3);flex:none;margin-top:3px;transition:transform .15s;width:16px!important;height:16px!important}.crumbs{color:var(--hc-fg-3);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:20px;font-size:13.5px;display:flex}.crumbs a:hover{color:var(--hc-brand)}.crumbs svg{width:13px!important;height:13px!important}.page-head{align-items:flex-start;gap:18px;margin-bottom:26px;display:flex}.page-head h1{letter-spacing:-.025em;margin:0 0 6px;font-size:clamp(26px,3.4vw,34px);line-height:1.15}.page-head p{color:var(--hc-fg-2);margin:0 0 6px}.with-side{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:48px;display:grid}.with-side.three{grid-template-columns:250px minmax(0,1fr) 200px}.side{flex-direction:column;gap:2px;max-height:calc(100vh - 100px);padding-bottom:12px;font-size:14px;display:flex;position:sticky;top:84px;overflow-y:auto}.side-home{color:var(--hc-fg-3);align-items:center;gap:4px;margin-bottom:10px;padding:4px 8px;font-size:13px;display:inline-flex}.side-home:hover{color:var(--hc-fg)}.side-home svg{width:14px!important;height:14px!important}.side-col{color:var(--hc-fg-2);border-radius:9px;align-items:center;gap:10px;padding:8px 10px;display:flex}.side-col:hover{background:var(--hc-soft);color:var(--hc-fg)}.side-col.on{background:var(--hc-soft-2);color:var(--hc-fg);font-weight:600}.side-col svg{color:var(--hc-fg-3);flex:none;width:16px!important;height:16px!important}.side-col.on svg{color:var(--hc-brand)}.side-col span{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.side-col small{color:var(--hc-fg-3);font-size:12px}.side-articles{border-left:1px solid var(--hc-line);flex-direction:column;margin:2px 0 8px 18px;display:flex}.side-articles a{color:var(--hc-fg-2);border-left:2px solid #0000;margin-left:-1px;padding:6px 0 6px 14px;font-size:13.5px;line-height:1.4}.side-articles a:hover{color:var(--hc-fg)}.side-articles a.on{color:var(--hc-brand);border-left-color:var(--hc-brand);font-weight:550}@media (width<=1100px){.with-side.three{grid-template-columns:230px minmax(0,1fr)}.toc{display:none}}@media (width<=860px){.with-side,.with-side.three{grid-template-columns:1fr;gap:0}.side{display:none}}.article{min-width:0;max-width:740px}.article h1{letter-spacing:-.03em;margin:0 0 12px;font-size:clamp(28px,3.8vw,40px);line-height:1.15}.article .lead{color:var(--hc-fg-2);margin:0 0 14px;font-size:18.5px;line-height:1.5}.article .updated{color:var(--hc-fg-3);border-bottom:1px solid var(--hc-line);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 32px;padding-bottom:24px;font-size:13.5px;display:flex}.article .updated svg{width:14px!important;height:14px!important}.prose{font-size:16.5px;line-height:1.75}.prose h2{letter-spacing:-.02em;margin:44px 0 12px;font-size:23px;line-height:1.3}.prose h3{letter-spacing:-.01em;margin:32px 0 8px;font-size:18.5px}.prose p{margin:0 0 18px}.prose a{color:var(--hc-brand);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.prose ul,.prose ol{margin:0 0 18px;padding-left:1.4em}.prose li{margin:6px 0}.prose li>p{margin:0}.prose li::marker{color:var(--hc-fg-3)}.prose img{border:1px solid var(--hc-line);border-radius:12px;margin:8px 0 22px}.prose blockquote{border-left:3px solid var(--hc-brand);background:var(--hc-soft);color:var(--hc-fg-2);border-radius:0 12px 12px 0;margin:0 0 20px;padding:14px 18px}.prose blockquote p:last-child{margin:0}.prose code{background:var(--hc-soft-2);border-radius:6px;padding:2px 6px;font:.88em ui-monospace,SF Mono,Menlo,Consolas,monospace}.prose pre{color:#e6e6e6;background:#0f1115;border-radius:12px;margin:0 0 20px;padding:18px 20px;font-size:14px;line-height:1.6;overflow:auto}.prose pre code{color:inherit;background:0 0;padding:0}.prose hr{border:0;border-top:1px solid var(--hc-line);margin:36px 0}.prose table{border-collapse:collapse;width:100%;margin:0 0 20px;font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--hc-line);text-align:left;padding:10px 12px}.prose th{color:var(--hc-fg-2);font-weight:600}.toc{font-size:13.5px;position:sticky;top:84px}.toc p{text-transform:uppercase;letter-spacing:.05em;color:var(--hc-fg-3);margin:0 0 10px;font-size:12px;font-weight:600}.toc a{color:var(--hc-fg-2);border-left:1px solid var(--hc-line);padding:5px 0 5px 12px;line-height:1.4;display:block}.toc a.l3{padding-left:24px;font-size:13px}.toc a:hover{color:var(--hc-fg)}.toc a.active{color:var(--hc-brand);border-left:2px solid var(--hc-brand);padding-left:11px}.feedback{text-align:center;border:1px solid var(--hc-line);border-radius:var(--hc-radius);background:var(--hc-soft);margin-top:48px;padding:24px}.feedback p{margin:0 0 14px;font-weight:600}.feedback .faces{justify-content:center;gap:10px;display:flex}.feedback button{border:1px solid var(--hc-line);background:var(--hc-card);cursor:pointer;border-radius:50%;width:52px;height:52px;font-size:26px;line-height:1;transition:transform .15s,box-shadow .15s}.feedback button:hover{transform:scale(1.08)}.feedback button[aria-pressed=true]{border-color:var(--hc-brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--hc-brand) 25%, transparent)}.feedback .thanks{color:var(--hc-fg-2);min-height:1.6em;margin:12px 0 0;font-weight:400}.related{margin-top:40px}.contact{border-radius:var(--hc-radius);background:var(--hc-soft);flex-wrap:wrap;align-items:center;gap:16px;margin-top:48px;padding:20px 22px;display:flex}.contact-icon{background:var(--hc-brand);width:42px;height:42px;color:var(--hc-on-brand);border-radius:50%;flex:none;place-items:center;display:grid}.contact-icon svg{width:20px;height:20px}.contact-text{flex:1;min-width:200px}.contact b{font-size:15.5px;display:block}.contact-text span{color:var(--hc-fg-2);font-size:14.5px}.btn{background:var(--hc-brand);color:var(--hc-on-brand);height:40px;font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14.5px;font-weight:600;transition:filter .15s;display:inline-flex}.btn:hover{filter:brightness(1.07)}.btn-sm{border-radius:9px;height:34px;padding:0 14px;font-size:13.5px}.empty{text-align:center;color:var(--hc-fg-2);padding:48px 0}.empty-card{text-align:center;border:1px dashed var(--hc-line);border-radius:var(--hc-radius);color:var(--hc-fg-2);padding:48px 24px}.empty-card svg{color:var(--hc-fg-3);width:28px!important;height:28px!important}.foot{border-top:1px solid var(--hc-line);color:var(--hc-fg-3);padding:26px 0 40px;font-size:13.5px}.foot-in{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.powered{align-items:center;gap:6px;display:inline-flex}.powered:hover{color:var(--hc-fg)}.preview-bar{color:#6b4a00;text-align:center;background:#fff4d6;padding:8px 16px;font-size:14px}.sxs{position:relative}.sxs-btn{border:1px solid var(--hc-line);background:var(--hc-card);height:34px;color:var(--hc-fg);font:inherit;cursor:pointer;border-radius:9px;align-items:center;gap:6px;max-width:180px;padding:0 10px 0 12px;font-size:13.5px;display:inline-flex}.sxs-btn:hover{background:var(--hc-soft)}.sxs-val{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sxs-btn svg{width:14px;height:14px;color:var(--hc-fg-3);flex:none}.sxs-pop{z-index:40;background:var(--hc-card);border:1px solid var(--hc-line);border-radius:12px;flex-direction:column;width:220px;max-height:320px;padding:5px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 20px 50px -12px #00000040}.sxs-pop[hidden]{display:none}.sxs-search{border:1px solid var(--hc-line);background:var(--hc-soft);height:34px;color:var(--hc-fg);font:inherit;border-radius:8px;outline:none;margin-bottom:4px;padding:0 10px;font-size:14px}.sxs-pop ul{outline:none;margin:0;padding:0;list-style:none;overflow-y:auto}.sxs-pop li{cursor:pointer;border-radius:8px;padding:7px 10px;font-size:14px}.sxs-pop li.active{background:var(--hc-soft-2)}.sxs-pop li[aria-selected=true]{color:var(--hc-brand);font-weight:600}[dir=rtl] .search input{padding:0 52px 0 56px}[dir=rtl] .search svg.lead{left:auto;right:18px}[dir=rtl] .kbd{left:14px;right:auto}[dir=rtl] .chev,[dir=rtl] .card-go{transform:scaleX(-1)}[dir=rtl] .card-go{left:18px;right:auto}[dir=rtl] .toc a,[dir=rtl] .side-articles a{border-left:0;border-right:1px solid var(--hc-line);padding:5px 12px 5px 0}.foot-links{flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.foot-links a{color:var(--hc-fg-3);align-items:center;gap:6px;display:inline-flex}.foot-links a:hover{color:var(--hc-fg)}.foot-links svg{width:16px;height:16px}.foot-text{color:var(--hc-fg-3);flex-basis:100%;font-size:13.5px}
