:root{--ink:#202c3b;--muted:#626d7a;--blue:#17649b;--line:#e4e9ee;--soft:#f4f8fb;--header:72px;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:var(--blue);text-decoration:none;text-underline-offset:3px}a:hover{text-decoration:underline}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8ab8db;outline-offset:4px;border-radius:3px}img{max-width:100%;display:block}button{cursor:pointer}.skip-link{position:fixed;top:-80px;left:16px;background:var(--ink);color:white;padding:10px 18px;z-index:100}.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.nav-shell{max-width:1200px;margin:auto;min-height:var(--header);padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{color:var(--ink);font-weight:700;font-size:18px;white-space:nowrap;letter-spacing:-.4px}.brand:hover{text-decoration:none}.nav-links{display:flex;align-items:center;gap:25px}.nav-links a{font-size:14px;color:var(--muted);padding:23px 0 20px;border-bottom:3px solid transparent;line-height:26px}.nav-links a:hover,.nav-links a[aria-current="location"]{color:var(--blue);text-decoration:none;border-color:var(--blue)}.menu-toggle{display:none;background:white;border:1px solid var(--line);border-radius:6px;padding:7px 12px;align-items:center;gap:8px;color:var(--ink)}.menu-icon{width:16px;height:12px;border-top:1.5px solid;border-bottom:1.5px solid;position:relative}.menu-icon:after{content:"";position:absolute;left:0;right:0;top:4px;border-top:1.5px solid}
.layout{max-width:1200px;margin:0 auto;padding:50px 32px 60px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:64px}.profile{position:sticky;top:108px;align-self:start}.portrait{width:182px;height:210px;object-fit:cover;object-position:center 35%;border-radius:9px;margin:0 0 22px;background:var(--soft)}.profile h1{font-size:29px;line-height:1.2;letter-spacing:-.8px;margin:0 0 7px;font-weight:700}.position{margin:0 0 20px;font-size:16px;color:var(--muted)}.affiliation{font-size:14px;line-height:1.7;margin:0 0 20px}.affiliation a{color:var(--ink)}.affiliation a:first-child{font-weight:600}.contact-list{padding:0;list-style:none;font-size:13px;color:var(--muted);margin:0 0 20px}.contact-list li{display:flex;gap:10px;align-items:flex-start;margin:9px 0}.contact-list svg{width:15px;height:19px;flex:none;stroke:currentColor;stroke-width:1.6;fill:none;margin-top:2px}.profile-divider{height:1px;background:var(--line);width:38px;margin:24px 0}.profile-interests{font-size:13px;line-height:1.9;color:var(--muted)}.profile-interests strong{font-size:11px;letter-spacing:1.1px;color:var(--ink);text-transform:uppercase;font-weight:600;display:block;margin-bottom:5px}
main{min-width:0}section{scroll-margin-top:0;margin-bottom:49px}h2{font-size:25px;font-weight:650;line-height:1.3;letter-spacing:-.55px;margin:0 0 21px;padding-bottom:12px;border-bottom:1px solid var(--line)}p{margin:0 0 17px}.about p{font-size:15.5px;line-height:1.85}.recruitment{border-left:3px solid var(--blue);background:var(--soft);padding:13px 18px;margin-top:22px;font-size:14px;line-height:1.7}.recruitment strong{font-weight:650}.recruitment p{font-size:14px;margin:0}.news-list{list-style:none;padding:0;margin:0}.news-list li{display:grid;grid-template-columns:76px minmax(0,1fr);gap:18px;margin:0 0 13px;font-size:14px;line-height:1.75}.news-date{font-size:12px;letter-spacing:.3px;color:var(--muted);padding-top:2px;font-variant-numeric:tabular-nums}.news-list strong{font-weight:600}.older-news{margin-top:13px}.older-news>summary{cursor:pointer;color:var(--blue);font-size:13px;width:fit-content}.older-news[open]>summary{margin-bottom:16px}
.section-caption{font-size:13px;color:var(--muted);margin-top:-8px;margin-bottom:23px}.year-heading{display:flex;align-items:center;gap:16px;font-size:17px;font-weight:600;color:var(--muted);margin:29px 0 7px;line-height:1.4}.year-heading:first-child{margin-top:0}.year-heading:after{content:"";height:1px;background:var(--line);flex:1}.paper-list{list-style:none;padding:0;margin:0}.paper{display:grid;grid-template-columns:92px minmax(0,1fr);gap:20px;padding:20px 0;border:0;scroll-margin-top:0}.paper:last-child{border-bottom:0}.venue{align-self:start;display:flex;justify-content:center;text-align:center;padding:6px 5px;line-height:1.4;font-size:11.5px;letter-spacing:.1px;font-weight:650;color:#285d87;background:#f0f6fb;border:1px solid #dce8f1;border-radius:5px;margin-top:3px;white-space:nowrap}.paper-body{min-width:0}.paper-title{font-size:15.5px;line-height:1.55;font-weight:650;margin:0 0 7px;letter-spacing:-.1px}.paper-title>a{color:var(--ink)}.paper-title>a:hover{color:var(--blue)}.ccf,.award{display:inline-block;vertical-align:middle;font-size:10px;line-height:1.6;font-weight:600;padding:1px 5px;border-radius:3px;white-space:nowrap;letter-spacing:0;margin-left:5px}.ccf{color:#6a7380;background:#f1f3f5;border:1px solid #e6e9ed}.award{color:#8b611a;background:#fff7e7;border:1px solid #f2dfb7}.authors{font-size:12.5px;line-height:1.8;color:var(--muted);margin:0 0 9px;overflow-wrap:anywhere}.authors strong{color:var(--ink);font-weight:650}.paper-tools{display:flex;flex-wrap:nowrap;gap:6px;align-items:center}.resource-link,.detail-toggle,.paper-detail summary{font-family:inherit;font-size:11px;line-height:1.5;color:var(--blue);padding:4px 8px;border:1px solid #dce5ec;border-radius:4px;background:#fff;cursor:pointer;display:inline-block;list-style:none;min-height:27px}.resource-link:hover,.detail-toggle:hover,.detail-toggle[aria-expanded="true"],.paper-detail summary:hover,.paper-detail[open] summary{background:var(--soft);border-color:#b6cddd;text-decoration:none}.paper-detail{display:block}.paper-detail summary::-webkit-details-marker{display:none}.paper-detail summary::after{content:" +";font-size:11px;color:#8a9eae}.paper-detail[open] summary::after{content:" −"}.detail-content{background:var(--soft);border:1px solid var(--line);border-radius:5px;padding:15px 17px;margin-top:6px;font-size:13px;line-height:1.85;overflow-wrap:anywhere}.detail-content p:last-child{margin-bottom:0}.detail-heading{font-size:11px;font-weight:650;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.bib-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.bib-toolbar .detail-heading{margin:0}.copy-bib{font-size:11px;border:1px solid #c9d7e1;background:#fff;border-radius:4px;color:var(--blue);padding:5px 10px}.bibtex{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;color:#384c60}.preprint-heading{margin-top:37px;font-size:19px;color:var(--ink);font-weight:600}.status{font-size:11px;color:var(--muted);line-height:27px}.unverified{color:var(--muted);font-style:italic}
.plain-list{padding-left:19px;margin:0;font-size:14px;line-height:1.9}.plain-list li{padding-left:3px;margin:7px 0}.plain-list strong{font-weight:600}.student-columns{display:grid;grid-template-columns:1fr 1fr;gap:17px 32px}.student-group h3{font-size:15px;font-weight:600;margin:0 0 8px}.student-group ul{list-style:none;padding:0;margin:0;font-size:13px;line-height:1.9;color:var(--muted)}.student-group li{margin-bottom:4px}.student-group sup{font-size:9px}.student-group.undergraduates{grid-column:1/-1}.student-group.undergraduates ul{columns:2;column-gap:32px}.student-group li{break-inside:avoid}.alumni-group{margin:30px 0 0}.alumni-group h3{font-size:18px;font-weight:600;margin:0 0 15px}.alumni-group h4{font-size:14px;margin:18px 0 9px;font-weight:600}.alumni-group ul{padding-left:18px;margin:0;font-size:13px;line-height:1.9;color:var(--muted)}.alumni-group li{margin:5px 0}.advising-notes{font-size:11px;color:var(--muted);border-top:1px solid var(--line);margin-top:25px;padding-top:14px}.advising-notes p{margin:3px 0}footer{padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:20px}footer p{margin:0}.copy-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:1440px){.layout{padding-top:60px}}
@media(max-width:1050px){.layout{grid-template-columns:190px minmax(0,1fr);gap:38px;padding-left:28px;padding-right:28px}.nav-shell{padding:0 28px}.nav-links{gap:18px}.portrait{width:165px;height:195px}.paper{grid-template-columns:85px minmax(0,1fr);gap:16px}}
@media(max-width:800px){:root{--header:62px}.nav-shell{padding:0 22px;flex-wrap:wrap;gap:0;min-height:62px}.brand{font-size:17px}.menu-toggle{display:flex;margin:11px 0}.nav-links{width:100%;gap:0 22px;flex-wrap:wrap;padding-bottom:12px}.js .nav-links{display:none}.js .nav-links.is-open{display:flex}.nav-links a{padding:7px 0 5px;font-size:13px}.layout{grid-template-columns:170px minmax(0,1fr);padding:34px 22px 45px;gap:28px}.profile{top:89px}.portrait{width:145px;height:174px;margin-bottom:17px}.profile h1{font-size:26px}.contact-list{font-size:12px}.paper{grid-template-columns:minmax(0,1fr);gap:9px;padding:19px 0}.venue{width:fit-content;padding:4px 9px;font-size:10px;margin-top:0}.paper-title{font-size:15px}.student-columns{grid-template-columns:1fr}.student-group.undergraduates ul{columns:1}.news-list li{gap:10px;grid-template-columns:62px minmax(0,1fr)}h2{font-size:23px}}
@media(max-width:600px){body{font-size:15px}.layout{display:block;padding:29px 21px 35px}.profile{position:static;display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:21px;margin-bottom:35px;padding-bottom:28px;border-bottom:1px solid var(--line)}.portrait{width:104px;height:126px;grid-row:1/4;border-radius:7px;margin:0}.profile h1{font-size:27px;margin:0 0 5px}.position{font-size:14px;margin-bottom:9px}.affiliation{font-size:12px;margin:0}.contact-list{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:0 18px;margin:17px 0 0}.contact-list li{margin:3px 0}.contact-list li.office{display:none}.contact-list svg{width:13px}.profile-divider,.profile-interests{display:none}section{margin-bottom:37px;scroll-margin-top:0}h2{font-size:23px;margin-bottom:17px}.about p{font-size:14px;line-height:1.85}.recruitment{padding:12px 14px;margin-top:18px}.recruitment p{font-size:13px}.news-list li{font-size:13px;gap:10px;margin-bottom:14px}.news-date{font-size:11px}.section-caption{font-size:12px}.paper{gap:10px;padding:19px 0}.paper-title{font-size:15px;line-height:1.6}.authors{font-size:12px;line-height:1.85}.resource-link,.detail-toggle,.paper-detail summary{font-size:11px;padding:7px 10px;min-height:33px}.paper-tools{gap:5px}.detail-content{font-size:12px;padding:12px}.bibtex{font-size:10px}.plain-list{font-size:13px;line-height:1.85}.student-columns{grid-template-columns:1fr 1fr;gap:24px 20px}.student-group.undergraduates ul{columns:2;column-gap:20px}.student-group ul{font-size:12px}.student-group h3{font-size:13px}.alumni-group ul{font-size:12px}.year-heading{font-size:16px}.ccf,.award{font-size:9px}.nav-shell{padding:0 21px}footer{font-size:10px}}
@media(max-width:360px){.layout{padding-left:16px;padding-right:16px}.nav-shell{padding:0 16px}.profile{grid-template-columns:90px minmax(0,1fr);column-gap:16px}.portrait{width:90px;height:114px}.profile h1{font-size:25px}.news-list li{grid-template-columns:54px minmax(0,1fr);gap:9px}.student-columns{grid-template-columns:1fr}.student-group.undergraduates ul{columns:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media print{.site-header,.menu-toggle,.skip-link,.paper-tools,footer,.profile-interests{display:none}.layout{display:block;padding:0}.profile{position:static;margin-bottom:25px}.portrait{width:100px;height:110px;float:right}section{break-inside:auto}.paper{break-inside:avoid}.paper-title>a,a{color:inherit}.older-news{display:block}}

@media(max-width:800px){html{scroll-padding-top:82px}}

/* Keep the action row independent of the expandable panel below it. */
.detail-toggle[hidden]{display:none}
.detail-toggle{white-space:nowrap;flex:none}
.resource-link{white-space:nowrap;flex:none}
.paper-panels{min-width:0}
.js .paper-detail>summary{display:none}
.detail-toggle::after{content:" +";color:#8a9eae}
.detail-toggle[aria-expanded="true"]::after{content:" −"}
.own-name{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.corresponding{font-size:10px;line-height:0;vertical-align:super;margin-left:1px;color:var(--ink);cursor:help}
@media(max-width:600px){.resource-link,.detail-toggle{font-size:10.5px;padding:6px 7px;min-height:31px}}

/* BEGIN publication-spacing-trial: remove only this block to restore spacing. */
#publications .paper{padding-top:12px;padding-bottom:12px}
#publications .paper-title{margin-bottom:5px}
#publications .authors{margin-bottom:6px}
#publications .year-heading{margin-top:24px;margin-bottom:5px}
@media(max-width:800px){#publications .paper{row-gap:8px}}
/* END publication-spacing-trial */

/* BEGIN students-photo-trial */
#students .students-photo-trial{margin:0 0 26px}
#students .students-photo-trial a{display:block;border-radius:8px}
#students .students-photo-trial img{width:100%;height:auto;border-radius:8px}
@media(max-width:600px){#students .students-photo-trial{margin-bottom:22px}}
/* END students-photo-trial */

/* BEGIN students-photo-pair-trial */
#students .students-photo-trial{display:grid;grid-template-columns:minmax(0,1.780938fr) minmax(0,1.333855fr);gap:14px;align-items:start}
#students .students-photo-trial a{min-width:0}
@media(max-width:600px){#students .students-photo-trial{gap:8px}}
/* END students-photo-pair-trial */
