:root{--bg:#ffffff;--surface:#f6f6f8;--text:#1b1b1f;--muted:#5f6068;--faint:#6e6f78;--line:#e6e6ea;--accent:#5b4bd6;--accent-soft:#efedfc;--sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, "Helvetica Neue", Arial, sans-serif;--serif: "Iowan Old Style", Charter, "Source Serif Pro", Georgia, serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;color-scheme:light}@media(prefers-color-scheme: dark){:root{--bg:#111114;--surface:#1a1a1f;--text:#ececf1;--muted:#a3a4ad;--faint:#91929b;--line:#2a2a31;--accent:#a99dff;--accent-soft:#25223d;color-scheme:dark}}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 var(--sans)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}img{max-width:100%}[hidden]{display:none !important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media(prefers-color-scheme: dark){.logo{background:#fff}}.avatar{border-radius:50%;object-fit:cover;aspect-ratio:1;display:block}.name{margin:0;font-weight:650;letter-spacing:-0.01em;line-height:1.15}.role{margin:.25rem 0 0;color:var(--muted)}.links{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-wrap:wrap;gap:.4rem}.links a{display:inline-block;font-size:.85rem;padding:.2rem .65rem;border:1px solid var(--line);border-radius:999px;color:var(--text)}.links a:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.toc{display:flex;flex-wrap:wrap;gap:.25rem 1rem;font-size:.9rem}.toc a{color:var(--muted)}.toc a:hover{color:var(--accent)}main{min-width:0}.sec{padding-block:2.25rem;border-top:1px solid var(--line);scroll-margin-top:1rem}.sec:first-child{border-top:0;padding-top:0}.sec-h{margin:0 0 1.25rem;font-size:1.35rem;font-weight:650;letter-spacing:-0.01em}.sub-h{margin:2rem 0 .75rem;font-size:1rem;font-weight:600;color:var(--muted)}.bio p{margin:0}.filters{display:flex;flex-wrap:wrap;gap:.35rem;margin:-0.25rem 0 1.25rem}.filters button{font:inherit;font-size:.82rem;padding:.25rem .75rem;border-radius:999px;cursor:pointer;border:1px solid var(--line);background:rgba(0,0,0,0);color:var(--muted)}.filters button[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--bg)}.year-group{display:grid;grid-template-columns:3.5rem 1fr;gap:0 1rem}.year{margin:.15rem 0 0;font-size:.9rem;font-weight:600;color:var(--faint);font-variant-numeric:tabular-nums}.pubs{list-style:none;margin:0 0 1rem;padding:0}.pub{display:grid;grid-template-columns:2.4rem 1fr;gap:.75rem;padding:.2rem 0 1.15rem}.pub-tag{font:600 .72rem var(--mono);color:var(--faint);padding-top:.3rem}.pub-title{font-weight:600;color:var(--text);line-height:1.35;display:inline-block}.pub-title:hover{color:var(--accent)}.pub-authors{font-size:.9rem;color:var(--muted);margin-top:.2rem}.pub-authors strong{color:var(--text);font-weight:600}.pub-venue{font-size:.9rem;font-style:italic;color:var(--muted)}.pub-links{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .9rem;margin-top:.35rem;font-size:.82rem;font-weight:500}.bib summary{cursor:pointer;color:var(--accent);list-style:none}.bib summary::-webkit-details-marker{display:none}.bib[open]{flex-basis:100%}.bib pre{margin:.5rem 0 0;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;font:.75rem/1.5 var(--mono);overflow-x:auto;white-space:pre;color:var(--text)}.rows{list-style:none;margin:0;padding:0}.row{display:grid;grid-template-columns:2.25rem 1fr auto;gap:.25rem 1rem;align-items:center;padding:.65rem 0}.row+.row{border-top:1px dashed var(--line)}.row.no-logo{grid-template-columns:1fr auto}.logo{width:2.25rem;height:2.25rem;object-fit:contain;border-radius:6px}.logo-wide{object-fit:contain}.row-title{font-weight:600;color:var(--text)}a.row-title:hover{color:var(--accent)}.row-sub{font-size:.88rem;color:var(--muted)}.row-note{display:inline-block;margin-top:.15rem;font-size:.85rem;color:var(--muted)}.row-note cite{font-style:italic}a.row-note:hover{color:var(--accent)}.bio p+p{margin-top:.9rem}.row-when{font-size:.82rem;color:var(--faint);text-align:right;font-variant-numeric:tabular-nums;display:flex;flex-direction:column}.foot{padding:2rem 0 3rem;font-size:.8rem;color:var(--faint);border-top:1px solid var(--line)}@media(max-width: 640px){.pub-links a,.bib summary{display:inline-block;padding:.3rem 0}.toc a{padding:.25rem 0}.row{grid-template-columns:2rem 1fr}.row.no-logo{grid-template-columns:1fr}.row-when{grid-column:2;text-align:left;flex-direction:row;flex-wrap:wrap;gap:0 .75rem}.row.no-logo .row-when{grid-column:1}.year-group{grid-template-columns:1fr}.year{margin-bottom:.5rem}.pub{grid-template-columns:1fr;gap:0}.pub-tag{display:none}}.shell{max-width:1120px;margin:0 auto;padding:3rem 24px 0;display:grid;grid-template-columns:260px 1fr;gap:4rem}.profile{position:sticky;top:2rem;align-self:start}.profile .avatar{width:160px;height:160px;margin-bottom:1.25rem}.profile .name{font-size:1.6rem}.profile .toc{flex-direction:column;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line);gap:.4rem}@media(max-width: 860px){.shell{grid-template-columns:1fr;gap:1.5rem;padding-top:2rem}.profile{position:static;display:grid;grid-template-columns:96px 1fr;gap:1rem;align-items:center}.profile .avatar{width:96px;height:96px;margin:0}.profile .toc{grid-column:1/-1;flex-direction:row;margin-top:.5rem}}