:root{--color-bg:rgb(25, 25, 30);--color-text:rgb(234, 220, 181);--main-page-text-colour:rgb(249, 241, 220);--color-highlight:rgb(249, 193, 10);--crt-red:rgb(218, 49, 49);--crt-green:rgb(112, 159, 115);--crt-blue:rgb(40, 129, 206);--header-height:7rem}blockquote{opacity:.7}#full-frame{pointer-events:none}.page-loading{opacity:0}.crt{text-shadow:0 0 .05em currentColor,1px 1px rgba(255,0,255,.5),-1px -1px rgba(0,255,255,.4);position:relative;&:before, &:after{content:"";pointer-events:none;opacity:.5;mix-blend-mode:overlay;position:fixed;height:100vh;width:100vw;left:0;top:0;z-index:1}&:before{background:repeating-linear-gradient( var(--crt-red) 0,var(--crt-green) 2px,var(--crt-blue) 4px )}&:after{background:repeating-linear-gradient( 90deg,var(--crt-red) 1px,var(--crt-green) 2px,var(--crt-blue) 3px )}}.cursor{display:inline-block;animation:blinkTextCursor 500ms infinite normal}@keyframes blinkTextCursor{from{opacity:0}to{opacity:1}}#cross-top,#cross-bottom,#star-top-left,#star-top-right,#star-bottom-left,#star-bottom-right{animation:flicker .7s infinite}button{background:0 0;border:none;font:inherit;cursor:pointer}a{color:var(--color-text);text-decoration:none}@keyframes fade-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes home-pulse-stop{0%,100%{opacity:1}}@keyframes home-pulse{0%,100%{opacity:.4}50%{opacity:.7}}@keyframes flicker{0%,18%,22%,25%,53%,57%,100%{opacity:.8}20%,24%,55%{opacity:1}}@keyframes flicker-rows{0%,18%,22%,25%,53%,57%,100%{opacity:.9}20%,24%,55%{opacity:1}}@keyframes flicker-summary-bg{0%,18%,22%,25%,53%,57%,100%{opacity:1}20%,24%,55%{opacity:.95}}.flicker-nav{animation:flicker .7s infinite}.flicker-rows{animation:flicker-rows 1s infinite}.link-fill{padding:.25rem;border-radius:.2rem}.link-fill:hover{padding:.25rem;border-radius:.2rem;background-color:var(--color-text);color:#000}.interface-font{font-family:bbhbartle,sans-serif}@font-face{font-family:baiser;src:url(/fonts/Baiser.woff2)format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:monorama;src:url(/fonts/Monorama-Regular.woff2)format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:american typewriter;src:url(/fonts/AmericanTypewriter-01.woff2);font-weight:100 900;font-display:swap}@font-face{font-family:moderndos;src:url(/fonts/ModernDOS8x16.woff2)format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:courier new;src:url(/fonts/Courier-New.woff2)format('woff2');font-weight:400;font-style:normal;font-display:swap}body{margin:0;background-color:var(--color-bg);color:var(--color-text);scroll-behavior:smooth;min-height:100vh;overflow-x:hidden}html{scrollbar-width:none}.site-header{z-index:10;background-color:var(--color-bg);padding-bottom:1rem}.site-title{justify-self:start}.header-actions{display:flex;flex-direction:row;align-items:center;gap:.6rem;justify-self:end}.title-bar{display:grid;grid-template-columns:1fr auto;align-items:center;padding:1rem 2rem;box-sizing:border-box;width:100%}.title-font{font-family:baiser;font-size:2rem}.motto{justify-self:end;font-size:1rem;font-family:monorama}.search-toggle{background:0 0;border:1px solid var(--color-text);border-radius:.4rem;padding:.3rem .6rem;cursor:pointer;color:var(--color-text);opacity:.8;display:flex;align-items:center;justify-content:center;line-height:0;width:2rem;height:2rem}.search-toggle svg{fill:currentColor;stroke:currentColor}.search-toggle:hover{background-color:var(--color-text);color:#000}.search-toggle:hover svg{fill:#000;stroke:#000}.search-panel{background-color:rgba(12,12,14,.97);border:1px solid var(--color-text);border-radius:.3rem;padding:1.5rem 2rem 2rem;width:90%;max-width:560px;max-height:80vh;display:flex;flex-direction:column;gap:1rem}.search-panel-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-text);padding-bottom:1rem}.search-panel-title{font-family:monorama;font-size:1.1rem;letter-spacing:.15em;color:var(--color-text)}.search-input-wrapper{position:relative}.search-input{width:100%;background:0 0;border:none;border-bottom:1px solid rgba(234,220,181,.25);color:var(--color-text);font-family:monorama;font-size:1rem;letter-spacing:.1em;padding:.5rem 0;outline:none;box-sizing:border-box}.search-input::placeholder{color:var(--color-text);opacity:.25}.search-input-underline{position:absolute;bottom:0;left:0;height:1px;width:100%;background-color:var(--color-text);transform:scaleX(0);transform-origin:left}.search-results{overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;scrollbar-width:thin;scrollbar-color:var(--color-text)transparent;max-height:calc(80vh - 12rem)}.search-result-item{display:block;padding:.75rem 1rem;border:1px solid var(--color-text);border-radius:.2rem;color:var(--color-text);text-decoration:none}.search-result-item:hover{background-color:rgba(234,220,181,5%)}.search-result-title{font-family:monorama;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:.35rem}.search-result-excerpt{font-family:courier new,Courier,monospace;font-size:.78rem;opacity:.55;line-height:1.5;display:block}.search-result-tags{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.3rem}.search-result-tag{font-family:monorama;font-size:.65rem;letter-spacing:.08em;border:1px solid var(--color-text);border-radius:.2rem;padding:.1rem .4rem;opacity:.45}.search-no-results{font-family:monorama;font-size:.85rem;letter-spacing:.1em;opacity:.35;text-align:center;padding:1.5rem 0}.nav-toggle{font-family:monorama;font-size:.85rem;font-weight:900;letter-spacing:.12em;color:var(--color-text);opacity:.8;border:solid 1px var(--color-text);border-radius:.4rem;padding:.4rem 1.2rem;cursor:pointer;width:100%}.nav-toggle:hover{background-color:var(--color-text);color:#000}.nav-backdrop,.search-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:50;opacity:0;pointer-events:none}.nav-overlay,.search-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:100;pointer-events:none}.nav-overlay-panel{background-color:rgba(12,12,14,.97);border:1px solid var(--color-text);border-radius:.3rem;padding:1.5rem 2rem 2rem;width:90%;max-width:380px}.nav-overlay-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-text);padding-bottom:1rem;margin-bottom:1.5rem;opacity:.9}.nav-overlay-site-title{font-family:baiser;font-size:1.1rem;color:var(--color-text)}.nav-close{font-family:monorama;font-size:.75rem;font-weight:900;letter-spacing:.1em;color:var(--color-text);border:1px solid var(--color-text);border-radius:.3rem;padding:.3rem .8rem;cursor:pointer}.nav-close:hover{background-color:var(--color-text);color:#000}.nav-overlay-links{display:flex;flex-direction:column;gap:.5rem}.nav-overlay-link{font-family:monorama;font-size:1.1rem;font-weight:900;letter-spacing:.15em;color:var(--color-text);text-decoration:none;text-align:center;padding:.6rem .5rem;border-radius:.2rem;display:block}.nav-overlay-link:hover{background-color:var(--color-text);color:#000}.proj-archive{max-width:65ch;margin:2rem auto;padding:0 1rem}.proj-year-label{font-family:monorama;font-size:1.4rem;letter-spacing:.15rem;opacity:.8;border-bottom:1px solid var(--color-text);padding-bottom:.25rem}.proj-month-label{font-family:monorama;font-size:.85rem;letter-spacing:.2em;opacity:.75;text-transform:uppercase}.proj-card{font-family:courier new,Courier,monospace;border:1px solid var(--color-text);border-bottom-left-radius:.2rem;border-bottom-right-radius:.2rem;margin-bottom:.75rem;padding:1rem;transition:background-color .1s}.proj-card:hover{background-color:var(--color-text);color:#000}.proj-card-link{padding:.75rem 1rem}.proj-card-header{display:flex;flex-direction:column;justify-content:stretch;align-items:baseline;gap:.5rem;margin-bottom:.4rem}.proj-card-title{font-size:1rem;letter-spacing:.1em;text-transform:uppercase}.proj-card-date{font-size:.75rem;opacity:.55;white-space:nowrap;flex-shrink:0}.proj-card-summary{font-family:american typewriter;font-size:.85rem;line-height:1.5;opacity:.75;margin:0}.proj-log-num{font-size:.8rem;letter-spacing:.25rem;font-family:monorama;padding:1rem;border:1px solid var(--color-text);border-top-left-radius:.2rem;border-top-right-radius:.2rem;background-color:var(--color-text);opacity:.7;color:#000}.proj-pagination{max-width:65ch;margin:2rem auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;font-family:monorama;letter-spacing:.1em}.proj-pagination-btn{font-size:.9rem;color:var(--color-text);border:1px solid var(--color-text);text-decoration:none}.proj-pagination-info{font-size:.8rem;opacity:.5}.page-header{max-width:80ch;margin:0 auto;padding:0 1rem;font-family:courier new,Courier,monospace;animation:fade-in .6s ease-out .7s 1 normal both;text-align:center}.page-title-main{font-size:2rem}.page-section-title{text-transform:uppercase;font-weight:100;font-family:monorama}.page-toc-details{pointer-events:auto;font-family:courier new,Courier,monospace;cursor:pointer;border:1px solid var(--color-text);border-radius:.4rem;margin:0 auto;padding:.25rem 1rem}.page-toc-details>summary{list-style:none;display:block}.page-toc-details a{display:block}.page-toc-label{font-weight:400}.page-toc-label::before{font-family:monorama;content:'~ Table of Contents';font-size:1.2em;letter-spacing:.1rem}.page-toc-details[open] .page-toc-label::before{content:'↑ Table of Contents'}.page-toc{line-height:1.7;max-width:80ch;margin:0 auto;padding:1rem}.page-toc a{padding:0 .25rem;border-radius:.2rem}.page-toc a:hover{padding:0 .25rem;border-radius:.2rem;background-color:var(--color-text);color:#000}.page-content-column{font-family:courier new,Courier,monospace;max-width:80ch;margin:auto;line-height:1.5;padding:0 1rem}.page-content-column a{text-decoration:underline;text-underline-offset:.15rem}.page-footer{max-width:65ch;margin:1rem auto 2rem;padding:0 1rem}.page-footer-divider{border-top:1px solid rgba(234,220,181,.15);margin-bottom:1.2rem}.page-footer-topics{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.topic-pill--no-count .topic-pill-name{padding:.25rem .8rem;font-size:.8rem;opacity:.75}.topic-pill--no-count:hover .topic-pill-name{background-color:var(--color-text);color:#000;opacity:1}.taxonomy-page{max-width:80ch;margin:2rem auto;padding:0 1rem;font-family:monorama;display:flex;flex-wrap:wrap;align-items:flex-start;gap:1rem}.taxonomy-title{text-align:center;width:100%;font-size:1.4rem;letter-spacing:.15em;margin-bottom:1rem;flex-basis:100%}.topic-pill{display:inline-flex;flex-direction:row;align-items:stretch;border:1px solid var(--color-text);border-radius:.2rem;text-decoration:none;color:var(--color-text);overflow:hidden;transition:opacity .15s}.topic-pill-count{background-color:var(--color-text);color:#000;opacity:.75;font-size:.75rem;font-family:monorama;letter-spacing:.05em;padding:.25rem .5rem;display:flex;align-items:center}.topic-pill-name{font-size:.9rem;letter-spacing:.1em;padding:.25rem 1rem;display:flex;align-items:center;font-family:courier new,Courier,monospace}.topic-pill-name:hover{background-color:var(--color-text);color:#000}.proj-term-label{text-align:center;font-family:monorama;font-size:1.4rem;letter-spacing:.15rem;opacity:.8;padding:.25rem;display:block}.proj-term-label:hover{opacity:1}.scroll-top{position:fixed;bottom:4.9rem;left:50%;transform:translateX(-50%);z-index:200;font-family:monorama;font-size:.7rem;font-weight:900;letter-spacing:.12em;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-text);border-radius:.3rem;padding:.4rem .8rem;cursor:pointer;opacity:0;pointer-events:none}.scroll-top:hover{background-color:var(--color-text);color:#000}.site-footer{display:flex;justify-content:center;align-items:center;padding:1.5rem 1rem;margin-top:4rem;border-top:1px solid rgba(234,220,181,.15)}.site-footer-text{font-family:monorama;font-size:.75rem;letter-spacing:.12em;opacity:.45}.site-footer-link{color:var(--color-text);text-decoration:none}.site-footer-link:hover{opacity:.7}.blockquote-plain{margin:1.5rem 0;padding:.25rem 0 .25rem 1.25rem;border-left:2px solid var(--color-text);font-style:italic;opacity:.85}.blockquote-plain p{margin:0}figure{margin:1.5rem 0}figure img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:.75rem}figure.img-small img{max-width:40%}figure.img-default img{max-width:100%}figure.img-full{width:100vw;position:relative;left:50%;transform:translateX(-50%)}figure.img-full img{max-width:100%}figcaption{text-align:center;font-family:monorama;font-size:.8rem;color:var(--color-text-muted);margin-top:.4rem;letter-spacing:.05em;opacity:.8}.highlight{overflow-x:auto;max-width:100%}.highlight pre{margin:0;overflow-x:visible}.codeblock-container{margin:1.5rem 0;border:1px solid var(--color-text);border-radius:.2rem}.codeblock-header{padding:.2rem .6rem;border-bottom:1px solid var(--color-text);display:flex;align-items:center}.codeblock-lang{font-family:monorama;font-size:.8rem;color:var(--color-text-muted);letter-spacing:.1em}.codeblock-scroll{overflow-x:scroll;scrollbar-width:none}.codeblock-scroll .highlight,.codeblock-scroll pre{border:none;padding:.1rem 0;overflow-x:visible}.table-wrapper{overflow-x:auto;margin:1.5rem 0;scrollbar-width:thin;scrollbar-color:var(--color-text)transparent;border:1px solid rgba(234,220,181,.3);border-radius:.3rem}.table-wrapper table{width:100%;border-collapse:collapse;font-family:courier new,Courier,monospace;font-size:.85rem;letter-spacing:.03em}.table-wrapper th,.table-wrapper td{padding:.5rem 1rem}.table-wrapper thead tr{border-bottom:1px solid rgba(234,220,181,.3)}.table-wrapper th{text-align:left;font-family:monorama;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;opacity:.6;white-space:nowrap;border-left:1px solid rgba(234,220,181,.3)}.table-wrapper td{vertical-align:top;border-bottom:1px solid rgba(234,220,181,.1);border-left:1px solid rgba(234,220,181,.3)}.table-wrapper td:first-child,.table-wrapper th:first-child{padding-left:.75rem;border-left:none}.table-wrapper td:not(:first-child),.table-wrapper th:not(:first-child){text-align:right}.table-wrapper tbody tr:last-child td{border-bottom:none}.table-wrapper tbody tr:hover td{background-color:rgba(234,220,181,4%)}.footnotes{margin-top:3rem}.footnotes hr{opacity:.3}.footnote-backref{border:1px solid;padding:.1rem .5rem;border-radius:.4rem}@media(max-width:768px){.title-bar{padding:1rem;grid-template-columns:1fr auto}.title-font{font-size:1.5rem}.motto{display:none}.nav-toggle{width:auto;justify-self:end}.site-main--section{height:auto;overflow:visible}.main-section-panel{flex-direction:column;height:auto}.proj-log-list{margin:0 auto;flex:none;width:100%;overflow-y:visible;border-bottom:1px solid var(--color-text);padding:1rem;font-size:1rem;letter-spacing:normal}.main-section-summary{display:none}.scroll-top{bottom:5rem}.search-toggle{width:2rem;height:2rem;border-radius:.3rem}}