.keyword{color:var(--keyword);font-weight:700}.token.operator,.token.punctuation,.token.string,.token.plain,.token.number,.token.builtin,.token.imports,.token.parameter,.token.variable{color:var(--token)}.token.comment{color:var(--comment)}.token.class-name,.token.literal-property,.token.maybe-class-name,.token.function,.token.tag,.token.attr-name{color:var(--name)}article{max-width:var(--main-content);margin:0 auto;line-height:1.9;position:relative}article>*+*{margin-top:2em}article p{color:var(--colors-secondary)}article img{border-radius:var(--radius);width:auto;max-width:100%;margin:auto;display:block}article [id]:before{content:"";visibility:hidden;height:70px;margin-top:-70px;display:block}article ul{padding:0;list-style-type:circle;list-style-position:inside}article ol{padding:0;list-style-position:inside}article ul li.reset{align-items:flex-start;margin-left:-.5rem;list-style-type:none;display:flex}article ul li.reset .check{align-items:center;margin-right:.51rem;display:flex}input[type=checkbox]{vertical-align:middle;appearance:none;-webkit-user-select:none;user-select:none;background-origin:border-box;background-color:var(--bg);width:1rem;height:1rem;color:var(--fg);border:1px solid var(--fg);border-radius:3px;flex-shrink:0;display:inline-block}input[type=checkbox]:checked{background-color:currentColor;background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='black' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414_l7 8.586 5.707 7.293z'/%3e%3c/svg%3e");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}html[data-theme=light] input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414_l7 8.586 5.707 7.293z'/%3e%3c/svg%3e")}input[type=checkbox]:focus{box-shadow:0 0 0 2px var(--gray);border-color:var(--fg);outline:none}.token-line:not(:last-child){min-height:1.4rem}article :not(pre)>code{padding:0 3px;font-size:1rem;font-weight:600}article :not(pre)>code:before,article :not(pre)>code:after{content:"`";color:var(--gray);-webkit-user-select:none;user-select:none}article pre{background-color:var(--bg);border:1px solid var(--lighter-gray);border-radius:var(--inline-radius);padding:1rem;font-size:.875rem;line-height:1.8;overflow-x:auto}.header-link{color:inherit;text-decoration:none}.header-link:after{opacity:0;content:"#";margin-left:var(--gap-half);color:var(--gray)}.header-link:hover:after{opacity:1}#nprogress{pointer-events:none}#nprogress .bar{z-index:2000;background:var(--fg);width:100%;height:5px;position:fixed;top:0;left:0}#nprogress:after{content:"";background:0 0;width:100%;height:5px;position:fixed;top:0;left:0}@font-face{font-family:Inter;font-style:normal;font-weight:100;font-display:block;src:url(https://assets.vercel.com/raw/upload/v1587415301/fonts/2/inter-var-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:200;font-display:block;src:url(https://assets.vercel.com/raw/upload/v1587415301/fonts/2/inter-var-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:block;src:url(https://assets.vercel.com/raw/upload/v1587415301/fonts/2/inter-var-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:block;src:url(https://assets.vercel.com/raw/upload/v1587415301/fonts/2/inter-var-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:block;src:url(https://assets.vercel.com/raw/upload/v1587415301/fonts/2/inter-var-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:block;src:url(https://assets.vercel.com/raw/upload/v1587415301/fonts/2/inter-var-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:block;src:url(https://assets.vercel.com/raw/upload/v1587415301/fonts/2/inter-var-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:block;src:url(https://assets.vercel.com/raw/upload/v1587415301/fonts/2/inter-var-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:block;src:url(https://assets.vercel.com/raw/upload/v1587415301/fonts/2/inter-var-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-fallback:system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-sans:"Inter", var(--font-fallback);--font-mono:"SFMono-Regular", "Consolas", "Liberation Mono", "Menlo", monospace;--gap-quarter:.25rem;--gap-half:.5rem;--gap:1rem;--gap-double:2rem;--radius:10px;--inline-radius:6px;--page-width:1072px;--content-width:640px;--transition-fastest:80ms;--transition-fast:.12s;--transition-med:.2s;--transition-slow:.35s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0d0d;--bg-elevated:#141414;--bg-soft:#1f1f1f;--fg:#f5f5f5;--text-color:#d9d9d9;--shadow-color:#0009;--gray-1:#141414;--gray-2:#1f1f1f;--gray-3:#292929;--gray-4:#363636;--gray-5:#474747;--gray-6:#595959;--gray-7:#707070;--gray-8:#858585;--gray-9:#999;--gray-10:#b3b3b3;--gray-11:#ccc;--gray-12:#f0f0f0;--accent-yellow:#f6e58d;--accent-purple:#b388ff;--colors-command:#ffffff0a;--fonts-heading:"Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--transitions-duration:.2s}[data-theme=light]{--bg:#fff;--bg-elevated:#f5f6fb;--bg-soft:#e9eaef;--fg:#111;--text-color:#404040;--shadow-color:#0000001f;--gray-1:#f5f5f5;--gray-2:#ebebeb;--gray-3:#dbdbdb;--gray-4:#c7c7c7;--gray-5:#adadad;--gray-6:#949494;--gray-7:#787878;--gray-8:#666;--gray-9:#4d4d4d;--gray-10:#333;--gray-11:#262626;--gray-12:#141414}*{box-sizing:border-box;-webkit-user-select:none;user-select:none}::-webkit-scrollbar{background:0 0;width:0}::selection{text-shadow:none;color:var(--bg);background:#f5f5f5}html{line-height:1.5}html,body{-ms-overflow-style:none;scrollbar-width:none;height:100%;color:var(--fg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#000;margin:0;padding:0;font-size:16px}body{background-color:var(--bg);min-height:100vh;font-family:var(--font-sans);flex-direction:column;display:flex}h1{font-family:var(--fonts-heading);letter-spacing:-.03em;color:var(--fg);margin:0 0 .85rem;font-size:2.4rem;font-weight:700;line-height:1.1}h2{letter-spacing:-.02em;color:var(--fg);font-size:1.6rem;font-weight:600;line-height:1.25}h3{font-family:var(--fonts-heading);letter-spacing:-.01em;color:var(--fg);font-size:1.25rem;font-weight:600;line-height:1.3}h4{font-family:var(--fonts-heading);letter-spacing:-.01em;color:var(--fg);font-size:1.05rem;font-weight:500;line-height:1.35}p{color:var(--text-color);font-size:.98rem;line-height:1.7}span{color:inherit;font-weight:inherit}span.accent{color:var(--accent-yellow);font-weight:500}span.tag{background:var(--colors-command);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:.1rem .45rem;font-size:.78rem;display:inline-block}button{font-family:var(--font-sans);line-height:inherit;font-size:inherit;border:none;margin:0;padding:0}a{color:inherit;text-decoration:none}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
