@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/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(/_astro/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(/_astro/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(/_astro/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(/_astro/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(/_astro/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(/_astro/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}:root{--font-ui:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-code:"JetBrains Mono", ui-monospace, Menlo, monospace;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:14px;--fs-xl:16px;--fs-2xl:20px;--fs-3xl:28px;--lh-tight:1.25;--lh-ui:1.4;--lh-text:1.55;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--space-0-5:2px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:4px;--radius:6px;--radius-tile:8px;--radius-overlay:10px;--radius-pill:999px;--tile-gap:6px;--tile-border:1px;--h-control-sm:24px;--h-control:28px;--h-control-lg:32px;--h-row:24px;--h-tabbar:36px;--h-mezzanine:40px;--h-ribbon:64px;--h-ribbon-compact:36px;--h-statusbar:24px;--icon-sm:14px;--icon:16px;--icon-lg:20px;--icon-stroke:1.5px;--dur-fast:.12s;--dur:.18s;--ease-out:cubic-bezier(.16, 1, .3, 1);--z-dock-float:20;--z-popover:60;--z-dialog:80;--z-toast:90;--bg-app:#0c0d0f;--bg-panel:#18191c;--bg-tabs:#121416;--bg-inset:#0f1112;--bg-hover:#232528;--bg-active:#2e3034;--bg-overlay:#202225;--border:#2c2e31;--border-strong:#696c71;--text:#e6e8ea;--text-dim:#a2a5aa;--text-faint:#6f7276;--accent:#7aaffe;--accent-solid:oklch(from var(--accent) .51 calc(c * 1.35) h);--accent-solid-hover:oklch(from var(--accent) .46 calc(c * 1.35) h);--accent-soft:oklch(from var(--accent) .3 calc(c * .55) h);--on-accent:#fff;--focus:var(--accent);--ok:#67d283;--ok-solid:#007835;--ok-soft:#0c2e16;--danger:#ff7e77;--danger-solid:#b71824;--danger-soft:#451412;--warn:#f9b73f;--warn-soft:#362200;--cat-2d:#55b8f8;--cat-ui:#55cec0;--cat-code:#ebbd57;--cat-media:#d695e4;--code-bg:#141517;--code-keyword:#c699f8;--code-string:#7cd591;--code-comment:#888c94;--code-number:#f2b95a;--code-function:#65c1fe;--overlay:#04050799;--shadow-popover:0 8px 24px #0006;--shadow-dialog:0 16px 48px #00000080;color-scheme:dark}:root[data-theme=light]{--bg-app:#e5e6e9;--bg-panel:#fff;--bg-tabs:#f4f6f8;--bg-inset:#f9fafb;--bg-hover:#ebedef;--bg-active:#dfe1e5;--bg-overlay:#fff;--border:#d7d9dc;--border-strong:#7d8086;--text:#1c1f24;--text-dim:#575b62;--text-faint:#83868c;--accent:#0052b4;--accent-solid:oklch(from var(--accent) .5 c h);--accent-solid-hover:oklch(from var(--accent) .45 c h);--accent-soft:oklch(from var(--accent) .93 calc(c * .25) h);--on-accent:#fff;--ok:#03642b;--ok-solid:#006e30;--ok-soft:#dcf2df;--danger:#b00a1d;--danger-solid:#ac011a;--danger-soft:#ffe4e1;--warn:#7f4f00;--warn-soft:#fae8d4;--cat-2d:#02629c;--cat-ui:#056965;--cat-code:#7e5403;--cat-media:#853397;--code-bg:#fbfcfd;--code-keyword:#7024ab;--code-string:#03642b;--code-comment:#656970;--code-number:#7f4f00;--code-function:#005c94;--overlay:#1c1f2459;--shadow-popover:0 8px 24px #1c1f2429;--shadow-dialog:0 16px 48px #1c1f2438;color-scheme:light}:root[data-contrast=high]{--bg-app:#000;--bg-panel:#000;--bg-tabs:#000;--bg-inset:#000;--bg-hover:#1f1f1f;--bg-active:#333;--bg-overlay:#000;--border:#fff;--border-strong:#fff;--text:#fff;--text-dim:#e6e6e6;--text-faint:#b3b3b3;--accent:#9cc7ff;--accent-solid:#9cc7ff;--accent-solid-hover:#c2dcff;--accent-soft:#10305c;--on-accent:#000;--code-bg:#000}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur:0s}}:root{--fs-body:16px;--fs-4xl:36px;--fs-5xl:48px;--lh-read:1.65;--measure:68ch;--space-16:64px;--space-24:96px;--h-header:56px;--h-control-xl:44px;--w-sidebar:264px;--w-toc:224px;--w-content:1200px;--w-docs:1440px}@media (width<=639px){:root{--fs-5xl:36px;--fs-4xl:28px;--space-16:48px;--space-24:64px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--h-header) + var(--space-4))}body{background:var(--bg-app);color:var(--text);font:var(--fw-regular) var(--fs-body)/var(--lh-ui) var(--font-ui);-webkit-font-smoothing:antialiased;margin:0}img,svg,video{max-width:100%;display:block}img{height:auto}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--accent-soft);color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--bg-active) transparent}h1,h2,h3,h4{font-weight:var(--fw-semibold);line-height:var(--lh-tight);text-wrap:balance;margin:0}p{text-wrap:pretty;margin:0}code,kbd,pre{font-family:var(--font-code)}:not(pre)>code{padding:1px var(--space-1);border-radius:var(--radius-sm);background:var(--bg-inset);border:1px solid var(--border);font-size:.9em}kbd{font:var(--fw-medium) var(--fs-xs)/18px var(--font-ui);color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 var(--space-1-5)}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{left:var(--space-3);z-index:100;padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--accent-solid);color:var(--on-accent);position:absolute;top:-48px}.skip:focus{top:var(--space-2)}.wrap{width:100%;max-width:var(--w-content);padding:0 var(--space-4);margin:0 auto}@media (width>=960px){.wrap{padding:0 var(--space-6)}}.tile{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-tile);overflow:hidden}.tiles{gap:var(--tile-gap);display:grid}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--h-control-lg);padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-panel);color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-medium);white-space:nowrap;transition:background var(--dur-fast) var(--ease-out);text-decoration:none;display:inline-flex}.btn:hover{background:var(--bg-hover);text-decoration:none}.btn.lg{height:var(--h-control-xl);padding:0 var(--space-5);font-size:var(--fs-lg)}.btn.primary{background:var(--accent-solid);color:var(--on-accent);border-color:#0000}.btn.primary:hover{background:var(--accent-solid-hover)}.btn.run{background:var(--ok-solid);color:#fff;border-color:#0000}.btn.run:hover{background:color-mix(in srgb, var(--ok-solid) 85%, #000)}.btn.ghost{background:0 0;border-color:#0000}.btn[aria-disabled=true],.btn:disabled{background:var(--bg-hover);color:var(--text-faint);cursor:not-allowed;pointer-events:none;border-color:#0000}.ibtn{width:var(--h-control-lg);height:var(--h-control-lg);border-radius:var(--radius);color:var(--text-dim);background:0 0;border:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.ibtn:hover{background:var(--bg-hover);color:var(--text)}.badge{align-items:center;gap:var(--space-1);height:22px;padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-dim);white-space:nowrap;display:inline-flex}.badge.ok{background:var(--ok-soft);color:var(--text);border-color:#0000}.badge.warn{background:var(--warn-soft);color:var(--text);border-color:#0000}.badge.soon{color:var(--text-dim)}.note{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);font-size:var(--fs-md);line-height:var(--lh-text);align-items:flex-start;display:flex}.note>svg{flex:none;margin-top:2px}.note.info>svg{color:var(--accent)}.note.warn{background:var(--warn-soft);border-color:#0000}.note.warn>svg{color:var(--warn)}.note.err{background:var(--danger-soft);border-color:#0000}.note.err>svg{color:var(--danger)}.note.ok{background:var(--ok-soft);border-color:#0000}.note.ok>svg{color:var(--ok)}.note p+p{margin-top:var(--space-2)}.h-page{font-size:var(--fs-4xl);letter-spacing:-.02em}.h-sec{font-size:var(--fs-2xl)}.lead{font-size:var(--fs-lg);color:var(--text-dim);line-height:var(--lh-text);max-width:60ch}.muted{color:var(--text-dim)}[hidden]{display:none!important}html,body{overflow-x:clip}
