@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(./ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(./ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(./ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(./ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(./ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(./ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(./ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(./ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(./ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(./ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(./ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(./ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(./ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(./ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(./ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #0a101f;--bg-glow: #0d1830;--panel: #0e1729;--panel-2: #101c34;--ink: #dbe4f5;--ink-dim: #93a4c4;--ink-faint: #5a6b8c;--line: #1d2c4a;--line-soft: #16233c;--accent: #38bdf8;--accent-dim: #0ea5e9;--amber: #fbbf24;--ok: #34d399;--err: #f87171;--series-1: #3987e5;--series-2: #199e70;--series-3: #c98500;--series-4: #9085e9;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--radius: 8px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(1200px 500px at 70% -10%,rgba(56,189,248,.07),transparent 60%),radial-gradient(900px 600px at -10% 30%,rgba(144,133,233,.05),transparent 55%),var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}::selection{background:#38bdf847}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--mono);font-size:.9em;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:4px;padding:.08em .35em;color:#a5c8f0}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:1.25rem;padding:.7rem 1.5rem;background:#0a101fd9;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:baseline;gap:.6rem;color:var(--ink);font-family:var(--mono)}.brand:hover{text-decoration:none}.brand code{background:none;border:none;padding:0;font-size:1.05rem;font-weight:600;color:var(--accent);letter-spacing:-.02em}.brand-mark{width:10px;height:10px;border-radius:50%;align-self:center;background:radial-gradient(circle at 35% 30%,#7dd3fc,#0369a1);box-shadow:0 0 10px #38bdf8b3}.brand-sub{font-size:.72rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.14em}.topbar-links{margin-left:auto;display:flex;gap:1.1rem;font-size:.875rem}.topbar-links a{color:var(--ink-dim)}.topbar-links a:hover{color:var(--accent);text-decoration:none}.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:6px;color:var(--ink-dim);font-size:1rem;padding:.2rem .55rem;cursor:pointer}.shell{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1160px;margin:0 auto;gap:2.5rem;padding:0 1.5rem}.sidebar{position:sticky;top:53px;align-self:start;height:calc(100vh - 53px);overflow-y:auto;padding:1.75rem 0 2rem;scrollbar-width:thin}#toc{display:flex;flex-direction:column;gap:1px;border-left:1px solid var(--line-soft)}#toc a{display:flex;gap:.65rem;align-items:baseline;padding:.42rem .9rem;margin-left:-1px;color:var(--ink-dim);font-size:.855rem;border-left:2px solid transparent;transition:color .12s,border-color .12s}#toc a .toc-num{font-family:var(--mono);font-size:.7rem;color:var(--ink-faint);min-width:1.4em}#toc a:hover{color:var(--ink);text-decoration:none}#toc a.active{color:var(--accent);border-left-color:var(--accent)}#toc a.active .toc-num{color:var(--accent-dim)}main#content{padding:1.75rem 0 6rem;min-width:0}.hero{position:relative;padding:2.6rem 0 2.2rem;border-bottom:1px solid var(--line);margin-bottom:2.5rem;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:36px 36px;background-position:0 0;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}.hero h1{font-family:var(--mono);font-size:clamp(2rem,5vw,3rem);font-weight:600;letter-spacing:-.04em;margin:0 0 .6rem}.hero h1 .dot{color:var(--accent)}.hero p.tagline{max-width:42rem;margin:0 0 1.4rem;color:var(--ink-dim);font-size:1.08rem}.hero .install{display:inline-flex;align-items:center;gap:.9rem;font-family:var(--mono);font-size:.92rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.55rem 1rem;color:#a5c8f0}.hero .install .prompt{color:var(--ink-faint);user-select:none}section.doc-section{margin-bottom:3.5rem;scroll-margin-top:70px}.section-head{display:flex;align-items:baseline;gap:.9rem;border-bottom:1px solid var(--line);padding-bottom:.55rem;margin-bottom:1.1rem}.section-head .sec-num{font-family:var(--mono);font-size:.85rem;color:var(--accent);letter-spacing:.06em}.section-head h2{margin:0;font-size:1.45rem;font-weight:600;letter-spacing:-.02em}.section-head a.anchor{margin-left:auto;color:var(--ink-faint);font-family:var(--mono);font-size:.85rem;opacity:0;transition:opacity .12s}.section-head:hover a.anchor{opacity:1}.prose{max-width:46rem;color:var(--ink-dim);font-size:.97rem}.prose strong{color:var(--ink);font-weight:600}.prose h3{color:var(--ink);font-size:1.08rem;margin:1.6rem 0 .5rem}.prose ul{padding-left:1.2rem}.prose li{margin:.25rem 0}.prose pre{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem 1rem;overflow-x:auto;font-family:var(--mono);font-size:.85rem;line-height:1.6;color:#c7d6ef}.callout{max-width:46rem;display:flex;gap:.7rem;background:#38bdf80f;border:1px solid rgba(56,189,248,.25);border-radius:var(--radius);padding:.75rem 1rem;font-size:.9rem;color:var(--ink-dim);margin:1rem 0}.callout:before{content:"ℹ";color:var(--accent);font-weight:700}.example{margin:1.6rem 0 2.2rem;border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:var(--panel);overflow:hidden;box-shadow:0 12px 40px -18px #020611e6}.example-head{display:flex;align-items:center;gap:.7rem;padding:.55rem .9rem;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,var(--panel-2),var(--panel))}.example-head .led{width:8px;height:8px;border-radius:50%;background:var(--ink-faint);box-shadow:none;flex:none;transition:background .15s,box-shadow .15s}.example[data-status=running] .led,.example[data-status=loading] .led{background:var(--amber);box-shadow:0 0 8px #fbbf24cc;animation:pulse 1.1s ease-in-out infinite}.example[data-status=done] .led{background:var(--ok);box-shadow:0 0 6px #34d39999}.example[data-status=error] .led{background:var(--err);box-shadow:0 0 6px #f8717199}@keyframes pulse{50%{opacity:.45}}.example-head .ex-title{font-family:var(--mono);font-size:.82rem;color:var(--ink);letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.example-head .ex-status{font-family:var(--mono);font-size:.72rem;color:var(--ink-faint);margin-left:auto;white-space:nowrap}.example-head .btn{font-family:var(--mono);font-size:.78rem;border-radius:6px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink-dim);padding:.28rem .8rem;cursor:pointer;transition:all .12s;white-space:nowrap}.example-head .btn:hover{border-color:var(--accent-dim);color:var(--ink)}.example-head .btn.btn-run{background:var(--accent-dim);border-color:var(--accent-dim);color:#04121f;font-weight:600}.example-head .btn.btn-run:hover{background:var(--accent);border-color:var(--accent)}.example-head .btn.btn-run[data-mode=stop]{background:transparent;border-color:var(--err);color:var(--err)}.example-head .btn:disabled{opacity:.5;cursor:default}.code-editor{position:relative;border-bottom:1px solid var(--line-soft);background:#0b1322}.code-editor pre,.code-editor textarea{margin:0;padding:.9rem 1.1rem;font-family:var(--mono);font-size:.82rem;line-height:1.62;tab-size:2;white-space:pre;word-wrap:normal;overflow:auto;min-height:40px;max-height:460px;width:100%}.code-editor pre{pointer-events:none;color:#c7d6ef;scrollbar-width:none}.code-editor pre code{background:none;border:none;border-radius:0;padding:0;font:inherit;color:inherit}.code-editor textarea{position:absolute;inset:0;resize:none;border:none;outline:none;background:transparent;color:transparent;caret-color:var(--accent);scrollbar-width:thin}.code-editor textarea::selection{background:#38bdf838}.tok-kw{color:#7dd3fc}.tok-str{color:#86efac}.tok-tpl{color:#6ee7b7}.tok-com{color:#64748b;font-style:italic}.tok-num{color:#fbbf24}.tok-fn{color:#c4b5fd}.example-panes{display:grid}.example-panes.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (max-width: 760px){.example-panes.split{grid-template-columns:minmax(0,1fr)}}.pane{min-width:0;display:flex;flex-direction:column}.pane+.pane{border-left:1px solid var(--line-soft)}@media (max-width: 760px){.pane+.pane{border-left:none;border-top:1px solid var(--line-soft)}}.pane-label{font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);padding:.4rem 1.1rem .25rem}.pane-console{font-family:var(--mono);font-size:.76rem;line-height:1.55;color:#9fdb87;background:#081020;padding:.6rem 1.1rem .8rem;margin:0;height:200px;overflow:auto;white-space:pre-wrap;word-break:break-word}.pane-console .console-err{color:var(--err)}.pane-canvas canvas,.pane-chart canvas{display:block;width:100%;height:240px;background:#081020}.pane-chart .chart-legend{display:flex;flex-wrap:wrap;gap:.9rem;padding:.15rem 1.1rem .45rem;font-family:var(--mono);font-size:.72rem;color:var(--ink-dim)}.pane-chart .chart-legend .swatch{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:.4rem;vertical-align:baseline}.chart-tip{position:absolute;pointer-events:none;background:#081020f2;border:1px solid var(--line);border-radius:6px;font-family:var(--mono);font-size:.7rem;color:var(--ink);padding:.35rem .55rem;z-index:5;white-space:nowrap}.pane-chart{position:relative}.ref-group{margin:1.4rem 0 2rem}.ref-group h3{font-family:var(--mono);font-size:.95rem;color:var(--ink);margin:0 0 .5rem}.ref-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}table.ref-table{width:100%;border-collapse:collapse;font-size:.84rem;background:var(--panel)}table.ref-table th{text-align:left;font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);padding:.5rem .9rem;border-bottom:1px solid var(--line);background:var(--panel-2)}table.ref-table td{padding:.5rem .9rem;border-bottom:1px solid var(--line-soft);vertical-align:top;color:var(--ink-dim)}table.ref-table tr:last-child td{border-bottom:none}table.ref-table td:first-child{font-family:var(--mono);font-size:.78rem;color:#a5c8f0;white-space:nowrap}table.ref-table td:first-child code{background:none;border:none;padding:0}@media (max-width: 900px){.shell{grid-template-columns:minmax(0,1fr);gap:0}.sidebar{display:none;position:fixed;top:53px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);height:auto;max-height:70vh;padding:.75rem 1.25rem 1rem;z-index:25}.sidebar.open{display:block}.nav-toggle{display:block;margin-left:.5rem}}@media (max-width: 560px){.topbar{gap:.75rem;padding:.7rem 1rem}.brand-sub{display:none}.topbar-links{gap:.8rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.example .led{animation:none}}
