@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.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}:root{--text-primary:#171717;--text-tertiary:#6a6a6a;--text-muted:#6b6b6b;--text-date:#737373;--surface-page:#fff;--surface-raised:#fff;--surface-subtle:#f7f7f7;--surface-card:#f6f6f6;--surface-media:#ededed;--border-subtle:#e3e3e3;--status-green:#21b05e;--font:"Geist Variable", "Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;--sidebar-w:clamp(320px, 27.78vw, 480px);--pad:36px;--content-max:1200px;--shell-max:calc(480px + var(--content-max) + 2 * var(--pad));--radius-media:16px;--radius-card:24px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--surface-page);color:var(--text-primary);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.4}h1,h2,h3,p,ul,ol,figure{margin:0;padding:0}ul,ol{list-style:none}img,video,picture,svg{max-width:100%;display:block}a{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}:focus-visible{outline:2px solid var(--text-primary);outline-offset:3px;border-radius:4px}::selection{color:#fff;background:#171717}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mobile-only{display:none!important}@media (width<=1023px){.desktop-only{display:none!important}.mobile-only{display:flex!important}}.t-h4{letter-spacing:-.03em;font-size:24px;font-weight:600;line-height:1.2}.t-h5{font-size:20px;font-weight:600;line-height:1.2}.t-h6{font-size:18px;font-weight:500;line-height:1.2}.t-body-2{font-size:16px;line-height:1.4}.t-body-1{font-size:14px;line-height:1.4}.t-caption{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:500;line-height:1.3}.t-muted{color:var(--text-tertiary)}.text-pretty{text-wrap:pretty}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);max-width:var(--shell-max);min-height:100dvh;margin-inline:auto;display:grid}.shell-side{overscroll-behavior:contain;scrollbar-width:none;height:100dvh;padding:var(--pad);background:var(--surface-page);position:sticky;top:0;overflow-y:auto}.shell-side::-webkit-scrollbar{display:none}.shell-main{padding:var(--pad);min-width:0}.shell-main-inner{max-width:var(--content-max)}@media (width<=1279px){:root{--sidebar-w:320px}}@media (width<=1023px){:root{--pad:16px}.shell{display:block}.shell-side{height:auto;padding:24px var(--pad) 8px;position:static;overflow:visible}.shell-main{padding:40px var(--pad) 80px}}@keyframes enter{0%{opacity:0;transform:translateY(8px)}}html.js.first-load [data-enter]{animation:enter .5s var(--ease-out) both;animation-delay:calc(var(--i,0) * 50ms + 40ms)}html.js [data-reveal]{transition:opacity .7s var(--ease-out), transform .7s var(--ease-out)}html.js [data-reveal]:not(.is-visible){opacity:0;transform:translateY(16px)}@keyframes enter-reveal{0%{opacity:0;transform:translateY(16px)}}html.js.first-load [data-reveal].in-first-view{animation:enter-reveal .7s var(--ease-out) both;animation-delay:calc(var(--ri,0) * 80ms + .16s);transition:none}@keyframes page-out{to{opacity:0;filter:blur(2px)}}@keyframes page-in{0%{opacity:0;filter:blur(2px);transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){html.js.first-load [data-enter]{animation-name:fade;animation-duration:.2s}html.js [data-reveal]{transition:opacity .3s}html.js [data-reveal]:not(.is-visible){transform:none}html.js.first-load [data-reveal].in-first-view{animation-name:fade;animation-duration:.3s}@keyframes page-in{0%{opacity:0}}@keyframes page-out{to{opacity:0}}}@keyframes fade{0%{opacity:0}}
