:root,[data-theme=light]{--bg: #fafafa;--bg-surface: #ffffff;--text: #222222;--text-muted: #666666;--text-faint: #999999;--accent: #3d5a80;--accent-hover: #2c4a6e;--border: #e0e0e0;--tag-bg: #eef2f7;--tag-text: #3d5a80;--code-bg: #f6f8fa;--code-text: #24292e;--code-border: #e1e4e8;--header-bg: rgba(250, 250, 250, .85)}[data-theme=dark]{--bg: #1a1b1e;--bg-surface: #242528;--text: #eaeaea;--text-muted: #a0a0a0;--text-faint: #707070;--accent: #6b9bcf;--accent-hover: #85b1db;--border: #333333;--tag-bg: #2a3040;--tag-text: #6b9bcf;--code-bg: #282a36;--code-text: #f8f8f2;--code-border: #44475a;--header-bg: rgba(26, 27, 30, .85)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:Inter,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;color:var(--text);background-color:var(--bg);transition:background-color .3s ease,color .3s ease;min-height:100vh;display:flex;flex-direction:column}main{flex:1}a{color:var(--accent);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-hover)}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:Inter,system-ui,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--text)}h1{font-size:2.5rem}h2{font-size:1.75rem}h3{font-size:1.25rem}.header{position:sticky;top:0;z-index:100;background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.nav{max-width:1100px;margin:0 auto;padding:0 1.5rem;height:60px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.nav-logo{font-weight:700;font-size:1.125rem;color:var(--text);letter-spacing:-.02em}.nav-logo:hover{color:var(--accent)}.nav-links{display:flex;gap:1.5rem;margin-right:auto;margin-left:2rem}.nav-link{font-size:.875rem;font-weight:500;color:var(--text-muted);padding:.25rem 0;border-bottom:1.5px solid transparent;transition:color .2s ease,border-color .2s ease}.nav-link:hover,.nav-link.active{color:var(--text);border-bottom-color:var(--accent)}.theme-toggle{background:none;border:1px solid var(--border);border-radius:4px;padding:6px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:color .2s ease,border-color .2s ease}.theme-toggle:hover{color:var(--text);border-color:var(--text-muted)}[data-theme=light] .icon-sun{display:none}[data-theme=light] .icon-moon,[data-theme=dark] .icon-sun{display:block}[data-theme=dark] .icon-moon{display:none}.icon-moon{display:block}.icon-sun{display:none}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.hero{min-height:calc(70vh - 60px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;max-width:1100px;margin:0 auto;padding:4rem 1.5rem}.hero-content{display:flex;flex-direction:column;gap:1.25rem}.hero-name{font-size:4.5rem;font-weight:700;letter-spacing:-.03em;line-height:1.1}.hero-bio{font-size:1.3rem;line-height:1.7;color:var(--text-muted);max-width:520px}.hero-social{display:flex;gap:1.25rem;margin-top:.75rem}.hero-social a{color:var(--text-muted);transition:color .2s ease}.hero-social a:hover{color:var(--accent)}.hero-visual{display:flex;justify-content:center;align-items:center}.hero-visual svg{width:100%;max-width:520px;height:auto}.publications-page{max-width:800px;margin:0 auto;padding:3rem 1.5rem}.publications-page h1{margin-bottom:2.5rem}.pub-list{display:flex;flex-direction:column}.pub-entry{padding:1.5rem 0;border-bottom:1px solid var(--border)}.pub-entry:first-child{border-top:1px solid var(--border)}.pub-title{font-size:1.1rem;font-weight:600;line-height:1.4;margin-bottom:.375rem}.pub-authors{font-size:.9rem;color:var(--text-muted);margin-bottom:.5rem;line-height:1.5}.pub-authors .me{font-weight:600;color:var(--text)}.pub-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.pub-badge{display:inline-block;font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:100px;background:var(--tag-bg);color:var(--tag-text);letter-spacing:.02em}.pub-links{display:flex;gap:.75rem;flex-wrap:wrap}.pub-link{font-size:.8rem;font-weight:500;padding:.3rem .75rem;border:1px solid var(--border);border-radius:3px;color:var(--text-muted);transition:color .2s ease,border-color .2s ease}.pub-link:hover{color:var(--accent);border-color:var(--accent)}.pub-bibtex-toggle{background:none;border:1px solid var(--border);border-radius:3px;padding:.3rem .75rem;font-size:.8rem;font-weight:500;font-family:inherit;color:var(--text-muted);cursor:pointer;transition:color .2s ease,border-color .2s ease}.pub-bibtex-toggle:hover{color:var(--accent);border-color:var(--accent)}.pub-bibtex{display:none;margin-top:.75rem;padding:1rem;background:var(--code-bg);border:1px solid var(--code-border);border-radius:3px;overflow-x:auto}.pub-bibtex.open{display:block}.pub-bibtex pre{margin:0;font-size:.8rem;line-height:1.6;color:var(--code-text);font-family:SF Mono,Fira Code,Fira Mono,monospace;white-space:pre-wrap;word-break:break-all}.blog-index{max-width:800px;margin:0 auto;padding:3rem 1.5rem}.blog-index h1{margin-bottom:2.5rem}.blog-feed{display:flex;flex-direction:column}.blog-card{display:block;padding:1.5rem 0;border-bottom:1px solid var(--border);color:var(--text);transition:none}.blog-card:first-child{border-top:1px solid var(--border)}.blog-card:hover .blog-card-title{color:var(--accent)}.blog-card-date{font-size:.8rem;color:var(--text-faint);font-weight:500;margin-bottom:.375rem}.blog-card-title{font-size:1.2rem;font-weight:600;margin-bottom:.375rem;transition:color .2s ease}.blog-card-excerpt{font-size:.95rem;color:var(--text-muted);line-height:1.6;margin-bottom:.5rem}.blog-card-tags{display:flex;gap:.375rem;flex-wrap:wrap}.tag{display:inline-block;font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:100px;background:var(--tag-bg);color:var(--tag-text);letter-spacing:.02em}.blog-post{max-width:800px;margin:0 auto;padding:3rem 1.5rem}.blog-post-header{margin-bottom:2.5rem}.blog-post-header h1{font-size:2.25rem;line-height:1.2}.blog-post-meta{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.blog-post-meta time{font-size:.85rem;color:var(--text-faint);font-weight:500}.blog-post-tags{display:flex;gap:.375rem}.prose{font-family:Merriweather,Georgia,serif;font-size:1rem;line-height:1.8;color:var(--text)}.prose h2{font-family:Inter,system-ui,sans-serif;font-size:1.5rem;margin:2.5rem 0 1rem}.prose h3{font-family:Inter,system-ui,sans-serif;font-size:1.2rem;margin:2rem 0 .75rem}.prose p{margin-bottom:1.25rem}.prose ul,.prose ol{margin-bottom:1.25rem;padding-left:1.5rem}.prose li{margin-bottom:.375rem}.prose blockquote{border-left:3px solid var(--accent);padding:.5rem 1.25rem;margin:1.5rem 0;color:var(--text-muted);font-style:italic}.prose strong{font-weight:700}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.prose img{width:100%;border-radius:3px;margin:1.5rem 0}.prose figure{margin:2rem 0}.prose figcaption{text-align:center;font-size:.85rem;color:var(--text-muted);margin-top:.5rem;font-style:italic}.prose code{font-family:SF Mono,Fira Code,Fira Mono,monospace;font-size:.875em;background:var(--tag-bg);padding:.15em .35em;border-radius:3px}.prose pre{border-radius:4px;padding:1.25rem;margin:1.5rem 0;overflow-x:auto;line-height:1.6;border:1px solid var(--code-border)}.prose pre code{background:none;padding:0;border-radius:0;font-size:.85rem}[data-theme=dark] .astro-code{background-color:var(--shiki-dark-bg)!important}[data-theme=dark] .astro-code,[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important}.copy-btn{position:absolute;top:.5rem;right:.5rem;background:var(--tag-bg);border:1px solid var(--code-border);border-radius:3px;color:var(--text-muted);font-size:.7rem;font-family:Inter,system-ui,sans-serif;padding:.25rem .5rem;cursor:pointer;opacity:0;transition:opacity .2s ease}pre:hover .copy-btn{opacity:1}.copy-btn:hover{background:var(--border);color:var(--text)}.prose .katex-display{margin:1.5rem 0;overflow-x:auto;padding:.5rem 0}@keyframes hero-pulse{0%,to{opacity:.75}50%{opacity:1}}@keyframes hero-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.hero-node-pulse{animation:hero-pulse 3s ease-in-out infinite}.hero-node-pulse-d{animation:hero-pulse 3s ease-in-out infinite 1.5s}.hero-float-a,.hero-float-b,.hero-float-c{transform-box:fill-box;transform-origin:center}.hero-float-a{animation:hero-float 5s ease-in-out infinite}.hero-float-b{animation:hero-float 6s ease-in-out infinite 1s}.hero-float-c{animation:hero-float 7s ease-in-out infinite 2s}.footer{border-top:1px solid var(--border);padding:2rem 1.5rem;text-align:center;font-size:.8rem;color:var(--text-faint)}@media(max-width:768px){.hero{grid-template-columns:1fr;min-height:auto;padding:2.5rem 1.5rem;gap:2.5rem}.hero-name{font-size:3rem}.hero-visual{order:-1}.hero-visual svg{max-width:340px}h1{font-size:2rem}.blog-post-header h1{font-size:1.75rem}.nav-links{gap:1rem;margin-left:1rem}}@media(max-width:480px){.hero-name{font-size:2.5rem}.nav{padding:0 1rem}.nav-links{gap:.75rem;margin-left:.75rem}.nav-link{font-size:.8rem}}
