:root{color-scheme:light;--ink:#202124;--muted:#6e7378;--blue:#1765a0;--rule:#e8eaed;--soft:#f0f5f9}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none;text-underline-offset:3px}
a:hover{text-decoration:underline;color:#a45020}
a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:5px;border-radius:2px}
button{font:inherit}
.skip-link{position:absolute;left:16px;top:-60px;background:#fff;padding:8px 12px;z-index:2}
.skip-link:focus{top:12px}
.page{width:min(100% - 40px,800px);margin:0 auto}
.intro{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:45px;align-items:center;padding:43px 12px 48px}
h1{font-size:36px;line-height:1.2;font-weight:400;text-align:center;margin:0 0 8px;letter-spacing:-.7px}
.affiliation{text-align:center;color:var(--muted);margin:0 0 24px;font-size:15px}
.bio p{margin:0 0 15px}
.profile-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;margin-top:20px}
.profile-links .divider{color:#96999e}
.identity{margin:0;display:flex;align-items:center;justify-content:center}
.portrait{display:block;width:210px;height:255px;max-width:100%;object-fit:cover;object-position:86% center;border-radius:50%;background:var(--soft)}
.section{padding:0 12px;margin-bottom:44px}
.section-header{display:flex;align-items:baseline;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:25px}
.publication-header{justify-content:flex-end;margin-bottom:20px}
.publication-selection{color:var(--blue);font-size:14px}
h2{font-size:25px;font-weight:400;letter-spacing:-.35px;line-height:1.3;margin:0}
.publication-controls{display:none;align-items:center;gap:9px;color:#b4b7bb;font-size:14px}
.js .publication-controls{display:flex}
.filter{background:none;padding:4px 0;border:0;color:var(--muted);cursor:pointer;line-height:1.2}
.filter:hover{color:var(--blue)}
.filter[aria-pressed=true]{color:var(--blue);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.filter .count{font-size:13px}
.publication{margin-bottom:25px}
.publication[hidden]{display:none}
.paper-title{font-size:16px;line-height:1.45;font-weight:600;margin:0 0 1px}
.authors{margin:0;line-height:1.4}
.authors strong{font-weight:600}
.venue{margin:1px 0 0}
.venue em{font-style:italic}
.paper-links{display:flex;gap:12px;margin-top:1px;font-size:15px}
.research-note{color:var(--muted);font-size:14px;margin:30px 0 0}
.career-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;margin-bottom:24px;align-items:start}
.career-row h3{font-size:16px;line-height:1.4;margin:0 0 2px;font-weight:600}
.career-row p{margin:0}.career-row .date{color:var(--muted);font-size:14px;white-space:nowrap;padding-top:2px}
.career-row .detail{font-size:14px;line-height:1.45;color:var(--muted);margin-top:4px;max-width:520px}
.incoming{color:#8a6432;font-size:14px}.honors{padding-left:19px;line-height:1.9;margin-top:14px}
.contact{padding-top:25px;border-top:1px solid var(--rule)}
.contact p{margin:13px 0 0}
.email{display:inline-block;margin-top:4px}
footer{border-top:1px solid var(--rule);padding:19px 12px 28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--muted)}
footer a{color:var(--muted)}
@media(min-width:1200px){.page{width:800px}.intro{padding-top:48px}}
@media(max-width:620px){.page{width:calc(100% - 36px)}.intro{grid-template-columns:1fr;gap:25px;padding:32px 0 34px}.identity{grid-row:1}.portrait{width:145px;height:170px}h1{font-size:33px}.affiliation{margin-bottom:23px}.section{padding:0;margin-bottom:34px}.section-header{margin-bottom:24px;gap:13px}h2{font-size:24px}.publication-controls{font-size:14px}.publication{margin-bottom:24px}.paper-title{line-height:1.5}.career-row{grid-template-columns:1fr;gap:5px}.career-row .date{padding-top:0}.contact{padding-top:24px}footer{padding:18px 0 24px}.profile-links{margin-top:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.intro{padding-top:0;grid-template-columns:1fr}.identity,.publication-controls,.skip-link,footer>a{display:none!important}.publication[hidden]{display:block!important}body{font-size:11px}.page{width:100%}.publication{break-inside:avoid;margin-bottom:16px}a{color:inherit}.paper-title{font-size:12px}}
