@import url("https://cdn.jsdelivr.net/npm/@xz/fonts@1/serve/ibm-plex-mono.min.css");*{margin:0;padding:0;box-sizing:border-box}:root{--color-charcoal: hsl(210, 13%, 15%);--color-charcoal-darker: hsl(210, 13%, 10%);--color-chalk-lighter: hsl(210, 13%, 80%);--color-chalk: hsl(210, 13%, 80%);--color-chalk-darker: hsl(210, 13%, 60%);--color-ocean-semitransparent: hsla(214, 41%, 30%, 30%);--color-ocean: hsl(214, 41%, 30%);--color-sky-semitransparent: hsl(214, 41%, 59%, 30%);--color-sky: hsl(214, 41%, 59%);--color-print-black: hsl(0, 0, 0%);--color-print-grey: hsl(0, 0%, 30%);--color-print-white: hsl(0, 0, 100%);--bg: #000000;--fg: var(--color-chalk-lighter);--fg-heading: rgba(255, 255, 255, 0.8);--heading-weight: 100;--card-shadow: 0px 0px 2rem 1rem rgba(0, 0, 0, 0.7);--card-bg: rgba(0, 0, 0, 0);--nav-bg: rgba(0, 0, 0, 1);--card-fg: var(--fg);--heading-weight: 100;--subheading-weight: 300;--accent: var(--color-sky);--accent-semitransparent: var(--color-sky-semitransparent);--border-radius: 0.5rem;--scrollbar-track: var(--bg);--mono-font: "IBM Plex Mono", monospace;--body-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='32' height='32' fill='none' stroke='rgb(255 255 255 / 0.1)'%3e%3cpath d='M0 .5H31.5V32'/%3e%3c/svg%3e");color-scheme:dark}@media screen and (prefers-color-scheme: light){:root{--bg: var(--color-chalk-darker);--fg: var(--color-charcoal);--link-fg: var(--color-seaweed);--link-fg-underline: var(--color-ocean-semitransparent);--accent: var(--color-ocean);--accent-semitransparent: var(--color-ocean-semitransparent);--card-bg: var(--color-chalk);--nav-bg: var(--color-chalk);--card-fg: var(--color-charcoal);--fg-heading: var(--fg);--card-shadow: none;--heading-weight: 400;--subheading-weight: 400;--body-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='32' height='32' fill='none' stroke='rgb(0 20 30 / 0.05)'%3e%3cpath d='M0 .5H31.5V32'/%3e%3c/svg%3e");color-scheme:light}}.light-mode{--bg: var(--color-chalk-darker);--fg: var(--color-charcoal);--link-fg: var(--color-seaweed);--link-fg-underline: var(--color-ocean-semitransparent);--accent: var(--color-ocean);--accent-semitransparent: var(--color-ocean-semitransparent);--card-bg: var(--color-chalk);--card-fg: var(--color-charcoal);--fg-heading: var(--fg);--card-shadow: none;--heading-weight: 400;--subheading-weight: 400;color-scheme:light}@media print{:root{--bg: var(--color-print-white);--fg: var(--color-print-black);--link-fg: var(--color-print-black);--link-fg-underline: var(--color-print-black);--accent: var(--color-print-grey);--card-bg: var(--color-print-white);--card-bg: var(--color-print-white);--card-fg: var(--color-print-black);--card-shadow: none;--fg-heading: var(--fg);--heading-weight: 400;--subheading-weight: 400;color-scheme:light}}@view-transition{navigation:auto}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none !important}}@keyframes fade-in{from{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes slide-from-right{from{transform:translateY(30px)}}@keyframes slide-to-left{to{transform:translateY(-30px)}}::view-transition-old(*){animation:90ms cubic-bezier(.4, 0, 1, 1) both fade-out}::view-transition-new(*){animation:210ms cubic-bezier(0, 0, .2, 1) 90ms both fade-in}::view-transition-old(nav),::view-transition-new(nav){animation:none}::view-transition-group(root){animation:none}::view-transition-old(blog-card){animation:500ms cubic-bezier(.4, 0, 1, 1) both fade-out,500ms cubic-bezier(.4, 0, .2, 1) both slide-to-left}::view-transition-new(blog-card){animation:500ms cubic-bezier(0, 0, .2, 1) 0ms both fade-in,500ms cubic-bezier(.4, 0, .2, 1) both slide-from-right}html,body{height:100%;width:100%;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}html{background:var(--bg);background-image:var(--body-bg-image);background-attachment:fixed}body{color:var(--fg);background:rgba(0,0,0,0);display:flex;align-items:center;justify-content:space-between;flex-direction:column;line-height:1.5rem;font-size:1rem;overflow:auto;transition:background .2s linear;font-family:var(--mono-font);min-height:100%;height:auto}nav{display:flex;align-items:center;justify-content:space-between;view-transition-name:nav}nav .links{display:flex;align-items:center;justify-content:flex-end}nav .links li{list-style:none;margin:0 .5rem;padding:0;width:auto}a svg{width:1.75rem;vertical-align:middle}a svg path{fill:var(--accent)}main{padding:2rem 0;width:80ch;max-width:95vw}footer{padding:2rem 0}footer p{font-size:.8rem;line-height:1.6rem;padding:0;margin:0;text-align:center}.retro-buttons{border:1px solid var(--accent);border-radius:var(--border-radius);margin:1rem;backdrop-filter:blur(1px)}.retro-buttons ul{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:0}.retro-buttons li{list-style:none;width:min-content;padding:0;margin:1ch}.retro-buttons a{border:none}.retro-buttons a:hover,.retro-buttons a:active{background:none}.retro-buttons summary{text-align:center;padding:1rem 0;cursor:pointer}.retro-buttons img{image-rendering:auto;image-rendering:crisp-edges;image-rendering:pixelated;image-rendering:-webkit-optimize-contrast;transition:all .1s ease}.retro-buttons img:hover{transform:scale(1.3)}.retro-buttons img:active{transform:scale(.9)}::selection{background:var(--fg);color:var(--bg)}.card{margin:2rem .2rem;padding:1rem;background:var(--card-bg);backdrop-filter:blur(5px);border-radius:var(--border-radius);color:var(--card-fg);box-shadow:var(--card-shadow)}.card::before{position:absolute;top:0;left:50%;transform:translateX(-50%);content:" ";background:var(--cover-img-url);background-repeat:no-repeat;background-size:cover;background-position:center;height:calc(100% - 2px);width:calc(100% - 2px);z-index:-1;opacity:.15;filter:blur(5px) contrast(.8)}nav.card{background:var(--nav-bg);backdrop-filter:none}strong{font-weight:500}@keyframes blur-in{from{filter:blur(10px)}to{filter:blur(0)}}.card code{padding:0 .5rem .1rem .5rem;font-family:var(--mono-font);background:var(--bg);border-radius:2px}.card pre{border-radius:2px;padding:.5rem;overflow:auto;border:1px solid var(--accent-semitransparent)}.card pre code{background:inherit;padding:0}.reading-list li{white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}article :is(h2,h3){margin-top:3rem}article :is(h2,h3)::before{content:"# ";font-size:90%;color:var(--accent)}h1,h2,h3,h4,h5,h6,ul,p{margin-top:1rem;margin-bottom:1rem}p,li{font-size:1rem;line-height:1.75rem}article img{width:100%;margin:auto;margin-top:2rem;margin-bottom:2rem;display:block}article img::after{content:attr(alt)}figcaption{font-size:.8rem;opacity:.8;text-align:center;margin-top:-1.5rem;margin-bottom:1rem}.logo{padding:1rem 0}nav .logo{font-weight:var(--heading-weight);font-size:2rem;line-height:3rem}h1{color:var(--fg-heading);font-weight:var(--font-weight);font-size:2rem;letter-spacing:-.06ch;line-height:1.5;overflow-wrap:break-word;text-wrap:balance}h2{font-size:1.5rem;line-height:2rem}h3{font-size:1.15rem;line-height:2rem}ul li{list-style-type:square}article ol,article ul{padding-left:2ch}article li{padding-left:1ch;margin-left:2ch}article .content figure{margin-bottom:4rem}ul,ol{margin-top:1.5rem;margin-bottom:1.5rem}details{border-radius:var(--border-radius);border:1px solid var(--fg);padding:.125rem}details summary{cursor:pointer;padding:.5rem 1rem}blockquote{padding-top:.25rem;padding-left:2ch;border-left:1px solid var(--fg)}blockquote cite{display:inline-block;width:100%;text-align:right}blockquote cite::before{content:"~ "}kbd{border:1px solid var(--accent);padding:.2rem;font-size:90%;background:var(--bg);vertical-align:middle}hr{width:15ch;margin:2.5rem auto;border:1px dashed var(--card-fg)}a{color:var(--fg);text-decoration:none;background:rgba(0,0,0,0);transition:all .1s linear;border-bottom:.15rem solid var(--accent);border-radius:2px 2px 0 0;display:inline-block}a:hover,a:focus{background:var(--accent-semitransparent);border-bottom-color:var(--accent-semitransparent)}a:active{transform:translateY(.15rem)}h2,h3{font-weight:var(--subheading-weight);color:var(--fg-heading);--fg: var(--fg-heading)}.logo a{color:var(--fg);padding:.25rem 1rem}.logo a:hover,.logo a:focus{color:var(--accent)}.logo a,a.icon{border-bottom:none}a.zola-anchor{border-bottom-color:rgba(0,0,0,0)}a.zola-anchor:hover{border-bottom-color:var(--accent-semitransparent)}.meta{opacity:.8;font-size:90%}.meta.smaller{font-size:80%}.card li{margin-bottom:1rem;padding-left:1ch}.section-header{padding-top:1rem;padding-left:.5rem;display:flex;align-items:center;justify-content:space-between;width:100%}.posts-list li{list-style-type:none;padding-top:1rem}.posts-list .post-title{font-size:1.5rem;font-weight:var(--subheading-weight);margin-top:0}.posts-list .post-meta{opacity:.8;font-size:.8rem}.posts-list .post-preview{display:flex}.posts-list .post-preview img{display:block;width:20ch;object-fit:contain;margin:0 0 0 1rem}.posts-list .post-description{font-weight:300}.posts-list .card{background:var(--card-bg);border:1px solid var(--card-bg);position:relative;z-index:1}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{display:inline-block;border:1px solid var(--accent-semitransparent);padding:0 .35rem;border-radius:5px;font-size:.7rem;line-height:1.5rem}.tag::before{content:"#"}.tag:hover{filter:brightness(1.5)}@media (max-width: calc(80ch - 4rem)){.posts-list .post-preview{flex-direction:column-reverse}.posts-list .post-preview img{width:100%;margin:auto}}.comment{margin-top:1.5rem;padding:0 1rem;border-left:1px solid var(--accent)}.comment .author{font-weight:bold}.comment .date{opacity:.8;font-size:90%}.comment .text{margin:.5rem 0}.comment .op{vertical-align:top;font-size:70%;padding:0 .45rem;background:var(--accent);color:var(--bg);border-radius:var(--border-radius)}input[type=text]{font-size:1rem;font-family:var(--mono-font);padding:.5rem 1rem;background:rgba(0,0,0,0);color:var(--fg);border:1px solid var(--accent-semitransparent);border-radius:var(--border-radius)}input[type=text]:focus{border-color:var(--accent)}button{font-size:1rem;font-family:var(--mono-font);padding:.5rem 1rem;background:var(--accent);color:var(--bg);border:none;cursor:pointer;border-radius:var(--border-radius)}button:hover{background:var(--accent)}#search-results li{list-style:none;padding:0;margin-top:2rem}#search-results li .title{font-weight:bold;font-size:120%;margin-bottom:1rem}.blog-page-search-box{display:flex;align-items:center;justify-content:flex-end;padding-left:.25rem;margin:2rem 0;position:relative;z-index:1}.blog-page-search-box a{border:1px solid var(--accent);padding:.5rem .75rem;border-radius:5px;background:var(--card-bg);text-align:center;color:var(--fg)}.homepage h2{text-transform:lowercase}.homepage h2::before{content:"$";content:"$"/"";speak:never;font-family:var(--mono-font);color:var(--accent);margin-right:1ch}.homepage li{list-style-position:inside;margin-left:0;width:100%}.homepage .whoami h2{text-transform:lowercase;word-spacing:-1ch}.homepage .fancy-header{padding:1.5rem 2rem}@media (max-width: 580px){.mobile-menu-button{display:block}nav{display:flex;flex-direction:column;align-items:flex-start}nav .links{justify-content:space-between;width:100%;background:var(--card-bg);border-radius:var(--border-radius);margin:0 .5rem}h1{font-size:2rem}}@media print{article a::after{content:" (" attr(href) ")"}h2 a::after{content:""}}