@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/roboto-cyrillic-ext-wght-normal.BCp_3N7R.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:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/roboto-cyrillic-wght-normal.fOt7epNf.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/roboto-greek-ext-wght-normal.Bgw4czJT.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/roboto-greek-wght-normal.DlT9XTxE.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:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/roboto-math-wght-normal.4a3xuzGk.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/roboto-symbols-wght-normal.B7iHSfaG.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/roboto-vietnamese-wght-normal._f1XEJpo.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:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/roboto-latin-ext-wght-normal.DYIxWhlt.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:Roboto Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/roboto-latin-wght-normal.ccAYIvAh.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:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/vazirmatn-arabic-wght-normal.Cafbb7Zc.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/vazirmatn-latin-ext-wght-normal.tDTa1Fj6.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:Vazirmatn Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/vazirmatn-latin-wght-normal.BFexNX-K.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{--cyan-400:#00e5ff;--cyan-800:#00727f;--indigo-400:#818cf8;--indigo-600:#4f46e5;--indigo-950:#1e1b4b;--slate-50:#f8fafc;--slate-200:#e2e8f0;--slate-500:#64748b;--slate-600:#475569;--slate-750:#263850;--slate-800:#1e293b;--slate-900:#0f172a;--navy-950:#0b1120;--red-400:#f87171;--red-600:#dc2626;--amber-500:#f59e0b;--amber-600:#b45309;--sky-50:#f0f9ff;--sky-100:#e8f1fb;--black:#000;--white:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--accent:var(--lightningcss-light,var(--cyan-800))var(--lightningcss-dark,var(--cyan-400));--on-accent:var(--lightningcss-light,var(--white))var(--lightningcss-dark,var(--slate-900));--gradient-start:var(--lightningcss-light,var(--cyan-800))var(--lightningcss-dark,var(--cyan-400));--gradient-end:var(--lightningcss-light,var(--indigo-600))var(--lightningcss-dark,var(--indigo-400));--page:var(--lightningcss-light,var(--slate-50))var(--lightningcss-dark,var(--navy-950));--canvas-glow:var(--lightningcss-light,#00727f3d)var(--lightningcss-dark,#00e5ff52);--canvas-glow-2:var(--lightningcss-light,#4f46e51f)var(--lightningcss-dark,#818cf833);--page-tint-top:var(--lightningcss-light,var(--white))var(--lightningcss-dark,var(--indigo-950));--page-tint-bottom:var(--lightningcss-light,var(--sky-100))var(--lightningcss-dark,var(--slate-900));--surface:var(--lightningcss-light,var(--white))var(--lightningcss-dark,var(--slate-900));--card:var(--lightningcss-light,var(--white))var(--lightningcss-dark,var(--slate-800));--card-hover:var(--lightningcss-light,var(--sky-50))var(--lightningcss-dark,var(--slate-750));--card-border:var(--lightningcss-light,var(--slate-200))var(--lightningcss-dark,#ffffff14);--nav-surface:var(--lightningcss-light,#ffffffd9)var(--lightningcss-dark,#0f172acc);--hairline:var(--lightningcss-light,var(--slate-200))var(--lightningcss-dark,#ffffff1a);--text:var(--lightningcss-light,var(--slate-900))var(--lightningcss-dark,var(--white));--text-secondary:var(--lightningcss-light,var(--slate-600))var(--lightningcss-dark,#ffffffb3);--text-faint:var(--lightningcss-light,var(--slate-500))var(--lightningcss-dark,#ffffff8c);--danger:var(--lightningcss-light,var(--red-600))var(--lightningcss-dark,var(--red-400));--warning:var(--lightningcss-light,var(--amber-600))var(--lightningcss-dark,var(--amber-500));--scrim:#00000059;--scrim-strong:#00000080;--hero-surface:var(--indigo-950);--on-hero:var(--white);--on-hero-quiet:color-mix(in oklab, var(--white) 78%, transparent);--hero-scrim:linear-gradient(to top, #000000eb 0%, #0009 70%, #0000 100%);--shadow-color:var(--lightningcss-light,#00000014)var(--lightningcss-dark,#0000004d);--glow:var(--lightningcss-light,#00727f33)var(--lightningcss-dark,#00e5ff4d);--elevation-1:0 1px 2px var(--shadow-color);--elevation-2:0 12px 40px -12px var(--shadow-color);--font-sans:"Roboto Variable", system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-xs:clamp(.75rem, .733rem + .074vw, .8rem);--text-sm:clamp(.875rem, .867rem + .037vw, .9rem);--text-base:clamp(1rem, .976rem + .109vw, 1.063rem);--text-md:clamp(1.125rem, 1.083rem + .185vw, 1.25rem);--text-lg:clamp(1.3rem, 1.213rem + .389vw, 1.563rem);--text-xl:clamp(1.6rem, 1.467rem + .593vw, 2rem);--text-2xl:clamp(1.9rem, 1.7rem + .889vw, 2.5rem);--text-3xl:clamp(2.75rem, 2.167rem + 2.593vw, 4.5rem);--leading-display:1.1;--leading-snug:1.25;--leading-normal:1.6;--leading-relaxed:1.75;--tracking-display:-.02em;--tracking-snug:-.01em;--tracking-normal:0;--tracking-wide:.08em;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:clamp(3.5rem, 2rem + 6vw, 7rem);--gutter:clamp(1.25rem, .6rem + 2.6vw, 3rem);--width-content:78rem;--width-prose:40rem;--ratio-frame:16 / 9;--radius-sm:.375rem;--radius:.75rem;--radius-lg:1.25rem;--radius-pill:999px;--ease-out:cubic-bezier(.22, 1, .36, 1);--duration-fast:.12s;--duration:.22s;--duration-slow:.52s}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports not (color:light-dark(#fff, #000)){:root{--accent:var(--cyan-800);--on-accent:var(--white);--gradient-start:var(--cyan-800);--gradient-end:var(--indigo-600);--page:var(--slate-50);--canvas-glow:#00727f3d;--canvas-glow-2:#4f46e51f;--page-tint-top:var(--white);--page-tint-bottom:var(--sky-100);--surface:var(--white);--card:var(--white);--card-hover:var(--sky-50);--card-border:var(--slate-200);--nav-surface:#ffffffd9;--hairline:var(--slate-200);--text:var(--slate-900);--text-secondary:var(--slate-600);--text-faint:var(--slate-500);--danger:var(--red-600);--warning:var(--amber-600);--shadow-color:#00000014;--glow:#00727f33}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-block-start:6rem}body{min-block-size:100svh;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text);background:radial-gradient(80rem 52rem at 78% -14rem, var(--canvas-glow), transparent 68%) no-repeat, radial-gradient(50rem 36rem at 8% -10rem, var(--canvas-glow-2), transparent 70%) no-repeat, var(--page);-webkit-font-smoothing:antialiased;font-synthesis-weight:none}img,picture,svg,video{block-size:auto;max-inline-size:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}h1,h2{font-weight:600;line-height:var(--leading-display);letter-spacing:var(--tracking-display);text-wrap:balance}h3,h4{font-weight:600;line-height:var(--leading-snug);letter-spacing:var(--tracking-snug);text-wrap:balance}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-md)}p{text-wrap:pretty}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:1px}:root[dir=rtl] body{font-family:"Vazirmatn Variable", var(--font-sans);line-height:var(--leading-relaxed)}:root[dir=rtl] h1,:root[dir=rtl] h2,:root[dir=rtl] h3,:root[dir=rtl] h4{font-family:"Vazirmatn Variable", var(--font-sans);letter-spacing:var(--tracking-normal);font-weight:600;line-height:var(--leading-snug)}.mono,.label{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-variant-numeric:tabular-nums;font-weight:700}.label{color:var(--accent)}:root[dir=rtl] :where(.mono,.label){font-family:"Vazirmatn Variable", var(--font-sans);letter-spacing:var(--tracking-normal);text-transform:none}.latin{direction:ltr;unicode-bidi:isolate}:root[dir=rtl] .latin:where(.mono,.label){font-family:var(--font-sans);letter-spacing:var(--tracking-wide);text-transform:uppercase}.muted{color:var(--text-secondary)}.faint{color:var(--text-faint);font-size:var(--text-sm)}.lede{font-size:var(--text-md);line-height:var(--leading-normal);color:var(--text-secondary);max-inline-size:52ch}.wrap{inline-size:min(100% - (var(--gutter) * 2), var(--width-content));margin-inline:auto}.prose{max-inline-size:var(--width-prose)}.section{padding-block:clamp(2rem,1rem + 2.5vw,3.5rem)}.stack>*+*{margin-block-start:var(--flow,var(--space-md))}.grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));display:grid}.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--elevation-1);transition:background-color var(--duration) var(--ease-out), border-color var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out), translate var(--duration) var(--ease-out);position:relative;container-type:inline-size}a.card{text-decoration:none;display:block}a.card:hover{background:var(--card-hover);border-color:color-mix(in oklab, var(--accent) 40%, var(--card-border));box-shadow:var(--elevation-2);translate:0 -2px}.btn{align-items:center;gap:var(--space-xs);border-radius:var(--radius-pill);cursor:pointer;transition:background-color var(--duration) var(--ease-out), border-color var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out), scale var(--duration-fast) var(--ease-out);border:1px solid #0000;padding:.85em 1.6em;font-weight:550;text-decoration:none;display:inline-flex}.btn:active{scale:.98}.btn-primary{background:linear-gradient(110deg, var(--gradient-start), var(--gradient-end));color:var(--on-accent)}.btn-primary:hover{box-shadow:0 8px 32px var(--glow)}.btn-ghost{border-color:var(--hairline);color:var(--text-secondary);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-sm{font-size:var(--text-sm);padding:.45em .9em}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background:var(--accent);color:var(--on-accent)}:root{scrollbar-color:var(--text-faint) transparent;scrollbar-width:thin}.skip-link{background:var(--surface);border:1px solid var(--hairline);padding:var(--space-sm) var(--space-md);border-radius:0 0 var(--radius) var(--radius);z-index:100;border-block-start:0;text-decoration:none;position:absolute;inset-block-start:-100%;inset-inline-start:var(--gutter)}.skip-link:focus{inset-block-start:0}@view-transition{navigation:auto}::view-transition-old(root){animation-duration:var(--duration);animation-timing-function:var(--ease-out)}::view-transition-new(root){animation-duration:var(--duration);animation-timing-function:var(--ease-out)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.toggle[data-astro-cid-l6lhmie6]{border:1px solid var(--hairline);border-radius:var(--radius-pill);block-size:2.25rem;inline-size:2.25rem;color:var(--text-secondary);cursor:pointer;transition:color var(--duration) var(--ease-out), border-color var(--duration) var(--ease-out);background:0 0;place-items:center;display:grid}.toggle[data-astro-cid-l6lhmie6]:hover{color:var(--accent);border-color:var(--accent)}.toggle[data-astro-cid-l6lhmie6] svg[data-astro-cid-l6lhmie6]{grid-area:1/1}.sun[data-astro-cid-l6lhmie6]{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .moon[data-astro-cid-l6lhmie6]{display:none}:root:not([data-theme=light]) .sun[data-astro-cid-l6lhmie6]{display:block}}:root[data-theme=dark] .moon[data-astro-cid-l6lhmie6]{display:none}:root[data-theme=dark] .sun[data-astro-cid-l6lhmie6],:root[data-theme=light] .moon[data-astro-cid-l6lhmie6]{display:block}:root[data-theme=light] .sun[data-astro-cid-l6lhmie6]{display:none}
