:root{--bg:#fcfcfb;--fg:#1b1c1e;--muted:#6a6e75;--rule:#e6e6e2;--accent:#2c56c9;--code-bg:#f0f0ed;--raised:#ffffff;--measure:40rem;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:root{--bg:#141517;--fg:#e5e5e2;--muted:#9b9fa7;--rule:#2b2d31;--accent:#8eaeff;--code-bg:#1f2124;--raised:#2c2e33}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.wrap{max-width:var(--measure);margin:0 auto;padding:clamp(2.5rem,9vw,5.5rem)1.25rem 5rem}a{color:var(--accent);text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-underline-offset:.2em;transition:text-decoration-color .15s}a:hover{text-decoration-color:initial}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}h1{font-size:clamp(1.75rem,1.4rem + 1.5vw,2.15rem);line-height:1.2;letter-spacing:-.022em;font-weight:650;margin:0 0 .6rem}code{font-family:var(--mono);font-size:.88em;background:var(--code-bg);padding:.12em .35em;border-radius:4px}h1 code{font-size:.92em;background:0 0;padding:0}a code{color:inherit}::selection{background:color-mix(in srgb,var(--accent) 22%,transparent)}.intro{margin-bottom:2rem}.intro h1{margin-bottom:0}.intro-top{display:flex;align-items:center;gap:1rem;margin-bottom:.9rem}.avatar{flex:none;width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px var(--rule)}.aka{margin:.1rem 0 0;font-size:.85rem;color:var(--muted)}.links{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.1rem;font-size:.95rem}.links a:has(svg){display:inline-flex;padding:.15rem;margin:-.15rem;border-radius:6px;transition:opacity .15s,transform .15s}.links a:has(svg):hover{opacity:.75;transform:translateY(-1px)}.links svg{width:1.35rem;height:1.35rem;color:var(--fg)}.kind-home h2{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:3rem 0 1rem}.section-head{display:flex;align-items:baseline;gap:.9rem;margin:3rem 0 1rem}.section-head h2{margin:0}.section-head a{font-size:.88rem;white-space:nowrap}.pubs{list-style:none;padding:0;margin:0}.pub-list{margin-top:2rem}.pub-list.first-only .pub:not([data-first-author]){display:none}.pub-filter{display:inline-flex;gap:2px;margin-top:1.25rem;padding:3px;background:var(--code-bg);border:1px solid var(--rule);border-radius:999px}.pub-filter[hidden]{display:none}.pub-filter button{font:inherit;font-size:.85rem;font-weight:500;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:.3rem .95rem;cursor:pointer;transition:background-color .15s,color .15s}.pub-filter button:hover{color:var(--fg)}.pub-filter button[aria-pressed=true]{color:var(--fg);background:var(--raised);box-shadow:0 1px 2px rgb(0 0 0/8%),0 0 0 1px var(--rule)}.pub-filter button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pub-list .pub{margin-bottom:1.4rem}.pub{margin:0 0 1rem;line-height:1.45}.pub .authors,.pub .venue{display:block;font-size:.9rem;color:var(--muted);margin-top:.15rem}.pub .authors strong{color:var(--fg);font-weight:600;white-space:nowrap}.badge{display:inline-block;margin-left:.5em;padding:0 .45em;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;line-height:1.6;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:999px;vertical-align:.1em}.muted{color:var(--muted)}.posts{list-style:none;padding:0;margin:0}.posts li{display:flex;gap:1.25rem;align-items:baseline;margin:0 0 .7rem;font-size:.98rem;line-height:1.45}.posts time,.posts .date{flex:0 0 4.75rem;font-size:.88rem;color:var(--muted);font-variant-numeric:tabular-nums}.talk-title,.talk-host{display:block}.talk-title{font-size:.98rem;line-height:1.4}.talk-host{font-size:.87rem;line-height:1.4;color:var(--muted);margin-top:.05rem}.talk-host a{color:inherit;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent)}.talk-host a:hover{color:var(--fg)}.talks li{margin-bottom:.7rem}.ext{font-size:.8em;margin-left:.2em;color:var(--muted)}.crumb{font-size:.9rem;margin-bottom:2.75rem}.crumb a{color:var(--muted);text-decoration:none}.crumb a:hover{color:var(--fg)}.post-header{margin-bottom:2.25rem}.meta{margin:0;font-size:.93rem;color:var(--muted)}.meta time{white-space:nowrap}.meta>*+*::before{content:"·";margin:0 .5em}.lede{margin:1.5rem 0 0;padding-left:1rem;border-left:3px solid var(--rule);font-size:1.1rem;line-height:1.55}.prose p{margin:0 0 1.15em}.prose h2{font-size:1.35rem;letter-spacing:-.01em;margin:2.5rem 0 .75rem}.prose h3{font-size:1.1rem;margin:2rem 0 .5rem}.prose img{max-width:100%;height:auto}.prose blockquote{margin:1.5rem 0;padding-left:1rem;border-left:3px solid var(--rule);color:var(--muted)}.prose pre{background:var(--code-bg);padding:.9rem 1rem;border-radius:6px;overflow-x:auto;font-size:.88rem;line-height:1.5}.prose pre code{background:0 0;padding:0;font-size:inherit}.prose .caption{text-align:center;font-size:.9rem;color:var(--muted);margin:2rem 0 .4rem}.prose table{display:block;width:fit-content;max-width:100%;overflow-x:auto;margin:0 auto 2.25rem;border-collapse:collapse;font-size:.93rem;font-variant-numeric:tabular-nums}.prose th,.prose td{padding:.45rem .9rem;border-bottom:1px solid var(--rule)}.prose thead th{font-weight:600;border-bottom-color:var(--muted)}.prose tbody tr:last-child td{border-bottom:none}@media(max-width:30rem){body{font-size:16px}.prose th,.prose td{padding:.4rem .55rem}}