@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-serif-4-latin-600-normal.DouSKlru.woff2)format("woff2"),url(/_astro/source-serif-4-latin-600-normal.DeJomR3S.woff)format("woff")}:root{color-scheme:light dark;--bg:#fdfdfb;--band:#f5f4ef;--text:#1b1b1b;--muted:#595959;--rule:#dcdbd4;--accent:#7a1f2b;--on-accent:#fff;--code-bg:#f1f0ea;--serif:"Source Serif 4", Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace;--rail:13.5rem;--gap:4rem;--measure:44rem;--header:4rem}@media (prefers-color-scheme:dark){:root{--bg:#14151a;--band:#1a1c22;--text:#e6e4de;--muted:#a8a69e;--rule:#30323a;--accent:#e8a4ab;--on-accent:#1a0d10;--code-bg:#20222a}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header) + 1rem);font-size:106.25%}body{background:var(--bg);color:var(--text);font-family:var(--sans);margin:0;line-height:1.65}.wrap{max-width:calc(var(--rail) + var(--gap) + var(--measure) + 3rem);margin-inline:auto;padding-inline:1.5rem}.grid{grid-template-columns:var(--rail) minmax(0, 1fr);column-gap:var(--gap);align-items:start;display:grid}.grid>*>:first-child{margin-top:0}.grid>*>:last-child{margin-bottom:0}.rail{top:calc(var(--header) + 1.5rem);position:sticky}a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.skip{position:absolute;left:-999rem}.skip:focus{z-index:20;background:var(--bg);padding:.4rem .8rem;top:1rem;left:1rem}.button,.button-outline,button{border:1px solid var(--rule);background:var(--bg);color:var(--text);font:500 .85rem/1.5 var(--sans);cursor:pointer;border-radius:6px;padding:.35rem .9rem;text-decoration:none;display:inline-block}.button-outline:hover,button:hover{border-color:var(--accent);color:var(--accent)}.button{border-color:var(--accent);background:var(--accent);color:var(--on-accent);text-align:center;padding:.55rem 1.2rem;font-size:.92rem;font-weight:600}.button:hover{text-decoration:underline}.site-header{z-index:10;border-bottom:1px solid var(--rule);background:var(--bg);font-size:.95rem;position:sticky;top:0}.site-header .wrap{min-height:var(--header);flex-wrap:wrap;align-items:center;gap:0 2rem;display:flex}.site-header ul{flex-wrap:wrap;gap:0 1.7rem;margin:0;padding:0;list-style:none;display:flex}.site-header a{color:var(--muted);padding:.5rem 0;text-decoration:none;display:inline-block}.site-header a:hover{color:var(--text)}.site-header nav a[aria-current=page]{color:var(--text);box-shadow:inset 0 -2px var(--accent)}.site-header .site-name{color:var(--text);font:600 1.2rem var(--serif);margin-right:auto}.site-footer{border-top:1px solid var(--rule);color:var(--muted);font-size:.85rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:.3rem 2rem;padding-block:1.6rem 2.6rem;display:flex}.site-footer p,.site-footer ul{margin:0}.site-footer a{color:inherit}.site-footer a:hover{color:var(--accent)}h1,h2,h3{font-family:var(--serif);text-wrap:balance;font-weight:600;line-height:1.2}h1{letter-spacing:-.015em;margin:0 0 .5rem;font-size:2.9rem;line-height:1.1}h2{margin:0 0 1rem;font-size:1.5rem}h3{margin:1.6rem 0 .4rem;font-size:1.2rem}p,ul,ol,dl,pre{margin:0 0 1rem}p,li,dd{text-wrap:pretty}.meta{color:var(--muted);font-size:.88rem}h2.label{color:var(--muted);font:600 .78rem var(--sans);letter-spacing:.09em;text-transform:uppercase;margin:2rem 0 .7rem}.page{padding-block:4rem 5rem}.page .rail h1{font-size:2rem}.content{max-width:var(--measure)}.inline-list{flex-wrap:wrap;padding:0;list-style:none;display:flex}.inline-list li:not(:last-child):after{content:"·";color:var(--muted);margin:0 .6rem}.hero{isolation:isolate;position:relative;overflow:clip}.hero>.wrap{padding-block:4.5rem}.hero-text>p{max-width:var(--measure);font-size:1.06rem}.hero-text .role{color:var(--accent);margin-bottom:.15rem;font-size:1.3rem}.hero-text .affiliations{color:var(--muted);margin-bottom:1.7rem;font-size:1rem}.lattice{z-index:-1;fill:none;max-width:none;stroke:var(--accent);stroke-width:1.5px;pointer-events:none;position:absolute;top:0;right:0}.lattice-dots{stroke-width:4px;stroke-linecap:round}.lattice marker path{fill:var(--accent);stroke:none}.lattice-basis{opacity:.8;transition:opacity .6s}.lattice-basis.is-off{opacity:0}.lattice-live{opacity:0;transition:opacity .25s}.lattice-live.is-on{opacity:1}.lattice-near{fill:var(--accent);stroke:none}.lattice-cell{fill:var(--accent);fill-opacity:.07;stroke-opacity:.35;stroke-width:1px}.lattice-closest{stroke-width:1.5px}.lattice-error{stroke-dasharray:3 3;stroke-width:1.2px}.portrait{border:1px solid var(--rule);border-radius:10px;width:100%;height:auto;margin-bottom:1.1rem;display:block}.profile .button{display:block}.profile-links{margin:.9rem 0 0;padding:0;font-size:.9rem;list-style:none}.profile-links li{border-bottom:1px solid var(--rule)}.profile-links a{color:var(--text);overflow-wrap:anywhere;justify-content:space-between;gap:.5rem;padding:.45rem .1rem;text-decoration:none;display:flex}.profile-links a:hover{color:var(--accent)}.profile-links a[href^=http]:after{content:"↗";color:var(--muted)}.tags{flex-wrap:wrap;gap:.45rem;padding:0;list-style:none;display:flex}.tags li{border:1px solid var(--rule);background:var(--bg);border-radius:6px;padding:.15rem .65rem;font-size:.88rem}.education{max-width:var(--measure);border-top:1px solid var(--rule);padding:0;list-style:none}.education li{border-bottom:1px solid var(--rule);grid-template-columns:1fr auto;gap:0 1.5rem;padding:.6rem 0;display:grid}.education .degree{font-weight:600}.education .school{color:var(--muted);grid-column:1;font-size:.92rem}.education .period{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:1/2;font-size:.85rem}main>section{padding-block:3.5rem}.band{background:var(--band);border-block:1px solid var(--rule)}.rail>h2,h2.rail{margin-bottom:.4rem}.rail>p{font-size:.9rem}.dated ul{max-width:var(--measure);border-top:1px solid var(--rule);padding:0;list-style:none}.dated li{border-bottom:1px solid var(--rule);padding:.6rem 0 .6rem 6.5rem}.dated li>strong:first-child{float:left;color:var(--accent);font-variant-numeric:tabular-nums;margin-left:-6.5rem;font-size:.88rem;font-weight:600;line-height:1.9}.research{max-width:var(--measure)}.research>p:first-child,.research>p:last-child{color:var(--muted);font-size:.9rem}.research>p:first-child{margin-bottom:.2rem}.research h3{margin-top:0;font-size:1.35rem}.entries{padding:0;list-style:none}.entries>li+li{border-top:1px solid var(--rule);margin-top:2.2rem;padding-top:2.2rem}.entries>li>h2{margin-bottom:.4rem;font-size:1.3rem}.pub{max-width:var(--measure)}.pub+.pub{border-top:1px solid var(--rule);margin-top:2.2rem;padding-top:2.2rem}.pub .meta{color:var(--accent);margin-bottom:.2rem;font-weight:600}.pub-title{text-wrap:pretty;margin:0 0 .3rem;font-size:1.3rem;line-height:1.3}.pub .authors{color:var(--muted);margin-bottom:.8rem}.pub .authors strong{color:var(--text)}.abstract{font-size:.95rem}.pub-actions{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.pub-actions details[open]{flex:1 0 100%;order:1}.pub-actions details>:not(summary){margin:.7rem 0 0}summary{cursor:pointer}summary.button-outline{list-style:none}summary.button-outline::-webkit-details-marker{display:none}summary.button-outline:after{content:" +";color:var(--muted)}details[open]>summary.button-outline:after{content:" −"}details[open]>summary.button-outline{border-color:var(--accent);color:var(--accent)}pre,code,kbd{font-family:var(--mono);font-size:.8rem}pre{background:var(--code-bg);border:1px solid var(--rule);border-radius:6px;padding:.8rem 1rem;line-height:1.5;overflow-x:auto}.bibtex pre{white-space:pre-wrap;overflow-wrap:anywhere}.content>p:first-child{font-size:1.06rem}.contact-list{border-top:1px solid var(--rule);margin-top:2rem}.contact-list dt{color:var(--muted);font:600 .78rem var(--sans);letter-spacing:.09em;text-transform:uppercase;margin-top:1.1rem}.contact-list dd{margin:.2rem 0 0}.fingerprint{overflow-wrap:anywhere}.post-rail{color:var(--muted);gap:.3rem;font-size:.9rem;display:grid}.post h1{margin-bottom:1.5rem;font-size:2.3rem}.post img{max-width:100%;height:auto}.post blockquote{border-left:2px solid var(--rule);color:var(--muted);margin:0 0 1rem;padding-left:1rem}.post .katex{font-size:1.08em}.post .katex-display{padding:.2rem 0;overflow:auto hidden}.post table{border-collapse:collapse;font-size:.92rem}.post th,.post td{border-bottom:1px solid var(--rule);text-align:left;padding:.3rem .7rem}@media (width<=52rem){.grid{grid-template-columns:minmax(0,1fr);row-gap:1.2rem}.rail,.site-header{position:static}.site-header .wrap{padding-block:.6rem}.site-header ul{gap:0 .8rem;font-size:.88rem}html{scroll-padding-top:1rem}.hero>.wrap{row-gap:1.8rem;padding-block:2rem 2.5rem}.lattice{display:none}.profile{grid-template-columns:6.5rem 1fr;align-items:start;gap:.6rem 1.1rem;display:grid}.portrait{grid-row:span 2;margin:0}.profile .button{padding-block:.4rem}.profile-links{flex-wrap:wrap;gap:0 1rem;margin:0;display:flex}.profile-links li{border:0}.profile-links a{padding:.25rem 0}.profile-links a[href^=http]:after{content:none}h1{font-size:2.2rem}.page{padding-block:2.5rem 3.5rem}.page .rail h1{font-size:1.9rem}main>section{padding-block:2.5rem}.education li{grid-template-columns:1fr}.education .period{grid-area:auto/1}.dated li{padding-left:5.8rem}.dated li>strong:first-child{margin-left:-5.8rem}}@media print{.site-header{position:static}.site-header nav,.skip,button,.lattice{display:none}.band{background:0 0;border:0}.rail{position:static}a{color:inherit}}
