@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.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(/_astro/inter-cyrillic-wght-normal.DqGufNeO.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(/_astro/inter-greek-ext-wght-normal.DlzME5K_.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(/_astro/inter-greek-wght-normal.CkhJZR-_.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(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.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(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.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(/_astro/inter-latin-wght-normal.Dx4kXJAl.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");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{--paper:#f6f7f9;--panel:#eef0f3;--raised:#fff;--ink:#1b1d21;--muted:#5d6470;--line:#e2e5ea;--line-strong:#c3c8d0;--trace:#0f6cbd;--trace-ink:#fff;--trace-soft:#e8f1fb;--warn:#8a4b00;--warn-soft:#fdf3e3;--danger:#b42318;--danger-soft:#fdecea;--ok:#107c41;--shadow-1:0 1px 2px #1018280d, 0 1px 3px #10182812;--shadow-2:0 2px 4px #1018280d, 0 8px 24px #10182814;--sans:"Inter Variable", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, sans-serif;--serif:var(--sans);--mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--t-xs:.8125rem;--t-sm:.9063rem;--t-md:1rem;--t-lg:1.1875rem;--t-xl:1.5rem;--t-2xl:clamp(1.75rem, 1.35rem + 1.3vw, 2.25rem);--t-3xl:clamp(2.1rem, 1.5rem + 2.6vw, 3.4rem);--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--s7:3rem;--s8:4.5rem;--s9:7rem;--r-ctl:8px;--r-panel:14px;--wrap:76rem;--gutter:clamp(1rem, .5rem + 2.5vw, 2.5rem);--ease:cubic-bezier(.2, .7, .2, 1);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#141518;--panel:#1c1e22;--raised:#202227;--ink:#eceef1;--muted:#a3aab4;--line:#2c2f35;--line-strong:#474c55;--trace:#5ca9f5;--trace-ink:#08182a;--trace-soft:#142a42;--warn:#f0b867;--warn-soft:#2d2416;--danger:#f39a8f;--danger-soft:#331b18;--ok:#6ccb93;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 24px #00000073;color-scheme:dark}}:root[data-theme=dark]{--paper:#141518;--panel:#1c1e22;--raised:#202227;--ink:#eceef1;--muted:#a3aab4;--line:#2c2f35;--line-strong:#474c55;--trace:#5ca9f5;--trace-ink:#08182a;--trace-soft:#142a42;--warn:#f0b867;--warn-soft:#2d2416;--danger:#f39a8f;--danger-soft:#331b18;--ok:#6ccb93;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 24px #00000073;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:5rem}body{background:var(--paper);color:var(--ink);font:400 var(--t-md) / 1.6 var(--sans);font-feature-settings:"cv11", "ss03";text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}img,svg{max-width:100%;height:auto}h1,h2,h3,h4{font-family:var(--sans);letter-spacing:-.02em;margin:0 0 var(--s4);text-wrap:balance;line-height:1.15}h1{font-size:var(--t-3xl);letter-spacing:-.035em;font-weight:750}h2{font-size:var(--t-2xl);font-weight:700}h3{font-size:var(--t-lg);letter-spacing:-.01em;font-weight:620}p{margin:0 0 var(--s4);text-wrap:pretty}a{color:var(--trace);text-decoration:none}a:hover{text-underline-offset:.18em;text-decoration:underline}p a,li a,dd a,.prose a{text-underline-offset:.18em;text-decoration:underline 1px}code,kbd,pre,samp{font-family:var(--mono);font-size:.9em}:not(pre)>code{background:var(--panel);border-radius:3px;padding:.1em .35em}hr{border:0;border-top:1px solid var(--line);margin:var(--s7) 0}::selection{background:var(--trace);color:var(--trace-ink)}:focus-visible{outline:2px solid var(--trace);outline-offset:3px;border-radius:2px}.wrap{width:100%;max-width:var(--wrap);padding-inline:var(--gutter);margin-inline:auto}.grid{column-gap:var(--s5);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.section{padding-block:var(--s8)}.section+.section:before{content:"";background:var(--line);height:1px;margin:calc(-1 * var(--s8)) 0 var(--s8);grid-column:1/-1;display:block}.measure{max-width:40rem}.prose{max-width:40rem;font-size:1.0625rem;line-height:1.75}.prose h2,.prose h3{margin-top:var(--s6)}.prose h2{font-size:var(--t-xl)}.prose>:first-child{margin-top:0}.prose ul,.prose ol{padding-left:1.25em}.prose li+li{margin-top:var(--s2)}.lede{font-size:var(--t-lg);color:var(--muted);max-width:38rem;line-height:1.6}.muted{color:var(--muted)}.small{font-size:var(--t-sm)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip{left:var(--s4);background:var(--ink);color:var(--paper);padding:var(--s2) var(--s4);z-index:100;border-radius:var(--r-ctl);position:absolute;top:-3rem}.skip:focus{top:var(--s3)}.site-header{z-index:20;background:var(--raised);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .wrap{align-items:center;gap:var(--s4);min-height:4rem;display:flex}.wordmark{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:.55rem;margin-right:auto;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-flex}.wordmark svg{flex:none;width:30px;height:30px}.nav{gap:var(--s1);display:flex}.hsearch input[type=search]{width:15rem;font-size:var(--t-sm);background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a818c' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat .8rem center / 16px;border-color:#0000;border-radius:999px;padding:.5rem .9rem .5rem 2.3rem;line-height:1.35}.hsearch input[type=search]:focus-visible{background-color:var(--raised);border-color:var(--trace)}@media (width<=1000px){.hsearch{display:none}}.nav a{color:var(--muted);font-size:var(--t-sm);padding:var(--s2) var(--s3);border-radius:var(--r-ctl);font-weight:550;text-decoration:none}.nav a:hover{color:var(--ink);background:var(--panel);text-decoration:none}.nav a[aria-current=page]{color:var(--trace);background:var(--trace-soft)}.icon-btn{appearance:none;background:var(--panel);color:var(--ink);border-radius:var(--r-ctl);cursor:pointer;border:1px solid #0000;place-items:center;width:2.25rem;height:2.25rem;display:inline-grid}.icon-btn:hover{border-color:var(--line-strong)}.icon-btn svg{width:18px;height:18px}.menu-btn{display:none}@media (width<=760px){.menu-btn{display:inline-grid}.nav{background:var(--paper);border-bottom:1px solid var(--line);padding:var(--s3) var(--gutter) var(--s5);flex-direction:column;display:none;position:absolute;top:100%;left:0;right:0}.nav.open{display:flex}.nav a{font-size:var(--t-md);padding:var(--s3) 0}.nav a:hover,.nav a[aria-current=page]{background:0 0}}.site-footer{border-top:1px solid var(--line);background:var(--raised);padding-block:var(--s6) var(--s4);margin-top:var(--s8);font-size:var(--t-sm);color:var(--muted)}.foot{gap:var(--s5) var(--s6);grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);display:grid}.foot-brand p{margin:var(--s3) 0;max-width:22rem}.foot-social,.foot-col ul{margin:0;padding:0;list-style:none}.foot-social{gap:var(--s2) var(--s4);flex-wrap:wrap;display:flex}.foot-col h2{font-size:var(--t-sm);color:var(--ink);margin-bottom:var(--s3);letter-spacing:0}.foot-col li+li{margin-top:var(--s2)}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--trace);text-decoration:underline}.site-footer .wordmark{color:var(--ink)}.colophon{justify-content:space-between;gap:var(--s3);border-top:1px solid var(--line);padding-top:var(--s4);font-size:var(--t-xs);flex-wrap:wrap;grid-column:1/-1;display:flex}@media (width<=640px){.foot{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}.btn{appearance:none;justify-content:center;align-items:center;gap:var(--s2);font:600 var(--t-sm) / 1 var(--sans);border-radius:var(--r-ctl);border:1px solid var(--line-strong);background:var(--raised);color:var(--ink);cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease);min-height:2.75rem;padding:.7rem 1.15rem;text-decoration:none;display:inline-flex}.btn:hover{background:var(--panel);text-decoration:none}.btn-primary{background:var(--trace);border-color:var(--trace);color:var(--trace-ink);box-shadow:var(--shadow-1)}.btn-primary:hover{background:color-mix(in srgb, var(--trace) 86%, var(--ink))}.btn[disabled]{opacity:.55;cursor:progress}.btn-sm{min-height:2.1rem;font-size:var(--t-xs);padding:.45rem .75rem}.field{gap:var(--s1);margin-bottom:var(--s4);display:grid}.field>label,.field>.label{font-size:var(--t-sm);font-weight:600}.field .help{font-size:var(--t-xs);color:var(--muted)}input[type=text],input[type=number],input[type=date],input[type=datetime-local],input[type=search],input[type=email],input[type=tel],input[type=url],input[type=time],input[type=password],select,textarea{width:100%;font:400 var(--t-md) / 1.45 var(--sans);color:var(--ink);background:var(--raised);border:1px solid var(--line-strong);border-radius:var(--r-ctl);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);padding:.6rem .8rem}input[type=text]:hover,input[type=number]:hover,input[type=email]:hover,select:hover,textarea:hover{border-color:color-mix(in srgb, var(--line-strong) 60%, var(--ink))}textarea{resize:vertical;min-height:6rem}textarea.mono,input.mono{font-family:var(--mono);font-size:var(--t-sm)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--trace);box-shadow:0 0 0 3px color-mix(in srgb, var(--trace) 25%, transparent);outline:none}input[type=color]{border:1px solid var(--line-strong);border-radius:var(--r-ctl);background:var(--raised);width:3.25rem;height:2.5rem;padding:2px}.check{align-items:center;gap:var(--s2);font-size:var(--t-sm);margin-bottom:var(--s3);cursor:pointer;display:flex}.check input{width:1.1rem;height:1.1rem;accent-color:var(--trace)}input[type=file]{font:inherit;font-size:var(--t-sm);width:100%;padding:var(--s4);border:1px dashed var(--line-strong);border-radius:var(--r-panel);background:var(--raised)}input[type=file]::file-selector-button{font:600 var(--t-sm) var(--sans);border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);border-radius:var(--r-ctl);margin-right:var(--s3);cursor:pointer;padding:.5rem .8rem}.searchbar{gap:var(--s2);max-width:36rem;display:flex}.searchbar input{flex:1;min-width:0}.tag{font-size:var(--t-xs);color:var(--ink);background:var(--panel);border-radius:999px;padding:.25rem .7rem;font-weight:550;text-decoration:none;display:inline-block}a.tag:hover{background:var(--trace-soft);color:var(--trace);text-decoration:none}.taglist{gap:var(--s2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs{padding-top:var(--s4)}.breadcrumbs ol{margin:0 0 var(--s5);gap:var(--s2);font-size:var(--t-sm);color:var(--muted);flex-wrap:wrap;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"›";margin-right:var(--s2);color:var(--muted)}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--trace);text-decoration:underline}.breadcrumbs [aria-current]{color:var(--ink);font-weight:550}.placeholder-note{border-left:3px solid var(--warn);background:var(--warn-soft);padding:var(--s3) var(--s4);font-size:var(--t-sm);border-radius:0 var(--r-ctl) var(--r-ctl) 0;margin-block:var(--s4)}.page-head{padding-block:var(--s7) var(--s6)}.page-head h1{font-size:var(--t-2xl);max-width:22ch}.page-head .lede{margin-top:var(--s3)}.def{gap:var(--s2) var(--s5);grid-template-columns:minmax(8rem,12rem) 1fr;margin:0;display:grid}.def dt{color:var(--muted);font-size:var(--t-sm)}.def dd{margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.breadcrumbs,.skip,.site-header,.site-footer,.no-print{display:none!important}body{color:#000;background:#fff}a{color:#000}}.card{background:var(--raised);border:1px solid var(--line);border-radius:var(--r-panel);box-shadow:var(--shadow-1)}.eyebrow{font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--trace);margin-bottom:var(--s2);font-weight:650}
