@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
:root {
  --bg:#fafaf8; --surface:#ffffff; --ink:#262c35; --muted:#68717d; --light:#8d949d;
  --border:#e7e9e9; --accent:#365f89; --accent-soft:#ebf2f8; --card:#f5f7f6;
  --shadow:0 14px 60px rgba(34,47,58,.045); --max:1040px;
  color-scheme:light;
}
[data-theme="dark"] {
  --bg:#14191e; --surface:#1c232b; --ink:#eaf0f4; --muted:#aab6c3; --light:#8694a1;
  --border:#2c3741; --accent:#98c4e8; --accent-soft:#213647; --card:#1b2630;
  --shadow:0 15px 60px rgba(0,0,0,.12);color-scheme:dark;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.75 'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}p{margin:0 0 1em}h1,h2,h3{font-weight:600;margin:0;line-height:1.2;letter-spacing:-.03em}h1,h2{font-family:'Newsreader',Georgia,serif} h2{font-size:2.25rem}h3{font-size:1.12rem;letter-spacing:-.018em}
.wrap{width:min(calc(100% - 56px),var(--max));margin:0 auto}
.site-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}
.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-family:'Newsreader',Georgia,serif;font-weight:600;font-size:1.35rem;letter-spacing:-.035em}.brand-dot{color:var(--accent)}
.nav{display:flex;align-items:center;gap:27px}.nav a{font-size:.89rem;font-weight:550;color:var(--muted)}.nav a.active{color:var(--ink)}.nav a:hover{color:var(--accent)}
.theme-toggle{width:37px;height:37px;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:100%;cursor:pointer;display:grid;place-items:center;transition:transform .15s}.theme-toggle:hover{transform:rotate(15deg)}.theme-icon{font-size:1.17rem;line-height:1}.mobile-menu{display:none;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:7px 11px;color:var(--ink);cursor:pointer}
main{padding-bottom:100px}.hero{display:grid;grid-template-columns:285px 1fr;gap:68px;padding:92px 0 72px;align-items:center}.portrait-wrap{position:relative;width:285px;max-width:100%}.portrait{height:335px;border-radius:8px;background:linear-gradient(150deg,#dbe6eb,#b9c9d4);object-fit:cover;width:100%;display:block;filter:saturate(.85)}.portrait-note{font-size:.76rem;color:var(--light);margin-top:12px;text-align:center}.hero-copy .eyebrow,.kicker{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.15em;font-size:.7rem}.hero h1{font-size:clamp(3.25rem,6vw,5.05rem);font-weight:500;letter-spacing:-.055em;margin:14px 0 6px;line-height:1}.position{font-size:1.06rem;font-weight:600;margin:12px 0 3px;line-height:1.5}.affiliation{color:var(--muted);font-size:.96rem;margin-bottom:30px}.rule{width:100%;height:1px;background:var(--border);margin:27px 0 24px}.interests-label{display:block;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;font-weight:700;margin-bottom:6px}.interests{font-size:.95rem;color:var(--muted);margin-bottom:22px}.link-row{display:flex;align-items:center;flex-wrap:wrap;gap:13px;font-size:.9rem;font-weight:650}.link-row a{color:var(--accent)}.sep{color:var(--light);font-weight:400}.unavailable{opacity:.42;cursor:not-allowed}
section{scroll-margin-top:120px}.section{margin-top:65px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.more-link{font-size:.84rem;font-weight:650;color:var(--accent);white-space:nowrap}.body-copy{max-width:800px;font-size:1rem;color:var(--muted);line-height:1.95}.body-copy strong{color:var(--ink);font-weight:650}.statement{margin:30px 0 18px;padding:18px 24px;border-left:3px solid var(--accent);background:var(--accent-soft);font-family:'Newsreader',Georgia,serif;font-size:1.5rem;line-height:1.4;letter-spacing:-.015em}.research-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:27px}.step{border:1px solid var(--border);padding:22px 23px;border-radius:9px;background:var(--surface)}.step-no{color:var(--accent);font-size:.73rem;font-weight:700;letter-spacing:.12em}.step h3{margin:12px 0 9px}.step p{color:var(--muted);font-size:.86rem;line-height:1.75;margin:0}
.section-rule{height:1px;background:var(--border);margin-top:73px}.project-list{display:grid;gap:16px}.project{display:grid;grid-template-columns:155px 1fr;gap:25px;padding:22px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.project:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.project-art{min-height:125px;border-radius:7px;background:var(--card);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.project-art svg{width:100%;height:100%;max-height:160px}.project-kind{font-size:.71rem;letter-spacing:.11em;color:var(--accent);font-weight:700;text-transform:uppercase}.project h3{margin:6px 0 8px;font-size:1.13rem}.project p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.73}.project-meta{display:block;margin-top:12px;font-size:.77rem;color:var(--light)}
.news-list{border-top:1px solid var(--border)}.news-entry{border-bottom:1px solid var(--border)}.news-entry summary{display:grid;grid-template-columns:110px 1fr 20px;gap:15px;align-items:start;list-style:none;padding:20px 2px;cursor:pointer}.news-entry summary::-webkit-details-marker{display:none}.news-date{font-size:.78rem;color:var(--muted);padding-top:2px}.news-title{font-weight:600;font-size:.92rem;line-height:1.6}.chevron{font-size:1.25rem;color:var(--light);line-height:1.2;transition:transform .2s}.news-entry[open] .chevron{transform:rotate(45deg)}.news-detail{margin:-6px 45px 21px 125px;color:var(--muted);font-size:.88rem;line-height:1.8}.tag{display:inline-block;font-size:.68rem;font-weight:600;border:1px solid var(--border);border-radius:50px;padding:1px 9px;margin-left:7px;vertical-align:1px;color:var(--muted)}
.pub-list{display:grid;gap:20px}.pub{border-bottom:1px solid var(--border);padding-bottom:20px}.pub:last-child{border-bottom:0}.pub-year{color:var(--accent);font-size:.77rem;font-weight:700;margin-bottom:6px}.pub-title{font-weight:650;line-height:1.6}.pub-authors,.pub-venue{color:var(--muted);font-size:.87rem;margin-top:3px;line-height:1.7}.pub-award{display:inline-block;margin-top:9px;color:var(--accent);background:var(--accent-soft);padding:2px 9px;border-radius:4px;font-size:.76rem;font-weight:600}
.page-hero{padding:91px 0 38px;max-width:770px}.page-hero h1{font-size:clamp(3.3rem,6vw,4.7rem);font-weight:500;margin:13px 0 20px}.page-hero p{font-size:1rem;color:var(--muted);max-width:720px}.detail-list{display:grid;gap:24px;margin-top:25px}.detail{border:1px solid var(--border);background:var(--surface);padding:29px 33px;border-radius:10px}.detail .project-kind{margin-bottom:10px}.detail h2{font-family:'DM Sans',sans-serif;font-size:1.36rem;letter-spacing:-.025em;margin-bottom:13px}.detail p{color:var(--muted);max-width:790px;font-size:.93rem;line-height:1.85}.detail .micro{color:var(--accent);font-size:.84rem;font-weight:600;margin-top:15px}.empty-state{border:1px dashed var(--border);border-radius:10px;padding:45px 35px;background:var(--surface)}.empty-state h2{font-size:2rem}.empty-state p{max-width:610px;color:var(--muted);margin-top:15px}.topic-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.topic-chips span{padding:7px 13px;border:1px solid var(--border);border-radius:50px;font-size:.81rem;color:var(--muted)}
.site-footer{border-top:1px solid var(--border);padding:32px 0 45px;color:var(--muted);font-size:.8rem}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.footer-note{color:var(--light)}
@media(max-width:850px){.hero{grid-template-columns:230px 1fr;gap:35px;padding-top:65px}.portrait-wrap{width:230px}.portrait{height:280px}.research-steps{grid-template-columns:1fr 1fr}.nav{gap:15px}}
@media(max-width:640px){.wrap{width:min(calc(100% - 36px),var(--max))}.header-inner{min-height:66px}.mobile-menu{display:block;margin-left:auto}.nav{display:none;position:absolute;left:0;right:0;top:66px;background:var(--bg);border-bottom:1px solid var(--border);padding:17px 20px 25px;flex-direction:column;align-items:stretch;gap:13px}.nav.open{display:flex}.nav a{padding:6px 0}.theme-toggle{align-self:flex-start}.hero{display:block;padding:46px 0 30px}.portrait-wrap{width:205px;margin-bottom:30px}.portrait{height:245px}.portrait-note{text-align:left}.hero h1{font-size:3.8rem}.section{margin-top:48px}h2{font-size:1.9rem}.section-rule{margin-top:54px}.research-steps{grid-template-columns:1fr}.project{grid-template-columns:100px 1fr;gap:16px;padding:15px}.project-art{min-height:115px}.project h3{font-size:1rem}.project p{font-size:.81rem}.news-entry summary{grid-template-columns:78px 1fr 18px;gap:9px}.news-detail{margin:-3px 25px 17px 87px}.tag{margin-left:0;margin-top:4px}.page-hero{padding:55px 0 24px}.page-hero h1{font-size:3.6rem}.detail{padding:22px}.statement{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* Academic minimalism refresh, 2026-10-31.
   Keeps the existing layout, content, dark mode and responsive behavior. */
:root {
  --bg:#fcfcfb; --surface:#fff; --ink:#292e33; --muted:#58626d;
  --light:#8a929b; --border:#e5e8e9; --accent:#446781;
  --accent-soft:#f5f7f8; --card:#f4f6f6; --shadow:none; --max:900px;
}
[data-theme="dark"] {
  --bg:#171b1f; --surface:#1b2025; --ink:#e8edf0;
  --muted:#b1bac3; --light:#8a98a5; --border:#343b43;
  --accent:#a6c4d9; --accent-soft:#222b33; --card:#20272d;
  --shadow:none;
}
body {
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  font-size:15px;line-height:1.78;font-weight:400;letter-spacing:-.008em;
}
h1,h2,h3,.brand,.statement {
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  letter-spacing:-.025em;
}
h1,h2,h3{font-weight:600;line-height:1.35}
h2{font-size:1.48rem}
h3{font-size:1rem;letter-spacing:-.018em}
a:hover{color:var(--accent)}
.site-header {background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(12px)}
.header-inner{min-height:69px}
.brand{font-size:.98rem;font-weight:600;letter-spacing:-.018em}
.brand-dot{color:var(--muted)}
.nav{gap:24px}
.nav a{font-size:.86rem;font-weight:400;color:var(--muted)}
.nav a.active{font-weight:600;color:var(--ink)}
.theme-toggle{width:32px;height:32px;border-radius:6px;background:transparent}
.theme-toggle:hover{transform:none;background:var(--accent-soft)}
main{padding-bottom:82px}
.hero{grid-template-columns:218px minmax(0,1fr);gap:48px;padding:69px 0 54px;align-items:center}
.portrait-wrap{width:218px}
.portrait{height:267px;border-radius:3px;filter:saturate(.78)}
.portrait-note{font-size:.7rem;margin-top:8px}
.hero-copy .eyebrow,.kicker{
  font-size:.72rem;letter-spacing:.025em;font-weight:500;
  text-transform:none;color:var(--muted);
}
.hero h1{
  font-size:clamp(2.35rem,4vw,2.75rem);font-weight:600;
  letter-spacing:-.032em;line-height:1.16;margin:10px 0 10px;
}
.position{font-size:.96rem;font-weight:500;margin:8px 0 2px}
.affiliation{font-size:.9rem;margin-bottom:19px}
.rule{margin:19px 0 16px}
.interests-label{font-size:.74rem;letter-spacing:0;text-transform:none;font-weight:600;margin-bottom:5px}
.interests{font-size:.89rem;line-height:1.7;margin-bottom:16px}
.link-row{font-size:.88rem;font-weight:500;gap:12px}
.section{margin-top:51px}
.section-heading{margin-bottom:21px}
.more-link{font-size:.83rem;font-weight:500}
.body-copy{max-width:815px;font-size:.96rem;color:var(--ink);line-height:1.9}
.body-copy strong{font-weight:600}
.statement{
  margin:26px 0 18px;padding:7px 0 7px 17px;
  border-left:2px solid var(--border);background:transparent;
  font-size:.98rem;font-weight:400;line-height:1.75;
  color:var(--muted);letter-spacing:-.01em;
}
.research-steps{gap:28px;margin-top:25px}
.step{padding:4px 0;background:transparent;border:0;border-radius:0}
.step-no{font-size:.7rem;font-weight:500;letter-spacing:.01em;color:var(--muted)}
.step h3{margin:7px 0 5px;font-size:.92rem;font-weight:600}
.step p{font-size:.84rem;line-height:1.75}
.section-rule{margin-top:56px;background:var(--border)}
.project-list{gap:0}
.project{
  grid-template-columns:125px minmax(0,1fr);gap:21px;
  padding:19px 0;border:0;border-bottom:1px solid var(--border);
  border-radius:0;background:transparent;box-shadow:none;
}
.project:first-child{padding-top:4px}
.project:hover{border-color:var(--border)}
.project-art{min-height:100px;border-radius:3px;background:var(--card)}
.project-art svg{max-height:110px}
.project-kind{font-size:.71rem;letter-spacing:.01em;font-weight:500;text-transform:none;color:var(--muted)}
.project h3{font-size:1rem;line-height:1.52;margin:3px 0 6px}
.project p{font-size:.86rem;line-height:1.72}
.project-meta{font-size:.74rem;margin-top:8px}
.news-entry summary{padding:16px 2px;grid-template-columns:99px 1fr 19px;gap:15px}
.news-title{font-size:.9rem;font-weight:500}
.news-date{font-size:.77rem}
.news-detail{margin:-4px 36px 17px 116px;font-size:.87rem}
.tag{font-weight:400;font-size:.68rem;border-color:var(--border);background:transparent;padding:1px 7px}
.pub-list{gap:17px}
.pub{padding-bottom:17px}
.pub-year{font-weight:500;color:var(--muted)}
.pub-title{font-weight:600;font-size:.96rem}
.pub-authors,.pub-venue{font-size:.84rem}
.pub-award{color:var(--accent);background:transparent;padding:0;font-size:.78rem}
.page-hero{padding:68px 0 26px}
.page-hero h1{
  font-family:'Inter',sans-serif;font-size:clamp(2.15rem,4vw,2.5rem);
  font-weight:600;line-height:1.2;letter-spacing:-.03em;margin:10px 0 17px;
}
.page-hero p{font-size:.94rem}
.detail-list{gap:0}
.detail{
  background:transparent;border:0;border-bottom:1px solid var(--border);
  padding:24px 0;border-radius:0;
}
.detail:first-child{padding-top:14px}
.detail h2{font-family:'Inter',sans-serif;font-size:1.09rem;font-weight:600;letter-spacing:-.016em}
.detail p{font-size:.92rem;line-height:1.82}
.detail .micro{font-size:.8rem;font-weight:500;color:var(--muted)}
.empty-state{background:transparent;border:1px solid var(--border);border-radius:3px}
.empty-state h2{font-size:1.5rem}
.topic-chips span{font-size:.79rem;border-radius:4px}
.site-footer{font-size:.77rem;padding:26px 0 38px}
@media(max-width:850px){
  .hero{grid-template-columns:198px minmax(0,1fr);gap:33px;padding-top:55px}
  .portrait-wrap{width:198px}.portrait{height:240px}
  .nav{gap:15px}
}
@media(max-width:640px){
  .header-inner{min-height:63px}
  .nav{top:63px}
  .hero{display:block;padding:36px 0 24px}
  .portrait-wrap{width:184px;margin-bottom:25px}
  .portrait{height:224px}
  .hero h1{font-size:2.45rem}
  h2{font-size:1.4rem}
  .section{margin-top:39px}
  .section-rule{margin-top:42px}
  .research-steps{grid-template-columns:1fr;gap:18px}
  .project{grid-template-columns:90px minmax(0,1fr);gap:15px;padding:16px 0}
  .project-art{min-height:96px}
  .project h3{font-size:.92rem}
  .project p{font-size:.81rem}
  .news-entry summary{grid-template-columns:80px 1fr 15px;gap:8px}
  .news-detail{margin:-4px 20px 17px 88px}
  .page-hero{padding:44px 0 18px}
  .page-hero h1{font-size:2.2rem}
  .detail{padding:20px 0}
  .statement{font-size:.95rem}
}

/* Profile and research content revision */
.hero{grid-template-columns:176px minmax(0,1fr);gap:39px;padding:53px 0 40px}
.portrait-wrap{width:176px}.portrait{height:215px;object-position:center 42%}
.hero h1{font-size:2.05rem;letter-spacing:-.025em;margin:0 0 12px}
.position{font-size:.92rem}.affiliation{font-size:.87rem}
.hero .eyebrow{display:none}
.research-statement-block{padding:26px 0;border-bottom:1px solid var(--border);max-width:780px}
.research-statement-block h2{font-size:1.12rem;margin-bottom:10px}
.research-statement-block p{font-size:.95rem;line-height:1.82;color:var(--muted)}
.research-statement-block .statement-line{color:var(--ink);font-weight:600}
.tbd-marker{font-size:.82rem;color:var(--muted);font-weight:400}
.paper-abstract{max-width:750px;font-size:.87rem;line-height:1.7;color:var(--muted);margin:12px 0}
.pub h2.pub-title{font-family:Inter,Arial,sans-serif;font-size:1.04rem;line-height:1.5;font-weight:600;margin:4px 0 7px;letter-spacing:-.012em}
@media(max-width:640px){.hero{display:block;padding:32px 0 21px}.portrait-wrap{width:168px;margin-bottom:21px}.portrait{height:206px}.hero h1{font-size:2.05rem}}
