*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html,body{margin:0;padding:0}@font-face{font-display:swap;font-family:'Abril Fatface';font-style:normal;font-weight:400;src:url('../fonts/abril-fatface.woff2') format('woff2'),url('../fonts/abril-fatface.ttf') format('truetype')}@font-face{font-display:swap;font-family:'Rokkitt';font-style:normal;font-weight:400;src:url('../fonts/rokkitt.woff2') format('woff2'),url('../fonts/rokkitt.ttf') format('truetype')}@font-face{font-display:swap;font-family:'Rokkitt';font-style:italic;font-weight:400;src:url('../fonts/rokkitt-italic.woff2') format('woff2'),url('../fonts/rokkitt-italic.ttf') format('truetype')}@font-face{font-display:swap;font-family:'Spline Sans Mono';font-style:normal;font-weight:400;src:url('../fonts/spline-mono.woff2') format('woff2'),url('../fonts/spline-mono.ttf') format('truetype')}@font-face{font-display:swap;font-family:'Spline Sans Mono';font-style:italic;font-weight:400;src:url('../fonts/spline-mono-italic.woff2') format('woff2'),url('../fonts/spline-mono-italic.ttf') format('truetype')}html{font-family:"Rokkitt",serif}code,pre,.post-meta,.codeblock-button{tab-size:2;font-family:"Spline Sans Mono",monospace}@media(min-width:58em){html{font-size:20px}}html{color:#bbb;background-color:#282828}body{font-size:16pt;line-height:1.5;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}::selection{background-color:#444}h1,h2,h3,h4,h5,h6{transform:skewY(-2deg) translate(-1rem,0rem);transform-origin:top}h1,h2,h3,h4,h5,h6{font-family:"Abril Fatface",serif;font-weight:bold;text-rendering:geometricPrecision;font-style:italic;text-decoration-line:underline;text-decoration-color:goldenrod;text-underline-offset:4%;text-decoration-thickness:.25ex}@media(max-width:47em){h1,h2,h3,h4,h5,h6{transform:skewY(-2deg)}}h1{font-size:2rem;margin-top:0}h2{margin-top:1rem;font-size:1.5rem}h3{margin-top:1.5rem;font-size:1.25rem}h4,h5,h6{margin-top:1rem;font-size:1rem}@media(max-width:47em){h1{font-size:1.5rem}}p>em{color:#ddd}h1>a,h2>a,h3>a,h4>a,h5>a,h6>a{text-decoration:none}h1:has(a):hover,h2:has(a):hover,h3:has(a):hover,h4:has(a):hover,h5:has(a):hover,h6:has(a):hover{color:white;text-decoration-color:white}a{color:inherit;text-decoration-line:none;word-break:break-word}a strong{color:inherit}.content p a{text-decoration-line:underline;text-decoration-color:goldenrod;text-underline-offset:15%;text-decoration-thickness:15%}.content td a{color:white}.content a:hover,a:focus{text-decoration-line:underline;color:white}.content p a:hover,.content p a:focus{text-decoration-color:white}a:hover,a:focus,a code{text-decoration-style:none}p{margin-top:0;margin-bottom:1rem}strong{color:#ddd}ul,ol,dl{margin-top:0;margin-bottom:1rem}dt{font-weight:bold}dd{margin-bottom:.5rem}hr{position:relative;margin:1.5rem 0;border:0;border-top:2px solid #ddd}img{display:block;max-width:100%;margin-bottom:1rem;border-radius:5px}figure>*{margin:.6em auto}figure{max-width:80%;margin:1em auto}figcaption{text-align:center;font-size:90%;font-style:italic}code{padding:.125em .25em;font-size:74%;color:#ddd;background-color:rgba(0,0,0,0.25);border-radius:3px;font-style:normal}.katex-inl>.katex{white-space:pre;padding:.125em .25em;background-color:#202020;border-radius:3px;font-size:100%!important;color:#ddd}.katex-dpy{display:block;padding:.5rem;padding-bottom:.25rem;border-radius:10px;font-size:1rem;background-color:#181818;color:#ddd}pre{display:block;margin-top:0;margin-bottom:1rem;padding:1rem;font-size:.8rem;line-height:1.4;white-space:pre;word-break:keep-all;background-color:#181818;border-radius:10px;overflow-x:auto;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}pre::-webkit-scrollbar{display:none}pre code{padding:0;font-size:100%;color:inherit;background-color:transparent;position:relative;z-index:2}.code-wrap pre{white-space:normal;word-break:break-all}figure.highlight{margin:0;max-width:100%;border-radius:10px;position:relative;background-color:transparent}.codeblock{margin:0;margin-bottom:1rem;background-color:#181818;border-radius:10px;position:relative}.code-multicol{display:flex;justify-content:space-around;column-gap:.5rem;width:100%}.code-multicol>.codeblock{flex-basis:50%;flex-grow:0;min-width:0}.codeblock-buttons{display:flex;justify-content:flex-end;column-gap:.5rem;position:absolute;float:right;right:.5em;bottom:.5em;z-index:3}.codeblock-button{display:block;background:#282828;padding:2px 5px;border-radius:5px;font-size:.6rem}a.codeblock-button{color:#bbb}
a.codeblock-button:hover{background-color:#484848;text-decoration:none}.codeblock{border:rgba(0,0,0,0) solid .15em}.codeblock:has(a.codeblock-anchor:hover){border-color:#bbb;background-color:#222}.codeblock:has(a.codeblock-anchor:hover) pre{background-color:#222}.codeblock-button.godbolt::after{background-image:url("../images/godbolt.svg");background-size:.8rem .8rem;width:.8rem;height:.8rem;content:"";position:relative;float:right;left:.1rem;top:.05rem;z-index:4}.codeblock{margin-bottom:1rem;border-radius:4px}.codeblock pre{margin-bottom:0}.tooltip{position:relative;color:white;font-style:italic}.tooltip .tooltip-text{width:max-content;word-break:break-word;overflow-wrap:break-word;hyphens:auto;background:#181818;padding:.3rem .5rem;border-radius:10px;font-size:.8rem;font-style:italic;position:absolute;top:calc(1.1lh);left:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .2s ease-in-out}.tooltip:hover .tooltip-text{opacity:1;transition:opacity .3s ease-in-out}blockquote{padding:.5rem 1rem;margin:.8rem 0;color:#bbb;background-color:rgba(0,0,0,0.2);padding-right:2rem;border-left:.25rem solid #999}@media(min-width:48em){blockquote{padding-right:1.25rem;padding-left:1.25rem}}blockquote :first-child{margin-top:0}blockquote :last-child{margin-bottom:0}blockquote>h1,blockquote>h2,blockquote>h3,blockquote>h4,blockquote>h5,blockquote>h6{font-style:normal;transform:translate(-0.2rem,0.5rem)}blockquote .title{font-weight:bold;font-family:"Rokkitt",serif;font-size:120%}blockquote .chip{display:inline-block;padding:.08em .4em;padding-top:.225em;margin-right:.3em;line-height:.8em;border-radius:1em;border:3px solid #bbb;text-transform:uppercase;font-weight:bold;font-family:"Rokkitt",serif;font-size:90%}blockquote:has(>:not(blockquote) .chip:hover),blockquote:has(>:not(blockquote) .title:hover){border-color:white!important;background-color:#333}blockquote .chip:hover,blockquote .chip:has(~ .title:hover){border-color:white!important}blockquote .chip:has(~ .title){margin-right:.5em;font-size:120%}blockquote a:has(.chip),blockquote .chip{font-style:normal!important;text-decoration:none!important}blockquote p:has(.title){padding-top:.5em}blockquote p:has(.chip):not(:has(.title)){display:inline}blockquote p:has(.chip):not(:has(.title)) ~ p{display:inline}blockquote p:has(.chip):not(:has(.title)) ~ p ~ p{display:block;padding-top:1rem}blockquote.aside .chip{display:none}blockquote.aside .title::before{content:"✀ "}blockquote.aside:has(.title){border-left-style:dashed}blockquote.tip,blockquote.tip .chip{border-color:goldenrod}blockquote.warning,blockquote.warning .chip{border-color:red}blockquote.ref,blockquote.ref .chip{border-color:dodgerblue}blockquote.warning .chip::after{content:"!"}blockquote:is(.def,.thm,.prop,.cor,.alg,.proof) :is(.chip,.title){font-size:100%}blockquote:is(.def,.thm,.prop,.cor,.alg,.proof) p:first-child{display:inline}blockquote:is(.def,.thm,.prop,.cor,.alg,.proof) p:first-child ~ p{display:inline}blockquote:is(.def,.thm,.prop,.cor,.alg,.proof) p:first-child ~ p ~ p{display:block;padding-top:1rem}blockquote:is(.def,.thm,.prop,.cor,.alg,.proof) .chip{border:0;padding:0;text-transform:capitalize;margin-right:0}blockquote:is(.def,.thm,.prop,.cor,.alg,.proof) .chip:not(:has(~ .title))::after{content:"."}blockquote:is(.def,.thm,.prop,.cor,.alg,.proof) .chip:has(~ .title)::after{content:" ("}blockquote:is(.def,.thm,.prop,.cor,.alg,.proof) .title::after{content:")."}blockquote:is(.def,.thm,.prop,.cor,.alg) p{font-style:italic}blockquote blockquote.proof{border:0;border-radius:1em;font-style:normal}blockquote.proof :is(.chip,.title){font-style:italic!important}blockquote.proof p{font-style:normal}blockquote.proof :is(.chip,.title):not(:hover){color:#ddd}blockquote.proof{position:relative}blockquote.proof::after{position:absolute;right:.7em;bottom:.5em;content:"◼"}table{font-size:90%;margin-bottom:1rem;width:100%;border-collapse:collapse}tbody{border-radius:10px}tbody tr:nth-child(1){border-radius:10px 10px 0 0}tbody tr:nth-last-child(1){border-radius:0 0 10px 10px}tbody tr:nth-child(1) td:nth-child(1){border-radius:10px 0 0 0}tbody tr:nth-child(1) td:nth-last-child(1){border-radius:0 10px 0 0}tbody tr:nth-last-child(1) td:nth-child(1){border-radius:0 0 0 10px}tbody tr:nth-last-child(1) td:nth-last-child(1){border-radius:0 0 10px 0}tbody{border-bottom-width:.3rem;border-style:solid;border-color:#282828}td,th{padding:.25rem .5rem;border-width:0 .2rem;border-style:solid;border-color:#282828}td:nth-child(1){border-left-width:0}td:nth-last-child(1){border-right-width:0}tbody tr:nth-child(odd) td,tbody tr:nth-child(odd) th{background-color:#202020}tbody tr:nth-child(even) td,tbody tr:nth-child(even) th{background-color:#181818}
div.footnotes{counter-reset:footnotes;padding-top:1.5rem;border:0;border-top:2px solid #eee}div.footnotes ol>li{counter-increment:footnotes}div.footnotes ol>li:not(:first-child){padding-top:1rem;border-top:2px solid #666}div.footnotes ol>li::marker{content:"(" counter(footnotes) ")   "}@media(max-width:47em){div.footnotes ol>li::marker{content:""}div.footnotes ol>li>p:first-child::before{content:"(" counter(footnotes) ") ";display:inline-block;white-space:pre}}div.footnotes ol{padding:0}[role="doc-endnotes"] p{position:relative}[role="doc-endnotes"] p::after{content:"↺";visibility:hidden}.footnote{text-decoration:none!important}.reversefootnote{visibility:hidden;position:absolute;bottom:0;right:0}.reversefootnote:after{content:"↺";color:goldenrod;visibility:visible;display:block;position:absolute;top:0}.post>p:last-of-type{position:relative}.post>p:last-of-type::after{position:absolute;bottom:0;right:0;content:"◼";color:goldenrod}.container{max-width:38rem;padding-left:1rem;padding-right:1rem;margin-left:auto;margin-right:auto}.content{padding-top:1.5rem;padding-bottom:1.5rem}@media(min-width:48em){.content{padding-top:4rem;padding-bottom:4rem;padding-top:4rem;max-width:38rem;margin-left:14.5rem;margin-right:2rem}}@media(min-width:72em){.content{margin-left:22rem;margin-right:4rem}}@media(max-width:47em){.hide-if-mobile{display:none!important}}@media(min-width:48em){.show-if-mobile{display:none!important}}.sidebar{color:#9a9a9a;background-color:#181818;text-align:center}@media(min-width:48em){.sidebar{position:fixed;top:0;left:0;bottom:0;width:18em;text-align:left;padding:1em;font-size:.7rem;display:flex;flex-flow:column;justify-content:space-between}}@media(min-width:72em){.sidebar{font-size:1rem}}.sidebar-avatar{min-height:150px;display:flex;justify-content:space-around}.sidebar-avatar img{margin:auto;height:100%;object-fit:contain}.sidebar a{color:#ddd}.sidebar a:hover{color:white}.sidebar-about h1{font-size:3.25em;transform:none;margin-bottom:.5rem;font-style:normal}.lead{font-size:1.2em;font-weight:300;color:#bbb}.sidebar-nav{display:block;text-align:center}.sidebar-nav-item.active{font-weight:bold}.sidebar-nav-item img{display:inline;height:.8em;margin-bottom:0;border-radius:0;transform:translateY(0.15em)}a.sidebar-nav-item img{opacity:70%}a.sidebar-nav-item:hover img{opacity:100%}.sidebar-sticky{padding:1em;padding-top:0}@media(max-width:47em){.footer .sidebar-sticky{padding-top:1em}}.sidebar-sticky hr{margin:.7rem 0}.minimap{position:fixed;top:0;right:0;cursor:grab;z-index:999}@media(max-width:89em){.minimap{display:none}}.minimap-size{position:relative;z-index:3}.minimap-controller{width:100%;padding-top:100%;position:absolute;top:0;left:0;margin-left:auto;margin-right:auto;background-color:#ddd;opacity:0;transition:opacity .2s ease-in-out}.minimap:hover .minimap-controller{opacity:.2;transition:opacity .2s ease-in-out}.minimap-content{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;transform-origin:0 0;border:0}.censored{background-color:currentcolor}p>.censored,li>.censored,th>.censored,td>.censored{color:#666}code .censored,a .censored,em .censored,strong .censored{color:#999}pre code .censored{color:inherit}h1 .censored,h2 .censored,h3 .censored,h4 .censored,h5 .censored,h6 .censored{background-color:transparent}.page,.post{position:relative;margin-bottom:4em}.page-title,.post-title{display:block;margin-bottom:1.5rem;transform:skewY(-2deg) translate(-1rem,-0.4rem);transform-origin:top}@media(max-width:47em){.page-title,.post-title{transform:skewY(-2deg)}}@media(min-width:48em){.post-title{width:85%}}.post-meta{font-size:70%}@media(max-width:47em){.post-meta{font-size:60%}}.post-title>h1,.page-title>h1{transform:none}.post-meta a:hover{text-decoration:none}.post-meta,.post-meta *{color:#9a9a9a;font-style:italic}.post-preview .post{max-height:26rem;position:relative;overflow:hidden}.post-preview .post-title{overflow:visible;z-index:4}.post-preview .post::after{content:'\00a0';position:absolute;bottom:0;left:0;z-index:3;width:100%;text-align:center;margin:0;padding-top:16rem;pointer-events:none;background-image:linear-gradient(to bottom,rgba(40,40,40,0),rgba(40,40,40,100))}.post-preview h2[id]>a,.post-preview h3[id]>a,.post-preview h4[id]>a,.post-preview h5[id]>a,.post-preview h6[id]>a{pointer-events:none}.post-footer{padding-top:2rem;padding-bottom:2rem;border-top:2px solid #eee}.pagination{text-align:center}.pagination-item{padding:1rem}