:root{
 color-scheme:dark;
 --bg:#121815;--ink:#edf2ee;--muted:#a5b3ac;--accent:#a6dbc2;--line:#344139;
 --award:#e2bf7b;--hover:#223128;--selection:#345448;
 --heading:Georgia,'Times New Roman',serif;
 --body:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
 --width:1040px;--header-height:72px;
}
html[data-theme="light"]{
 color-scheme:light;
 --bg:#fff;--ink:#242e2b;--muted:#606b64;--accent:#216351;--line:#d9dfd8;
 --award:#8a6230;--hover:#f0f5f1;--selection:#dceee3;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 22px)}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.75 var(--body)}
[hidden]{display:none!important}
a{color:var(--accent);text-underline-offset:4px}
a:hover{text-decoration:underline}
button{font:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
::selection{background:var(--selection);color:var(--ink)}
h1,h2,h3,p{margin:0}
h1,h2{font-family:var(--heading);font-weight:400}
h3{font-size:15px;line-height:1.6;font-weight:600}
strong{font-weight:650}
.skip{position:fixed;left:16px;top:-100px;z-index:200;padding:10px 18px;background:var(--bg)}
.skip:focus{top:10px}
.masthead{position:sticky;top:0;z-index:100;width:100%;background:var(--bg);border-bottom:1px solid var(--line)}
.masthead-inner{max-width:var(--width);min-height:var(--header-height);margin:0 auto;padding:0 36px;display:flex;align-items:center;gap:20px}
.wordmark{font-weight:650;letter-spacing:-.025em;font-size:16px;color:var(--ink);text-decoration:none;white-space:nowrap}
.masthead nav{display:flex;gap:24px;margin-left:auto}
.masthead nav a{font-size:13px;text-decoration:none;color:var(--muted)}
.masthead nav a:hover{color:var(--accent)}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);padding:7px}
.theme-toggle:hover{background:var(--hover);color:var(--accent)}
.theme-toggle svg{width:18px;height:18px}
.theme-toggle .icon-sun{display:none}
html[data-theme="dark"] .theme-toggle .icon-moon{display:none}
html[data-theme="dark"] .theme-toggle .icon-sun{display:block}
.site{max-width:var(--width);padding:0 36px;margin:0 auto}
.profile{padding:53px 0 46px;display:grid;grid-template-columns:minmax(0,1fr) 164px;gap:34px;align-items:start}
.profile-copy{min-width:0}
.profile-photo{display:block;width:164px;height:164px;object-fit:cover;border-radius:50%;margin-top:3px}
.profile h1{font-size:50px;line-height:1.2;letter-spacing:-.045em}
.position{font-size:15px;margin-top:9px}
.contact{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:17px;font-size:12px}
.contact a{text-decoration:none}
.profile-link{display:inline-flex;align-items:center;gap:7px;line-height:1.5;min-height:28px;padding:3px 0}
.contact-icon{width:16px;height:16px;flex-shrink:0}
.intro{font-size:15px;line-height:1.85;max-width:770px;margin-top:23px;color:var(--ink)}
.section{border-top:1px solid var(--line);padding:29px 0 35px;display:grid;grid-template-columns:165px minmax(0,1fr);gap:25px}
.section-label h2{font-size:25px;letter-spacing:-.025em;line-height:1.3}
.section-body{min-width:0}
.minor-label{font-size:12px;font-weight:600;letter-spacing:.01em;color:var(--muted);margin:6px 0 22px}
.publication-toolbar{margin-bottom:10px}
.publication-choices{display:inline-flex;gap:23px;flex-wrap:wrap}
.publication-choices button{border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);padding:7px 0;background:transparent;font-size:13px;min-height:37px}
.publication-choices button[aria-pressed="true"]{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}
.publication-choices button:hover{color:var(--accent)}
.view-count{font-size:11px;padding-left:5px;opacity:.75;font-variant-numeric:tabular-nums}
.publication-status{font-size:11px;color:var(--muted);margin-bottom:22px}
.publication{display:grid;grid-template-columns:1fr;gap:5px;margin-bottom:27px}
.publication:last-child,.publication[data-last-visible]{margin-bottom:0}
.pub-heading{display:flex;align-items:baseline;gap:12px;font-size:11px;line-height:1.6}
.venue{color:var(--muted);font-size:11px;font-weight:550;white-space:nowrap}
.publication h3 a{color:var(--ink);text-decoration:none}
.publication h3 a:hover{color:var(--accent);text-decoration:underline}
.authors{font-size:12px;line-height:1.75;color:var(--muted);margin-top:2px}
.authors strong{color:var(--ink)}
.award{color:var(--award);font-size:11px;font-weight:550;white-space:nowrap}
.preprints{margin-top:30px}
.experience-group + .experience-group{margin-top:27px}
.experience-category{font-size:14px;font-weight:600;margin:0 0 15px}
.experience-entry{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;margin-bottom:17px}
.experience-entry:last-child{margin-bottom:0}
.experience-dates{font-size:11px;color:var(--muted);padding-top:2px;white-space:nowrap;font-variant-numeric:tabular-nums}
.experience-copy{min-width:0}
.experience-title{font-size:13px;line-height:1.75}
.experience-title a{color:var(--ink);text-decoration:none}
.experience-title a:hover{color:var(--accent);text-decoration:underline}
.experience-focus{font-size:12px;color:var(--muted);line-height:1.75;margin-top:3px}
.experience-context{font-size:12px;color:var(--muted);font-weight:400}
.entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 20px;margin-bottom:23px}
.entry:last-child{margin-bottom:0}
.entry .title{font-weight:600;font-size:14px}
.entry .title a{color:var(--ink);text-decoration:none}
.entry .title a:hover{color:var(--accent);text-decoration:underline}
.entry .detail a{text-decoration:none}
.entry .detail a:hover{text-decoration:underline}
.entry p{color:var(--muted);font-size:12px;margin-top:3px}
.entry .detail{font-size:12px;line-height:1.75;margin-top:3px}
.entry .dates{color:var(--muted);font-size:11px;white-space:nowrap;padding-top:3px;font-variant-numeric:tabular-nums}
.service-line{margin:0;font-size:13px;line-height:1.8;color:var(--muted)}
.service-line strong{color:var(--ink)}
.reviewer-distinction{font-weight:600;color:var(--ink)}
.footer{border-top:1px solid var(--line);padding:23px 0 26px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:20px}
.footer a{text-decoration:none;color:var(--muted)}
@media(max-width:800px){
 :root{--header-height:64px}
 .masthead-inner,.site{padding-left:24px;padding-right:24px}
 .masthead-inner{gap:16px}
 .masthead nav{gap:17px}
 .masthead nav a{font-size:12px}
 .profile{padding:35px 0 32px;grid-template-columns:1fr;gap:20px}
 .profile-photo{grid-row:1;width:124px;height:124px;margin-top:0}
 .profile-copy{grid-row:2}
 .profile h1{font-size:43px}
 .intro{font-size:14px}
 .contact{gap:9px 17px}
 .section{padding:26px 0 30px;display:block}
 .section-label{margin-bottom:18px}
 .entry{grid-template-columns:1fr;gap:2px}
 .entry .entry-copy{display:contents}
 .entry .title{grid-row:1}
 .entry .dates{grid-row:2;padding-top:0}
 .entry p{grid-row:3}
 .entry .detail{grid-row:4}
}
@media(max-width:600px){
 :root{--header-height:96px}
 .masthead-inner{display:grid;grid-template-columns:1fr auto;gap:6px 0;padding-top:13px;padding-bottom:12px}
 .wordmark{grid-column:1;grid-row:1}
 .theme-toggle{grid-column:2;grid-row:1}
 .masthead nav{grid-column:1 / -1;grid-row:2;width:100%;justify-content:space-between;gap:8px;margin-left:0}
 .masthead nav a{font-size:12px}
}
@media(max-width:520px){
 .masthead-inner,.site{padding-left:20px;padding-right:20px}
 .wordmark{font-size:15px}
 .contact{font-size:12px;gap:8px 20px}
 .email-link{flex-basis:100%}
 .profile h1{font-size:38px}
 .experience-entry{grid-template-columns:1fr;gap:3px;margin-bottom:18px}
 .experience-dates{padding-top:0}
 .footer{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{
 :root{--header-height:0px}
 html{color-scheme:light!important;--bg:#fff!important;--ink:#111!important;--muted:#444!important;--accent:#111!important;--line:#ddd!important;--award:#111!important}
 .masthead,.skip,.footer,.publication-toolbar{display:none!important}
 .site{max-width:none!important;padding:0!important}
 .profile{padding:0 0 20px!important;grid-template-columns:minmax(0,1fr) 90px!important;gap:20px!important}
 .profile-copy{grid-column:1!important;grid-row:1!important}
 .profile-photo{grid-column:2!important;grid-row:1!important;width:90px!important;height:90px!important}
 .profile h1{font-size:29px!important}
 .profile .position,.profile .intro,.profile .contact{font-size:11px!important}
 .section{display:block!important;padding:20px 0!important}
 .section-label{margin-bottom:18px!important}
 .section-label h2{font-size:19px!important}
 .publication,.entry,.experience-entry{break-inside:avoid}
 a{color:inherit!important}
 .contact-icon{width:13px;height:13px}
 .authors{font-size:10px}
 .entry .dates{white-space:normal}
}
