@charset "UTF-8";
:root{--bg:#fff;--surface:#f2f3f3;--text:#494e52;--muted:#737b80;--line:#eeeeee;--accent:#267d98;--photo:#edf0f2;color-scheme:light}
:root[data-theme="dark"]{--bg:#202427;--surface:#292f33;--text:#e4e7e9;--muted:#b0b8bd;--line:#3b4247;--accent:#7dc9df;--photo:#35434b;color-scheme:dark}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.65}a{color:var(--accent);text-decoration:none;text-underline-offset:3px}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.site-shell{max-width:1280px;padding:0 30px;margin:auto}.header{position:relative;display:flex;align-items:center;gap:44px;min-height:82px;margin-bottom:40px}.header:after{content:"";position:absolute;bottom:0;left:calc((100vw - 100%)/-2);width:100vw;border-bottom:1px solid var(--line)}.brand{font-size:18px;font-weight:700;color:var(--text);white-space:nowrap}.header nav{display:flex;gap:30px;align-items:center;flex:1;flex-wrap:wrap;padding:16px 0}.header nav a{font-size:15px;color:var(--muted);white-space:nowrap}.header nav a:hover{color:var(--text)}.theme-toggle{flex-shrink:0;width:30px;height:30px;background:transparent;color:var(--muted);border:0;border-radius:4px;cursor:pointer;font-size:21px}.theme-toggle:hover{background:var(--surface)}.page-layout{display:grid;grid-template-columns:220px minmax(0,820px);gap:46px;min-height:calc(100vh - 255px);padding-bottom:65px}.profile{position:sticky;top:30px;align-self:start}.portrait-placeholder,.profile-photo{width:174px;height:174px;border-radius:50%;margin:0 0 20px 0;object-fit:cover;border:1px solid var(--line);padding:5px;background:var(--bg)}.portrait-placeholder{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--photo);box-shadow:inset 0 0 0 5px var(--bg);color:var(--muted)}.portrait-placeholder>span{font-size:48px;font-weight:300;line-height:1.2;letter-spacing:1px}.portrait-placeholder small{font-size:8px;letter-spacing:1.6px;margin-top:13px}.profile-photo{display:block}h1{font-size:21px;line-height:1.3;margin:0 0 10px;font-weight:700;overflow-wrap:anywhere}.profile-role{font-size:14px;margin:0 0 10px}.affiliation{font-size:13px;line-height:1.7;margin:0 0 18px}.profile-location{font-size:13px;margin:0 0 10px}.profile-location:before{content:"•";display:inline-block;width:20px;color:var(--muted)}.profile-links{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.profile-links a{font-size:13px;color:var(--text)}.profile-links a:before{content:"↗";display:inline-block;width:20px;color:var(--muted);font-size:12px}main{min-width:0}section{padding:23px 0 8px}section:first-child{padding-top:0}h2{font-family:inherit;font-size:25px;line-height:1.35;font-weight:700;letter-spacing:-.5px;margin:0 0 20px}.section-heading{border-bottom:1px solid var(--line);margin-bottom:19px}.section-heading h2{font-size:22px;margin-bottom:9px}.section-number{display:none}p{margin:0 0 18px}#about [data-content] p{font-size:16px;line-height:1.8}.muted{color:var(--muted);font-size:14px}.research-list{padding-left:22px;margin:0 0 12px}.research-list li{padding-left:3px;margin-bottom:14px}h3{font-size:17px;line-height:1.5;margin:0 0 4px;font-weight:600}.research-list p{font-size:15px;margin:0}.publication{padding:0 0 20px;margin:0 0 18px;border-bottom:1px solid var(--line)}.publication:last-child{border-bottom:0;margin-bottom:0}.publication h3{color:var(--accent);font-size:16px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;margin-bottom:7px}.publication p{font-size:16px;margin:4px 0}.venue{font-style:italic}.publication .entry-note,.entry-note{font-size:14px;color:var(--muted)}.publication-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:14px}.publication-links a{border:1px solid var(--line);padding:2px 9px;border-radius:3px}.citation{font-size:13px;margin-top:12px}.citation summary{cursor:pointer;color:var(--accent);width:fit-content}.citation pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:15px;background:var(--surface);font-size:12px}.experience-row{display:grid;grid-template-columns:115px minmax(0,1fr);gap:22px;margin:0 0 23px}.date{font-size:14px;color:var(--muted);padding-top:3px;overflow-wrap:anywhere}.experience-row p{font-size:16px;margin:2px 0}.experience-row .entry-note{font-size:14px}.contact-details{font-size:16px;margin:0}.contact-details>div{display:grid;grid-template-columns:115px minmax(0,1fr);gap:22px;margin:9px 0}.contact-details dt{font-weight:600}.contact-details dd{margin:0;overflow-wrap:anywhere}footer{position:relative;padding:28px 0 35px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}footer:before{content:"";position:absolute;z-index:-1;inset:0 calc((100vw - 100%)/-2);background:var(--surface)}footer a{color:var(--muted)}.skip-link{position:fixed;top:-80px;left:20px;z-index:5;background:var(--bg);padding:10px 20px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.header{gap:25px}.header nav{gap:19px}.header nav a{font-size:13px}.page-layout{grid-template-columns:185px minmax(0,1fr);gap:32px}}
@media(max-width:760px){.site-shell{padding:0 22px}.header{flex-wrap:wrap;gap:0;margin-bottom:28px;padding-top:18px;justify-content:space-between}.header nav{order:3;flex-basis:100%;gap:12px 22px;padding:15px 0}.header nav a{font-size:12px}.brand{font-size:17px}.page-layout{grid-template-columns:minmax(0,1fr);gap:30px;padding-bottom:40px}.profile{position:static;display:grid;grid-template-columns:105px minmax(0,1fr);column-gap:20px}.portrait-placeholder,.profile-photo{grid-column:1;grid-row:1/6;width:100px;height:100px;margin:0}.portrait-placeholder>span{font-size:30px}.portrait-placeholder small{font-size:5px;letter-spacing:1px;margin-top:7px}.profile h1,.profile-role,.affiliation,.profile-location,.profile-links{grid-column:2}.profile h1{grid-row:1;font-size:20px}.profile-role{margin-bottom:5px}.affiliation{margin-bottom:8px}.profile-links{flex-direction:row;flex-wrap:wrap;gap:5px 16px}.profile-links a{font-size:12px}.profile-links a:before{display:none}h2{font-size:24px}.section-heading h2{font-size:21px}.experience-row,.contact-details>div{grid-template-columns:85px minmax(0,1fr);gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.profile-links a:before,.profile-location:before{display:none}.profile-icon{display:inline-block;width:22px;margin-right:3px;font-size:13px;text-align:center;vertical-align:baseline}
.linkedin-icon{height:14px;vertical-align:-2px;background:#0a66c2;-webkit-mask:url('assets/linkedin.svg') center/14px 14px no-repeat;mask:url('assets/linkedin.svg') center/14px 14px no-repeat}

.github-icon{height:14px;vertical-align:-2px;background:currentColor;-webkit-mask:url('assets/github.svg') center/14px 14px no-repeat;mask:url('assets/github.svg') center/14px 14px no-repeat}
