@charset "utf-8";
:root{--paper:#f7f8f4;--ink:#202c28;--green:#28574b;--muted:#65736c;--line:#dbe0d7;--soft:#eaf0e7;--serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI",-apple-system,BlinkMacSystemFont,"Noto Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{font-size:17px;scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased;position:relative;isolation:isolate}
a{color:inherit;text-decoration:none;text-underline-offset:4px}
a:hover{color:var(--green)}
button{font:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:5px;border-radius:3px}
button:disabled{cursor:default}
::selection{background:#cfdfcc}
.page-width{width:min(1100px,calc(100% - 104px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:10;background:rgba(247,248,244,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.ambient-background{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;user-select:none}
.ambient-background canvas{display:block;width:100%;height:100%;mask-image:linear-gradient(90deg,#000 0%,#0009 12%,#0000 30%,#0000 70%,#0009 88%,#000 100%)}
.ambient-wash{position:absolute;inset:-10%;background:radial-gradient(ellipse 24% 39% at 0% 24%,#a9c4b42e,transparent 80%),radial-gradient(ellipse 23% 42% at 99% 70%,#c8bc9a26,transparent 80%);animation:paper-drift 24s ease-in-out infinite alternate;animation-play-state:paused}
[data-motion="on"] .ambient-wash{animation-play-state:running}
.page-is-hidden .ambient-wash{animation-play-state:paused}
@keyframes paper-drift{from{transform:translate3d(0,-1.5%,0) scale(1)}to{transform:translate3d(1.5%,2%,0) scale(1.035)}}
.site-header{transition:box-shadow .35s,background-color .35s}
.site-header.is-scrolled{background:rgba(247,248,244,.93);box-shadow:0 5px 22px #243c2d06}
.site-header::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(190px circle at var(--nav-pointer-x,50%) 50%,#91b19b20,transparent 80%);opacity:0;transition:opacity .4s}
[data-motion="on"] .site-header.is-hovered::before{opacity:1}
.nav-shell{position:relative;z-index:1}
.reading-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none;background:linear-gradient(90deg,#84a38b,#28574b);transform:scaleX(var(--reading-progress,0));transform-origin:left center}
.nav-links>a{position:relative;transition:color .2s}
.nav-links>a[aria-current]{box-shadow:none}
.nav-links>a::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nav-links>a[aria-current]::after,.nav-links>a:hover::after,.nav-links>a:focus-visible::after{transform:scaleX(1)}
[data-motion="off"] .ambient-wash{animation:none}
[data-motion="off"] .site-header::before{display:none}
[data-motion="off"] .site-header,[data-motion="off"] .nav-links>a,[data-motion="off"] .nav-links>a::after{transition:none}
@media(max-width:560px){.ambient-background canvas{opacity:.5;mask-image:linear-gradient(90deg,#0009,#0000 14%,#0000 86%,#0009)}.ambient-wash{opacity:.6}}
.nav-shell{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:32px}
.wordmark{font-size:20px;letter-spacing:-.6px;font-weight:650;white-space:nowrap}
.wordmark-dot{color:var(--green);padding-left:1px}
.nav-links{display:flex;align-items:center;gap:32px;font-size:14px}
.nav-links>a{padding-block:27px;color:var(--muted);white-space:nowrap}
.nav-links>a:hover,.nav-links>a[aria-current]{color:var(--ink)}
.nav-links>a[aria-current]{box-shadow:none}
.nav-contact{margin-left:8px}
.nav-contact span{margin-left:6px}
.intro{display:grid;grid-template-columns:minmax(0,1fr) 256px;column-gap:102px;padding:75px 0 66px}
.eyebrow{margin:0;color:var(--green);font-size:11px;font-weight:650;line-height:1.65;letter-spacing:1.7px;text-transform:uppercase}
h1{margin:14px 0 13px;font-family:var(--serif);font-size:70px;font-weight:400;letter-spacing:-3px;line-height:1.15;white-space:nowrap}
h1 span{display:inline-block;margin-left:18px;vertical-align:middle;font-family:"Microsoft YaHei",var(--sans);font-size:22px;font-weight:400;letter-spacing:3px;color:var(--muted)}
.affiliation{margin:0;font-size:16px;color:var(--muted);line-height:1.65}
.small-heading{margin:0 0 11px;font-size:16px;font-weight:650;line-height:1.5}
.bio p{margin:0 0 13px;font-size:17px;line-height:1.8}
.email-link{color:var(--green);text-decoration:underline;text-decoration-color:#b5c9bc;overflow-wrap:anywhere}
.profile-links{display:flex;gap:26px;margin-top:24px;font-size:14px;color:var(--green);font-weight:550}
.profile-links span{font-size:15px;margin-left:5px}
.intro-aside{padding-top:34px}
.portrait-frame{margin:0}
.portrait-frame img{display:block;width:256px;height:292px;object-fit:cover;object-position:center 38%;border-radius:5px;background:#e3e6dd}
.portrait-frame figcaption{display:flex;justify-content:space-between;align-items:center;margin-top:11px;color:var(--muted);font-family:var(--serif);font-size:14px;font-style:italic}
.portrait-mark{font-family:var(--sans);font-size:16px;font-style:normal;color:var(--green)}
.research-interests{margin-top:32px;border-top:1px solid var(--line);padding-top:20px}
.research-interests h2{font-size:10px;letter-spacing:1.6px}
.research-interests ul{list-style:none;padding:0;margin:13px 0 0;font-size:13px;line-height:1.7}
.research-interests li{margin-top:8px;padding-left:13px;position:relative}
.research-interests li::before{content:"";position:absolute;left:0;top:9px;width:4px;height:4px;border:1px solid #76917d;transform:rotate(45deg)}
.section{padding:32px 0 37px;border-top:1px solid var(--line)}
.section-heading,.section-title{display:flex;align-items:baseline;gap:19px}
.section-heading{justify-content:space-between;gap:24px;margin-bottom:19px}
.section-index{font-size:11px;color:#8a978d;font-variant-numeric:tabular-nums}
.section-heading h2{font-family:var(--serif);font-size:29px;line-height:1.3;font-weight:400;letter-spacing:-.8px;margin:0}
.section-aside{color:var(--muted);font-size:12px}
.paper-filters{display:flex;align-items:center;gap:3px;padding:3px;background:#e9eee5;border-radius:5px;flex-shrink:0}
.paper-filters button{padding:5px 11px;border:0;background:none;border-radius:3px;font-size:12px;color:var(--muted);line-height:1.6;white-space:nowrap}
.paper-filters button[aria-pressed="true"]{background:#fff;color:var(--green);box-shadow:0 1px 4px #22352a0d}
.paper-filters span{margin-left:4px;color:#7b897f;font-size:10px}
.author-note{margin:0 0 7px 33px;color:var(--muted);font-size:12px}
.author-note strong{font-weight:650;color:var(--ink)}
.author-note>span{margin-left:14px}
.paper{display:grid;grid-template-columns:195px minmax(0,1fr);column-gap:28px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}
[hidden]{display:none!important}
.paper-figure{display:flex;align-items:center;justify-content:center;min-height:131px;padding:10px;background:#fff;border:1px solid #e2e7de;border-radius:5px;transition:border-color .18s}
.paper-figure:hover{border-color:#92ad9b}
.paper-figure img{width:100%;height:111px;display:block;object-fit:contain}
.paper-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;line-height:1.5;margin-bottom:6px;font-size:11px}
.venue{color:var(--green);font-weight:700;letter-spacing:.6px}
.journal-venue{font-size:10px;letter-spacing:.15px}
.paper-year{color:var(--muted)}
.paper-type{border-left:1px solid #bdc8bc;padding-left:10px;color:var(--muted)}
.presentation-badge, .badge-publication {display:inline-block;border:1px solid transparent;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:650;font-style:normal;letter-spacing:.15px;vertical-align:middle;line-height:1.5;white-space:nowrap}
.badge-oral{color:#28574b;background:#e5efe7;border-color:#cbdcce}
.badge-poster{color:#496384;background:#e9eef5;border-color:#cfd9e8}
.paper h3{margin:0 0 8px;font-size:18px;line-height:1.5;font-weight:600;letter-spacing:-.25px}
.paper h3 a:hover{text-decoration:underline;text-decoration-thickness:1px}
.authors{margin:0;color:var(--muted);font-size:13px;line-height:1.8}
.authors strong{color:var(--ink);font-weight:650}
sup{font-size:.75em;line-height:0}
.paper-links{display:flex;gap:20px;margin-top:10px;color:var(--green);font-size:13px;font-weight:600}
.paper-links span{margin-left:3px;color:#718677}
.paper-links a:hover{text-decoration:underline}
.journal{font-size:11px;margin:7px 0 0;color:var(--muted)}
.text-button{background:none;padding:0;border:0;color:var(--green);font-size:13px;font-weight:550}
.text-button:hover{text-decoration:underline;text-underline-offset:4px}
.all-papers-link{display:block;margin:22px 0 0 auto}
.all-papers-link span{margin-left:12px}
.news{padding-top:33px}
.news-list{list-style:none;margin:26px 0 0;padding:0}
.news-list li{display:grid;grid-template-columns:119px minmax(0,1fr);gap:18px;padding:9px 0;align-items:baseline}
.news-list time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.news-list p{margin:0;font-size:14px;line-height:1.75}
.news-list strong{font-weight:600}
.news-list .presentation-badge, .badge-publication {margin-left:5px}
.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:30px}
.experience-label{margin-bottom:22px;font-size:10px;letter-spacing:1.5px}
.timeline-item{position:relative;margin-left:3px;padding:0 0 28px 24px;border-left:1px solid #d1dacd}
.timeline-item:last-child{padding-bottom:0;border-left-color:transparent}
.timeline-dot{position:absolute;left:-4px;top:6px;width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 0 4px var(--paper)}
.timeline-date{margin:0 0 8px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.experience h4{margin:0 0 4px;font-size:16px;font-weight:600;line-height:1.6}
.timeline-role{margin:0;color:var(--green);font-size:13px}
.timeline-detail{margin:3px 0 0;font-size:12px;color:var(--muted)}
.honors{margin-top:27px;padding-top:20px;border-top:1px solid var(--line)}
.honors h3{margin-bottom:12px;font-size:10px;letter-spacing:1.5px}
.honors>div{display:flex;justify-content:space-between;gap:20px;margin-top:9px;font-size:12px}
.honors time{color:var(--muted)}
.contact-heading{margin:12px 0 17px;font-family:var(--serif);font-size:33px;font-weight:400;letter-spacing:-.6px;line-height:1.25}
.site-footer{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:34px 0 82px;font-size:11px;color:var(--muted)}
.site-footer>span:first-child{color:var(--ink);font-size:13px;font-weight:550}
.site-footer [lang]{margin-left:8px;font-size:10px;font-weight:400}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-100px;left:20px;z-index:30;background:#fff;padding:8px 15px}
.skip-link:focus{top:10px}
@media(min-width:1440px){.intro{padding-top:83px;padding-bottom:76px}.nav-shell{min-height:86px}}
@media(max-width:1050px){.page-width{width:calc(100% - 80px)}.intro{grid-template-columns:minmax(0,1fr) 224px;gap:52px}h1{font-size:60px}h1 span{font-size:19px;margin-left:12px;letter-spacing:1px}.portrait-frame img{width:224px;height:267px}.bio p{font-size:15px}.current-position p{font-size:13px}.current-position p>span{font-size:11px}.section-heading h2{font-size:27px}.experience-grid{gap:55px}.contact>a{position:static}.contact-heading{margin-bottom:20px}}
@media(max-width:760px){html{scroll-padding-top:85px}.page-width{width:calc(100% - 48px)}.nav-shell{min-height:68px;gap:15px}.wordmark{font-size:18px}.nav-links{gap:18px;font-size:12px}.nav-links>a{padding-block:21px}.nav-links>a[href="#experience"]{display:none}.nav-contact{margin-left:0}.intro{grid-template-columns:minmax(0,1fr) 174px;column-gap:32px;padding-top:44px;padding-bottom:43px}.eyebrow{font-size:9px;letter-spacing:1.1px}h1{font-size:49px;white-space:normal;line-height:1.05;margin-top:15px}h1 span{display:block;margin:13px 0 0;font-size:17px;letter-spacing:3px}.affiliation{font-size:13px;margin-top:18px}.intro-aside{padding-top:33px}.portrait-frame img{width:174px;height:211px}.portrait-frame figcaption{font-size:12px}.current-position{margin:23px 0;padding-left:10px;gap:8px}.current-position p{font-size:12px}.current-position p>span{font-size:10px}.bio p{font-size:14px}.small-heading{font-size:14px}.profile-links{font-size:12px;gap:19px}.research-interests{padding-top:16px;margin-top:24px}.research-interests ul{font-size:11px}.research-interests h2{font-size:9px;letter-spacing:1px}.research-interests li{padding-left:11px}.research-interests li::before{top:7px}.section-heading h2{font-size:25px}.section-heading,.section-title{gap:11px}.section-index{font-size:10px}.section-aside{font-size:10px}.paper{grid-template-columns:147px minmax(0,1fr);gap:21px;padding:23px 0}.paper h3{font-size:16px}.authors{font-size:11px}.paper-figure{min-height:114px}.paper-figure img{height:94px}.paper-meta{gap:8px}.paper-filters button{font-size:11px;padding:5px 8px}.author-note{font-size:10px;margin-left:23px}.author-note>span{margin-left:9px}.experience-grid{gap:35px}.experience h4{font-size:14px}.timeline-role{font-size:12px}.timeline-detail{font-size:11px}.news-list li{grid-template-columns:80px minmax(0,1fr);gap:15px}.news-list time{font-size:11px}.news-list p{font-size:13px}.contact{padding:28px}.contact-heading{font-size:31px}.contact>a{font-size:13px}.site-footer{gap:14px;font-size:10px}.site-footer>span:first-child{font-size:11px}}
@media(max-width:560px){.page-width{width:calc(100% - 40px)}.nav-shell{min-height:64px;gap:12px}.wordmark{font-size:17px}.nav-links{gap:16px;font-size:11px}.nav-links>a{padding-block:20px}.nav-contact{display:none}.intro{grid-template-columns:minmax(0,1fr) 110px;gap:0 15px;padding-top:34px;padding-bottom:30px}.intro-copy{display:contents}.intro-copy>.eyebrow{grid-column:1/-1;font-size:8px;letter-spacing:1.2px;margin-bottom:15px}h1{grid-column:1;grid-row:2;font-size:47px;margin:0;align-self:start;letter-spacing:-2px}h1 span{font-size:16px;margin-top:12px;letter-spacing:3px}.affiliation{grid-column:1;grid-row:3;font-size:11px;margin-top:14px;line-height:1.7;align-self:start}.intro-aside{display:contents}.portrait-frame{grid-column:2;grid-row:2/4}.portrait-frame img{width:110px;height:136px;border-radius:4px}.portrait-frame figcaption{font-size:9px;margin-top:8px;gap:4px}.portrait-mark{font-size:12px}.current-position{grid-column:1/-1;margin-top:25px;margin-bottom:24px}.current-position p{font-size:12px}.current-position p>span{font-size:10px}.bio{grid-column:1/-1}.bio p{font-size:15px;line-height:1.85;margin-bottom:14px}.small-heading{font-size:15px}.desktop-break{display:none}.profile-links{grid-column:1/-1;margin-top:8px;font-size:13px}.research-interests{grid-column:1/-1;margin-top:25px;padding-top:16px}.research-interests h2{font-size:9px}.research-interests ul{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:10px;font-size:11px}.research-interests li{margin:0}.section{padding:26px 0 29px}.section-heading{align-items:flex-start;flex-wrap:wrap;gap:14px;margin-bottom:15px}.section-heading h2{font-size:26px}.section-title{gap:12px}.section-index{font-size:10px}.paper-filters{margin-left:24px}.paper-filters button{padding:5px 12px}.author-note{margin-left:0;display:flex;flex-wrap:wrap;gap:3px 10px;font-size:10px}.author-note>span{margin-left:0}.paper{grid-template-columns:78px minmax(0,1fr);gap:14px;padding:22px 0;align-items:start}.paper-figure{min-height:72px;padding:5px;margin-top:2px}.paper-figure img{height:60px}.paper h3{font-size:15px;line-height:1.55;letter-spacing:-.15px;margin-bottom:8px}.paper-meta{font-size:10px;gap:7px;margin-bottom:8px}.journal-venue{font-size:9px}.authors{font-size:11px;line-height:1.8}.presentation-badge, .badge-publication {font-size:9px;padding:2px 7px;border-radius:4px}.paper-links{font-size:11px;gap:16px}.paper-type{padding-left:7px}.all-papers-link{font-size:12px;margin-top:20px}.section-aside{margin-left:24px;margin-top:-6px}.news-list{margin-top:20px}.news-list li{grid-template-columns:65px minmax(0,1fr);gap:12px;padding:9px 0}.news-list time{font-size:10px}.news-list p{font-size:13px}.experience-grid{grid-template-columns:1fr;gap:30px;margin-top:23px}.experience-label{font-size:9px;margin-bottom:20px}.experience h4{font-size:15px}.timeline-date{font-size:11px}.timeline-role{font-size:13px}.timeline-detail{font-size:12px}.honors>div{font-size:12px}.contact{margin-top:4px;padding:27px 23px}.contact .eyebrow{font-size:9px}.contact-heading{font-size:31px}.contact>a{font-size:12px}.contact>a span{margin-left:3px}.site-footer{flex-wrap:wrap;gap:9px;padding-top:25px;padding-bottom:86px}.site-footer>span:nth-child(2){order:3;flex:0 0 100%;font-size:10px}.site-footer>a{margin-left:auto}.draft-controls{font-size:10px;gap:10px;padding:8px 9px 8px 12px;bottom:10px}.draft-controls button{font-size:10px;padding:4px 7px}}
@media(max-width:360px){.intro{grid-template-columns:minmax(0,1fr) 96px;column-gap:12px}h1{font-size:38px;letter-spacing:-1.5px}.portrait-frame img{width:96px;height:121px}.portrait-frame figcaption{font-size:8px}.bio p{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.site-header{position:static}.draft-controls,.paper-filters,.all-papers-link,.ambient-background,.reading-progress{display:none}.page-width{width:100%}.site-footer{padding-bottom:0}.intro{padding-top:30px}body{background:#fff}.contact{break-inside:avoid}.paper{break-inside:avoid}}


/* Readability refinements for the reviewed draft. */
body { font-size: 18px; }
.nav-links { font-size: 16px; }
.intro { column-gap: 82px; }
h1 { margin: 0 0 14px; }
.affiliation { font-size: 18px; }
.intro-aside { padding-top: 0; }
.bio { margin-top: 32px; }
.small-heading { font-size: 19px; margin-bottom: 14px; }
.bio p { font-size: 18px; line-height: 1.85; margin-bottom: 17px; }
.research-highlight strong {
  color: #245446;
  font-weight: 700;
  background-image: linear-gradient(transparent 73%, #dce9d5 73%);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.profile-links { font-size: 16px; }
.portrait-frame figcaption { font-size: 16px; }
.eyebrow, .research-interests h2 { font-size: 13px; letter-spacing: 1.2px; }
.research-interests ul { font-size: 16px; line-height: 1.75; }
.research-interests li { margin-top: 10px; }
.research-interests li::before { top: 12px; }
.section-index { font-size: 13px; }
.section-heading h2 { font-size: 32px; }
.paper-filters button { font-size: 14px; padding: 6px 13px; }
.paper-filters span { font-size: 12px; }
.author-note { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: 14px; }
.author-note > span { margin-left: 0; }
.paper { padding-block: 29px; }
.paper-meta { font-size: 14px; gap: 11px; }
.journal-venue { font-size: 13px; letter-spacing: .1px; }
.presentation-badge, .badge-publication { font-size: 12px; padding: 3px 9px; }
.paper h3 { font-size: 20px; line-height: 1.55; }
.authors { font-size: 15px; line-height: 1.8; }
.paper-links { font-size: 15px; }
.all-papers-link { font-size: 15px; }
.news-list { margin-top: 25px; }
.news-list li { grid-template-columns: 122px minmax(0, 1fr); padding-block: 11px; }
.news-list time { font-size: 14px; }
.news-list p { font-size: 17px; }
.experience-label, .honors h3 { font-size: 13px; letter-spacing: 1.2px; }
.timeline-date { font-size: 14px; }
.timeline-dot { top: 9px; }
.experience h4 { font-size: 18px; }
.timeline-role { font-size: 16px; }
.timeline-detail { font-size: 15px; }
.honors > div { font-size: 15px; }
.site-footer { border-top: 1px solid var(--line); font-size: 14px; }
.site-footer > span:first-child { font-size: 15px; }
.site-footer [lang] { font-size: 13px; }
.experience { position: relative; padding-left: 33px; }
.experience-index { position: absolute; top: 44px; left: 0; }
.experience-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 34px 70px;
  margin-top: 0;
  align-items: start;
}
.research-group { grid-row: 1 / 3; }
.experience-group { min-width: 0; }
.experience-group-heading {
  font-family: var(--serif);
  font-size: 32px;
  line-height: 1.3;
  font-weight: 400;
  letter-spacing: -.8px;
  margin: 0 0 26px;
}
.honors-group .honors { margin-top: 0; padding-top: 0; border-top: 0; }
.honors-group .honors > div:first-child { margin-top: 0; }
.experience .institution-heading {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.6;
}
.institution-logo {
  display: block;
  width: 36px;
  height: 40px;
  padding: 2px;
  object-fit: contain;
  background: #fff;
  border-radius: 3px;
}
.timeline-item .timeline-role, .timeline-item .timeline-detail,
.education-item .timeline-role, .education-item .timeline-detail { padding-left: 48px; }
.ambient-wash {
  background: radial-gradient(ellipse 25% 44% at 0% 24%, #99baa442, transparent 80%),
              radial-gradient(ellipse 24% 44% at 99% 70%, #c8bc9a33, transparent 80%);
  animation-duration: 16s;
}
@keyframes paper-drift {
  from { transform: translate3d(-1%, -2%, 0) scale(1); }
  to { transform: translate3d(2.5%, 3%, 0) scale(1.07); }
}
.site-header { overflow: hidden; }
.reading-progress { bottom: 0; }
.site-header::after {
  content: "";
  position: absolute;
  top: 0;
  left: -20%;
  width: 18%;
  height: 2px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, #719b7c, transparent);
  animation: header-sweep 7s ease-in-out infinite;
  animation-play-state: paused;
}
[data-motion="on"] .site-header::after { animation-play-state: running; }
[data-motion="off"] .site-header::after { display: none; animation: none; }
.page-is-hidden .site-header::after { animation-play-state: paused; }
@keyframes header-sweep { from { left: -20%; } to { left: 115%; } }
.site-header::before {
  background: radial-gradient(210px circle at var(--nav-pointer-x, 50%) 50%, #91b19b38, transparent 80%);
}

@media (max-width: 1050px) {
  .intro { column-gap: 48px; }
  .bio p { font-size: 18px; }
  .affiliation { font-size: 16px; }
  .research-interests ul { font-size: 15px; }
  .research-interests h2 { font-size: 12px; }
  .section-heading h2 { font-size: 30px; }
  .experience-group-heading { font-size: 30px; }
  .experience-grid { column-gap: 45px; }
  .paper h3 { font-size: 19px; }
}

@media (max-width: 760px) {
  .intro { column-gap: 30px; }
  .nav-links { font-size: 14px; gap: 20px; }
  h1 { margin-top: 0; }
  .affiliation { font-size: 15px; }
  .bio { margin-top: 27px; }
  .bio p { font-size: 17px; }
  .small-heading { font-size: 18px; }
  .profile-links { font-size: 15px; }
  .portrait-frame figcaption { font-size: 14px; }
  .research-interests h2 { font-size: 12px; }
  .research-interests ul { font-size: 14px; }
  .section-heading h2 { font-size: 28px; }
  .experience-group-heading { font-size: 28px; }
  .experience-grid { grid-template-columns: minmax(0, 1fr); row-gap: 34px; }
  .research-group { grid-row: auto; }
  .experience .institution-heading { font-size: 17px; }
  .paper-filters button { font-size: 13px; padding-inline: 10px; }
  .author-note { font-size: 12px; }
  .paper h3 { font-size: 18px; }
  .paper-meta { font-size: 13px; }
  .journal-venue { font-size: 12px; }
  .authors, .paper-links { font-size: 14px; }
  .presentation-badge, .badge-publication { font-size: 11px; }
  .news-list li { grid-template-columns: 95px minmax(0, 1fr); }
  .news-list p { font-size: 16px; }
  .experience h4 { font-size: 17px; }
  .timeline-detail { font-size: 14px; }
  .site-footer { flex-wrap: wrap; font-size: 13px; }
}

@media (max-width: 560px) {
  .intro { grid-template-columns: minmax(0, 1fr) 110px; gap: 0 15px; }
  .nav-links { font-size: 12px; gap: 12px; }
  .wordmark { font-size: 18px; }
  h1 { grid-row: 1; margin: 0; }
  .affiliation { grid-row: 2; margin-top: 15px; font-size: 14px; }
  .portrait-frame { grid-row: 1 / 3; }
  .portrait-frame figcaption { font-size: 12px; }
  .portrait-mark { display: none; }
  .bio { margin-top: 30px; }
  .bio p { font-size: 17px; line-height: 1.8; }
  .small-heading { font-size: 18px; }
  .research-interests h2 { font-size: 12px; }
  .research-interests ul { display: block; margin-top: 12px; font-size: 15px; }
  .research-interests li { margin-top: 7px; }
  .research-interests li::before { top: 11px; }
  .section-title { gap: 11px; }
  .section-index { font-size: 12px; }
  .section-heading h2 { font-size: 28px; }
  .experience { padding-left: 24px; }
  .experience-index { top: 35px; }
  .experience-group-heading { font-size: 28px; }
  .paper-filters { margin-left: 0; }
  .paper-filters button { font-size: 13px; padding: 6px 12px; }
  .author-note { font-size: 12px; }
  .paper { grid-template-columns: 78px minmax(0, 1fr); padding-block: 25px; }
  .paper h3 { font-size: 17px; line-height: 1.6; }
  .paper-meta { font-size: 12px; gap: 8px; }
  .journal-venue { font-size: 12px; }
  .authors { font-size: 14px; }
  .paper-links { font-size: 14px; gap: 14px; }
  .presentation-badge, .badge-publication { font-size: 11px; }
  .all-papers-link { font-size: 14px; }
  .news-list li { grid-template-columns: 76px minmax(0, 1fr); gap: 12px; }
  .news-list time { font-size: 12px; }
  .news-list p { font-size: 16px; }
  .experience-label, .honors h3 { font-size: 12px; }
  .timeline-date { font-size: 13px; }
  .timeline-role { font-size: 16px; }
  .timeline-detail, .honors > div { font-size: 14px; }
  .site-footer { font-size: 13px; }
  .site-footer > span:nth-child(2) { font-size: 12px; }
}

@media (max-width: 360px) {
  .intro { grid-template-columns: minmax(0, 1fr) 96px; column-gap: 12px; }
  h1 { font-size: 36px; letter-spacing: -1.5px; }
  .affiliation { font-size: 13px; }
  .portrait-frame figcaption { font-size: 11px; }
  .paper h3 { font-size: 17px; }
  .section-heading h2 { font-size: 26px; }
  .experience-group-heading { font-size: 26px; }
  .paper-links { gap: 11px; }
}


/* Live site details. */
.bio strong { color: #245446; font-weight: 700; background-image: linear-gradient(transparent 73%, #dce9d5 73%); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.profile-links, .paper-links { flex-wrap: wrap; }
.footer-actions { display: flex; align-items: center; gap: 22px; margin-left: auto; }
.motion-toggle { padding: 3px 8px; border: 1px solid var(--line); border-radius: 4px; background: transparent; color: var(--muted); font-size: 13px; line-height: 1.6; }
.motion-toggle:hover { color: var(--green); border-color: #9eb6a2; }
.motion-toggle:disabled { opacity: .7; }
.site-footer { padding-bottom: 34px; }
.award-year { color: var(--muted); flex-shrink: 0; }
.news-text p { margin: 0; }
.paper-placeholder { color: var(--green); font-family: var(--serif); text-align: center; }
.paper-links:empty { display: none; }
.experience .institution-heading.without-logo { grid-template-columns: minmax(0, 1fr); }
.education-item + .education-item { margin-top: 24px; }
.publications-page { border-top: 0; padding-top: 65px; }
.lightbox-overlay { position: fixed; inset: 0; z-index: 100; background: rgba(20, 30, 24, .92); display: flex; align-items: center; justify-content: center; cursor: zoom-out; }
.lightbox-overlay img { max-width: 92vw; max-height: 92vh; object-fit: contain; border-radius: 4px; }
.lightbox-close { position: absolute; top: 14px; right: 24px; border: 0; padding: 0 6px; color: #fff; background: transparent; font-size: 40px; line-height: 1; }
@media (max-width: 560px) { .site-footer { padding-bottom: 30px; } .footer-actions { gap: 13px; } .publications-page { padding-top: 35px; } }
@media print { .motion-toggle, .lightbox-overlay { display: none; } }
@media (max-width: 760px) { .nav-links > a[href$="#experience"] { display: none; } }
