:root{--text:#1a1a1a;--muted:#666;--link:#4a6fa5;--border:#e0e0e0;--code-bg:#f5f5f5;--max-width:680px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{font-family:bricolage grotesque,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Helvetica,Arial,sans-serif;color:var(--text);line-height:1.65;font-size:17px}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:space grotesk,sans-serif}body.lowercase{text-transform:lowercase}.nav{padding:1rem 0}.nav-links{display:flex;justify-content:flex-end;align-items:center;gap:1.5rem;list-style:none}.nav-links a{color:var(--muted);font-size:.92rem}.icon{width:.92rem;height:.92rem;display:block}.intro{margin-bottom:.75rem}.intro h1{font-size:1.5rem;font-weight:700;margin-bottom:.15rem}.intro .portrait{float:right;width:110px;height:110px;border-radius:50%;object-fit:cover;margin:0 0 .75rem 1.5rem}.intro .bio p{margin-bottom:1rem}.intro .bio::after{content:"";display:table;clear:both}.section-heading{font-size:.75rem;font-weight:600;letter-spacing:.05em;color:var(--muted);margin-bottom:.75rem}.news{margin-bottom:3rem}.news-item{display:flex;gap:1rem;margin-bottom:.35rem;font-size:.94rem}.news-date{flex-shrink:0;width:7em;color:var(--muted);font-variant-numeric:tabular-nums}.papers{margin-bottom:3rem}.paper{margin-bottom:1.25rem}.paper-title{font-weight:600}.paper-authors{color:var(--muted);font-size:.92rem}.paper-authors strong{color:var(--text)}.paper-venue{font-style:italic;color:var(--muted);font-size:.92rem}.paper-links{font-size:.85rem}.paper-links a+a{margin-left:.4rem}.blog-list{list-style:none}.blog-item{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem}.blog-item a{color:var(--text)}.blog-item a:hover{color:var(--link);text-decoration:none}.blog-item time{color:var(--muted);font-size:.85rem;flex-shrink:0;margin-left:1rem}.post-header{margin-bottom:2rem}.post-header h1{font-size:1.5rem;margin-bottom:.25rem}.post-date{font-size:.85rem;color:var(--muted)}.post-content h2{font-size:1.2rem;margin:2rem 0 .5rem}.post-content h3{font-size:1.05rem;margin:1.5rem 0 .5rem}.post-content p{margin-bottom:1rem}.post-content ul,.post-content ol{margin-bottom:1rem;padding-left:1.5rem}.post-content blockquote{border-left:3px solid var(--border);padding-left:1rem;color:var(--muted);margin-bottom:1rem}.post-content pre{background:var(--code-bg);padding:1rem;border-radius:4px;overflow-x:auto;margin-bottom:1rem;font-size:.88rem;line-height:1.5}.post-content code{font-size:.9em;background:var(--code-bg);padding:.1em .25em;border-radius:3px}.post-content pre code{background:0 0;padding:0}.post-content img{max-width:100%}.post-back{margin-top:2rem;font-size:.92rem}.footer{border-top:1px solid var(--border);padding:1rem 0;margin-top:3rem;font-size:.82rem;color:var(--muted)}.not-found{text-align:center;padding:3rem 0}.not-found h1{font-size:2.5rem;margin-bottom:.5rem}.not-found p{color:var(--muted);margin-bottom:1rem}.page-title{font-size:1.5rem;margin-bottom:2rem}@media(max-width:600px){body{font-size:16px}.intro .portrait{float:none;display:block;margin:0 auto 1rem}.news-item{flex-direction:column;gap:0;margin-bottom:.75rem}.news-date{width:auto}.blog-item{flex-direction:column;gap:0}.blog-item time{margin-left:0}}