@font-face{font-family:'Source Sans 3';src:url('fonts/sourcesans3.woff') format('woff');font-style:normal;font-weight:200 900;font-display:swap}
@font-face{font-family:Inter;src:url('fonts/inter.woff') format('woff');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url('fonts/ibmplexsans.woff') format('woff');font-style:normal;font-weight:100 700;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('fonts/sourceserif4.woff2') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
@font-face{font-family:'TeX Gyre Pagella';src:url('fonts/texgyrepagella-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'TeX Gyre Pagella';src:url('fonts/texgyrepagella-bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'TeX Gyre Pagella';src:url('fonts/texgyrepagella-italic.woff') format('woff');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:'TeX Gyre Pagella';src:url('fonts/texgyrepagella-bolditalic.woff') format('woff');font-style:italic;font-weight:700;font-display:swap}
[data-font="source-sans"]{--sans:'Source Sans 3',Arial,sans-serif;--serif:'Source Sans 3',Arial,sans-serif;--heading-weight:600;--heading-spacing:-.7px}
[data-font="inter"]{--sans:Inter,Arial,sans-serif;--serif:Inter,Arial,sans-serif;--heading-weight:550;--heading-spacing:-1.1px}
[data-font="plex"]{--sans:'IBM Plex Sans',Arial,sans-serif;--serif:'IBM Plex Sans',Arial,sans-serif;--heading-weight:500;--heading-spacing:-.6px}
[data-font="serif"]{--sans:'Source Sans 3',Arial,sans-serif;--serif:'Source Serif 4',Georgia,serif;--heading-weight:500;--heading-spacing:-.7px}
[data-font="palatino"]{--sans:'TeX Gyre Pagella',Palatino,'Palatino Linotype','Book Antiqua',serif;--serif:'TeX Gyre Pagella',Palatino,'Palatino Linotype','Book Antiqua',serif;--heading-weight:400;--heading-spacing:0px}
[data-font="palatino"] nav,[data-font="palatino"] .eyebrow,[data-font="palatino"] .paper-tools,[data-font="palatino"] .profile-links,[data-font="palatino"] .contact{font-family:'Source Sans 3',Arial,sans-serif}
[data-font="palatino"] .bio p{line-height:1.65}
[data-font="palatino"] .authors strong{font-weight:700}
body{font-size:16px;font-optical-sizing:auto}h1,h2,.identity strong,.profile h2{font-family:var(--serif);font-weight:var(--heading-weight);letter-spacing:var(--heading-spacing)}h1{font-size:44px}h2{font-size:26px}.identity strong{font-size:22px}.profile h2{font-size:24px}.bio p{line-height:1.8}.paper h3{font-size:16px;font-weight:600}.authors,.venue-full{font-size:16px}.news-item p{font-size:16px}.course p{font-size:16px}body[data-design="classic"] .home-intro{margin-bottom:38px}
.site-header{position:sticky;top:0;z-index:5;background:var(--paper)}.header-inner{min-height:76px}nav a{padding:25px 0 21px}section[id]{scroll-margin-top:105px}.profile{top:115px}.course h3{font-family:var(--serif);font-size:24px;font-weight:var(--heading-weight);margin:5px 0 9px}.section-nav[aria-current]{border-bottom-color:var(--gold);color:var(--accent)}
.font-preview{border:1px solid var(--line);background:var(--accent-soft);padding:16px 18px;margin-bottom:30px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:16px}.font-preview-title{display:flex;justify-content:space-between;gap:12px}.font-preview-title strong{font-size:16px}.font-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0 9px}.font-buttons button{background:var(--paper);color:var(--accent);border:1px solid var(--line);padding:6px 10px;cursor:pointer;font-size:16px;border-radius:2px}.font-buttons button[aria-pressed="true"]{background:var(--accent);color:var(--paper);border-color:var(--accent)}#font-description{margin:0;color:var(--muted);font-size:16px}
.font-sample{border-top:1px solid var(--line);padding:26px 0;font-family:var(--sans)}.font-sample-label{display:flex;justify-content:space-between;gap:14px;align-items:baseline;margin-bottom:20px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:16px}.font-sample-label span{font-weight:600;color:var(--accent)}.font-sample h2{font-family:var(--serif);font-size:36px;font-weight:var(--heading-weight);margin-bottom:9px}.font-sample h3{font-family:var(--sans);font-weight:500;color:var(--muted);margin-bottom:18px}.font-sample p{font-family:var(--sans);font-size:16px;line-height:1.8}.font-sample .sample-paper{font-weight:600;font-size:16px}.font-sample .font-sample-description{font-size:16px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:var(--muted);margin:16px 0 0}
@media(max-width:700px){h1{font-size:36px}.profile{top:auto}.header-inner{min-height:70px}.section-heading h2{font-size:24px}.news-item p{font-size:16px}.paper h3{font-size:16px}.authors,.venue-full{font-size:16px}.font-preview{padding:14px}.font-buttons button{font-size:16px}.font-sample-label{align-items:flex-start;flex-direction:column;gap:6px}nav a{padding:3px 0}section[id]{scroll-margin-top:85px}.site-header:has(nav.is-open)~.page-shell section[id]{scroll-margin-top:145px}}
@media print{.site-header{position:static}.font-preview{display:none!important}}
/* Adapted academic hierarchy: restrained markers and a separate lab identity. */
.section-heading h2{border-left:3px solid var(--gold);padding-left:12px}.section-heading{border-bottom:0;padding-bottom:0;margin-bottom:23px}.section{padding-top:28px;border-top:1px solid var(--line);margin-top:30px}.news-item{margin-bottom:0;padding:11px 0;border-bottom:1px solid var(--line)}.news-item:last-child{border-bottom:0}.news-item time{color:var(--accent);font-weight:600}.nav-lab{color:var(--accent);font-weight:600}.bio-lab-link{font-weight:600;text-decoration:underline;text-decoration-color:var(--line)}.recruiting-inline{font-size:16px;margin:24px 0 0;padding:13px 17px;border-left:2px solid var(--accent);background:var(--accent-soft)}
.lab-shell{display:block;max-width:1020px;padding-top:46px}.lab-shell main{max-width:900px;margin:auto}.lab-hero{max-width:760px;margin-bottom:38px}.lab-hero h1{font-size:48px;margin:10px 0}.lab-full-name{font-family:var(--serif);font-size:24px;color:var(--muted);line-height:1.4;margin-bottom:22px}.lab-mission{font-size:17px;line-height:1.8;max-width:690px}.lab-lead{font-size:16px;color:var(--muted)}.research-themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.research-themes h3{font-size:17px;line-height:1.5}.research-themes p{font-size:16px;color:var(--muted);line-height:1.75}.project-name{font-family:var(--serif);font-size:29px;font-weight:var(--heading-weight);margin:5px 0 4px}.project .project-subtitle{font-size:16px;color:var(--muted);margin-bottom:16px}.project:first-child{border-top:0;padding-top:0}.people-group{margin-top:28px}.people-group>h3{font-size:17px;margin-bottom:15px}.person{padding:16px 0;border-bottom:1px solid var(--line)}.person h3,.person h4{font-size:18px;font-weight:600;margin:0 0 4px}.person p{font-size:16px;margin:3px 0}.person .person-role{font-size:16px;color:var(--accent)}.person .person-detail,.pending-roster{font-size:16px;color:var(--muted)}.pi-person{padding-top:0}.lab-shell #join p{max-width:670px}
@media(max-width:700px){.lab-shell{padding:30px 22px 45px}.lab-hero h1{font-size:38px}.lab-full-name{font-size:21px}.lab-mission{font-size:16px}.research-themes{grid-template-columns:1fr;gap:14px}.research-themes p{margin-bottom:6px}.section{padding-top:23px;margin-top:26px}.section-heading h2{padding-left:10px}.recruiting-inline{font-size:16px}.lab-shell .font-preview{margin-bottom:28px}}

/* Author annotations: bold PI, underlined student authors, matching the supplied reference. */
.student-author{text-decoration-line:underline;text-decoration-color:currentColor;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-skip-ink:auto}.author-legend{font-size:16px;color:var(--muted);margin:0 0 8px;line-height:1.6}.author-legend strong,.authors strong{font-weight:700;color:var(--ink)}

/* Primary page: one compact profile group inside the main reading column. */
.page-shell.single-column{display:block;max-width:940px}
.home-profile{display:grid;grid-template-columns:168px minmax(0,1fr);gap:32px;align-items:center;margin-bottom:28px}
.home-profile .portrait{width:168px;height:168px;margin:0}
.home-profile h1{margin:0 0 5px;line-height:1.2}
.home-profile .home-subtitle{margin-bottom:12px}
.profile-actions,.profile-contacts{display:flex;flex-wrap:wrap;gap:7px}
.profile-contacts{margin-top:8px}
.profile-button,.contact-chip{display:inline-flex;align-items:center;min-height:32px;padding:5px 11px;border:1px solid var(--line);border-radius:4px;background:var(--accent-soft);color:var(--accent);font-family:'Source Sans 3',Arial,sans-serif;font-size:16px;line-height:1.5}
.profile-button{font-weight:600;white-space:nowrap}
.profile-button:hover,a.contact-chip:hover{border-color:var(--accent);text-decoration:none}
.contact-chip{font-size:16px;color:var(--ink);overflow-wrap:anywhere}
@media(max-width:700px){.home-profile{grid-template-columns:120px minmax(0,1fr);gap:22px;align-items:start}.home-profile .portrait{width:120px;height:120px}.home-profile h1{font-size:34px}.profile-button{padding:5px 9px}.profile-actions,.profile-contacts{gap:6px}}
@media(max-width:460px){.home-profile{grid-template-columns:1fr;gap:18px}.home-profile .portrait{width:136px;height:136px}.contact-chip{max-width:100%}}

@font-face{font-family:'HPDi Name Xingkai';src:local('STXingkai'),local('华文行楷'),url('fonts/hpdi-name-xingkai.woff') format('woff');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+738B,U+91D1,U+9707}
.chinese-name{display:inline-block;margin-inline-start:8px;font-family:'HPDi Name Xingkai',STXingkai,'华文行楷','Kaiti SC',STKaiti,KaiTi,serif;font-size:.65em;font-weight:400;letter-spacing:0;white-space:nowrap;line-height:1.4}

[data-font="optima"]{--sans:Optima,Candara,'Source Sans 3',Arial,sans-serif;--serif:Optima,Candara,'Source Sans 3',Arial,sans-serif;--heading-weight:400;--heading-spacing:0px}

@font-face{font-family:'HPDi Name Kai';src:local('Kaiti SC'),local('STKaiti'),local('KaiTi'),url('fonts/hpdi-name-kai.woff') format('woff');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+738B,U+91D1,U+9707}
@font-face{font-family:'HPDi Name Cursive';src:url('fonts/hpdi-name-cursive.woff') format('woff');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+738B,U+91D1,U+9707}
html[data-chinese-font="kai"] .chinese-name{font-family:'HPDi Name Kai',serif}
html[data-chinese-font="cursive"] .chinese-name{font-family:'HPDi Name Cursive',cursive}
html .chinese-name[data-name-font="kai"]{font-family:'HPDi Name Kai',serif}
html .chinese-name[data-name-font="xingkai"]{font-family:'HPDi Name Xingkai',serif}
html .chinese-name[data-name-font="cursive"]{font-family:'HPDi Name Cursive',cursive}
.name-font-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0 40px}
.name-font-sample{padding:20px 0;border-top:1px solid var(--line)}
.name-font-sample .chinese-name{display:block;margin:14px 0;font-size:48px}
.name-font-sample p,.name-font-sample a{font-size:16px}
@media(max-width:700px){.name-font-grid{grid-template-columns:1fr;gap:14px}}
