:root{--space-1:0.25rem;--space-2:0.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--gutter:var(--space-4)}:root,:root[data-palette=dark]{color-scheme:dark;--link:#7cafc2;--hover:#86c1b9;--bg-body:#1e2434;--bg:#0a1019;--text:#878d9d;--border-pink:#815f86;--border-blue:#779aa1;--text-header:#f94eca;--text-subheader:#60d3cc;--text-body:#b8bcc9;--inner-bg:#151b2b;--off-fg:#a3be8c;--muted:#878d9d;--highlight:#815f86;--error:#ff6b6b;--header-bg:#1e2434;--header-fg:#fff;--on-highlight:#0a1019;--glow:249, 78, 202;--glow-k:1;--off-fg-rgb:163, 190, 140;--border-blue-rgb:119, 154, 161;--scan-a:0.08;--win-title-bg:var(--border-pink);--win-title-fg:#fff;--win-bg:var(--bg-body);--win-fg:var(--text-body);--win-border:var(--border-pink);--btn-bg:var(--border-pink);--btn-fg:#fff;--btn-shadow:var(--border-blue);--dither-ink:var(--border-pink);--dot-a:0.4;--blob-a:0.6}:root[data-palette=light]{color-scheme:light;--link:#0a5f5a;--hover:#a3106f;--bg-body:#dcdcdc;--bg:#e88ba0;--text:#4a4a4a;--border-pink:#1e1e1e;--border-blue:#1e1e1e;--text-header:#a3106f;--text-subheader:#0a5f5a;--text-body:#1e1e1e;--inner-bg:#ececec;--off-fg:#2f5f1a;--muted:#4a4a4a;--highlight:#d65cbb;--error:#c0392b;--header-bg:#dcdcdc;--header-fg:#1e1e1e;--on-highlight:#1e1e1e;--glow:163, 16, 111;--glow-k:0;--off-fg-rgb:47, 95, 26;--border-blue-rgb:30, 30, 30;--scan-a:0;--win-title-bg:#1e1e1e;--win-title-fg:#dcdcdc;--win-bg:#dcdcdc;--win-fg:#1e1e1e;--win-border:#1e1e1e;--btn-bg:#d65cbb;--btn-fg:#1e1e1e;--btn-shadow:#1e1e1e;--dither-ink:#1e1e1e;--dot-a:0.35;--blob-a:0.9}.win{display:flex;flex-direction:column;min-width:0;box-shadow:2px 2px 0 var(--win-border)}.win[hidden]{display:none}.win__title{padding:var(--space-1)var(--space-2);color:var(--win-title-fg);background-color:var(--win-title-bg);border:2px solid var(--win-border);border-bottom:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.win__body{--frame-inset:5px;padding:var(--space-4);color:var(--win-fg);background-color:var(--win-bg);border:2px solid var(--win-border);box-shadow:inset 0 0 0 3px var(--win-bg),inset 0 0 0 4px var(--win-border)}.win__title+.win__body{border-top:0}.win__body>:first-child,.win__scroll>:first-child{margin-top:0}.win__body>:last-child,.win__scroll>:last-child,.page__main>:last-child,.content__body>:last-child{margin-bottom:0}.content__body>:last-child>:last-child,.content__body>:last-child>:last-child>:last-child,.content__body>:last-child>:last-child>:last-child>:last-child,.content__body>:last-child>:last-child>:last-child>:last-child>:last-child{margin-bottom:0}.btn{appearance:none;display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1)var(--space-3);font:inherit;color:var(--btn-fg);background-color:var(--btn-bg);border:0;border-radius:0;box-shadow:3px 3px 0 var(--btn-shadow);text-decoration:none;cursor:pointer;transition:filter .15s ease}a.btn:link,a.btn:visited,a.btn:hover,a.btn:active{color:var(--btn-fg)}.btn:hover{filter:brightness(1.15)}.btn:active{transform:translate(3px,3px);box-shadow:none}.btn:focus-visible{outline:2px solid var(--text-header);outline-offset:2px}.btn:disabled{opacity:.4;filter:grayscale(60%);cursor:not-allowed}.btn:disabled:hover,.btn:disabled:active{filter:grayscale(60%);transform:none;box-shadow:3px 3px 0 var(--btn-shadow)}.main-nav{position:relative}.main-nav ul{display:flex;flex-flow:row wrap;align-items:center;margin:0;padding:0;gap:0 1.5rem}.main-nav li{padding:0;margin:0;text-transform:lowercase;list-style:none}.main-nav li::before{content:"./";color:var(--muted)}.main-nav li::marker{content:none}.main-nav li a{position:relative;text-decoration:none;transition:color .2s ease}.main-nav li a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background-color:var(--text-header);box-shadow:0 0 6px rgba(var(--glow),calc(.5 * var(--glow-k)));transition:width .3s ease}.main-nav li a:hover::after,.main-nav li a.active::after{width:100%}.main-nav li a:hover{color:var(--text-header);text-shadow:0 0 8px rgba(var(--glow),calc(.4 * var(--glow-k)))}.head-circle{color:gray}.head-arrow{color:green}.head-text{color:#5f9ea0}.head-branch::before{content:"git:(";color:#6a5acd}.head-branch::after{content:")";color:#6a5acd}.head-branch{color:brown;display:inline-block;max-width:27ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.head-x{color:#daa520}:root[data-palette=light] .head-circle{color:var(--muted)}:root[data-palette=light] .head-arrow{color:var(--off-fg)}:root[data-palette=light] .head-text{color:var(--text-subheader)}:root[data-palette=light] .head-branch::before,:root[data-palette=light] .head-branch::after{color:#453a85}:root[data-palette=light] .head-branch{color:var(--text-header)}:root[data-palette=light] .head-x{color:#803770}@keyframes blink{0%,50%{opacity:1}50.01%,100%{opacity:0}}.main-nav{flex:1;min-width:0;position:relative}.main-nav li.palette-item{margin-left:auto;position:relative}.main-nav li.palette-item::before{content:none}.palette-picker>summary{list-style:none}.palette-picker>summary::-webkit-details-marker{display:none}.palette-picker[open]>summary{transform:translate(3px,3px);box-shadow:none}.palette-popup{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:100;min-width:12rem}.palette-popup .win__body{padding:var(--space-2)}.palette-option{appearance:none;display:block;width:100%;padding:var(--space-1)var(--space-2);font:inherit;text-align:left;color:var(--win-fg);background:0 0;border:0;cursor:pointer}.palette-option::before{content:"  ";white-space:pre}.palette-option[aria-pressed=true]::before{content:"> ";color:var(--off-fg)}.palette-option:hover::before,.palette-option:focus-visible::before{color:inherit}.palette-option:hover,.palette-option:focus-visible{color:var(--win-title-fg);background-color:var(--win-title-bg);outline:0}.main-nav li.lang-item{margin-left:auto}.main-nav li.lang-item::before{content:none}.main-nav li.lang-item+.palette-item{margin-left:0}.main-nav li.lang-item{position:relative}.lang-picker>summary{list-style:none}.lang-picker>summary::-webkit-details-marker{display:none}.flag{display:block;flex:none;width:2rem;height:1.375rem}.lang-picker[open]>summary{transform:translate(3px,3px);box-shadow:none}.lang-popup{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:100;min-width:14rem}.lang-popup .win__body{padding:var(--space-2)}.main-nav li a.lang-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1)var(--space-2);color:var(--win-fg);text-decoration:none;text-shadow:none}.main-nav li a.lang-option::before{content:"  ";white-space:pre}.main-nav li a.lang-option[aria-current=true]::before{content:"> ";color:var(--off-fg)}.main-nav li a.lang-option::after{content:none}.main-nav li a.lang-option:hover,.main-nav li a.lang-option:focus-visible{color:var(--win-title-fg);background-color:var(--win-title-bg);text-shadow:none;outline:0}.main-nav li a.lang-option:hover::before,.main-nav li a.lang-option:focus-visible::before{color:inherit}@media screen and (max-width:480px){.main-nav{position:relative}.main-nav li.lang-item{position:static}.lang-popup{top:auto;margin-top:var(--space-2)}}body,html{height:100%;margin:0;padding:0;background-color:var(--bg);font-family:var(--font-body);overflow:hidden}.page{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.page__header{flex-shrink:0;padding:var(--space-2)var(--gutter);display:flex;align-items:center;color:var(--header-fg);background-color:var(--header-bg);border-bottom:3px solid var(--border-pink)}.page__body{display:flex;flex:1;gap:var(--gutter);padding:var(--gutter);min-height:28.125rem;overflow:hidden}.page__content{flex:1;min-height:0}.page__content .win__body{display:flex;flex-direction:column;flex:1;min-height:0;padding:var(--frame-inset)}.win__scroll{flex:1;min-height:0;padding:calc(var(--space-4) - var(--frame-inset));overflow-x:hidden;overflow-y:auto;overflow-wrap:break-word}.page__main{min-width:0}.content__header{width:100%}.content__body{position:relative;z-index:2}.header__container{margin-bottom:var(--space-4)}.post__header a{position:relative;z-index:2}.project__card+.project__card{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px dashed var(--win-border)}.project__badges{display:flex;flex-wrap:wrap;gap:var(--space-1)var(--space-2);margin:0 0 var(--space-3);padding:0;list-style:none}.project__badge{padding:.1em .6em;font-size:.85em;color:var(--off-fg);border:1px solid var(--win-border)}.project__badge::marker{content:none}.right__content{display:flex;flex-direction:column;gap:var(--gutter);flex:0 0 clamp(18rem,22%,26rem);overflow-y:auto;overflow-x:hidden;padding:0 var(--space-1)var(--space-1)0}.right__content>.win{flex-shrink:0}.right__content .win__body{padding:var(--space-3)}img{max-width:100%;height:auto;display:block;object-fit:contain}@media screen and (max-width:768px){.page__body{flex-direction:column;overflow-y:auto;overflow-x:hidden}.page__content{flex:none}.page__content .win__body{flex:none}.win__scroll{flex:none;overflow:visible}.right__content{flex:none;overflow:visible;padding:0}.page__body{min-height:20rem}}.socials__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.socials__item{width:100%}.socials__link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1)var(--space-2);text-decoration:none;border:1px solid transparent;transition:all .2s ease;background:0 0}.socials__link:hover{background-color:rgba(var(--off-fg-rgb),.1);border-color:var(--off-fg)}.socials__link:focus{outline:1px solid var(--border-blue);outline-offset:2px}.socials__text{font-size:1.375rem;color:var(--win-fg)}.socials__link:hover .socials__text{color:var(--off-fg)}.fa-brands{font-size:1.8rem;color:var(--text-subheader);transition:color .2s ease}.socials__link:hover .fa-brands{color:var(--off-fg)}.til__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.til__list li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.til__list li::marker{content:none}.til__list li::before{content:"~ ";color:var(--muted)}.til__list li a{text-decoration:none;color:var(--win-fg);transition:color .2s ease}.til__list li a:hover{color:var(--off-fg)}.status__line{display:flex;align-items:center;gap:var(--space-2)}.status__line+.status__line{margin-top:var(--space-1)}.status__dot{display:inline-block;width:12px;height:12px;border-radius:50%;background-color:var(--off-fg);animation:blink-dot 1.5s infinite}@keyframes blink-dot{0%,100%{opacity:1}50%{opacity:.3}}.status__label{color:var(--muted)}.status__value{color:var(--off-fg)}@font-face{font-family:departure mono;src:url(/fonts/DepartureMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--font-body:"Departure Mono", "Fira Mono", "Consolas", monospace;--font-heading:var(--font-body)}body{font-family:var(--font-body);font-size:1.375rem;line-height:1.5;font-synthesis:none;font-variant-ligatures:none}h1{font-size:2.75rem;margin:0;font-weight:400;color:var(--text-header);text-shadow:0 0 8px rgba(var(--glow),calc(.6 * var(--glow-k))),0 0 20px rgba(var(--glow),calc(.25 * var(--glow-k)))}h2,h3,h4,h5,h6{font-size:1.375rem;margin:var(--space-5)0 var(--space-2);font-weight:400;color:var(--text-header);text-shadow:0 0 6px rgba(var(--glow),calc(.5 * var(--glow-k))),0 0 15px rgba(var(--glow),calc(.2 * var(--glow-k)))}h2{font-size:2.0625rem}h1+h2,h1+h3,h1+h4,h1+h5,h1+h6,h2+h3,h2+h4,h2+h5,h2+h6,h3+h4,h3+h5,h3+h6,h4+h5,h4+h6,h5+h6{margin:0}h1:first-child{margin-top:0}p{margin:0 0 var(--space-4)}a:link,a:visited{color:var(--text-subheader)}a:active,a.active{color:var(--text-header)}a:hover{color:var(--text-header)}ul{margin:0 0 var(--space-4);padding-left:1.25rem}ol{margin:0 0 var(--space-4);padding-left:1.75rem}ul ul,ul ol,ol ul,ol ol{margin:0}ul li::marker{content:'∗\00A0';color:var(--muted)}ol li::marker{color:var(--muted)}dt{margin:0;color:var(--off-fg)}dd{margin:0 0 0 var(--space-4);font-style:italic}dd+dt{margin-top:var(--space-4)}dl{margin:0 0 var(--space-4)}blockquote{position:relative;margin:0 0 var(--space-4)var(--space-4)}blockquote::before{position:absolute;left:calc(-1 * var(--space-4));content:">";color:var(--muted)}pre,code,kbd,samp{background:var(--inner-bg)!important;font-family:var(--font-body);color:var(--off-fg);font-size:1.375rem}pre{overflow-x:auto;padding:var(--space-4);margin:0 0 var(--space-4);border:1px solid var(--border-blue);border-radius:4px}.highlight div{overflow-x:auto}b,strong{font-weight:400;color:var(--off-fg)}em,i,dd{color:var(--text-subheader)}::selection,mark{background-color:var(--highlight);color:var(--on-highlight)}hr{border:0;margin-bottom:var(--space-4)}hr:after{content:'---';color:var(--muted)}sup,sub{vertical-align:baseline;position:relative;top:calc(-1 * var(--space-1));font-size:unset}sub{top:var(--space-1)}table{border-spacing:0;margin:0 0 var(--space-4);overflow-wrap:anywhere}th,td{padding:0 var(--space-3);vertical-align:top}th:first-child,td:first-child{padding-left:0}th{text-align:inherit}@media screen and (max-width:480px){h1{font-size:2rem}h1,h2,h3,h4,h5,h6{hyphens:auto}.content__body table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.content__body th,.content__body td{overflow-wrap:normal;white-space:nowrap}}.side__image{flex-shrink:0}.side__image .win__body{display:flex;align-items:center;justify-content:center;padding:var(--space-2);overflow:hidden}.side__image img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:filter .3s ease}.side__image:hover img{filter:drop-shadow(0 0 12px rgba(var(--glow),calc(.5 * var(--glow-k))))}.side__image .win__body{position:relative}.side__image .win__body::after{content:"";position:absolute;inset:5px;pointer-events:none;opacity:0;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.35) 0 1px,transparent 1px 3px),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@media(prefers-reduced-motion:no-preference){.side__image:hover img{animation:fuzz-image .36s steps(1)infinite}.side__image:hover .win__body::after{opacity:.6;animation:fuzz-static .24s steps(1)infinite}}@keyframes fuzz-image{0%{transform:translate(0,0);filter:drop-shadow(2px 0 0 rgba(255,40,90,.7))drop-shadow(-2px 0 0 rgba(0,220,255,.7))}14%{transform:translate(-3px,0);filter:drop-shadow(4px 0 0 rgba(255,40,90,.8))drop-shadow(-4px 0 0 rgba(0,220,255,.8))brightness(1.35)contrast(1.3)}28%{transform:translate(2px,-1px);filter:drop-shadow(-2px 0 0 rgba(255,40,90,.7))drop-shadow(2px 0 0 rgba(0,220,255,.7))}42%{transform:translate(0,0);filter:brightness(.8)contrast(1.2)drop-shadow(1px 0 0 rgba(255,40,90,.6))drop-shadow(-1px 0 0 rgba(0,220,255,.6))}57%{transform:translate(4px,1px);filter:drop-shadow(5px 0 0 rgba(255,40,90,.8))drop-shadow(-5px 0 0 rgba(0,220,255,.8))brightness(1.5)}71%{transform:translate(-1px,0);filter:drop-shadow(2px 0 0 rgba(255,40,90,.7))drop-shadow(-2px 0 0 rgba(0,220,255,.7))contrast(1.4)}86%{transform:translate(-4px,-1px);filter:drop-shadow(-3px 0 0 rgba(255,40,90,.8))drop-shadow(3px 0 0 rgba(0,220,255,.8))}}@keyframes fuzz-static{0%{background-position:0 0,0 0}25%{background-position:0 1px,-47px 31px}50%{background-position:0 2px,23px -59px}75%{background-position:0 0,-71px 12px}}.content__body img{max-width:100%;height:auto;margin:var(--space-3)0;min-height:2rem}@media screen and (max-width:768px){.side__image img{max-height:150px;width:auto}}@media screen and (max-width:480px){.side__image img{max-height:100px;width:auto}.content__body img{margin:var(--space-1)0}}body::after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;background:repeating-linear-gradient( to bottom,transparent 0,transparent 2px,rgba(0,0,0,var(--scan-a)) 2px,rgba(0,0,0,var(--scan-a)) 4px )}.bg{color:#f8f8f2;background-color:#272822}.chroma{color:#f8f8f2;background-color:#272822;-webkit-text-size-adjust:none}.chroma .err{color:#960050;background-color:#1e0010}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#3c3d38}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#66d9ef}.chroma .kc{color:#66d9ef}.chroma .kd{color:#66d9ef}.chroma .kn{color:#f92672}.chroma .kp{color:#66d9ef}.chroma .kr{color:#66d9ef}.chroma .kt{color:#66d9ef}.chroma .na{color:#a6e22e}.chroma .nc{color:#a6e22e}.chroma .no{color:#66d9ef}.chroma .nd{color:#a6e22e}.chroma .ne{color:#a6e22e}.chroma .nx{color:#a6e22e}.chroma .nt{color:#f92672}.chroma .nf{color:#a6e22e}.chroma .fm{color:#a6e22e}.chroma .l{color:#ae81ff}.chroma .ld{color:#e6db74}.chroma .s{color:#e6db74}.chroma .sa{color:#e6db74}.chroma .sb{color:#e6db74}.chroma .sc{color:#e6db74}.chroma .dl{color:#e6db74}.chroma .sd{color:#e6db74}.chroma .s2{color:#e6db74}.chroma .se{color:#ae81ff}.chroma .sh{color:#e6db74}.chroma .si{color:#e6db74}.chroma .sx{color:#e6db74}.chroma .sr{color:#e6db74}.chroma .s1{color:#e6db74}.chroma .ss{color:#e6db74}.chroma .m{color:#ae81ff}.chroma .mb{color:#ae81ff}.chroma .mf{color:#ae81ff}.chroma .mh{color:#ae81ff}.chroma .mi{color:#ae81ff}.chroma .il{color:#ae81ff}.chroma .mo{color:#ae81ff}.chroma .o{color:#f92672}.chroma .ow{color:#f92672}.chroma .or{color:#f92672}.chroma .p{color:#f8f8f2}.chroma .c{color:#75715e}.chroma .ch{color:#75715e}.chroma .cm{color:#75715e}.chroma .c1{color:#75715e}.chroma .cs{color:#75715e}.chroma .cp{color:#75715e}.chroma .cpf{color:#75715e}.chroma .gd{color:#f92672}.chroma .ge{font-style:italic}.chroma .gi{color:#a6e22e}.chroma .gs{font-weight:700}.chroma .gu{color:#75715e}:root[data-palette=light] .bg{background-color:#f7f7f7}:root[data-palette=light] .chroma{background-color:#f7f7f7;-webkit-text-size-adjust:none}:root[data-palette=light] .chroma .err{color:#f6f8fa;background-color:#82071e}:root[data-palette=light] .chroma .lnlinks{outline:none;text-decoration:none;color:inherit}:root[data-palette=light] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}:root[data-palette=light] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}:root[data-palette=light] .chroma .hl{background-color:#dedede}:root[data-palette=light] .chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}:root[data-palette=light] .chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}:root[data-palette=light] .chroma .line{display:flex}:root[data-palette=light] .chroma .k{color:#cf222e}:root[data-palette=light] .chroma .kc{color:#cf222e}:root[data-palette=light] .chroma .kd{color:#cf222e}:root[data-palette=light] .chroma .kn{color:#cf222e}:root[data-palette=light] .chroma .kp{color:#cf222e}:root[data-palette=light] .chroma .kr{color:#cf222e}:root[data-palette=light] .chroma .kt{color:#cf222e}:root[data-palette=light] .chroma .na{color:#1f2328}:root[data-palette=light] .chroma .nc{color:#1f2328}:root[data-palette=light] .chroma .no{color:#0550ae}:root[data-palette=light] .chroma .nd{color:#0550ae}:root[data-palette=light] .chroma .ni{color:#6639ba}:root[data-palette=light] .chroma .nl{color:#900;font-weight:700}:root[data-palette=light] .chroma .nn{color:#24292e}:root[data-palette=light] .chroma .nx{color:#1f2328}:root[data-palette=light] .chroma .nt{color:#0550ae}:root[data-palette=light] .chroma .nb{color:#6639ba}:root[data-palette=light] .chroma .bp{color:#6a737d}:root[data-palette=light] .chroma .nv{color:#953800}:root[data-palette=light] .chroma .vc{color:#953800}:root[data-palette=light] .chroma .vg{color:#953800}:root[data-palette=light] .chroma .vi{color:#953800}:root[data-palette=light] .chroma .vm{color:#953800}:root[data-palette=light] .chroma .nf{color:#6639ba}:root[data-palette=light] .chroma .fm{color:#6639ba}:root[data-palette=light] .chroma .s{color:#0a3069}:root[data-palette=light] .chroma .sa{color:#0a3069}:root[data-palette=light] .chroma .sb{color:#0a3069}:root[data-palette=light] .chroma .sc{color:#0a3069}:root[data-palette=light] .chroma .dl{color:#0a3069}:root[data-palette=light] .chroma .sd{color:#0a3069}:root[data-palette=light] .chroma .s2{color:#0a3069}:root[data-palette=light] .chroma .se{color:#0a3069}:root[data-palette=light] .chroma .sh{color:#0a3069}:root[data-palette=light] .chroma .si{color:#0a3069}:root[data-palette=light] .chroma .sx{color:#0a3069}:root[data-palette=light] .chroma .sr{color:#0a3069}:root[data-palette=light] .chroma .s1{color:#0a3069}:root[data-palette=light] .chroma .ss{color:#032f62}:root[data-palette=light] .chroma .m{color:#0550ae}:root[data-palette=light] .chroma .mb{color:#0550ae}:root[data-palette=light] .chroma .mf{color:#0550ae}:root[data-palette=light] .chroma .mh{color:#0550ae}:root[data-palette=light] .chroma .mi{color:#0550ae}:root[data-palette=light] .chroma .il{color:#0550ae}:root[data-palette=light] .chroma .mo{color:#0550ae}:root[data-palette=light] .chroma .o{color:#0550ae}:root[data-palette=light] .chroma .ow{color:#0550ae}:root[data-palette=light] .chroma .or{color:#0550ae}:root[data-palette=light] .chroma .p{color:#1f2328}:root[data-palette=light] .chroma .c{color:#57606a}:root[data-palette=light] .chroma .ch{color:#57606a}:root[data-palette=light] .chroma .cm{color:#57606a}:root[data-palette=light] .chroma .c1{color:#57606a}:root[data-palette=light] .chroma .cs{color:#57606a}:root[data-palette=light] .chroma .cp{color:#57606a}:root[data-palette=light] .chroma .cpf{color:#57606a}:root[data-palette=light] .chroma .gd{color:#82071e;background-color:#ffebe9}:root[data-palette=light] .chroma .ge{color:#1f2328}:root[data-palette=light] .chroma .gi{color:#116329;background-color:#dafbe1}:root[data-palette=light] .chroma .go{color:#1f2328}:root[data-palette=light] .chroma .gl{text-decoration:underline}:root[data-palette=light] .chroma .w{color:#fff}.boot{margin:0 0 var(--space-3)}.boot__line{display:flex;gap:.75rem}.boot__tag{flex:none;white-space:pre;color:var(--text-body)}.boot__ok{color:var(--off-fg)}.boot__busy{color:var(--text-subheader);animation:blink 1s steps(1)infinite}.boot__fail{color:var(--error)}.boot__text{color:var(--text-body)}.boot__swatches{display:flex;margin-top:1rem}.boot__swatches span{width:1.6rem;height:1.1rem}@media screen and (max-width:480px){.boot__line{display:block}.boot__tag{margin-right:.5rem}}@media(prefers-reduced-motion:no-preference){.boot__line,.boot__swatches{animation:boot-in 0s both;animation-delay:calc(var(--i) * .2s)}}@keyframes boot-in{from{visibility:hidden}to{visibility:visible}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-pink);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-header);box-shadow:0 0 6px rgba(var(--glow),calc(.4 * var(--glow-k)))}::-webkit-scrollbar-corner{background:var(--bg)}*{scrollbar-width:thin;scrollbar-color:var(--border-pink)var(--bg)}html::before,html::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none}html::before{background-image:radial-gradient(var(--dither-ink) 1px,transparent 1.5px);background-size:4px 4px;opacity:var(--dot-a)}html::after{background-color:var(--dither-ink);opacity:var(--blob-a);-webkit-mask:url(/images/dither.png)center/cover no-repeat;mask:url(/images/dither.png)center/cover no-repeat;image-rendering:pixelated}.page{position:relative;z-index:1}@media print{html::before,html::after{display:none}}.typing .win__scroll{visibility:hidden}.typing .win__title{color:transparent}.tw{visibility:hidden}.tw.on{visibility:visible}.tw-cursor{position:relative}.tw-cursor::after{content:"";position:absolute;left:100%;top:.15em;width:.6em;height:1.1em;background:var(--text-header)}.typewriter:not(.typed) li::marker{color:transparent}.typing .boot__line,.typing .boot__swatches,.typewriter .boot__line,.typewriter .boot__swatches{animation:none}.term__prompt:not([hidden]){display:flex;flex:none;align-items:baseline;gap:.6rem;padding:var(--space-2)calc(var(--space-4) - var(--frame-inset));border-top:1px dashed var(--win-border)}.term__prompt:focus-within{border-top-color:var(--text-header)}.term__ps{display:inline-flex;flex:initial;gap:.6ch;min-width:0;max-width:100%;white-space:nowrap;vertical-align:bottom}.term__ps>*{flex:none}.term__ps>.head-text{display:inline-flex;flex:initial;min-width:0;overflow:hidden}.term__host,.term__path{min-width:0;overflow:hidden;text-overflow:ellipsis}.term__host{flex:0 1e3 auto}.term__path{flex:initial}.term__input{flex:1 0 8ch;min-width:8ch;padding:0;font:inherit;color:var(--text-body);background:0 0;border:0;caret-color:var(--text-header)}.term__input:focus{outline:none}.term__input::placeholder{color:var(--muted)}.term__block+.term__block{margin-top:var(--space-4)}.term__echo{margin:0 0 var(--space-2);color:var(--text-body)}.term__out{margin:0 0 var(--space-2);padding:0;font:inherit;color:var(--text-body);background:0 0!important;border:0;border-radius:0;overflow:visible;white-space:pre-wrap;overflow-wrap:anywhere}.term__list{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;margin:0 0 var(--space-2);padding:0;list-style:none}.term__list--long{display:block}.term__list li::marker{content:none}.term__fill{padding:0;font:inherit;text-align:left;color:var(--link);background:0 0;border:0;cursor:pointer}.term__fill:hover,.term__fill:focus-visible{color:var(--hover);text-decoration:underline}.term__neofetch{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:0 0 var(--space-2)}.term__art{margin:0;padding:0;background:0 0!important;border:0;border-radius:0;font:inherit;line-height:1.15;color:var(--text-header)}.term__neofetch dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;align-content:start;margin:0}.term__nf-title{margin:0 0 var(--space-2);color:var(--text-header)}.term__neofetch dt{margin:0;color:var(--off-fg)}.term__neofetch dd{margin:0;font-style:normal}.term-locked .right__content a{pointer-events:none}.term-locked .nav-main-item,.term-locked #palette-btn,.term-locked .lang-picker>summary{opacity:.4;filter:grayscale(60%);cursor:not-allowed}.term-locked [data-locked-hint]{position:relative}.term-locked [data-locked-hint]:hover::before,.term-locked [data-locked-hint]:focus-visible::before{content:attr(data-locked-hint);position:absolute;top:100%;margin-top:var(--space-2);z-index:100;padding:var(--space-1)var(--space-2);color:var(--win-fg);background-color:var(--win-bg);border:2px solid var(--win-border);white-space:nowrap;pointer-events:none;opacity:1;filter:none}.term-locked .nav-main-item[data-locked-hint]:hover::before,.term-locked .nav-main-item[data-locked-hint]:focus-visible::before{left:0}.term-locked #palette-btn[data-locked-hint]:hover::before,.term-locked #palette-btn[data-locked-hint]:focus-visible::before,.term-locked .lang-picker>summary[data-locked-hint]:hover::before,.term-locked .lang-picker>summary[data-locked-hint]:focus-visible::before{right:0}@media screen and (max-width:768px){.term-ready .page__body{padding-bottom:calc(var(--gutter) + 3.5rem);scroll-padding-bottom:calc(var(--gutter) + 3.5rem)}.term__prompt:not([hidden]){position:fixed;right:0;bottom:0;left:0;z-index:5;padding:var(--space-2)var(--gutter);background-color:var(--win-bg);border-top:2px solid var(--win-border)}.term__input{font-size:16px}}@media screen and (max-width:480px){.term__prompt:not([hidden]){flex-wrap:wrap;row-gap:var(--space-1)}.term__prompt .term__ps{flex-basis:100%}.term__ps .head-circle,.term__ps .term__host{display:none}.term-ready .page__body{padding-bottom:calc(var(--gutter) + 5rem);scroll-padding-bottom:calc(var(--gutter) + 5rem)}}.notfound p{margin:0 0 var(--space-3)}.notfound__prompt{color:var(--off-fg)}.notfound__path{color:var(--text-subheader);overflow-wrap:anywhere}.notfound__error{color:var(--text-header);overflow-wrap:anywhere;text-shadow:0 0 8px rgba(var(--glow),calc(.5 * var(--glow-k)))}.notfound__ls{display:flex;flex-wrap:wrap;gap:var(--space-1)var(--space-4);list-style:none;padding:0;margin:0 0 var(--space-4)}.notfound__ls li::marker{content:none}.notfound__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.notfound+.notfound{margin-top:var(--space-5)}.win--minimizable>.win__title{display:flex;align-items:center;gap:var(--space-2)}.win__title-text{flex:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:inherit;font-weight:inherit;color:inherit;text-shadow:none}.win__minimize,.win__close{appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.375rem;height:1.375rem;padding:0;border:1px solid var(--win-title-fg);background:0 0;color:var(--win-title-fg);font:inherit;line-height:1;cursor:pointer}.win__icon{width:.75rem;height:.75rem}.win__icon--max{display:none}.win__minimize[aria-expanded=false] .win__icon--min{display:none}.win__minimize[aria-expanded=false] .win__icon--max{display:block}.win__minimize:hover{background:var(--win-title-fg);color:var(--win-title-bg)}.win__minimize:focus-visible{outline:2px solid var(--win-title-fg);outline-offset:2px}.win__close:hover{background:var(--text-header);border-color:var(--text-header);color:var(--win-title-bg)}.win__close:focus-visible{outline:2px solid var(--win-title-fg);outline-offset:2px}.side__image{position:relative}.win__close--overlay{position:absolute;top:var(--space-1);right:var(--space-1);background:var(--win-title-bg);border-color:var(--win-title-bg);color:var(--win-title-fg)}.win__close--overlay:hover{background:var(--text-header);border-color:var(--text-header)}