@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Noto+Sans+Mono:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;700&display=swap');
:root{--font-mono:"Geist","Noto Sans Mono","Noto Sans SC",ui-monospace,monospace;--ink:#111;--muted:#595959;--faint:#888;--line:#eee;--link:#3548cf;--target:#dae5ec}
*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{min-height:100%;margin:0;background:#fff;color:#000;font-family:var(--font-mono);font-size:16px;font-weight:400;letter-spacing:.35px;line-height:1.62;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}::selection{background:#dce3ff;color:#000}a{color:var(--link);text-decoration:none}a:visited{color:#8f0075}a:hover{text-decoration:underline}img{display:block;max-width:100%}button{font:inherit}code{padding:.1em .28em;background:#111;color:#fff;font-family:var(--font-mono);font-size:88%}p{margin:1rem 0}strong{font-weight:700}
.site-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:flex-start;gap:2rem;padding:.85rem clamp(1.25rem,5vw,3rem);border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}.site-nav-title{color:var(--ink)!important;font-weight:700;letter-spacing:0}.site-nav-links{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1.2rem}.site-nav-links a,.site-nav-links a:visited{color:#555}.site-nav-links a:hover{color:#111;text-decoration:none}
.site-shell{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,760px);gap:3rem;max-width:1180px;margin:0 auto;padding:3rem 2rem 4rem}.site-sidebar{position:sticky;top:5rem;align-self:start}.profile-pic{width:170px;height:170px;margin:0 0 1.25rem;border-radius:50%;object-fit:cover;object-position:41% 44%;box-shadow:0 4px 12px rgba(0,0,0,.1);transition:transform .28s ease,box-shadow .28s ease}.profile-pic:hover{transform:scale(1.035);box-shadow:0 7px 22px rgba(0,0,0,.14)}.profile-info h2{margin:0;font-size:1.5rem;line-height:1.25}.profile-name-alt{margin:.18rem 0 1rem;color:#555;opacity:.8}.profile-detail{display:grid;grid-template-columns:1.4em minmax(0,1fr);column-gap:.5em;align-items:start;margin:0 0 .5em;font-size:.95rem}.icon{justify-self:center;color:#555;text-align:center}.contact-box{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.35em;margin-top:.65em;font-size:.95rem;line-height:1.75}.contact-item{display:grid;grid-template-columns:1.4em auto;column-gap:.5em;align-items:center;white-space:nowrap}.site-sidebar a,.site-sidebar a:visited{color:#111}.copy-email{padding:0;border:0;background:none;color:#111;cursor:pointer}.copy-email:hover .copy-label{text-decoration:underline}.research-tags{display:flex;flex-wrap:wrap;gap:.38rem;margin-top:1.15rem;max-width:260px}.research-tags span{padding:.1rem .38rem;border:1px solid #ddd;color:#555;font-size:.72rem;letter-spacing:0}
.content-column{min-width:0;margin-top:-1.5rem}section{padding-top:.5rem}section+section{margin-top:2.35rem}h1[id]{scroll-margin-top:5rem}h1{margin:1.5rem 0 1rem;font-size:1.58rem;line-height:1.3;letter-spacing:-.025em}h2{margin:0;font-size:1rem;line-height:1.5}*:target{background:var(--target)}section:target{background:transparent}.entry{margin:0 0 2.05rem}.featured-entry{padding-left:1rem;border-left:3px solid #e6e6e6}.featured-entry:hover{border-left-color:var(--link)}.entry-heading,.education-entry{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:.5em}.entry-org{margin:.05rem 0 0;color:#555;font-size:.88rem}.entry-date{flex:0 0 auto;color:#333;text-align:right;white-space:nowrap;font-size:.9rem}.bullet-list{margin:.5rem 0;padding-inline-start:0;list-style:none}.bullet-list li{position:relative;margin:.28rem 0;padding-inline-start:1.1rem}.bullet-list li::before{content:"•";position:absolute;inset-inline-start:0;top:.38em;font-size:.9em;line-height:1}.entry-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.7rem}.entry-meta code{background:#f1f1f1;color:#333;border:1px solid #e5e5e5}.note{margin:.65rem 0;color:#444;font-size:.88rem}.compact-entry p{margin-top:.55rem}
.research-principles{display:grid;grid-template-columns:repeat(3,1fr);margin:1.6rem 0 2.2rem;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.research-principles div{min-height:145px;padding:.9rem 1rem .9rem 0}.research-principles div+div{padding-left:1rem;border-left:1px solid #ddd}.research-principles span{display:block;margin-bottom:.7rem;color:#888;font-size:.75rem}.research-principles strong{display:block}.research-principles p{margin:.35rem 0 0;color:#666;font-size:.82rem;line-height:1.45}.education-entry{margin-bottom:.6rem}.recognition-list li span{display:inline-block;min-width:5.4rem;color:#555}.last-updated{display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--faint);font-size:.8rem}.last-updated a,.last-updated a:visited{color:#666}
@media(max-width:768px){.site-nav{align-items:flex-start;flex-direction:column;gap:.65rem;padding:1rem 1.25rem}.site-nav-links{gap:.35rem 1rem;font-size:.9rem}.site-shell{display:block;padding:1.5rem 1.25rem 3rem}.site-sidebar{position:static;display:grid;grid-template-columns:84px minmax(0,1fr);gap:0 1rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.profile-pic{grid-row:1;width:84px;height:84px}.profile-info h2{margin-top:0;font-size:1.35rem;line-height:1.15}.profile-name-alt{margin-bottom:.5rem}.profile-detail{font-size:.88rem;line-height:1.42}.contact-box{gap:.2rem;margin-top:.4rem;font-size:.88rem;line-height:1.4}.research-tags{grid-column:1/-1;max-width:none}.content-column{margin-top:0}.entry-heading,.education-entry{display:block}.entry-date{margin-top:.18rem;text-align:left;font-size:.82rem}.research-principles{grid-template-columns:1fr}.research-principles div{min-height:auto;padding:.9rem 0}.research-principles div+div{padding-left:0;border-top:1px solid #ddd;border-left:0}.last-updated{display:block}.last-updated a{display:inline-block;margin-top:.4rem}}
@media(max-width:440px){body{font-size:14.5px}.site-nav-links{font-size:.82rem}.featured-entry{padding-left:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
