@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.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:Inter Fallback;src:local(Arial),local(Helvetica),local(Liberation Sans);size-adjust:109.33%;ascent-override:88.63%;descent-override:22.04%;line-gap-override:0%}@font-face{font-family:JetBrains Mono Fallback;src:local(Courier New),local(Liberation Mono),local(Nimbus Mono PS);size-adjust:99.98%;ascent-override:102.02%;descent-override:30%;line-gap-override:0%}:root{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--surface:#fafafa;--surface-raised:#f4f4f5;--surface-hover:#e9e9ec;--surface-sunken:#f1f1f4;--fg:#09090b;--fg-muted:#52525b;--fg-subtle:#5f5f69;--border:#e4e4e7;--border-strong:#d4d4d8;--input:#e4e4e7;--input-strong:#71717a;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-fg:#fff;--accent-text:#1d4ed8;--ring:#2563eb;--alert-tornado:#dc2626;--alert-severe:#ea580c;--alert-watch:#ca8a04;--radar-sweep:#0891b2;--press-logo-swatch:#2a2d33;--success:#15803d;--success-fg:#fff;--warning:#854d0e;--warning-fg:#fff;--danger:#b91c1c;--danger-fg:#fff;--shadow:#07070b;--gloss:#fff;--ease-entrance:cubic-bezier(.22, 1, .36, 1);--ease-ui:cubic-bezier(.25, .46, .45, .94);--duration-ui:.15s;--ease-screen:cubic-bezier(.42, 0, .36, 1);--duration-entrance:.76s;--delay-entrance:.16s;--section-sm:2rem;--section-base:2.75rem;--section-lg:3.75rem;--radius:.625rem;--header-h:4rem;--width-content:80rem;--width-prose:49rem;--width-article:55rem;--width-narrow:34rem;--type-sans:"Inter Variable", Inter, "Inter Fallback", system-ui, sans-serif;--type-hero:var(--type-sans);--type-mono:"JetBrains Mono Variable", "JetBrains Mono Fallback", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}.dark,[data-dark-scope]{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--colors-canvas:var(--bg);--colors-fg-DEFAULT:var(--fg);--colors-accent-DEFAULT:var(--accent);--bg:#070a0e;--surface:#0e131a;--surface-raised:#171e27;--surface-hover:#1e2732;--surface-sunken:#04060a;--fg:#f2f6fa;--fg-muted:#aab7c6;--fg-subtle:#7d8998;--border:#1f2731;--border-strong:#2c3742;--input:#1f2731;--input-strong:#78838f;--accent-hover:#1e56c9;--accent-text:#3b82f6;--ring:#3b82f6;--success:#4ade80;--success-fg:#05140a;--warning:#fbbf24;--warning-fg:#171100;--danger:#f87171;--danger-fg:#1a0505}@media (width>=40rem){:root{--section-sm:2.75rem;--section-base:4rem;--section-lg:5.5rem}}[data-density=airy]{--section-sm:2.75rem;--section-base:3.75rem;--section-lg:5.25rem}[data-density=tight]{--section-sm:1.5rem;--section-base:2rem;--section-lg:2.75rem}@media (width>=40rem){[data-density=airy]{--section-sm:3.75rem;--section-base:5.5rem;--section-lg:7.5rem}[data-density=tight]{--section-sm:2rem;--section-base:2.75rem;--section-lg:3.75rem}}[data-slot=site-banner][data-tone=info]{--banner-surface:#d8ecff;--banner-foreground:#17456d;--banner-meta:#506c88;--banner-edge:#bdd9f6;--banner-chip:#beddfd;--banner-chip-hover:#a9d1f9;--banner-chip-foreground:var(--banner-foreground)}[data-slot=site-banner][data-tone=success]{--banner-surface:#d0f4e1;--banner-foreground:#005738;--banner-meta:#46735d;--banner-edge:#b3e3ca;--banner-chip:#b0e8cc;--banner-chip-hover:#99debc;--banner-chip-foreground:var(--banner-foreground)}[data-slot=site-banner][data-tone=warning]{--banner-surface:#ffe6c4;--banner-foreground:#6c4302;--banner-meta:#816443;--banner-edge:#fad1a3;--banner-chip:#ffd39f;--banner-chip-hover:#fac486;--banner-chip-foreground:var(--banner-foreground)}[data-slot=site-banner][data-tone=sale]{--banner-surface:var(--accent);--banner-foreground:var(--accent-fg);--banner-meta:var(--accent-fg);--banner-edge:#0c558e;--banner-chip:#fff;--banner-chip-hover:#e1edf8;--banner-chip-foreground:var(--accent)}.dark [data-slot=site-banner][data-tone=info]{--banner-surface:#1b3043;--banner-foreground:#c3dcf6;--banner-meta:#9bb1c7;--banner-edge:#28425c;--banner-chip:#284561;--banner-chip-hover:#325578}.dark [data-slot=site-banner][data-tone=success]{--banner-surface:#123626;--banner-foreground:#b6e6cd;--banner-meta:#95b7a6;--banner-edge:#1d4a36;--banner-chip:#164e37;--banner-chip-hover:#186144}.dark [data-slot=site-banner][data-tone=warning]{--banner-surface:#422b0d;--banner-foreground:#fdd7ac;--banner-meta:#c9af92;--banner-edge:#583c17;--banner-chip:#5e3d0f;--banner-chip-hover:#754b10}.dark [data-slot=site-banner][data-tone=sale]{--banner-edge:#1e5a96}html,body,#app{min-height:100%}html{scroll-padding-top:var(--reading-line,calc(var(--header-h) + 1rem))}body{background-color:var(--bg);color:var(--fg);font-family:var(--type-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:1rem;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;text-wrap:balance;font-weight:500;line-height:1.15}p{text-wrap:pretty}code,kbd,samp,pre{font-family:var(--type-mono)}:where(svg.lucide){pointer-events:none;flex-shrink:0}.nav-progress{z-index:80;pointer-events:none;opacity:0;height:2.5px;transform:scaleX(var(--nav-progress-value,0));transform-origin:0;background:linear-gradient(90deg, color-mix(in oklab, var(--accent) 55%, transparent) 0%, var(--accent) 45%, color-mix(in oklab, var(--accent) 70%, white) 100%);box-shadow:0 0 3px color-mix(in oklab, var(--accent) 85%, transparent), 0 0 8px color-mix(in oklab, var(--accent) 55%, transparent);will-change:transform, opacity;inset-inline:0;transition:transform .14s cubic-bezier(.16,1,.3,1),opacity .18s;position:fixed;top:0}.nav-progress[data-phase=active]{opacity:1;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .18s}.nav-progress[data-phase=finishing]{opacity:0;transition:transform .14s ease-out,opacity .2s .14s}@media (prefers-reduced-motion:no-preference){::view-transition-old(root){animation-duration:.18s;animation-timing-function:cubic-bezier(.16,1,.3,1)}::view-transition-new(root){animation-duration:.18s;animation-timing-function:cubic-bezier(.16,1,.3,1)}}[data-vt=site-header]{view-transition-name:site-header}[data-vt=site-footer]{view-transition-name:site-footer}[data-vt=portal-sidebar]{view-transition-name:portal-sidebar}[data-vt=portal-topbar]{view-transition-name:portal-topbar}.nav-progress{view-transition-name:nav-progress}::view-transition-group(site-header){animation:none}::view-transition-group(site-footer){animation:none}::view-transition-group(portal-sidebar){animation:none}::view-transition-group(portal-topbar){animation:none}::view-transition-group(nav-progress){animation:none}::view-transition-old(site-header){mix-blend-mode:normal;animation:none}::view-transition-new(site-header){mix-blend-mode:normal;animation:none}::view-transition-old(site-footer){mix-blend-mode:normal;animation:none}::view-transition-new(site-footer){mix-blend-mode:normal;animation:none}::view-transition-old(portal-sidebar){mix-blend-mode:normal;animation:none}::view-transition-new(portal-sidebar){mix-blend-mode:normal;animation:none}::view-transition-old(portal-topbar){mix-blend-mode:normal;animation:none}::view-transition-new(portal-topbar){mix-blend-mode:normal;animation:none}::view-transition-old(nav-progress){mix-blend-mode:normal;animation:none}::view-transition-new(nav-progress){mix-blend-mode:normal;animation:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:0s!important;animation-iteration-count:1!important;animation-delay:-1ms!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}@media (forced-colors:active){:focus-visible{outline-offset:2px;outline:3px solid highlight}}::selection{background:var(--accent);color:var(--accent-fg)}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}[data-grain]{z-index:0;pointer-events:none;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:180px 180px;position:fixed;inset:0}.dark [data-grain],[data-dark-scope] [data-grain]{opacity:.11;mix-blend-mode:overlay}@media (resolution<=1x) and (width<=40rem){[data-grain]{display:none}}@media (forced-colors:active),print{[data-grain]{display:none}}
