@import url(https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;1,400&family=Inter:wght@400;500&display=swap);:root{--bg:#fbfaf7;--fg:#1d1d1b;--muted:#76746e;--rule:#e6e3dc;--accent:#8a3b12;--serif:"EB Garamond",Georgia,"Times New Roman",serif;--sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--text-title:1.15rem;--text-sub:0.9rem;--text-small:0.75rem;--text-meta:0.65rem}@media (prefers-color-scheme:dark){:root{--bg:#161614;--fg:#e8e6e1;--muted:#9a978f;--rule:#2c2b28;--accent:#e0956b}}*,:after,:before{box-sizing:border-box}html{font-size:19px;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--serif);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px;transition:color .15s,text-decoration-color .15s}a:hover{color:var(--accent);text-decoration-color:var(--accent)}.page{max-width:640px;margin:0 auto;padding:96px 24px 64px}h1{font-weight:500;font-size:2rem;line-height:1.1;margin:0;letter-spacing:-.01em}.tagline{font-style:italic;color:var(--muted);margin:4px 0 24px}.bio{margin:0 0 16px}.entry-links,.profile-links,nav{display:flex;flex-wrap:wrap;gap:4px 18px;font-family:var(--sans);font-size:var(--text-meta);letter-spacing:.04em}.entry-links a,.profile-links a{color:var(--muted)}.entry-links a:hover,.profile-links a:hover{color:var(--accent)}nav{margin-top:48px;padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);text-transform:uppercase;letter-spacing:.12em}nav a{text-decoration:none}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.chip{font-family:var(--sans);font-size:var(--text-meta);letter-spacing:.04em;line-height:1;padding:7px 12px;border-radius:999px;border:1px solid var(--rule);background:transparent;color:var(--muted);cursor:pointer;transition:color .15s,background-color .15s,border-color .15s}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip-selected{background:var(--fg);border-color:var(--fg);color:var(--bg)}.chip-selected:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}.theme-filter{margin-top:24px}.tech-filter{margin-top:12px}.filter-toggle{font-family:var(--sans);font-size:var(--text-meta);letter-spacing:.04em;padding:0;border:0;background:none;color:var(--muted);cursor:pointer}.filter-toggle:hover,.filter-toggle[aria-expanded=true]{color:var(--accent)}.filter-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tech-chips,.theme-chips{margin-top:10px}.library-chips{margin-top:14px}.library-chips .chips{margin-top:6px}.error{font-size:var(--text-small);white-space:pre-wrap;color:var(--accent)}.empty{color:var(--muted);font-style:italic}section{margin-top:64px;scroll-margin-top:32px}h2{font-family:var(--sans);font-weight:500;font-size:var(--text-meta);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0}.section-head{margin:-12px 0 12px;padding:12px 0;position:sticky;top:0;z-index:1;background:var(--bg)}.entries{list-style:none;margin:0;padding:0}.entry{margin-bottom:32px}.entry-sub,.entry p{margin:2px 0}.entry-sub p{margin:0}.entry-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.entry-title{font-weight:500;font-size:var(--text-title);line-height:1.3}.entry-year{font-family:var(--sans);font-size:var(--text-meta);color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}.entry-sub{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.entry-location{margin-left:auto;font-family:var(--sans);font-size:var(--text-meta);flex-shrink:0}.authors,.entry-location{color:var(--muted)}.authors .me{color:var(--fg);font-weight:500}.authors,.summary,.venue{font-size:var(--text-sub);line-height:1.35}.summary,.venue{font-style:italic}a.entry-title{text-decoration-color:var(--accent)}.website{font-family:var(--sans);font-size:var(--text-small)}.website a{color:var(--accent);text-decoration:none}.website a:hover{text-decoration:underline}.entry-links{margin-top:6px}.expand{font:inherit;letter-spacing:inherit;padding:0;border:0;background:none;color:var(--muted);cursor:pointer}.expand:hover{color:var(--accent)}.expand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.details{margin-top:12px;padding-left:14px;border-left:2px solid var(--rule)}.details .description{margin:0 0 10px}.tag-row{margin-top:10px}.tag-label{display:block;font-family:var(--sans);font-size:var(--text-meta);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:4px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.tag{letter-spacing:.04em;line-height:1;padding:5px 10px;border-radius:999px;border:1px solid var(--rule);color:var(--fg)}.tag,footer{font-family:var(--sans);font-size:var(--text-meta)}footer{margin-top:96px;padding-top:16px;border-top:1px solid var(--rule);color:var(--muted)}@media (max-width:520px){html{font-size:17px}.page{padding:56px 16px 48px}}