:root{color-scheme:light;--paper:#fcfcfa;--ink:#171b1a;--body:#343a38;--muted:#67706d;--faint:#8b9390;--line:#d9ddda;--soft:#f2f4f2;--accent:#245f52;--accent-hover:#173f36;--mint-rgb:182 212 199;--portrait-field:radial-gradient(ellipse 49% 49% at 50% 50%, rgb(var(--mint-rgb) / .72) 0%, rgb(var(--mint-rgb) / .72) 49%, rgb(var(--mint-rgb) / .34) 75%, rgb(var(--mint-rgb) / 0) 100%);--font-serif:"Newsreader", "Iowan Old Style", Georgia, "Times New Roman", serif;--font-sans:"IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--measure:970px;--gutter:clamp(22px, 5vw, 54px)}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--paper:#111513;--ink:#eff3f1;--body:#c4cbc8;--muted:#9aa39f;--faint:#747e79;--line:#313a36;--soft:#19201d;--accent:#9bcdbb;--accent-hover:#c0e3d6;--portrait-field:radial-gradient(ellipse 49% 49% at 50% 50%, rgb(var(--mint-rgb) / .72) 0%, rgb(var(--mint-rgb) / .56) 38%, rgb(var(--mint-rgb) / .3) 67%, rgb(var(--mint-rgb) / .08) 86%, rgb(var(--mint-rgb) / 0) 100%)}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{background:var(--paper);color:var(--body);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15.5px;line-height:1.62}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--paper)}.skip-link{z-index:10;background:var(--paper);border:1px solid var(--line);padding:6px 10px;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.page{width:min(100% - (2 * var(--gutter)), var(--measure));margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:28px;min-height:66px;display:flex}.site-name{font-family:var(--font-serif);color:var(--ink);font-size:18px;font-weight:600;text-decoration:none}.site-header nav{align-items:center;gap:clamp(16px,3vw,28px);display:flex}.site-header nav a{color:var(--body);font-size:12.5px;text-decoration:none}.site-header nav a:hover{color:var(--accent);text-decoration:underline}.profile{grid-template-columns:minmax(0,1fr) 165px;align-items:center;gap:clamp(36px,6vw,65px);padding:42px 0;display:grid}.role,.kicker{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 9px;font-size:10px}h1,h2,h3,p{text-wrap:pretty}h1{font-family:var(--font-serif);letter-spacing:-.03em;color:var(--ink);margin:0 0 17px;font-size:clamp(34px,4.5vw,46px);font-weight:520;line-height:1}h1 span{color:var(--muted);font-weight:360}.profile-copy>p:not(.role):not(.profile-links):not(.availability){max-width:66ch;margin:0 0 12px}.affiliation{color:var(--muted)}.affiliation strong{color:var(--body);font-weight:500}.research-statement{color:var(--ink);font-size:16px}.research-statement strong{font-weight:550}code{background:var(--soft);font-family:var(--font-mono);color:var(--ink);padding:0 3px;font-size:.88em}.profile-links{flex-wrap:wrap;gap:6px 19px;margin:20px 0 0;font-size:12.5px;display:flex}.profile-links span{color:var(--muted)}.profile-copy>p.availability{border-top:1px solid var(--line);color:var(--ink);margin:18px 0 0;padding-top:14px;font-size:14px}.portrait{width:165px;margin:0}.portrait-field{place-items:center;min-height:285px;display:grid;position:relative}.portrait-field:before{content:"";background:var(--portrait-field);position:absolute;inset:-3% -22%}.portrait-field img{z-index:1;width:120px;height:auto;display:block;position:relative}.portrait figcaption{z-index:2;font-family:var(--font-mono);letter-spacing:.02em;text-align:center;color:var(--muted);margin-top:5px;font-size:10px;position:relative}.notice{background:var(--soft);border-left:3px solid var(--accent);grid-template-columns:78px minmax(0,1fr);align-items:baseline;gap:18px;margin-bottom:8px;padding:14px 17px;display:grid}.notice>span{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent);font-size:10px;font-weight:500}.notice p{margin:0;font-size:13.5px}.notice a{margin-left:7px}.section{border-top:1px solid var(--line);grid-template-columns:175px minmax(0,1fr);gap:clamp(36px,6vw,66px);padding:43px 0;display:grid}.section>h2{font-family:var(--font-serif);letter-spacing:-.015em;color:var(--ink);margin:0;font-size:25px;font-weight:520;line-height:1.12}.paper{grid-template-columns:50px minmax(0,1fr);gap:17px;display:grid}.paper-year{font-family:var(--font-mono);color:var(--muted);padding-top:4px;font-size:10px}.paper h3,.research-item h3,.software-list h3,.education-list h3{color:var(--ink);margin:0}.paper h3{font-family:var(--font-serif);font-size:22px;font-weight:560;line-height:1.25}.paper p{margin:7px 0 0}.authors,.venue{font-size:13.5px}.authors strong{color:var(--ink);font-weight:600}.venue{color:var(--muted)}.paper-summary{max-width:68ch;padding-top:8px;font-size:14px}.paper-links{font-size:12.5px}.research-item{padding:0 0 30px}.research-item+.research-item{border-top:1px solid var(--line);padding-top:30px}.research-item:last-child{padding-bottom:0}.research-item header{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:9px;display:flex}.research-item h3{font-family:var(--font-serif);font-size:20px;font-weight:550;line-height:1.25}.research-item header span,.education-list article>span{font-family:var(--font-mono);color:var(--muted);flex:none;font-size:9.5px}.research-item p{max-width:70ch;margin:0 0 8px;font-size:14px}.research-item .status{color:var(--muted);margin-top:11px}.status strong{color:var(--body);font-weight:600}.software-list article,.education-list article{border-top:1px solid var(--line);align-items:baseline;gap:16px;padding:16px 0;display:grid}.software-list article{grid-template-columns:155px minmax(0,1fr);gap:6px 20px}.software-list article>a{grid-column:2}.software-list .software-intro{margin:0 0 18px;font-size:13.5px}.software-intro a{margin-left:.35em}.methodology{color:var(--muted);margin-top:12px;font-size:12.5px}.methodology summary{cursor:pointer;color:var(--accent)}.methodology p{margin-top:10px;font-size:12.5px}.software-list article:last-child,.education-list article:last-child{border-bottom:1px solid var(--line)}.software-list h3,.education-list h3{font-family:var(--font-serif);font-size:16px;font-weight:560}.software-list p,.education-list p{margin:0;font-size:13.5px}.software-list a{font-size:11.5px}.education-list article{grid-template-columns:minmax(0,1fr) max-content}.education-list p{color:var(--muted);margin-top:2px}footer{border-top:1px solid var(--line);font-family:var(--font-mono);color:var(--faint);justify-content:space-between;gap:24px;padding:23px 0 40px;font-size:9px;display:flex}footer p{margin:0}@media (width<=700px){.site-header{min-height:58px}.site-header nav a:first-child,.site-header nav a:nth-child(3){display:none}.profile{grid-template-columns:minmax(0,1fr) 100px;align-items:start;gap:8px 18px;padding:30px 0}.profile-copy{display:contents}.profile-copy>h1,.profile-copy>.affiliation{grid-column:1}.profile-copy>p:not(.affiliation){grid-column:1/-1}.profile-links{margin-top:4px}.portrait{grid-area:1/2/3;justify-self:end;width:100px}.portrait-field{min-height:171px}.portrait-field img{width:72px}.portrait figcaption{font-size:9px}h1{font-size:34px;line-height:1.08}.research-statement{font-size:15.5px}.notice{grid-template-columns:1fr;gap:3px}.notice a{margin-left:0}.section{grid-template-columns:1fr;gap:22px;padding:36px 0}.section>h2{font-size:24px}.research-item header{display:block}.research-item header span{margin-top:3px;display:block}.software-list article{grid-template-columns:1fr}.software-list article>a{grid-column:1}footer{display:block}footer p+p{margin-top:4px}}@media (width<=420px){.site-name{font-size:16px}.site-header nav{gap:15px}.paper,.education-list article{grid-template-columns:1fr;gap:4px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{:root{color-scheme:light;--paper:#fff;--ink:#000;--body:#222;--muted:#555;--faint:#777;--line:#ccc;--soft:#f2f2f2;--accent:#000;--accent-hover:#000}body{font-size:10pt}.site-header{min-height:42px}.site-header nav,.portrait,.notice{display:none}.profile{grid-template-columns:1fr;padding:28px 0 30px}h1{font-size:32pt}.section{break-inside:avoid;grid-template-columns:145px 1fr;gap:28px;padding:29px 0}.paper,.research-item,.software-list article,.education-list article{break-inside:avoid}a{color:var(--ink)}}
