.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--color-bg: #ffffff;--color-bg-alt: #f8f8f6;--color-text: #111111;--color-text-secondary: #555555;--color-text-muted: #888888;--color-border: #e5e5e5;--color-border-light: #f0f0f0;--color-accent: #2563eb;--color-accent-light: rgba(37, 99, 235, .06);--color-accent-gradient: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);--color-link: #2563eb;--color-link-hover: #1d4ed8;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--max-width: 720px;--radius: 6px;--transition: .18s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;color:var(--color-text);background:var(--color-bg);min-height:100vh;font-feature-settings:"cv02","cv03","cv04","cv11"}body:before{content:"";display:block;height:3px;background:var(--color-accent-gradient);position:fixed;top:0;left:0;right:0;z-index:200}::selection{background:#2563eb1f;color:var(--color-text)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:650;line-height:1.3;color:var(--color-text);letter-spacing:-.02em}h1{font-size:var(--text-3xl);font-weight:700;margin-bottom:var(--space-md)}h2{font-size:var(--text-2xl);margin-top:var(--space-2xl);margin-bottom:var(--space-md)}h3{font-size:var(--text-xl);margin-top:var(--space-xl);margin-bottom:var(--space-sm)}h4{font-size:var(--text-lg);margin-top:var(--space-lg);margin-bottom:var(--space-sm)}p{margin-bottom:var(--space-md);color:var(--color-text)}a{color:var(--color-link);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-link-hover);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}strong,b{font-weight:600}em,i{font-style:italic}blockquote{margin:var(--space-lg) 0;padding-left:var(--space-lg);border-left:3px solid var(--color-border);color:var(--color-text-secondary);font-style:italic}ul,ol{margin:var(--space-md) 0;padding-left:1.5rem}li{margin-bottom:var(--space-xs)}li::marker{color:var(--color-text-muted)}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-2xl) 0}code{font-family:var(--font-mono);font-size:.85em;background-color:var(--color-bg-alt);padding:.15em .35em;border-radius:4px}pre{font-family:var(--font-mono);font-size:var(--text-sm);background-color:var(--color-bg-alt);border:1px solid var(--color-border-light);border-radius:var(--radius);padding:var(--space-md);overflow-x:auto;margin:var(--space-lg) 0;line-height:1.55}pre code{background:none;padding:0;font-size:inherit}.astro-code{background-color:var(--color-bg-alt)!important;border:1px solid var(--color-border-light);border-radius:var(--radius);padding:var(--space-md)!important}.page{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}main{flex:1;max-width:var(--max-width);margin:0 auto;width:100%;padding:var(--space-xl) var(--space-lg)}.header{position:sticky;top:3px;z-index:100;background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.header-inner{max-width:var(--max-width);margin:0 auto;padding:.75rem var(--space-lg);display:flex;align-items:center;justify-content:space-between}.logo{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:650;color:var(--color-text);text-decoration:none;letter-spacing:-.02em}.logo:hover,.logo:visited{color:var(--color-text);text-decoration:none}.nav{display:flex;gap:var(--space-xs);flex-wrap:wrap;align-items:center}.nav-link{font-size:var(--text-sm);font-weight:450;color:var(--color-text-muted);text-decoration:none;padding:.25em .5em;border-radius:4px;transition:color var(--transition),background var(--transition)}.nav-link:hover{color:var(--color-text);background:var(--color-accent-light);text-decoration:none}.nav-link:visited{color:var(--color-text-muted)}.nav-link.active{color:var(--color-accent);font-weight:550}.footer{border-top:1px solid var(--color-border);padding:var(--space-lg) 0;text-align:center}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.footer-text{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.footer-text a{color:var(--color-text-muted)}.footer-text a:hover{color:var(--color-link)}.hero{padding:var(--space-lg) 0}.hero-title{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:700;margin-bottom:var(--space-sm);color:var(--color-text);letter-spacing:-.02em}.hero-subtitle{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:var(--space-md);line-height:1.7}.section{margin-bottom:var(--space-xl)}.section h2{font-size:var(--text-xl);font-weight:600;color:var(--color-text);margin-top:var(--space-xl);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border-light)}.post-list{display:flex;flex-direction:column;gap:var(--space-xs)}.post-item{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-md);padding:var(--space-sm);border-radius:var(--radius);transition:background var(--transition);margin-left:calc(-1 * var(--space-sm));margin-right:calc(-1 * var(--space-sm))}.post-item:hover{background:var(--color-accent-light)}.post-link{font-size:var(--text-base);color:var(--color-link)}.post-link:hover{color:var(--color-link-hover)}.post-meta{font-size:var(--text-sm);color:var(--color-text-muted)}.post-date{font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.project-list{display:flex;flex-direction:column;gap:var(--space-sm)}.project-item{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);border-radius:var(--radius);transition:background var(--transition);margin-left:calc(-1 * var(--space-sm));margin-right:calc(-1 * var(--space-sm))}.project-item:hover{background:var(--color-accent-light)}.project-name{font-weight:600;color:var(--color-link)}.project-name:hover{color:var(--color-link-hover)}.project-description{font-size:var(--text-base);color:var(--color-text);margin:0}.tag-list{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:var(--space-xs)}.tag{font-size:.675rem;font-weight:500;padding:.125em .5em;border-radius:99px;background:var(--color-accent-light);color:var(--color-accent);letter-spacing:.02em;white-space:nowrap}.post-header{margin-bottom:var(--space-xl)}.post-title{font-size:var(--text-3xl);font-weight:700;margin-bottom:var(--space-sm);letter-spacing:-.02em}.post-header .post-meta{font-size:var(--text-sm);color:var(--color-text-muted)}.post-content{margin-bottom:var(--space-2xl)}.post-content h2:first-child{margin-top:0}.post-content img{max-width:100%;height:auto;border-radius:var(--radius);margin:var(--space-lg) 0}.experience-list{display:flex;flex-direction:column;gap:var(--space-xl)}.experience-item{padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border-light)}.experience-item:last-child{border-bottom:none}.experience-header{margin-bottom:var(--space-sm)}.experience-role{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-xs)}.experience-company{color:var(--color-text-secondary)}.experience-meta{font-size:var(--text-sm);color:var(--color-text-muted)}.experience-details{margin-top:var(--space-md)}.experience-details li{margin-bottom:var(--space-sm)}.skills-grid{display:grid;gap:var(--space-lg)}.skills-category h4{font-size:var(--text-sm);font-weight:550;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:0 0 var(--space-sm) 0}.skills-category p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.research-list{display:flex;flex-direction:column;gap:var(--space-xl)}.research-item{padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border-light)}.research-item:last-child{border-bottom:none}.research-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xs)}.status-badge{font-size:var(--text-xs);font-weight:550;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.status-draft{background:#0000000a;color:var(--color-text-muted)}.status-preprint{background:#7c3aed0f;color:#7c3aed}.status-review{background:#d977060f;color:#d97706}.status-published{background:#16a34a0f;color:#16a34a}.research-date{font-size:var(--text-sm);color:var(--color-text-muted)}.research-link{text-decoration:none;color:inherit}.research-title{font-size:var(--text-lg);font-weight:600;color:var(--color-text);margin:0;line-height:1.4}.research-link:hover .research-title{color:var(--color-link)}.research-venue{font-size:var(--text-sm);color:var(--color-text-secondary);margin:var(--space-xs) 0 0 0;font-style:italic}.research-abstract{font-size:var(--text-sm);color:var(--color-text-secondary);margin:var(--space-sm) 0 0 0;line-height:1.7}.research-authors{font-size:var(--text-sm);color:var(--color-text-muted);margin:var(--space-sm) 0 0 0}.research-links{display:flex;gap:var(--space-md);margin-top:var(--space-md);flex-wrap:wrap}.paper-link{font-size:var(--text-sm);color:var(--color-link)}.paper-link:hover{text-decoration:underline}.publications-list{display:flex;flex-direction:column;gap:var(--space-lg)}.publication-item{padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border-light)}.publication-item:last-child{border-bottom:none}.publication-title{font-weight:600;color:var(--color-text);margin-bottom:var(--space-xs)}.publication-venue{font-size:var(--text-sm);color:var(--color-text-secondary);font-style:italic}.publication-authors{font-size:var(--text-sm);color:var(--color-text-muted)}.empty-state{text-align:center;padding:var(--space-2xl) 0}.empty-message{color:var(--color-text-muted);font-size:var(--text-base)}@media(max-width:640px){main{padding:var(--space-lg) var(--space-md)}.header-inner{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.section-header,.post-item{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
