@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}:is(.mn,:root:has(.mn)){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--mn-bg:#0a0a0a;--mn-surface:#111;--mn-fg:#f4f4f5;--mn-fg-soft:#b8b8bd;--mn-muted:#8c8c94;--mn-hair:#ffffff0f;--mn-line:#ffffff1a;--mn-line-strong:#fff3;--mn-accent:#a3e635;--mn-accent-text:#a3e635;--mn-accent-soft:#a3e6351f;--mn-open:#4ade80;--mn-merged:#a371f7;--mn-btn-bg:#fafafa;--mn-btn-fg:#0a0a0a;--mn-r:8px;--mn-r-card:10px;--mn-sans:"Geist Variable", ui-sans-serif, system-ui, sans-serif;--mn-mono:"Geist Mono Variable", ui-monospace, SFMono-Regular, monospace;--mn-ease-out:cubic-bezier(.23, 1, .32, 1)}@media (prefers-color-scheme:dark){:is(.mn,:root:has(.mn)){--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-color-scheme:light){:is(.mn,:root:has(.mn)){--mn-bg:#f7f7f4;--mn-surface:#fff;--mn-fg:#0a0a0a;--mn-fg-soft:#3d3d43;--mn-muted:#62626a;--mn-hair:#0a0a0a14;--mn-line:#0a0a0a1a;--mn-line-strong:#0a0a0a38;--mn-accent:#65a30d;--mn-accent-text:#3f6212;--mn-accent-soft:#65a30d24;--mn-open:#1a7f37;--mn-merged:#8250df;--mn-btn-bg:#0a0a0a;--mn-btn-fg:#fafafa}}:root:has(.mn) body{background:var(--mn-bg)}@media (prefers-reduced-motion:no-preference){:root:has(.mn){scroll-behavior:smooth}}:root:has(.mn){interpolate-size:allow-keywords}.mn{font-family:var(--mn-sans);background:var(--mn-bg);color:var(--mn-fg);-webkit-font-smoothing:antialiased;min-height:100dvh;font-size:14px;line-height:1.6;overflow-x:clip}.mn ::selection{background:var(--mn-accent);color:#0a0a0a}.mn :focus-visible{outline:2px solid var(--mn-accent-text);outline-offset:3px;border-radius:4px}.mn-anchor{scroll-margin-top:5rem}.mn-col{width:100%;max-width:60rem;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem);position:relative}.mn-col:before,.mn-col:after{content:"";background:var(--mn-hair);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.mn-col:before{left:0}.mn-col:after{right:0}.mn-label{font-family:var(--mn-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mn-muted);font-size:11px;font-weight:400;line-height:1.4}.mn-mono{font-family:var(--mn-mono)}.mn-navbar{border:1px solid var(--mn-line);border-radius:var(--mn-r);background:color-mix(in srgb, var(--mn-bg) 72%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:3rem}.mn-navlink{color:var(--mn-muted);font-size:13px;transition:color .2s}.mn-navlink:hover,.mn-navlink[data-status=active]{color:var(--mn-fg)}.mn-menu{border:1px solid var(--mn-line);border-radius:var(--mn-r);background:color-mix(in srgb, var(--mn-bg) 97%, var(--mn-fg));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform-origin:100% 0;transition:opacity .15s var(--mn-ease-out), transform .15s var(--mn-ease-out)}@starting-style{.mn-menu{opacity:0;transform:translateY(-4px)scale(.97)}}@media (prefers-reduced-motion:reduce){.mn-menu{transform:none}}.mn-btn{border-radius:var(--mn-r);background:var(--mn-btn-bg);height:2rem;color:var(--mn-btn-fg);transition:opacity .2s, transform .16s var(--mn-ease-out);align-items:center;padding-inline:.75rem;font-size:13px;font-weight:500;display:inline-flex}.mn-btn:hover{opacity:.85}.mn-btn-ghost{border-radius:var(--mn-r);border:1px solid var(--mn-line-strong);height:2rem;color:var(--mn-fg);transition:border-color .2s, background-color .2s, transform .16s var(--mn-ease-out);align-items:center;gap:.4rem;padding-inline:.75rem;font-size:13px;font-weight:500;display:inline-flex}.mn-btn-ghost:hover{border-color:var(--mn-fg);background:var(--mn-accent-soft)}.mn-btn:active,.mn-btn-ghost:active,.mn-top:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.mn-btn:active,.mn-btn-ghost:active,.mn-top:active{transform:none}}.mn-avatar{vertical-align:-.2em;border:1px solid var(--mn-line-strong);background:var(--mn-surface);border-radius:999px;width:1.15em;height:1.15em;margin-inline:.05em;display:inline-block;overflow:hidden}.mn-avatar img{object-fit:cover;object-position:center 20%;transform-origin:50% 30%;width:100%;height:100%;transform:scale(1.35)}.mn-link{color:var(--mn-muted);transition:color .2s}.mn-link:hover{color:var(--mn-fg)}.mn-dot{background:var(--mn-accent);border-radius:999px;width:6px;height:6px;display:inline-block}.mn-figure{color:var(--mn-accent-text);white-space:nowrap;font-weight:500}.mn-stack-item{color:var(--mn-muted);transition:color .2s}.mn-stack-item:hover{color:var(--mn-fg)}.mn-role{padding-bottom:2.5rem;padding-left:1.5rem;position:relative}.mn-role:last-child{padding-bottom:0}.mn-role:not(:last-child):before{content:"";background:var(--mn-line-strong);width:1px;position:absolute;top:.75rem;bottom:-.25rem;left:4px}.mn-role:after{content:"";border:1px solid var(--mn-line-strong);background:var(--mn-bg);border-radius:999px;width:9px;height:9px;position:absolute;top:.3rem;left:0}.mn-role[data-current=true]:after{border-color:var(--mn-accent)}.mn-role:has(details[open]) .mn-preview{display:none}.mn-details summary{cursor:pointer;color:var(--mn-accent-text);align-items:center;gap:.25rem;margin-top:.375rem;font-size:12.5px;font-weight:500;list-style:none;display:inline-flex}.mn-details summary::-webkit-details-marker{display:none}.mn-details summary .mn-less,.mn-details[open] summary .mn-more{display:none}.mn-details[open] summary .mn-less{display:inline}.mn-details summary svg{transition:transform .25s}.mn-details[open] summary svg{transform:rotate(180deg)}.mn-details::details-content{opacity:0;block-size:0;transition:block-size .25s var(--mn-ease-out), opacity .2s var(--mn-ease-out), content-visibility .25s allow-discrete;overflow:clip}.mn-details[open]::details-content{opacity:1;block-size:auto}@media (prefers-reduced-motion:reduce){.mn-details::details-content{transition:opacity .2s var(--mn-ease-out), content-visibility .2s allow-discrete}}.mn-tech{font-family:var(--mn-mono);color:var(--mn-muted);align-items:center;gap:.375rem;font-size:11.5px;display:inline-flex}.mn-card-media{aspect-ratio:16/10;border:1px solid var(--mn-line);border-radius:var(--mn-r-card);background:var(--mn-surface);transition:border-color .2s;position:relative;overflow:hidden}.mn-card-media img{object-fit:cover;object-position:top;width:100%;height:100%}.mn-card-media img[data-og=true]{object-fit:contain;object-position:center}.mn-card:hover .mn-card-media{border-color:var(--mn-line-strong)}.mn-card:hover .mn-card-title{color:var(--mn-accent-text)}.mn-card-title{transition:color .2s}.mn-badge{border:1px solid var(--mn-line);background:color-mix(in srgb, var(--mn-bg) 80%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);height:1.375rem;color:var(--mn-fg);border-radius:6px;align-items:center;padding-inline:.5rem;font-size:11px;font-weight:500;display:inline-flex}.mn-pr-title{transition:color .2s}.mn-pr:hover .mn-pr-title{color:var(--mn-accent-text)}.mn-top{border:1px solid var(--mn-line);width:2rem;height:2rem;color:var(--mn-muted);transition:color .2s, border-color .2s, transform .16s var(--mn-ease-out);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.mn-top:hover{color:var(--mn-fg);border-color:var(--mn-line-strong)}.mn-wordmark-wrap{overflow:hidden;container-type:inline-size}.mn-wordmark{font-family:var(--mn-sans);letter-spacing:-.06em;text-align:center;-webkit-user-select:none;user-select:none;white-space:nowrap;color:#0000;background:linear-gradient(to bottom, color-mix(in srgb, var(--mn-fg) 30%, transparent), transparent 85%);-webkit-background-clip:text;background-clip:text;margin-bottom:-.3em;font-size:37cqw;font-weight:700;line-height:1;display:block}.mn-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.mn-marquee-track{width:max-content;display:flex}.mn-marquee-group{flex-shrink:0;align-items:center;gap:3rem;padding-right:3rem;display:flex}.mn-company{white-space:nowrap;color:var(--mn-muted);align-items:center;gap:.625rem;font-size:14px;font-weight:500;transition:color .2s;display:inline-flex}.mn-company img{object-fit:cover;filter:grayscale();opacity:.75;border-radius:6px;width:22px;height:22px;transition:filter .2s,opacity .2s}.mn-company:hover{color:var(--mn-fg)}.mn-company:hover img{filter:none;opacity:1}@keyframes mn-marquee{to{transform:translate(-50%)}}@media (prefers-reduced-motion:no-preference){.mn-marquee-track{animation:40s linear infinite mn-marquee}.mn-marquee:hover .mn-marquee-track,.mn-marquee:focus-within .mn-marquee-track{animation-play-state:paused}}@media (prefers-reduced-motion:reduce){.mn-marquee{-webkit-mask-image:none;mask-image:none}.mn-marquee-track{width:auto}.mn-marquee-group{flex-wrap:wrap;gap:1rem 2rem;padding-right:0}.mn-marquee-group[aria-hidden]{display:none}}@keyframes mn-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.mn-reveal{animation:linear both mn-in;animation-timeline:view();animation-range:entry entry 40%}}}@keyframes mn-rise{0%{transform:translateY(14px)}to{transform:none}}@media (prefers-reduced-motion:no-preference){.mn-hero>*{animation:mn-in .5s var(--mn-ease-out) both}.mn-hero>h1{animation-name:mn-rise;animation-delay:60ms}.mn-hero>:nth-child(3){animation-delay:.12s}.mn-hero>:nth-child(4){animation-delay:.18s}}.mn-header{background:linear-gradient(to bottom, var(--mn-bg) 65%, transparent)}.mn .mn-prose{--tw-prose-body:var(--mn-fg-soft);--tw-prose-headings:var(--mn-fg);--tw-prose-lead:var(--mn-fg-soft);--tw-prose-links:var(--mn-fg);--tw-prose-bold:var(--mn-fg);--tw-prose-counters:var(--mn-muted);--tw-prose-bullets:var(--mn-muted);--tw-prose-hr:var(--mn-line);--tw-prose-quotes:var(--mn-fg);--tw-prose-quote-borders:var(--mn-line-strong);--tw-prose-captions:var(--mn-muted);--tw-prose-code:var(--mn-fg);--tw-prose-pre-code:var(--mn-fg);--tw-prose-pre-bg:var(--mn-surface);--tw-prose-th-borders:var(--mn-line-strong);--tw-prose-td-borders:var(--mn-line);font-size:17px;line-height:1.8}.mn .mn-prose :where(p,ul,ol,table,blockquote){margin-block:1.4em}.mn .mn-prose :where(li){margin-block:.6em}.mn .mn-prose :where(h2){letter-spacing:-.02em;margin-top:2.6em;margin-bottom:.9em;font-size:1.5em;font-weight:500;line-height:1.25}.mn .mn-prose :where(h3){letter-spacing:-.01em;margin-top:2.2em;margin-bottom:.7em;font-size:1.2em;font-weight:500;line-height:1.35}.mn .mn-prose :where(table){font-size:.9em;line-height:1.6}.mn .mn-prose a{-webkit-text-decoration-color:var(--mn-accent);text-decoration-color:var(--mn-accent);text-underline-offset:3px}.mn .mn-prose :where(code):not(:where(pre *)){font-family:var(--mn-mono);background:var(--mn-surface);border:1px solid var(--mn-line);border-radius:5px;padding:.1em .35em;font-size:.875em}.mn .mn-prose :where(code):not(:where(pre *)):before,.mn .mn-prose :where(code):not(:where(pre *)):after{content:none}.mn .mn-prose img{border-radius:var(--mn-r-card);border:1px solid var(--mn-line)}.mn .mn-prose .mn-figure-frame{margin:2.4em 0;display:block}.mn .mn-prose .mn-figure-frame iframe{color-scheme:normal;border:0;width:100%;display:block}.mn .mn-prose pre{background:0 0;border:0;padding:0}.mn .mn-prose div:has(>code[class*=language-]){border:1px solid var(--mn-line);border-radius:var(--mn-r-card)!important;font-family:var(--mn-mono)!important;margin:0!important;font-size:13px!important}.mn .mn-prose div:has(>code[class*=language-]) code{font-family:inherit!important}.mn-skel{background:var(--mn-line);border-radius:4px}@media (prefers-reduced-motion:no-preference){.mn-skel{animation:1.4s ease-in-out infinite mn-pulse}}@keyframes mn-pulse{50%{opacity:.45}}
