@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.g30qAdWV.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-400-normal.DZqxrq2p.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-400-normal.BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-greek-400-normal._efipK4i.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-400-normal.D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-vietnamese-400-normal.DG4YqDda.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-400-normal.fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-ext-400-normal.C5H60-Va.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-400-normal.RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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 Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-ext-400-italic.BELOEI8R.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-400-italic.CfSXsIbO.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-400-italic.D9J6q4_O.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-400-italic.Bf1n82Tb.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-greek-400-italic.BEZwmy7D.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-400-italic.CTYLy0lX.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-vietnamese-400-italic.BbRnwouv.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-400-italic.78jqtfZH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-ext-400-italic.Du9zzoL2.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-400-italic.V_9i1P_m.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-italic.CZTNEAuW.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-400-italic.CsGl1sm0.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.Cs5J6C77.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-500-normal.CocWQlwt.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-500-normal.ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-greek-500-normal.JMMifIXV.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-500-normal.CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-vietnamese-500-normal.e4dixQRQ.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-500-normal.BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-ext-500-normal.DakdToA3.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-500-normal.D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.DUMzJB7m.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-600-normal.71GNu3SW.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-600-normal.BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-greek-600-normal.DzTrcv_p.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-600-normal.D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-vietnamese-600-normal.DpPYBSTl.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-600-normal.DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-ext-600-normal.DOrvGEcy.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-600-normal.DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-head: "Space Grotesk Variable", "Helvetica Neue", Arial, sans-serif;--font-body: "IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--size-0: .8125rem;--size-1: .9375rem;--size-2: 1.0625rem;--size-3: 1.3125rem;--size-4: 1.75rem;--size-5: 2.5rem;--size-6: clamp(2.5rem, 6vw, 3.75rem);--measure: 42rem;--site-width: 72rem;--gutter: clamp(1.25rem, 4.5vw, 2.75rem);--ease: cubic-bezier(.25, .7, .25, 1)}:root,[data-mode=light]{color-scheme:light;--paper: #f6f4f0;--surface: #fcfbf9;--well: #edeae3;--ink: #1b1917;--ink-2: #6e675e;--line: #e0dcd3;--line-2: #b8b2a5;--copper: #a84e24;--copper-ink: #ffffff;--copper-tint: rgba(168, 78, 36, .08)}[data-mode=dark]{color-scheme:dark;--paper: #141311;--surface: #1c1a18;--well: #211f1c;--ink: #eae6df;--ink-2: #a29a8e;--line: #322f2a;--line-2: #514c43;--copper: #dd9468;--copper-ink: #141311;--copper-tint: rgba(221, 148, 104, .1)}[data-mode=dark] .astro-code,[data-mode=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important}*,*:before,*:after{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--size-2);line-height:1.65;color:var(--ink);background:var(--paper);min-height:100dvh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}main{flex:1}img,svg,video{display:block;max-width:100%;height:auto}h1,h2,h3,h4{font-family:var(--font-head);font-weight:500;line-height:1.08;letter-spacing:-.02em;text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:none}a:hover{color:var(--copper)}:focus-visible{outline:2px solid var(--copper);outline-offset:3px}::selection{background:var(--copper);color:var(--copper-ink)}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}code,pre,kbd{font-family:var(--font-mono)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.wrap{width:100%;max-width:calc(var(--site-width) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.wrap-text{max-width:calc(var(--measure) + 2 * var(--gutter))}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip{position:absolute;top:.75rem;left:.75rem;z-index:99;padding:.5rem 1rem;background:var(--ink);color:var(--paper);transform:translateY(-300%)}.skip:focus{transform:none}.kicker{font-family:var(--font-head);font-size:var(--size-0);font-weight:500;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-2)}.rule-head{display:flex;align-items:baseline;gap:1rem;border-top:1px solid var(--line-2);padding-top:.75rem;margin-bottom:2rem}.rule-head .kicker{color:var(--ink)}.rule-head .aside{margin-left:auto;font-size:var(--size-0);color:var(--ink-2);white-space:nowrap}.rule-head .aside:hover{color:var(--copper)}.tag{display:inline-block;font-family:var(--font-mono);font-size:var(--size-0);line-height:1;padding:.35em .6em;border:1px solid var(--line-2);border-radius:2px;color:var(--ink-2);background:transparent;transition:all .12s var(--ease)}a.tag:hover{color:var(--copper);border-color:var(--copper)}.tag.is-on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.tag-row{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--font-head);font-size:var(--size-0);font-weight:500;text-transform:uppercase;letter-spacing:.1em;padding:.8em 1.4em;border:1px solid var(--line-2);border-radius:2px;transition:all .14s var(--ease)}.btn:hover{border-color:var(--copper);color:var(--copper)}.btn-solid{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn-solid:hover{background:var(--copper);border-color:var(--copper);color:var(--copper-ink)}.page-head{padding-block:clamp(2.5rem,7vh,4.5rem) 2.25rem}.page-head h1{font-size:var(--size-6);margin-top:.5rem}.page-head .lede{margin-top:1rem;max-width:52ch;color:var(--ink-2);font-size:var(--size-2)}.prose{line-height:1.72}.prose>*+*{margin-top:1.15em}.prose h2,.prose h3{margin-top:2.2em;scroll-margin-top:5rem}.prose h2{font-size:var(--size-4)}.prose h3{font-size:var(--size-3)}.prose ul,.prose ol{padding-left:1.35em}.prose li+li{margin-top:.4em}.prose li::marker{color:var(--copper)}.prose a{color:var(--copper);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.prose blockquote{border-left:2px solid var(--copper);padding-left:1.25em;color:var(--ink-2)}.prose hr{border:0;border-top:1px solid var(--line);margin-block:2.5em}.prose img,.prose video{border:1px solid var(--line);margin-inline:auto}.prose figcaption{font-size:var(--size-0);color:var(--ink-2);text-align:center;margin-top:.6em}.prose :not(pre)>code{font-size:.86em;background:var(--well);border:1px solid var(--line);border-radius:2px;padding:.1em .35em}.prose pre{font-size:var(--size-1);line-height:1.55;padding:1.1rem 1.3rem;border:1px solid var(--line);border-radius:2px;overflow-x:auto}.prose table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;font-size:var(--size-1)}.prose th,.prose td{text-align:left;padding:.55em 1em;border:1px solid var(--line)}.prose th{font-family:var(--font-head);font-weight:500;background:var(--well)}.prose iframe{width:100%;aspect-ratio:16 / 9;height:auto;border:1px solid var(--line)}button[data-astro-cid-3tss6vsj]{display:grid;place-items:center;width:2.1rem;height:2.1rem;border:1px solid var(--line);border-radius:2px;color:var(--ink-2)}button[data-astro-cid-3tss6vsj]:hover{color:var(--copper);border-color:var(--copper)}.moon[data-astro-cid-3tss6vsj],[data-mode=dark] .sun[data-astro-cid-3tss6vsj]{display:none}[data-mode=dark] .moon[data-astro-cid-3tss6vsj]{display:block}header[data-astro-cid-ctg3m53h]{border-bottom:1px solid var(--line)}.bar[data-astro-cid-ctg3m53h]{display:flex;align-items:center;gap:1.25rem;height:3.5rem}.mark[data-astro-cid-ctg3m53h]{font-family:var(--font-head);font-weight:600;letter-spacing:.02em;margin-right:auto}.mark[data-astro-cid-ctg3m53h] span[data-astro-cid-ctg3m53h]{color:var(--copper)}ul[data-astro-cid-ctg3m53h]{display:flex;gap:clamp(.85rem,2.5vw,1.6rem);list-style:none;padding:0}nav[data-astro-cid-ctg3m53h] a[data-astro-cid-ctg3m53h]{font-family:var(--font-head);font-size:var(--size-1);font-weight:500;color:var(--ink-2);padding-block:.3rem}nav[data-astro-cid-ctg3m53h] a[data-astro-cid-ctg3m53h]:hover{color:var(--ink)}nav[data-astro-cid-ctg3m53h] a[data-astro-cid-ctg3m53h][aria-current=page]{color:var(--ink);border-bottom:2px solid var(--copper)}footer[data-astro-cid-gcn2mc3v]{border-top:1px solid var(--line);margin-top:6rem}.inner[data-astro-cid-gcn2mc3v]{display:flex;flex-wrap:wrap;gap:.75rem 2rem;justify-content:space-between;padding-block:1.75rem;font-size:var(--size-0);color:var(--ink-2)}ul[data-astro-cid-gcn2mc3v]{display:flex;flex-wrap:wrap;gap:1.4rem;list-style:none;padding:0}a[data-astro-cid-gcn2mc3v]:hover{color:var(--copper)}
