:root{--ground:#F2F4F7;--paper:#FFFFFF;--paper-2:#F7F9FA;--ink:#191C21;--ink-2:#454B54;--muted:#6E7681;--line:#E5E8EC;--line-2:#F0F2F5;--accent:#12507F;--accent-ink:#FFFFFF;--v-journal:#12507F;--v-conference:#0E5A57;--v-workshop:#5A6472;--sans:'Mulish', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;--mono:'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;--step--2:.72rem;--step--1:.82rem;--step-0:.95rem;--step-1:1.05rem;--step-2:1.25rem;--step-3:1.6rem}:root[data-theme=dark]{--ground:#0E1116;--paper:#12151A;--paper-2:#171B21;--ink:#E4E8EE;--ink-2:#B6BDC7;--muted:#828B98;--line:#272C34;--line-2:#1D222A;--accent:#7FB2DC;--accent-ink:#0E1116;--v-journal:#7FB2DC;--v-conference:#6FC3BC;--v-workshop:#98A2B0}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}ul{padding:0;list-style:none}img{max-width:100%;height:auto}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}#field{position:fixed;inset:0;z-index:0;width:100%;height:100%;pointer-events:none}.shell,.footer{position:relative;z-index:1}.shell{max-width:980px;margin:0 auto;padding:56px 40px 0}.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:46px 52px 52px;display:flex;flex-direction:column;gap:34px;box-shadow:0 1px 2px rgba(16,22,30,4%),0 18px 44px rgba(16,22,30,6%)}:root[data-theme=dark] .card{box-shadow:0 1px 2px rgba(0,0,0,.35),0 18px 44px rgba(0,0,0,.4)}.id{display:flex;gap:24px;align-items:center}.id__photo{width:78px;height:78px;flex:none;border-radius:50%;object-fit:cover}.id__body{min-width:0}.id__name{font-size:var(--step-3);font-weight:700;letter-spacing:-.024em;line-height:1.15}.id__affil{margin-top:3px;font-size:var(--step-0);color:var(--ink-2)}.id__email{margin-top:1px;font-size:var(--step--1);color:var(--muted)}.id__email a{color:inherit}.id__email a:hover{color:var(--accent)}.id__icons{display:flex;align-items:center;gap:15px;margin-top:12px}.id__icons a,.theme-toggle{display:flex;color:var(--muted);background:0 0;border:0;padding:0;cursor:pointer}.id__icons a:hover,.theme-toggle:hover{color:var(--accent)}.id__icons svg,.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.section{display:flex;flex-direction:column}.section__title{display:flex;align-items:center;gap:12px;font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.section__title::after{content:"";flex:1;height:1px;background:var(--line)}.section__subtitle{margin-top:6px;font-size:var(--step--1);color:var(--muted)}.bio p{font-size:var(--step-1);line-height:1.7;color:var(--ink-2)}.bio p+p{margin-top:14px}.bio strong{color:var(--ink);font-weight:700}.now{display:flex;flex-direction:column;gap:10px;padding:15px 17px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;background:color-mix(in srgb,var(--accent) 4%,var(--paper))}.now__cap{display:flex;align-items:center;gap:8px;font-size:.66rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}.now__dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.now__body{font-size:var(--step-0);line-height:1.6;color:var(--ink-2)}.now__tags{display:flex;flex-wrap:wrap;gap:7px}.news{margin-top:13px;max-height:320px;overflow-y:auto;overscroll-behavior:contain;padding-right:8px}.news::-webkit-scrollbar{width:7px}.news::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 34%,var(--paper));border-radius:7px}.news li{padding:10px 0;border-bottom:1px solid var(--line-2)}.news li:last-child{border-bottom:0}.news__hd{display:grid;grid-template-columns:5.4rem 1fr;gap:14px;align-items:baseline}.news__date{padding-top:2px;font-family:var(--mono);font-size:.72rem;color:var(--accent);font-variant-numeric:tabular-nums}.news__text{font-size:var(--step-0);line-height:1.5;color:var(--ink-2)}.news__text a{color:var(--ink-2);border-bottom:1px solid var(--line)}.news__text a:hover{color:var(--accent);border-bottom-color:initial;text-decoration:none}.news__text p{display:inline}.news__where{display:block;margin-top:2px;margin-left:calc(5.4rem + 14px);font-size:var(--step--2);color:var(--muted)}.legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:11px;font-size:var(--step--2);color:var(--muted)}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:3px;flex:none;display:block}.legend .journal{background:color-mix(in srgb,var(--v-journal) 26%,var(--paper));border:1px solid var(--v-journal)}.legend .conference{background:color-mix(in srgb,var(--v-conference) 26%,var(--paper));border:1px solid var(--v-conference)}.legend .workshop{background:color-mix(in srgb,var(--v-workshop) 26%,var(--paper));border:1px solid var(--v-workshop)}.pubs{margin-top:6px}.pub{display:grid;grid-template-columns:5.4rem 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line-2)}.pub:last-child{border-bottom:0}.pub__year{padding-top:3px;font-family:var(--mono);font-size:.74rem;color:var(--muted);font-variant-numeric:tabular-nums}.pub:hover .pub__year{color:var(--accent)}.pub__body{min-width:0}.pub__title{font-size:var(--step-1);font-weight:600;line-height:1.42;letter-spacing:-.008em;text-wrap:balance}.pub__authors{margin-top:5px;font-size:var(--step--1);color:var(--muted);line-height:1.5}.pub__authors .self{font-weight:700;color:var(--ink-2)}.pub__venues{margin-top:10px;display:flex;flex-wrap:wrap;gap:7px}.pub__links{margin-top:9px;display:flex;flex-wrap:wrap;gap:14px}.pub__links a{font-size:var(--step--1);border-bottom:1px solid transparent}.pub__links a:hover{text-decoration:none;border-bottom-color:color-mix(in srgb,var(--accent) 45%,transparent)}.chip{display:inline-block;padding:3px 9px;border-radius:5px;font-size:var(--step--2);font-weight:500;line-height:1.35}.chip--journal{color:var(--v-journal);background:color-mix(in srgb,var(--v-journal) 10%,var(--paper));border:1px solid color-mix(in srgb,var(--v-journal) 26%,var(--paper))}.chip--conference{color:var(--v-conference);background:color-mix(in srgb,var(--v-conference) 10%,var(--paper));border:1px solid color-mix(in srgb,var(--v-conference) 26%,var(--paper))}.chip--workshop{color:var(--v-workshop);background:color-mix(in srgb,var(--v-workshop) 11%,var(--paper));border:1px solid color-mix(in srgb,var(--v-workshop) 28%,var(--paper))}.chip--plain{color:var(--ink-2);background:color-mix(in srgb,var(--ink) 5%,var(--paper));border:1px solid var(--line)}.edu{display:flex;flex-direction:column;gap:12px;margin-top:14px}.edu__row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:baseline}.edu__inst{font-size:var(--step-0);font-weight:600}.edu__deg{font-size:var(--step--1);color:var(--muted)}.edu__dates{font-family:var(--mono);font-size:.76rem;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}.footer{max-width:940px;margin:56px auto 0;padding:20px 32px 32px;border-top:1px solid var(--line);font-size:var(--step--2);color:var(--muted)}.footer a{color:inherit}.footer a:hover{color:var(--accent)}.prose{max-width:720px;margin:0 auto;padding:40px 32px 0}.blog-nav{display:flex;gap:18px;margin-bottom:34px;font-size:var(--step--1)}.blog-nav a{color:var(--muted)}.blog-nav a:hover{color:var(--accent)}.prose h1{font-size:var(--step-3);font-weight:700;letter-spacing:-.022em;text-wrap:balance}.post+.post{margin-top:40px;padding-top:40px;border-top:1px solid var(--line)}.post__title{font-size:var(--step-2);font-weight:700;letter-spacing:-.018em;text-wrap:balance}.post__title a{color:var(--ink)}.post__meta{margin-top:5px;font-family:var(--mono);font-size:var(--step--2);color:var(--muted)}.post__tags{margin-top:9px;display:flex;flex-wrap:wrap;gap:7px}.tag{font-size:var(--step--2);padding:2px 9px;border-radius:5px;color:var(--ink-2);background:color-mix(in srgb,var(--ink) 5%,var(--paper));border:1px solid var(--line)}.tag:hover{text-decoration:none;border-color:var(--accent);color:var(--accent)}.post__summary{margin-top:12px;color:var(--ink-2)}.post__more{margin-top:10px;font-size:var(--step--1)}.prose__body{margin-top:26px;color:var(--ink-2)}.prose__body h1,.prose__body h2,.prose__body h3{margin:34px 0 12px;color:var(--ink);letter-spacing:-.015em;text-wrap:balance}.prose__body h1{font-size:var(--step-2)}.prose__body h2{font-size:var(--step-1)}.prose__body h3{font-size:var(--step-0)}.prose__body p{margin:14px 0;line-height:1.75}.prose__body ul,.prose__body ol{margin:14px 0;padding-left:22px}.prose__body ul{list-style:disc}.prose__body ol{list-style:decimal}.prose__body li{margin:6px 0}.prose__body img{border-radius:8px;margin:20px 0}.prose__body blockquote{margin:20px 0;padding:4px 0 4px 18px;border-left:3px solid var(--line);color:var(--muted)}.prose__body code{font-family:var(--mono);font-size:.86em;padding:1px 5px;border-radius:4px;background:var(--paper-2);border:1px solid var(--line)}.prose__body pre{margin:18px 0;padding:15px 17px;overflow-x:auto;border-radius:8px;background:var(--paper-2);border:1px solid var(--line)}.prose__body pre code{padding:0;border:0;background:0 0;font-size:.82rem}.prose__body table{width:100%;border-collapse:collapse;margin:20px 0;font-size:var(--step--1)}.prose__body th,.prose__body td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}.prose__body th{color:var(--ink);font-weight:600}.table-wrap{overflow-x:auto}.toc{margin:24px 0;padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:var(--paper-2);font-size:var(--step--1)}.toc__cap{font-size:.66rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.toc ul{margin:8px 0 0;padding-left:16px;list-style:none}.toc li{margin:4px 0}.note{margin:20px 0;padding:12px 16px;border-left:3px solid var(--accent);border-radius:6px;background:color-mix(in srgb,var(--accent) 6%,var(--paper))}.pagination{display:flex;gap:8px;justify-content:center;margin:40px 0 0;font-size:var(--step--1)}.pagination li a,.pagination li span{display:block;padding:5px 11px;border-radius:6px;border:1px solid var(--line)}.pagination .active span{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.notfound{text-align:center;padding:96px 32px}.notfound h1{font-size:var(--step-3);font-weight:700;letter-spacing:-.022em}.notfound p{margin-top:10px;color:var(--muted)}.notfound a{display:inline-block;margin-top:20px}@media(max-width:800px){.shell{padding:20px 14px 0}.card{padding:28px 22px 34px;gap:26px;border-radius:10px}.id{gap:16px}.id__photo{width:62px;height:62px}.news__hd,.pub{grid-template-columns:4.4rem 1fr;gap:11px}.news__where{margin-left:0}.edu__row{grid-template-columns:1fr;gap:2px}.footer{padding:20px 22px 32px}.prose{padding:30px 22px 0}}