@charset "UTF-8";:root{--color-bg:#292a2d;--color-bg-darker:#252627;--color-text:#f8f8ff;--color-surface:#2f2f2f}body{font-family:open sans,sans-serif;font-size:17px;line-height:1.7;color:var(--color-text);background-color:var(--color-bg);margin:0;display:flex;flex-direction:column;min-height:100vh}a{color:#80aadd}pre{white-space:pre-wrap;word-break:break-word;overflow-x:visible}pre code{font-family:SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-size:75%;display:block;background:var(--color-bg-darker);padding:10px;white-space:pre-wrap;word-break:break-word;overflow:visible}.chroma,.chroma pre,.code-lined,.code-lined pre{overflow-x:visible;white-space:pre-wrap;word-break:break-word}code{font-family:SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-size:75%;color:#7fffd4}.highlight code{color:inherit}.code-lined .chroma{background-color:#131313!important}.chroma .ln{color:#7fffd4;opacity:.65;user-select:none;display:inline-block;min-width:1.5em;text-align:right;padding-right:0}.chroma .ln::after{content:".";margin-right:.7em}h1{font-family:fira mono,monospace;color:#f7afc6}h2{font-family:fira mono,monospace;color:#f7afc6}h3{font-family:fira mono,monospace;color:#f7afc6}h4{font-family:fira mono,monospace;color:#f7afc6}h5{font-family:fira mono,monospace;color:#f7afc6}h6{font-family:fira mono,monospace;color:#f7afc6}@-ms-viewport{width: device-width; }.socialIcon{color:var(--color-text);display:inline-flex;align-items:center;opacity:.75;transition:opacity .2s ease}.socialIcon:hover{opacity:1;color:var(--color-text)}.socialIcon svg{display:block}:root{--color-bg:#292a2d;--color-bg-darker:#252627;--color-text:#f8f8ff;--color-surface:#2f2f2f}@font-face{font-family:fira mono;src:url(../fonts/FiraMono/FiraMono-Medium.eot);src:local("Fira Mono"),url(../fonts/FiraMono/FiraMono-Medium.eot)format("embedded-opentype"),url(../fonts/FiraMono/FiraMono-Medium.woff2)format("woff2"),url(../fonts/FiraMono/FiraMono-Medium.woff)format("woff"),url(../fonts/FiraMono/FiraMono-Medium.ttf)format("truetype");font-weight:500;font-style:normal}@font-face{font-family:open sans;src:url(../fonts/OpenSans/OpenSans-Regular.eot);src:url(../fonts/OpenSans/OpenSans-Regular.eot?#iefix)format("embedded-opentype"),url(../fonts/OpenSans/OpenSans-Regular.woff)format("woff"),url(../fonts/OpenSans/OpenSans-Regular.ttf)format("truetype"),url(../fonts/OpenSans/OpenSans-Regular.svg#OpenSansRegular)format("svg");font-weight:400;font-style:normal}:root{--color-bg:#292a2d;--color-bg-darker:#252627;--color-text:#f8f8ff;--color-surface:#2f2f2f}.footer{padding:15px;text-align:center;background-color:var(--color-bg-darker);transition:background-color .2s ease}.footerLink{color:var(--color-text)}:root{--color-bg:#292a2d;--color-bg-darker:#252627;--color-text:#f8f8ff;--color-surface:#2f2f2f}.header{font-family:fira mono,monospace;padding:0 20px;height:60px;display:flex;justify-content:space-between;align-items:center;width:100%;box-sizing:border-box}.headerWrapper{overflow:auto;box-sizing:border-box;background-color:var(--color-bg-darker);display:flex;justify-content:center;flex-shrink:0}.headerLinks{margin-left:auto}.headerLinks ul{list-style:none;padding:0;margin:0}.headerLinks ul li{display:inline;margin:0 14px}.headerLinks ul li a{color:var(--color-text);text-decoration:none}.siteTitle,.siteTitle:hover{color:var(--color-text);text-decoration:none;font-weight:700;font-size:1.1em;letter-spacing:.05em}.headerControls{display:flex;align-items:center;gap:10px;margin-left:24px}.langSwitch{color:var(--color-text);text-decoration:none;font-family:fira mono,monospace;font-size:.85em;padding:4px 6px;border-radius:4px;opacity:.6}.langSwitch:hover{opacity:1;text-decoration:none}.langSwitch.active{opacity:1;font-weight:700}.hamb{cursor:pointer;float:right;display:none;padding:10px 4px}.hamb-line{background:var(--color-text);display:block;height:2px;position:relative;width:24px}.hamb-line::before,.hamb-line::after{background:var(--color-text);content:"";display:block;height:100%;position:absolute;transition:all .2s ease-out;width:100%}.hamb-line::before{top:5px}.hamb-line::after{top:-5px}.side-menu{display:none}.side-menu:checked~.headerLinks{max-height:100%}.side-menu:checked~.hamb .hamb-line{background:0 0}.side-menu:checked~.hamb .hamb-line::before{transform:rotate(-45deg);top:0}.side-menu:checked~.hamb .hamb-line::after{transform:rotate(45deg);top:0}@media screen and (max-width:768px){.headerLinks{width:100%;height:100%;position:fixed;top:60px;left:0;background-color:var(--color-bg);overflow:hidden;max-height:0;transition:max-height .5s ease-out;display:flex;align-items:center;justify-content:center}.headerLinks ul{display:flex;flex-direction:column;align-items:center;justify-content:center}.hamb{display:block}}:root{--color-bg:#292a2d;--color-bg-darker:#252627;--color-text:#f8f8ff;--color-surface:#2f2f2f}.postDate{float:right;color:var(--color-text)}.postTitle{color:#80aadd;text-decoration:none;text-transform:capitalize;font-family:fira mono,monospace;font-size:1.2em;float:left}.postHeader{overflow:hidden}.postsList{margin-top:20px}.postListItem{padding:20px;background-color:var(--color-surface);margin-bottom:20px;transition:background-color .2s ease}.postListLink:hover{text-decoration:none}.postExcerpt{text-align:initial;text-decoration:none;color:var(--color-text)}.headerContainer{display:flex;justify-content:space-between}.noDecoration{text-decoration:none}a,a:link,a:visited,a:active{text-decoration:none}a:hover{text-decoration:underline}.linkAccentPurple,.linkAccentPurple:link,.linkAccentPurple:visited,.linkAccentPurple:active{color:#a78bfa}.linkAccentPurple:hover{color:#c4b5fd;text-decoration:underline}:root{--color-bg:#292a2d;--color-bg-darker:#252627;--color-text:#f8f8ff;--color-surface:#2f2f2f}.socialNavbar ul{list-style:none;padding:0}.socialNavbar ul li{display:inline}.socialNavbar a{color:var(--color-text);-webkit-font-smoothing:antialiased;display:inline-block;margin:10px}:root{--color-bg:#292a2d;--color-bg-darker:#252627;--color-text:#f8f8ff;--color-surface:#2f2f2f}.postWrapper{text-align:left;padding:20px}.postMetadata{font-family:SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;display:block;background:var(--color-bg-darker);padding:10px}dt,dd{line-height:1.5}dl{display:grid;grid-template-columns:max-content auto}dt{grid-column-start:1}dd{grid-column-start:2}dt::after{content:":"}.postWrapper img{max-width:100%;width:100%;height:auto;display:block;margin:20px 0;border-radius:6px;border:1px solid var(--color-bg-darker)}.postWrapper h1{font-size:1.6em}.postWrapper h2{font-size:1.25em}.postWrapper h3{font-size:1.1em}.postWrapper h4{font-size:1em}.postWrapper pre code{font-size:68%}.postWrapper table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse;margin:24px 0;font-size:.92em;border:1px solid var(--color-bg-darker);border-radius:6px}.postWrapper th,.postWrapper td{padding:10px 18px;text-align:left;vertical-align:top;line-height:1.5;border-bottom:1px solid var(--color-bg-darker)}.postWrapper thead th{background:var(--color-bg-darker);color:#80aadd;font-family:fira mono,monospace;font-weight:400;white-space:nowrap}.postWrapper tbody tr{background:var(--color-surface);transition:background-color .15s ease}.postWrapper tbody tr:nth-child(even){background:var(--color-bg-darker)}.postWrapper tbody tr:hover{background:rgba(128,170,221,.12)}.postWrapper td code,.postWrapper th code{white-space:nowrap}.listHeader,.listContent{text-align:left}.readingTime{text-align:initial;text-decoration:none;color:var(--color-text);font-size:.9em}.indexWrapper{display:flex;flex-direction:column;justify-content:center}.indexHeader{font-size:2.2em}.authorImageWrapper img.size-xs{height:7rem;width:7rem}.authorImageWrapper img.size-s{height:9rem;width:9rem}.authorImageWrapper img.size-m{height:11rem;width:11rem}.authorImageWrapper img.size-l{height:13rem;width:13rem}.authorImageWrapper img.size-xl{height:15rem;width:15rem}:root{--color-bg:#292a2d;--color-bg-darker:#252627;--color-text:#f8f8ff;--color-surface:#2f2f2f}.content{text-align:center;flex:1 auto;display:flex;justify-content:center}.content img{max-width:100%}.vertical{flex-direction:column;align-items:center}.flexWrapper{display:flex;flex-direction:column;justify-content:center;min-height:100vh;flex:1 auto}.main{height:100%}@media only screen and (min-width:1100px){.main{width:920px}}@media screen and (max-width:1100px){.main{width:100%}}:root{--color-bg:#292a2d;--color-bg-darker:#252627;--color-text:#f8f8ff;--color-surface:#2f2f2f}.about-header{text-align:center;margin-bottom:2.5rem}.ascii-art{font-family:SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-size:clamp(.28em,1.4vw,.58em);line-height:1.2;color:#f7afc6;background:0 0;border:none;padding:0;margin:0 auto 1.2rem;display:inline-block;text-align:left;overflow-x:auto;white-space:pre;user-select:none}.about-tagline{font-size:.82em;color:var(--color-text);opacity:.6;letter-spacing:.08em;text-transform:uppercase;margin:0 0 1.2rem}.about-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin-bottom:0}.about-badge{display:inline-flex;align-items:center;gap:.35em;padding:.22em .7em;border-radius:3px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-size:.68em;font-weight:600;letter-spacing:.04em;text-decoration:none;line-height:1.6;transition:opacity .15s ease}.about-badge:hover{opacity:.8;text-decoration:none}.about-badge--red{background:#6b1010;color:#ffb3b3}.about-badge--orange{background:#6b3a0c;color:#ffd4a0}.about-badge--green{background:#0d4a1a;color:#a3f0b8}.about-badge--blue{background:#0d3566;color:#a3c8f8}.about-team{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem;margin:1rem 0}.about-member{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:180px}.about-member__name{font-weight:700;font-size:.92em;color:var(--color-text)}.about-member__link{display:inline-flex;align-items:center;gap:.4em;padding:.22em .75em;background:#0a66c2;color:#fff;border-radius:3px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-size:.68em;font-weight:600;text-decoration:none;letter-spacing:.03em;transition:background .15s ease}.about-member__link:hover{background:#004c99;color:#fff;text-decoration:none}.postWrapper hr{border:none;border-top:1px solid var(--color-bg-darker);margin:1.8rem 0}.about-footer{text-align:center;font-size:.78em;opacity:.45;margin-top:2rem;font-family:SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace}