.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@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+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(/_astro/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(/_astro/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(/_astro/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(/_astro/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}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}@font-face{font-family:Syne Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_astro/syne-greek-wght-normal.5tOOQDeJ.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_astro/syne-latin-ext-wght-normal.JjI8ZrW1.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:Syne Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/_astro/syne-latin-wght-normal.BVsvWWA4.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}:root{color-scheme:light;--color-page:#f4f2ec;--color-surface:#fff;--color-surface-muted:#e9e6de;--color-text:#0b0b0b;--color-text-soft:#3f3f3f;--color-text-muted:#5f5d57;--color-text-subtle:#8c8c8c;--color-text-on-ink:#fff;--color-line:#0b0b0b1f;--color-ink:#0b0b0b;--color-accent:#7cf000;--color-accent-text:#3d7c00;--color-art-coral:#ff7a59;--color-art-navy:#121a2b;--color-art-cyan:#1ed6bc;--color-art-yellow:#ffd84d;--color-art-violet:#645cff;--color-placeholder:#d9d9d9}:root[data-theme=dark]{color-scheme:dark;--color-page:#0f0f0e;--color-surface:#1a1a18;--color-surface-muted:#24231f;--color-text:#f1efe9;--color-text-soft:#cdc9c1;--color-text-muted:#a5a29b;--color-text-subtle:#7b7872;--color-text-on-ink:#0b0b0b;--color-line:#f1efe924;--color-ink:#f1efe9;--color-accent-text:#8be23a;--color-placeholder:#262523}:root{--font-sans:"Geist Variable", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Syne Variable", ui-sans-serif, system-ui, sans-serif;--font-size-body:1rem;--font-size-label:.8125rem;--font-size-small:.75rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:600;--letter-spacing-label:.08em;--line-tight:.92;--line-body:1.5;--type-display:clamp(3.5rem, 7.2vw, 6.5rem);--type-section-title:clamp(2.5rem, 6vw, 5.5rem);--type-card-title:clamp(1.75rem, 3vw, 2.5rem);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-standard:cubic-bezier(.2, 0, 0, 1)}@keyframes rise-in{0%{opacity:0;filter:blur(4px);translate:0 12px}}@keyframes fade-in{0%{opacity:0}}*{box-sizing:border-box}html{background:var(--color-page)}@media (prefers-reduced-motion:no-preference){html:not(.lenis){scroll-behavior:smooth}}body{min-width:320px;color:var(--color-text);background:var(--color-page);font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:20;padding:clamp(.75rem,1.6vw,1.5rem) clamp(1.25rem,4.4vw,4rem) 0;position:relative}.site-header__bar{justify-content:space-between;align-items:center;gap:1.25rem;display:flex}.glass-defs{width:0;height:0;position:absolute;overflow:hidden}.site-header.is-stuck .site-header__bar{z-index:50;backdrop-filter:blur(14px)saturate(1.7);background:0 0;border-radius:999px;width:min(100% - 1.5rem,84rem);padding:.375rem .375rem .375rem .875rem;position:fixed;top:.5rem;left:50%;translate:-50%;box-shadow:inset 0 1px #ffffffbf,inset 0 -1px #ffffff40,inset 0 0 0 1px #ffffff4d,0 12px 32px #0000001a}.glass-svg .site-header.is-stuck .site-header__bar{backdrop-filter:url(#liquid-glass)blur(3px)saturate(1.7)}@media (prefers-reduced-motion:no-preference){.site-header.is-stuck .site-header__bar{animation:bar-in .42s var(--ease-out)}@keyframes bar-in{0%{opacity:0;translate:-50% -120%}}}@media (prefers-reduced-motion:reduce){.site-header.is-stuck .site-header__bar{animation:.2s fade-in}}.wordmark__logo,.wordmark__text,.site-header nav{transition-duration:.6s;transition-timing-function:var(--ease-standard)}.wordmark__text,.site-header nav{transition-property:font-size}.site-header.is-stuck:not(.is-docking) .wordmark__logo{width:2rem;height:2rem}.site-header.is-stuck:not(.is-docking) .wordmark__text{font-size:.65rem}.site-header.is-stuck:not(.is-docking) nav{font-size:.875rem}.site-header.is-stuck .wordmark,.site-header.is-stuck .site-header__bar .nav-link,.site-header.is-stuck .site-header__bar .nav-cta,.site-header.is-stuck .site-header__bar .nav-lang,.site-header.is-stuck .site-header__bar .nav-theme{color:#0b0b0b}.site-header.is-stuck .wordmark.on-dark,.site-header.is-stuck .site-header__bar .nav-link.on-dark,.site-header.is-stuck .site-header__bar .nav-cta.on-dark,.site-header.is-stuck .site-header__bar .nav-lang.on-dark,.site-header.is-stuck .site-header__bar .nav-theme.on-dark{color:#fff}.site-header.is-stuck .wordmark.on-dark .wordmark__logo{filter:invert()}.wordmark__logo{transition-property:width,height,filter}.wordmark,.site-header .nav-link,.site-header .nav-cta{transition:color .6s var(--ease-standard)}.hero-bg-active .wordmark,.hero-bg-active .site-header .nav-link,.hero-bg-active .site-header .nav-cta,.hero-bg-active .site-header .nav-lang,.hero-bg-active .site-header .nav-theme{color:#fff}[data-theme=dark] .site-header:not(.is-stuck) .wordmark__logo,[data-theme=dark] .site-header.is-docking .wordmark__logo{filter:invert()}.wordmark{white-space:nowrap;align-items:center;gap:.75rem;display:inline-flex}.wordmark__logo{flex:none;width:2.5rem;height:2.5rem}.wordmark__text{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;flex-direction:column;gap:.125rem;font-size:.7rem;font-weight:600;line-height:1.1;display:flex}.wordmark__role{align-items:center;gap:.5em;font-size:.857143em;font-weight:400;display:flex}.wordmark__emoji{object-fit:contain;flex:none;width:1.45833em;height:1.45833em;margin-block:-.4em}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.wordmark:hover .wordmark__emoji[data-motion=tilt]{animation:emoji-tilt .56s var(--ease-out)}.wordmark:hover .wordmark__emoji[data-motion=wiggle]{animation:emoji-wiggle .62s var(--ease-out)}.wordmark:hover .wordmark__emoji[data-motion=hop]{animation:emoji-hop .6s var(--ease-out)}.wordmark:hover .wordmark__emoji[data-motion=spin]{animation:emoji-spin .72s var(--ease-in-out)}.wordmark:hover .wordmark__emoji[data-motion=flutter]{animation:emoji-flutter .9s var(--ease-in-out)}}@keyframes emoji-tilt{40%{rotate:-18deg;scale:1.1}}@keyframes emoji-wiggle{20%{rotate:-14deg}45%{rotate:10deg}70%{rotate:-5deg}}@keyframes emoji-hop{35%{translate:0 -.35em;scale:1.06 .96}60%{translate:0;scale:1.04 .94}80%{translate:0 -.08em;scale:1}}@keyframes emoji-spin{to{rotate:360deg}}@keyframes emoji-flutter{30%{translate:.15em -.2em;rotate:14deg}65%{translate:-.1em .05em;rotate:-8deg}}@media (width<=440px){.wordmark__text{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.site-header nav{align-items:center;gap:.25rem;font-size:.9375rem;display:flex}.site-header nav a{border-radius:999px;align-items:center;min-height:2.75rem;padding:0 .875rem;display:inline-flex}.site-header .nav-cta{font-weight:var(--font-weight-medium);white-space:nowrap;transition:color .6s var(--ease-standard), background-color .2s ease, scale .16s var(--ease-out);background-color:#0000;gap:.5rem;margin-left:.25rem}.nav-cta__icon{place-items:center;width:1em;height:1em;display:inline-grid}.nav-cta__arrow,.nav-cta__mail{transition:opacity .16s var(--ease-out), transform .2s var(--ease-out);grid-area:1/1}.nav-cta__arrow{line-height:1}.nav-cta__mail{fill:none;stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;opacity:0;width:1em;height:1em;transform:translate(-5px)scale(.92)}.site-header .nav-cta:focus-visible{background-color:color-mix(in srgb, var(--color-accent) 22%, transparent)}.site-header .nav-cta:focus-visible .nav-cta__arrow{opacity:0}.site-header .nav-cta:focus-visible .nav-cta__mail{opacity:1;transform:none}@media (hover:hover) and (pointer:fine){.site-header .nav-cta:hover{background-color:color-mix(in srgb, var(--color-accent) 22%, transparent)}.site-header .nav-cta:hover .nav-cta__arrow{opacity:0;transform:translate(5px)}.site-header .nav-cta:hover .nav-cta__mail{opacity:1;transform:none}}.site-header .nav-cta:active{transition:color .6s var(--ease-standard), background-color .2s ease, scale .1s var(--ease-out);scale:.97}@media (prefers-reduced-motion:reduce){.nav-cta__mail,.site-header .nav-cta:hover .nav-cta__arrow{transform:none}.site-header .nav-cta:active{scale:none}}.site-header .nav-lang{background:color-mix(in srgb, currentColor 9%, transparent);backdrop-filter:blur(6px);width:2.75rem;font-size:var(--font-size-label);font-weight:var(--font-weight-medium);transition:color .6s var(--ease-standard), background-color .2s ease, scale .16s var(--ease-out);justify-content:center;margin-left:.25rem;padding:0;overflow:hidden}.nav-lang__roll{place-items:center;display:grid}.nav-lang__text,.nav-lang__flag{transition:translate .22s var(--ease-out), opacity .16s var(--ease-out);grid-area:1/1}.nav-lang__flag{opacity:0;width:1.25rem;height:1.25rem;translate:0 1.75rem}.site-header .nav-lang:focus-visible .nav-lang__text{opacity:0;translate:0 -1.75rem}.site-header .nav-lang:focus-visible .nav-lang__flag{opacity:1;translate:none}@media (hover:hover) and (pointer:fine){.site-header .nav-lang:hover{background:color-mix(in srgb, currentColor 14%, transparent)}.site-header .nav-lang:hover .nav-lang__text{opacity:0;translate:0 -1.75rem}.site-header .nav-lang:hover .nav-lang__flag{opacity:1;translate:none}}@media (prefers-reduced-motion:reduce){.nav-lang__flag,.site-header .nav-lang:hover .nav-lang__text,.site-header .nav-lang:focus-visible .nav-lang__text{translate:none}}@media (prefers-reduced-motion:no-preference){.site-header .nav-lang:active{transition-duration:.6s,.2s,.1s;scale:.95}}.site-header .nav-theme{width:2.75rem;height:2.75rem;color:inherit;background:color-mix(in srgb, currentColor 9%, transparent);backdrop-filter:blur(6px);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .6s var(--ease-standard), background-color .2s ease, scale .16s var(--ease-out);border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;margin-left:.25rem;padding:0;display:inline-flex}.nav-theme__icon{width:1.125rem;height:1.125rem;transition:rotate .6s var(--ease-out);display:block;overflow:visible}.nav-theme__core,.nav-theme__bite,.nav-theme__rays{transform-box:view-box;transform-origin:12px 12px;transition:transform .6s var(--ease-out), opacity .3s ease}.nav-theme__bite{transform:translate(9px,-9px)}[data-theme=dark] .nav-theme__icon{rotate:-30deg}[data-theme=dark] .nav-theme__core{transform:scale(1.45)}[data-theme=dark] .nav-theme__bite{transform:translate(0)}[data-theme=dark] .nav-theme__rays{opacity:0;transform:rotate(-90deg)scale(.4)}@media (hover:hover) and (pointer:fine){.site-header .nav-theme:hover{background:color-mix(in srgb, currentColor 14%, transparent)}.site-header .nav-theme:hover .nav-theme__icon{rotate:20deg}[data-theme=dark] .site-header .nav-theme:hover .nav-theme__icon{rotate:-12deg}}@media (prefers-reduced-motion:no-preference){.site-header .nav-theme:active{transition-duration:.6s,.2s,.1s;scale:.92}}@media (prefers-reduced-motion:reduce){.nav-theme__icon,.nav-theme__core,.nav-theme__bite,.nav-theme__rays{transition-duration:0s,.2s}}html.is-theming::view-transition-old(root),html.is-theming::view-transition-new(root){mix-blend-mode:normal;animation:none}.site-header .nav-link[aria-current=page]{background:color-mix(in srgb, currentColor 7%, transparent)}@media (hover:hover){.site-header nav a:not(.nav-cta):not(.nav-lang){transition:background-color .15s ease-out, color .6s var(--ease-standard)}.site-header nav a:not(.nav-cta):not(.nav-lang):hover{background:var(--color-surface-muted)}}.blog-list{width:min(900px,100% - 36px);margin:0 auto;padding:64px 0 88px}.blog-list h1{font-size:clamp(56px,9vw,122px)}.eyebrow,.post-card time,.back-link,.article-shell time{color:var(--color-text-muted);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.post-list{gap:14px;display:grid}.post-card{border:1px solid var(--color-line);background:var(--color-surface);border-radius:22px;gap:12px;padding:22px;display:grid}.post-card h2{font-size:var(--type-card-title);margin:0}.post-card p{color:var(--color-text-muted);line-height:var(--line-body);margin:0}.article-shell{width:min(820px,100% - 36px);margin:0 auto;padding:64px 0 88px}.back-link{color:var(--color-text);margin-bottom:42px;display:inline-flex}.article-shell time{margin-bottom:18px;display:inline-flex}.article-shell h1{margin-bottom:22px;font-size:clamp(48px,8vw,98px)}.article-description{color:var(--color-text-muted);font-size:clamp(20px,2.4vw,28px);line-height:1.28}.article-content{border-top:1px solid var(--color-line);margin-top:48px;padding-top:36px}.article-content p{color:var(--color-text);font-size:20px;line-height:1.65}@media (width<=760px){.site-header nav .nav-link{display:none}}.tab-bar{display:none}@media (width<=760px){.tab-bar{bottom:calc(.75rem + env(safe-area-inset-bottom));z-index:49;background:color-mix(in srgb, var(--color-page) 72%, transparent);backdrop-filter:blur(14px)saturate(1.7);border-radius:999px;gap:.125rem;padding:.3125rem;display:flex;position:fixed;left:50%;translate:-50%;box-shadow:inset 0 0 0 1px #ffffff59,0 0 0 1px #0000000d,0 10px 28px #0000001f}.tab-bar__link{color:var(--color-text);font-size:.8125rem;font-weight:var(--font-weight-medium);white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease-out, scale .16s var(--ease-out);border-radius:999px;padding:.5rem .75rem;line-height:1.2}.tab-bar__link[aria-current=page]{background:color-mix(in srgb, var(--color-text) 8%, transparent)}.tab-bar__link:active{scale:.96}.tab-bar__link:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}body{padding-bottom:calc(4rem + env(safe-area-inset-bottom))}}@media (width<=760px) and (prefers-reduced-motion:no-preference){.tab-bar{animation:tab-bar-in .5s var(--ease-out) .2s both}@keyframes tab-bar-in{0%{opacity:0;translate:-50% 1rem}}}html.is-opening body>:not(.opening-media){opacity:0;pointer-events:none;transition:opacity .32s ease-out}.opening-gl{z-index:41;pointer-events:none;display:block;position:fixed;inset:0}html.is-arriving::view-transition-old(root),html.is-arriving::view-transition-new(root){animation:none}html.is-arriving::view-transition-old(root){display:none}html.has-cursor,html.has-cursor *{cursor:none!important}.site-cursor{z-index:60;pointer-events:none;opacity:0;mix-blend-mode:difference;transition:opacity .2s ease-out;position:fixed;inset:0}.site-cursor.is-visible{opacity:1}.site-cursor.is-active{mix-blend-mode:normal}.site-cursor__dot,.site-cursor__ring{border-radius:999px;position:absolute;top:0;left:0}.site-cursor__dot{width:.5rem;height:.5rem;transition:opacity .15s var(--ease-out), scale .2s var(--ease-out);background:#fff;margin:-.25rem 0 0 -.25rem}.site-cursor__ring{--ring-idle:.43;width:5.25rem;height:5.25rem;scale:var(--ring-idle);transition:scale .22s var(--ease-out), border-width .22s var(--ease-out), background-color .2s ease, border-color .2s ease;border:3.5px solid #fff;place-items:center;margin:-2.625rem 0 0 -2.625rem;display:grid}.site-cursor__label{color:#fff;max-width:4.25rem;font-size:.875rem;font-weight:var(--font-weight-medium);text-align:center;opacity:0;transition:opacity .15s var(--ease-out), scale .22s var(--ease-out);line-height:1.15;scale:.9}.site-cursor.is-active .site-cursor__dot{opacity:0;scale:.5}.site-cursor.is-active .site-cursor__ring{backdrop-filter:blur(8px)saturate(1.6);background:#0b0b0b52;border-width:1.5px;border-color:#ffffff8c;scale:1}.site-cursor.is-active .site-cursor__label{opacity:1;transition-delay:60ms;scale:1}.site-cursor__hand{fill:none;stroke:#fff;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform-origin:33% 8%;width:1.375rem;height:1.375rem;transition:opacity .15s var(--ease-out), scale .2s var(--ease-out);margin:-.11rem 0 0 -.46rem;position:absolute;top:50%;left:50%;scale:.8}.site-cursor.is-link .site-cursor__dot{background:0 0}.site-cursor.is-link .site-cursor__hand{opacity:1;scale:1}.site-cursor__ring{transition-property:scale,border-width,background-color,border-color,opacity}.site-cursor.is-link .site-cursor__ring{opacity:0;scale:.12}.site-cursor.is-pressed .site-cursor__ring{scale:calc(var(--ring-idle) * .92);transition:scale .1s var(--ease-out), border-width .22s var(--ease-out), background-color .2s ease, border-color .2s ease}.site-cursor.is-active.is-pressed .site-cursor__ring{scale:.95}html.is-intro,html.is-intro.lenis.lenis-stopped,html.intro-reveal.lenis.lenis-stopped{overflow-y:scroll}html.is-intro .site-header,html.is-intro .tab-bar,html.is-intro main>:not(.hero){visibility:hidden;opacity:0}html.is-intro .site-header{translate:0 -.75rem}html.intro-reveal .site-header{transition:opacity .6s var(--ease-out), translate .6s var(--ease-out)}html.intro-reveal main>:not(.hero){transition:opacity .8s var(--ease-standard) .2s}.work-curve{z-index:1;pointer-events:none;display:block;position:fixed;inset:0}@media (width<=520px){.site-header .nav-cta{background:color-mix(in srgb, currentColor 9%, transparent);justify-content:center;width:2.75rem;padding:0}.nav-cta__text{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.nav-cta__icon{width:1.125rem;height:1.125rem}.nav-cta__arrow{opacity:0}.nav-cta__mail{opacity:1;width:1.125rem;height:1.125rem;transform:none}}
