@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #fbfaf7;--surface: #f2f0ea;--text: #17181b;--muted: #62666d;--faint: #8f939a;--rule: #e4e0d7;--accent: #b9531c;--accent-soft: rgba(185, 83, 28, .1);--sans: "Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "Geist Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--wide: 68rem;--gutter: clamp(1rem, 4vw, 2rem);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0e0f11;--surface: #16181b;--text: #ebeae6;--muted: #9b9fa6;--faint: #6b6f76;--rule: #24272c;--accent: #f0a35e;--accent-soft: rgba(240, 163, 94, .12);color-scheme:dark}}:root[data-theme=dark]{--bg: #0e0f11;--surface: #16181b;--text: #ebeae6;--muted: #9b9fa6;--faint: #6b6f76;--rule: #24272c;--accent: #f0a35e;--accent-soft: rgba(240, 163, 94, .12);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:1rem;line-height:1.65;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}main p,.post-body li,.interests li,.site-footer p{text-align:justify;hyphens:auto;hyphenate-limit-chars:7 3 3;text-wrap:pretty}a{color:inherit;text-decoration-line:underline;text-decoration-color:var(--rule);text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .15s ease,text-decoration-color .15s ease}a:hover{color:var(--accent);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.skip{position:absolute;left:-999px;top:.5rem;background:var(--text);color:var(--bg);padding:.4rem .8rem;border-radius:6px;z-index:50}.skip:focus{left:.5rem}.wrap{width:100%;max-width:var(--wide);margin:0 auto;padding:0 var(--gutter)}.mono{font-family:var(--mono);font-size:.8125rem;letter-spacing:.01em}.label{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);display:inline-flex;align-items:center;gap:.55rem}.label:before{content:"";width:6px;height:6px;border-radius:1px;background:var(--accent);flex:none}.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--rule)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:3.75rem}.wordmark{font-weight:600;letter-spacing:-.01em;text-decoration:none;display:inline-flex;align-items:center;gap:.6rem;white-space:nowrap}.wordmark .mark{flex:none;width:2rem;height:2rem;border-radius:7px;box-shadow:0 0 0 1px var(--rule)}.nav{display:flex;align-items:center;gap:.25rem;margin-left:auto}.nav a{position:relative;text-decoration:none;color:var(--muted);font-size:.9rem;padding:.45rem .6rem;border-radius:8px}.nav a:hover{color:var(--text);background:var(--surface)}.nav a[aria-current=page]{color:var(--text)}.nav a[aria-current=page]:after{content:"";position:absolute;left:.6rem;right:.6rem;bottom:.15rem;height:2px;border-radius:2px;background:var(--accent)}.theme-toggle{appearance:none;border:1px solid var(--rule);background:transparent;color:var(--muted);width:2.1rem;height:2.1rem;border-radius:8px;display:grid;place-items:center;cursor:pointer;margin-left:.35rem}.theme-toggle:hover{color:var(--text);background:var(--surface)}.theme-toggle .sun{display:none}:root[data-theme=dark] .theme-toggle .sun{display:block}:root[data-theme=dark] .theme-toggle .moon{display:none}.hero{padding:clamp(3rem,9vw,6.5rem) 0 clamp(2.5rem,6vw,4rem);display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:3rem;align-items:end}.now-card{border:1px solid var(--rule);border-radius:14px;padding:1.15rem 1.2rem .4rem;background:var(--surface)}.now-card dl{margin:.9rem 0 0}.now-card dl>div{padding:.7rem 0;border-top:1px solid var(--rule)}.now-card dt{color:var(--faint);font-size:.72rem;margin-bottom:.2rem}.now-card dd{margin:0;display:grid;gap:.05rem;font-size:.93rem}.now-card dd strong{font-weight:560}.now-card dd span{color:var(--muted)}.hero h1{font-size:clamp(2.25rem,6vw,3.6rem);line-height:1.05;font-weight:560;letter-spacing:-.035em;margin:1.1rem 0 1rem}.hero .role{font-size:clamp(1.02rem,2.4vw,1.2rem);color:var(--muted);margin:0 0 1.5rem;max-width:40rem}.hero .summary,.hero .now{max-width:40rem;font-size:1.04rem}.hero .summary{margin:0 0 .9rem}.hero .now{color:var(--muted);margin:0}.links{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.9rem}.pill{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--mono);font-size:.78rem;text-decoration:none;color:var(--text);border:1px solid var(--rule);border-radius:999px;padding:.42rem .85rem;background:var(--bg)}.pill:hover{border-color:var(--accent);color:var(--accent)}.pill.solid{background:var(--text);color:var(--bg);border-color:var(--text)}.pill.solid:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}.section{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:1.5rem 3rem;padding:clamp(2.5rem,6vw,4rem) 0;border-top:1px solid var(--rule)}.section>header{position:relative}.section>header .label{position:sticky;top:5rem;white-space:nowrap}.section h2{font-size:1.35rem;font-weight:560;letter-spacing:-.02em;margin:0 0 1rem}.prose{max-width:42rem}.prose p{margin:0 0 1rem}.interests{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.interests li{display:grid;grid-template-columns:1.6rem minmax(0,1fr);align-items:baseline}.interests li:before{content:counter(item,decimal-leading-zero);counter-increment:item;font-family:var(--mono);font-size:.72rem;color:var(--accent)}.interests{counter-reset:item}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.card{display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid var(--rule);border-radius:14px;overflow:hidden;background:var(--bg);transition:border-color .18s ease,transform .18s ease}.card:hover{color:inherit;border-color:color-mix(in srgb,var(--accent) 55%,var(--rule));transform:translateY(-2px)}.card figure{margin:0;aspect-ratio:16 / 10;background:#0e0f11;border-bottom:1px solid var(--rule);overflow:hidden}.card figure img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.card:hover figure img{transform:scale(1.02)}.card .body{padding:1rem 1.1rem 1.15rem;display:flex;flex-direction:column;gap:.45rem;flex:1}.card .meta{display:flex;justify-content:space-between;gap:1rem;color:var(--faint)}.card h3{font-size:1.04rem;font-weight:560;letter-spacing:-.01em;margin:0}.card p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.55}.tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:.5rem}.tag{font-family:var(--mono);font-size:.68rem;color:var(--muted);background:var(--surface);border-radius:6px;padding:.15rem .45rem}.rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.row{border-bottom:1px solid var(--rule)}.row>a,.row>div{display:grid;grid-template-columns:9.5rem minmax(0,1fr) auto;gap:.25rem 1.5rem;align-items:baseline;padding:1.05rem .25rem;text-decoration:none;color:inherit}.row>a:hover{background:var(--surface);color:inherit}.row .when{font-family:var(--mono);font-size:.78rem;color:var(--faint)}.row .what{min-width:0}.row .what strong{font-weight:560}.row .what .org{color:var(--muted)}.row .what p{margin:.25rem 0 0;color:var(--muted);font-size:.93rem}.row .what .me{color:var(--text);font-weight:560;white-space:nowrap}.row .what .venue{font-style:italic}.row .go{font-family:var(--mono);font-size:.78rem;color:var(--faint)}.row>a:hover .go{color:var(--accent)}.more{margin-top:1.5rem}.post-header{padding:clamp(3rem,8vw,5rem) 0 1.5rem;max-width:44rem}.post-header a.label{text-decoration:none}.post-header a.label:hover{color:var(--accent)}.post-header h1{font-size:clamp(1.9rem,5vw,2.6rem);line-height:1.12;letter-spacing:-.03em;font-weight:560;margin:1rem 0 .75rem}.post-lede{color:var(--muted);font-size:1.08rem;margin:0 0 1rem}.post-meta{color:var(--faint);display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0}.row .what .post-meta{display:block;margin-top:.35rem;font-size:.75rem}.post-header .tags{margin-top:1rem}.badge{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:.05rem .5rem;margin-left:.5rem;vertical-align:middle}.post-body{max-width:44rem;padding-bottom:3rem;font-size:1.04rem}.post-body>:first-child{margin-top:0}.post-body p,.post-body ul,.post-body ol{margin:0 0 1.15rem}.post-body li+li{margin-top:.35rem}.post-body h2{font-size:1.35rem;font-weight:560;letter-spacing:-.02em;margin:2.6rem 0 .8rem}.post-body h3{font-size:1.12rem;font-weight:560;margin:2rem 0 .6rem}.post-body a{text-decoration-color:var(--accent)}.post-body blockquote{margin:1.6rem 0;padding:.1rem 0 .1rem 1.1rem;border-left:2px solid var(--accent);color:var(--muted)}.post-body hr{border:0;border-top:1px solid var(--rule);margin:2.5rem 0}.post-body img{height:auto;margin:1.6rem auto;border-radius:10px}.post-body table{display:block;overflow-x:auto;border-collapse:collapse;margin:0 0 1.4rem;font-size:.93rem}.post-body th,.post-body td{border-bottom:1px solid var(--rule);padding:.5rem .9rem .5rem 0;text-align:left}.post-body pre{background:var(--surface)!important;border:1px solid var(--rule);border-radius:10px;padding:1rem 1.1rem;overflow-x:auto;font-size:.85rem;line-height:1.6;margin:0 0 1.4rem}.post-body code{font-family:var(--mono);font-size:.88em}.post-body :not(pre)>code{background:var(--surface);border:1px solid var(--rule);border-radius:5px;padding:.08em .35em}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important}}.post-body .katex-display{overflow-x:auto;overflow-y:hidden;padding:.2rem 0;margin:1.4rem 0}.post-body .footnotes{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--rule);color:var(--muted);font-size:.9rem}.post-nav{max-width:44rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;border-top:1px solid var(--rule);padding-top:1.5rem}.post-nav a{display:grid;gap:.3rem;text-decoration:none}.post-nav a.newer{justify-items:end;text-align:right}.post-nav a:hover strong{color:var(--accent)}.back{margin:2rem 0 0}.pubs{list-style:none;margin:0;padding:0;display:grid;gap:2rem;max-width:46rem}.pub h3{font-size:1.08rem;font-weight:560;line-height:1.4;margin:0 0 .4rem}.pub .authors,.pub .venue{margin:0 0 .25rem;color:var(--muted);font-size:.95rem}.pub .venue{font-style:italic}.pub .me{color:var(--text);font-weight:560;white-space:nowrap}.pub-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}.pub{min-width:0}.bibtex[open]{flex-basis:100%;min-width:0}.bibtex summary{cursor:pointer;list-style:none}.bibtex summary::-webkit-details-marker{display:none}.bibtex pre{max-width:100%;margin:.75rem 0 0;background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:1rem;overflow-x:auto;font-family:var(--mono);font-size:.78rem;line-height:1.6}.empty{color:var(--muted)}.page-head{padding:clamp(3rem,8vw,5rem) 0 clamp(1.5rem,4vw,2.5rem)}.page-head h1{font-size:clamp(2rem,5vw,2.8rem);letter-spacing:-.03em;font-weight:560;margin:1rem 0 .6rem}.page-head p{color:var(--muted);max-width:40rem;margin:0}.site-footer{border-top:1px solid var(--rule);margin-top:2rem;padding:3rem 0 2.5rem;color:var(--muted);font-size:.92rem}.site-footer .cols{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,.6fr));gap:2rem}.site-footer h4{margin:0 0 .75rem}.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.site-footer a{text-decoration:none;color:var(--muted)}.site-footer a:hover{color:var(--accent)}.site-footer .base{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--rule);color:var(--faint)}@media(max-width:900px){.hero{grid-template-columns:1fr;gap:2rem}.section{grid-template-columns:1fr;gap:1rem}.section>header .label{position:static}}@media(max-width:680px){.post-nav{grid-template-columns:1fr}.post-nav a.newer{justify-items:start;text-align:left}.grid{grid-template-columns:1fr}.row>a,.row>div{grid-template-columns:minmax(0,1fr) auto}.row .when{grid-column:1 / -1}.row>div .when{grid-column:1;grid-row:1}.row>div .go{grid-column:2;grid-row:1}.row>div .what{grid-column:1 / -1;grid-row:2}.site-footer .cols{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer .cols>:first-child{grid-column:1 / -1}}@media(max-width:600px){.site-header .wrap{height:3.4rem}.wordmark .name{display:none}.nav a{padding:.4rem .5rem;font-size:.86rem}.nav a.home{display:none}}@media(max-width:360px){.nav a{padding:.4rem .38rem;font-size:.82rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,a{transition:none}}
