*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--text: #1a1a1a;--muted: #666;--subtle: #999;--bg: #fff;--max: 680px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif}html{font-family:var(--font);font-size:17px;line-height:1.7;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}body{max-width:var(--max);margin:0 auto;padding:2.5rem 1.5rem 5rem}nav{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5rem}.site-name{font-weight:500;font-size:1rem;letter-spacing:-.01em;text-decoration:none;color:var(--text)}.site-name:hover{opacity:.6}nav ul{list-style:none;display:flex;gap:1.75rem}nav a{font-size:.93rem;text-decoration:none;color:var(--muted)}nav a:hover{color:var(--text)}h1{font-size:1.45rem;font-weight:600;line-height:1.3;letter-spacing:-.025em;margin-bottom:1.25rem}h2{font-size:1.05rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.3rem}p{margin-bottom:1rem;color:var(--text)}p:last-child{margin-bottom:0}a{color:var(--text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#ccc}a:hover{text-decoration-color:var(--text)}.page-intro{color:var(--muted);margin-bottom:3rem}.projects{display:flex;flex-direction:column;gap:3rem}.meta{font-size:.83rem;color:var(--subtle);margin-bottom:.75rem}.why{margin-top:.75rem;font-size:.93rem;color:var(--muted);border-left:2px solid #e8e8e8;padding-left:1rem}.why strong{color:var(--text)}.post-list{list-style:none;display:flex;flex-direction:column}.post-list li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.75rem 0;border-bottom:1px solid #f0f0f0}.post-list li:first-child{border-top:1px solid #f0f0f0}.post-list a{text-decoration:none;font-size:.97rem}.post-list a:hover{text-decoration:underline;text-underline-offset:3px}.post-date{font-size:.82rem;color:var(--subtle);white-space:nowrap;flex-shrink:0}article header{margin-bottom:2.5rem}article header h1{margin-bottom:.4rem}article header .post-date{color:var(--subtle);font-size:.87rem}.prose p{margin-bottom:1.2rem}.prose h2{font-size:1.05rem;font-weight:600;margin-top:2rem;margin-bottom:.6rem}.prose ul,.prose ol{margin:0 0 1.2rem 1.5rem}.prose li{margin-bottom:.3rem}.prose p:has(>img){margin-bottom:.4rem}.prose img{display:block;max-width:100%;height:auto;border-radius:8px;border:1px solid #e5e5e5;margin:1.5rem auto 0}.prose p:has(>img)+p{text-align:center;font-size:.85rem;color:#666;margin-top:.5rem;margin-bottom:1.8rem}.projects h2 a{text-decoration:none}.projects h2 a:hover{text-decoration:underline;text-underline-offset:3px}.read-more a,.back-link a{font-size:.9rem;color:var(--muted);text-decoration:none}.read-more a:hover,.back-link a:hover{color:var(--text)}.back-link{margin-bottom:2rem}.status{font-size:.85rem;color:var(--muted);margin-top:.4rem}.project-links{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid #f0f0f0;display:flex;gap:1.5rem;font-size:.92rem}.resume-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.resume-top h1{margin-bottom:0}.pdf-link{font-size:.88rem;white-space:nowrap;flex-shrink:0}.resume-tagline{color:var(--muted);margin-top:.4rem;margin-bottom:.3rem}.resume-contact{font-size:.9rem;color:var(--subtle);margin-bottom:2.5rem}.resume-section{margin-bottom:2.25rem}.resume-section>h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--subtle);padding-bottom:.4rem;border-bottom:1px solid #f0f0f0;margin-bottom:1rem}.resume-section ul{margin:0 0 0 1.1rem}.resume-section li{margin-bottom:.4rem}.job{margin-bottom:1.75rem}.job:last-child{margin-bottom:0}.job-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.job-title{font-weight:600;font-size:.98rem}.job-dates{font-size:.83rem;color:var(--subtle);white-space:nowrap;flex-shrink:0}.job-loc{font-size:.85rem;color:var(--muted);margin-bottom:.6rem}.job-sub{font-weight:600;font-size:.9rem;margin-top:.75rem;margin-bottom:.3rem}@media(max-width:600px){.job-head,.resume-top{flex-direction:column;gap:.15rem}}footer{margin-top:5rem;padding-top:1.5rem;border-top:1px solid #f0f0f0;font-size:.83rem;color:var(--subtle)}@media(max-width:600px){nav{margin-bottom:3.5rem}nav ul{gap:1.25rem}.post-list li{flex-direction:column;gap:.15rem}}nav[data-astro-cid-sckkx6r4] a[data-astro-cid-sckkx6r4].active{color:var(--text)}
