@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.2-i4fw5gbtlb7.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__Ur3q_a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__Ur3q_a__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.0b02cdm7g7y6h.woff2)format("woff2");font-display:swap;font-weight:100 900}.geistmono_157ca88a-module__iaM1Ya__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_157ca88a-module__iaM1Ya__variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
:root{--bg:#fafafa;--text-primary:#0a0a0a;--text-secondary:#525252;--text-muted:#737373;--accent:#b8860b;--border:#00000014;--focus:#0a0a0a;--text-display:3.5rem;--text-title:1rem;--text-heading:.9375rem;--text-lede:1.0625rem;--text-body:.9375rem;--text-label:.875rem;--text-caption:.8125rem}.dark{--bg:#0a0a0a;--text-primary:#fafafa;--text-secondary:#a3a3a3;--text-muted:#737373;--accent:#d4a574;--border:#ffffff14;--focus:#fafafa}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;font-size:var(--text-body);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6;transition:background-color .3s,color .3s}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}ul{list-style:none}button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}.mono{font-family:var(--font-geist-mono), ui-monospace, monospace}.page{min-height:100vh;padding:4rem 1.5rem}.page-container{max-width:40rem;margin:0 auto}.page-header{margin-bottom:4rem}.page-header-row{justify-content:space-between;align-items:flex-start;display:flex}.page-footer{border-top:1px solid var(--border);margin-top:4rem;padding-top:1.5rem}.hero-title{font-size:var(--text-display);letter-spacing:-.03em;font-weight:600;line-height:1.05}.hero-tagline{font-size:var(--text-lede);color:var(--text-secondary);margin-top:.75rem;font-weight:400}.section-heading{font-size:var(--text-heading);color:var(--text-primary);margin-bottom:1.25rem;font-weight:500}.project-list-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;padding:.75rem 0;transition:border-color .2s;display:flex}a.project-list-item:hover,a.project-list-item:focus-visible{border-color:var(--text-muted)}.project-name{font-size:var(--text-label);color:var(--text-primary);transition:color .2s}a.project-list-item:hover .project-name,a.project-list-item:focus-visible .project-name{color:var(--accent)}.project-type{font-size:var(--text-caption);color:var(--text-muted);flex-shrink:0}.project-list-item>div{flex-direction:column;gap:.15rem;display:flex}.project-desc,.footer-text{font-size:var(--text-caption);color:var(--text-muted)}.header-actions{align-items:center;gap:.25rem;display:flex}.icon-btn{width:2rem;height:2rem;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;transition:color .2s;display:flex}.icon-btn:hover{color:var(--text-primary)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-up{opacity:0;animation:.6s ease-out forwards fadeUp}.animate-fade-in{opacity:0;animation:.6s ease-out forwards fadeIn}@media (prefers-reduced-motion:reduce){.animate-fade-up,.animate-fade-in{opacity:1;animation:none}}@media (min-width:768px){.page{padding:6rem 3rem}.page-header{margin-bottom:6rem}.page-footer{margin-top:6rem}.hero-title{font-size:4.25rem}}@media (min-width:1024px){.page{padding:8rem 6rem}}
