@font-face{font-family:Plex Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../../../fonts/plex-mono-300.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:Plex Mono;font-style:normal;font-weight:300;font-display:swap;src:url(../../../fonts/plex-mono-300-ext.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:Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/plex-mono-400.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:Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/plex-mono-400-ext.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:Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../../../fonts/plex-mono-500.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:Plex Mono;font-style:italic;font-weight:300;font-display:swap;src:url(../../../fonts/plex-mono-300-italic.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:Plex Serif;font-style:normal;font-weight:300;font-display:swap;src:url(../../../fonts/plex-serif-300.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:Plex Serif;font-style:normal;font-weight:300;font-display:swap;src:url(../../../fonts/plex-serif-300-ext.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:Plex Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/plex-serif-400.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:Plex Serif;font-style:italic;font-weight:300;font-display:swap;src:url(../../../fonts/plex-serif-300-italic.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}:root{--ink:#050505;--ink-raised:#0a0a0a;--rule:#1c1c1c;--rule-lit:#2a2a2a;--dim:#3a3a3a;--dimmer:#494949;--meta:#4d4d4d;--muted:#5d5d5d;--soft:#666;--quiet:#8a8a8a;--body:#b9b9b9;--strong:#c9c9c9;--bright:#e8e8e8;--white:#f2f2f2;--pure:#fff;--accent:#d97757;--mono:"Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--serif:"Plex Serif", Georgia, "Times New Roman", serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--ink);-webkit-text-size-adjust:100%}body{background:var(--ink);color:var(--body);font-family:var(--mono);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-weight:300}a{color:var(--bright);text-decoration:none;transition:color .18s}a:hover{color:var(--pure)}:focus-visible{outline:1px solid var(--accent);outline-offset:3px}::selection{color:var(--pure);background:#1f1f1f}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink-raised);border:1px solid var(--rule);color:var(--white);letter-spacing:.12em;padding:10px 16px;font-size:11px;position:absolute;top:0;left:-9999px}.skip-link:focus{top:12px;left:12px}@keyframes pulse{0%,to{opacity:.25}50%{opacity:.7}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.prose{color:var(--body);font-family:var(--serif);font-size:17px;font-weight:300;line-height:1.9}.prose>*{margin:0 0 28px}.prose>:last-child{margin-bottom:0}.prose p{text-wrap:pretty}.prose h2,.prose h3,.prose h4{color:var(--white);font-family:var(--serif);text-wrap:balance;margin:56px 0 20px;font-weight:300;line-height:1.3}.prose h2{font-size:27px}.prose h3{font-size:21px}.prose h4{color:var(--strong);font-size:18px}.prose a{color:var(--white);border-bottom:1px solid var(--rule-lit)}.prose a:hover{border-bottom-color:var(--accent)}.prose strong{color:var(--white);font-weight:400}.prose em{font-style:italic}.prose s{color:var(--muted)}.prose mark{color:var(--white);background:#1a1a12;padding:0 3px}.prose code{font-family:var(--mono);color:var(--quiet);background:var(--ink-raised);border:1px solid var(--rule);border-radius:2px;padding:1px 5px;font-size:.86em}.prose pre{background:var(--ink-raised);border:1px solid var(--rule);color:var(--quiet);font-family:var(--mono);padding:24px 28px;font-size:12.5px;line-height:1.7;overflow-x:auto}.prose pre code{font-size:inherit;color:inherit;background:0 0;border:0;padding:0}.prose blockquote{border-left:1px solid var(--rule-lit);color:var(--quiet);padding-left:24px;font-style:italic}.prose ul,.prose ol{padding-left:22px}.prose li{margin-bottom:10px}.prose li::marker{color:var(--meta)}.prose hr{border:0;border-top:1px solid var(--rule);margin:56px 0}.prose img{border:1px solid var(--rule);max-width:100%;height:auto;display:block}.prose figure{margin:40px 0}.prose figcaption{font-family:var(--mono);color:var(--meta);letter-spacing:.06em;margin-top:10px;font-size:11px}.prose ul[data-type=taskList]{padding-left:2px;list-style:none}.prose ul[data-type=taskList] li{align-items:baseline;gap:10px;display:flex}.prose table{border-collapse:collapse;width:100%;font-family:var(--mono);font-size:13px}.prose th,.prose td{border:1px solid var(--rule);text-align:left;padding:8px 12px}.prose th{color:var(--strong);font-weight:400}@media (width<=720px){.prose{font-size:16.5px;line-height:1.85}.prose pre{padding:18px 20px}}
