:root{--lt-colours-light:var(--light) !important;--lt-colours-lightgray:var(--lightgray) !important;--lt-colours-dark:var(--secondary) !important;--lt-colours-secondary:var(--tertiary) !important;--lt-colours-gray:var(--outlinegray) !important}h1,h2,h3,h4,h5,h6,ol,ul,thead{font-family:Inter;color:var(--dark);font-weight:revert;margin:revert;padding:revert}h1:hover>.hanchor,h2:hover>.hanchor,h3:hover>.hanchor,h4:hover>.hanchor,h5:hover>.hanchor,h6:hover>.hanchor,ol:hover>.hanchor,ul:hover>.hanchor,thead:hover>.hanchor{opacity:1}.hanchor{font-family:Inter;margin-left:-1em;opacity:.3;transition:opacity .3s ease;color:var(--secondary)}p,ul,text{font-family:source sans pro,sans-serif;color:var(--gray);fill:var(--gray);font-weight:revert;margin:revert;padding:revert}.mainTOC{background:var(--lightgray);border-radius:5px;padding:.75em 1em}.mainTOC details summary{cursor:zoom-in;font-family:Inter;color:var(--dark);font-weight:700}.mainTOC details[open] summary{cursor:zoom-out}#TableOfContents>ol{counter-reset:section;margin-left:0;padding-left:1.5em}#TableOfContents>ol>li{counter-increment:section}#TableOfContents>ol>li>ol{counter-reset:subsection}#TableOfContents>ol>li>ol>li{counter-increment:subsection}#TableOfContents>ol>li>ol>li::marker{content:counter(section)"." counter(subsection)"  "}#TableOfContents>ol>li::marker{content:counter(section)"  "}#TableOfContents>ol>li::marker,#TableOfContents>ol>li>ol>li::marker{font-family:Source Sans Pro;font-weight:700}table{width:100%}img{max-width:100%;border-radius:3px;margin:1em 0}p>img+em{display:block;transform:translateY(-1em)}sup{line-height:0}p,tbody,li{font-family:Source Sans Pro;color:var(--gray);line-height:1.5em}blockquote{margin-left:0;border-left:3px solid var(--secondary);padding-left:1em;transition:border-color .2s ease}blockquote:hover{border-color:var(--tertiary)}table{padding:1.5em}td,th{padding:.1em .5em}.footnotes p{margin:.5em 0}.pagination{list-style:none;padding-left:0;display:flex;margin-top:2em;gap:1.5em;justify-content:center}.pagination .disabled{opacity:.2}.pagination>li{text-align:center;display:inline-block}.pagination>li a{background-color:transparent!important}.pagination>li a[href$="#"]{opacity:.2}.section h3>a{font-weight:700;font-family:Inter;margin:0}.section p{margin-top:0}article>.meta{margin:-1.5em 0 1em;opacity:.7}article a{font-family:Source Sans Pro;font-weight:600}article a.internal-link{text-decoration:none;background-color:rgba(143,159,169,.15);padding:0 .1em;margin:auto -.1em;border-radius:3px}article a.internal-link.broken{opacity:.5;background-color:transparent}article p{overflow-wrap:anywhere}.tags{list-style:none;padding-left:0}.tags .meta>h1{margin:0}.tags .meta>p{margin:0}.tags>li{display:inline-block;margin:.4em 0}.tags>li>a{border-radius:8px;border:var(--outlinegray)1px solid;padding:.2em .5em}.tags>li>a::before{content:"#";margin-right:.3em;color:var(--outlinegray)}.backlinks a{font-weight:600;font-size:.9rem}sup>a{text-decoration:none;padding:0 .1em 0 .2em}a{font-family:Inter,sans-serif;font-size:1em;font-weight:700;text-decoration:none;transition:all .2s ease;color:var(--secondary)}a:hover{color:var(--tertiary)!important}pre{font-family:fira code;padding:.75em;border-radius:3px;overflow-x:scroll}code{font-family:fira code;font-size:.85em;padding:.15em .3em;border-radius:5px;background:var(--lightgray)}html{scroll-behavior:smooth}html:lang(ar) p,html:lang(ar) h1,html:lang(ar) h2,html:lang(ar) h3,html:lang(ar) article{direction:rtl;text-align:right}body{margin:0;height:100vh;width:100vw;max-width:100%;box-sizing:border-box;background-color:var(--light)}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}footer{margin-top:4em;text-align:center}footer ul{padding-left:0}hr{width:25%;margin:4em auto;height:2px;border-radius:1px;border-width:0;color:var(--dark);background-color:var(--dark)}.singlePage{padding:4em 30vw}@media all and (max-width:1200px){.singlePage{padding:25px 5vw}}.page-end{display:flex;flex-direction:row;gap:2em}@media all and (max-width:780px){.page-end{flex-direction:column}}.page-end>*{flex:1 0}.page-end>.backlinks-container>ul{list-style:none;padding-left:0}.page-end>.backlinks-container>ul>li{margin:.5em 0;padding:.25em 1em;border:var(--outlinegray)1px solid;border-radius:5px}.page-end #graph-container{border:var(--outlinegray)1px solid;border-radius:5px;box-sizing:border-box;min-height:250px}.page-end #graph-container>svg{margin-bottom:-5px}.centered{margin-top:30vh}article>h1{font-size:2em}header{display:flex;flex-direction:row;align-items:center}header>h1{font-size:2em}@media all and (max-width:600px){header>nav{display:none}}header>.spacer{flex:auto}header>svg{cursor:pointer;width:18px;min-width:18px;margin:0 1em}header>svg:hover .search-path{stroke:var(--tertiary)}header>svg .search-path{stroke:var(--gray);stroke-width:2px;transition:stroke .5s ease}#search-container{position:fixed;z-index:9999;left:0;top:0;width:100vw;height:100%;overflow:scroll;display:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}#search-container>div{width:50%;margin-top:15vh;margin-left:auto;margin-right:auto}@media all and (max-width:1200px){#search-container>div{width:90%}}#search-container>div>*{width:100%;border-radius:4px;background:var(--light);box-shadow:0 14px 50px rgba(27,33,48,.12),0 10px 30px rgba(27,33,48,.16);margin-bottom:2em}#search-container>div>input{box-sizing:border-box;padding:.5em 1em;font-family:Inter,sans-serif;color:var(--dark);font-size:1.1em;border:1px solid var(--outlinegray)}#search-container>div>input:focus{outline:none}#search-container>div>#results-container .result-card{padding:1em;cursor:pointer;transition:background .2s ease;border:1px solid var(--outlinegray);border-bottom:none;width:100%;font-family:inherit;font-size:100%;line-height:1.15;margin:0;overflow:visible;text-transform:none;text-align:left;background:var(--light);outline:none}#search-container>div>#results-container .result-card:hover,#search-container>div>#results-container .result-card:focus{background:rgba(180,180,180,.15)}#search-container>div>#results-container .result-card:first-of-type{border-top-left-radius:5px;border-top-right-radius:5px}#search-container>div>#results-container .result-card:last-of-type{border-bottom-left-radius:5px;border-bottom-right-radius:5px;border-bottom:1px solid var(--outlinegray)}#search-container>div>#results-container .result-card>h3,#search-container>div>#results-container .result-card>p{margin:0}.search-highlight{background-color:#afbfc966;padding:.05em .2em;border-radius:3px}.section-ul{list-style:none;padding-left:0}.section-ul>li{border:1px solid var(--outlinegray);border-radius:5px;padding:0 1em;margin-bottom:1em}.section-ul>li h3{opacity:1;font-weight:700;margin-bottom:0}.section-ul>li .meta{opacity:.6}@keyframes dropin{0%{display:none;opacity:0;visibility:hidden}1%{display:inline-block;opacity:0;transform:translate(-50%,40%)}100%{opacity:1;visibility:visible;transform:translate(-50%,20%)}}.popover{z-index:999;position:absolute;width:20em;display:none;background-color:var(--light);padding:1em;border:1px solid var(--outlinegray);border-radius:5px;transform:translate(-50%,40%);pointer-events:none;transition:opacity .2s ease,transform .2s ease;user-select:none;overflow-wrap:anywhere;box-shadow:6px 6px 36px rgba(0,0,0,.25)}@media all and (max-width:600px){.popover{display:none!important}}.popover.visible{opacity:1;visibility:visible;transform:translate(-50%,20%);display:inline-block;animation:dropin .2s ease}.popover>h3{font-size:1rem;margin:.25em 0}.popover>.meta{margin-top:.25em;opacity:.5;font-family:jetbrains mono,monospace;font-size:.8rem}.popover>p,.popover>a{margin:0;font-weight:400;user-select:none}#contact_buttons ul{list-style-type:none}#contact_buttons ul li{display:inline-block}#contact_buttons ul li a{padding:0 1em}.clipboard-button{position:absolute;display:flex;float:right;right:0;padding:.69em;margin:.5em;color:var(--outlinegray);border-color:var(--dark);background-color:var(--lightgray);filter:contrast(1.1);border:2px solid;border-radius:6px;font-size:.8em;z-index:1;opacity:0;transition:.12s}.clipboard-button>svg{fill:var(--light);filter:contrast(.3)}.clipboard-button:hover{cursor:pointer;border-color:var(--primary)}.clipboard-button:hover>svg{fill:var(--primary)}.clipboard-button:focus{outline:0}.highlight{position:relative}.highlight:hover>.clipboard-button{opacity:1;transition:.2s}.code-title{color:var(--primary);font-family:monospace;width:max-content;overflow-x:auto;display:inline-block;vertical-align:middle;font-weight:400;line-height:1em;position:relative;padding:.5em .6em .6em;max-width:calc(100% - 1.2em);margin-bottom:-.2em;z-index:-1;border-top-left-radius:.3em;border-top-right-radius:.3em;font-size:.9em;background-color:var(--lightgray);filter:hue-rotate(-30deg)contrast(1)opacity(.8)}:root{--light:#faf8f8;--dark:#141021;--secondary:#284b63;--tertiary:#84a59d;--visited:#afbfc9;--primary:#f28482;--gray:#4e4e4e;--lightgray:#f0f0f0;--outlinegray:#dadada;--million-progress-bar-color:var(--secondary)}[saved-theme=dark]{--light:#1e1e21 !important;--dark:#fbfffe !important;--secondary:#6b879a !important;--visited:#4a575e !important;--tertiary:#84a59d !important;--primary:#f58382 !important;--gray:#d4d4d4 !important;--lightgray:#292633 !important;--outlinegray:#343434 !important}.darkmode{float:right;padding:1em;min-width:30px;position:relative}@media all and (max-width:450px){.darkmode{padding:1em}}.darkmode>.toggle{display:none;box-sizing:border-box}.darkmode svg{opacity:0;position:absolute;width:20px;height:20px;top:calc(50% - 10px);margin:0 7px;fill:var(--gray);transition:opacity .1s ease}.toggle:checked~label>#dayIcon{opacity:0}.toggle:checked~label>#nightIcon{opacity:1}.toggle:not(:checked)~label>#dayIcon{opacity:1}.toggle:not(:checked)~label>#nightIcon{opacity:0}.chroma{overflow:hidden!important;background-color:var(--lightgray)!important}.chroma .lntable{width:auto!important;overflow:auto!important;display:block!important}.chroma .hl{display:block!important;width:100%!important}.chroma .lnt{margin-right:0!important;padding:0 0!important}.chroma .ln{margin-right:0!important;padding:0 0!important}.chroma .gd{color:#8b080b!important}.chroma .gi{font-weight:700!important}.lntd:first-of-type>.chroma{padding-right:0!important}.chroma code{font-family:fira code!important;font-size:.85em!important;line-height:2em!important;background:0 0!important;padding:0!important}.chroma{border-radius:3px!important;margin:0!important}