@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2?dpl=dpl_5eFJtCqpC6JzGShWxB8tWrXnAQbX)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2?dpl=dpl_5eFJtCqpC6JzGShWxB8tWrXnAQbX)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2?dpl=dpl_5eFJtCqpC6JzGShWxB8tWrXnAQbX)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2?dpl=dpl_5eFJtCqpC6JzGShWxB8tWrXnAQbX)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2?dpl=dpl_5eFJtCqpC6JzGShWxB8tWrXnAQbX)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2?dpl=dpl_5eFJtCqpC6JzGShWxB8tWrXnAQbX)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2?dpl=dpl_5eFJtCqpC6JzGShWxB8tWrXnAQbX)format("woff2");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;font-style:normal;font-weight:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2?dpl=dpl_5eFJtCqpC6JzGShWxB8tWrXnAQbX)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2?dpl=dpl_5eFJtCqpC6JzGShWxB8tWrXnAQbX)format("woff2");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;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2?dpl=dpl_5eFJtCqpC6JzGShWxB8tWrXnAQbX)format("woff2");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;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2?dpl=dpl_5eFJtCqpC6JzGShWxB8tWrXnAQbX)format("woff2");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;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2?dpl=dpl_5eFJtCqpC6JzGShWxB8tWrXnAQbX)format("woff2");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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_67082f45-module__fz9ayG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_67082f45-module__fz9ayG__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#0e0e0e;--fg:#e8e6e3;--muted:#8a8784;--content-width:680px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);font-family:var(--font-mono), ui-monospace, SFMono-Regular, Menlo, monospace;-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:16px;line-height:1.65}body{padding:0 1.5rem}a{color:var(--fg);text-decoration:underline;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);text-underline-offset:3px}a:hover{-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}a:focus-visible{outline:2px solid var(--fg);outline-offset:3px;text-decoration:none}::selection{background:var(--fg);color:var(--bg)}main{width:100%;max-width:var(--content-width);z-index:1;margin:0 auto;padding:3.5rem 0 1.5rem;position:relative}article h1{letter-spacing:0;margin:0 0 1.75rem;font-size:1.7rem;font-weight:700;line-height:1.25}article h2{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:2rem 0 .9rem;font-size:.85rem;font-weight:700;line-height:1.3}article p{text-wrap:pretty;margin:0 0 1.25rem}article ul,article ol{margin:0 0 1.4rem;padding-left:1.25rem}article li{margin-bottom:.35rem}img{max-width:100%;height:auto}.site-footer{width:100%;max-width:var(--content-width);z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;margin:0 auto;padding:1.5rem 0 2rem;font-size:.85rem;display:flex;position:relative}.site-footer nav{align-items:center;margin-left:-13px;display:flex}.site-footer nav a{color:var(--muted);justify-content:center;align-items:center;padding:13px;text-decoration:none;display:inline-flex}.site-footer nav a:hover{color:var(--fg)}.site-footer nav a:focus-visible{outline:2px solid var(--fg);outline-offset:0}.site-footer nav svg{fill:currentColor;width:18px;height:18px;display:block}.site-footer .footer-copy{padding:.65rem 0}.footer-copy{color:var(--muted);margin:0}.traces{--mw:calc(50vw - (var(--content-width) / 2));--col-r:calc(50vw + (var(--content-width) / 2));z-index:0;pointer-events:none;position:fixed;inset:0}.traces i{top:var(--y);left:var(--x);opacity:0;animation:trace-line var(--t) linear infinite var(--d);position:absolute}.traces i.h{width:var(--len);background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--fg) 14%, transparent) 18%, color-mix(in oklab, var(--fg) 14%, transparent) 82%, transparent);height:1px}.traces i.v{width:1px;height:var(--len);background:linear-gradient(180deg, transparent, color-mix(in oklab, var(--fg) 14%, transparent) 18%, color-mix(in oklab, var(--fg) 14%, transparent) 82%, transparent)}.traces i:after{content:"";background:color-mix(in oklab, var(--fg) 70%, transparent);width:5px;height:5px;box-shadow:0 0 10px color-mix(in oklab, var(--fg) 45%, transparent), 0 0 26px color-mix(in oklab, var(--fg) 18%, transparent);opacity:0;border-radius:50%;position:absolute}.traces i.h:after{animation:trace-run-x var(--t) linear infinite var(--d), trace-fade var(--t) linear infinite var(--d);top:-2px;left:0}.traces i.v:after{animation:trace-run-y var(--t) linear infinite var(--d), trace-fade var(--t) linear infinite var(--d);top:0;left:-2px}@keyframes trace-line{0%{opacity:0}5%,26%{opacity:1}32%{opacity:0}to{opacity:0}}@keyframes trace-fade{0%{opacity:0}6%{opacity:1}24%{opacity:1}28%{opacity:0}to{opacity:0}}@keyframes trace-run-x{0%{transform:translate(0)}28%,to{transform:translateX(var(--len))}}@keyframes trace-run-y{0%{transform:translateY(0)}28%,to{transform:translateY(var(--len))}}@media (max-width:1023px){.traces{display:none}}@media (prefers-reduced-motion:reduce){.traces{display:none}}
