:root{color-scheme:light;--paper:#fcfcfa;--ink:#363d38;--muted:#848980;--link:#396b59;--rule:#e3e6df;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--paper);color:var(--ink);font:13px/1.9 var(--mono);-webkit-font-smoothing:antialiased}
::selection{background:#dce8db;color:var(--ink)}
.page{max-width:780px;margin:68px auto;padding:0 24px}
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:#b3c7ba}
a:hover{text-decoration-color:var(--link);color:#214f3e}
a:focus-visible{outline:2px solid var(--link);outline-offset:4px}
.wordmark{font-size:18px;font-weight:600;letter-spacing:-.5px;text-decoration:none;color:var(--ink)}
nav{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:18px;font-size:12px}
nav span{color:#bdc3ba;font-size:10px}
nav a{text-decoration:none}
nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--link)}
main{margin-top:54px}
main:focus{outline:none}
.bio{display:flow-root}
.bio p{margin:0 144px 19px 0}
.bio p:last-child{margin-bottom:0}
.bio strong{font-weight:600}
.portrait{float:right;display:block;margin:3px 0 14px 24px;width:108px;height:auto!important;aspect-ratio:3/4;object-fit:cover;object-position:center}
.email{padding-top:17px;margin:25px 0 0}
footer{display:flex;flex-wrap:wrap;align-items:center;gap:17px;margin-top:55px;font-size:11px;color:var(--muted)}
footer>span{margin-right:5px}
footer a{color:var(--muted);text-decoration-color:#c6ccc2}
h1{font:600 15px/1.6 var(--mono);margin:0 0 25px}
.author-legend{display:flex;flex-wrap:wrap;gap:4px 18px;margin:-16px 0 29px;color:var(--muted);font-size:11px}
.research-group+.research-group{margin-top:35px}
.research-group>h2{font:600 13px/1.8 var(--mono);margin:0 0 18px;padding-bottom:7px}
.group-toggle,.text-toggle{border:0;background:none;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}
.group-toggle{display:block;width:100%}
.group-toggle::before{content:"";display:inline-block;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid var(--muted);margin-right:9px;vertical-align:1px;transform-origin:3px 4px}
.group-toggle[aria-expanded="true"]::before{transform:rotate(90deg)}
.toggle-hint{display:inline-block;font-size:10px;font-weight:400;color:var(--muted);margin-left:8px}
.group-toggle:hover .toggle-hint,.text-toggle:hover{color:var(--link)}
.group-toggle:focus-visible,.text-toggle:focus-visible{outline:2px solid var(--link);outline-offset:4px}
.text-toggle{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#b3c7ba}
.tldr-toggle[aria-expanded="true"]{color:var(--link)}
.publication-tldr{margin:9px 0 0;padding-left:12px;border-left:2px solid var(--rule);font-size:12px;line-height:1.85;color:#70786f}
.publication{margin-bottom:24px}
.publication:last-child{margin-bottom:0}
.publication h3{font:400 13px/1.8 var(--mono);margin:0 0 4px}
.publication-authors{font-size:11px;line-height:1.8;color:#70786f;margin:0 0 3px}
.publication-authors strong{color:var(--ink);font-weight:600}
.publication-authors sup,.author-legend sup{font-size:9px;line-height:0;vertical-align:super}
.publication-meta{font-size:11px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap}
.paper-links{display:flex;gap:9px}
.paper-links a{color:var(--muted)}
.project-list,.blog-list{list-style:none;margin:0;padding:0}
.project-list li{margin-bottom:25px}
.project-list li:last-child{margin-bottom:0}
.project-list p{font-size:12px;color:var(--muted);margin:3px 0 0}
.secondary-links{font-size:11px;color:var(--muted);padding-left:6px}
.secondary-links a{color:var(--muted)}
.stars{display:inline-flex;vertical-align:middle;margin-left:9px;text-decoration:none}
.stars img{height:18px;width:auto}
.blog-list li{display:grid;grid-template-columns:75px 1fr;gap:19px;margin:0 0 20px;align-items:baseline}
.blog-list time{font-size:11px;color:var(--muted)}
.blog-venue{font-size:11px;color:var(--muted);margin:3px 0 0}
.experience-section{margin:0 0 31px}
.experience-section h2{font:600 13px/1.8 var(--mono);margin:0 0 17px;padding-bottom:7px}
.experience-list,.award-list,.service-list{list-style:none;margin:0;padding:0}
.experience-list li{display:grid;grid-template-columns:160px 1fr;gap:18px;margin-bottom:19px}
.experience-list strong{font-weight:500}
.experience-list p{color:var(--muted);font-size:11px;margin:1px 0 0}
.experience-date{color:var(--muted);font-size:11px}
.award-list li{display:grid;grid-template-columns:42px 1fr;gap:18px;margin-bottom:13px}
.service-list li{margin-bottom:7px}
@media(max-width:460px){.experience-list li{grid-template-columns:1fr;gap:1px}.experience-list p,.blog-venue{font-size:10px}nav{column-gap:9px!important}.experience-section h2{font-size:12px}}
.skip-link{position:fixed;top:6px;left:10px;padding:8px;background:var(--paper);transform:translateY(-150%)}
.skip-link:focus{transform:none}
@media(max-width:700px){.page{margin:42px auto;padding:0 27px}main{margin-top:41px}.bio p{margin-right:125px}.portrait{width:93px;height:106px}.bio p:last-child{margin-right:0;clear:both}footer{margin-top:44px}}
@media(max-width:460px){body{font-size:12px;line-height:1.95}.page{margin:33px auto;padding:0 23px}.wordmark{font-size:17px}nav{gap:11px;font-size:11px}main{margin-top:37px}.portrait{width:80px;height:92px;margin-left:19px}.bio p{margin-right:0}.bio p:first-of-type{margin-right:101px;min-height:97px}.bio p:nth-of-type(2){clear:both}.bio p:last-child{margin-top:17px}.email{font-size:11px}footer{gap:14px;font-size:10px}.publication h3{font-size:12px}.publication-meta{font-size:10px;gap:9px}.author-legend{font-size:10px;gap:4px 12px}.blog-list li{grid-template-columns:60px 1fr;gap:12px}.blog-list time{font-size:10px}.project-list p{font-size:11px}}
