:root{
  --navy:#132f43;--deep:#0d2536;--teal:#08767c;--mint:#a4e0da;
  --ink:#1d303c;--muted:#586b75;--line:#dce3e4;--surface:#f1f5f4;
  --paper:#faf9f5;--wine:#885365;--gold:#8b713e;
  --sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --serif:"Noto Serif CJK SC","Songti SC","STSong","SimSun",Georgia,serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:102px}
body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.8 var(--sans);-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}
button{cursor:pointer;color:inherit;background:none;border:0;padding:0}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,p,figure{margin:0}
h1,h2,h3,h4{line-height:1.4}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #3c9da3;outline-offset:5px}
[hidden]{display:none!important}
.wrap{width:min(1200px,calc(100% - 88px));margin-inline:auto}
.section{padding-block:76px}
.eyebrow{font-size:.7rem;line-height:1.7;letter-spacing:.13em;font-weight:650;color:var(--teal)}
.subtle{font-size:.75rem;font-weight:400;color:var(--muted)}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;min-height:46px;padding:10px 21px;border:1px solid var(--line);border-radius:5px;font-size:.875rem;font-weight:550;transition:background .18s,transform .18s}
.button:hover{background:var(--surface);transform:translateY(-2px)}
.button.primary{color:white;background:var(--navy);border-color:var(--navy)}
.button.primary:hover{background:var(--teal);border-color:var(--teal)}
.button.quiet{background:white}
.icon-button{display:inline-grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid var(--line);border-radius:50%;font-size:1.1rem;line-height:1;background:white;transition:background .18s}
.icon-button:hover{background:var(--surface)}
.icon-button:disabled{opacity:.35;cursor:default}
.text-button{color:var(--teal);font-size:.75rem;text-decoration:underline;text-underline-offset:4px;min-height:32px}
.skip{position:fixed;left:16px;top:-100px;z-index:100;padding:10px 18px;background:white;box-shadow:0 3px 12px #132f4320}
.skip:focus{top:12px}
/* Persistent navigation */
.header{position:sticky;top:0;z-index:30;background:#faf9f5f5;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.nav-wrap{width:min(1320px,calc(100% - 64px));min-height:76px;margin:auto;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:11px;font-size:.95rem;line-height:1.4;font-weight:650;white-space:nowrap}
.brand-mark{width:35px;height:39px;display:grid;place-items:center;background:var(--navy);color:white;font:23px var(--serif);border-radius:3px}
.brand small{display:block;font-size:.58rem;font-weight:450;letter-spacing:.065em;color:var(--muted);margin-top:3px}
.header nav{display:flex;align-items:center;gap:23px;margin-left:auto}
.header nav a{position:relative;padding:24px 0;font-size:.84rem;color:var(--muted);white-space:nowrap}
.header nav a:hover,.header nav a.current{color:var(--teal)}
.header nav a.current:after{content:"";position:absolute;height:3px;left:0;right:0;bottom:15px;border-radius:2px;background:var(--teal)}
.nav-tools{display:flex;align-items:center;gap:13px}
.language-switch{display:flex;flex:none;gap:2px;padding:3px;border:1px solid var(--line);background:white;border-radius:5px}
.language-switch button{min-width:34px;min-height:32px;padding:3px 7px;border-radius:3px;font-size:.72rem;line-height:1.6}
.language-switch button[aria-pressed=true]{background:var(--navy);color:white}
.menu-toggle{display:none;min-width:44px;min-height:44px;font-size:.8rem}
.scroll-progress{position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--teal)}
/* Identity and portrait */
.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);column-gap:70px;row-gap:20px;padding-top:54px;padding-bottom:54px}
.hero-affiliation{grid-column:1;grid-row:1;font-size:.74rem;letter-spacing:.025em;align-self:end}
.hero-nameplate{grid-column:1;grid-row:2;min-width:0}
.hero h1{font:650 clamp(3.8rem,5.6vw,5rem)/1.1 var(--serif);letter-spacing:.025em}
.hero h1 span{display:block;font:500 .72rem/1.7 var(--sans);letter-spacing:.25em;color:var(--teal);margin-top:12px}
.identity{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:19px;font-size:.92rem;color:var(--muted)}
.identity i{width:1px;height:13px;background:#bdcbce}
.hero-honor{display:inline-block;font-size:.75rem;line-height:1.65;color:var(--wine);padding:3px 0;margin-top:9px;font-weight:550}
.hero-content{grid-column:1;grid-row:3;align-self:start;min-width:0;padding-top:4px}
.hero-focus{font-size:1.68rem;font-weight:600;line-height:1.6;letter-spacing:.01em;margin-bottom:16px}
.hero-intro{font-size:.9rem;color:var(--muted);line-height:1.95;max-width:650px}
.bio-toggle{display:none;color:var(--teal);font-size:.75rem;min-height:36px;text-decoration:underline;text-underline-offset:4px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.profile{grid-column:2;grid-row:1/4;align-self:center;width:100%;max-width:400px;justify-self:end;min-width:0}
.portrait-frame{position:relative;width:100%;display:block;padding:0;background:#e9eeec;border-radius:16px;box-shadow:0 18px 46px #17313a14;text-align:left;overflow:hidden;isolation:isolate}
.portrait-media{display:block;position:relative;width:100%;aspect-ratio:4/5;overflow:hidden}
.portrait-media img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:50% 18%;transform:scale(1.08);transform-origin:50% 20%}
.portrait-view{position:absolute;right:13px;bottom:13px;display:inline-flex;align-items:center;gap:15px;color:white;background:#102d43db;backdrop-filter:blur(7px);padding:7px 12px;border:1px solid #ffffff50;border-radius:5px;font-size:.66rem;line-height:1.7}
.portrait-frame:hover .portrait-view{background:var(--teal)}
.profile-note{display:grid;grid-template-columns:65px minmax(0,1fr);gap:15px;margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}
.profile-note-label{font-size:.65rem;color:var(--teal);padding-top:2px;font-weight:600;line-height:1.8}
.profile-note p{font-size:.75rem;line-height:1.8;color:var(--muted)}
.metrics{grid-column:1/-1;grid-row:4;display:grid;grid-template-columns:.95fr 1.3fr 1fr;border-block:1px solid var(--line);margin-top:15px}
.metrics>a,.metrics>button{position:relative;text-align:left;min-width:0;padding:21px 24px 20px 0;transition:background .18s}
.metrics>a:not(:first-child),.metrics>button{padding-left:30px;border-left:1px solid var(--line)}
.metrics>a:hover,.metrics>button:hover{background:#e9efec70}
.metric-index{display:block;font-size:.63rem;color:var(--muted);letter-spacing:.07em}
.metrics strong{display:block;margin-top:3px;font-size:2rem;line-height:1.45;font-weight:550;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.metrics strong small{font-size:.72rem;font-weight:450;margin-left:8px;letter-spacing:0}
.metrics p{font-size:.73rem;color:var(--muted);line-height:1.8;max-width:92%;margin-top:3px}
.metric-arrow{position:absolute;right:19px;top:23px;color:var(--teal);font-size:1.15rem}
/* Section rhythm */
.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:30px}
.section-top>div{min-width:0}
.section-top h2{font-family:var(--serif);font-size:2.15rem;font-weight:600;letter-spacing:.02em;margin-top:8px}
.section-top>p{max-width:37%;font-size:.84rem;line-height:1.9;color:var(--muted);text-align:right}
.section-top.inverse h2{color:#fff}
.section-top.inverse .eyebrow{color:var(--mint)}
.section-top.inverse>p{color:#bed0d7}
/* Research map and original figures */
.research-section{background:var(--navy);color:white}
.research-section .section{padding-block:60px}
.research-layout{display:grid;grid-template-columns:42% minmax(0,1fr);gap:64px;align-items:center}
.research-map{min-width:0}
.map-hint{font-size:.72rem;color:#bfd1d9;margin-bottom:12px}
.research-map svg{display:block;width:100%;max-width:480px;max-height:340px}
.map-orbit{fill:none;stroke:#ffffff22;stroke-dasharray:3 9}
.map-paths path{stroke:#84a9b855;stroke-width:1.5;transition:stroke .18s}
.map-paths path.active{stroke:var(--mint);stroke-width:2}
.map-core{fill:#21475b;stroke:#a4e0da66;stroke-width:1.2}
.map-center{font-family:var(--sans);fill:white;font-size:15px;font-weight:550}
.map-center-small{font-size:11px;fill:#b7d0d8;font-weight:400}
.map-node{cursor:pointer}
.map-node rect{fill:#183b51;stroke:#7798a65c;transition:fill .18s,stroke .18s}
.map-node:hover rect,.map-node.selected rect{fill:#245566;stroke:var(--mint)}
.map-node text{fill:white;font:550 16px var(--sans);pointer-events:none}
.map-node .node-en{font-size:10px;fill:#bed2db;letter-spacing:.11em;font-weight:450}
.area-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin-top:16px}
.area-tabs button{min-height:40px;border-bottom:1px solid #ffffff26;text-align:left;font-size:.73rem;color:#c5d6dc;line-height:1.65;padding:8px 0}
.area-tabs button[aria-pressed=true]{color:var(--mint);border-color:var(--mint)}
.research-detail{min-width:0}
.research-detail-heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 16px;font-size:.64rem;line-height:1.8;color:#b8cdd7;margin-bottom:11px}
.research-detail-heading>span{min-width:0;overflow-wrap:anywhere}
.research-detail h3{font-size:1.32rem;font-weight:550;line-height:1.65;margin-bottom:18px}
.research-figure{display:block;width:100%;padding:17px;border-radius:9px;position:relative;background:#fff;overflow:hidden}
.figure-media{display:block;position:relative;width:100%;aspect-ratio:3/2;min-width:0;min-height:0;overflow:hidden;isolation:isolate}
.figure-media>img,.figure-media>svg{display:block;position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;margin:0}
.research-figure>.figure-media{aspect-ratio:16/9}
.figure-enlarge{position:absolute;right:10px;top:9px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#eaf2f2;color:var(--teal);font-size:.9rem;line-height:1;pointer-events:none}
.research-detail>p{font-size:.84rem;color:#d1dee3;line-height:1.95;margin-top:18px}
.research-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}
.research-tags span{font-size:.65rem;line-height:1.8;padding:2px 8px;border:1px solid #ffffff30;border-radius:3px;color:#c8dedf}
.research-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:16px}
.research-links button{color:var(--mint);font-size:.75rem;text-align:left;text-decoration:underline;text-underline-offset:4px;min-height:28px}
/* Five selected works */
.gallery-topline{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:15px}
.gallery-topline>p{font-size:.77rem;color:var(--muted)}
.gallery-controls{display:flex;align-items:center;gap:8px;flex:none}
.gallery-controls>span{font-size:.72rem;color:var(--muted);margin-right:8px;font-variant-numeric:tabular-nums}
.work-stage{display:grid;grid-template-columns:1.25fr minmax(0,1fr);border:1px solid var(--line);border-radius:12px 12px 0 0;overflow:hidden;background:white}
.work-stage>*{min-width:0}
.work-figure{display:flex;flex-direction:column;align-items:stretch;justify-content:center;position:relative;min-height:0;background:#f4f6f4;padding:28px;text-align:left;overflow:hidden}
.work-figure>.figure-media{aspect-ratio:16/10;flex:none}
.work-figure-caption{font-size:.7rem;color:var(--muted);line-height:1.8;margin-top:13px;flex:none}
.work-figure:hover img{transform:none}
.work-copy{padding:31px 30px;align-self:center}
.work-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.69rem;color:var(--muted)}
.status{display:inline-block;font-size:.65rem;line-height:1.6;padding:3px 7px;border-radius:3px;background:#edf4f0;color:#346454;white-space:nowrap}
.status.accepted{background:#f5eaf0;color:#7d465d}
.status.granted{background:#f1eee4;color:#776134}
.work-copy h3{font-size:1.85rem;letter-spacing:-.025em;font-weight:600;margin:12px 0 4px;overflow-wrap:anywhere}
.work-subtitle{font-size:.85rem;color:var(--teal);line-height:1.7}
.work-copy .work-intro{font-size:.9rem;line-height:1.95;margin-top:16px;color:var(--ink)}
.work-venue{font-size:.78rem;line-height:1.8;color:var(--muted);margin-top:17px}
.work-role{font-size:.7rem;color:var(--wine);line-height:1.8;margin-top:5px}
.work-copy .button{font-size:.75rem;min-height:40px;padding:7px 14px;gap:35px;margin-top:20px}
.work-selectors{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;overflow:hidden;background:white}
.work-selector{position:relative;padding:16px 17px;text-align:left;border-right:1px solid var(--line);min-width:0}
.work-selector:last-child{border-right:0}
.work-selector:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:transparent}
.work-selector[aria-selected=true]{background:#eef4f1}
.work-selector[aria-selected=true]:before{background:var(--teal)}
.work-selector>span{font-size:.63rem;color:var(--muted)}
.work-selector strong{display:block;font-size:.85rem;line-height:1.55;margin:3px 0 4px;overflow-wrap:anywhere}
.work-selector small{display:block;font-size:.68rem;color:var(--muted);line-height:1.7}
.patent-schematic text{font-family:var(--sans);fill:var(--navy);font-size:13px}
.patent-schematic .small-label{font-size:10px;fill:var(--teal)}
.figure-media>.patent-schematic{max-width:none}
.publication-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;text-align:left;margin-top:25px;padding:24px 26px;border:1px solid var(--line);border-radius:9px;background:#f1f5f2;transition:background .18s}
.publication-entry:hover{background:#e9f1ed}
.publication-entry>span:first-child{display:grid;gap:4px}
.publication-entry strong{font-size:1rem;font-weight:550}
.publication-entry small{font-size:.76rem;color:var(--muted)}
.entry-count{font-size:2.15rem;color:var(--navy);line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}
.entry-count b{font-size:1.25rem;color:var(--teal);font-weight:400;margin-left:20px}
/* Research and education project timelines */
.projects-section{background:#edf2f1}
.funding-overview{display:grid;grid-template-columns:1fr 1fr;gap:36px;border-bottom:1px solid #cbd8d6;padding-bottom:24px;margin-bottom:25px}
.funding-overview>div+div{border-left:1px solid #cbd8d6;padding-left:36px}
.funding-overview p{font-size:.79rem;color:var(--muted);line-height:1.9}
.funding-overview strong{display:block;font-size:2.05rem;font-weight:550;line-height:1.6;font-variant-numeric:tabular-nums;margin-top:4px;letter-spacing:-.02em}
.funding-overview small{font-size:.74rem;font-weight:400;letter-spacing:0}
.project-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}
.filter,.education-project-controls>button{font-size:.76rem;line-height:1.7;border:1px solid #cbd7d6;border-radius:5px;padding:7px 13px;min-height:38px;background:#ffffff80}
.filter.active,.education-project-controls>button.active{background:var(--navy);border-color:var(--navy);color:white}
.filter:hover:not(.active),.education-project-controls>button:hover:not(.active){background:white}
.project-explorer{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr);gap:32px;align-items:start}
.project-chart{--label:155px;--column-gap:14px;--amount:50px;--row-end:8px;min-width:0}
.project-chart-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.7rem;line-height:1.8;color:var(--muted);margin-bottom:17px}
#project-count,#education-project-count{white-space:nowrap}
.chart-axis{position:relative;height:27px;margin-left:calc(var(--label) + var(--column-gap));margin-right:calc(var(--amount) + var(--column-gap) + var(--row-end));color:var(--muted);font-size:.64rem;font-variant-numeric:tabular-nums}
.chart-axis span{position:absolute;left:var(--tick);transform:translateX(-50%)}
.chart-axis span:first-child{transform:none}
.chart-axis span:last-child{transform:translateX(-100%)}
.project-row{display:grid;grid-template-columns:var(--label) minmax(0,1fr) var(--amount);gap:var(--column-gap);align-items:center;width:100%;min-height:52px;padding:8px var(--row-end) 8px 0;border-top:1px solid #d1ddda;text-align:left}
.project-row:last-child{border-bottom:1px solid #d1ddda}
.project-short{font-size:.74rem;line-height:1.75;min-width:0}
.project-row[aria-pressed=true]{background:#fff;box-shadow:inset 3px 0 var(--teal)}
.project-row[aria-pressed=true] .project-short{padding-left:9px;color:var(--teal);font-weight:600}
.project-track{position:relative;height:24px;min-width:0;background-image:linear-gradient(to right,#c5d4d0 1px,transparent 1px);background-size:25% 100%;border-right:1px solid #c5d4d0}
.project-bar{position:absolute;left:var(--start);width:var(--duration);top:6px;height:12px;border-radius:3px;background:#527289}
.project-row.fund .project-bar{background:var(--teal)}
.project-row.lab .project-bar{background:var(--gold)}
.project-row[aria-pressed=true] .project-bar{outline:2px solid white;box-shadow:0 0 0 3px #317c7c2b}
.project-bar-end{position:absolute;right:3px;top:3.5px;width:5px;height:5px;border-radius:50%;background:white}
.project-row-amount{text-align:right;font-size:.75rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.chart-foot{display:flex;justify-content:space-between;gap:20px;font-size:.65rem;line-height:1.9;color:var(--muted);margin-top:13px}
.chart-foot>span:last-child{text-align:right}
.chart-foot strong{color:var(--ink);font-weight:600}
.project-detail,.education-project-detail{background:white;border:1px solid #d9e3df;border-top:3px solid var(--teal);border-radius:0 0 9px 9px;padding:26px;min-width:0}
.project-detail{min-height:390px}
.detail-no{font-size:.64rem;letter-spacing:.09em;color:var(--teal)}
.project-detail h3{font-size:1.09rem;line-height:1.8;font-weight:550;margin:10px 0 20px;overflow-wrap:anywhere}
.project-detail dl,.education-project-detail dl{display:grid;gap:14px;margin:0}
.project-detail dt,.education-project-detail dt{font-size:.68rem;line-height:1.8;color:var(--muted)}
.project-detail dd,.education-project-detail dd{font-size:.81rem;line-height:1.85;margin:3px 0 0;overflow-wrap:anywhere}
.project-detail .project-funding{font-size:1.85rem;font-weight:550;color:var(--teal);font-variant-numeric:tabular-nums;line-height:1.5}
.project-funding small{font-size:.7rem;font-weight:400;margin-left:7px}
.project-role{display:flex;justify-content:space-between;flex-wrap:wrap;gap:9px;border-top:1px solid var(--line);margin-top:20px;padding-top:13px;font-size:.72rem;color:var(--muted)}
/* Teaching and AI in education */
.teaching-question{display:flex;gap:24px;align-items:flex-start;margin-bottom:29px}
.question-mark{font:4.8rem/1 var(--serif);color:#8eaeb0;flex:none}
.teaching-question h3{font-size:1.36rem;font-weight:550;line-height:1.6}
.teaching-question p{max-width:970px;font-size:.86rem;line-height:1.95;color:var(--muted);margin-top:11px}
.teaching-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-bottom:1px solid var(--line)}
.teaching-tabs>button{display:grid;grid-template-columns:26px minmax(0,1fr);grid-template-rows:auto auto;text-align:left;align-items:center;min-width:0;border-bottom:3px solid transparent;padding:13px 5px 16px}
.teaching-tabs>button>span{grid-row:1/3;align-self:start;font-size:.68rem;color:var(--muted);margin-top:3px}
.teaching-tabs strong{font-size:.92rem;font-weight:550;line-height:1.7}
.teaching-tabs small{font-size:.64rem;color:var(--muted);letter-spacing:.06em}
.teaching-tabs>button[aria-selected=true]{border-color:var(--teal);color:var(--teal)}
.teaching-panel{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:34px;border:1px solid var(--line);border-radius:9px;background:white;padding:25px;margin-top:20px;min-height:300px}
.image-button{cursor:zoom-in}
.teaching-image{position:relative;display:flex;align-items:center;justify-content:center;padding:10px;background:var(--surface);border-radius:5px;overflow:hidden;min-width:0;min-height:0}
.teaching-image>.figure-media{aspect-ratio:16/10;flex:none}
.teaching-copy{align-self:center;min-width:0}
.teaching-copy .eyebrow{font-size:.64rem;letter-spacing:.08em}
.teaching-copy h3{font-size:1.17rem;font-weight:550;line-height:1.7;margin-top:8px}
.teaching-copy>p:not(.eyebrow){font-size:.84rem;color:var(--muted);line-height:1.95;margin-top:11px}
.teaching-copy .teaching-caption{font-size:.69rem!important;color:var(--teal)!important;padding-top:11px;border-top:1px solid var(--line)}
.teaching-statistics{display:grid;grid-template-columns:1fr 1fr 1.3fr;border-block:1px solid var(--line);margin-top:24px}
.teaching-statistics>div{padding:22px 24px 22px 0;min-width:0}
.teaching-statistics>div+div{border-left:1px solid var(--line);padding-left:26px}
.teaching-statistics strong{display:block;font-size:1.85rem;line-height:1.45;font-weight:550;font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.teaching-statistics strong small{font-size:.7rem;font-weight:400;margin-left:6px;letter-spacing:0}
.teaching-statistics p{font-size:.73rem;color:var(--muted);line-height:1.85;margin-top:5px}
.education-projects{margin-top:30px;border:1px solid var(--line);border-radius:9px;background:#f2f5f2}
.education-projects-heading{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;cursor:pointer;padding:23px 26px}
.education-projects-heading::-webkit-details-marker{display:none}
.summary-copy{display:block;min-width:0}
.summary-copy strong{display:block;font-size:1.1rem;font-weight:550;line-height:1.7}
.summary-copy small{display:block;max-width:860px;font-size:.76rem;color:var(--muted);line-height:1.9;margin-top:6px}
.summary-end{display:flex;align-items:center;gap:22px;flex:none;color:var(--teal);font-size:.75rem;white-space:nowrap}
.summary-end b{font-size:1.25rem;font-weight:500;font-variant-numeric:tabular-nums}
.summary-toggle{display:grid;place-items:center;width:33px;height:33px;border:1px solid #c2d1cc;border-radius:50%;font-size:1.25rem;font-weight:400;transition:transform .18s}
.education-projects[open] .summary-toggle{transform:rotate(45deg)}
.education-projects[open] .education-projects-heading{border-bottom:1px solid var(--line)}
.education-project-body{padding:24px 26px 26px;background:#fbfcfa;border-radius:0 0 9px 9px}
.education-project-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.education-project-controls>button{display:inline-flex;align-items:center;gap:9px;text-align:left;min-width:0}
.education-project-controls>button small{font-size:.66rem;font-variant-numeric:tabular-nums}
.education-chart-labels{display:flex;justify-content:space-between;gap:12px;font-size:.65rem;line-height:1.8;color:var(--muted);margin-bottom:10px}
.education-chart-labels>span:last-child{text-align:right}
.education-project-row .project-bar{background:var(--teal)}
.education-project-row.research .project-bar{background:#527289}
.education-project-row[aria-pressed=true]{background:#edf4ef}
.education-chart-foot{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);padding-top:12px;margin-top:8px;font-size:.7rem;color:var(--muted);line-height:1.8}
.education-chart-foot strong{color:var(--navy);font-weight:600;font-variant-numeric:tabular-nums}
.education-project-detail h4{font-size:1.04rem;font-weight:550;line-height:1.85;margin:11px 0 20px;overflow-wrap:anywhere}
.education-project-money{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;border-top:1px solid var(--line);padding-top:17px;margin-top:20px}
.education-project-money>div{min-width:0}
.education-project-money span{display:block;font-size:.68rem;color:var(--muted);line-height:1.8}
.education-project-money strong{display:block;font-size:1.8rem;font-weight:550;font-variant-numeric:tabular-nums;line-height:1.5;margin-top:4px}
.education-project-money small{display:block;font-size:.65rem;color:var(--muted)}
.grant-link{font-size:.75rem;color:var(--teal);min-height:30px;text-align:left;text-decoration:underline;text-underline-offset:4px;margin-top:16px}
/* Publications, courses and cooperation */
.resource-tabs{display:flex;flex-wrap:wrap;gap:26px;border-bottom:1px solid var(--line);margin-top:30px}
.resource-tabs>button{font-size:.84rem;line-height:1.8;min-height:48px;padding:11px 0;border-bottom:2px solid transparent}
.resource-tabs>button[aria-selected=true]{color:var(--teal);border-color:var(--teal)}
.resource-tabs small{display:inline-grid;place-items:center;background:#e8efeb;border-radius:4px;min-width:21px;height:21px;font-size:.64rem;margin-left:7px;padding-inline:4px}
.resource-panel{padding-top:21px}
#education-publications>summary{position:relative;list-style:none;cursor:pointer;font-size:.85rem;font-weight:550;line-height:1.8;padding:7px 35px 16px 0}
#education-publications>summary::-webkit-details-marker{display:none}
#education-publications>summary .subtle{margin-left:12px}
#education-publications>summary:after{content:"+";position:absolute;right:6px;top:4px;color:var(--teal);font-size:1.3rem;font-weight:400}
#education-publications[open]>summary:after{content:"−"}
.education-list{list-style:none;margin:0;padding:0}
.education-row{border-top:1px solid var(--line)}
.education-row>button{display:grid;grid-template-columns:40px minmax(0,1fr) 80px 20px;gap:14px;align-items:center;text-align:left;width:100%;padding:16px 0}
.education-year{font-size:.7rem;color:var(--muted);font-variant-numeric:tabular-nums}
.education-title{font-size:.84rem;line-height:1.8}
.education-title small{display:block;font-size:.71rem;color:var(--muted);line-height:1.7;margin-top:3px}
.education-state{font-size:.67rem;color:var(--muted);text-align:right}
.education-state .status{font-size:.65rem}
.education-plus{text-align:right;color:var(--teal);font-size:1.1rem}
.education-citation{padding:0 0 17px 54px}
.education-citation .publication-citation{font-size:.8rem}
.course-projects-heading{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:16px}
.course-projects-heading h3,.course-resources-grid h3{font-size:1.05rem;line-height:1.7;font-weight:550}
.course-project-list{display:grid;gap:12px}
.course-project-card{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:26px;align-items:center;min-width:0;padding:20px 23px;border:1px solid var(--line);border-left:3px solid #b2966e;border-radius:0 7px 7px 0;background:white}
.course-project-card h4{font-size:.88rem;font-weight:550;line-height:1.9;overflow-wrap:anywhere}
.course-project-meta{display:flex;flex-wrap:wrap;gap:5px 15px;font-size:.7rem;color:var(--muted);line-height:1.85;margin-top:8px}
.course-role{color:var(--teal)}
.course-project-money{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;min-width:0}
.course-project-money span{display:block;font-size:.65rem;line-height:1.8;color:var(--muted)}
.course-project-money strong{display:block;font-size:1.35rem;font-weight:550;line-height:1.6;font-variant-numeric:tabular-nums;margin-top:3px}
.course-project-money small{font-size:.62rem;color:var(--muted);font-weight:400;margin-left:5px}
.course-project-summary{display:flex;flex-wrap:wrap;gap:5px 25px;font-size:.72rem;color:var(--muted);line-height:1.9;margin-top:13px}
.course-project-summary strong{color:var(--navy);font-variant-numeric:tabular-nums}
.course-resources-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 36px;margin-top:29px}
.course-resources-grid>section{min-width:0}
.course-list{margin-top:11px}
.course-list>p{padding:13px 0;border-top:1px solid var(--line);font-size:.84rem;line-height:1.95;color:var(--muted)}
.textbook-resource{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px}
.textbook-resource>p{font-size:.86rem;line-height:1.95;color:var(--muted);margin-top:10px}
.cooperation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;padding-block:8px}
.cooperation h3{font-size:1.16rem;font-weight:550;line-height:1.7;margin:8px 0 15px}
.cooperation p:not(.eyebrow){font-size:.85rem;line-height:1.95;color:var(--muted);margin-top:12px}
.cooperation-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.cooperation-images .image-button{width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;background:white;overflow:hidden}
.cooperation-images .figure-media{height:230px;aspect-ratio:auto}
/* Career */
.journey-section{background:#eef2f1}
.timeline-years{display:grid;grid-template-columns:repeat(var(--milestone-count,7),minmax(0,1fr));position:relative;border-bottom:1px solid #bfceca;margin-top:34px}
.timeline-years button{position:relative;min-height:48px;padding:0 5px 17px;text-align:left;font-size:1.09rem;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}
.timeline-years button:after{content:"";position:absolute;bottom:-4px;left:5px;width:7px;height:7px;background:#809f9e;border-radius:50%}
.timeline-years button[aria-selected=true]{color:var(--teal)}
.timeline-years button[aria-selected=true]:after{background:var(--teal);box-shadow:0 0 0 5px #08767c15}
.career-stage{padding-top:33px;position:relative}
.timeline-detail{display:grid;grid-template-columns:160px minmax(0,1fr);gap:36px;min-height:165px;padding-right:108px}
.career-year{font-size:3.7rem;letter-spacing:-.06em;font-weight:500;line-height:1.25;color:#527484}
.career-year small{display:block;font-size:.69rem;letter-spacing:.04em;font-weight:500;color:var(--teal);line-height:1.8;margin-top:12px}
.timeline-detail h3{font-size:1.2rem;font-weight:550;line-height:1.75;margin-bottom:10px}
.timeline-detail p{font-size:.86rem;line-height:1.95;color:var(--muted);max-width:780px}
.timeline-detail .year-span{font-size:.7rem;color:var(--muted);margin-top:13px}
.career-controls{position:absolute;bottom:14px;right:0;display:flex;align-items:center;gap:8px}
.career-controls>span{font-size:.67rem;color:var(--muted);font-variant-numeric:tabular-nums}
.honors{border-top:1px solid #c8d6d1;margin-top:19px;padding-top:20px}
.honors>summary{cursor:pointer;font-size:.85rem;font-weight:550;line-height:1.9}
.honors>summary .subtle{margin-left:12px}
.honor-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin-top:16px}
.honor-list>div{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding:15px 0;border-top:1px solid #cedad5}
.honor-list time{font-size:.7rem;color:var(--teal);padding-top:2px;font-variant-numeric:tabular-nums}
.honor-list p{font-size:.83rem;line-height:1.9}
.honor-list small{display:block;font-size:.71rem;line-height:1.8;color:var(--muted)}
/* Contact */
.contact-section{background:var(--navy);color:white}
.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-block:52px}
.contact-inner .eyebrow{color:var(--mint)}
.contact-inner h2{font:550 2rem/1.5 var(--serif);margin-top:8px}
.email-line{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:17px}
.email{font-size:1.5rem;font-weight:450;letter-spacing:.01em;overflow-wrap:anywhere}
.copy-email{font-size:.73rem;color:#c2d9df;border-bottom:1px solid #7d9ba9;min-height:30px}
.contact-affiliation{font-size:.76rem;line-height:1.9;color:#b7cdd6;margin-top:14px}
.school-link{color:white;border-color:#728e9e;font-size:.82rem}
.school-link:hover{background:#24485c}
.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:23px;font-size:.7rem;color:var(--muted)}
.footer a{color:var(--teal)}
/* Focused readers and lightboxes */
dialog{color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;max-height:90vh;max-height:90dvh;overflow:auto;overscroll-behavior:contain;padding:0;box-shadow:0 28px 100px #09233440}
dialog::backdrop{background:#092030a8;backdrop-filter:blur(6px)}
html:has(dialog[open]){overflow:hidden}
.detail-dialog{width:min(1020px,calc(100% - 48px));padding:49px 42px 34px}
.dialog-close{position:absolute;right:12px;top:10px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;font-size:1.6rem;line-height:1;background:var(--surface);z-index:1}
.dialog-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 15px;font-size:.73rem;line-height:1.8;color:var(--muted);margin-bottom:14px}
.detail-dialog h2{font-size:1.65rem;font-weight:550;line-height:1.65;margin-bottom:12px;overflow-wrap:anywhere}
.paper-title{font-size:.86rem;color:var(--muted);line-height:1.9}
.detail-dialog figure{padding:18px;border:1px solid var(--line);border-radius:7px;background:#f8faf7;margin-top:22px}
.detail-dialog figure>.figure-media{height:min(48vh,460px);aspect-ratio:auto}
.detail-dialog figcaption{font-size:.7rem;line-height:1.9;color:var(--muted);margin-top:10px}
.detail-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 32px;margin-top:26px}
.detail-sections h3{font-size:.87rem;color:var(--teal);font-weight:550;margin-bottom:7px}
.detail-sections p{font-size:.84rem;line-height:1.95;color:var(--muted)}
.citation-area{border-top:1px solid var(--line);padding-top:20px;margin-top:27px}
.citation-area .citation{font-size:.81rem;line-height:1.95;overflow-wrap:anywhere}
.citation strong{font-weight:700;color:var(--navy)}
.citation-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 23px;margin-top:15px}
.citation-actions button{font-size:.74rem;background:var(--surface);padding:7px 12px;border-radius:4px;min-height:36px}
.citation-actions a{font-size:.74rem;color:var(--teal);min-height:30px;display:flex;align-items:center}
.image-dialog h2{font-size:1.15rem;margin-bottom:19px}
.image-dialog>.figure-media{height:68vh;aspect-ratio:auto}
.publication-dialog{width:min(1040px,calc(100% - 48px));padding:32px 38px}
.library-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.library-header h2{font:550 1.9rem/1.6 var(--serif);margin:4px 0 8px}
.library-header p:not(.eyebrow){font-size:.79rem;line-height:1.85;color:var(--muted)}
.library-header-tools{display:flex;align-items:center;gap:13px;flex:none}
.library-stats{display:flex;gap:14px;margin-top:20px}
.library-stats>span{display:inline-flex;align-items:baseline;gap:8px;background:var(--surface);border-radius:5px;padding:5px 12px;font-size:.68rem;color:var(--muted)}
.library-stats>span:last-child{background:#f6edf0;color:#7d465d}
.library-stats b{font-size:1.03rem;font-weight:550;font-variant-numeric:tabular-nums;color:var(--navy)}
.library-search-row{display:grid;grid-template-columns:minmax(0,1fr) 145px 145px;gap:17px;margin-top:21px}
.library-search-row label{min-width:0}
.library-search-row label>span{display:block;font-size:.72rem;line-height:1.8;color:var(--muted);margin-bottom:5px}
.library-search-row input,.library-search-row select{width:100%;min-width:0;min-height:44px;border:1px solid #cbd8d5;border-radius:5px;background:white;color:var(--ink);padding:9px 11px;font-size:.82rem}
.library-filter-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-top:20px}
.publication-controls{display:flex;flex-wrap:wrap;gap:6px}
.publication-filter{font-size:.73rem;line-height:1.7;border:1px solid var(--line);border-radius:4px;min-height:35px;padding:5px 12px}
.publication-filter.active{background:var(--navy);border-color:var(--navy);color:white}
.library-filter-row>div:last-child{display:flex;align-items:center;gap:17px}
#publications-count{font-size:.72rem;color:var(--muted);white-space:nowrap}
.publications-list{padding-left:23px;margin:0}
.publications-list>li{border-bottom:1px solid var(--line);padding:21px 0 21px 9px}
.publications-list>li::marker{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}
.publication-citation{font-size:.85rem;line-height:1.95;overflow-wrap:anywhere}
.publication-citation strong{font-weight:700;color:var(--navy)}
.publication-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 13px;margin-top:10px;font-size:.69rem;color:var(--muted)}
.publication-meta .status{font-size:.64rem}
.publication-meta a,.publication-meta button{font-size:.7rem;color:var(--teal);max-width:100%;overflow-wrap:anywhere}
.publication-meta button{text-align:left;text-decoration:underline;text-underline-offset:3px;min-height:26px}
.publication-meta a:hover{text-decoration:underline}
.publication-title-en{font-size:.85rem;line-height:1.8;font-weight:550;color:var(--teal);margin-bottom:8px}
.publication-empty{padding:34px 0;color:var(--muted);font-size:.84rem;line-height:1.9}
#toast{position:fixed;z-index:100;left:50%;bottom:24px;max-width:calc(100% - 32px);transform:translate(-50%,12px);opacity:0;pointer-events:none;background:var(--navy);color:white;border-radius:6px;padding:10px 18px;font-size:.8rem;line-height:1.8;text-align:center;transition:opacity .18s,transform .18s}
#toast.show{opacity:1;transform:translate(-50%,0)}
.noscript{padding-block:22px;font-size:.84rem}
/* English uses the same hierarchy with room for longer wording. */
html[lang=en] .hero h1{font-size:3.65rem;letter-spacing:-.045em;line-height:1.15}
html[lang=en] .hero h1 span{font-family:var(--sans);font-size:.95rem;letter-spacing:.18em}
html[lang=en] .hero-focus{font-size:1.4rem;letter-spacing:0}
html[lang=en] .hero-intro{font-size:.85rem}
html[lang=en] .hero-affiliation{font-size:.68rem;line-height:1.9}
html[lang=en] .hero-honor{font-size:.7rem}
html[lang=en] .profile-note{grid-template-columns:78px minmax(0,1fr);gap:12px}
html[lang=en] .section-top h2{font-size:1.95rem;letter-spacing:0}
html[lang=en] .map-node text{font-size:14px}
html[lang=en] .map-node .node-en{font-size:10px}
html[lang=en] .area-tabs button{font-size:.7rem}
html[lang=en] .research-detail h3{font-size:1.18rem}
html[lang=en] .work-selector small{font-size:.66rem}
html[lang=en] .project-detail h3{font-size:1rem}
html[lang=en] .teaching-tabs strong{font-size:.82rem}
html[lang=en] .timeline-detail h3{font-size:1.1rem}
/* Tablet */
@media(max-width:1040px){
  .wrap{width:calc(100% - 64px)}
  .nav-wrap{width:calc(100% - 48px);gap:20px}
  .header nav{gap:17px}
  .hero{grid-template-columns:minmax(0,1fr) 310px;column-gap:35px}
  .hero h1{font-size:4rem}
  .hero-focus{font-size:1.5rem}
  .hero-intro{font-size:.85rem}
  .research-layout{grid-template-columns:40% minmax(0,1fr);gap:34px}
  .project-explorer{grid-template-columns:1fr;gap:24px}
  .project-chart{--label:165px;--amount:54px}
  .project-detail{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;min-height:0}
  .project-detail>.detail-no{grid-column:1/-1}
  .project-detail h3{grid-column:1;grid-row:2;margin-bottom:12px}
  .project-detail dl{grid-column:2;grid-row:2/4}
  .project-detail .project-role{grid-column:1;align-self:end}
  .work-figure{padding:22px}
  .work-copy{padding:25px}
  .work-copy h3{font-size:1.6rem}
  .work-selector{padding:15px 13px}
  .teaching-panel{gap:24px}
  .timeline-detail{grid-template-columns:125px minmax(0,1fr);padding-right:0;gap:27px}
  .career-controls{position:static;justify-content:flex-end;margin-top:16px}
  html[lang=en] .hero h1{font-size:3.1rem}
  html[lang=en] .hero-focus{font-size:1.22rem}
}
@media(max-width:960px){
  .header nav{display:none;position:absolute;top:76px;left:0;right:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px;padding:17px 32px 22px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 22px #102d4310;margin:0}
  .header nav.open{display:grid}
  .header nav a{padding:10px 8px;text-align:center;border-radius:5px;background:#edf2ef}
  .header nav a.current{background:var(--navy);color:white}
  .header nav a.current:after{display:none}
  .nav-tools{margin-left:auto}
  .menu-toggle{display:block}
  .section-top h2{font-size:1.95rem}
  .research-layout{grid-template-columns:38% minmax(0,1fr);gap:28px}
  .area-tabs{grid-template-columns:1fr;gap:0}
  .work-stage{grid-template-columns:1.08fr minmax(0,1fr)}
  .work-copy h3{font-size:1.45rem}
  .teaching-copy h3{font-size:1.05rem}
  .teaching-copy>p:not(.eyebrow){font-size:.8rem}
  .section-top>p{font-size:.79rem}
  html[lang=en] .section-top h2{font-size:1.7rem}
}
/* Phone: the image is in the identity row, never after the biography. */
@media(max-width:760px){
  html{scroll-padding-top:86px}
  .wrap{width:calc(100% - 36px)}
  .section{padding-block:52px}
  .nav-wrap{width:calc(100% - 28px);min-height:68px;gap:12px}
  .brand{font-size:.84rem;gap:9px}
  .brand-mark{width:31px;height:35px;font-size:21px}
  .brand small{font-size:.51rem;letter-spacing:.035em}
  .nav-tools{gap:9px}
  .language-switch button{min-width:30px;min-height:34px;font-size:.68rem;padding:3px 5px}
  .header nav{top:68px;padding:14px 18px 18px;gap:8px 12px}
  .header nav a{font-size:.8rem}
  .menu-toggle{font-size:.75rem}
  .hero{grid-template-columns:minmax(0,1fr) 144px;column-gap:20px;row-gap:0;padding-top:31px;padding-bottom:36px}
  .hero-affiliation{grid-column:1/-1;grid-row:1;margin-bottom:23px;font-size:.69rem}
  .hero-nameplate{grid-column:1;grid-row:2;align-self:center}
  .hero h1{font-size:clamp(2.5rem,10vw,3.05rem);line-height:1.12;letter-spacing:.01em}
  .hero h1 span{font-size:.61rem;letter-spacing:.12em;margin-top:10px}
  .identity{font-size:.77rem;gap:6px 9px;line-height:1.8;margin-top:15px}
  .identity i{height:11px}
  .hero-honor{font-size:.68rem;line-height:1.8;margin-top:6px}
  .profile{display:contents}
  .portrait-frame{grid-column:2;grid-row:2;align-self:center;border-radius:9px;box-shadow:0 8px 20px #17313a17}
  .portrait-media{aspect-ratio:4/5}
  .portrait-media img{transform:scale(1.24);transform-origin:50% 19%}
  .portrait-view{right:6px;bottom:6px;gap:0;padding:3px 7px;font-size:.65rem}
  .portrait-view>span:first-child{display:none}
  .profile-note{grid-column:1/-1;grid-row:3;grid-template-columns:63px minmax(0,1fr);gap:13px;padding-top:13px;margin-top:22px}
  .profile-note-label{font-size:.62rem}
  .profile-note p{font-size:.72rem;line-height:1.8}
  .hero-content{grid-column:1/-1;grid-row:4;padding-top:24px}
  .hero-focus{font-size:1.45rem;line-height:1.65;margin-bottom:13px}
  .hero-intro{font-size:.85rem;line-height:1.95;max-width:none}
  .hero-intro:not(.is-expanded){display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
  .bio-toggle{display:inline-flex;align-items:center;margin-top:4px}
  .hero-actions{gap:10px;margin-top:17px}
  .hero-actions .button{font-size:.8rem;padding:9px 17px;min-height:43px;gap:28px}
  .metrics{grid-column:1/-1;grid-row:5;grid-template-columns:.9fr 1.35fr 1fr;margin-top:29px}
  .metrics>a,.metrics>button{padding:16px 8px 17px 0}
  .metrics>a:not(:first-child),.metrics>button{padding-left:13px}
  .metric-index{font-size:.58rem}
  .metrics strong{font-size:1.6rem;letter-spacing:-.045em;margin-top:7px}
  .metrics strong small{display:block;font-size:.64rem;font-weight:450;margin-left:0;line-height:1.8;letter-spacing:0}
  .metrics p{font-size:.65rem;max-width:100%;line-height:1.8;margin-top:6px}
  .metric-arrow{top:14px;right:7px;font-size:.95rem}
  .section-top{display:block;margin-bottom:25px}
  .section-top h2{font-size:1.8rem}
  .section-top>p{max-width:100%;text-align:left;font-size:.79rem;margin-top:11px}
  .research-section .section{padding-block:43px}
  .research-layout{grid-template-columns:1fr;gap:26px}
  .map-hint{font-size:.69rem;margin-bottom:4px}
  .research-map svg{max-height:250px;margin-inline:auto}
  .area-tabs{grid-template-columns:1fr 1fr;gap:0 19px;margin-top:5px}
  .area-tabs button{font-size:.71rem;min-height:40px}
  .research-detail{border-top:1px solid #ffffff26;padding-top:23px}
  .research-detail h3{font-size:1.14rem;line-height:1.75}
  .research-detail-heading{font-size:.62rem}
  .research-figure{padding:12px}
  .research-detail>p{font-size:.81rem}
  .research-tags span{font-size:.63rem}
  .gallery-topline{gap:12px}
  .gallery-topline>p{font-size:.71rem;max-width:48%;line-height:1.8}
  .gallery-controls{gap:6px}
  .gallery-controls>span{font-size:.66rem;margin-right:3px}
  .icon-button{width:38px;height:38px}
  .work-stage{grid-template-columns:1fr}
  .work-figure{padding:21px}
  .work-figure-caption{font-size:.66rem;margin-top:10px}
  .work-copy{padding:24px}
  .work-copy h3{font-size:1.55rem}
  .work-copy .work-intro{font-size:.85rem}
  .work-venue{font-size:.75rem}
  .work-selectors{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;border-radius:0 0 9px 9px}
  .work-selector{flex:0 0 43%;padding:14px;scroll-snap-align:center}
  .work-selector strong{font-size:.8rem}
  .work-selector small{font-size:.66rem}
  .work-selector:last-child{border-right:1px solid var(--line)}
  .publication-entry{margin-top:21px;padding:20px 18px;gap:14px}
  .publication-entry strong{font-size:.91rem}
  .publication-entry small{font-size:.7rem}
  .entry-count{font-size:1.7rem}
  .entry-count b{font-size:1.05rem;margin-left:9px}
  .funding-overview{gap:19px;padding-bottom:20px;margin-bottom:20px}
  .funding-overview>div+div{padding-left:19px}
  .funding-overview p{font-size:.7rem;line-height:1.8}
  .funding-overview strong{font-size:1.75rem;line-height:1.5}
  .funding-overview small{display:block;font-size:.65rem;line-height:1.8}
  .project-controls{gap:7px;margin-bottom:20px}
  .filter,.education-project-controls>button{font-size:.7rem;padding:6px 10px;min-height:35px}
  .project-chart{--label:117px;--column-gap:8px;--amount:40px;--row-end:6px}
  .project-chart-heading{font-size:.65rem;gap:10px;margin-bottom:14px}
  .chart-axis{font-size:.59rem;height:26px}
  .project-row{min-height:53px}
  .project-short{font-size:.68rem;line-height:1.8}
  .project-row-amount{font-size:.68rem}
  .project-track{height:22px}
  .project-bar{height:10px;top:6px}
  .project-bar-end{width:4px;height:4px;top:3px}
  .chart-foot{font-size:.61rem;gap:13px}
  .project-detail{display:block;padding:21px}
  .project-detail h3{font-size:1.02rem;margin-bottom:17px}
  .project-detail dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
  .project-detail dl>div:last-child{grid-column:1/-1}
  .project-detail dt{font-size:.65rem}
  .project-detail dd{font-size:.78rem}
  .project-detail .project-funding{font-size:1.8rem}
  .teaching-question{gap:14px;margin-bottom:23px}
  .question-mark{font-size:3.8rem}
  .teaching-question h3{font-size:1.12rem}
  .teaching-question p{font-size:.8rem}
  .teaching-tabs{gap:11px}
  .teaching-tabs>button{grid-template-columns:19px minmax(0,1fr);padding:11px 0 13px}
  .teaching-tabs>button>span{font-size:.61rem}
  .teaching-tabs strong{font-size:.79rem}
  .teaching-tabs small{font-size:.61rem}
  .teaching-panel{grid-template-columns:1fr;padding:16px;gap:19px;margin-top:17px;min-height:0}
  .teaching-image{padding:10px}
  .teaching-copy h3{font-size:1.06rem}
  .teaching-copy>p:not(.eyebrow){font-size:.81rem}
  .teaching-statistics{grid-template-columns:1fr 1fr 1.3fr;margin-top:20px}
  .teaching-statistics>div{padding:18px 10px 18px 0}
  .teaching-statistics>div+div{padding-left:12px}
  .teaching-statistics strong{font-size:1.42rem}
  .teaching-statistics strong small{display:block;font-size:.62rem;line-height:1.8;margin:0}
  .teaching-statistics p{font-size:.64rem;line-height:1.8;margin-top:6px}
  .education-projects{margin-top:25px}
  .education-projects-heading{padding:19px 17px;gap:14px}
  .summary-copy strong{font-size:.97rem}
  .summary-copy small{font-size:.71rem;line-height:1.85;margin-top:7px}
  .summary-end{gap:9px;flex-direction:column-reverse;align-items:center;font-size:.64rem}
  .summary-end b{font-size:1rem}
  .summary-toggle{width:29px;height:29px;font-size:1.1rem}
  .education-project-body{padding:20px 17px}
  .education-project-controls{gap:6px;margin-bottom:20px}
  .education-project-controls>button{gap:7px;font-size:.68rem;padding:6px 8px}
  .education-chart-labels{font-size:.6rem}
  .education-chart-foot{font-size:.65rem}
  .education-project-detail{padding:20px}
  .education-project-detail h4{font-size:.96rem}
  .education-project-detail dd{font-size:.78rem}
  .education-project-money strong{font-size:1.6rem}
  .education-project-money span{font-size:.65rem}
  .resource-tabs{gap:20px;margin-top:25px}
  .resource-tabs>button{font-size:.76rem;min-height:45px}
  .resource-tabs small{font-size:.6rem;min-width:18px;height:18px;margin-left:4px}
  .resource-panel{padding-top:18px}
  #education-publications>summary{font-size:.79rem}
  .education-row>button{grid-template-columns:32px minmax(0,1fr) 58px 13px;gap:9px;padding:14px 0}
  .education-year{font-size:.64rem}
  .education-title{font-size:.77rem}
  .education-title small{font-size:.65rem}
  .education-state,.education-state .status{font-size:.59rem}
  .education-state .status{padding:2px 5px}
  .education-citation{padding-left:41px}
  .education-citation .publication-citation{font-size:.75rem}
  .course-projects-heading{gap:10px}
  .course-projects-heading h3,.course-resources-grid h3{font-size:1rem}
  .course-projects-heading .subtle{font-size:.65rem;white-space:nowrap}
  .course-project-card{grid-template-columns:minmax(0,1fr);gap:14px;padding:17px}
  .course-project-card h4{font-size:.82rem}
  .course-project-meta{font-size:.65rem}
  .course-project-money{border-top:1px solid var(--line);padding-top:11px;gap:20px}
  .course-project-money strong{font-size:1.35rem}
  .course-project-summary{font-size:.67rem;gap:4px 18px}
  .course-resources-grid{grid-template-columns:minmax(0,1fr);gap:23px;margin-top:25px}
  .course-list>p{font-size:.8rem}
  .textbook-resource{grid-column:1}
  .textbook-resource>p{font-size:.81rem}
  .cooperation{grid-template-columns:1fr;gap:23px}
  .cooperation h3{font-size:1.06rem}
  .cooperation p:not(.eyebrow){font-size:.8rem}
  .cooperation-images .figure-media{height:190px}
  .timeline-years{display:flex;overflow-x:auto;gap:0;scrollbar-width:thin;scroll-snap-type:x proximity;margin-top:26px}
  .timeline-years button{flex:1 0 53px;min-height:44px;font-size:.88rem;padding:0 4px 15px;scroll-snap-align:center}
  .timeline-years button:after{left:4px;bottom:0}
  .career-stage{padding-top:25px}
  .timeline-detail{grid-template-columns:77px minmax(0,1fr);gap:19px;min-height:0}
  .career-year{font-size:2.5rem;line-height:1.2}
  .career-year small{font-size:.6rem;letter-spacing:0;margin-top:10px}
  .timeline-detail h3{font-size:1.05rem;line-height:1.8;margin-bottom:8px}
  .timeline-detail p{font-size:.8rem}
  .timeline-detail .year-span{font-size:.65rem;margin-top:10px}
  .career-controls{margin-top:20px}
  .career-controls>span{font-size:.63rem}
  .honors{margin-top:20px;padding-top:18px}
  .honors>summary{font-size:.8rem}
  .honor-list{grid-template-columns:1fr;margin-top:14px}
  .honor-list>div{grid-template-columns:36px minmax(0,1fr);gap:14px;padding:13px 0}
  .honor-list time{font-size:.65rem}
  .honor-list p{font-size:.78rem}
  .honor-list small{font-size:.67rem}
  .contact-inner{display:block;padding-block:40px}
  .contact-inner h2{font-size:1.75rem}
  .email-line{gap:15px;margin-top:14px}
  .email{font-size:1.26rem}
  .copy-email{font-size:.67rem}
  .contact-affiliation{font-size:.71rem}
  .school-link{font-size:.77rem;margin-top:23px;padding:8px 16px;min-height:42px}
  .footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;font-size:.65rem;padding-block:20px}
  .footer>span:nth-child(2){grid-column:1;grid-row:2}
  .footer>a{grid-column:2;grid-row:1/3}
  .detail-dialog{width:calc(100% - 22px);padding:51px 21px 26px}
  .dialog-close{width:40px;height:40px;right:10px;top:8px}
  .detail-dialog h2{font-size:1.23rem}
  .dialog-meta{font-size:.68rem}
  .paper-title{font-size:.8rem}
  .detail-dialog figure{padding:12px}
  .detail-dialog figure>.figure-media{height:min(41vh,340px)}
  .detail-sections{grid-template-columns:1fr;gap:21px;margin-top:23px}
  .detail-sections h3{font-size:.81rem}
  .detail-sections p{font-size:.8rem}
  .citation-area .citation{font-size:.76rem}
  .citation-actions{gap:12px 18px}
  .citation-actions button,.citation-actions a{font-size:.7rem}
  .image-dialog h2{font-size:1rem}
  .image-dialog>.figure-media{height:65vh}
  .publication-dialog{width:calc(100% - 20px);padding:24px 19px}
  .library-header{gap:12px}
  .library-header h2{font-size:1.35rem;line-height:1.65}
  .library-header p:not(.eyebrow){font-size:.71rem}
  .library-header .eyebrow{font-size:.62rem}
  .library-header-tools{flex-direction:column-reverse;align-items:flex-end;gap:7px}
  .library-header-tools .language-switch{padding:2px}
  .library-header-tools .language-switch button{min-width:28px;min-height:31px;font-size:.64rem;padding:2px 4px}
  .library-stats{gap:10px;margin-top:18px}
  .library-stats>span{font-size:.65rem;gap:7px;padding:4px 10px}
  .library-stats b{font-size:.98rem}
  .library-search-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:18px}
  .library-search-row .search-field{grid-column:1/-1}
  .library-search-row label>span{font-size:.68rem}
  .library-search-row input,.library-search-row select{font-size:.77rem;padding:9px 10px}
  .library-filter-row{gap:12px;margin-top:17px;padding-bottom:13px}
  .publication-controls{gap:5px}
  .publication-filter{font-size:.67rem;padding:5px 9px;min-height:33px}
  #publications-count{font-size:.67rem}
  .text-button{font-size:.68rem}
  .publications-list{padding-left:17px}
  .publications-list>li{padding:18px 0 18px 4px}
  .publications-list>li::marker{font-size:.65rem}
  .publication-citation{font-size:.79rem}
  .publication-meta{font-size:.64rem;gap:6px 9px}
  .publication-meta a,.publication-meta button{font-size:.64rem}
  .publication-title-en{font-size:.79rem}
  .publication-empty{font-size:.78rem}
  html[lang=en] .hero h1{font-size:clamp(1.65rem,6.8vw,2.2rem);letter-spacing:-.035em;line-height:1.17}
  html[lang=en] .hero h1 span{font-size:.81rem;letter-spacing:.13em;margin-top:10px}
  html[lang=en] .identity{font-size:.72rem;gap:2px 8px;margin-top:12px}
  html[lang=en] .identity i{display:none}
  html[lang=en] .hero-honor{font-size:.63rem;line-height:1.8}
  html[lang=en] .hero-focus{font-size:1.22rem}
  html[lang=en] .hero-affiliation{font-size:.65rem;line-height:1.9}
  html[lang=en] .hero-intro{font-size:.82rem}
  html[lang=en] .profile-note{grid-template-columns:78px minmax(0,1fr);gap:12px}
  html[lang=en] .section-top h2{font-size:1.65rem}
  html[lang=en] .research-detail h3{font-size:1.08rem}
  html[lang=en] .teaching-tabs strong{font-size:.72rem}
  html[lang=en] .resource-tabs{gap:16px}
  html[lang=en] .resource-tabs>button{font-size:.71rem}
  html[lang=en] .timeline-detail h3{font-size:1.02rem}
}
@media(max-width:360px){
  .wrap{width:calc(100% - 28px)}
  .hero{grid-template-columns:minmax(0,1fr) 124px;column-gap:14px}
  .hero h1{font-size:2.4rem}
  .hero h1 span{font-size:.55rem;letter-spacing:.1em}
  .identity{font-size:.72rem;gap:5px 7px;margin-top:12px}
  .hero-honor{font-size:.63rem}
  .hero-focus{font-size:1.32rem}
  .metrics strong{font-size:1.47rem}
  .metrics>a:not(:first-child),.metrics>button{padding-left:10px}
  .metrics p{font-size:.61rem}
  .project-chart{--label:100px;--column-gap:7px;--amount:36px;--row-end:4px}
  .project-short{font-size:.64rem}
  .project-row-amount{font-size:.64rem}
  .education-project-body{padding:18px 13px}
  .education-project-controls>button{font-size:.64rem;padding:5px 7px;gap:6px}
  .summary-copy strong{font-size:.9rem}
  .summary-copy small{font-size:.68rem}
  .resource-tabs{gap:15px}
  .resource-tabs>button{font-size:.69rem}
  .timeline-detail{grid-template-columns:68px minmax(0,1fr);gap:15px}
  .career-year{font-size:2.2rem}
  .teaching-statistics strong{font-size:1.27rem}
  .teaching-statistics p{font-size:.6rem}
  html[lang=en] .hero h1{font-size:1.65rem}
  html[lang=en] .resource-tabs{gap:12px}
  html[lang=en] .resource-tabs>button{font-size:.65rem}
}
@keyframes panel-in{from{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.work-stage>*,.research-detail>h3,.research-figure,.teaching-panel>*,.timeline-detail>div{animation:panel-in .19s ease-out}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{
  body{background:white;font-size:10pt}
  .header,.hero-actions,.bio-toggle,.gallery-controls,.work-selectors,.publication-entry,.project-controls,.teaching-tabs,.resource-tabs,.career-controls,.copy-email,.footer>a,.figure-enlarge,.portrait-view{display:none!important}
  .wrap{width:100%}.section{padding-block:24px}.hero{padding-top:0}.hero-intro{display:block!important;-webkit-line-clamp:unset!important}
  .research-section,.contact-section{background:white;color:var(--ink)}.section-top.inverse h2{color:var(--ink)}.research-map{display:none}.research-layout{grid-template-columns:1fr}
  .research-detail>p,.research-detail-heading{color:var(--muted)}.research-links button,.research-tags span{color:var(--teal)}.contact-affiliation{color:var(--muted)}.school-link{color:var(--ink)}
  .project-detail,.work-stage,.project-row{break-inside:avoid}.portrait-frame{box-shadow:none}dialog[open]{position:static;max-height:none;width:100%;box-shadow:none}
}

/* Identity credentials and education funding */
.hero-credentials{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 20px;margin-top:11px}
.hero-credentials strong{font-size:.77rem;line-height:1.85;font-weight:650;color:var(--wine)}
.metrics .education-funding-caption{line-height:1.85}
.education-funding-caption b{font-size:inherit;font-weight:700;color:var(--teal)}
@media(max-width:600px){.hero-credentials{gap:3px 12px;margin-top:8px}.hero-credentials strong{font-size:.66rem;line-height:1.8}}
