@font-face{font-family:Thmanyah Serif Display;src:url(/fonts/thmanyahserifdisplay-Bold.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Thmanyah Sans Text;src:url(/fonts/thmanyahsans-Light.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#111;--text-primary:#f2f2f2;--text-secondary:#b0b0b0;--text-link-hover:#fff;--font-display:"Thmanyah Serif Display", "Georgia", "Amiri", serif;--font-text:"Thmanyah Sans Text", "Georgia", "Amiri", serif;--measure:590px;--space:clamp(1.5rem, 4vw, 3rem)}*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;min-height:100svh;margin:0;font-size:1.0625rem;line-height:1.8;display:flex}body:before{content:"";z-index:9999;pointer-events:none;opacity:.035;filter:url(#noise);width:100%;height:100%;position:fixed;inset:0}a{color:var(--text-secondary);text-underline-offset:3px;text-decoration:underline #b0b0b04d;transition:color .15s,text-decoration-color .15s}a:hover,a:focus-visible{color:var(--text-link-hover);text-decoration-color:#fffc}:focus-visible{outline:1px solid var(--text-secondary);outline-offset:4px}main{padding:var(--space) 1.5rem;flex:1;justify-content:center;align-items:center;display:flex}main.top-aligned{align-items:flex-start;padding-top:clamp(2.5rem,8vw,5rem)}.content{max-width:var(--measure);width:100%;margin:0 auto}h1{font-family:var(--font-display);letter-spacing:.01em;margin:0 0 2.1rem;font-size:clamp(3.15rem,5.4vw,4.95rem);font-weight:400;line-height:1.25}h2{font-family:var(--font-display);letter-spacing:.01em;margin:0 0 .5rem;font-size:clamp(1.15rem,2.2vw,1.4rem);font-weight:400;line-height:1.4}.bio{color:var(--text-primary);text-align:center;margin:0;font-size:clamp(1.1rem,2.4vw,1.35rem);line-height:1.9}.subtitle{margin-top:.25rem}.back-link{align-items:center;gap:.25rem;margin:0 0 1.5rem;font-size:.9375rem;display:inline-flex}.back-link a{color:var(--text-secondary)}.back-link a:hover,.back-link a:focus-visible{color:var(--text-link-hover)}.work-year-group{margin:0 0 2.25rem}.work-year-group:last-child{margin-bottom:0}.work-list{margin:0;padding:0;list-style:none}.work-item{justify-content:space-between;align-items:baseline;gap:auto;margin:0 0 1rem;display:flex}.work-item:last-child{margin-bottom:0}.work-title{color:var(--text-secondary);font-weight:400}.work-title:hover,.work-title:focus-visible{color:var(--text-link-hover)}.work-date{color:var(--text-secondary);opacity:.65;white-space:nowrap;font-size:.9375rem}.project-date{color:var(--text-secondary);opacity:.8;margin:0 0 2rem;font-size:.9375rem}.project-content{margin:0}.project-content h1,.project-content h2,.project-content h3{font-family:var(--font-display);margin-top:2rem;margin-bottom:1rem;font-weight:400}.project-content p{margin:0 0 1.5rem}.project-content ul,.project-content ol{margin:0 0 1.5rem;padding-inline-start:2rem}.project-content code{font-family:var(--font-text);background:#222;border-radius:3px;padding:.2rem .4rem;font-size:.9em}.project-content pre{background:#1a1a1a;border-radius:5px;margin:1.5rem 0;padding:1rem;overflow-x:auto}.project-content blockquote{border-inline-start:3px solid var(--text-secondary);color:var(--text-secondary);margin:1.5rem 0;padding-inline-start:1.5rem}footer{max-width:var(--measure);direction:ltr;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;width:100%;margin:0 auto;padding:1.5rem 1.5rem 2rem;font-size:.875rem;display:flex}footer p{color:var(--text-secondary);margin:0}.lang-link{color:var(--text-secondary);text-decoration:none;transition:color .15s}.lang-link.active{color:var(--text-primary)}.lang-link:hover,.lang-link:focus-visible{color:var(--text-link-hover)}.lang-switch .sep{color:var(--text-secondary);opacity:.5;padding:0 .4em}@media (prefers-reduced-motion:reduce){a{transition:none}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
