[data-theme="light"] {
    --blue-accent:#2563eb;--blue-light:#dbeafe;--text-primary:#1a1a2e;--text-secondary:#4a4a6a;
    --text-muted:#6b7280;--bg-body:#fff;--bg-card:#f8fafc;--border-color:#e5e7eb;
    --link-color:#2563eb;--link-hover:#1d4ed8;--badge-bg:#2563eb;--badge-text:#fff;
    --badge-review-bg:#6b7280;--bib-bg:#f1f5f9;--bib-border:#e2e8f0;
    --pill-bg:transparent;--pill-border:#9ca3af;--pill-text:#374151;--pill-hover-bg:#f3f4f6;
    --toggle-bg:#e5e7eb;--toggle-knob:#fff;--abstract-border:#dbeafe;
    --navbar-bg:rgba(255,255,255,0.92);
}
[data-theme="dark"] {
    --blue-accent:#60a5fa;--blue-light:#1e3a5f;--text-primary:#e2e8f0;--text-secondary:#a0aec0;
    --text-muted:#718096;--bg-body:#0f172a;--bg-card:#1e293b;--border-color:#334155;
    --link-color:#60a5fa;--link-hover:#93bbfc;--badge-bg:#3b82f6;--badge-text:#fff;
    --badge-review-bg:#64748b;--bib-bg:#1e293b;--bib-border:#334155;
    --pill-bg:transparent;--pill-border:#64748b;--pill-text:#cbd5e1;--pill-hover-bg:#334155;
    --toggle-bg:#334155;--toggle-knob:#0f172a;--abstract-border:#1e3a5f;
    --navbar-bg:rgba(15,23,42,0.92);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Roboto',sans-serif;font-weight:300;line-height:1.7;color:var(--text-primary);background:var(--bg-body);font-size:16px;transition:background .3s,color .3s}
.navbar{background:var(--navbar-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);padding:.9rem 0;position:sticky;top:0;z-index:100;transition:background .3s,border-color .3s}
.navbar .container{display:flex;justify-content:space-between;align-items:center}
.navbar-brand{font-weight:500;font-size:1.1rem;color:var(--text-primary);text-decoration:none}
.navbar-right{display:flex;align-items:center;gap:1.8rem}
.navbar-nav{list-style:none;display:flex;gap:1.8rem;flex-wrap:wrap}
.navbar-nav a{text-decoration:none;color:var(--text-secondary);font-weight:400;font-size:.9rem;transition:color .2s}
.navbar-nav a:hover,.navbar-nav a.active{color:var(--text-primary)}
.theme-toggle{position:relative;width:44px;height:24px;background:var(--toggle-bg);border-radius:12px;cursor:pointer;border:none;transition:background .3s;flex-shrink:0}
.theme-toggle::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;background:var(--toggle-knob);border-radius:50%;transition:transform .3s;box-shadow:0 1px 3px rgba(0,0,0,.15)}
[data-theme="dark"] .theme-toggle::after{transform:translateX(20px)}
.theme-toggle-icon{position:absolute;top:50%;transform:translateY(-50%);font-size:11px;line-height:1}
.theme-toggle .sun-icon{left:5px;color:#f59e0b}
.theme-toggle .moon-icon{right:5px;color:#94a3b8}
.container{max-width:840px;margin:0 auto;padding:0 1.5rem}
.profile-section{padding:3rem 0 2rem}
.profile-header{display:flex;gap:2.5rem;align-items:flex-start}
.profile-pic{width:180px;height:180px;border-radius:50%;object-fit:cover;flex-shrink:0}
.profile-info h1{font-size:2rem;font-weight:300;margin-bottom:.2rem;letter-spacing:-.02em}
.profile-info .subtitle{color:var(--text-muted);font-size:.95rem;margin-bottom:1rem}
.profile-info .subtitle a{color:var(--text-muted);text-decoration:none}
.profile-info .subtitle a:hover{color:var(--link-color)}
.profile-bio{margin-top:1.5rem;font-size:.95rem;color:var(--text-secondary);line-height:1.8}
.profile-bio a{color:var(--text-primary);text-decoration:none;font-weight:400}
.profile-bio a:hover{color:var(--link-color)}
.social-row{margin-top:1.2rem;display:flex;gap:1.1rem;flex-wrap:wrap;align-items:center}
.social-row a{color:var(--text-secondary);text-decoration:none;font-size:1.25rem;transition:color .2s}
.social-row a:hover{color:var(--link-color)}
section{padding:2rem 0}
section h2{font-size:1.6rem;font-weight:300;letter-spacing:-.01em;margin-bottom:1.2rem;color:var(--text-primary)}
.news-table{width:100%;border-collapse:collapse}
.news-table td{padding:.4rem 0;vertical-align:top;font-size:.9rem}
.news-table .news-date{width:120px;font-weight:500;color:var(--blue-accent);white-space:nowrap;padding-right:1rem}
.news-table .news-text{color:var(--text-secondary)}
.news-table .news-text a{color:var(--text-primary);text-decoration:none;font-weight:400}
.news-table .news-text a:hover{color:var(--link-color)}
.interests-list{list-style:disc;padding-left:1.5rem;color:var(--text-secondary);font-size:.95rem}
.interests-list li{margin-bottom:.3rem}
.education-item{margin-bottom:1.2rem;font-size:.95rem}
.education-item .edu-title{font-weight:500;color:var(--text-primary)}
.education-item .edu-detail{color:var(--text-secondary)}
.education-item .edu-date{color:var(--text-muted);font-size:.85rem}
.pub-year-heading{font-size:1.35rem;font-weight:400;margin-top:2.5rem;margin-bottom:1.2rem;padding-bottom:.3rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}
.pub-year-heading:first-of-type{margin-top:.5rem}
.pub-list{list-style:none}
.pub-list>li{display:flex;gap:1.2rem;margin-bottom:1.8rem;align-items:flex-start}
.pub-badge-col{flex-shrink:0;width:72px;padding-top:.1rem}
.pub-venue-badge{display:inline-block;background:var(--badge-bg);color:var(--badge-text);font-size:.65rem;font-weight:500;padding:.2rem .5rem;border-radius:3px;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.pub-venue-badge.review{background:var(--badge-review-bg);font-size:.52rem;padding:.15rem .3rem}
.pub-content{flex:1;min-width:0}
.pub-title{font-weight:500;font-size:.95rem;color:var(--text-primary);line-height:1.5}
.pub-authors{font-size:.88rem;color:var(--text-secondary);margin-top:.15rem}
.pub-venue-text{font-size:.85rem;color:var(--text-muted);font-style:italic;margin-top:.1rem}
.pub-links{margin-top:.45rem;display:flex;gap:.4rem;flex-wrap:wrap}
.pub-pill{display:inline-flex;align-items:center;gap:.32rem;padding:.2rem .6rem;border:1px solid var(--pill-border);border-radius:4px;font-size:.75rem;font-family:inherit;font-weight:400;color:var(--pill-text);background:var(--pill-bg);text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s;line-height:1.4;text-transform:uppercase;letter-spacing:.02em}
.pub-pill i{font-size:.85em;line-height:1}
.pub-pill:hover{background:var(--pill-hover-bg);border-color:var(--text-muted);color:var(--text-primary)}
a.pub-pill{text-decoration:none}
button.pub-pill{border:1px solid var(--pill-border)}
.bib-block{display:none;position:relative;margin-top:.5rem;background:var(--bib-bg);border:1px solid var(--bib-border);border-radius:4px;padding:.75rem 4.2rem .75rem 1rem;font-family:'Courier New',monospace;font-size:.75rem;line-height:1.5;color:var(--text-secondary);overflow-x:auto;white-space:pre-wrap;word-break:break-all}
.bib-block.open{display:block}
.bib-entrytype{color:var(--blue-accent);font-weight:500}
.bib-citekey{color:var(--text-primary);font-weight:500}
.bib-field{color:var(--text-muted)}
.bib-punct{color:var(--text-muted)}
.bib-value{color:var(--text-secondary)}
.copy-btn{position:absolute;top:.5rem;right:.5rem;display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;border:1px solid var(--pill-border);border-radius:4px;font-size:.65rem;font-family:'Roboto',sans-serif;font-weight:400;color:var(--pill-text);background:var(--bib-bg);cursor:pointer;transition:background .15s,border-color .15s,color .15s;line-height:1.4;text-transform:uppercase;letter-spacing:.02em}
.copy-btn:hover{background:var(--pill-hover-bg);border-color:var(--text-muted);color:var(--text-primary)}
.pub-abstract{display:none;margin-top:.5rem;font-size:.85rem;color:var(--text-muted);line-height:1.7;border-left:3px solid var(--abstract-border);padding-left:.8rem}
.pub-abstract.open{display:block}
.site-footer{text-align:center;padding:2rem 0;margin-top:2rem;border-top:1px solid var(--border-color);font-size:.8rem;color:var(--text-muted)}
@media(max-width:640px){
    .profile-header{flex-direction:column;align-items:center;text-align:center}
    .profile-pic{width:140px;height:140px}
    .social-row{justify-content:center}
    .pub-badge-col{width:55px}
    .pub-venue-badge{font-size:.55rem;padding:.15rem .35rem}
    .navbar-nav{gap:1rem}
    .navbar-right{gap:1rem}
}
