@font-face{font-family:"TeX Gyre Pagella";src:url("/assets/fonts/pagella/texgyrepagella-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"TeX Gyre Pagella";src:url("/assets/fonts/pagella/texgyrepagella-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:"TeX Gyre Pagella";src:url("/assets/fonts/pagella/texgyrepagella-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"TeX Gyre Pagella";src:url("/assets/fonts/pagella/texgyrepagella-bolditalic.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:"TeX Gyre Heros";src:url("/assets/fonts/heros/texgyreheros-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"TeX Gyre Heros";src:url("/assets/fonts/heros/texgyreheros-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:"TeX Gyre Heros";src:url("/assets/fonts/heros/texgyreheros-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"TeX Gyre Heros";src:url("/assets/fonts/heros/texgyreheros-bolditalic.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:"TeX Gyre Cursor";src:url("/assets/fonts/mono/texgyrecursor-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"TeX Gyre Cursor";src:url("/assets/fonts/mono/texgyrecursor-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:"TeX Gyre Cursor";src:url("/assets/fonts/mono/texgyrecursor-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"TeX Gyre Cursor";src:url("/assets/fonts/mono/texgyrecursor-bolditalic.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{--footer-height: 56px;--header-height: 64px;--active: #cbd5e1;--bg-color: #f8fafc;--fg-color: #0f172a;--fg-muted: #64748b;--hover: #e2e8f0;--link: #64748b;--font-mono: "TeX Gyre Cursor", ui-monospace, "SF Mono", "Menlo", "Consolas", "Liberation Mono", monospace;--font-sans: "TeX Gyre Heros", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-serif: "TeX Gyre Pagella", "Palatino", "Palatino Linotype", "Book Antiqua", "URW Palladio L", serif;--pad-l: 1rem;--pad-m: .5rem;--pad-s: .25rem;--shadow: 0 .5rem 1rem rgba(0,0,0,0.1)}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-color);color:var(--fg-color);display:flex;flex-direction:column;overflow-x:hidden;overscroll-behavior-y:contain;padding-top:var(--header-height);scroll-padding-top:var(--header-height);scroll-snap-type:y mandatory}a{color:var(--link);text-decoration:none}a[target="_blank"]::before{content:"↗";margin-right:var(--pad-s);opacity:0.3}a:visited{color:var(--link)}a:hover{text-decoration:underline}a:active{color:var(--fg-color)}p+p{padding-top:.5rem}header{backdrop-filter:blur(8px);background:rgba(248,250,252,0.8);border-bottom:1px solid var(--active);inset:0 0 auto 0;margin:0;max-width:none;position:fixed;width:100%;will-change:transform;z-index:1000}main{flex:1;overflow:visible}footer{backdrop-filter:blur(8px);background:rgba(248,250,252,0.8);border-top:1px solid var(--active);bottom:0;color:var(--fg-muted);display:grid;height:var(--footer-height);left:0;padding:var(--pad-l);place-items:center;right:0;text-align:center;z-index:40}section{align-items:flex-start;display:flex;justify-content:center;padding:var(--pad-l) var(--pad-l);scroll-margin-top:calc(var(--header-height) - var(--pad-l));scroll-snap-align:start;scroll-snap-stop:always}.nav{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:980px;padding:var(--pad-m) var(--pad-l)}.nav a{border-radius:.25rem;color:var(--fg-color);padding:0.1rem 0.6rem;text-decoration:none}.nav a:hover{background:var(--hover)}.nav a.active{background:var(--active);color:var(--fg-color)}.brand{font-weight:700;letter-spacing:0.2px}.menu{align-items:center;display:flex;gap:var(--pad-m);z-index:55}.burger{background:transparent;border:0;border-radius:.5rem;display:none;font-size:1.25rem;padding:var(--pad-m)}.hero{background:none;border:none;box-shadow:none;padding:var(--pad-m) 0;text-align:center}.hero p{margin:.5rem auto;max-width:40rem}.hero-content{align-items:center;display:flex;flex-direction:column;gap:var(--pad-l)}.hero-portrait{border:none;border-radius:90%;box-shadow:var(--shadow);height:140px;object-fit:cover;overflow:hidden;width:140px}.footnote{color:var(--fg-color);font-size:0.9em;margin-top:var(--pad-l)}.grid{display:grid;gap:var(--pad-l)}.line-split{align-items:center;display:flex;justify-content:space-between;width:100%}.muted{color:var(--fg-muted)}.tag{background:#f1f5f9;border:1px solid var(--active);border-radius:999px;color:#334155;display:inline-block;font-size:0.75rem;margin-right:var(--pad-m);margin-top:var(--pad-m);padding:var(--pad-s) var(--pad-m)}@media (max-width: 980px){.burger{display:inline-grid;place-items:center}.menu{background:var(--bg-color);border:1px solid var(--hover);border-radius:.5rem;box-shadow:var(--shadow);display:grid;opacity:0;padding:var(--pad-s);pointer-events:none;position:absolute;right:var(--pad-l);top:var(--header-height);transform:translate(0.5rem, -0.5rem);transform-origin:top right;transition:opacity 0.22s ease,transform 0.22s cubic-bezier(0.2, 0.7, 0.2, 1);width:160px}.menu.open{grid-template-columns:1fr;opacity:1;pointer-events:auto;transform:translate(0, 0)}}@media (max-width: 880px){.grid.cols-2{grid-template-columns:1fr 1fr}}@media (min-width: 720px){.hero-content{align-items:flex-start;flex-direction:row;justify-content:center}}@media (prefers-reduced-motion: reduce){.menu{transform:none;transition:none}.menu.open{opacity:1}}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--font-sans);line-height:1.5}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:700;line-height:1.2}h3{font-style:italic;margin-bottom:var(--pad-s);margin-top:calc(2 * var(--pad-l))}em,i{font-style:italic}code,pre,kbd,samp{font-family:var(--font-mono);font-size:0.95em}.card{background:#f1f5f9;border:1px solid var(--hover);border-radius:.5rem;box-shadow:var(--shadow);padding:var(--pad-l);width:min(100%, 980px)}.card h2{margin-top:0}.publist{list-style:none;padding-left:var(--pad-l);padding-right:var(--pad-l);text-align:justify;text-justify:inter-word}.publist .pub{align-items:start;column-gap:0.75rem;display:grid;grid-template-columns:4ch 1fr;margin-bottom:0.75rem;row-gap:0.25rem}.publist .pub::before{content:attr(data-num) ".";grid-column:1;grid-row:1;justify-self:end}#publications .publist.high-only .pub:not([data-priority="high"]):not([data-priority="pinned"]){display:none}.publist.high-only .pub::before{content:"–";justify-self:center}.publist .pub .pub-main,.publist .pub .pub-tags,.publist .pub .pub-notes{grid-column:2}.pub{margin:0 0 0.75rem 0}.pub.dim{opacity:0.25;transition:opacity 160ms ease}.pub-main{-moz-hyphens:auto;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;line-height:1.45}.pub-authors .me{text-decoration:underline;text-underline-offset:2px}.pub-line{padding-bottom:var(--pad-s);display:inline}.pub-title{color:#00008b}.pub-id{display:inline-block;margin-right:1ch;white-space:nowrap}.pub-id a{display:inline-flex;align-items:baseline;gap:0}.pub-id-full{display:inline}.pub-id-short{display:none}.pub-notes{color:#475569;font-size:0.9em;font-style:italic;margin:var(--pad-s) 0;opacity:0.9}.pub-tags{margin:0}.tag{border:1px solid #e2e8f0;border-radius:.5rem;cursor:pointer;display:inline-block;font-size:0.8rem;margin:0 0.35rem 0 0;padding:0.15em 0.50em}.tag:focus-visible{outline:2px solid #888;outline-offset:2px}.tag.is-active{outline:2px solid var(--active);outline-offset:2px}.priority-toggle{margin:0 0 0.75rem 0}.switch{align-items:center;cursor:pointer;display:inline-flex;gap:0.5rem;user-select:none}.switch input{height:0;opacity:0;position:absolute;width:0}.switch-ui{--h: 1.5rem;--pad: 2px;--thumb: calc(var(--h) - 2 * var(--pad));--w: 2.5rem;background:#cbd5e1;border-radius:var(--h);display:inline-block;height:var(--h);position:relative;transition:background 0.18s ease;width:var(--w)}.switch-ui::after{background:#fff;border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,0.2);content:"";height:var(--thumb);left:var(--pad);position:absolute;top:var(--pad);transition:transform 0.18s ease;width:var(--thumb)}.switch input:checked+.switch-ui{background:var(--fg-muted)}.switch input:checked+.switch-ui::after{transform:translateX(calc(var(--w) - var(--h)))}.switch input:focus-visible+.switch-ui{box-shadow:0 0 0 3px var(--bg-color),0 0 0 5px var(--link)}.switch-text{color:var(--fg-color);font-size:0.9rem}.switch-text .on{display:none}.switch input:checked ~ .switch-text .off{display:none}.switch input:checked ~ .switch-text .on{display:inline}@media (min-width: 880px){.pub-line{display:block}}@media (max-width: 760px){.pub-id-full{display:none}.pub-id-short{display:inline}.pub-id{margin-right:0.6ch}}@media (prefers-color-scheme: dark){.tag{opacity:0.85}}@media (prefers-reduced-motion: reduce){*{transition:none !important}}
