:root{
  --bg:#f8fafc;--card:#ffffff;--card-hover:#f1f5f9;--pill:#f1f5f9;--pill-hover:#e2e8f0;
  --border:#e2e8f0;--border-subtle:#f1f5f9;--text:#0f172a;--muted:#475569;--subtle:#64748b;
  --blue:#2563eb;--blue-hover:#1d4ed8;--blue-soft:#eff6ff;--blue-border:#bfdbfe;
  --green:#059669;--purple:#7e22ce;--amber:#d97706;--indigo:#4f46e5;
  --radius-sm:8px;--radius-md:12px;--radius-lg:16px;--round:9999px;
  --shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 8px 24px rgba(15,23,42,.07);
}
[data-theme="dark"]{
  --bg:#0b0f19;--card:#151c2c;--card-hover:#1e293b;--pill:#1e293b;--pill-hover:#334155;
  --border:#273549;--border-subtle:#1e293b;--text:#f8fafc;--muted:#cbd5e1;--subtle:#94a3b8;
  --blue:#3b82f6;--blue-hover:#60a5fa;--blue-soft:rgba(59,130,246,.15);--blue-border:rgba(59,130,246,.3)
}
*{box-sizing:border-box}html{font-family:"Noto Sans",system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);line-height:1.65;transition:background .25s,color .25s}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:100%;max-width:1280px;margin:auto;padding:0 1.5rem}
.site-nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.nav-wrap{height:68px;display:flex;align-items:center;justify-content:space-between;gap:1.2rem}.brand{font-size:1.1rem;font-weight:800;color:var(--text);white-space:nowrap}.nav-links{display:flex;align-items:center;gap:1.2rem}.nav-links a{font-size:.9rem;font-weight:500;color:var(--muted);padding:.25rem 0;position:relative}.nav-links a:hover,.nav-links a.active{color:var(--blue)}.nav-links a.active:after{content:"";position:absolute;left:0;right:0;bottom:-.72rem;height:2px;background:var(--blue);border-radius:2px}.nav-actions{display:flex;align-items:center;gap:.55rem}.theme-toggle,.menu-toggle{border:1px solid var(--border);background:var(--pill);color:var(--text);border-radius:var(--round);display:flex;align-items:center;justify-content:center;cursor:pointer}.theme-toggle{width:50px;height:29px;position:relative;padding:0 5px;justify-content:space-between}.theme-icon{font-size:.8rem;opacity:.45}.theme-icon.sun{opacity:1;color:#d97706}[data-theme="dark"] .theme-icon.sun{opacity:.35}[data-theme="dark"] .theme-icon.moon{opacity:1;color:#93c5fd}.menu-toggle{display:none;width:40px;height:40px;border-radius:10px}.menu-toggle svg{width:20px;height:20px}
.home-shell{padding:2.4rem 0 3.5rem}.home-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:2rem;align-items:start}.profile-card,.content-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.profile-card{padding:1.5rem;position:sticky;top:5.5rem;text-align:center}.avatar-wrap{width:100%;aspect-ratio:1/1;border-radius:var(--radius-md);overflow:hidden;background:var(--pill);margin-bottom:1.2rem}.avatar-img{width:100%;height:100%;object-fit:cover;object-position:center 16%}.profile-copy h2{margin:.1rem 0 .15rem;font-size:1.35rem}.profile-role{margin:0;color:var(--blue);font-size:.92rem;font-weight:700}.profile-affiliation{font-size:.85rem;color:var(--muted);line-height:1.45;margin:.55rem 0}.profile-location{display:flex;align-items:center;justify-content:center;gap:.35rem;color:var(--subtle);font-size:.83rem}.profile-location svg{width:15px;height:15px;color:var(--blue)}.profile-divider{height:1px;background:var(--border);margin:1.15rem 0}.social-icons{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap}.social-btn{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.13);transition:transform .15s,box-shadow .15s,filter .15s}.social-btn:hover{transform:translateY(-3px) scale(1.06);filter:brightness(1.08)}.social-btn svg{width:18px;height:18px}.social-btn.email{background:linear-gradient(135deg,#ea4335,#d93025)}.social-btn.github{background:linear-gradient(135deg,#6e40c9,#bf3989 50%,#f0883e)}.social-btn.linkedin{background:linear-gradient(135deg,#0a66c2,#004182)}.social-btn.scholar{background:linear-gradient(135deg,#4285f4,#1a73e8)}.social-btn.orcid{background:linear-gradient(135deg,#a6ce39,#7da825)}.orcid-mark{font-size:.72rem;font-weight:800}
.home-content{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.bio-panel{padding:.25rem 0 1.5rem;border-bottom:1px solid var(--border)}.role-kicker{color:var(--blue);font-size:.9rem;font-weight:700;margin:0 0 .35rem}.bio-panel h1{font-size:2.7rem;line-height:1.15;margin:.1rem 0 .7rem;letter-spacing:-.035em}.bio-lead{font-size:1.04rem;color:var(--text);margin:.4rem 0}.bio-copy{font-size:.97rem;color:var(--muted);margin:.4rem 0 1rem}.sponsor-box{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;background:#ecfdf5;border:1px solid #a7f3d0;border-left:3px solid #059669;border-radius:var(--radius-sm);margin:1rem 0}.sponsor-box svg{width:18px;height:18px;color:#047857;flex:0 0 18px}.sponsor-box p{margin:0;font-size:.9rem}[data-theme="dark"] .sponsor-box{background:rgba(5,150,105,.13);border-color:rgba(52,211,153,.3);border-left-color:#34d399}[data-theme="dark"] .sponsor-box svg{color:#6ee7b7}.primary-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin:1rem 0 1.35rem}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;gap:.45rem;padding:.58rem .95rem;border-radius:var(--radius-sm);font-size:.88rem;font-weight:650;border:1px solid var(--border);transition:.15s}.btn-primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 2px 5px rgba(37,99,235,.18)}.btn-secondary{background:var(--card);color:var(--text)}.btn-primary:hover{background:var(--blue-hover);transform:translateY(-1px)}.btn-secondary:hover{border-color:var(--blue);color:var(--blue)}.btn-primary svg,.btn-secondary svg{width:17px;height:17px}.interest-heading{font-size:.86rem;color:var(--subtle);margin:0 0 .7rem}.interest-grid{display:flex;flex-wrap:wrap;gap:.55rem}.interest-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .78rem;border-radius:var(--round);background:var(--pill);border:1px solid var(--border);font-size:.82rem;color:var(--muted);font-weight:500;transition:.15s}.interest-pill:hover{background:var(--blue-soft);border-color:var(--blue-border);color:var(--blue);transform:translateY(-1px)}.interest-pill svg{width:15px;height:15px;color:var(--blue)}
.content-card{padding:1.5rem}.card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.card-header>div{display:flex;align-items:center;gap:.65rem}.card-header h2{font-size:1.18rem;margin:0}.section-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center}.section-icon svg{width:18px;height:18px}.section-icon.blue{background:#eff6ff;color:#2563eb}.section-icon.indigo{background:#eef2ff;color:#4f46e5}.section-icon.emerald{background:#ecfdf5;color:#059669}.view-all{display:flex;align-items:center;gap:.3rem;font-size:.83rem;color:var(--muted);font-weight:550}.view-all:hover{color:var(--blue)}.view-all svg{width:15px;height:15px}
.news-list{display:flex;flex-direction:column;gap:.5rem}.news-row{display:grid;grid-template-columns:92px 38px 1fr 20px;align-items:start;gap:.8rem;padding:.72rem;border-radius:var(--radius-md);transition:.15s}.news-row:hover{background:var(--pill);transform:translateX(2px)}.news-row time{font-size:.78rem;color:var(--subtle);padding-top:.5rem}.news-icon{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center}.news-icon svg{width:17px;height:17px}.news-icon.blue{background:#eff6ff;color:#2563eb}.news-icon.purple{background:#f3e8ff;color:#7e22ce}.news-icon.amber{background:#fffbeb;color:#d97706}.news-icon.emerald{background:#ecfdf5;color:#059669}.news-row h3{font-size:.91rem;margin:0 0 .12rem}.news-row p{font-size:.82rem;color:var(--muted);margin:0;line-height:1.45}.row-arrow{width:16px;height:16px;color:var(--subtle);margin-top:.55rem}
.selected-pubs{display:grid;gap:.55rem}.compact-pub{display:grid;grid-template-columns:40px 1fr;gap:.8rem;padding:.72rem;border-radius:var(--radius-md);transition:.15s}.compact-pub:hover{background:var(--pill)}.pub-marker{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--blue-soft);color:var(--blue)}.pub-marker svg{width:18px;height:18px}.pub-venue{font-size:.73rem;font-weight:700;color:var(--blue);text-transform:uppercase;letter-spacing:.04em}.compact-pub h3{font-size:.93rem;margin:.05rem 0}.compact-pub p{font-size:.81rem;color:var(--muted);margin:0}
.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.quick-grid a{display:flex;align-items:center;gap:.75rem;padding:.85rem;border:1px solid var(--border);border-radius:var(--radius-md);transition:.15s;background:var(--card)}.quick-grid a:hover{border-color:var(--blue-border);background:var(--blue-soft);transform:translateY(-1px)}.quick-grid>a>svg{width:21px;height:21px;color:var(--blue);flex:0 0 21px}.quick-grid span{display:flex;flex-direction:column}.quick-grid strong{font-size:.88rem}.quick-grid small{font-size:.75rem;color:var(--muted)}
footer{border-top:1px solid var(--border);background:var(--card);padding:1.6rem 0;margin-top:2rem}.footer-inner{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;color:var(--subtle);font-size:.82rem}.footer-inner p{margin:0}
.mobile-identity{display:none}
.page-main{min-height:70vh}.page-hero{padding:3.2rem 0 1.5rem}.page-hero h1{font-size:2.55rem;line-height:1.08;letter-spacing:-.035em;margin:.45rem 0 .8rem}.lead{font-size:1.06rem;color:var(--muted);max-width:780px}.lead.narrow{max-width:760px}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card,.feature-card,.project-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.35rem;box-shadow:var(--shadow-sm)}.card p,.feature-card p,.project-card p{color:var(--muted)}.eyebrow{text-transform:uppercase;font-size:.74rem;font-weight:800;letter-spacing:.1em;color:var(--blue)}.section-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:1.2rem}.section-head h2{margin:.2rem 0;font-size:2rem}.section-head p{color:var(--muted);max-width:600px}.tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}.tag{padding:.33rem .58rem;border-radius:var(--round);background:var(--pill);border:1px solid var(--border);font-size:.73rem;color:var(--muted);font-weight:600}.pub-layout{display:grid;grid-template-columns:210px 1fr;gap:2rem}.toc{position:sticky;top:5.5rem;display:grid;gap:.6rem}.section-block{margin-bottom:3rem}.pub-list{display:grid}.pub-card{display:grid;grid-template-columns:62px 1fr;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--border)}.pub-card.highlight{padding:1.2rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg)}.pub-year{color:var(--blue);font-weight:800}.pub-card h3{margin:0 0 .35rem;font-size:1rem}.pub-card p{margin:.2rem 0;color:var(--muted);font-size:.88rem}.pub-card .venue{color:var(--text);font-weight:650}.research-row{display:grid;grid-template-columns:70px 1fr;gap:1.2rem;padding:2rem 0;border-bottom:1px solid var(--border)}.number{font-size:1.1rem;font-weight:800;color:var(--blue)}.project-card h2{font-size:1.4rem}.project-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.badge{display:inline-flex;padding:.32rem .55rem;border-radius:var(--round);background:var(--blue-soft);color:var(--blue);font-size:.7rem;font-weight:800}.award-dot{font-size:.73rem;color:var(--green);font-weight:800}.card-actions{display:flex;gap:1rem;margin-top:1rem;font-size:.85rem;font-weight:700}.split-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:2rem}.timeline-item{display:grid;grid-template-columns:140px 1fr;gap:1rem;padding:0 0 1.8rem}.timeline-date{font-size:.8rem;color:var(--blue);font-weight:800}.timeline-item h3{margin:0}.timeline-item p{color:var(--muted)}.clean-list{padding-left:1.1rem;color:var(--muted)}.stack-card{margin-bottom:.8rem}.course-code{font-size:.72rem;font-weight:800;color:var(--blue)}.service-item{padding:.8rem 0;border-bottom:1px solid var(--border);display:grid;gap:.15rem}.service-item span{color:var(--muted)}.award-list{display:grid}.award-row{display:grid;grid-template-columns:86px 1fr;gap:1rem;padding:1.35rem 0;border-bottom:1px solid var(--border)}.award-year{font-weight:800;color:var(--blue)}.award-row h2{margin:0;font-size:1.3rem}.award-row p{margin:.25rem 0;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.contact-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--blue)}.contact-card h2{font-size:1.2rem}
@media(max-width:1024px){.home-layout{grid-template-columns:1fr}.profile-sidebar{display:none}.mobile-identity{display:grid;grid-template-columns:88px 1fr;gap:1rem;align-items:start}.desktop-identity{display:none}.mobile-avatar{width:88px;height:88px;object-fit:cover;object-position:center top;border-radius:10px;border:1px solid var(--border)}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;padding:1rem 1.5rem;background:var(--card);border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.nav-links a.active:after{display:none}.menu-toggle{display:flex}.pub-layout,.split-layout{grid-template-columns:1fr}.toc{position:static}.grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.container{padding:0 1rem}.home-shell{padding-top:1.25rem}.mobile-identity{grid-template-columns:64px 1fr;gap:.75rem}.mobile-avatar{width:64px;height:64px}.bio-panel h1{font-size:1.75rem}.news-row{grid-template-columns:72px 34px 1fr}.row-arrow{display:none}.news-row time{font-size:.72rem}.quick-grid,.grid-2,.grid-3,.contact-grid{grid-template-columns:1fr}.pub-card,.timeline-item,.award-row{grid-template-columns:1fr;gap:.3rem}.page-hero h1{font-size:2.15rem}.primary-actions>a{flex:1 1 140px;justify-content:center}.content-card{padding:1.1rem}.footer-inner{flex-direction:column;align-items:center;text-align:center}}
