@font-face{font-family:Plex;src:url(/fonts/IBMPlexSans-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Plex;src:url(/fonts/IBMPlexSans-SemiBold.ttf)format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Plex;src:url(/fonts/IBMPlexSans-Bold.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Plex Mono;src:url(/fonts/IBMPlexMono-Regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Plex Mono;src:url(/fonts/IBMPlexMono-Bold.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}:root{color-scheme:dark;--void:#07111e;--void-deep:#030a13;--panel:#0c1928;--panel-raised:#112135;--panel-soft:#0a1624;--ink:#f4f8fc;--body:#c4d1df;--muted:#8ea1b5;--faint:#768ba1;--line:#20354b;--line-strong:#31506e;--azure:#168fe5;--azure-bright:#49b6ff;--cyan:#4fd8e8;--green:#53d18d;--amber:#f3bf4d;--coral:#ff8066;--violet:#ba91ff;--font-sans:"Plex", "Segoe UI", system-ui, sans-serif;--font-mono:"Plex Mono", ui-monospace, monospace;--max-width:1240px;--header-height:76px;--ease-out:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--line-strong) var(--void-deep);scrollbar-width:thin}body{background:var(--void);min-width:320px;color:var(--body);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}body:before{z-index:-2;pointer-events:none;content:"";background:radial-gradient(circle at 78% 12%,#168fe51a,#0000 34rem),linear-gradient(#07111e 0%,#081320 54%,#050d17 100%);position:fixed;inset:0}::selection{background:var(--azure);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--void-deep)}::-webkit-scrollbar-thumb{border:2px solid var(--void-deep);background:var(--line-strong);border-radius:10px}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--azure-bright);outline-offset:4px}img,svg{display:block}.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-link{z-index:1000;background:var(--ink);color:var(--void);border-radius:8px;padding:10px 14px;transition:transform .18s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.section-shell{width:min(calc(100% - 48px), var(--max-width));margin-inline:auto}.site-header{z-index:100;border-bottom:1px solid #0000;transition:background .22s,border-color .22s;position:fixed;top:0;left:0;right:0}.site-header.is-scrolled,.docs-page .site-header{backdrop-filter:blur(14px);background:#07111eeb;border-color:#4f82af33}.header-inner{width:min(calc(100% - 48px), var(--max-width));height:var(--header-height);justify-content:space-between;align-items:center;margin-inline:auto;display:flex}.brand{align-items:center;text-decoration:none;display:flex}.brand img{width:142px;height:auto}.desktop-nav{align-items:center;gap:34px;margin-left:auto;margin-right:38px;display:flex}.desktop-nav a,.github-link{color:var(--muted);font-size:.88rem;font-weight:600;text-decoration:none;transition:color .16s;position:relative}.desktop-nav a:after{background:var(--azure-bright);content:"";opacity:0;height:1px;transition:opacity .16s,transform .16s;position:absolute;bottom:-9px;left:0;right:0;transform:scaleX(.4)}.desktop-nav a:hover,.desktop-nav a[aria-current=page],.github-link:hover{color:var(--ink)}.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{opacity:1;transform:scaleX(1)}.header-actions{align-items:center;gap:18px;display:flex}.github-link{align-items:center;gap:7px;display:flex}.github-link svg{fill:currentColor;width:18px;height:18px}.header-cta{min-height:40px;color:var(--ink);background:#168fe51f;border:1px solid #49b6ff85;border-radius:9px;align-items:center;padding:0 18px;font-size:.88rem;font-weight:600;text-decoration:none;transition:background .16s,border-color .16s;display:inline-flex}.header-cta:hover{border-color:var(--azure-bright);background:#168fe538}.menu-button{border:1px solid var(--line);background:var(--panel);width:42px;height:42px;color:var(--ink);border-radius:9px;place-items:center;display:none}.menu-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.7px;width:21px}.mobile-nav{border-top:1px solid var(--line);background:var(--void);padding:12px 24px 22px}.mobile-nav a{color:var(--body);padding:12px 0;font-weight:600;text-decoration:none;display:block}.not-found h1{color:var(--ink);letter-spacing:-.04em;text-wrap:balance;margin:0;font-weight:600;line-height:.96}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:34px;display:flex}.button{min-height:50px;transition:transform .18s var(--ease-out), background .18s ease, border-color .18s ease;border-radius:11px;justify-content:center;align-items:center;gap:10px;padding:0 21px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{border:1px solid var(--azure);background:var(--azure);color:#fff;box-shadow:0 12px 30px #00509638}.button-primary:hover{background:#0d82d7;border-color:#36a8f5}.button-secondary{border:1px solid var(--line-strong);background:var(--panel-soft);color:var(--ink)}.button-secondary:hover{background:var(--panel);border-color:#4f7599}.button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px;height:20px}.text-link{color:var(--azure-bright);align-items:center;gap:12px;margin-top:22px;font-weight:600;text-decoration:none;display:inline-flex}.text-link svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:18px;height:18px;transition:transform .17s var(--ease-out)}.text-link:hover svg{transform:translate(4px)}.site-footer{border-top:1px solid var(--line);background:var(--void-deep)}.footer-inner{grid-template-columns:auto 1fr auto;align-items:center;gap:30px;min-height:120px;display:grid}.footer-inner img{width:112px}.footer-inner p{color:var(--faint);margin:0;font-size:.77rem}.footer-inner div{gap:24px;display:flex}.footer-inner a{color:var(--muted);font-size:.78rem;text-decoration:none}.footer-inner a:hover{color:var(--ink)}.not-found{min-height:100svh;padding-top:var(--header-height);flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.not-found>img{width:76px;margin-bottom:36px}.not-found h1{max-width:800px;font-size:clamp(3rem,7vw,6rem)}.not-found>p{color:var(--muted);margin:24px 0 0;font-size:1.1rem}.docs-shell{width:min(100% - 48px,1320px);padding-top:calc(var(--header-height) + 52px);grid-template-columns:238px minmax(0,760px) 188px;justify-content:center;gap:52px;margin-inline:auto;padding-bottom:110px;display:grid}.docs-sidebar,.docs-toc{top:calc(var(--header-height) + 30px);max-height:calc(100svh - var(--header-height) - 50px);scrollbar-width:none;align-self:start;position:sticky;overflow:auto}.docs-sidebar::-webkit-scrollbar,.docs-toc::-webkit-scrollbar{display:none}.docs-search{margin-bottom:27px;position:relative}.docs-search svg{fill:none;width:16px;height:16px;stroke:var(--faint);stroke-width:1.7px;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.docs-search input{border:1px solid var(--line);width:100%;height:40px;color:var(--ink);background:#091522;border-radius:8px;padding:0 12px 0 35px;font-size:.78rem}.docs-search input::placeholder{color:#72869a}.docs-group{margin:0 0 26px}.docs-group h2{color:#6f859a;letter-spacing:.09em;text-transform:uppercase;margin:0 0 8px;font-size:.67rem;font-weight:600}.docs-group a{color:var(--muted);border-radius:7px;padding:6px 10px;font-size:.79rem;line-height:1.35;text-decoration:none;display:block}.docs-group a[hidden]{display:none}.docs-group a:hover{color:var(--ink);background:#0c1b2b}.docs-group a.is-active{color:#b7def9;background:#168fe521}.docs-sidebar-empty{color:var(--faint);font-size:.76rem;display:none}.docs-content{min-width:0}.docs-breadcrumbs{color:var(--faint);font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:28px;font-size:.67rem;display:flex}.docs-breadcrumbs a{color:var(--muted);text-decoration:none}.docs-breadcrumbs a:hover{color:var(--azure-bright)}.docs-breadcrumbs svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:12px;height:12px}.markdown-body{color:var(--body);font-size:.98rem;line-height:1.75}.markdown-body>:first-child{margin-top:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:var(--ink);letter-spacing:-.025em;text-wrap:balance;font-weight:600;line-height:1.2}.markdown-body h1{letter-spacing:-.04em;max-width:18ch;margin:0 0 28px;font-size:clamp(2.8rem,5.2vw,4.6rem);line-height:1}.markdown-body h2{border-top:1px solid var(--line);margin:72px 0 18px;padding-top:12px;font-size:1.85rem}.markdown-body h3{margin:42px 0 13px;font-size:1.28rem}.markdown-body h4{margin:32px 0 10px;font-size:1rem}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body blockquote{max-width:72ch}.markdown-body p{margin:0 0 20px}.markdown-body a{color:#69bdf6}.markdown-body a:hover{color:#a6dcff}.markdown-body strong{color:#e5edf5;font-weight:600}.markdown-body ul,.markdown-body ol{margin:0 0 24px;padding-left:1.35rem}.markdown-body li{margin:7px 0;padding-left:.25rem}.markdown-body li::marker{color:var(--azure-bright)}.markdown-body blockquote{color:#b7c8d8;background:#0b1b2b;border:1px solid #2a4a64;border-radius:10px;margin:28px 0;padding:15px 18px}.markdown-body blockquote p:last-child{margin-bottom:0}.markdown-body :not(pre)>code{color:#b9daf0;font-family:var(--font-mono);background:#0a1826;border:1px solid #4363807a;border-radius:5px;padding:.14em .38em;font-size:.84em}.markdown-body pre:not(.mermaid){border:1px solid var(--line);max-width:100%;font-family:var(--font-mono);scrollbar-color:#3b5874 #07101b;border-radius:11px;margin:28px 0;padding:20px;font-size:.78rem;line-height:1.65;overflow:auto;background:#030a13!important}.markdown-body pre code{font-family:inherit}.markdown-body table{border-collapse:collapse;width:100%;margin:28px 0;font-size:.82rem;display:block;overflow-x:auto}.markdown-body th,.markdown-body td{border:1px solid var(--line);text-align:left;vertical-align:top;min-width:130px;padding:10px 12px}.markdown-body th{color:var(--ink);background:#0d1d2d;font-weight:600}.markdown-body td{background:#0815226b}.markdown-body img{border-radius:12px;max-width:100%;height:auto;margin:30px 0}.markdown-body hr{background:var(--line);border:0;height:1px;margin:60px 0}.markdown-body .mermaid{border:1px solid var(--line);background:#091725;border-radius:12px;justify-content:center;margin:28px 0;padding:26px;display:flex;overflow-x:auto}.markdown-body .mermaid svg{max-width:100%;height:auto}.markdown-body .mermaid:focus-visible{outline:2px solid var(--azure-bright);outline-offset:3px}.docs-source-note{border-top:1px solid var(--line);color:var(--faint);justify-content:space-between;align-items:center;gap:20px;margin-top:74px;padding-top:22px;font-size:.73rem;display:flex}.docs-source-note a{color:var(--muted);text-decoration:none}.docs-source-note a:hover{color:var(--azure-bright)}.docs-pagination{grid-template-columns:1fr 1fr;gap:12px;margin-top:34px;display:grid}.docs-pagination a{border:1px solid var(--line);background:#091623;border-radius:10px;min-height:78px;padding:14px 16px;text-decoration:none}.docs-pagination a:hover{border-color:var(--line-strong);background:#0c1b2a}.docs-pagination small,.docs-pagination b{display:block}.docs-pagination small{color:var(--faint);font-family:var(--font-mono);font-size:.78rem}.docs-pagination b{color:var(--body);margin-top:5px;font-size:.8rem;font-weight:600}.docs-pagination .next-doc{text-align:right}.docs-toc h2{color:#73899f;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:.67rem;font-weight:600}.docs-toc a{border-left:1px solid var(--line);color:var(--faint);padding:5px 0 5px 12px;font-size:.7rem;line-height:1.35;text-decoration:none;display:block}.docs-toc a:hover{border-color:var(--azure);color:var(--body)}.docs-toc a.depth-3{padding-left:24px}.docs-mobile-nav{margin-bottom:28px;display:none}@media (width<=1120px){.docs-shell{grid-template-columns:220px minmax(0,760px);gap:40px}.docs-toc{display:none}}@media (width<=900px){.desktop-nav,.github-link span,.header-cta{display:none}.menu-button{display:grid}.github-link{display:flex}.docs-shell{width:min(100% - 40px,760px);padding-top:calc(var(--header-height) + 34px);display:block}.docs-sidebar{display:none}.docs-mobile-nav{display:block}.docs-mobile-nav summary{border:1px solid var(--line);color:var(--body);cursor:pointer;background:#0a1826;border-radius:9px;padding:11px 13px;font-size:.8rem;font-weight:600}.docs-mobile-nav[open] summary{margin-bottom:12px}.docs-mobile-nav .mobile-doc-links{border:1px solid var(--line);background:#081522;border-radius:9px;max-height:50svh;padding:14px;overflow:auto}}@media (width<=640px){:root{--header-height:66px}.section-shell,.header-inner{width:min(calc(100% - 32px), var(--max-width))}.brand img{width:120px}.header-actions{gap:12px}.hero-actions{align-items:stretch}.button{width:100%}.footer-inner{flex-direction:column;align-items:flex-start;gap:18px;padding:32px 0;display:flex}.footer-inner div{flex-wrap:wrap}.markdown-body h1{font-size:clamp(2.6rem,13vw,3.6rem)}.markdown-body h2{margin-top:58px;font-size:1.55rem}.markdown-body{font-size:.93rem}.markdown-body .mermaid{justify-content:flex-start;padding:18px}.markdown-body .mermaid svg{min-width:820px;max-width:none}.docs-pagination{grid-template-columns:1fr}.docs-pagination .next-doc{text-align:left}.docs-source-note{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
