@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,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(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,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(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/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(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");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}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-padding-top:80px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::selection{background-color:var(--accent);color:var(--text-on-accent)}body{font-family:var(--font-body);font-size:var(--text-body);background-color:var(--bg);color:var(--text-primary);line-height:1.65;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}ul,ol{list-style:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-xs)}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0b0c;--bg-surface:#141416;--bg-surface-hover:#1a1a1d;--bg-inset:#0f0f11;--border:#ffffff14;--border-strong:#ffffff29;--text-primary:#ededef;--text-secondary:#a1a1aa;--text-muted:#8b8b94;--accent:#c6f432;--accent-soft:#c6f4321f;--accent-glow:#c6f4322e;--text-on-accent:#0b0b0c;--tile-dots:#ffffff0d;--header-bg:#0b0b0cb8;--paper:#f4f1ea;--paper-ink:#1c1b19}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafaf9;--bg-surface:#fff;--bg-surface-hover:#f4f4f3;--bg-inset:#f4f4f2;--border:#00000014;--border-strong:#00000029;--text-primary:#18181b;--text-secondary:#52525b;--text-muted:#6b6b74;--accent:#4d7c0f;--accent-soft:#4d7c0f1a;--accent-glow:#84cc1638;--text-on-accent:#fff;--tile-dots:#0000000f;--header-bg:#fafaf9bf;--paper:#fff;--paper-ink:#1c1b19}:root{--font-body:"Geist Variable", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--text-hero:clamp(2.75rem, 7vw, 5.5rem);--text-display:clamp(2.5rem, 8vw, 6.5rem);--text-h2:clamp(1.5rem, 3vw, 2.25rem);--text-h3:1.25rem;--text-body:1.0625rem;--text-small:.9375rem;--text-caption:.8125rem;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-full:999px;--container:1200px;--measure:68ch;--gutter:clamp(1rem, 4vw, 2rem);--section-gap:clamp(5rem, 12vw, 10rem);--ease-out:cubic-bezier(.22, 1, .36, 1)}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section-gap) 0}.skip-link{left:var(--gutter);z-index:100;border-radius:var(--radius-sm);background:var(--accent);color:var(--text-on-accent);padding:.6rem 1rem;font-weight:600;position:absolute;top:-100px}.skip-link:focus{top:1rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:clip}.section-grid{grid-template-columns:220px minmax(0,1fr);gap:2rem 4rem;display:grid}.section-grid__aside{align-self:start;position:sticky;top:96px}@media (width<=860px){.section-grid{grid-template-columns:1fr}.section-grid__aside{position:static}}.section-label{font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.6rem;font-weight:500;display:inline-flex}.section-label__index{color:var(--accent)}.mono{font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.02em}.muted{color:var(--text-muted)}.prose{max-width:var(--measure);color:var(--text-secondary)}.prose p+p{margin-top:1.1em}.prose strong{color:var(--text-primary);font-weight:500}.inline-link{color:var(--text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:4px;transition:text-decoration-color .2s,color .2s}.inline-link:hover{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.btn{border-radius:var(--radius-full);min-height:44px;font-size:var(--text-small);white-space:nowrap;transition:background-color .2s, border-color .2s, color .2s, transform .2s var(--ease-out);justify-content:center;align-items:center;gap:.5rem;padding:0 1.15rem;font-weight:500;display:inline-flex}.btn:active{transform:scale(.97)}.btn--primary{background:var(--text-primary);color:var(--bg)}.btn--primary:hover{background:var(--accent);color:var(--text-on-accent)}.btn--ghost{border:1px solid var(--border-strong);color:var(--text-primary)}.btn--ghost:hover{background:var(--bg-surface-hover)}.icon-btn{border-radius:var(--radius-full);width:40px;height:40px;color:var(--text-secondary);place-items:center;transition:background-color .2s,color .2s;display:inline-grid}.icon-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.status-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px;position:relative}.status-dot:after{content:"";background:var(--accent);animation:status-ping 2s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}@keyframes status-ping{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(3)}}.js .reveal{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transform:translateY(16px)}.reveal.visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none}}.header{z-index:50;border-bottom:1px solid #0000;transition:background-color .3s,border-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;position:fixed;inset:0 0 auto}.header--scrolled{background:var(--header-bg);border-bottom-color:var(--border);-webkit-backdrop-filter:saturate(160%)blur(14px)}.header__inner{justify-content:space-between;align-items:center;gap:1rem;height:64px;display:flex}.header__logo{letter-spacing:-.01em;align-items:center;gap:.7rem;font-weight:600;display:inline-flex}.header__mark{border-radius:var(--radius-sm);background:var(--text-primary);width:32px;height:32px;color:var(--bg);font-family:var(--font-mono);place-items:center;font-size:.75rem;font-weight:500;display:grid}.header__nav{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-surface);gap:.25rem;padding:4px;display:flex}.header__link{border-radius:var(--radius-full);font-size:var(--text-small);color:var(--text-secondary);padding:.4rem .95rem;transition:color .2s,background-color .2s}.header__link:hover{color:var(--text-primary)}.header__link.is-active{color:var(--text-primary);background:var(--bg-surface-hover)}.header__actions{align-items:center;gap:.5rem;display:flex}.header__resume{min-height:36px}.header__burger{width:40px;height:40px;display:none;position:relative}.header__burger span{width:18px;height:1.5px;transition:transform .25s var(--ease-out);background:currentColor;position:absolute;left:11px}.header__burger span:first-child{top:16px}.header__burger span:nth-child(2){top:23px}.header__burger.is-open span:first-child{transform:translateY(3.5px)rotate(45deg)}.header__burger.is-open span:nth-child(2){transform:translateY(-3.5px)rotate(-45deg)}.header__sheet{padding:.5rem var(--gutter) 1.5rem;border-top:1px solid var(--border);flex-direction:column;display:flex}.header__sheet-link{border-bottom:1px solid var(--border);letter-spacing:-.02em;text-align:left;align-items:baseline;gap:1rem;padding:.9rem 0;font-size:1.5rem;font-weight:500;display:flex}@media (width<=860px){.header__nav,.header__resume{display:none}.header__burger{display:block}}@media (width>=861px){.header__sheet{display:none}}.header__link--page{align-items:center;gap:.4rem;display:inline-flex}.header__link--page:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.footer__headline{font-size:var(--text-display);letter-spacing:-.05em;margin-top:1.5rem;font-weight:600;line-height:.95}.footer__lead{margin-top:1.75rem;font-size:1.125rem}.footer__actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:2.25rem;display:flex}.footer__email{border:1px solid var(--border-strong);border-radius:var(--radius-full);min-height:44px;font-size:var(--text-small);align-items:center;gap:1rem;padding:0 .5rem 0 1.15rem;font-weight:500;transition:border-color .2s,background-color .2s;display:inline-flex}.footer__email:hover{background:var(--bg-surface-hover);border-color:var(--accent)}.footer__copy{border-radius:var(--radius-full);background:var(--accent-soft);min-width:5.5rem;height:32px;color:var(--accent);place-items:center;padding:0 .75rem;display:inline-grid;overflow:hidden}.footer__links{font-size:var(--text-small);flex-wrap:wrap;gap:.75rem 1.75rem;margin-top:2rem;display:flex}.footer__links a{align-items:center;gap:.45rem;display:inline-flex}.footer__bar{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;margin-top:clamp(4rem,10vw,7rem);padding-block:1.75rem 2.25rem;display:flex}.footer__top{color:var(--text-muted);transition:color .2s}.footer__top:hover{color:var(--accent)}
