:root{--background:#fbfcfd;--surface:#fff;--text:#20262c;--muted:#606b74;--subtle:#e2e7eb;--accent:#175f8c;--accent-dark:#104868;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:Georgia,"Times New Roman",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.7;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--accent-dark)}img{display:block;max-width:100%}h1,h2,h3{color:#172028;line-height:1.25}h1{letter-spacing:-.035em}h2{margin:0 0 1rem;font-size:1.28rem;letter-spacing:-.015em}h3{font-size:1.05rem}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:20;padding:.55rem .8rem;background:var(--text);color:#fff}.skip-link:focus{top:1rem}.site-header{border-bottom:1px solid var(--subtle);background:#fbfcfdf5}.header-inner{width:min(1100px,calc(100% - 3rem));height:68px;margin:auto;display:flex;align-items:center;justify-content:space-between}.site-name{color:var(--text);font-weight:650;text-decoration:none;letter-spacing:-.015em}nav{display:flex;gap:1.65rem}nav a{color:var(--muted);font-size:.93rem;text-decoration:none}nav a:hover,nav a.active{color:var(--text)}nav a.active{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.5rem}.page-width{width:min(1100px,calc(100% - 3rem));margin-inline:auto}.page-width-narrow{width:min(760px,calc(100% - 3rem));margin-inline:auto}.profile-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:clamp(3.5rem,7vw,7rem);padding-block:clamp(3rem,6vw,6rem)}.profile-sidebar{align-self:start}.profile-photo{width:190px;aspect-ratio:1;border-radius:4px;object-fit:cover;filter:saturate(.88)}.profile-sidebar h1{margin:1.2rem 0 .3rem;font-size:1.55rem}.profile-title{margin:0 0 .55rem;color:#37434d;line-height:1.45}.profile-meta{margin:.08rem 0;color:var(--muted);font-size:.9rem;line-height:1.45}.social-links{display:grid;gap:.42rem;margin:1.4rem 0 0;padding:1.2rem 0 0;border-top:1px solid var(--subtle);list-style:none}.social-links a{display:inline-flex;align-items:center;gap:.62rem;color:#43505a;font-size:.9rem;text-decoration:none}.social-links a:hover{color:var(--accent)}.social-links svg{width:17px;height:17px;fill:currentColor;flex:none}.profile-content{max-width:720px}.profile-content section+section{margin-top:3.5rem}.profile-content p{margin:0 0 1.05rem;color:#333c44}.interest-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.interest-list li,.tag-list li{border:1px solid #d9e0e5;border-radius:999px;color:#4d5b66;background:var(--surface);font-size:.79rem;line-height:1}.interest-list li{padding:.48rem .72rem}.publication-list{display:grid;gap:2.15rem}.publication{display:grid;grid-template-columns:auto 1fr;gap:1.2rem}.publication-thumbnail{width:105px;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--subtle)}.publication h3{margin:0 0 .35rem;font-size:1.03rem}.publication p{margin:.22rem 0;font-size:.91rem;line-height:1.55}.authors{color:#4c5861!important}.is-owner{color:var(--text);font-weight:650}.venue{color:var(--muted)!important}.status{margin-left:.6rem;color:var(--accent);font-size:.78rem;font-style:normal;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.publication-description{margin-top:.55rem!important}.publication-links{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.65rem}.publication-links a{padding:.16rem .48rem;border:1px solid #b9c9d3;border-radius:2px;font-size:.78rem;text-decoration:none}.blog-index{padding-block:clamp(3.5rem,7vw,6.5rem)}.page-intro{margin-bottom:3.5rem}.page-intro h1{margin:0 0 .55rem;font-size:clamp(2.1rem,6vw,3rem)}.page-intro p{margin:0;color:var(--muted)}.post-list{border-top:1px solid var(--subtle)}.post-preview{padding:2rem 0;border-bottom:1px solid var(--subtle)}.post-preview time{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.post-preview h2{margin:.25rem 0 .55rem;font-size:1.38rem}.post-preview h2 a{color:var(--text);text-decoration:none}.post-preview h2 a:hover{color:var(--accent)}.post-preview p{margin:0;color:#4b565f}.tag-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:.85rem 0 0;padding:0;list-style:none}.tag-list li{padding:.35rem .58rem}.article-shell{width:min(720px,calc(100% - 3rem));margin-inline:auto;padding-block:clamp(3.5rem,8vw,7rem)}.article-header{margin-bottom:3.7rem;padding-bottom:2rem;border-bottom:1px solid var(--subtle)}.back-link{font-size:.86rem;text-decoration:none}.article-header h1{margin:1.6rem 0 .8rem;font-family:var(--serif);font-size:clamp(2.35rem,7vw,3.75rem);font-weight:500;line-height:1.08}.article-deck{margin:0;color:#4d5962;font-family:var(--serif);font-size:1.18rem;line-height:1.55}.article-meta{display:flex;gap:1rem;margin-top:1.2rem;color:var(--muted);font-size:.82rem}.prose{color:#283139;font-family:var(--serif);font-size:1.08rem;line-height:1.82}.prose h2,.prose h3{margin:2.5em 0 .7em;font-family:var(--sans)}.prose h2{font-size:1.38rem}.prose h3{font-size:1.1rem}.prose p,.prose ul,.prose ol{margin:1.2em 0}.prose blockquote{margin:1.8em 0;padding:.1em 1.3em;border-left:3px solid #9db6c6;color:#52606a;font-style:italic}.prose code{padding:.12em .28em;border-radius:3px;background:#edf1f4;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.86em}.prose pre{overflow-x:auto;margin:1.8em 0;padding:1.2rem;border:1px solid var(--subtle);border-radius:3px;font-size:.84rem;line-height:1.6}.prose pre code{padding:0;background:transparent}.prose table{display:block;overflow-x:auto;width:100%;margin:1.8em 0;border-collapse:collapse;font-family:var(--sans);font-size:.88rem}.prose th,.prose td{padding:.65rem .8rem;border:1px solid var(--subtle);text-align:left}.prose th{background:#f1f4f6}.prose img{margin:2rem auto}.site-footer{width:min(1100px,calc(100% - 3rem));margin:auto;padding:1.7rem 0 2.5rem;border-top:1px solid var(--subtle);color:var(--muted);font-size:.8rem}.site-footer p{margin:0}:focus-visible{outline:3px solid #78a9c8;outline-offset:3px}@media(max-width:700px){.header-inner,.page-width,.page-width-narrow,.article-shell,.site-footer{width:min(100% - 2rem,1100px)}.header-inner{height:60px}.site-name{font-size:.92rem}nav{gap:1rem}nav a{font-size:.85rem}.profile-layout{grid-template-columns:1fr;gap:3.5rem;padding-block:2.5rem 4.5rem}.profile-sidebar{display:grid;grid-template-columns:110px 1fr;column-gap:1.2rem;align-items:start}.profile-photo{grid-row:1/5;width:110px}.profile-sidebar h1{margin:0 0 .2rem;font-size:1.35rem}.profile-title{font-size:.92rem}.social-links{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.profile-content section+section{margin-top:3rem}.publication{grid-template-columns:1fr}.article-header h1{font-size:2.4rem}.prose{font-size:1.02rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.profile-photo{height:190px}@media(max-width:700px){.profile-photo{height:110px}}.publication-timeline{position:relative;margin-top:1.4rem;padding-left:3.8rem}.publication-timeline:before{content:"";position:absolute;top:.55rem;bottom:.6rem;left:1.15rem;width:1px;background:#cfd8de}.timeline-year{position:relative}.timeline-year+.timeline-year{margin-top:2.8rem}.timeline-year-label{position:absolute;top:-.2rem;left:-3.8rem;width:2.3rem!important;margin:0!important;padding:.18rem 0;border:1px solid #c8d5dd;border-radius:2px;background:var(--background);color:var(--accent)!important;font-size:.72rem!important;font-weight:700;line-height:1.25!important;text-align:center;font-variant-numeric:tabular-nums}.timeline-year-label:after{content:"";position:absolute;top:50%;right:-.72rem;width:.72rem;height:1px;background:#cfd8de}.timeline-year .publication-list{gap:2rem}@media(max-width:700px){.publication-timeline{padding-left:2.8rem}.publication-timeline:before{left:.75rem}.timeline-year-label{left:-2.8rem;width:2.1rem!important}.timeline-year-label:after{right:-.42rem;width:.42rem}}.citation-block{margin-top:.7rem;font-size:.8rem}.citation-block summary{width:max-content;cursor:pointer;color:var(--accent);font-weight:600;list-style-position:outside}.citation-block summary:hover{color:var(--accent-dark)}.citation-content{position:relative;margin-top:.55rem}.citation-content pre{overflow-x:auto;margin:0;padding:2.55rem .8rem .75rem;border:1px solid var(--subtle);border-radius:3px;background:#f5f7f8;color:#35414a;font-size:.7rem;line-height:1.5;white-space:pre}.copy-citation{position:absolute;top:.5rem;right:.5rem;padding:.28rem .55rem;border:1px solid #b9c9d3;border-radius:2px;background:var(--surface);color:var(--accent);font:inherit;line-height:1.2;cursor:pointer}.copy-citation:hover{border-color:var(--accent);color:var(--accent-dark)}
