@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-cyrillic-ext-400-normal.2xgjnt7tqh9_7.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-ext-400-normal.2k9shvy03yibn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-cyrillic-400-normal.0qoulnxh80yge.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-400-normal.0-x1dsk872q42.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-greek-400-normal.0_-0tsqse47zs.woff2)format("woff2"),url(../media/jetbrains-mono-greek-400-normal.3y1-6__cta0i8.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-vietnamese-400-normal.2_8hwz_kagcew.woff2)format("woff2"),url(../media/jetbrains-mono-vietnamese-400-normal.1lu2dr36-r4uv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-latin-ext-400-normal.1y03up-y7l7i4.woff2)format("woff2"),url(../media/jetbrains-mono-latin-ext-400-normal.02j2uvbtesu5k.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/jetbrains-mono-latin-400-normal.3crsbyy6lh6yf.woff2)format("woff2"),url(../media/jetbrains-mono-latin-400-normal.2-1gwgi1uvl-u.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(../media/jetbrains-mono-cyrillic-ext-700-normal.3_re1_vi8smkt.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-ext-700-normal.0n74mzw-xkcf_.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(../media/jetbrains-mono-cyrillic-700-normal.03lqm2majmr0o.woff2)format("woff2"),url(../media/jetbrains-mono-cyrillic-700-normal.3to38b2det_08.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(../media/jetbrains-mono-greek-700-normal.1umspahawg74g.woff2)format("woff2"),url(../media/jetbrains-mono-greek-700-normal.2sl-f5vk9r2uz.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(../media/jetbrains-mono-vietnamese-700-normal.0ae5b7qyx6wef.woff2)format("woff2"),url(../media/jetbrains-mono-vietnamese-700-normal.02oh1r7_ym-l4.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(../media/jetbrains-mono-latin-ext-700-normal.2hg34p-yvum_k.woff2)format("woff2"),url(../media/jetbrains-mono-latin-ext-700-normal.45a02o0qapeir.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(../media/jetbrains-mono-latin-700-normal.1ydlpv6k6mttm.woff2)format("woff2"),url(../media/jetbrains-mono-latin-700-normal.3rj35zxzh_fh4.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#fafaf9;--ink:#1c1a17;--ink-soft:#6b6660;--hairline:#1c1a171f;--accent:#c14f2c;--pill-bg:#1c1a17;--pill-ink:#fafaf9;--serif:"Newsreader Variable", "Iowan Old Style", Georgia, serif;--mono:"JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace}[data-theme=dark]{--bg:#191715;--ink:#e9e6e1;--ink-soft:#98928a;--hairline:#e9e6e124;--accent:#e07a4f;--pill-bg:#e9e6e1;--pill-ink:#191715}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--mono);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.75;transition:background .25s,color .25s}.page{max-width:705px;margin:0 auto;padding:56px 24px 80px}.masthead{justify-content:space-between;align-items:flex-start;display:flex}.avatar-wrap{cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:9999px;flex-shrink:0;width:120px;height:120px;position:relative;overflow:hidden}.avatar{object-fit:cover;border-radius:9999px;width:120px;height:120px}@media (max-width:600px){.avatar-wrap,.avatar{width:90px;height:90px}}.theme-toggle{border:1px solid var(--hairline);color:var(--ink);cursor:pointer;background:0 0;border-radius:8px;width:44px;height:44px;font-size:16px;transition:border-color .2s}.theme-toggle:hover{border-color:var(--ink-soft)}.site-name{font-family:var(--serif);letter-spacing:.01em;margin:28px 0 16px;font-size:44px;font-weight:500;line-height:1.1}.tagline{color:var(--ink);margin:0 0 48px}.tagline a,.prose a{color:inherit;text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.prose a.accent,.tagline a.accent{color:var(--accent)}.sections{margin-top:24px}.section{border-bottom:1px solid var(--hairline)}.section-toggle{width:100%;color:var(--ink-soft);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:18px 0;font-size:13px;font-weight:600;display:flex}.section-toggle:hover{color:var(--ink)}.section-toggle .chev{font-weight:400;transition:transform .2s;display:inline-block}.section.open .section-toggle .chev{transform:rotate(90deg)}.section-body{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.section.open .section-body{grid-template-rows:1fr}.section-body>div{overflow:hidden}#bookshelf.open .section-body>div{overflow:visible}.section-inner{padding:4px 0 28px}.prose p{margin:0 0 22px}.prose p:last-child{margin-bottom:0}.muted{color:var(--ink-soft)}.career-item{border-top:1px solid var(--hairline);grid-template-columns:106px 1fr;gap:16px;padding:22px 0;display:grid}.career-item:first-child{border-top:none;padding-top:8px}.career-years{color:var(--ink-soft);padding-top:2px;font-size:14px}.career-role{margin:0 0 4px;font-size:16px;font-weight:700}.career-org{margin:0 0 10px}.career-org a{color:var(--ink-soft);text-underline-offset:3px;text-decoration:underline}.career-org span{color:var(--ink-soft)}.career-desc{color:var(--ink-soft);margin:0}.career-desc b{color:var(--ink)}.list-item{border-top:1px solid var(--hairline);padding:20px 0}.list-item:first-of-type{border-top:none}.list-title{margin:0 0 6px;font-size:15px;font-weight:700}.list-title a{color:inherit;text-decoration:none}.list-title a:hover{text-underline-offset:3px;text-decoration:underline}.list-desc{color:var(--ink-soft);margin:0}.section-intro{margin:0 0 10px}.section-outro{border-top:1px solid var(--hairline);margin:14px 0 0;padding-top:16px}.section-outro a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.shelf-frame{border:none;width:min(100vw - 32px,1000px);height:700px;margin-top:8px;display:block;position:relative;left:50%;transform:translate(-50%)}.cta-row{justify-content:center;margin:56px 0 40px;display:flex}.cta-button{font-family:var(--mono);background:var(--pill-bg);color:var(--pill-ink);cursor:pointer;border:none;border-radius:10px;padding:16px 30px;font-size:14px;font-weight:700}.cta-button:hover{opacity:.88}.footer-links{gap:24px;display:flex}.footer-links a{color:var(--ink-soft);text-underline-offset:3px;font-size:14px;text-decoration:underline}.footer-links a:hover{color:var(--ink)}@media (max-width:560px){.site-name{font-size:34px}.career-item{grid-template-columns:1fr;gap:4px}.shelf-frame{height:620px}}
