:root{--bg: #ffffff;--bg-subtle: #f8f9fa;--border: #e9ecef;--text: #111111;--text-muted: #666666;--text-light: #888888;--link: #000000;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", Menlo, monospace;--content-max-width: 680px;color-scheme:light}[data-theme=dark]{--bg: #111111;--bg-subtle: #181818;--border: #262626;--text: #eeeeee;--text-muted: #999999;--text-light: #666666;--link: #ffffff;color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);font-size:16px;background-color:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}body{min-height:100vh;background-color:var(--bg);color:var(--text)}:focus{outline:none}:focus-visible{outline:1.5px solid var(--text);outline-offset:3px}a{color:var(--link);text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:4px;transition:text-decoration-color .15s ease}a:hover{text-decoration-color:var(--text)}p{color:var(--text-muted)}h1,h2,h3,h4{color:var(--text);font-weight:600;letter-spacing:-.01em}code,pre{font-family:var(--font-mono);font-size:.9em}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}@media print{header,footer,.no-print{display:none}body{background:#fff;color:#000}}.container{max-width:var(--content-max-width);margin:0 auto;padding:3rem 1.5rem}.animate-fade-up{opacity:0;transform:translateY(15px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.animate-fade-up.is-visible{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}.delay-4{transition-delay:.32s}@media(prefers-reduced-motion:reduce){.animate-fade-up{opacity:1;transform:none;transition:none}}.header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:3.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.brand-name{font-size:1.125rem;font-weight:600;color:var(--text);text-decoration:none}.nav{display:flex;align-items:center;gap:1.25rem}.nav-button{font-size:.9rem;color:var(--text-muted);text-decoration:none;transition:color .15s ease}.nav-button:hover,.nav-button.active{color:var(--text)}.social-icon-link{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);transition:color .15s ease}.social-icon-link:hover{color:var(--text)}.social-icon-link svg{opacity:.8;transition:opacity .15s ease}.social-icon-link:hover svg{opacity:1}.theme-toggle{font-size:.85rem;color:var(--text-light)}.theme-toggle:hover{color:var(--text)}.intro{margin-bottom:3.5rem}.intro-title{font-size:1.75rem;font-weight:600;line-height:1.3;margin-bottom:1rem}.intro-bio{font-size:1.05rem;color:var(--text-muted);line-height:1.7}.intro-meta{margin-top:1.25rem;display:flex;gap:1.25rem;font-size:.9rem;flex-wrap:wrap}.intro-meta a{color:var(--text-muted)}.intro-meta a:hover{color:var(--text)}.bio-paragraphs{display:flex;flex-direction:column;gap:1rem}.bio-text{font-size:1rem;color:var(--text-muted);line-height:1.7}.section{margin-bottom:3rem}.section-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);margin-bottom:1.25rem}.work-list{display:flex;flex-direction:column;gap:1.75rem}.work-item{display:flex;flex-direction:column;gap:.35rem}.work-title{font-size:1.05rem;font-weight:600;color:var(--text)}.work-link{color:var(--text);text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:4px;transition:text-decoration-color .15s ease,color .15s ease}.work-link:hover{color:var(--link);text-decoration-color:var(--text)}.work-description{font-size:.95rem;color:var(--text-muted);line-height:1.6}.link-arrow{display:inline-block;font-size:.85em;transition:transform .15s ease}.work-link:hover .link-arrow{transform:translate(2px,-2px)}.footer{margin-top:4rem;padding-top:1.5rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-light);flex-wrap:wrap;gap:1rem}
