:root{--hs-night:#0b1120;--hs-deep:#070c16;--hs-surface:#121a2b;--hs-surface-2:#18223a;--hs-line:#1e2a40;--hs-line-soft:#151e30;--hs-azure:#3ba3f0;--hs-cyan:#00e5ff;--hs-white:#fff;--hs-text:#a7b8ce;--hs-text-dim:#6b7e99;--hs-paper:#f4f6f9;--hs-ink:#0f1b2d;--hs-azure-doc:#005a9e;--hs-cyan-doc:#00707a;--hs-ok:#35c48c;--hs-warn:#f2a33c;--hs-crit:#e5544b;--hs-font-fa:"Vazirmatn", system-ui, Tahoma, sans-serif;--hs-font-en:"General Sans", "Plus Jakarta Sans", system-ui, sans-serif;--hs-font-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--hs-fs-h1:34px;--hs-lh-h1:1.35;--hs-fw-h1:800;--hs-fs-h2:26px;--hs-lh-h2:1.4;--hs-fw-h2:700;--hs-fs-h3:20px;--hs-lh-h3:1.5;--hs-fw-h3:600;--hs-fs-body:16px;--hs-lh-body:1.8;--hs-fw-body:400;--hs-fs-small:13px;--hs-lh-small:1.7;--hs-fs-label:11px;--hs-lh-label:1.6;--hs-ls-label:.13em;--hs-sp-1:4px;--hs-sp-2:8px;--hs-sp-3:12px;--hs-sp-4:16px;--hs-sp-5:24px;--hs-sp-6:32px;--hs-sp-7:48px;--hs-sp-8:64px;--hs-sp-9:96px;--hs-radius-card:16px;--hs-radius-label:6px;--hs-radius-button:999px;--hs-border:1px solid var(--hs-line);--hs-shadow:none;--hs-dur:.24s;--hs-ease:cubic-bezier(.2,.7,.3,1);--hs-glow:radial-gradient(44% 55% at 24% 58%, #00e5ff57 0%, #00e5ff00 70%), radial-gradient(40% 52% at 74% 44%, #3ba3f04d 0%, #3ba3f000 72%);--hs-rails:repeating-linear-gradient(to bottom, var(--hs-cyan) 0 2px, transparent 2px 8px);--hs-container:1200px}.hs-btn{font-family:var(--hs-font-fa);border-radius:var(--hs-radius-button);cursor:pointer;transition:background var(--hs-dur) var(--hs-ease);border:0;padding:12px 24px;font-size:16px;font-weight:600}.hs-btn--primary{background:var(--hs-cyan);color:var(--hs-night)}.hs-btn--secondary{background:var(--hs-azure);color:var(--hs-night)}.hs-btn--ghost{color:var(--hs-white);border:var(--hs-border);background:0 0}.hs-label,.hs-num,time,code,.hs-id{font-family:var(--hs-font-mono);font-size:var(--hs-fs-label);letter-spacing:var(--hs-ls-label);font-variant-numeric:tabular-nums;color:var(--hs-cyan)}body{background:var(--hs-night);color:var(--hs-text);font-family:var(--hs-font-fa);font-size:var(--hs-fs-body);line-height:var(--hs-lh-body)}h1{font-size:var(--hs-fs-h1);line-height:var(--hs-lh-h1);font-weight:var(--hs-fw-h1);color:var(--hs-white)}h2{font-size:var(--hs-fs-h2);line-height:var(--hs-lh-h2);font-weight:var(--hs-fw-h2);color:var(--hs-white)}h3{font-size:var(--hs-fs-h3);line-height:var(--hs-lh-h3);font-weight:var(--hs-fw-h3);color:var(--hs-white)}a{color:var(--hs-azure);text-decoration:none}a:hover{color:var(--hs-cyan)}.hs-card{background:var(--hs-surface);border:var(--hs-border);border-radius:var(--hs-radius-card);padding:var(--hs-sp-5);box-shadow:var(--hs-shadow)}.hs-document{background:var(--hs-paper);color:var(--hs-ink)}.hs-document a{color:var(--hs-azure-doc)}.hs-document .hs-label{color:var(--hs-cyan-doc)}@media print{body{color:var(--hs-ink);background:#fff}.hs-glow{display:none!important}}@font-face{font-family:Vazirmatn;src:url(/fonts/general-sans/GeneralSans-Variable.woff2)format("woff2");font-weight:200 700;font-display:swap;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;src:url(/fonts/vazirmatn/vazirmatn-arabic-wght-normal.woff2)format("woff2");font-weight:100 900;font-display:swap;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}@font-face{font-family:General Sans;src:url(/fonts/general-sans/GeneralSans-Variable.woff2)format("woff2");font-weight:200 700;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/plex-mono/ibm-plex-mono-latin-400-normal.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/plex-mono/ibm-plex-mono-latin-500-normal.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/vazirmatn/vazirmatn-arabic-wght-normal.woff2)format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+6??,U+200C-200E,U+FB50-FDFF,U+FE70-FEFC}:root{color-scheme:dark;--gutter:var(--hs-sp-4);--section-y:var(--hs-sp-8);--header-h:64px;--action-bar-h:0px}@media (width>=768px){:root{--gutter:var(--hs-sp-5);--header-h:72px}}@media (width>=1024px){:root{--gutter:var(--hs-sp-6);--section-y:var(--hs-sp-9)}}@media (width<=767.98px){:root{--action-bar-h:72px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--hs-sp-4));background:var(--hs-night)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;flex-direction:column;min-height:100dvh;margin:0;display:flex}body.has-action-bar{padding-bottom:var(--action-bar-h)}main{flex:1 0 auto}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}[hidden]{display:none!important}ul[role=list],ol[role=list]{padding:0;list-style:none}h1,h2,h3{text-wrap:balance}p,li{text-wrap:pretty}img,svg,video,picture{max-width:100%;display:block}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a,button,summary,[role=button]{-webkit-tap-highlight-color:transparent}strong,b{color:var(--hs-white);font-weight:600}:focus-visible{outline:2px solid var(--hs-cyan);outline-offset:3px;border-radius:4px}::selection{background:var(--hs-azure);color:var(--hs-night)}@media (width<=479.98px){h1{font-size:var(--hs-fs-h2);line-height:var(--hs-lh-h2)}h2{font-size:var(--hs-fs-h3);line-height:var(--hs-lh-h3)}}.container{width:min(100% - 2 * var(--gutter), var(--hs-container));margin-inline:auto}.section{padding-block:var(--section-y);position:relative}.section--deep{background:var(--hs-deep)}.section--line{border-block-start:var(--hs-border)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--hs-cyan);color:var(--hs-night);padding:var(--hs-sp-2) var(--hs-sp-4);border-radius:var(--hs-radius-button);font-weight:600;position:absolute;inset-block-start:-100px;inset-inline-start:var(--hs-sp-4)}.skip-link:focus{color:var(--hs-night);inset-block-start:var(--hs-sp-3)}.eyebrow{font-size:var(--hs-fs-small);line-height:var(--hs-lh-small);color:var(--hs-azure);font-weight:700;display:block}.accent{color:var(--hs-cyan)}.caption{font-size:var(--hs-fs-small);line-height:var(--hs-lh-small);color:var(--hs-text-dim)}.muted{color:var(--hs-text-dim)}.data{font-family:var(--hs-font-mono);font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}.prose-link,.prose a{color:var(--hs-azure);text-underline-offset:4px;transition:color var(--hs-dur) var(--hs-ease);text-decoration:underline 1px}.prose-link:hover,.prose a:hover{color:var(--hs-cyan)}.tick-list{gap:var(--hs-sp-2);padding:0;list-style:none;display:grid}.tick-list>li{padding-inline-start:var(--hs-sp-5);position:relative}.tick-list>li:before{content:"";background:var(--hs-azure);width:7px;height:7px;position:absolute;inset-block-start:.72em;inset-inline-start:2px}.hs-btn{justify-content:center;align-items:center;gap:var(--hs-sp-2);text-align:center;white-space:nowrap;min-height:48px;transition:background var(--hs-dur) var(--hs-ease), color var(--hs-dur) var(--hs-ease), border-color var(--hs-dur) var(--hs-ease), box-shadow var(--hs-dur) var(--hs-ease);line-height:1.2;text-decoration:none;display:inline-flex}a.hs-btn--primary:hover,button.hs-btn--primary:hover{color:var(--hs-night);box-shadow:0 0 0 4px #00e5ff29}a.hs-btn--secondary:hover,button.hs-btn--secondary:hover{background:var(--hs-cyan);color:var(--hs-night)}a.hs-btn--ghost:hover,button.hs-btn--ghost:hover{border-color:var(--hs-cyan);color:var(--hs-cyan)}.hs-btn svg{flex:none}.hs-btn[aria-disabled=true],.hs-btn:disabled{opacity:.55;cursor:progress}@media print{.no-print,.site-header,.action-bar{display:none!important}}.card{background:var(--hs-surface);border:var(--hs-border);border-radius:var(--hs-radius-card);padding:var(--hs-sp-5)}@media (width>=768px){.card{padding:var(--hs-sp-6)}}.grid-2{gap:var(--hs-sp-6);display:grid}@media (width>=900px){.grid-2{gap:var(--hs-sp-8);grid-template-columns:1fr 1fr}}.card-grid{gap:var(--hs-sp-5);display:grid}@media (width>=720px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1100px){.card-grid--3{grid-template-columns:repeat(3,1fr)}.card-grid--4{grid-template-columns:repeat(4,1fr)}}.card-grid>li{display:grid}.pill-nav ul{gap:var(--hs-sp-2);flex-wrap:wrap;margin-block-start:var(--hs-sp-3);display:flex}.pill-nav a{align-items:center;gap:var(--hs-sp-2);min-block-size:44px;padding-inline:var(--hs-sp-4);border:var(--hs-border);border-radius:var(--hs-radius-button);color:var(--hs-text);font-size:var(--hs-fs-small);transition:color var(--hs-dur) var(--hs-ease), border-color var(--hs-dur) var(--hs-ease);font-weight:600;display:inline-flex}.pill-nav a:hover{color:var(--hs-cyan);border-color:var(--hs-cyan)}.pill-nav svg{color:var(--hs-azure)}.badge{align-items:center;gap:var(--hs-sp-1);font-size:var(--hs-fs-small);border:1px solid var(--hs-line);border-radius:var(--hs-radius-label);color:var(--hs-text-dim);white-space:nowrap;padding:2px 10px;font-weight:600;line-height:1.5;display:inline-flex}.badge--done{color:var(--hs-cyan);border-color:#00e5ff66}.more-link{align-items:center;gap:var(--hs-sp-2);min-block-size:44px;font-weight:600;display:inline-flex}.more-link svg{transition:translate var(--hs-dur) var(--hs-ease)}.more-link:hover svg{translate:-4px}.table-wrap{border:var(--hs-border);border-radius:var(--hs-radius-card);overflow-x:auto}.table{border-collapse:collapse;inline-size:100%;font-size:var(--hs-fs-small);line-height:var(--hs-lh-small)}.table th,.table td{padding:var(--hs-sp-3) var(--hs-sp-4);text-align:start;border-block-end:1px solid var(--hs-line-soft)}.table thead th{color:var(--hs-azure);background:var(--hs-surface);font-weight:700}.table tbody tr:last-child td{border-block-end:0}.prose{gap:var(--hs-sp-4);max-inline-size:44rem;display:grid}.prose h2{font-size:var(--hs-fs-h3);line-height:var(--hs-lh-h3);margin-block-start:var(--hs-sp-5);font-weight:700}.prose h3{font-size:var(--hs-fs-body);line-height:var(--hs-lh-body);margin-block-start:var(--hs-sp-3);font-weight:700}.prose ul,.prose ol{gap:var(--hs-sp-2);padding-inline-start:var(--hs-sp-5);display:grid}.prose ol{list-style-type:persian}.prose li::marker{color:var(--hs-azure)}.prose blockquote{border-inline-start:2px solid var(--hs-azure);color:var(--hs-white);padding-inline-start:var(--hs-sp-5)}.prose code{font-size:var(--hs-fs-small);letter-spacing:.02em;color:var(--hs-cyan);direction:ltr;unicode-bidi:isolate}.prose pre{background:var(--hs-deep);border:var(--hs-border);border-radius:var(--hs-radius-label);padding:var(--hs-sp-4);direction:ltr;overflow-x:auto}.prose pre code{color:var(--hs-text)}.prose hr{block-size:10px;margin-block:var(--hs-sp-5);background:repeating-linear-gradient(to bottom, var(--hs-azure) 0 2px, transparent 2px 8px);opacity:.4;border:0}.prose .callout{gap:var(--hs-sp-2);padding:var(--hs-sp-4) var(--hs-sp-5);border:var(--hs-border);border-inline-start:2px solid var(--hs-azure);border-radius:var(--hs-radius-card);background:var(--hs-surface);color:var(--hs-text);display:grid}.prose .callout--warning{border-inline-start-color:var(--hs-cyan)}.prose figure{margin:0}.prose figure img{border-radius:var(--hs-radius-card);block-size:auto;inline-size:100%}.hs-logo[data-astro-cid-r4rv36dc]{align-items:center;gap:calc(var(--mark) * .36);color:var(--hs-white);line-height:1;display:inline-flex}.hs-logo__mark[data-astro-cid-r4rv36dc]{flex:none;display:block}.hs-logo__rails[data-astro-cid-r4rv36dc]{stroke:currentColor}.hs-logo__node[data-astro-cid-r4rv36dc]{fill:var(--hs-cyan)}.hs-logo__type[data-astro-cid-r4rv36dc]{flex-direction:column;align-items:center;gap:4px;display:inline-flex}.hs-logo__name[data-astro-cid-r4rv36dc]{font-family:var(--hs-font-fa);font-weight:800;font-size:calc(var(--mark) * .8);letter-spacing:0;line-height:1}.hs-logo__latin[data-astro-cid-r4rv36dc]{font-family:var(--hs-font-mono);font-size:max(8px, calc(var(--mark) * .26));letter-spacing:.32em;color:var(--hs-text-dim);padding-inline-start:.32em}.hs-logo--doc[data-astro-cid-r4rv36dc]{color:var(--hs-ink)}.hs-logo--doc[data-astro-cid-r4rv36dc] .hs-logo__node[data-astro-cid-r4rv36dc]{fill:var(--hs-cyan-doc)}.hs-logo--doc[data-astro-cid-r4rv36dc] .hs-logo__latin[data-astro-cid-r4rv36dc]{color:var(--hs-azure-doc)}.hs-logo--mono[data-astro-cid-r4rv36dc] .hs-logo__node[data-astro-cid-r4rv36dc]{fill:currentColor}.hs-logo--mono[data-astro-cid-r4rv36dc] .hs-logo__latin[data-astro-cid-r4rv36dc]{color:currentColor}
