@font-face{font-family:Fira Code;src:url(/_next/static/media/FiraCode.d4d5d35d.ttf) format("truetype")}@font-face{font-family:IBM Plex Sans;src:url(/_next/static/media/IBMPlexSans-Regular.c7dc84d0.ttf) format("truetype")}@font-face{font-family:IBM Plex Sans;font-style:italic;src:url(/_next/static/media/IBMPlexSans-Italic.9d81b3b0.ttf) format("truetype")}@font-face{font-family:IBM Plex Sans;font-weight:500;src:url(/_next/static/media/IBMPlexSans-Medium.b57725b8.ttf) format("truetype")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:500;src:url(/_next/static/media/IBMPlexSans-MediumItalic.1f006d31.ttf) format("truetype")}@font-face{font-family:Newsreader;src:url(/_next/static/media/Newsreader.5dd2e7ee.ttf) format("truetype")}@font-face{font-family:Newsreader;font-style:italic;src:url(/_next/static/media/Newsreader-Italic.7024d058.ttf) format("truetype")}@font-face{font-family:Virgil;src:url(/_next/static/media/Virgil.a65be652.woff2) format("woff2")}:root{--theme:#ec3750;--yellow:#fefaa7;--border:#e8e8e8;--background:#f8f8f8;--hint:#404040}*{box-sizing:border-box}[contenteditable=true]{outline:none}::selection{background-color:var(--theme);color:#f4f3ec}body,html{font-family:IBM Plex Sans;margin:0;overflow-x:clip;padding:0;scroll-behavior:smooth}#node-iframe{display:none}header{background-color:#fff;margin:auto;display:flex;font-size:1.3rem;padding:0 2em .5em}@media screen and (max-width:991.98px){header{gap:1rem}}@media screen and (min-width:991.98px){header{align-items:flex-end}}header #logo{margin:0;width:150px}header h1,header h2{letter-spacing:-1px;position:relative;z-index:999;margin:0}header h1{color:var(--theme);line-height:1.2;font-style:italic;margin:0}header h2{font-family:Newsreader,serif}header>div{flex:1 1}header>div>a{text-decoration:none;transition:all .1s}header>div>a:hover{opacity:.9}header>div:nth-child(2){display:flex;flex-direction:column;align-items:flex-end;font-weight:400;gap:2px}header>div:nth-child(2) h2{margin:0}header>div:nth-child(2) p{font-size:.995rem;margin:0}header>div:nth-child(2) p a{color:#000;transition:all .1s;-webkit-text-decoration-style:dotted;text-decoration-style:dotted}header>div:nth-child(2) p a:hover{background-color:var(--yellow)}@media screen and (max-width:991.98px){header{font-size:.995rem;flex-direction:column}}footer{border-top:1px solid var(--border);background-color:var(--background);padding:1rem 2rem}@media screen and (max-width:575.98px){footer{padding-top:2rem;padding-bottom:2rem}}footer .footer{display:flex;gap:4rem}footer .logo{width:100px}footer .icons{display:flex}footer .prose *{margin-inline:0!important}footer .prose p{margin-bottom:0!important}.canvas{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:1em}@media screen and (min-width:991.98px){.canvas{border-top-right-radius:5px;border-bottom-right-radius:5px;border-right:1px solid var(--border);max-width:80vw;width:80vw}}@media screen and (min-width:767.98px){.canvas{display:flex}}.canvas .code{background-color:rgba(0,0,0,0)!important;font-family:Fira Code,monospace;font-size:1.1rem;flex:50% 1;margin:0}@media screen and (min-width:767.98px){.canvas .code{max-width:50%;border-right:1px solid var(--border)}}@media screen and (max-width:991.98px){.canvas .code{border-bottom:1px solid var(--border)}}.canvas>div{flex:50% 1}section{background-color:var(--yellow);border-top:1px solid #e8e8e8;border-bottom:1px solid #e8e8e8;padding:1em;margin:1em 0}section a{font-style:italic;font-weight:500;-webkit-text-decoration-style:dotted;text-decoration-style:dotted}section button{background-color:rgba(0,0,0,0);border:none;font:inherit;padding:0;font-style:italic;color:#404040}.prose{line-height:1.6;font-size:1.2rem;position:relative}.prose.sm{font-size:.995rem}@media screen and (max-width:991.98px){.prose{font-size:1.2rem}}.prose .markdown-node-label{text-align:left}.prose img{max-width:100%}@media screen and (max-width:767.98px){.prose img{width:90%!important}}.prose a{color:inherit;transition:all .1s;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;font-style:italic}.prose a:hover{background-color:var(--yellow)}.prose a.no-hover{background-color:rgba(0,0,0,0)}.prose aside{font-size:1rem;position:relative;border-top:1px solid var(--border);padding:1em}.prose aside code{font-size:.9rem!important}.prose aside p:first-child{margin-top:0}@media screen and (max-width:991.98px){.prose aside{border-bottom:1px solid var(--border);margin-top:1em;margin-bottom:1em}.prose aside p:last-child{margin-bottom:0}}@media screen and (min-width:991.98px){.prose aside{max-width:calc(20vw - 2em);width:calc(20vw - 2em);padding-right:0;margin-right:1em;text-align:right;position:relative;float:left}}.prose .toc{font-size:1.1rem;overflow:auto}@media screen and (max-width:991.98px){.prose .toc{padding-top:.25em;padding-bottom:1em}}@media screen and (min-width:991.98px){.prose .toc p{padding-right:1em}}.prose .toc a{background-color:rgba(0,0,0,0);-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:all .1s}.prose .toc a:hover{background-color:var(--yellow)}.prose .toc h3{font-family:Newsreader}@media screen and (max-width:991.98px){.prose .toc h3{font-size:1.4rem;margin-bottom:0!important}}.prose .toc h3{margin-top:1.5em!important}.prose .toc p{margin:.25em 0!important}@media screen and (max-width:767.98px){.prose .toc{max-width:85vw;margin:auto;text-align:right;font-size:.995rem}}@media screen and (max-width:991.98px){.prose .toc{max-width:85vw;margin:auto;text-align:right}}@media screen and (min-width:991.98px){.prose .toc{border-top:1px solid var(--border);max-width:calc(20vw - 2em);width:calc(20vw - 2em);padding-right:1em;margin-left:1em;float:right;position:-webkit-sticky;position:sticky;top:0;margin-bottom:1em}}.prose .pagination{display:flex;justify-content:space-between;gap:1em;max-width:90vw;margin:auto}.prose .pagination a{background-color:rgba(0,0,0,0);border-top:1px solid var(--border);flex:50% 1;padding:1em;transition:all .1s;text-decoration:none}.prose .pagination a:hover{color:var(--theme)}.prose .pagination a .hint{color:#404040;font-style:italic}.prose .pagination a p{margin:0}.prose .pagination a:nth-child(2){text-align:right}@media screen and (min-width:991.98px){.prose .pagination{max-width:60vw;margin:auto}}.prose code,.prose pre{font-family:Menlo,Fira Code,monospace}.prose hr{border:none;background-color:var(--border);height:1px;margin-left:0}@media screen and (max-width:767.98px){.prose hr{max-width:85vw}}@media screen and (max-width:991.98px){.prose hr{max-width:80vw}}@media screen and (min-width:991.98px){.prose hr{max-width:80vw}}.prose pre{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background-color:rgba(0,0,0,0)!important;font-size:1.1rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:0;display:block}.prose pre:default{margin-inline:0!important}.prose pre code{background-color:rgba(0,0,0,0)!important}@media screen and (min-width:767.98px){.prose .editor-wrapper pre{max-height:50vh;overflow-y:auto}}.prose :not(.canvas) pre{padding:0!important}.prose :not(.canvas) pre,.prose :not(.canvas) pre code{background-color:rgba(0,0,0,0)!important}.prose :not(pre)>code{font-size:1.1rem}.prose h1,.prose h2,.prose h3{font-family:Newsreader;font-style:italic;line-height:1.4}.prose h1{margin-bottom:0!important}.prose img,.prose video{display:block;margin:auto}@media screen and (max-width:767.98px){.prose:not(.fw) .interactive,.prose:not(.fw) .pre-wrapper,.prose:not(.fw) details,.prose:not(.fw) form,.prose:not(.fw) h1,.prose:not(.fw) h2,.prose:not(.fw) h3,.prose:not(.fw) h4,.prose:not(.fw) h5,.prose:not(.fw) h6,.prose:not(.fw) li,.prose:not(.fw) ol,.prose:not(.fw) p,.prose:not(.fw) video,.prose:not(.fw)>pre{max-width:90vw;margin:.75em auto}}@media screen and (max-width:991.98px){.prose:not(.fw) .interactive,.prose:not(.fw) .pre-wrapper,.prose:not(.fw) details,.prose:not(.fw) form,.prose:not(.fw) h1,.prose:not(.fw) h2,.prose:not(.fw) h3,.prose:not(.fw) h4,.prose:not(.fw) h5,.prose:not(.fw) h6,.prose:not(.fw) li,.prose:not(.fw) ol,.prose:not(.fw) p,.prose:not(.fw) video,.prose:not(.fw)>pre{max-width:85vw;margin:.75em auto}}@media screen and (min-width:991.98px){.prose:not(.fw) .interactive,.prose:not(.fw) .pre-wrapper,.prose:not(.fw) details,.prose:not(.fw) form,.prose:not(.fw) h1,.prose:not(.fw) h2,.prose:not(.fw) h3,.prose:not(.fw) h4,.prose:not(.fw) h5,.prose:not(.fw) h6,.prose:not(.fw) li,.prose:not(.fw) ol,.prose:not(.fw) p,.prose:not(.fw) video,.prose:not(.fw)>pre{max-width:60vw;margin:.75em auto}.prose:not(.fw) h2,.prose:not(.fw) h3{margin-bottom:0!important;margin-top:1em!important}.prose:not(.fw) .pre-wrapper{margin-top:0!important;margin-bottom:0!important}}.prose .cm-editor{background-color:rgba(0,0,0,0);font-size:.995rem}@media screen and (max-width:991.98px){.prose .cm-editor{border-bottom:1px solid var(--border)}}.prose .cm-focused{outline:none!important}.prose .mermaid pre{font-family:IBM Plex Sans!important}.prose .mermaid p{margin:0!important}