:root{--font-sans:var(--font-inter), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif:var(--font-fraunces), "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-mono:var(--font-jetbrains), "SF Mono", SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;--color-ink:#0a1628;--color-text:#1a2540;--color-muted:#5b6b85;--color-rule:#e6ebf2;--color-accent:#4a6fa5;--color-accent-deep:#2c4a7a;--color-bg-soft:#f4f6fa;--measure:68ch;--step--2:clamp(.6794rem, .6608rem + .0825vw, .7522rem);--step--1:clamp(.85rem, .819rem + .1377vw, .9722rem);--step-0:clamp(1.0625rem, 1.0149rem + .2114vw, 1.25rem);--step-1:clamp(1.3281rem, 1.2549rem + .3253vw, 1.6663rem);--step-2:clamp(1.6602rem, 1.5475rem + .5009vw, 2.1042rem);--step-3:clamp(2.0752rem, 1.9028rem + .7666vw, 2.6603rem);--step-4:clamp(2.5941rem, 2.3325rem + 1.1626vw, 3.4373rem);--step-5:clamp(3.2426rem, 2.8525rem + 1.7339vw, 4.4994rem);--step-6:clamp(4.0533rem, 3.4763rem + 2.5642vw, 5.8403rem)}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}html,body{color:var(--color-text);font-family:var(--font-sans);font-size:var(--step-0);font-feature-settings:"kern", "liga", "calt", "ss01", "cv11";font-variant-ligatures:common-ligatures contextual;margin:0;padding:0;line-height:1.65}*{box-sizing:border-box}::selection{color:var(--color-ink);background:#d6e3f4}a{color:var(--color-accent);text-underline-offset:3px;-webkit-text-decoration:underline #4a6fa559;text-decoration:underline #4a6fa559;text-decoration-thickness:1px;transition:text-decoration-color .15s,color .15s}a:hover{color:var(--color-accent-deep);-webkit-text-decoration-color:var(--color-accent-deep);text-decoration-color:var(--color-accent-deep);text-decoration-thickness:2px}img{max-width:100%;display:block}article img{border:1px solid var(--color-accent);box-shadow:5px 5px 0 var(--color-accent);border-radius:8px}article{font-size:var(--step-0);color:var(--color-text);line-height:1.7}article p{hanging-punctuation:first last;margin:0 0 1.25em}article>p:first-of-type{font-size:var(--step-1);color:var(--color-ink);line-height:1.5}article strong,article b{color:var(--color-ink);font-weight:600}article em,article i{font-style:italic}article h1{font-family:var(--font-serif);font-variation-settings:"opsz" 144, "SOFT" 30;font-weight:600;font-size:var(--step-4);letter-spacing:-.025em;color:var(--color-ink);text-wrap:pretty;margin:0 0 1rem;line-height:1.05}article h2{font-family:var(--font-serif);font-variation-settings:"opsz" 60, "SOFT" 40;font-weight:500;font-size:var(--step-3);letter-spacing:-.02em;color:var(--color-ink);text-wrap:pretty;margin:clamp(3rem,2rem + 2vw,4.5rem) 0 1.25rem;line-height:1.15}article h2+p,article h2+ul,article h2+ol{margin-top:0}article h3{font-family:var(--font-sans);font-size:var(--step-2);letter-spacing:-.015em;color:var(--color-ink);text-wrap:pretty;margin:2.5rem 0 .875rem;font-weight:700;line-height:1.25}article h4{font-family:var(--font-sans);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);margin:1.75rem 0 .5rem;font-weight:700;line-height:1.4}article h2[id],article h3[id]{scroll-margin-top:2rem}article blockquote{font-family:var(--font-serif);font-style:italic;font-size:var(--step-1);color:var(--color-ink);border-left:3px solid var(--color-accent);hanging-punctuation:first;margin:2.5rem 0;padding:.25rem 0 .25rem 1.5rem;line-height:1.5}article blockquote p{margin:0 0 .5em}article blockquote p:last-child{margin-bottom:0}hr{border:0;border-top:1px solid var(--color-rule);height:0;margin:2.5rem 0}.callout-box{background:var(--color-bg-soft);border:1px solid var(--color-accent);box-shadow:5px 5px 0 var(--color-accent);border-radius:8px;margin:1.75rem 0;padding:1.25rem 1.5rem}.separator-callout{color:#bcc4cb;padding:0 .75rem}.callout-box pre{margin:.75rem 0 0}.caption{color:var(--color-muted);font-size:var(--step--1)}article details{border:1px solid #0000001a;border-radius:8px;margin-bottom:.75rem;padding:0}article details[open]{padding-bottom:1rem}article details summary{cursor:pointer;padding:1rem 1.25rem 1rem 2.25rem;font-weight:600;list-style:none;position:relative}article details summary::-webkit-details-marker{display:none}article details summary:before{content:"";border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent var(--color-accent);width:0;height:0;transition:transform .2s;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}article details[open] summary:before{transform:translateY(-50%)rotate(90deg)}article details summary:hover{color:var(--color-accent)}article details>:not(summary){padding-left:1.25rem;padding-right:1.25rem}article ul{margin:1rem 0 1.25rem;padding-left:1.25rem;list-style:none}article ul li{margin-bottom:.5rem;padding-left:1rem;position:relative}article ul li:before{content:"";background-color:var(--color-accent);border-radius:50%;width:6px;height:6px;position:absolute;top:.7em;left:0}article ul.no-bullets,article ul.no-bullets li{padding-left:0}article ul.no-bullets li:before{display:none}article ol{margin:1rem 0 1.25rem;padding-left:2rem;list-style:decimal}article ol li{margin-bottom:.5rem;padding-left:.25rem}article ol li::marker{color:var(--color-accent);font-variant-numeric:tabular-nums;font-weight:600}article li::marker{font-feature-settings:"tnum"}article details.faq-item{border:1px solid var(--color-rule);background:#fff;border-radius:8px;margin:.75rem 0;padding:0;transition:border-color .15s}article details.faq-item[open]{border-color:var(--color-accent)}article details.faq-item>summary{cursor:pointer;font-family:var(--font-sans);color:var(--color-ink);-webkit-user-select:none;user-select:none;padding:1rem 2.5rem 1rem 1.25rem;font-size:1.0625rem;font-weight:600;list-style:none;display:block;position:relative}article details.faq-item>summary::-webkit-details-marker{content:"";display:none}article details.faq-item>summary::marker{content:"";display:none}article details.faq-item>summary:before{content:none;display:none}article details.faq-item>summary:after{content:"+";color:var(--color-accent);font-size:1.5rem;font-weight:400;line-height:1;transition:transform .2s;position:absolute;top:50%;right:1.25rem;transform:translateY(-50%)}article details.faq-item[open]>summary:after{content:"−"}article details.faq-item>summary:hover{color:var(--color-accent)}article details.faq-item[open]>summary{padding-bottom:.5rem}article details.faq-item>:not(summary){margin-top:0;margin-bottom:.75rem;padding-left:1.25rem;padding-right:1.25rem}article details.faq-item>:not(summary):last-child{margin-bottom:1.25rem}article details.faq-item ol,article details.faq-item ul{padding-left:3rem}pre{font-family:var(--font-mono);border-radius:8px;margin:1.75rem 0;padding:1.25rem;font-size:.875rem;line-height:1.6;overflow-x:auto}.code-block-wrapper{margin:1.75rem 0;position:relative}.code-block-wrapper pre{margin:0}.copy-button{color:var(--color-ink);border:1px solid var(--color-rule);font-family:var(--font-sans);letter-spacing:.02em;cursor:pointer;opacity:0;background:#fff;border-radius:6px;padding:.35rem .7rem;font-size:.75rem;font-weight:600;transition:opacity .15s,background .15s,color .15s;position:absolute;top:.625rem;right:.625rem;box-shadow:0 1px 2px #00000026}.code-block-wrapper:hover .copy-button,.copy-button:focus{opacity:1}.copy-button:hover{background:var(--color-bg-soft);color:var(--color-accent)}.copy-button.copied{background:var(--color-accent);color:#fff;border-color:var(--color-accent);opacity:1}pre:not(.hljs){color:#e6edf3;background:#0d1117}code{font-family:var(--font-mono);font-feature-settings:"calt", "ss01";font-size:.9em}:not(pre)>code{background:var(--color-bg-soft);color:var(--color-accent-deep);border-radius:4px;padding:.15em .4em;font-size:.875em}article table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:2rem 0;font-size:.9375rem}article th,article td{border-bottom:1px solid var(--color-rule);text-align:left;vertical-align:top;padding:.75rem .85rem}article th{border-bottom:2px solid var(--color-ink);text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink);background:0 0;font-size:.8125rem;font-weight:600}article tr:nth-child(2n){background:0 0}article tbody tr:hover{background:var(--color-bg-soft)}
pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a440747434783fbe-s.047_itglma3g9.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/3aa4d934eba90e8b-s.0n5n~7w2.92ui.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1ce0dcbf49a4d2fc-s.05xmf775qspvj.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2edaebbda2e96a79-s.0eowbdkc6-11h.woff2)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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/704a14dc8309e245-s.0j8~eg.iqcnq~.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/c88e89b5552bf96c-s.0dcndg~e7g9vk.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/234d9015b631dab9-s.p.0_3shu4gwev1q.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_8ba9f8e0-module__apZ7ZG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_8ba9f8e0-module__apZ7ZG__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/85fcf895b86d74a6-s.12xb_oat076h..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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5307092570128b5a-s.0dld-t76zw9ln.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b67966e0b83b2cd0-s.p.04y9-s23ppywx.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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_c283a8d4-module__rSIY9a__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_c283a8d4-module__rSIY9a__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.woff2)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:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2)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:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.0gfhww.tctz1o.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.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: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_c0443923-module__V35udq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_c0443923-module__V35udq__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
