:root{--ink:#19263b;--muted:#606b7a;--link:#22569a;--gold:#907321;--line:#e0e5eb;--soft:#f7f8fa;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:#fff;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-size:16px;line-height:1.7}h1,h2,h3,p,figure{margin-top:0}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}a:focus-visible{outline:2px solid var(--link);outline-offset:5px}::selection{background:#e1eaf6}strong{font-weight:600}
.header-inner,.page-shell,.footer-inner{width:min(1060px,calc(100% - 64px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:10;background:#ffffffef;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:30px}.site-name{font-family:'Newsreader',Georgia,serif;font-size:23px;font-weight:600;color:var(--ink);white-space:nowrap}nav{display:flex;gap:27px;font-size:14px}nav a{color:var(--muted);padding:10px 0}.skip-link{position:fixed;left:12px;top:-100px;z-index:30;background:white;padding:12px 18px}.skip-link:focus{top:10px}
.page-shell{padding-top:68px;padding-bottom:38px}.profile{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:66px;align-items:start;padding-bottom:60px}.position{color:var(--gold);text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.7px;margin-bottom:10px}h1,h2,h3{font-family:'Newsreader',Georgia,serif;font-weight:600}h1{font-size:clamp(46px,5vw,68px);line-height:1.1;letter-spacing:-1.9px;margin-bottom:9px}.affiliation{font-size:18px;color:var(--muted);margin-bottom:29px}.bio p{margin-bottom:16px;font-size:15.5px;line-height:1.78}.profile-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:22px;font-size:14px;font-weight:600}.profile-links a{padding:5px 0}.profile-photo{margin:16px 0 0}.profile-photo img{display:block;width:230px;height:230px;object-fit:contain;border:1px solid #e8ebef;border-radius:3px}.content-section{padding:43px 0 49px;border-top:1px solid var(--line)}h2{font-size:32px;line-height:1.25;letter-spacing:-.5px;margin-bottom:28px}.news-section{padding-top:36px;padding-bottom:38px}.news-list{max-width:980px}.news-item{display:grid;grid-template-columns:100px minmax(0,1fr);gap:20px;margin-bottom:12px}.news-item:last-child{margin-bottom:0}.news-item time{font-size:13px;font-weight:500;color:var(--muted);padding-top:2px}.news-item p{font-size:15px;line-height:1.7;margin:0}.section-intro{font-size:15px;color:var(--muted);max-width:810px;margin:-7px 0 27px}.research-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.research-columns h3{font-size:23px;line-height:1.25;margin-bottom:12px}.research-columns p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:0}.section-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:25px}.section-title-row>a{font-size:13px;flex-shrink:0}.section-title-row h2{margin-bottom:13px}.publication-note{font-size:12px;color:var(--muted);margin-bottom:20px}.publication-list{border-top:1px solid var(--line)}.publication{display:grid;grid-template-columns:70px minmax(0,1fr);gap:25px;padding:28px 0;border-bottom:1px solid var(--line)}.publication:last-child{border-bottom:0;padding-bottom:0}.publication-year{font-size:13px;font-weight:600;color:var(--muted);padding-top:3px}.publication h3{font-size:24px;line-height:1.3;margin-bottom:8px;letter-spacing:-.1px}.publication h3 a{color:var(--ink)}.publication h3 a:hover{color:var(--link)}.authors{font-size:14px;margin-bottom:5px}.venue{font-size:13px;color:#202733;font-weight:600;margin-bottom:10px}.venue em{font-synthesis:style}.venue span{color:var(--muted);font-weight:400}.publication-description{font-size:14px;line-height:1.8;color:var(--muted);max-width:830px;margin-bottom:13px}.publication-links{display:flex;gap:9px}.publication-links a{display:inline-block;font-size:12px;font-weight:600;padding:4px 11px;border:1px solid #cad4e0;border-radius:3px}.publication-links a:hover{background:var(--soft);text-decoration:none}.publication-links span{font-size:11px;margin-left:2px}.education-item{display:grid;grid-template-columns:185px minmax(0,1fr);gap:28px;padding-bottom:30px}.education-item:last-child{padding-bottom:0}.education-date{font-size:13px;font-weight:500;color:var(--muted);padding-top:2px}.education-item h3{font-size:22px;line-height:1.3;margin-bottom:5px}.education-item .place{font-size:15px;margin-bottom:3px}.education-item .detail{font-size:14px;color:var(--muted);margin:0}footer{border-top:1px solid var(--line);background:var(--soft)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:140px;padding-block:26px}.footer-inner strong{font-family:'Newsreader',Georgia,serif;font-size:21px}.footer-inner p{font-size:13px;color:var(--muted);margin:3px 0 0}.footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:7px;font-size:13px}
@media(max-width:900px){.profile{grid-template-columns:minmax(0,1fr) 190px;gap:38px}.profile-photo img{width:190px;height:190px}.research-columns{gap:24px}.research-columns h3{font-size:21px}}
@media(max-width:700px){.header-inner,.page-shell,.footer-inner{width:calc(100% - 38px)}.header-inner{min-height:66px;gap:14px}.site-name{font-size:21px}nav{gap:14px;font-size:11px}.page-shell{padding-top:35px}.profile{grid-template-columns:minmax(0,1fr) 120px;gap:20px;padding-bottom:34px}.profile-copy{display:contents}.position{grid-column:1 / -1;font-size:10px;margin:0}.profile h1{grid-column:1;grid-row:2;font-size:46px;letter-spacing:-1px;align-self:center;margin:0}.affiliation{grid-column:1 / -1;font-size:16px;margin:-7px 0 0}.profile-photo{grid-column:2;grid-row:2;margin:0}.profile-photo img{width:120px;height:120px}.bio{grid-column:1 / -1}.bio p{font-size:15px;line-height:1.8;margin-bottom:14px}.bio p:last-child{margin-bottom:0}.profile-links{grid-column:1 / -1;margin:0;gap:24px;font-size:13px}.content-section{padding:32px 0 36px}h2{font-size:29px;margin-bottom:24px}.news-item{grid-template-columns:74px minmax(0,1fr);gap:14px;margin-bottom:16px}.news-item time{font-size:11px}.news-item p{font-size:14px}.research-columns{grid-template-columns:1fr;gap:24px}.research-columns h3{font-size:23px;margin-bottom:9px}.research-columns p{font-size:14px}.section-intro{font-size:14px;margin-bottom:25px}.section-title-row{display:block}.section-title-row h2{margin-bottom:9px}.section-title-row>a{display:inline-block;font-size:12px;margin-bottom:12px}.publication-note{margin-bottom:17px}.publication{grid-template-columns:1fr;gap:6px;padding:25px 0}.publication h3{font-size:23px}.publication-year{font-size:12px;padding:0}.authors{font-size:13px}.venue{font-size:12px;line-height:1.8}.publication-description{font-size:14px}.publication-links a{padding:7px 13px}.education-item{grid-template-columns:1fr;gap:7px;padding-bottom:25px}.education-item h3{font-size:22px}.education-item .place{font-size:14px}.education-item .detail{font-size:13px}.education-date{font-size:12px}.footer-inner{padding-block:28px;flex-direction:column;align-items:flex-start;gap:19px}.footer-links{align-items:flex-start}.footer-inner p{font-size:12px}}
@media(max-width:380px){.header-inner{flex-wrap:wrap;gap:0;padding:12px 0}.site-name{font-size:21px}nav{width:100%;justify-content:space-between;gap:10px;font-size:11px}nav a{padding:7px 0 0}.profile{grid-template-columns:minmax(0,1fr) 100px;gap:17px}.profile h1{font-size:40px}.profile-photo img{width:100px;height:100px}.profile-links{gap:21px;font-size:12px}}
@media(min-width:381px) and (max-width:480px){.header-inner{flex-wrap:wrap;gap:0;padding:12px 0}nav{width:100%;justify-content:space-between;font-size:12px}nav a{padding:7px 0 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header{position:static}nav,.skip-link,.footer-links{display:none}.header-inner,.page-shell,.footer-inner{width:100%}.page-shell{padding-top:20px}.profile{padding-bottom:25px;gap:35px}.content-section{padding:24px 0}.publication,.education-item{break-inside:avoid}.footer-inner{min-height:80px}a{color:inherit}.profile-photo img{width:160px;height:160px}}

/* School emblems and academic service. */
.education-item{grid-template-columns:170px 64px minmax(0,1fr);gap:24px;align-items:start}
.school-emblem{display:grid;place-items:center;width:64px;height:64px;overflow:hidden;margin-top:2px}.school-emblem img{display:block;width:100%;height:100%;object-fit:contain}.emblem-penn img{transform:scale(2.5)}.emblem-zju img{transform:scale(1.55)}
.service-columns{display:grid;grid-template-columns:1fr 1.6fr;gap:50px}
.service-columns h3{font-size:22px;line-height:1.3;margin-bottom:12px}
.service-columns ul{list-style:none;padding:0;margin:0;color:var(--muted);font-size:15px;line-height:1.9}
.service-columns li+li{margin-top:4px}
@media(max-width:700px){.header-inner{flex-wrap:wrap;gap:0;padding:12px 0}nav{width:100%;justify-content:space-between;gap:10px;font-size:11px}nav a{padding:8px 0 0}.education-item{grid-template-columns:52px minmax(0,1fr);gap:12px 16px}.education-date{grid-column:1 / -1}.school-emblem{width:52px;height:52px}.service-columns{grid-template-columns:1fr;gap:25px}.service-columns ul{font-size:14px}.service-columns h3{font-size:22px}}
