@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-vietnamese-wght-normal.XAtsl5Q_.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-latin-ext-wght-normal.C4zznr8T.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-latin-wght-normal.E0tuGl4L.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-normal.cHuGMAiY.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-normal.DwHjdM4S.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-normal.ece1310W.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-normal.D-yuW59g.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-normal.CxNHBx-q.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-normal.D9elroTD.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 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}:root{--sans: "Archivo Variable", "Helvetica Neue", Helvetica, Arial, sans-serif;--serif: "Source Serif 4 Variable", Georgia, "Times New Roman", serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--step--1: clamp(.78rem, .76rem + .1vw, .84rem);--step-0: clamp(1rem, .96rem + .2vw, 1.12rem);--step-1: clamp(1.33rem, 1.2rem + .6vw, 1.6rem);--step-2: clamp(1.77rem, 1.5rem + 1.4vw, 2.4rem);--step-3: clamp(2.36rem, 1.8rem + 2.8vw, 3.8rem);--step-4: clamp(3rem, 2rem + 5vw, 5.4rem);--measure: 66ch;--gutter: clamp(1.25rem, 4vw, 2.5rem)}[data-ground=dark]{--ground: #101112;--ink: #ededE8;--mute: #8a8a84;--rule: #2a2b2c;--accent: #c8922a;--plate-bg: #17191a}[data-ground=paper]{--ground: #f7f6f3;--ink: #181817;--mute: #6c6c67;--rule: #dbd9d3;--accent: #8a5f12;--plate-bg: #edebe6}@media print{[data-ground=dark],[data-ground=paper]{--ground: #ffffff;--ink: #000000;--mute: #4a4a46;--rule: #9a9892;--accent: #8a5f12;--plate-bg: #ffffff}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--serif);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--sans);font-weight:700;line-height:1.05;letter-spacing:-.03em;margin:0;text-wrap:balance}p{margin:0;text-wrap:pretty}figure{margin:0}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.15em}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.u-label{font-family:var(--mono);font-size:var(--step--1);letter-spacing:.1em;text-transform:uppercase}.u-tabular{font-variant-numeric:tabular-nums}.u-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}::view-transition-group(sheet-title){animation-duration:.32s;animation-timing-function:cubic-bezier(.2,.7,.15,1)}@keyframes vt-leave-left{to{opacity:0;transform:translate(-2.5rem)}}@keyframes vt-enter-right{0%{opacity:0;transform:translate(2.5rem)}}@keyframes vt-leave-right{to{opacity:0;transform:translate(2.5rem)}}@keyframes vt-enter-left{0%{opacity:0;transform:translate(-2.5rem)}}html:active-view-transition-type(flip-fwd)::view-transition-old(root){animation:vt-leave-left .24s cubic-bezier(.4,0,.7,1) both}html:active-view-transition-type(flip-fwd)::view-transition-new(root){animation:vt-enter-right .26s cubic-bezier(.2,.7,.15,1) both}html:active-view-transition-type(flip-back)::view-transition-old(root){animation:vt-leave-right .24s cubic-bezier(.4,0,.7,1) both}html:active-view-transition-type(flip-back)::view-transition-new(root){animation:vt-enter-left .26s cubic-bezier(.2,.7,.15,1) both}::selection{background:var(--accent);color:var(--ground)}[data-selfdraw] [data-draw][data-draw]{stroke-dasharray:1;stroke-dashoffset:1;fill-opacity:0}[data-selfdraw] [data-fade][data-fade]{opacity:0}[data-selfdraw].is-inked [data-draw][data-draw]{stroke-dashoffset:0;fill-opacity:1;transition:stroke-dashoffset .7s cubic-bezier(.4,0,.2,1),fill-opacity .5s linear;transition-delay:calc(var(--i) * var(--stagger, 40ms)),calc(var(--i) * var(--stagger, 40ms) + .35s)}[data-selfdraw].is-inked [data-fade][data-fade]{opacity:var(--o, 1);transition:opacity .6s linear;transition-delay:calc(var(--i) * var(--stagger, 40ms))}@media print{.nav,.rack,.cx,.cx-toggle,.cx-live,.flip{display:none!important}.entry,figure{break-inside:avoid}a{color:var(--ink);text-decoration:none}.prose a[href^=http]:after{content:" [" attr(href) "]";font-family:var(--mono);font-size:.8em;word-break:break-all}}.cx,.cx-toggle{--cx-inset: 10px}.cx{position:fixed;inset:0;z-index:30;view-transition-name:cx-overlay;overflow:hidden;pointer-events:none;--cx-scroll: 0;--cx-base: 24;--cx-origin: 0;--cx-px: -99;--cx-py: -99;color:var(--accent);font-family:var(--mono);font-size:10px;line-height:1.55;letter-spacing:.06em;font-variant-numeric:tabular-nums;opacity:0;visibility:hidden;transition:opacity .16s linear}html[data-construction=on] .cx{opacity:1;visibility:visible}.cx__sheet{position:absolute;top:0;left:0;transform:translate3d(0,calc(-1px * var(--cx-scroll)),0);will-change:transform}.cx__sheet svg{display:block}.cx__sheet line,.cx__sheet path,.cx__sheet rect,.cx__sheet circle{fill:none;stroke:currentColor;stroke-width:1}.cx-axis{stroke-dasharray:15 5 2 5;opacity:.34}.cx-dim{opacity:.8}.cx-tick{opacity:.8;stroke-linecap:square}.cx-edge{opacity:.4}.cx-plate{opacity:.42}.cx__sheet circle.cx-bub{fill:var(--ground);opacity:.9}.cx__sheet rect.cx-knock{fill:var(--ground);stroke:none;opacity:.88}.cx__sheet text{fill:currentColor;stroke:none;font-family:var(--mono);font-size:10px;letter-spacing:.06em;font-variant-numeric:tabular-nums}.cx__rhythm{position:absolute;left:var(--cx-inset);top:0;bottom:0;width:10px;opacity:.5;background-image:repeating-linear-gradient(to bottom,currentColor 0 1px,transparent 1px calc(var(--cx-base) * 1px)),repeating-linear-gradient(to bottom,currentColor 0 1px,transparent 1px calc(var(--cx-base) * 4px));background-size:5px calc(var(--cx-base) * 4px),10px calc(var(--cx-base) * 4px);background-repeat:repeat-y;background-position:0 calc((var(--cx-origin) - var(--cx-scroll)) * 1px),0 calc((var(--cx-origin) - var(--cx-scroll)) * 1px)}.cx__frame{position:absolute;inset:var(--cx-inset);border:1px solid currentColor;opacity:.24}.cx__cross{position:absolute;inset:0;opacity:.4}.cx:not([data-cx-fine]) .cx__cross{display:none}.cx__cross-v,.cx__cross-h{position:absolute;background:currentColor}.cx__cross-v{top:0;bottom:0;left:0;width:1px;transform:translate(calc(1px * var(--cx-px)))}.cx__cross-h{left:0;right:0;top:0;height:1px;transform:translateY(calc(1px * var(--cx-py)))}.cx__block{position:absolute;left:var(--cx-inset);bottom:var(--cx-inset);padding:.45rem .6rem .4rem;border:1px solid currentColor;background:var(--ground);text-transform:uppercase}.cx__head{margin:0 0 .3rem;padding-bottom:.3rem;border-bottom:1px solid currentColor;color:var(--accent)}.cx__row{display:flex;gap:.75rem;margin:0}.cx__k{color:var(--mute);width:3.6rem;flex:none}.cx__v{color:var(--ink);white-space:nowrap}.cx:not([data-cx-fine]) .cx__row--ptr{display:none}.cx__foot{display:flex;justify-content:space-between;gap:1rem;margin:.35rem 0 0;padding-top:.3rem;border-top:1px solid currentColor;color:var(--mute)}@media(max-width:34rem){.cx__block{bottom:calc(var(--cx-inset) + 2.5rem)}}.cx-toggle{position:fixed;right:var(--cx-inset);bottom:var(--cx-inset);z-index:32;view-transition-name:cx-toggle;display:inline-flex;align-items:center;gap:.4em;padding:.5rem .6rem;border:1px solid var(--rule);border-radius:0;background:var(--ground);color:var(--mute);font-family:var(--mono);font-size:var(--step--1);letter-spacing:.1em;line-height:1;text-transform:uppercase;cursor:pointer;pointer-events:auto;transition:color .14s linear,border-color .14s linear}.cx-toggle:hover{color:var(--ink);border-color:var(--mute)}.cx-toggle[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.cx-toggle__k{font-family:inherit;font-size:.85em;padding:.15em .35em;margin-left:.15em;border:1px solid currentColor;opacity:.55}@media(max-width:22rem){.cx-toggle__t{display:none}}.cx-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.cx,.cx-toggle{transition:none}.cx__sheet{will-change:auto}}.nav[data-astro-cid-4lunwx2e]{position:sticky;top:0;z-index:20;view-transition-name:site-nav;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem var(--gutter);background:var(--ground);border-bottom:1px solid var(--rule)}.nav__brand[data-astro-cid-4lunwx2e]{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink)}.nav__face[data-astro-cid-4lunwx2e]{width:26px;height:auto;display:block}.nav__links[data-astro-cid-4lunwx2e]{display:flex;gap:1.25rem}.nav__links[data-astro-cid-4lunwx2e] a[data-astro-cid-4lunwx2e]{color:var(--mute);text-decoration:none}.nav__links[data-astro-cid-4lunwx2e] a[data-astro-cid-4lunwx2e]:hover{color:var(--ink)}.nav__links[data-astro-cid-4lunwx2e] a[data-astro-cid-4lunwx2e][aria-current=page]{color:var(--accent)}@media(max-width:34rem){.nav[data-astro-cid-4lunwx2e]{gap:.6rem}.nav__links[data-astro-cid-4lunwx2e]{gap:.8rem}.nav__brand[data-astro-cid-4lunwx2e] span[data-astro-cid-4lunwx2e]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
