:root{--paper:#faf9f6;--white:#fff;--ink:#222c36;--muted:#667079;--blue:#234b74;--line:#dfe2e1;--soft:#edf1f3;--serif:Georgia,'Times New Roman','Songti SC','STSong',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans SC','Microsoft YaHei',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--blue);text-decoration:none;text-underline-offset:4px}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #7c9eb8;outline-offset:4px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.22;font-weight:600;letter-spacing:-.025em}p{margin-bottom:1.1em}h1{font-size:clamp(2.1rem,4vw,3.5rem)}h2{font-size:clamp(1.55rem,2.5vw,2.1rem)}h3{font-size:1.15rem}ul{padding-left:1.3em}li{margin:.45em 0}strong{font-weight:650}[hidden]{display:none!important}.js-only{display:none}.js .js-only{display:initial}.shell{width:min(1160px,calc(100% - 80px));margin:auto}.skip-link{position:fixed;top:-100px;background:var(--ink);color:white;padding:10px 20px;z-index:100}.skip-link:focus{top:0}.site-header{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}.header-inner{display:flex;justify-content:space-between;align-items:center;min-height:94px;gap:32px}.brand{display:flex;gap:14px;align-items:center;color:var(--ink);font-weight:650;line-height:1.15}.brand:hover{text-decoration:none}.brand-mark{font:30px var(--serif);letter-spacing:-3px}.brand-mark span{color:#8c9ead;margin-left:3px}.brand small{display:block;font-weight:400;font-size:10px;letter-spacing:.12em;color:var(--muted);margin-top:7px}.header-inner nav{display:flex;align-items:center;gap:30px;font-size:14px}.header-inner nav a{color:var(--muted)}.header-inner nav a:hover,.header-inner nav [aria-current]{color:var(--ink)}.language-link{border-left:1px solid var(--line);padding-left:24px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:650;color:var(--muted);margin-bottom:20px}.hero{display:grid;grid-template-columns:1fr 230px;gap:92px;align-items:center;padding:80px 0 64px}.hero h1{font:clamp(3.4rem,6.5vw,5.1rem)/1.1 var(--serif);letter-spacing:-.045em;margin-bottom:20px}.hero h1 span{font:400 21px var(--sans);color:var(--muted);display:inline-block;margin-left:24px;letter-spacing:.05em}.hero-statement{font-size:24px;line-height:1.4;font-weight:500;letter-spacing:-.025em;margin-bottom:20px}.hero-intro{max-width:650px;font-size:16px;color:#56616b;line-height:1.8}.hero-links{display:flex;align-items:center;gap:28px;font-size:14px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--blue);color:white;padding:11px 19px;border:1px solid var(--blue);border-radius:3px;font-weight:500;font-size:13px}.button:hover{background:#163c61;text-decoration:none}.button.secondary{background:transparent;color:var(--blue)}.portrait-block img{width:216px;height:250px;object-fit:cover;object-position:center 22%;border-radius:3px;filter:saturate(.7);background:#edf0f1}.portrait-block p{font-size:10px;letter-spacing:.12em;color:var(--muted);margin:18px 0 0}.portrait-block p span{display:block;margin-top:4px;font-size:9px;letter-spacing:.09em}.research-strip{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;align-items:center}.research-strip>span{font-size:10px;letter-spacing:.1em;color:var(--muted)}.research-strip p{margin:0;font-size:13px;color:var(--muted)}.research-strip i{padding:0 15px;color:#aab2b8;font-style:normal}.section-block{padding:62px 0;border-bottom:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:30px}.section-title .eyebrow{margin-bottom:14px}.section-title h2{max-width:700px;margin:0}.all-link{font-size:13px;white-space:nowrap}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-card{background:var(--white);border:1px solid var(--line);border-radius:4px;overflow:hidden;display:flex;flex-direction:column}.project-image{display:flex;height:200px;padding:20px;align-items:center;background:#fff;border-bottom:1px solid var(--line)}.project-image img{width:100%;height:100%;object-fit:contain}.project-text{padding:25px;display:flex;flex-direction:column;flex:1}.project-text .eyebrow{font-size:9px;letter-spacing:.08em;margin-bottom:10px}.project-text h3{font-size:22px;margin-bottom:13px}.project-text h3 a{color:var(--ink)}.project-text>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.7}.capabilities{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:5px;margin:0 0 24px}.capabilities li{background:#f3f5f5;font-size:10px;color:#65737d;border-radius:2px;padding:3px 6px;margin:0}.project-links{display:flex;justify-content:space-between;gap:12px;margin-top:auto;font-size:12px;font-weight:600}.stats{display:flex;align-items:center;gap:45px;padding:23px 0 30px;border-bottom:1px solid var(--line)}.stats>div{display:flex;align-items:center;gap:12px;white-space:nowrap}.stats strong{font:38px/1 var(--serif)}.stats span{font-size:11px;color:var(--muted);line-height:1.5;max-width:115px;white-space:normal}.stats>p{margin:0 0 0 auto;font-size:10px;color:var(--muted);max-width:225px;line-height:1.6}.research-card{display:flex;gap:26px;padding:28px 0;border-bottom:1px solid var(--line)}.research-card:last-child{border-bottom:0}.paper-thumb{width:144px;flex-shrink:0;align-self:flex-start;padding:9px;background:white;border:1px solid #e4e7e7;border-radius:3px;margin-top:4px}.paper-thumb img{width:100%;height:85px;object-fit:contain}.paper-body{min-width:0;flex:1}.paper-meta{font-size:10px;letter-spacing:.02em;display:flex;align-items:center;gap:12px;color:var(--muted);margin-bottom:9px}.paper-body h3{font:500 19px/1.4 var(--sans);letter-spacing:-.015em;margin-bottom:9px}.paper-body h3 a{color:var(--ink)}.authors{font-size:12px;color:var(--muted);line-height:1.8;overflow-wrap:anywhere;margin-bottom:9px}.authors strong{color:var(--ink)}.badges{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.badges span,.preprint{font-size:9px;font-weight:500;padding:1px 6px;background:#e9eff3;color:var(--blue);border-radius:2px}.preprint{background:#f1eddf;color:#796844}.paper-actions{display:flex;gap:20px;font-size:11px}.paper-summary{font-size:12px;margin-top:14px}.paper-summary summary{cursor:pointer;color:var(--muted);font-size:11px}.paper-summary[open]{padding:16px;background:#f0f2f1;border-radius:3px}.paper-summary p{line-height:1.8;margin:15px 0}.citation{color:var(--muted);font-size:11px}.text-button{border:0;padding:0;background:transparent;color:var(--blue);font-size:12px;margin-right:22px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.bibtex{margin-top:16px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.7 ui-monospace,monospace;background:#edf0f1;padding:20px;border-radius:3px}.lower-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:95px}.lower-grid h2{font-size:26px}.updates article{display:grid;grid-template-columns:78px 1fr;gap:20px;margin-bottom:22px}.updates time{font-size:10px;color:var(--muted);padding-top:3px}.updates span{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.updates a{font-size:13px;line-height:1.7;display:block;color:var(--ink)}.about-note p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted)}.about-note>a{font-size:13px}.contact-band{padding:62px 0 70px}.contact-band h2{font-size:26px}.contact-band>a{font-size:21px}.contact-band>div{display:flex;gap:25px;margin-top:24px;font-size:12px}.site-footer{border-top:1px solid var(--line)}.footer-inner{display:grid;grid-template-columns:1fr auto;padding-top:32px;padding-bottom:28px;gap:15px}.footer-name{color:var(--ink);font-size:13px}.footer-name span{color:var(--muted);font-size:11px}.footer-inner>div{display:flex;gap:22px;font-size:11px}.footer-inner p{grid-column:1/-1;font-size:10px;color:var(--muted);margin:0}.page-shell{padding-top:58px;padding-bottom:70px}.page-heading{margin-bottom:36px;position:relative}.page-heading h1{font-family:var(--serif);font-weight:400;margin-bottom:18px}.page-heading>p:not(.eyebrow){color:var(--muted)}.page-deck{font-size:15px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.page-deck a{font-size:12px;white-space:nowrap}.research-stats{padding:26px 0 35px}.year-chart{display:flex;align-items:center;gap:22px;padding:28px 0;border-bottom:1px solid var(--line)}.chart-label{font-size:10px;color:var(--muted);margin-right:auto}.year-chart>a{display:flex;align-items:center;gap:8px;font-size:11px;padding:5px;color:var(--muted);border-radius:2px}.year-chart>a.active{background:#e1eaf0;color:var(--blue)}.year-chart strong{font-size:10px}.year-bar{display:inline-block;height:7px;width:calc(var(--count)*8px);background:#94a9b9;border-radius:1px}.js .filter-bar{display:grid;grid-template-columns:minmax(180px,1fr) 205px 140px auto;gap:18px;align-items:end;padding:24px 0 8px}.filter-bar label>span{display:block;font-size:10px;color:var(--muted);margin-bottom:6px}.filter-bar input,.filter-bar select{width:100%;border:1px solid #d6dcdf;background:white;min-height:41px;padding:8px 12px;font-size:12px;border-radius:3px;color:var(--ink)}.filter-bar button{margin:0;height:41px;white-space:nowrap}.filter-count{grid-column:1/-1;font-size:10px;color:var(--muted);margin:4px 0}.year-group{display:grid;grid-template-columns:110px minmax(0,1fr);gap:36px;margin-top:24px;border-top:1px solid var(--line);padding-top:8px;scroll-margin-top:105px}.year-group>h2{font:32px var(--serif);padding-top:22px;color:#8395a3}.year-group .research-card{gap:22px}.year-group .paper-thumb{width:126px}.detail-shell{max-width:940px}.back-link{font-size:12px;display:inline-block;margin-bottom:34px}.paper-heading h1{font-size:clamp(1.8rem,3.7vw,2.7rem);line-height:1.27;font-weight:500;letter-spacing:-.025em}.paper-heading .authors{font-size:14px}.paper-links{display:flex;gap:12px;margin-top:25px}.detail-figure{margin:42px 0;background:#fff;border:1px solid var(--line);padding:24px;border-radius:3px}.detail-figure img{width:100%;max-height:600px;object-fit:contain}.detail-figure figcaption{font-size:10px;color:var(--muted);text-align:right;margin-top:14px}.prose{max-width:850px;font-size:16px;line-height:1.95;overflow-wrap:anywhere}.prose h2{font-size:23px;margin-top:32px}.prose>p a{text-decoration:underline}.citation-block{border-top:1px solid var(--line);margin-top:40px;padding-top:30px}.citation-block h2{font-size:22px}.citation-block p{font-size:13px;color:var(--muted);line-height:1.9;overflow-wrap:anywhere}.citation-block details{margin-top:20px;font-size:12px}.page-content>h2,.page-content>h1{font-size:25px;margin-top:35px}.note-row{padding:25px 0;border-bottom:1px solid var(--line)}.note-row time{font-size:11px;color:var(--muted)}.note-row h3{font-size:20px;font-weight:500;margin:10px 0}.note-excerpt{font-size:13px;overflow-wrap:anywhere}.note-excerpt p{margin-bottom:8px}.cv-page{max-width:940px}.cv-page .page-content>h2{margin:45px 0 22px;border-top:1px solid var(--line);padding-top:27px;font-size:25px}.cv-page .page-content>h3{margin:28px 0 15px;font-size:16px;color:var(--blue)}.cv-page .page-content>ul{list-style:none;padding:0}.cv-page .page-content>ul>li{font-size:14px;padding:10px 0;border-bottom:1px solid #e8eae8;line-height:1.85;margin:0}.cv-page .page-content li ul{padding-left:20px}.cv-publication>a{font-size:15px;color:var(--ink);font-weight:500}.cv-publication p{font-size:11px;color:var(--muted);margin-top:7px}.copy-status{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;background:var(--ink);color:white;padding:10px 18px;border-radius:4px;font-size:12px;transition:.15s;z-index:50}.copy-status.visible{opacity:1;transform:translateX(-50%)}
@media(min-width:1400px){.hero{padding-top:90px;padding-bottom:80px}}@media(max-width:1000px){.shell{width:calc(100% - 48px)}.hero{gap:45px;grid-template-columns:1fr 185px}.portrait-block img{width:185px;height:226px}.hero h1{font-size:58px}.hero h1 span{font-size:17px;margin-left:14px}.project-grid{gap:15px}.project-text{padding:20px}.project-text h3{font-size:19px}.project-image{height:175px;padding:14px}.stats{gap:24px}.stats>p{max-width:170px}.lower-grid{gap:45px}.year-chart{gap:12px}.year-chart .chart-label{display:none}.year-group{grid-template-columns:70px minmax(0,1fr);gap:16px}}
@media(max-width:700px){html{scroll-padding-top:130px}.shell{width:calc(100% - 36px)}.header-inner{gap:12px;min-height:88px;flex-wrap:wrap;padding:16px 0 12px}.brand-mark{font-size:25px}.brand{font-size:14px;gap:10px}.brand small{font-size:8px;margin-top:4px}.header-inner nav{gap:19px;font-size:12px;width:100%;justify-content:space-between;padding-top:6px}.language-link{padding-left:17px}.hero{grid-template-columns:1fr 92px;gap:22px;padding:43px 0 32px;align-items:start}.hero .eyebrow{font-size:9px;margin-bottom:18px}.hero h1{font-size:43px;margin-bottom:15px}.hero h1 span{font-size:15px;margin:10px 0 0;display:block}.hero-statement{font-size:19px;line-height:1.5;margin-bottom:16px}.hero-intro{font-size:13px;line-height:1.9}.portrait-block{padding-top:35px}.portrait-block img{width:92px;height:117px}.portrait-block p{font-size:7px;letter-spacing:.02em;line-height:1.7;margin-top:10px}.portrait-block p span{font-size:7px;letter-spacing:0}.hero-links{gap:19px;flex-wrap:wrap;margin-top:22px;font-size:12px}.hero-links .button{padding:9px 12px;font-size:11px;gap:15px}.research-strip{display:block;padding:15px 0}.research-strip>span{font-size:8px}.research-strip p{font-size:10px;margin-top:7px}.research-strip i{padding:0 5px}.section-block{padding:37px 0}.section-title{gap:16px;align-items:flex-start;margin-bottom:24px}.section-title .eyebrow{font-size:9px;margin-bottom:10px}.section-title h2{font-size:24px;line-height:1.35}.section-title .all-link{font-size:11px;padding-top:4px}.project-grid{grid-template-columns:1fr;gap:18px}.project-card{display:grid;grid-template-columns:1fr}.project-image{height:185px;padding:20px}.project-text{padding:22px}.project-text h3{font-size:22px}.project-text>p:not(.eyebrow){font-size:13px;margin-bottom:14px}.capabilities{margin-bottom:20px}.stats{gap:18px;flex-wrap:wrap;padding:13px 0 20px;justify-content:space-between}.stats>div{gap:8px}.stats strong{font-size:31px}.stats span{font-size:9px;max-width:75px}.stats>p{margin:0;max-width:none;flex-basis:100%;font-size:9px}.research-card{gap:13px;padding:23px 0}.paper-thumb{width:78px;padding:5px}.paper-thumb img{height:55px}.paper-body h3{font-size:15px;line-height:1.5}.paper-meta{font-size:9px;gap:7px;flex-wrap:wrap}.authors{font-size:10px;line-height:1.8}.paper-actions{font-size:10px;gap:16px}.badges span,.preprint{font-size:8px}.lower-grid{grid-template-columns:1fr;gap:38px}.lower-grid h2{font-size:23px}.updates article{gap:15px;grid-template-columns:70px 1fr}.updates a{font-size:12px}.updates time{font-size:9px}.about-note{padding-top:30px;border-top:1px solid var(--line)}.contact-band{padding:38px 0}.contact-band h2{font-size:23px;line-height:1.5}.contact-band>a{font-size:16px;overflow-wrap:anywhere}.contact-band>div{font-size:11px;gap:20px}.footer-inner{display:block;padding:25px 0}.footer-inner>div{margin:15px 0;font-size:10px;gap:21px}.footer-name span{font-size:10px}.footer-inner p{font-size:9px}.page-shell{padding-top:35px;padding-bottom:45px}.page-heading{margin-bottom:24px}.page-heading .eyebrow{font-size:9px}.page-heading h1{font-size:36px}.page-deck{font-size:13px;display:block}.page-deck a{display:block;margin-top:8px}.year-chart{gap:7px;flex-wrap:wrap;padding:18px 0}.year-chart>a{font-size:10px;gap:4px;padding:3px}.year-bar{width:calc(var(--count)*3px);height:5px}.js .filter-bar{grid-template-columns:1fr 1fr;gap:12px;padding-top:20px}.filter-bar label:first-child{grid-column:1/-1}.filter-bar button{height:auto;text-align:left;font-size:10px}.filter-count{grid-column:auto;text-align:right;font-size:9px}.year-group{display:block;margin-top:20px}.year-group>h2{font-size:26px;padding:18px 0 0;margin-bottom:0}.year-group .paper-thumb{width:72px}.year-group .research-card{gap:12px}.paper-summary[open]{padding:12px}.paper-summary p{font-size:11px}.paper-summary .citation{font-size:10px}.text-button{font-size:11px;margin-right:13px}.paper-heading h1{font-size:25px;line-height:1.4}.paper-heading .authors{font-size:11px}.back-link{font-size:11px;margin-bottom:24px}.detail-figure{padding:10px;margin:30px 0}.detail-figure figcaption{font-size:9px}.prose{font-size:14px;line-height:1.9}.prose h2{font-size:21px}.citation-block p{font-size:11px}.cv-page .page-content>ul>li{font-size:13px}.cv-page .page-content>h2{font-size:22px}.note-row h3{font-size:17px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body{background:#fff;font:11pt/1.5 Georgia,serif;color:#000}.site-header,.site-footer,.skip-link,.print-button,.copy-status,.js-only{display:none!important}.shell{width:100%;max-width:none}.page-shell{padding:0}.page-heading{margin-bottom:20pt}.cv-page .page-content>h2{break-after:avoid;margin:18pt 0 10pt;padding-top:10pt}.cv-page li{break-inside:avoid}.cv-page .page-content>ul>li{font-size:10pt;padding:5pt 0}a{color:#000;text-decoration:none}.cv-publication p{font-size:8pt}.page-heading h1{font-size:28pt}}
/* Reading sizes and controls remain comfortable on narrow screens. */
.authors{font-size:13px}.paper-meta,.paper-actions{font-size:12px}.paper-summary{font-size:14px}.paper-summary summary{font-size:12px}.citation{font-size:13px}.paper-actions a,.project-links a{min-height:30px;display:inline-flex;align-items:center}.stats>div>a{color:var(--ink)}.stats>div>a:hover{color:var(--blue)}.js .filter-bar{grid-template-columns:minmax(190px,1fr) 175px 105px 190px auto;gap:14px}.project-image{position:relative}.project-image:after{content:'↗';position:absolute;right:10px;top:6px;font-size:13px;color:#526b80}.hero-intro a,.about-note p a{color:inherit;text-decoration:underline;text-decoration-color:#b8c5ce}.paper-summary[open] p{line-height:1.85}.text-button{min-height:32px}.paper-summary>summary{min-height:28px}.stats a:focus-visible{outline-offset:5px}
@media(max-width:1000px){.js .filter-bar{grid-template-columns:1fr 1fr 1fr}.filter-bar label:first-child{grid-column:span 2}.filter-count{grid-column:1/-1}}
@media(max-width:700px){.authors{font-size:12px;line-height:1.75}.paper-meta{font-size:10px}.paper-actions{font-size:12px;gap:15px;flex-wrap:wrap}.project-links{font-size:12px}.paper-summary summary{font-size:12px;min-height:36px;display:list-item;align-content:center}.paper-summary p,.paper-summary[open] p,.paper-summary .citation{font-size:13px}.text-button{font-size:12px;min-height:40px}.paper-heading .authors{font-size:13px}.citation-block p{font-size:13px}.badges span,.preprint{font-size:10px}.js .filter-bar{grid-template-columns:1fr 1fr;gap:12px}.filter-bar label:first-child{grid-column:1/-1}.filter-bar label>span{font-size:11px}.filter-bar input,.filter-bar select{font-size:13px;min-height:44px}.filter-bar button{min-height:44px}.filter-count{grid-column:auto;font-size:11px}.year-chart>a{min-height:35px}.year-group .paper-thumb{width:65px}.paper-actions a{min-height:34px}.paper-body h3{font-size:16px}.updates a{font-size:13px}.updates time{font-size:11px}.project-text .eyebrow{font-size:10px}.capabilities li{font-size:11px}}

.hero-statement,.section-title h2,.contact-band h2{text-wrap:balance}

.hero-statement .phrase{display:inline-block;white-space:nowrap}

.contact-band>div,.footer-inner>div{flex-wrap:wrap}
