*,*::before,*::after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-end:0}ul,ol{list-style:none;padding:0;margin:0}body{min-height:100vh;line-height:1.5;margin:0}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;height:auto;display:block}input,button,textarea,select{font-family:inherit;font-size:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}@font-face{font-family:"Satoshi";src:url("/assets/fonts/satoshi-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Satoshi";src:url("/assets/fonts/satoshi-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:"Satoshi";src:url("/assets/fonts/satoshi-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Satoshi";src:url("/assets/fonts/satoshi-700-italic.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{color-scheme:light;--color-ink: #1c1b1a;--color-muted: #6f6c66;--color-border: #e2ded8;--color-background: #ffffff}[data-theme=dark]{color-scheme:dark;--color-ink: #e4dfd3;--color-muted: #a29e95;--color-border: #4a4642;--color-background: #322f2c}body{font-family:"Satoshi",sans-serif;background-color:var(--color-background);color:var(--color-ink)}h1{font-size:2.5rem}main{margin:0 auto}.site-header{position:relative;margin-bottom:2rem;padding:1rem 2.5rem 0;text-align:center}.site-name{display:block;margin:0 0 .5rem;font-size:2.5rem;line-height:1.1;font-weight:700;color:var(--color-ink);text-decoration:none}.site-footer{max-width:calc(41rem + 2rem);margin:2rem auto 0;padding:1rem;font-size:.9rem}.site-header ul,.site-footer ul{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1rem}.site-header ul a,.site-footer ul a{color:var(--color-muted);text-decoration:none}.site-header ul a:hover,.site-footer ul a:hover{text-decoration:underline;text-underline-offset:.2em}.site-header [aria-current=page]{color:var(--color-ink)}.theme-switch{position:absolute;top:1rem;left:1rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:0;background:none;color:var(--color-ink);font:inherit;cursor:pointer}.theme-switch svg{width:1.25rem;height:1.25rem}.theme-switch circle{fill:none;stroke:currentColor;stroke-width:2}.theme-switch path{fill:none}.theme-switch[data-choice=dark] circle,.theme-switch[data-choice=auto] path{fill:currentColor}.theme-switch-label{position:absolute;left:calc(100% + .5rem);white-space:nowrap;color:var(--color-muted);font-size:.9rem;text-transform:capitalize;opacity:0;transition:opacity 200ms ease-out}.theme-switch:focus-visible .theme-switch-label{opacity:1}@media(hover: hover){.theme-switch:hover .theme-switch-label{opacity:1}}@media(prefers-reduced-motion: reduce){.theme-switch-label{transition:none}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}main{max-width:41rem}section+section{margin-top:3rem}h2{margin:0 0 1.25rem;font-size:1.5rem;font-weight:700}.projects-byline{margin:-1rem 0 1.25rem;color:var(--color-muted)}.project+.project{margin-top:1.25rem}.project-name{color:var(--color-ink);font-size:1.25rem;text-decoration:none}.project-name:hover{text-decoration:underline}.project-description{margin:.25rem 0 0}.project-meta{margin:.25rem 0 0;color:var(--color-muted);font-size:.875rem}@media(max-width: 768px){main{padding:0 1rem}}
