:root{color-scheme:light;--bg:#fafaf7;--surface:#fff;--ink:#202b29;--muted:#606f69;--line:#dce2dc;--accent:#1a6553;--soft:#edf2ed;--serif:Georgia,'Times New Roman',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
:root[data-theme=dark]{color-scheme:dark;--bg:#141c1a;--surface:#1b2522;--ink:#e8eeea;--muted:#a0b0a6;--line:#34433c;--accent:#9acbb3;--soft:#22352b}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#141c1a;--surface:#1b2522;--ink:#e8eeea;--muted:#a0b0a6;--line:#34433c;--accent:#9acbb3;--soft:#22352b}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:4px}a:hover{text-decoration:underline}button,input,select{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{line-height:1.22}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(44px,6vw,68px);margin-bottom:22px}h2{font-size:32px;margin-bottom:12px}h3{font-size:18px;font-weight:600;letter-spacing:-.015em}p{margin-bottom:18px}.container,.header-inner,.site-footer{max-width:1060px;margin:auto;padding-left:40px;padding-right:40px}.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.header-inner{min-height:92px;display:flex;align-items:center;gap:28px}.wordmark{font-size:21px;font-weight:650;letter-spacing:-.04em;text-decoration:none;color:var(--ink);white-space:nowrap}.wordmark span{color:var(--accent)}nav{margin-left:auto;display:flex;gap:27px}nav a{font-size:14px;color:var(--muted);text-decoration:none;padding:10px 0}nav a[aria-current]{color:var(--ink);box-shadow:0 2px var(--accent)}.theme-toggle{border:1px solid var(--line);border-radius:50%;width:35px;height:35px;padding:0;background:transparent;color:var(--ink);font-size:22px;line-height:1}.theme-toggle:hover{background:var(--soft)}.container{padding-top:65px;padding-bottom:60px}.intro{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:65px;padding-bottom:65px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);font-weight:650;margin-bottom:20px}.intro h1{font-size:76px;margin-bottom:12px}.intro h1 span{font-weight:400}.position-title{font-size:15px;line-height:1.6;color:var(--ink);margin-bottom:12px}.intro-line{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:28px}.bio p{font-size:15px;line-height:1.85}.portrait{margin:10px 0 0}.portrait img{display:block;width:250px;aspect-ratio:1/1;object-fit:cover;border-radius:3px}.contact-links{display:flex;gap:23px;font-size:13px;font-weight:550;margin-top:26px}.contact-links a{text-decoration:none}.container>section:not(.intro){border-top:1px solid var(--line);padding-top:38px;margin-bottom:54px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:9px}.section-heading h2{margin:0}.text-link{font-size:13px;font-weight:550;white-space:nowrap;text-decoration:none}.news-list{padding:0;margin:0;list-style:none}.news-list li{display:grid;grid-template-columns:95px minmax(0,1fr);gap:24px;padding:13px 0}.news-list time{font-size:12px;color:var(--muted);padding-top:3px;font-variant-numeric:tabular-nums}.news-list p{font-size:14px;margin-bottom:0}.news-list img{vertical-align:middle;max-height:20px}.project-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:0 30px}.project-summary a{position:relative;padding:19px 28px 19px 0;border-bottom:1px solid var(--line);text-decoration:none}.project-summary a>span:first-child{display:block;color:var(--ink);font-size:18px;font-weight:550}.project-summary small{font-size:12px;color:var(--muted)}.project-summary a>span:last-child{position:absolute;right:5px;top:25px}.paper{display:grid;grid-template-columns:148px minmax(0,1fr);gap:26px;padding:27px 0;border-bottom:1px solid var(--line);scroll-margin-top:30px}.paper:first-child{padding-top:0}.paper:last-child{border-bottom:0}.paper-preview{margin-top:3px}.paper-preview img{display:block;width:148px;height:98px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:3px}.paper h3{margin-bottom:8px}.authors{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:6px}.authors strong{font-weight:600;color:var(--ink)}.venue{font-size:12px;color:var(--muted);margin-bottom:11px;font-style:italic}.annotation{font-size:12px;color:var(--accent);margin-bottom:8px}.paper-links{display:flex;flex-wrap:wrap;gap:7px}.paper-link{font-size:10px;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;border:1px solid var(--line);padding:3px 9px;border-radius:3px;color:var(--ink)}.paper-link:hover{background:var(--soft);border-color:var(--accent);text-decoration:none}.paper-details{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px}.paper-details details{font-size:11px;max-width:100%}.paper-details details[open]{width:100%}summary{cursor:pointer;color:var(--muted)}.author-details{font-size:12px;margin:4px 0}.author-details p{margin:8px 0}details p{font-size:13px;line-height:1.8;margin-top:10px}pre{max-width:100%;overflow:auto;padding:15px;background:var(--soft);font-size:11px;border-radius:4px;line-height:1.7}code{font-family:ui-monospace,SFMono-Regular,monospace}.paper.no-preview{grid-template-columns:1fr}.page-heading{max-width:750px;margin-bottom:48px}.page-heading h1{margin-bottom:20px}.page-heading p:not(.eyebrow){color:var(--muted);font-size:15px}.heading-links{display:flex;gap:26px}.publication-controls{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:16px;border-block:1px solid var(--line);padding:22px 0;margin-bottom:40px}.publication-controls label{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.publication-controls input,.publication-controls select{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:10px 13px;border-radius:4px;font-size:14px;height:45px}.publication-controls p{grid-column:1/-1;font-size:12px;margin:0;color:var(--muted)}.year-group{display:grid;grid-template-columns:75px minmax(0,1fr);gap:32px;border-top:1px solid var(--line);padding-top:30px;margin-bottom:40px}.year-heading{font-family:var(--sans);font-size:20px;color:var(--muted);font-weight:450;letter-spacing:-.02em}.project{display:grid;grid-template-columns:46px minmax(0,1fr) 30px;gap:25px;padding:34px 0;border-top:1px solid var(--line)}.project-number{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:6px}.project .eyebrow{margin-bottom:9px}.project h2{font-size:30px;margin-bottom:12px}.project h2 a{color:var(--ink);text-decoration:none}.project p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:600px;margin-bottom:10px}.project-arrow{color:var(--accent);font-size:25px}.site-footer{border-top:1px solid var(--line);padding-top:30px;padding-bottom:35px;display:flex;justify-content:space-between;gap:25px}.site-footer p{font-size:11px;color:var(--muted);margin:5px 0 0}.footer-links{display:flex;flex-wrap:wrap;gap:24px;align-items:center;font-size:12px}.footer-links a{color:var(--muted);text-decoration:none}.skip-link{position:absolute;left:20px;top:-100px;padding:10px 20px;background:var(--surface);z-index:5}.skip-link:focus{top:10px}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}#no-results{padding:25px;background:var(--soft);font-size:14px}.prose a{overflow-wrap:anywhere}
/* Keep the publications introduction compact so the research list starts sooner. */
.container.publications-page{padding-top:32px}
.publications-page .page-heading{margin-bottom:22px}
.publications-page .page-heading .eyebrow{margin-bottom:10px}
.publications-page .page-heading h1{font-size:clamp(40px,4vw,48px);margin-bottom:12px}
.publications-page .page-heading p:not(.eyebrow){margin-bottom:12px}
.publications-page .publication-controls{padding:16px 0;margin-bottom:24px;gap:12px}
.publications-page .year-group{padding-top:20px}
.publications-page .year-group:first-child{border-top:0;padding-top:0}
@media(max-width:760px){.container,.header-inner,.site-footer{padding-left:24px;padding-right:24px}.header-inner{min-height:80px;gap:18px;flex-wrap:wrap;padding-top:16px;padding-bottom:15px}.wordmark{font-size:20px}nav{order:3;width:100%;justify-content:space-between;gap:14px}nav a{font-size:13px;padding:5px 0}.theme-toggle{margin-left:auto}.container{padding-top:42px}.intro{grid-template-columns:minmax(0,1fr) 135px;gap:25px;padding-bottom:35px}.intro h1{font-size:54px}.portrait img{width:135px}.intro-line{font-size:12px}.bio{grid-column:1/-1}.bio p{font-size:14px}.section-heading h2{font-size:27px}.section-heading .text-link{font-size:11px}.paper{grid-template-columns:110px minmax(0,1fr);gap:17px}.paper-preview img{width:110px;height:80px}.paper h3{font-size:16px}.year-group{grid-template-columns:1fr;gap:16px}.year-heading{margin:0}.site-footer{display:block}.footer-links{margin-top:22px}.project{gap:14px;grid-template-columns:25px minmax(0,1fr) 20px}}
@media(max-width:520px){.intro{position:relative;display:block}.intro h1{font-size:53px;padding-right:90px}.intro>.portrait{position:absolute;top:0;right:0}.portrait img{width:80px;height:80px}.intro>.portrait{margin-top:5px}.intro>.portrait+*{margin-top:20px}.intro .eyebrow{max-width:calc(100% - 90px);font-size:9px;margin-bottom:22px}.position-title{max-width:calc(100% - 90px);font-size:13px}.intro-line{max-width:calc(100% - 90px);line-height:1.8}.bio{margin-top:24px}.contact-links{gap:18px;font-size:12px}.project-summary{grid-template-columns:1fr}.news-list li{grid-template-columns:76px minmax(0,1fr);gap:14px}.paper{grid-template-columns:1fr}.paper-preview{display:none}.publication-controls{grid-template-columns:minmax(0,1fr) 110px}.heading-links{gap:18px;flex-wrap:wrap}.project h2{font-size:25px}.section-heading{align-items:center}.section-heading h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.author-marker{font-size:.75em;line-height:0;vertical-align:super}

.wordmark .chinese-name{font-size:.85em;font-weight:500;letter-spacing:0;color:var(--ink);margin-left:4px}
