@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}@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(/_astro/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(/_astro/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(/_astro/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(/_astro/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(/_astro/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);size-adjust:107.12%;ascent-override:90.44%;descent-override:22.52%;line-gap-override:0%}@font-face{font-family:JetBrains Mono Fallback;src:local(Courier New);size-adjust:102%;ascent-override:102%;descent-override:30%;line-gap-override:0%}:root{--font-sans:"Inter Variable", "Inter Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono Fallback", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius:12px;--radius-sm:8px;--header-h:60px;--sidebar-w:272px;--code-w:480px;--max:1480px;--ease:cubic-bezier(.2,.7,.2,1);--bg:#0a0c11;--bg-2:#0f1218;--bg-3:#141822;--surface:#121620;--surface-2:#181d29;--border:#ffffff14;--border-2:#ffffff24;--text:#e8ebf1;--text-2:#aab2c4;--muted:#7d8699;--accent:#5eead4;--accent-2:#7c9cff;--accent-3:#c084fc;--accent-ink:#042f2e;--green:#34d399;--red:#fb7185;--amber:#fbbf24;--blue:#60a5fa;--violet:#a78bfa;--glow-a:#5eead438;--glow-b:#7c9cff38;--code-bg:#0c0f15;--code-head:#10141c;--shadow:0 10px 40px #00000073;--kbd:#1b2130;--selection:#5eead44d;color-scheme:dark}html[data-theme=light]{--bg:#fff;--bg-2:#f7f8fb;--bg-3:#eef1f6;--surface:#fff;--surface-2:#f4f6fa;--border:#e6e9f0;--border-2:#d6dbe6;--text:#0f172a;--text-2:#334155;--muted:#64748b;--accent:#0f766e;--accent-2:#3b5bdb;--accent-3:#7e22ce;--accent-ink:#fff;--green:#059669;--red:#e11d48;--amber:#d97706;--blue:#2563eb;--violet:#7c3aed;--glow-a:#0d948829;--glow-b:#4f6df529;--code-bg:#0e1117;--code-head:#151a23;--shadow:0 12px 40px #0f172a1a;--kbd:#eef1f6;--selection:#0d948838;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"cv11", "ss01", "calt";margin:0;font-size:15.5px;line-height:1.6}::selection{background:var(--selection)}a{color:var(--accent-2);text-decoration:none}p a,li a,td a,.d a,.desc a,.callout a{text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--accent-2) 45%, transparent);text-underline-offset:3px}p a:hover,li a:hover,td a:hover,.d a:hover,.desc a:hover,.callout a:hover{text-decoration-color:var(--accent-2)}.sidebar a,.toc a,.topnav a,.hdr a,.ftr a,.card a,.cards a{text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}h1,h2,h3,h4{letter-spacing:-.02em;color:var(--text);text-wrap:balance;margin:0 0 .5em;font-weight:650;line-height:1.2}h1{letter-spacing:-.035em;font-size:clamp(2rem,4vw,2.75rem)}h2{margin-top:2.4em;font-size:1.6rem}h3{margin-top:1.8em;font-size:1.2rem}h4{margin-top:1.4em;font-size:1rem}p{margin:0 0 1em}code,kbd,pre,samp{font-family:var(--font-mono);font-feature-settings:"liga" 0;font-size:.875em}:not(pre)>code{background:var(--surface-2);border:1px solid var(--border);color:var(--text);overflow-wrap:break-word;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:6px;padding:.1em .4em}kbd{background:var(--kbd);border:1px solid var(--border-2);color:var(--text-2);border-bottom-width:2px;border-radius:6px;padding:.05em .45em;font-size:.78em}hr{border:0;border-top:1px solid var(--border);margin:2.5rem 0}table{border-collapse:collapse;width:100%;font-size:.92em}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.6em .8em}th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.78em;font-weight:600}.tbl{border:1px solid var(--border);border-radius:var(--radius-sm);content-visibility:auto;contain-intrinsic-size:auto 240px;margin:1em 0;overflow-x:auto}.tbl table{margin:0}.tbl tr:last-child td{border-bottom:0}ul,ol{margin:0 0 1em;padding-left:1.3em}li{margin:.25em 0}img,svg,canvas{max-width:100%;display:block}button{font:inherit;color:inherit}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{background:var(--accent);color:var(--accent-ink);z-index:100;border-radius:8px;padding:8px 12px;font-weight:600;position:absolute;top:-60px;left:8px}.skip:focus{top:8px}.hdr{z-index:50;height:var(--header-h);-webkit-backdrop-filter:saturate(160%)blur(14px);background:color-mix(in srgb, var(--bg) 78%, transparent);border-bottom:1px solid var(--border);align-items:center;display:flex;position:sticky;top:0}.hdr-in{width:100%;max-width:var(--max);align-items:center;gap:14px;margin:0 auto;padding:0 20px;display:flex}.logo{letter-spacing:-.02em;color:var(--text);align-items:center;gap:10px;font-size:1.05rem;font-weight:700;display:inline-flex}.logo:hover{text-decoration:none}.logo .mark{background:conic-gradient(from 210deg, var(--accent), var(--accent-2), var(--accent-3), var(--accent));width:28px;height:28px;box-shadow:0 0 0 1px #ffffff14 inset, 0 6px 20px var(--glow-a);border-radius:8px;place-items:center;display:grid}.logo .mark:after{content:"";border:3px solid #0a0c11;border-radius:50%;width:12px;height:12px}.logo .tag{color:var(--muted);font-size:.95rem;font-weight:500}.topnav{gap:2px;margin-left:10px;display:flex}.topnav a{color:var(--text-2);border-radius:8px;padding:7px 11px;font-size:.93rem;font-weight:500}.topnav a:hover,.topnav a[aria-current=true]{color:var(--text);background:var(--surface-2);text-decoration:none}.hdr .grow{flex:1}.search-btn{border:1px solid var(--border);background:var(--surface);height:36px;color:var(--muted);cursor:pointer;min-width:220px;transition:border-color .15s var(--ease), color .15s;border-radius:10px;align-items:center;gap:10px;padding:0 10px 0 12px;display:inline-flex}.search-btn:hover{border-color:var(--border-2);color:var(--text-2)}.search-btn .grow{text-align:left;flex:1;font-size:.9rem}.icon-btn{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text-2);cursor:pointer;border-radius:10px;place-items:center;transition:border-color .15s,background .15s;display:inline-grid}.icon-btn:hover{border-color:var(--border-2);background:var(--surface-2);color:var(--text)}.icon-btn svg{width:18px;height:18px}html[data-theme=light] .only-dark,html:not([data-theme=light]) .only-light,.menu-btn{display:none}.docs{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);max-width:var(--max);margin:0 auto;display:grid}.sidebar{top:var(--header-h);height:calc(100vh - var(--header-h));overscroll-behavior:contain;border-right:1px solid var(--border);scrollbar-width:thin;padding:22px 14px 40px 20px;position:sticky;overflow-y:auto}.sb-group{margin-bottom:20px}.sb-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);justify-content:space-between;align-items:center;padding:0 10px 6px;font-size:.72rem;font-weight:650;display:flex}.sb-title a{color:inherit}.sidebar a.sb-item{color:var(--text-2);border-radius:8px;align-items:center;gap:8px;padding:5px 10px;font-size:.92rem;line-height:1.35;transition:background .12s,color .12s;display:flex}.sidebar a.sb-item:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.sidebar a.sb-item[aria-current=page]{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--text);font-weight:600}.sidebar .sb-sub{border-left:1px solid var(--border);margin:2px 0 6px 10px;padding-left:10px}.sidebar .sb-sub a.sb-item{color:var(--muted);padding:4px 8px;font-size:.85rem}.sidebar .sb-sub a.sb-item>span:last-child{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.sidebar .sb-sub a.sb-item:hover,.sidebar .sb-sub a.sb-item.active{color:var(--text)}.sidebar .sb-sub a.sb-item.active{background:var(--surface-2)}.m{font-family:var(--font-mono);letter-spacing:.04em;text-align:center;border-radius:5px;flex:none;min-width:44px;padding:2px 6px;font-size:.64rem;font-weight:700;line-height:1.3;display:inline-block}.m-get{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.m-post{color:var(--accent-2);background:color-mix(in srgb, var(--accent-2) 16%, transparent)}.m-put{color:var(--amber);background:color-mix(in srgb, var(--amber) 16%, transparent)}.m-patch{color:var(--violet);background:color-mix(in srgb, var(--violet) 16%, transparent)}.m-delete{color:var(--red);background:color-mix(in srgb, var(--red) 14%, transparent)}.m-event{color:var(--accent-3);background:color-mix(in srgb, var(--accent-3) 14%, transparent)}.m-ws{color:var(--blue);background:color-mix(in srgb, var(--blue) 14%, transparent)}.content{min-width:0;padding:36px 40px 120px}.content-in{max-width:1120px}.prose{max-width:760px}.prose>h2{padding-top:.4em}.prose>h2:first-child,.prose>h1+h2{margin-top:1em}.lede{color:var(--text-2);max-width:720px;font-size:1.12rem}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.6em;font-size:.78rem;font-weight:700}.anchor-h{scroll-margin-top:calc(var(--header-h) + 20px);position:relative}.anchor-h a.hash{color:var(--muted);opacity:0;font-weight:400;position:absolute;top:0;left:-1.1em}.anchor-h:hover a.hash,.anchor-h a.hash:focus{opacity:1;text-decoration:none}.ep{grid-template-columns:minmax(0, 1fr) minmax(0, var(--code-w));border-top:1px solid var(--border);scroll-margin-top:calc(var(--header-h) + 8px);content-visibility:auto;contain-intrinsic-size:auto 900px;gap:36px;padding:44px 0;display:grid}.ep:first-of-type{border-top:0}.ep-doc{min-width:0}.ep-code{min-width:0;top:calc(var(--header-h) + 20px);align-self:start;gap:14px;display:grid;position:sticky}.ep-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.ep-head .m{padding:3px 8px;font-size:.72rem}.ep-path{font-family:var(--font-mono);color:var(--text);word-break:break-all;font-size:.95rem}.ep-path .var{color:var(--accent-3)}.ep h2,.ep h3{margin:.2em 0 .6em;font-size:1.35rem}.chips{flex-wrap:wrap;gap:6px;margin:8px 0 14px;display:flex}.chip{border:1px solid var(--border);color:var(--text-2);background:var(--surface);border-radius:999px;padding:3px 8px;font-size:.74rem}.chip b{color:var(--text);font-weight:600}.chip.scope{border-color:color-mix(in srgb, var(--accent-2) 40%, transparent);color:var(--accent-2);font-family:var(--font-mono)}.chip.none{color:var(--green);border-color:color-mix(in srgb, var(--green) 40%, transparent)}.ep .desc{color:var(--text-2)}.ep .desc p:last-child{margin-bottom:0}.rows{border-top:1px solid var(--border);margin:10px 0 20px}.rows h3,.rows h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:1.6em 0 .2em;font-size:.78rem}.row{border-bottom:1px solid var(--border);scroll-margin-top:calc(var(--header-h) + 16px);padding:11px 0}.row-h{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.row-h .n{font-family:var(--font-mono);color:var(--text);font-size:.88rem;font-weight:600}.row-h .n a{color:inherit}.row-h .t{font-family:var(--font-mono);color:var(--muted);font-size:.76rem}.row-h .req{color:var(--red);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:700}.row-h .opt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem}.row-h .in{color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:0 5px;font-size:.68rem}.row .d{color:var(--text-2);margin-top:3px;font-size:.92rem}.row .d p{margin:0}.row .enum{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.row .enum code{font-size:.74rem}.row details{margin-top:6px}.row summary{cursor:pointer;color:var(--accent-2);user-select:none;align-items:center;gap:6px;font-size:.8rem;list-style:none;display:inline-flex}.row summary::-webkit-details-marker{display:none}.row summary:before{content:"+";border:1px solid var(--border-2);width:16px;height:16px;color:var(--muted);border-radius:4px;place-items:center;font-size:.75rem;display:inline-grid}.row details[open]>summary:before{content:"−"}.row .child{border-left:1px solid var(--border);margin:6px 0 0 12px;padding-left:12px}.row .child .row:last-child{border-bottom:0}.resp{border-bottom:1px solid var(--border);align-items:baseline;gap:10px;padding:8px 0;font-size:.92rem;display:flex}.resp .st{font-family:var(--font-mono);min-width:40px;font-weight:700}.resp .st.ok{color:var(--green)}.resp .st.redir{color:var(--blue)}.resp .st.err{color:var(--amber)}.resp .st.bad{color:var(--red)}.resp .d{color:var(--text-2)}.resp .d p{margin:0}.cb{background:var(--code-bg);border-radius:var(--radius);color-scheme:dark;box-shadow:var(--shadow);content-visibility:auto;contain-intrinsic-size:auto 280px;border:1px solid #ffffff14;overflow:hidden}.cb-head{background:var(--code-head);border-bottom:1px solid #ffffff12;align-items:center;gap:6px;min-height:40px;padding:6px 8px 6px 12px;display:flex}.cb-title{color:#aab2c4;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.78rem;font-weight:600;font-family:var(--font-mono);flex:1;align-items:center;gap:8px;display:flex;overflow:hidden}.cb-tabs{scrollbar-width:none;flex:1;gap:2px;display:flex;overflow-x:auto}.cb-tabs::-webkit-scrollbar{display:none}.cb-tab{color:#8b93a7;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;padding:5px 9px;font-size:.76rem;font-weight:600;transition:color .12s,background .12s}.cb-tab:hover{color:#e8ebf1}.cb-tab[aria-selected=true]{color:#e8ebf1;background:#ffffff17}.copy{color:#aab2c4;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:7px;flex:none;place-items:center;width:30px;height:30px;transition:background .12s,color .12s;display:inline-grid}.copy:hover{color:#fff;background:#ffffff1a}.copy svg{width:15px;height:15px}.copy.done{color:#34d399;border-color:#34d39980}.cb-body{position:relative}.cb-panel[hidden]{display:none}.cb pre{scrollbar-width:thin;tab-size:4;max-height:520px;margin:0;padding:14px 16px;font-size:.8rem;line-height:1.6;overflow:auto;background:0 0!important}.cb pre code{font-family:var(--font-mono);white-space:pre;background:0 0;border:0;padding:0}.shiki span{color:var(--shiki-dark)!important}.cb.tall pre{max-height:none}.cb .cb-note{color:#8b93a7;border-top:1px solid #ffffff12;padding:8px 12px;font-size:.76rem}.callout{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);grid-template-columns:22px 1fr;gap:10px;margin:1.2em 0;padding:14px 16px;font-size:.95rem;display:grid}.callout .ci{width:20px;height:20px;margin-top:2px}.callout p:last-child{margin-bottom:0}.callout.info{border-color:color-mix(in srgb, var(--accent-2) 35%, transparent);background:color-mix(in srgb, var(--accent-2) 7%, var(--surface))}.callout.info .ci{color:var(--accent-2)}.callout.warn{border-color:color-mix(in srgb, var(--amber) 40%, transparent);background:color-mix(in srgb, var(--amber) 7%, var(--surface))}.callout.warn .ci{color:var(--amber)}.callout.ok{border-color:color-mix(in srgb, var(--green) 40%, transparent);background:color-mix(in srgb, var(--green) 7%, var(--surface))}.callout.ok .ci{color:var(--green)}.callout.danger{border-color:color-mix(in srgb, var(--red) 40%, transparent);background:color-mix(in srgb, var(--red) 7%, var(--surface))}.callout.danger .ci{color:var(--red)}.callout .ct{margin-bottom:2px;font-weight:650}.cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:1.4em 0;display:grid}.card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);transition:transform .2s var(--ease), border-color .2s, box-shadow .2s;padding:18px;display:block;position:relative;overflow:hidden}.card:hover{border-color:var(--border-2);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-2px)}.card:before{content:"";background:radial-gradient(400px 140px at 10% 0%, var(--glow-b), transparent 60%);opacity:0;pointer-events:none;transition:opacity .25s;position:absolute;inset:0}.card:hover:before{opacity:1}.card .ic{background:color-mix(in srgb, var(--accent) 14%, transparent);width:34px;height:34px;color:var(--accent);border-radius:9px;place-items:center;margin-bottom:12px;display:grid}.card .ic svg{width:18px;height:18px}.card h3{margin:0 0 4px;font-size:1.02rem}.card p{color:var(--text-2);margin:0;font-size:.9rem}.card .arrow{color:var(--muted);transition:transform .2s var(--ease), color .2s;position:absolute;top:16px;right:16px}.card:hover .arrow{color:var(--accent);transform:translate(3px,-3px)}.steps{counter-reset:step;margin:1.5em 0;padding:0;list-style:none}.steps>li{counter-increment:step;content-visibility:auto;contain-intrinsic-size:auto 420px;padding:0 0 2em 48px;position:relative}.steps>li:before{content:counter(step);background:linear-gradient(135deg, var(--accent), var(--accent-2));width:32px;height:32px;color:var(--accent-ink);box-shadow:0 6px 18px var(--glow-a);border-radius:10px;place-items:center;font-size:.85rem;font-weight:700;display:grid;position:absolute;top:0;left:0}.steps>li:after{content:"";background:var(--border);width:2px;position:absolute;top:36px;bottom:6px;left:15px}.steps>li:last-child:after{display:none}.steps>li h3{margin:.2em 0 .5em;font-size:1.1rem}.steps>li h3:first-child{margin-top:0}.badge{border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge .dot{background:var(--green);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--green) 25%, transparent);border-radius:50%}.pill-row{flex-wrap:wrap;gap:8px;display:flex}.btn{border:1px solid var(--border-2);height:42px;color:var(--text);background:var(--surface);transition:transform .15s var(--ease), background .15s, border-color .15s, box-shadow .15s;cursor:pointer;border-radius:11px;align-items:center;gap:8px;padding:0 18px;font-size:.95rem;font-weight:600;display:inline-flex}.btn:hover{background:var(--surface-2);text-decoration:none;transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--accent-ink);box-shadow:0 10px 30px var(--glow-a);border-color:#0000}html[data-theme=light] .btn.primary{color:#fff}.btn.primary:hover{box-shadow:0 14px 34px var(--glow-b)}.btn svg{width:16px;height:16px}.scope-list{gap:8px;display:grid}.scope{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:190px 1fr;gap:12px;padding:10px 12px;font-size:.92rem;display:grid}.scope code{color:var(--accent-2);background:0 0;border:0;padding:0;font-size:.8rem}.codes{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr;gap:0;display:grid;overflow:hidden}.code-row{border-bottom:1px solid var(--border);background:var(--surface);scroll-margin-top:calc(var(--header-h) + 16px);grid-template-columns:70px minmax(200px,300px) 1fr;gap:12px;padding:10px 14px;font-size:.9rem;display:grid}.code-row:last-child{border-bottom:0}.code-row .st{font-family:var(--font-mono);font-weight:700}.code-row .st.s4{color:var(--amber)}.code-row .st.s5{color:var(--red)}.code-row .st.s2{color:var(--green)}.code-row .st.s3{color:var(--blue)}.code-row code{font-size:.8rem}.code-row .d{color:var(--text-2)}.ftr{border-top:1px solid var(--border);color:var(--muted);padding:40px 20px;font-size:.88rem}.ftr-in{max-width:var(--max);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:0 auto;display:flex}.ftr a{color:var(--text-2)}#search.sm{z-index:90;backdrop-filter:blur(6px);background:#04060a99;justify-content:center;align-items:flex-start;padding:10vh 16px 16px;display:none;position:fixed;inset:0}#search.sm[open],#search.sm.open{display:flex}.sm-box{background:var(--surface);border:1px solid var(--border-2);width:100%;max-width:680px;box-shadow:var(--shadow);animation:pop .18s var(--ease);border-radius:16px;overflow:hidden}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.sm-in{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 16px;display:flex}.sm-in input{font:inherit;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:1.05rem}.sm-in svg{width:18px;height:18px;color:var(--muted)}.sm-res{max-height:60vh;padding:8px;overflow:auto}.sm-res a{color:var(--text);border-radius:10px;padding:10px 12px;display:block}.sm-res a:hover,.sm-res a.sel{background:var(--surface-2);text-decoration:none}.sm-res .t{align-items:center;gap:8px;font-size:.95rem;font-weight:600;display:flex}.sm-res .x{color:var(--muted);margin-top:2px;font-size:.85rem}.sm-res .x mark{background:color-mix(in srgb, var(--accent) 30%, transparent);color:inherit;border-radius:3px;padding:0 2px}.sm-res .sub{color:var(--muted);font-size:.78rem;font-family:var(--font-mono);margin-left:auto}.sm-empty{text-align:center;color:var(--muted);padding:30px}.sm-ftr{border-top:1px solid var(--border);color:var(--muted);gap:14px;padding:8px 16px;font-size:.78rem;display:flex}.hero{border-bottom:1px solid var(--border);position:relative;overflow:hidden}.hero-bg{pointer-events:none;background:radial-gradient(900px 500px at 15% -10%, var(--glow-a), transparent 60%), radial-gradient(800px 500px at 90% 10%, var(--glow-b), transparent 60%);position:absolute;inset:0}.hero-grid{pointer-events:none;opacity:.5;background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 0,#000 20%,#0000 70%);mask-image:radial-gradient(at 50% 0,#000 20%,#0000 70%)}.hero-in{max-width:var(--max);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:40px;margin:0 auto;padding:72px 20px 48px;display:grid;position:relative}.hero h1{margin-bottom:.45em;font-size:clamp(2.4rem,5.2vw,4rem);line-height:1.04}.hero h1 .grad{background:linear-gradient(100deg, var(--accent), var(--accent-2) 55%, var(--accent-3));color:#0000;-webkit-background-clip:text;background-clip:text}.hero .lede{max-width:560px;font-size:1.18rem}.hero .cta{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.hero .facts{color:var(--muted);flex-wrap:wrap;gap:18px 28px;margin-top:34px;font-size:.88rem;display:flex}.hero .facts b{color:var(--text);letter-spacing:-.02em;font-size:1.25rem;font-weight:700;display:block}.term{border:1px solid var(--border-2);background:var(--code-bg);box-shadow:var(--shadow), 0 0 80px var(--glow-b);color-scheme:dark;animation:rise .8s var(--ease) both;border-radius:16px;overflow:hidden}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.term-head{background:var(--code-head);font-family:var(--font-mono);color:#8b93a7;border-bottom:1px solid #ffffff12;align-items:center;gap:8px;padding:10px 14px;font-size:.76rem;display:flex}.term-head .dots{gap:6px;margin-right:6px;display:flex}.term-head .dots i{background:#2a3140;border-radius:50%;width:10px;height:10px}.term-head .live{color:#34d399;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.term-head .live i{background:#34d399;border-radius:50%;width:7px;height:7px;animation:1.6s infinite pulse;box-shadow:0 0 0 3px #34d39940}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #34d39940}50%{box-shadow:0 0 0 6px #34d39914}}.term canvas{width:100%;height:240px;display:block}.ticks{border-top:1px solid #ffffff12;grid-template-columns:repeat(3,1fr);display:grid}.tick{font-family:var(--font-mono);color:#8b93a7;border-right:1px solid #ffffff12;padding:10px 14px;font-size:.76rem}.tick:last-child{border-right:0}.tick b{color:#e8ebf1;font-variant-numeric:tabular-nums;margin-top:2px;font-size:.95rem;font-weight:600;display:block}.tick .up{color:#34d399}.tick .dn{color:#fb7185}.term-log{font-family:var(--font-mono);color:#aab2c4;border-top:1px solid #ffffff12;min-height:90px;padding:10px 14px;font-size:.74rem;line-height:1.7}.term-log .l{white-space:nowrap;text-overflow:ellipsis;opacity:0;animation:.4s forwards fadein;overflow:hidden}@keyframes fadein{to{opacity:1}}.term-log .k{color:#7c9cff}.term-log .ok{color:#34d399}.term-log .ev{color:#c084fc}.section{max-width:var(--max);margin:0 auto;padding:64px 20px}.section h2{margin-top:0;font-size:clamp(1.6rem,3vw,2.1rem)}.section .lede{margin-bottom:1.8em}.feature{border:1px solid var(--border);background:linear-gradient(180deg, var(--surface), var(--bg));border-radius:14px;padding:22px}.feature h3{align-items:center;gap:10px;margin:0 0 6px;font-size:1.05rem;display:flex}.feature p{color:var(--text-2);margin:0;font-size:.92rem}.feature .ic{background:color-mix(in srgb, var(--accent-2) 16%, transparent);width:30px;height:30px;color:var(--accent-2);border-radius:8px;place-items:center;display:grid}.feature .ic svg{width:16px;height:16px}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;display:grid}.langs{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.langs span{font-family:var(--font-mono);border:1px solid var(--border);color:var(--text-2);background:var(--surface);border-radius:999px;padding:4px 10px;font-size:.78rem}.with-toc{grid-template-columns:minmax(0,1fr) 220px;gap:40px;display:grid}.toc{top:calc(var(--header-h) + 24px);align-self:start;font-size:.85rem;position:sticky}.toc .tt{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px;font-size:.72rem;font-weight:650}.toc a{border-left:2px solid var(--border);color:var(--muted);padding:4px 0 4px 12px;display:block}.toc a:hover,.toc a.active{color:var(--text);border-color:var(--accent);text-decoration:none}.tool{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.field{gap:6px;margin-bottom:14px;display:grid}.field label{color:var(--text-2);font-size:.8rem;font-weight:600}.field input,.field textarea,.field select{font:inherit;border:1px solid var(--border-2);background:var(--bg-2);color:var(--text);border-radius:9px;outline:0;width:100%;padding:9px 11px;font-size:.9rem}.field textarea{font-family:var(--font-mono);resize:vertical;min-height:120px;font-size:.82rem}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.field .hint{color:var(--muted);font-size:.78rem}.result{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);padding:14px 16px;font-size:.92rem}.result.ok{border-color:color-mix(in srgb, var(--green) 50%, transparent)}.result.bad{border-color:color-mix(in srgb, var(--red) 50%, transparent)}.result pre{white-space:pre-wrap;word-break:break-all;color:var(--text-2);margin:8px 0 0;font-size:.78rem}.seg{border:1px solid var(--border-2);border-radius:9px;display:inline-flex;overflow:hidden}.seg button{cursor:pointer;color:var(--text-2);background:0 0;border:0;padding:7px 12px;font-size:.85rem}.seg button[aria-pressed=true]{background:var(--surface-2);color:var(--text);font-weight:600}.diagram{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);content-visibility:auto;contain-intrinsic-size:auto 340px;margin:1.4em 0;padding:16px;overflow-x:auto}.diagram svg{width:100%;min-width:560px;height:auto}.diagram .lane{fill:var(--surface-2);stroke:var(--border-2)}.diagram .lbl{font:600 12px var(--font-sans);fill:var(--text)}.diagram .sub{font:11px var(--font-mono);fill:var(--muted)}.diagram .arr{stroke:var(--accent-2);stroke-width:1.6px;fill:none;marker-end:url(#ah)}.diagram .arr.alt{stroke:var(--accent-3)}.diagram .arr.fail{stroke:var(--red);stroke-dasharray:4 3}.diagram .msg{font:11px var(--font-mono);fill:var(--text-2)}.diagram .pkt{fill:var(--accent)}.diagram .pkt.alt{fill:var(--accent-3)}.diagram .pkt.fail{fill:var(--red)}@media (prefers-reduced-motion:no-preference){.diagram .pkt{offset-rotate:0deg;animation:2.6s linear infinite travel}}@keyframes travel{0%{offset-distance:0%;opacity:0}10%{opacity:1}90%{opacity:1}to{offset-distance:100%;opacity:0}}@media (width<=1240px){:root{--code-w:420px}.ep{gap:24px}}@media (width<=1100px){.ep{grid-template-columns:1fr}.ep-code{position:static}.with-toc{grid-template-columns:minmax(0,1fr)}.toc{display:none}.tool{grid-template-columns:1fr}}@media (width<=920px){.docs{grid-template-columns:1fr}.sidebar{top:var(--header-h);background:var(--bg);z-index:60;width:min(320px,86vw);transition:transform .25s var(--ease);box-shadow:var(--shadow);position:fixed;left:0;transform:translate(-105%)}.sidebar.open{transform:none}.menu-btn{display:inline-grid}.topnav{display:none}.search-btn{min-width:0}.search-btn kbd{display:none}.search-btn .grow{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.content{padding:26px 18px 90px}:not(pre)>code{overflow-wrap:anywhere}.hero-in{grid-template-columns:1fr;padding:48px 18px 36px}.split{grid-template-columns:1fr}.scope{grid-template-columns:1fr;gap:2px}.code-row{grid-template-columns:56px 1fr}.code-row .d{grid-column:1/-1}.section{padding:44px 18px}}@media (width<=560px){body{font-size:15px}.hero h1{font-size:2.2rem}.ticks{grid-template-columns:repeat(3,1fr)}.tick{padding:8px 10px}.hero .facts{gap:12px 20px}.cb pre{font-size:.76rem}}.diagram:not(.in-view) .pkt,.diagram:not(.in-view) .stat{animation-play-state:paused!important}
