@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.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;src:url(/_astro/ibm-plex-mono-latin-700-normal.7sUh57Bg.woff2)format("woff2");font-weight:700;font-display:swap}:root{--bg:#fff;--surface:#f4f7f6;--line:#d3dcd8;--line-strong:#71837c;--ink:#0c1513;--muted:#4d5f59;--malachite:#0b8f6a;--malachite-deep:#087355;--malachite-text:#087355;--on-malachite:#fff;--glow:#5ef2d0;--vortex:#0c1513;--bronze:#a85d18;--terminal-bg:#000;--terminal-ink:#e9f1ee;--code-bg:#272822;--code-ink:#f8f8f2;--code-comment:#75715e;--code-keyword:#f92672;--code-string:#e6db74;--code-number:#ae81ff;--code-function:#a6e22e;--code-type:#66d9ef;--space-8:8px;--space-16:16px;--space-24:24px;--space-48:48px;--space-96:96px;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--font-mono:"JetBrains Mono Variable", ui-monospace, Menlo, monospace;--font-display:"IBM Plex Mono", var(--font-mono);--wide:1160px;--prose:72ch;color-scheme:light}:root[data-theme=dark]{--bg:#0c1513;--surface:#15221e;--line:#2a3a34;--line-strong:#73877f;--ink:#f1f6f4;--muted:#a6b8b2;--malachite-text:#5ef2d0;--bronze:#e3a05a;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--space-24)}body{background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--font-mono);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--malachite-text);text-underline-offset:3px}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;font-weight:700}h1{letter-spacing:-.02em;font-size:clamp(2.1rem,5.5vw,4rem);line-height:1}h2{letter-spacing:-.01em;font-size:clamp(1.6rem,3.4vw,2.375rem);line-height:1.15}h3{font-size:1.25rem;line-height:1.3}em{font-style:normal;font-weight:700}:not(pre)>code{border-radius:var(--radius-sm);background:var(--surface);padding:.1em .35em;font-weight:700}pre{margin:var(--space-24) 0;padding:var(--space-16) var(--space-24);border-radius:var(--radius-md);line-height:1.55;overflow-x:auto}pre:has(+.preview){border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.preview{margin:0 0 var(--space-32,32px);padding:var(--space-8) var(--space-16) var(--space-16);border:1px solid var(--line);border-radius:0 0 var(--radius-md) var(--radius-md);background:#fff;border-top:0}.preview figcaption{margin-bottom:var(--space-8);color:#4d5f59;letter-spacing:.04em;text-transform:uppercase;font-size:12px}.preview img{width:100%;height:auto;display:block}kbd{border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-width:2em;font:700 .85em/1.4 var(--font-mono);text-align:center;border-bottom-width:3px;padding:.15em .5em;display:inline-block}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.75rem 1rem}.label{font:700 13px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.wrap{max-width:var(--wide);padding:0 var(--space-16);margin:0 auto}.button{align-items:center;gap:var(--space-8);border-radius:var(--radius-md);background:var(--malachite-deep);color:var(--on-malachite);font:700 15px/1 var(--font-mono);cursor:pointer;border:1px solid #0000;padding:12px 20px;text-decoration:none;display:inline-flex}.button:hover{background:var(--malachite)}.button.ghost{border-color:var(--line-strong);color:var(--ink);background:0 0}.button.ghost:hover{border-color:var(--ink)}.trn{--trn-rotor:var(--malachite);--trn-skull:var(--ink);--trn-eye:var(--bg);display:block}.trn stop{stop-color:var(--trn-rotor)}.trn-rotor{fill:none;stroke-width:7px;stroke-linecap:round;transform-origin:32px 32px}.trn-skull{fill:var(--trn-skull)}.trn-eye{fill:var(--trn-eye);transition:fill .15s}.trn-cursor{animation:1.06s step-end infinite trn-blink}.trn.is-running .trn-rotor{animation:1.1s cubic-bezier(.5,.1,.3,1) infinite trn-spin}.trn.is-running .trn-eye{fill:var(--glow);animation:none}.trn.is-reset .trn-rotor{animation:.5s cubic-bezier(.3,0,.2,1) reverse trn-spin}@keyframes trn-spin{to{transform:rotate(360deg)}}@keyframes trn-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.trn-cursor,.trn.is-running .trn-rotor,.trn.is-reset .trn-rotor,.caret{animation:none}}.logo[data-astro-cid-f7espo7c]{height:var(--h);display:inline-flex}.logo-dark[data-astro-cid-f7espo7c],[data-theme=dark] .logo-light[data-astro-cid-f7espo7c]{display:none}[data-theme=dark] .logo-dark[data-astro-cid-f7espo7c]{display:block}.skip[data-astro-cid-hkbrpulz]{position:absolute;left:-9999px}.skip[data-astro-cid-hkbrpulz]:focus{left:var(--space-16);top:var(--space-16);z-index:10;padding:var(--space-8) var(--space-16);background:var(--bg)}.topbar[data-astro-cid-hkbrpulz]{gap:var(--space-16);padding-top:var(--space-24);padding-bottom:var(--space-24);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.home[data-astro-cid-hkbrpulz]{display:inline-flex}nav[data-astro-cid-hkbrpulz]{gap:var(--space-24);align-items:center;display:flex}nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz],.theme-toggle[data-astro-cid-hkbrpulz]{color:var(--muted);font:400 14px/1 var(--font-mono);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover,.theme-toggle[data-astro-cid-hkbrpulz]:hover,nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz][aria-current=page]{color:var(--ink)}.theme-toggle[data-astro-cid-hkbrpulz]:before{content:"$ ";color:var(--malachite-text)}.when-dark[data-astro-cid-hkbrpulz],[data-theme=dark] .when-light[data-astro-cid-hkbrpulz]{display:none}[data-theme=dark] .when-dark[data-astro-cid-hkbrpulz]{display:inline}.footer[data-astro-cid-hkbrpulz]{margin-top:var(--space-96);padding:var(--space-48) 0;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.footer-inner[data-astro-cid-hkbrpulz]{gap:var(--space-16);align-items:center;display:flex}.footer[data-astro-cid-hkbrpulz] p[data-astro-cid-hkbrpulz]{margin:0}
