@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}@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: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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+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 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+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 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+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 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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+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 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+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 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+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}.theme-icon[data-astro-cid-x3pjskd3]{display:none}:root[data-theme=dark] .theme-icon-sun[data-astro-cid-x3pjskd3],:root[data-theme=light] .theme-icon-moon[data-astro-cid-x3pjskd3]{display:block}:root:not([data-theme]) .theme-icon-moon[data-astro-cid-x3pjskd3]{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme]) .theme-icon-moon[data-astro-cid-x3pjskd3]{display:none}:root:not([data-theme]) .theme-icon-sun[data-astro-cid-x3pjskd3]{display:block}}.wm{--wm-pre: .13s;--wm-cross: .3s;--wm-band: .1;--wm-trace: .76s;--wm-flare: .52s;--wm-glitch: .14s;--wm-glow: .55;--wm-noise-font: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--wm-scan-dur: calc(var(--wm-cross) * (1 + var(--wm-band)));--wm-run: calc(var(--wm-pre) + var(--wm-scan-dur));--wm-caret-dur: calc(var(--wm-run) + .7s);--wm-glow-a: color-mix(in srgb, var(--signal) calc(var(--wm-glow) * 62%), transparent);--wm-glow-b: color-mix(in srgb, var(--signal) calc(var(--wm-glow) * 22%), transparent);--wm-pad-l: .46em;--wm-pad-r: 1.05em;--wm-pad-y: .34em;position:relative;display:inline-flex;align-items:baseline;isolation:isolate}.wm-sr{-webkit-user-select:none;-moz-user-select:none;user-select:none}.wm-glyphs{display:inline-flex;align-items:baseline}.wm-seg{letter-spacing:-.025em;color:var(--wm-rest);transition:color .22s cubic-bezier(.16,1,.3,1)}.wm-seg--prefix{--wm-rest: var(--signal)}.wm-seg--name{margin-left:1px}.wm--header .wm-seg--name{--wm-rest: var(--ink)}.wm--hero .wm-seg--name{--wm-rest: var(--signal)}.wm--hero{display:flex;width:-moz-fit-content;width:fit-content}.wm-ch{display:inline-block;text-align:center;letter-spacing:0}.wm-ch.is-noise{font-family:var(--wm-noise-font);font-size:.94em;font-weight:400;color:var(--ink-3)}.wm-frame{position:absolute;top:calc(-1 * var(--wm-pad-y));right:calc(-1 * var(--wm-pad-r));bottom:calc(-1 * var(--wm-pad-y));left:calc(-1 * var(--wm-pad-l));pointer-events:none;z-index:1}.wm-frame svg{display:block;overflow:visible}.wm-frame rect{fill:none;stroke:var(--signal);stroke-width:1}.wm-frame-rest{opacity:0;transition:opacity 0s}.wm-frame-run{stroke-dasharray:22 78;stroke-dashoffset:100;opacity:0}.wm-scan-clip{position:absolute;top:calc(-1 * var(--wm-pad-y));bottom:calc(-1 * var(--wm-pad-y));left:0;right:0;overflow:hidden;pointer-events:none;z-index:2}.wm-scan{position:absolute;inset:0;width:100%;opacity:0;background-image:linear-gradient(90deg,transparent 0,var(--wm-glow-b) calc(var(--wm-band) * 100%),transparent calc(var(--wm-band) * 100%))}.wm-scan:after{content:"";position:absolute;top:0;bottom:0;left:calc(var(--wm-band) * 100%);width:1.5px;margin-left:-1.5px;background:var(--signal);box-shadow:0 0 6px var(--wm-glow-a)}.wm-caret{position:absolute;left:100%;top:50%;width:.42em;height:.95em;margin-left:.24em;transform:translateY(-50%);background:var(--signal);opacity:0;pointer-events:none;z-index:2}@media(prefers-reduced-motion:no-preference){.wm-frame-rest{transition:opacity .24s cubic-bezier(.16,1,.3,1)}@keyframes wm-trace{0%{stroke-dashoffset:100;opacity:0}8%{opacity:1}82%{opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes wm-scan{0%{transform:translate3d(calc(var(--wm-band) * -100%),0,0)}to{transform:translate3d(100%,0,0)}}@keyframes wm-flare{0%{color:var(--signal);text-shadow:0 0 calc(7px * var(--wm-glow)) var(--wm-glow-a),0 0 calc(16px * var(--wm-glow)) var(--wm-glow-b)}55%{text-shadow:0 0 calc(3px * var(--wm-glow)) var(--wm-glow-b),0 0 0 transparent}to{color:var(--wm-rest);text-shadow:none}}@keyframes wm-glitch{0%{transform:translateZ(0);text-shadow:none}18%{transform:translate3d(-.7px,0,0);text-shadow:1.4px 0 0 color-mix(in srgb,var(--signal) 70%,transparent),-1.4px 0 0 color-mix(in srgb,var(--info) 62%,transparent)}42%{transform:translate3d(.8px,0,0);text-shadow:-1.7px 0 0 color-mix(in srgb,var(--signal) 62%,transparent),1.7px 0 0 color-mix(in srgb,var(--info) 55%,transparent)}68%{transform:translate3d(-.35px,0,0);text-shadow:.9px 0 0 color-mix(in srgb,var(--signal) 45%,transparent),-.9px 0 0 color-mix(in srgb,var(--info) 38%,transparent)}to{transform:translateZ(0);text-shadow:none}}@keyframes wm-caret{0%,11%{opacity:0}12%,33%{opacity:1}34%,47%{opacity:0}48%,68%{opacity:1}69%,82%{opacity:0}83%,93%{opacity:1}to{opacity:0}}.wm.is-running .wm-frame-run{animation:wm-trace var(--wm-trace) cubic-bezier(.22,.68,.24,1) both}.wm.is-running .wm-scan{opacity:1;animation:wm-scan var(--wm-scan-dur) linear var(--wm-pre) both}.wm.is-running .wm-caret{animation:wm-caret var(--wm-caret-dur) steps(1,end) both}.wm.is-glitch .wm-glyphs{animation:wm-glitch var(--wm-glitch) linear both}.wm-ch.is-flare{animation:wm-flare var(--wm-flare) cubic-bezier(.16,1,.3,1) forwards}}.wm.is-hot .wm-frame-rest{opacity:.22}.wm--header.is-hot .wm-seg--name{--wm-rest: color-mix(in srgb, var(--ink) 78%, var(--signal))}.wm--hero.is-hot .wm-seg--name,.wm.is-hot .wm-seg--prefix{--wm-rest: var(--signal-2)}@media(prefers-reduced-motion:reduce){.wm-seg{transition:none}.wm.is-hot .wm-frame-rest{opacity:.32}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:IBM Plex Sans,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.shell{width:100%;max-width:82rem;margin-inline:auto;padding-inline:var(--gutter)}.data{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem;letter-spacing:.01em;color:var(--ink-3)}.section-title{font-size:clamp(1.5rem,3vw,2rem);line-height:1.08;color:var(--ink)}.section-index{display:flex;align-items:center;gap:.625rem;margin-bottom:.75rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem;line-height:1;color:var(--ink-3)}.section-index:before{content:"";flex:none;width:1.375rem;height:1px;background:var(--signal)}.tick{display:block;width:2.75rem;height:2px;background:var(--signal)}.scroll-cue{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);flex-direction:column;align-items:center;gap:.6875rem;text-decoration:none;color:var(--ink-3);transition:color .2s ease}.scroll-cue-label{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase}.scroll-cue-track{position:relative;width:1px;height:2.75rem;background:var(--rule);overflow:hidden}.scroll-cue-track:after{content:"";position:absolute;inset-inline:0;top:0;height:45%;background:var(--signal)}.scroll-cue:hover,.scroll-cue:focus-visible{color:var(--signal)}.ledger{border-block:1px solid var(--rule)}.row{display:block;position:relative;padding:1.625rem 0;text-decoration:none}.row+.row{border-top:1px solid var(--rule)}.row:after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:1px;background:var(--signal);transform:scaleX(0);transform-origin:0 50%;transition:transform .32s cubic-bezier(.16,1,.3,1)}.row:hover:after,.row:focus-visible:after{transform:scaleX(1)}.row-grid{display:grid;gap:.875rem 2rem}@media(min-width:768px){.row-grid{grid-template-columns:minmax(0,1fr) 13rem;align-items:start}.row-grid-dated{grid-template-columns:6.5rem minmax(0,1fr)}}.row-rail{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem;line-height:1.7;color:var(--ink-3)}.row-title{font-family:Space Grotesk Variable,Space Grotesk,ui-sans-serif,sans-serif;font-weight:500;font-size:clamp(1.1875rem,2.2vw,1.5rem);line-height:1.2;letter-spacing:-.022em;color:var(--ink);text-wrap:balance;transition:color .2s ease}.row:hover .row-title,.row:focus-visible .row-title{color:var(--signal)}.row-sub{margin-top:.25rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem;color:var(--ink-3)}.row-abstract{margin-top:.625rem;font-size:.9375rem;line-height:1.62;color:var(--ink-2);max-width:62ch}.row-aside{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem;color:var(--ink-3)}@media(min-width:768px){.row-aside{flex-direction:column;align-items:flex-end;text-align:right;gap:.625rem;padding-top:.25rem}}.sheet-row{display:grid;grid-template-columns:minmax(0,1fr);gap:.25rem;padding:.75rem 0;border-top:1px solid var(--rule)}@media(min-width:480px){.sheet-row{grid-template-columns:7.5rem minmax(0,1fr);gap:.375rem 1.25rem;align-items:baseline}}.sheet-key{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem;color:var(--ink-3)}.sheet-val{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.8125rem;line-height:1.6;color:var(--ink-2);min-width:0;overflow-wrap:break-word}.sheet-val a{color:var(--signal);text-decoration:none;border-bottom:1px solid var(--rule-2)}.sheet-val a:hover{border-bottom-color:var(--signal)}.flag{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem;white-space:nowrap}.\!stack{position:relative!important;perspective:1500px!important;perspective-origin:62% 38%!important}.stack{position:relative;perspective:1500px;perspective-origin:62% 38%}.stack-planes{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;transform:rotateX(calc(9deg + var(--rx, 0deg))) rotateY(calc(-13deg + var(--ry, 0deg)));transition:transform .3s cubic-bezier(.16,1,.3,1)}.plane{position:relative;transform:translate(calc(var(--i) * .75rem));z-index:calc(10 - var(--i))}.plane+.plane{margin-top:-.5rem}.plane-face{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 1.25rem;padding:1.125rem 1.25rem;min-height:5rem;text-decoration:none;background:var(--surface);border:1px solid var(--rule-2);box-shadow:inset 0 1px 0 var(--sheen),0 22px 44px -18px var(--shadow),0 4px 12px -6px var(--shadow-2);transition:border-color .2s ease,background-color .2s ease}.plane-face:after{content:"";position:absolute;inset:0;background:var(--ground);opacity:calc(var(--i) * .085);pointer-events:none;transition:opacity .2s ease}.plane-face:before{content:"";position:absolute;inset-block:0;left:0;width:2px;background:var(--rule-2);transition:background-color .2s ease}.plane-body{position:relative;z-index:1;min-width:0}.plane-name{display:block;font-family:Space Grotesk Variable,Space Grotesk,ui-sans-serif,sans-serif;font-weight:500;font-size:1.1875rem;line-height:1.15;letter-spacing:-.02em;color:var(--ink);transition:color .2s ease}.plane-note{display:block;margin-top:.3125rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem;color:var(--ink-3)}.plane-count{position:relative;z-index:1;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.25rem;line-height:1;color:var(--rule-2);transition:color .2s ease}.plane{transition:transform .22s cubic-bezier(.16,1,.3,1)}.plane:hover,.plane:focus-within{transform:translate(calc(var(--i) * .75rem)) translateY(-4px);z-index:20}.plane:hover .plane-face,.plane:focus-within .plane-face{border-color:var(--signal);background:var(--ground-2)}.plane:hover .plane-face:after,.plane:focus-within .plane-face:after{opacity:0}.plane:hover .plane-face:before,.plane:focus-within .plane-face:before{background:var(--signal)}.plane:hover .plane-name,.plane:focus-within .plane-name,.plane:hover .plane-count,.plane:focus-within .plane-count{color:var(--signal)}@media(max-width:1023px){.\!stack{height:auto!important;perspective:none!important}.stack{height:auto;perspective:none}.stack-planes{transform:none;transform-style:flat;border-top:1px solid var(--rule)}.plane{position:static;transform:none}.plane+.plane{margin-top:0}.plane-face{min-height:0;padding:1rem .125rem;background:transparent;border:none;border-bottom:1px solid var(--rule);box-shadow:none}.plane-face:after,.plane-face:before{display:none}.plane:hover,.plane:focus-within{transform:none}.plane:hover .plane-face,.plane:focus-within .plane-face{background:var(--surface);border-color:var(--rule)}}.prose{max-width:var(--measure);font-size:1.09375rem;line-height:1.72;color:var(--ink-2);text-wrap:pretty}.prose>*+*{margin-top:1.35em}.prose p{margin-bottom:0}.prose strong{color:var(--ink);font-weight:600}.prose em{font-style:italic}.prose h2,.prose h3,.prose h4{color:var(--ink);scroll-margin-top:5.5rem;letter-spacing:-.022em;text-wrap:balance}.prose h2{margin-top:2.9em;font-size:1.5rem;line-height:1.2}.prose h3{margin-top:2.3em;font-size:1.1875rem;line-height:1.3}.prose h4{margin-top:2em;font-size:1.0625rem}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.8em}.prose a{color:var(--signal);text-decoration:none;border-bottom:1px solid var(--rule-2);transition:border-color .15s ease}.prose a:hover{border-bottom-color:var(--signal)}.prose ol{padding-left:1.375rem}.prose li+li{margin-top:.45em}.prose ul{list-style:none;padding-left:1.125rem}.prose ul>li{position:relative;padding-left:.375rem}.prose ul>li:before{content:"";position:absolute;left:-.75rem;top:.72em;width:5px;height:1px;background:var(--signal)}.prose ol>li::marker{color:var(--ink-3);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.875em}.prose blockquote{padding:.25rem 0 .25rem 1.25rem;border-left:2px solid var(--signal);color:var(--ink-2)}.prose blockquote>*+*{margin-top:.75em}.prose hr{border:none;border-top:1px solid var(--rule);margin-block:2.5em}.prose img{display:block;width:100%;height:auto;border:1px solid var(--rule)}.prose figcaption{margin-top:.625rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem;color:var(--ink-3)}.prose .heading-anchor{opacity:0;margin-left:.5rem;font-size:.8em;text-decoration:none;border:none;color:var(--ink-3);transition:opacity .15s ease}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}.post-toc,.post-toc[hidden]{display:none}@media(min-width:1120px){.post-body{display:grid;grid-template-columns:minmax(0,var(--measure)) minmax(0,1fr);gap:4rem;align-items:start}.post-toc{display:block;position:sticky;top:5.5rem;max-height:calc(100vh - 8rem);overflow-y:auto;border-left:1px solid var(--rule)}}.post-toc-label{padding-left:1rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem;color:var(--ink-3)}.post-toc ol{margin:.75rem 0 0;padding:0;list-style:none;counter-reset:toc}.post-toc a{display:block;padding:.4375rem 0 .4375rem 1rem;margin-left:-1px;border-left:1px solid transparent;font-size:.8125rem;line-height:1.45;color:var(--ink-3);text-decoration:none;transition:color .16s ease,border-color .16s ease}.post-toc a:hover{color:var(--ink)}.post-toc a[aria-current=true]{color:var(--ink);border-left-color:var(--signal)}.table-scroll{overflow-x:auto;border:1px solid var(--rule);-webkit-overflow-scrolling:touch}.prose table{width:100%;border-collapse:collapse;font-size:.9375rem}.prose thead th{background:var(--surface);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem;font-weight:500;color:var(--ink-3);text-align:left;padding:.6875rem 1rem;border-bottom:1px solid var(--rule-2);white-space:nowrap}.prose tbody td{padding:.6875rem 1rem;border-top:1px solid var(--rule);color:var(--ink-2);vertical-align:top}.prose tbody tr:first-child td{border-top:none}.prose tbody td:first-child{color:var(--ink)}.prose code:not(pre code){font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.86em;background:var(--surface-2);border:1px solid var(--rule);padding:.1em .35em;color:var(--ink);overflow-wrap:break-word}.prose a code:not(pre code){color:var(--signal)}.code-block-wrapper{border:1px solid var(--rule);background:var(--surface-2);overflow:hidden}.code-block-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.4375rem .875rem;background:var(--surface);border-bottom:1px solid var(--rule)}.code-block-lang,.code-block-copy{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem;color:var(--ink-3)}.code-block-copy{display:inline-flex;align-items:center;gap:.4375rem;background:none;border:none;cursor:pointer;padding:.25rem .125rem;transition:color .15s ease}.code-block-copy:hover{color:var(--signal)}.code-block-copy.copied{color:var(--ok)}.code-block-copy svg{width:13px;height:13px}.prose pre{margin:0;padding:1rem 1.125rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.prose pre.astro-code{background:var(--surface-2)!important;font-size:.8125rem;line-height:1.65;-moz-tab-size:2;-o-tab-size:2;tab-size:2;white-space:pre}.prose pre code{background:none;border:none;padding:0;font-size:inherit;font-family:IBM Plex Mono,ui-monospace,monospace}.callout{--cl: var(--info);padding:.9375rem 1.125rem;background:var(--surface);border:1px solid var(--rule);border-left:2px solid var(--cl)}.callout-label{display:block;margin-bottom:.375rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem;font-weight:500;color:var(--cl)}.callout-body{font-size:.96875rem;line-height:1.65;color:var(--ink-2)}.callout-body>*+*{margin-top:.75em}.callout-body a{color:var(--cl);text-decoration:none;border-bottom:1px solid var(--rule-2)}.callout-body a:hover{border-bottom-color:var(--cl)}.callout-body code{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.86em;background:var(--surface-2);border:1px solid var(--rule);padding:.1em .35em;color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-x-3{left:.75rem;right:.75rem}.-bottom-px{bottom:-1px}.bottom-0{bottom:0}.top-0{top:0}.top-14{top:3.5rem}.isolate{isolation:isolate}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-7{margin-top:1.75rem;margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-1{height:.25rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-4{height:1rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[15px\]{height:15px}.h-full{height:100%}.h-px{height:1px}.min-h-\[calc\(100svh-3\.5rem\)\]{min-height:calc(100svh - 3.5rem)}.min-h-screen{min-height:100vh}.w-11{width:2.75rem}.w-4{width:1rem}.w-9{width:2.25rem}.w-\[15px\]{width:15px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.max-w-\[32ch\]{max-width:32ch}.max-w-\[34ch\]{max-width:34ch}.max-w-\[46ch\]{max-width:46ch}.max-w-\[48ch\]{max-width:48ch}.max-w-\[52ch\]{max-width:52ch}.max-w-\[54ch\]{max-width:54ch}.max-w-\[60ch\]{max-width:60ch}.max-w-\[62ch\]{max-width:62ch}.max-w-\[68ch\]{max-width:68ch}.max-w-md{max-width:28rem}.max-w-prose{max-width:68ch}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-none{animation:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-14{gap:3.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-px{gap:1px}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0px}.border-line,.border-rule{border-color:var(--rule)}.border-rule2{border-color:var(--rule-2)}.border-signal{border-color:var(--signal)}.border-transparent{border-color:transparent}.bg-ground{background-color:var(--ground)}.bg-panel{background-color:var(--surface)}.bg-rule{background-color:var(--rule)}.bg-signal{background-color:var(--signal)}.bg-surface{background-color:var(--surface)}.bg-transparent{background-color:transparent}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-px{padding-bottom:1px}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pt-0{padding-top:0}.pt-14{padding-top:3.5rem}.pt-3{padding-top:.75rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.font-display{font-family:Space Grotesk Variable,Space Grotesk,ui-sans-serif,system-ui,sans-serif}.font-mono{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.text-\[0\.6875rem\]{font-size:.6875rem}.text-\[0\.8125rem\]{font-size:.8125rem}.text-\[0\.875rem\]{font-size:.875rem}.text-\[0\.9375rem\]{font-size:.9375rem}.text-\[1\.0625rem\]{font-size:1.0625rem}.text-\[1\.1875rem\]{font-size:1.1875rem}.text-\[clamp\(1\.5rem\,3\.4vw\,2\.125rem\)\]{font-size:clamp(1.5rem,3.4vw,2.125rem)}.text-\[clamp\(1\.875rem\,4\.6vw\,3rem\)\]{font-size:clamp(1.875rem,4.6vw,3rem)}.text-\[clamp\(2\.25rem\,5\.5vw\,3\.5rem\)\]{font-size:clamp(2.25rem,5.5vw,3.5rem)}.text-\[clamp\(3\.25rem\,8\.5vw\,6rem\)\]{font-size:clamp(3.25rem,8.5vw,6rem)}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-\[0\.94\]{line-height:.94}.leading-\[1\.02\]{line-height:1.02}.leading-\[1\.06\]{line-height:1.06}.leading-\[1\.12\]{line-height:1.12}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-\[-0\.015em\]{letter-spacing:-.015em}.tracking-\[-0\.025em\]{letter-spacing:-.025em}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-\[-0\.035em\]{letter-spacing:-.035em}.tracking-\[-0\.03em\]{letter-spacing:-.03em}.tracking-\[-0\.04em\]{letter-spacing:-.04em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-info{color:var(--info)}.text-ink{color:var(--ink)}.text-ink2{color:var(--ink-2)}.text-ink3{color:var(--ink-3)}.text-muted{color:var(--ink-2)}.text-ok{color:var(--ok)}.text-risk{color:var(--risk)}.text-signal{color:var(--signal)}.text-signalInk{color:var(--signal-ink)}.text-success{color:var(--ok)}.text-warn{color:var(--warn)}.shadow-\[0_32px_64px_-24px_var\(--shadow\)\]{--tw-shadow: 0 32px 64px -24px var(--shadow);--tw-shadow-colored: 0 32px 64px -24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[background-color\,border-color\,backdrop-filter\]{transition-property:background-color,border-color,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}:root{--l-ground: #faf9f6;--l-ground-2: #f4f2ed;--l-surface: #f1efea;--l-surface-2: #ebe8e1;--l-rule: #dcd8d0;--l-rule-2: #c3bdb2;--l-ink: #17150f;--l-ink-2: #4e4a42;--l-ink-3: #736d62;--l-signal: #8a5410;--l-signal-2: #a8712a;--l-signal-ink: #fffdf8;--l-signal-wash: rgba(138, 84, 16, .09);--l-risk: #a63a22;--l-warn: #7a5306;--l-ok: #4a6321;--l-info: #395a78;--l-shadow: rgba(58, 46, 28, .13);--l-shadow-2: rgba(58, 46, 28, .07);--l-sheen: rgba(255, 255, 255, .9);--d-ground: #0d0d0c;--d-ground-2: #121110;--d-surface: #161513;--d-surface-2: #1e1c19;--d-rule: #2a2724;--d-rule-2: #3d3934;--d-ink: #f1eee8;--d-ink-2: #ada69c;--d-ink-3: #7c766d;--d-signal: #e8a44c;--d-signal-2: #f0bb78;--d-signal-ink: #100e0b;--d-signal-wash: rgba(232, 164, 76, .12);--d-risk: #d9705a;--d-warn: #d9a038;--d-ok: #8fa96b;--d-info: #8aa0b6;--d-shadow: rgba(0, 0, 0, .55);--d-shadow-2: rgba(0, 0, 0, .32);--d-sheen: rgba(255, 255, 255, .07);color-scheme:light;--ground: var(--l-ground);--ground-2: var(--l-ground-2);--surface: var(--l-surface);--surface-2: var(--l-surface-2);--rule: var(--l-rule);--rule-2: var(--l-rule-2);--ink: var(--l-ink);--ink-2: var(--l-ink-2);--ink-3: var(--l-ink-3);--signal: var(--l-signal);--signal-2: var(--l-signal-2);--signal-ink: var(--l-signal-ink);--signal-wash: var(--l-signal-wash);--risk: var(--l-risk);--warn: var(--l-warn);--ok: var(--l-ok);--info: var(--l-info);--shadow: var(--l-shadow);--shadow-2: var(--l-shadow-2);--sheen: var(--l-sheen);--bg: var(--ground);--panel: var(--surface);--border: var(--rule);--primary: var(--signal);--secondary: var(--info);--accent: var(--signal);--danger: var(--risk);--success: var(--ok);--warning: var(--warn);--text: var(--ink);--muted: var(--ink-2);--rhythm: 5.5rem;--gutter: 1.25rem;--measure: 68ch}@media(min-width:768px){:root{--rhythm: 7rem;--gutter: 2rem}}@media(min-width:1024px){:root{--rhythm: 8.5rem;--gutter: 2.5rem}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ground: var(--d-ground);--ground-2: var(--d-ground-2);--surface: var(--d-surface);--surface-2: var(--d-surface-2);--rule: var(--d-rule);--rule-2: var(--d-rule-2);--ink: var(--d-ink);--ink-2: var(--d-ink-2);--ink-3: var(--d-ink-3);--signal: var(--d-signal);--signal-2: var(--d-signal-2);--signal-ink: var(--d-signal-ink);--signal-wash: var(--d-signal-wash);--risk: var(--d-risk);--warn: var(--d-warn);--ok: var(--d-ok);--info: var(--d-info);--shadow: var(--d-shadow);--shadow-2: var(--d-shadow-2);--sheen: var(--d-sheen)}}:root[data-theme=dark]{color-scheme:dark;--ground: var(--d-ground);--ground-2: var(--d-ground-2);--surface: var(--d-surface);--surface-2: var(--d-surface-2);--rule: var(--d-rule);--rule-2: var(--d-rule-2);--ink: var(--d-ink);--ink-2: var(--d-ink-2);--ink-3: var(--d-ink-3);--signal: var(--d-signal);--signal-2: var(--d-signal-2);--signal-ink: var(--d-signal-ink);--signal-wash: var(--d-signal-wash);--risk: var(--d-risk);--warn: var(--d-warn);--ok: var(--d-ok);--info: var(--d-info);--shadow: var(--d-shadow);--shadow-2: var(--d-shadow-2);--sheen: var(--d-sheen)}html{background:var(--ground);scrollbar-color:var(--rule-2) transparent;scrollbar-width:thin;scroll-behavior:smooth;-webkit-text-size-adjust:100%}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--ground)}::-webkit-scrollbar-thumb{background:var(--rule-2);border:3px solid var(--ground)}::-webkit-scrollbar-thumb:hover{background:var(--signal)}body{background:var(--ground);color:var(--ink);font-family:IBM Plex Sans,ui-sans-serif,system-ui,sans-serif;font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}::-moz-selection{background:var(--signal);color:var(--signal-ink)}::selection{background:var(--signal);color:var(--signal-ink)}h1,h2,h3,h4,.display{font-family:Space Grotesk Variable,Space Grotesk,ui-sans-serif,system-ui,sans-serif;font-weight:500;letter-spacing:-.025em;text-wrap:balance}.font-mono,code,kbd,pre,samp,time{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"zero" 1}*:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:0}a{color:inherit}@media(prefers-reduced-motion:no-preference){@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes settle{0%{opacity:0;transform:translateY(-18px) scale(.985)}to{opacity:1;transform:none}}.rise{animation:rise .72s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--d, 0ms)}.plane-face{animation:settle .76s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i) * 85ms + .16s)}@keyframes scroll-cue-run{0%{transform:translateY(-110%);opacity:0}30%{opacity:1}70%{opacity:1}to{transform:translateY(230%);opacity:0}}.scroll-cue-track:after{animation:scroll-cue-run 1.9s cubic-bezier(.16,1,.3,1) infinite}}.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:60;background:var(--signal);transform-origin:0 50%;transform:scaleX(0);pointer-events:none}@supports (animation-timeline: scroll()){@keyframes progress-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.progress{animation:progress-grow linear both;animation-timeline:scroll(root block)}}.astro-code,.astro-code span{color:var(--shiki-light);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);-webkit-text-decoration:var(--shiki-light-text-decoration);text-decoration:var(--shiki-light-text-decoration)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);-webkit-text-decoration:var(--shiki-dark-text-decoration);text-decoration:var(--shiki-dark-text-decoration)}}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);-webkit-text-decoration:var(--shiki-dark-text-decoration);text-decoration:var(--shiki-dark-text-decoration)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.plane{transition:none}.progress{animation:none;transform:scaleX(0)}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{:root{--ground: #fff;--ground-2: #fff;--surface: #fff;--surface-2: #fff;--rule: #c8c8c8;--rule-2: #8a8a8a;--ink: #000;--ink-2: #1c1c1c;--ink-3: #4a4a4a;--signal: #000;--signal-ink: #fff;--shadow: transparent;--shadow-2: transparent;--sheen: transparent;--rhythm: 1.5rem}html,body{background:#fff!important;color:#000!important;font-size:10.5pt}.no-print,.progress,#site-header,footer,.stack,.post-toc{display:none!important}main{padding-top:0!important}.shell{max-width:none;padding-inline:0}a{color:#000!important;border:none!important;text-decoration:none!important}.print-url a[href^=http]:after,.print-url a[href^=mailto]:after{content:" (" attr(href) ")";font-size:8.5pt;color:#4a4a4a;word-break:break-all}h1{font-size:21pt}h2{font-size:11pt;-moz-column-break-after:avoid;break-after:avoid}h3{font-size:10.5pt;-moz-column-break-after:avoid;break-after:avoid}section,.row,.sheet-row,li{-moz-column-break-inside:avoid;break-inside:avoid}.prose,.row-abstract{max-width:none}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:left-0:before{content:var(--tw-content);left:0}.before\:top-\[0\.55em\]:before{content:var(--tw-content);top:.55em}.before\:top-\[0\.7em\]:before{content:var(--tw-content);top:.7em}.before\:h-1\.5:before{content:var(--tw-content);height:.375rem}.before\:h-px:before{content:var(--tw-content);height:1px}.before\:w-1\.5:before{content:var(--tw-content);width:.375rem}.before\:w-2:before{content:var(--tw-content);width:.5rem}.before\:rounded-full:before{content:var(--tw-content);border-radius:0}.before\:bg-rule2:before{content:var(--tw-content);background-color:var(--rule-2)}.before\:bg-signal:before{content:var(--tw-content);background-color:var(--signal)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bottom-\[-1\.5rem\]:after{content:var(--tw-content);bottom:-1.5rem}.after\:left-\[0\.1875rem\]:after{content:var(--tw-content);left:.1875rem}.after\:top-\[1\.3em\]:after{content:var(--tw-content);top:1.3em}.after\:w-px:after{content:var(--tw-content);width:1px}.after\:bg-rule:after{content:var(--tw-content);background-color:var(--rule)}.first\:mt-0:first-child{margin-top:0}.first\:border-t-0:first-child{border-top-width:0px}.last\:after\:hidden:last-child:after{content:var(--tw-content);display:none}.hover\:border-signal:hover{border-color:var(--signal)}.hover\:border-signal2:hover{border-color:var(--signal-2)}.hover\:bg-signal2:hover{background-color:var(--signal-2)}.hover\:bg-surface:hover{background-color:var(--surface)}.hover\:text-ink:hover{color:var(--ink)}.hover\:text-primary:hover,.hover\:text-signal:hover{color:var(--signal)}.hover\:opacity-80:hover{opacity:.8}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:absolute:focus{position:absolute}.focus\:left-3:focus{left:.75rem}.focus\:top-3:focus{top:.75rem}.focus\:z-\[200\]:focus{z-index:200}.focus\:border:focus{border-width:1px}.focus\:border-signal:focus{border-color:var(--signal)}.focus\:bg-signal:focus{background-color:var(--signal)}.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.focus\:text-sm:focus{font-size:.875rem;line-height:1.25rem}.focus\:font-medium:focus{font-weight:500}.focus\:text-signalInk:focus{color:var(--signal-ink)}.active\:translate-y-px:active{--tw-translate-y: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-signal{color:var(--signal)}@media(min-width:640px){.sm\:block{display:block}.sm\:flex{display:flex}.sm\:max-w-\[46ch\]{max-width:46ch}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}}@media(min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}}@media(min-width:1024px){.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:col-span-4{grid-column:span 4 / span 4}.lg\:col-span-5{grid-column:span 5 / span 5}.lg\:col-span-7{grid-column:span 7 / span 7}.lg\:col-span-8{grid-column:span 8 / span 8}.lg\:col-span-9{grid-column:span 9 / span 9}.lg\:mt-0{margin-top:0}.lg\:mt-16{margin-top:4rem}.lg\:mt-20{margin-top:5rem}.lg\:grid{display:grid}.lg\:max-w-\[52ch\]{max-width:52ch}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:items-center{align-items:center}.lg\:gap-10{gap:2.5rem}.lg\:gap-16{gap:4rem}.lg\:space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.lg\:border-l{border-left-width:1px}.lg\:border-rule{border-color:var(--rule)}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\:py-28{padding-top:7rem;padding-bottom:7rem}.lg\:pl-10{padding-left:2.5rem}.lg\:first\:border-t:first-child{border-top-width:1px}.lg\:first\:border-transparent:first-child{border-color:transparent}}
