:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:light;background:var(--page-bg);color:var(--text);--ultra-violet: #5f4b8b;--navy-peony: #223a5e;--page-bg: #f7f7f5;--text: #454545;--heading: #171717;--link: #242424;--faint: #858585;--underline: #bcbcb7;--card-bg: rgba(255, 255, 255, .54);--card-line: rgba(255, 255, 255, .9);--glass-shadow: rgba(0, 0, 0, .075);--glass-rim: rgba(255, 255, 255, .96);--glass-shine: rgba(255, 255, 255, .7);--muted: #707070;--line: #dededb;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas, monospace;scroll-behavior:smooth;scroll-padding-top:36px}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:var(--link);text-decoration:none;text-underline-offset:4px}a:hover{text-decoration:underline;color:var(--heading)}a:focus-visible,button:focus-visible{outline:2px solid var(--link);outline-offset:5px}button{font:inherit;cursor:pointer;color:inherit}::selection{background:var(--heading);color:var(--page-bg)}.skip-link{position:fixed;top:-70px;left:20px;padding:10px 15px;z-index:10;background:var(--heading);color:var(--page-bg)}.skip-link:focus{top:12px}.page{width:min(1040px,calc(100% - 88px));margin-inline:auto}.site-header{display:flex;align-items:center;height:93px;border-bottom:1px solid var(--line);gap:32px;position:relative}.home-link{font:12px var(--mono);color:var(--muted)}.home-link .prompt{color:var(--link)}.site-header>nav{display:flex;gap:25px;margin-left:auto;font-size:12px}.site-header>nav a{color:var(--muted)}.document-layout{display:grid;grid-template-columns:165px minmax(0,1fr);column-gap:56px;padding-top:55px;align-items:start}.document-index{position:sticky;top:36px;padding-top:7px;font-size:12px}.index-label{font:10px var(--mono);color:var(--faint);margin:0 0 17px}.document-index nav{display:flex;flex-direction:column;gap:13px;border-left:1px solid var(--line);padding-left:13px}.document-index nav a{color:var(--muted);position:relative}.document-index nav a.current{color:var(--heading)}.document-index nav a.current:before{content:"";position:absolute;left:-14px;top:0;bottom:0;width:1px;background:var(--heading)}.index-links{display:flex;flex-direction:column;gap:11px;margin-top:33px;font-size:11px}.index-links a{color:var(--muted)}main{min-width:0}section{scroll-margin-top:15px}h1{color:var(--heading);font-size:36px;font-weight:550;letter-spacing:-1.2px;line-height:1.25;margin:0 0 9px}.affiliation{font-size:15px;margin:0 0 6px;color:var(--text)}.affiliation a{color:inherit}.department{font-size:13px;color:var(--muted);margin:0;line-height:1.6}.profile-links{display:flex;flex-wrap:wrap;align-items:center;column-gap:11px;row-gap:10px;margin-block:24px 28px;font-size:13px}.profile-links>span{color:var(--faint);font-size:11px}.biography{font-size:15px;line-height:1.85}.biography p{margin:0 0 17px}strong{font-weight:550;color:var(--heading)}h2{color:var(--heading);font-size:22px;font-weight:500;letter-spacing:-.4px;line-height:1.4;margin:0}main>section+section{margin-top:46px}.section-title{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 18px}.section-link{font-size:11px}.section-intro{font-size:12px;color:var(--muted);margin:11px 0 26px;line-height:1.7}.publication-year{display:grid;grid-template-columns:48px minmax(0,1fr);gap:21px;border-top:1px solid var(--line);padding-top:23px;margin-top:4px}.year-heading{font:12px var(--mono);color:var(--muted);margin:3px 0 0}.publication-list{padding:0;margin:0;list-style:none}.publication{margin:0 0 25px}.publication h3{font-size:15px;font-weight:500;line-height:1.6;letter-spacing:-.08px;margin:0 0 5px}.publication h3 a{color:var(--link)}.publication h3 a:hover{color:var(--heading)}.authors{font-size:12px;line-height:1.75;margin:0 0 4px;color:var(--muted)}.authors strong{font-weight:500;color:var(--text)}.publication-details{font-size:11px;line-height:1.6;margin:0;color:var(--muted);display:flex;gap:9px}.detail-separator{color:var(--faint)}.publication-details>span:first-child{font-style:italic}.publication-details a{color:var(--muted)}.background-list{margin:24px 0 15px;font-size:14px}.background-list>div{display:grid;grid-template-columns:48px minmax(0,1fr);gap:21px;margin-bottom:22px}.background-list dt{font:11px var(--mono);padding-top:4px;color:var(--muted)}.background-list dd{margin:0;line-height:1.7}.background-list dd>*{display:block}.background-list strong{font-weight:450;color:var(--text)}.background-list dd>span{color:var(--muted);font-size:13px}.background-list dd>.background-note{color:var(--faint);font-size:12px}.background-link{font-size:12px;margin-top:24px}#contact>p{margin:21px 0 16px;display:flex;align-items:center;gap:12px;font-size:14px}.copy-email{padding:3px;color:var(--muted);background:none;border:0;display:inline-flex}.copy-email:hover{color:var(--heading)}address{font-style:normal;font-size:13px;line-height:1.85;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:26px 0 35px;margin-top:50px;border-top:1px solid var(--line);font-size:10px;color:var(--faint)}footer p{margin:0}footer a{color:var(--muted)}footer button{border:0;background:none;padding:0;margin-left:auto;color:var(--muted);font-size:10px}footer button:hover{text-decoration:underline}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,8px);opacity:0;pointer-events:none;color:var(--heading);border:1px solid var(--line);border-radius:4px;padding:11px 16px;font-size:12px;background:var(--page-bg);transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%)}@media(max-width:1000px){.page{width:min(860px,calc(100% - 64px))}.document-layout{grid-template-columns:130px minmax(0,1fr);gap:35px}.biography{font-size:14px}h1{font-size:33px}.profile-links{gap:9px;font-size:12px}}@media(max-width:760px){.page{width:min(640px,calc(100% - 48px))}.site-header{height:77px;gap:24px}.site-header>nav{font-size:11px;gap:18px}.document-layout{display:block;padding-top:37px}.document-index{display:none}h1{font-size:34px}.biography{font-size:15px}.profile-links{font-size:13px}}@media(max-width:480px){.page{width:calc(100% - 36px)}.site-header{height:68px;gap:12px}.home-link{font-size:10px}.site-header>nav{gap:15px;font-size:10px}.site-header>nav a:last-child{display:none}.document-layout{padding-top:32px}h1{font-size:31px;letter-spacing:-.8px}.affiliation{font-size:13px;line-height:1.7}.department{font-size:12px}.profile-links{font-size:12px;column-gap:9px;row-gap:8px;margin-block:23px}.profile-links>span{font-size:9px}.biography{font-size:14px;line-height:1.9}main>section+section{margin-top:37px}h2{font-size:21px}.section-link{font-size:10px}.section-intro{font-size:11px;margin-bottom:20px}.publication-year{grid-template-columns:1fr;row-gap:15px;padding-top:19px}.year-heading{font-size:11px}.publication{margin-bottom:23px}.publication h3{font-size:14px;line-height:1.7}.authors{font-size:11px;line-height:1.8}.publication-details{font-size:10px}.background-list>div{grid-template-columns:39px minmax(0,1fr);gap:15px}.background-list strong{font-size:13px}.background-list dd>span{font-size:12px}.background-list dd>.background-note{font-size:11px}#contact>p{font-size:13px;gap:8px}address{font-size:12px}footer{flex-wrap:wrap;gap:16px;font-size:9px;padding-bottom:27px}footer button{font-size:9px}footer>a{display:none}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}:root[data-theme=dark]{color-scheme:dark;--page-bg: #101010;--text: #c6c6c6;--heading: #ededed;--link: #e0e0e0;--muted: #999999;--faint: #888888;--underline: #606060;--line: #303030;--card-bg: rgba(255, 255, 255, .025);--card-line: rgba(255, 255, 255, .12);--glass-shadow: rgba(0, 0, 0, .32);--glass-rim: rgba(255, 255, 255, .3);--glass-shine: rgba(255, 255, 255, .14)}body{background:radial-gradient(ellipse 650px 400px at 76% 180px,rgba(135,135,135,.055),transparent 80%),var(--page-bg)}.profile-links a{text-decoration:underline;text-decoration-color:var(--underline);text-decoration-thickness:1px}a:hover{text-decoration-color:currentColor}.theme-toggle{display:inline-grid;place-items:center;width:29px;height:29px;border:1px solid var(--line);border-radius:50%;background:transparent;padding:6px;color:var(--muted);flex:none}.theme-toggle:hover{color:var(--heading);border-color:var(--muted)}.theme-toggle svg{width:15px;height:15px}.theme-sun{display:none}[data-theme=dark] .theme-sun{display:block}[data-theme=dark] .theme-moon{display:none}.profile-card{position:relative;isolation:isolate;padding:24px 27px 23px;margin:-25px -28px 0;border:1px solid var(--card-line);border-radius:17px;background:linear-gradient(125deg,var(--glass-shine),transparent 44%),var(--card-bg);backdrop-filter:blur(22px) saturate(0);-webkit-backdrop-filter:blur(22px) saturate(0);box-shadow:0 7px 30px var(--glass-shadow),0 0 0 1px #7f7f7f0e,inset 0 1px 0 var(--glass-shine),inset 0 -1px #7f7f7f0d}.profile-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,var(--glass-shine),transparent 24%,transparent 70%,var(--glass-shine));padding:1px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}.glass-reflection{position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(430px circle at var(--glass-x, 90%) var(--glass-y, 10%),var(--glass-shine),transparent 70%);opacity:.5}.profile-card .biography p:last-child{margin-bottom:0}.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}.profile-card{padding-top:62px;overflow:hidden}.profile-chrome{position:absolute;top:0;left:0;right:0;height:35px;display:flex;align-items:center;gap:13px;padding:0 18px;border-bottom:1px solid rgba(95,75,139,.14);background:linear-gradient(100deg,#5f4b8b11,#223a5e09);font:9px var(--mono);color:var(--muted)}.profile-dots{display:flex;gap:5px}.profile-dots i{width:5px;height:5px;border-radius:50%;background:#5f4b8b;opacity:.55;box-shadow:inset 0 1px 1px #fff6}.profile-dots i:nth-child(2){background:#223a5e}.profile-dots i:nth-child(3){background:#999;opacity:.4}.profile-shell{margin-left:auto;font-size:8px;opacity:.65}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused{scroll-behavior:auto}@media(max-width:760px){.site-header{gap:17px}.theme-toggle{width:27px;height:27px}.profile-card{padding:57px 21px 23px;margin:-12px -22px 0}}@media(max-width:480px){.site-header{gap:13px}.site-header>nav{gap:13px}.profile-card{padding:55px 17px 21px;margin:-7px -8px 0;border-radius:14px}.profile-links{column-gap:8px}.profile-links>span{font-size:8px}.profile-card h1{font-size:30px}.profile-chrome{padding-inline:14px;font-size:8px;gap:9px}}.profile-links a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;white-space:nowrap}.profile-links a>span{text-decoration:underline;text-decoration-color:var(--underline);text-underline-offset:4px}.profile-links a:hover>span{text-decoration-color:currentColor}.profile-icon{width:15px;height:15px;flex:none;opacity:.85}@media(max-width:480px){.profile-icon{width:14px;height:14px}.profile-links a{gap:5px}}main{position:relative;isolation:isolate}.profile-substrate{position:absolute;top:-25px;left:-28px;right:-28px;height:var(--profile-height, 480px);z-index:-1;border-radius:17px;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 27px,rgba(127,127,127,.11) 27px 28px),repeating-linear-gradient(90deg,transparent 0 27px,rgba(127,127,127,.11) 27px 28px);-webkit-mask-image:linear-gradient(110deg,#0009,#0002 35% 65%,#0009);mask-image:linear-gradient(110deg,#0009,#0002 35% 65%,#0009)}.profile-card{background:#ffffff40;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(127,127,127,.16);box-shadow:0 8px 22px #00000009}[data-theme=dark] .profile-card{background:#19191947;box-shadow:0 8px 22px #00000026}.profile-card:before,.profile-card:after,.glass-reflection{display:none}.profile-card.liquid-refraction{-webkit-backdrop-filter:url(#profile-refraction) blur(.35px);backdrop-filter:url(#profile-refraction) blur(.35px)}.profile-chrome{background:#7f7f7f09;box-shadow:none;border-bottom:1px solid rgba(127,127,127,.12)}@media(max-width:1000px){.profile-substrate{left:-25px;right:-25px}}@media(max-width:760px){.profile-substrate{top:-12px;left:-22px;right:-22px}}@media(max-width:480px){.profile-substrate{top:-7px;left:-8px;right:-8px;border-radius:14px}}.profile-substrate{background-position:13px 13px}.profile-heading{display:grid;grid-template-columns:168px minmax(0,1fr);gap:26px;align-items:center}.profile-portrait{position:relative;width:168px;height:168px;padding:5px;border-radius:50%;background:#7f7f7f09;border:1px solid var(--line);isolation:isolate}.portrait-image{width:100%;height:100%;overflow:hidden;border-radius:50%}.portrait-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:46% 53%;transform:scale(2.05);transform-origin:46% 55%}.profile-portrait:after{content:"";position:absolute;inset:4px;border-radius:50%;pointer-events:none;border:1px solid rgba(255,255,255,.45)}@media(max-width:1000px){.profile-heading{grid-template-columns:152px minmax(0,1fr);gap:24px}.profile-portrait{width:152px;height:152px}}@media(max-width:480px){.profile-heading{grid-template-columns:116px minmax(0,1fr);gap:16px}.profile-portrait{width:116px;height:116px;padding:4px}.profile-heading h1{font-size:26px}}.profile-portrait{background:linear-gradient(135deg,#fffc,#ffffff14 35%,#7f7f7f1f 65%,#ffffff8c);border:1px solid rgba(127,127,127,.18);box-shadow:0 3px 12px var(--glass-shadow)}.profile-portrait:after{inset:0;padding:0;border:1px solid var(--card-line);background:none;filter:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:inset 0 1px 1px #ffffff80,inset 0 -1px 1px #7f7f7f1f}.portrait-image{filter:none}body{font-size:16px}h1,h2{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:600;letter-spacing:-.025em}h1{font-size:30px;line-height:1.2;margin-bottom:12px}h2{font-size:22px;line-height:1.35}.biography{font-size:16px;line-height:1.7}.biography p{margin-bottom:22px}.affiliation{font-size:16px;line-height:1.55}.department{font-size:14px;line-height:1.6}.profile-links{font-size:14px;row-gap:13px}.profile-icon{width:17px;height:17px}.site-header>nav,.document-index{font-size:14px}.home-link,.index-links{font-size:14px}.index-label{font-size:12px}.section-link,.section-intro,.year-heading{font-size:14px}.publication h3{font-size:17px;font-weight:550;line-height:1.55}.authors{font-size:14px;line-height:1.65}.publication-details{font-size:13px}.publication{margin-bottom:30px}.background-list,.background-list strong{font-size:16px}.background-list dd>span{font-size:14px}.background-list dd>.background-note,.background-link{font-size:13px}.background-list dt{font-size:14px}#contact>p{font-size:15px}address{font-size:14px}footer,footer button{font-size:12px}.profile-chrome{font-size:11px}.profile-shell{font-size:10px}@media(max-width:1000px){h1{font-size:30px}}@media(max-width:480px){.profile-heading h1{font-size:26px}h2{font-size:22px}.biography{font-size:16px;line-height:1.7}.affiliation{font-size:16px}.department{font-size:15px}.profile-links{font-size:14px}.profile-icon{width:16px;height:16px}.home-link{font-size:12px}.site-header>nav{font-size:13px}.publication h3{font-size:17px}.authors,.publication-details,.section-intro,.section-link{font-size:14px}.background-list strong{font-size:16px}.background-list dd>span,address{font-size:14px}.background-list dd>.background-note{font-size:14px}#contact>p{font-size:15px}.profile-chrome{font-size:10px}}.project-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.project-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card-bg);color:var(--link);font-size:15px;line-height:1.4;white-space:nowrap;transition:border-color .2s,background .2s}.project-chip:hover{text-decoration:none;border-color:var(--muted);background:var(--glass-shine)}.project-chip .profile-icon{width:16px;height:16px}.chip-arrow{color:var(--muted);font-size:12px;margin-left:2px}
