@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: 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: var(--color-charcoal-darker);--fg: var(--color-chalk);--card-bg: var(--color-charcoal);--card-fg: var(--color-chalk);--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(148 163 184 / 0.05)'%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);--card-fg: var(--color-charcoal);--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);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);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,300ms cubic-bezier(.4, 0, .2, 1) both slide-to-left}::view-transition-new(*){animation:210ms cubic-bezier(0, 0, .2, 1) 90ms both fade-in,300ms cubic-bezier(.4, 0, .2, 1) both slide-from-right}::view-transition-old(nav),::view-transition-new(nav){animation:none}::view-transition-old(blog-card),::view-transition-new(blog-card){animation-duration:500ms}html,body{height:100%;width:100%;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scroll-behavior:smooth}body{color:var(--fg);background:var(--bg);background-image:var(--body-bg-image);background-attachment:fixed;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}@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}}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}.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:1rem .2rem;padding:1rem;background:var(--card-bg);border-radius:var(--border-radius);color:var(--card-fg)}.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}.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}h1,nav .logo{font-weight:bold;font-size:2rem;line-height:3rem}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}a:hover,a:focus{background:var(--accent-semitransparent);border-bottom-color:var(--accent-semitransparent)}.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 .description{font-style:italic}.meta.smaller{font-size:80%}.card li{margin-bottom:1rem;padding-left:1ch}.section-header{padding-top:1rem;padding-left:.5rem}.posts-list li{list-style-type:none;padding-top:1rem}.posts-list .post-title{font-size:1.4rem;font-weight:bold;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-style:italic}.posts-list .card{background:var(--card-bg);border:1px solid var(--card-bg);position:relative;z-index:1}.posts-list .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)}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{border:1px solid var(--accent-semitransparent);padding:.125rem .25rem;border-radius:5px}.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{width:100%;display:flex;align-items:center;justify-content:flex-start;padding-left:.25rem;margin:2rem 0}.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 print{article a::after{content:" (" attr(href) ")"}h2 a::after{content:""}}