:root{--ink:#edf6f0;--ink-muted:#a6b8ad;--ink-faint:#71847a;--paper:#08100d;--paper-raised:#0d1713;--paper-soft:#111e18;--line:#21342a;--line-bright:#31503d;--signal:#9ee493;--signal-dark:#193522;--cyan:#79d5d0;--amber:#e8c477;--danger:#ff8f82;--danger-dark:#351714;--mono:"SFMono-Regular", "Cascadia Code", "Liberation Mono", Menlo, monospace;--sans:"Avenir Next", Avenir, "Segoe UI", sans-serif;--shadow:0 30px 90px #0000006b}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:linear-gradient(#9ee49306 1px, transparent 1px), linear-gradient(90deg, #9ee49306 1px, transparent 1px), var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background-size:42px 42px;line-height:1.65;overflow-x:hidden}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}::selection{color:var(--ink);background:#9ee49338}code,pre{font-family:var(--mono)}.wrap{width:min(1240px,100% - 48px);margin:0 auto}nav.top{z-index:20;backdrop-filter:blur(16px);background:#08100dd1;border-bottom:1px solid #31503db8;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:28px;min-height:66px;display:flex}.brand{font:700 16px/1 var(--mono);letter-spacing:-.02em;align-items:center;gap:11px;display:inline-flex}.brand .docs-tag{color:var(--ink-faint);font-weight:500}.mark{border:1px solid var(--signal);width:31px;height:31px;color:var(--signal);background:var(--signal-dark);border-radius:6px 11px;place-items:center;display:grid;box-shadow:0 0 24px #9ee4931f}.nav-links{color:var(--ink-muted);align-items:center;gap:18px;font-size:13.5px;display:flex}.nav-links a:hover,.nav-links a:focus-visible{color:var(--ink)}.release-badge{border:1px solid var(--line-bright);color:var(--signal);font:11px/1.3 var(--mono);white-space:nowrap;border-radius:999px;padding:4px 9px}.nav-cta{border:1px solid var(--line-bright);border-radius:7px;padding:7px 13px;color:var(--ink)!important}.github-link{width:34px;min-height:34px;padding:7px}.github-link svg{fill:currentColor;width:18px;height:18px;display:block}.menu-toggle{border:1px solid var(--line-bright);color:var(--ink);font:700 12px/1 var(--mono);cursor:pointer;background:#0d1713b3;border-radius:7px;padding:9px 13px;display:none}.shell{grid-template-columns:258px minmax(0,1fr) 218px;align-items:start;gap:56px;padding:44px 0 90px;display:grid}.sidebar-search{--pagefind-ui-scale:.8;--pagefind-ui-primary:var(--signal);--pagefind-ui-text:var(--ink);--pagefind-ui-background:var(--paper-raised);--pagefind-ui-border:var(--line-bright);--pagefind-ui-tag:var(--paper-soft);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:8px;--pagefind-ui-font:var(--sans);margin-bottom:26px}.sidebar-search .pagefind-ui__search-input{font-family:var(--mono);font-size:13px}.sidebar-search .pagefind-ui__result-title a,.sidebar-search .pagefind-ui__result-link{color:var(--cyan)}.sidebar{scrollbar-width:thin;scrollbar-color:var(--line-bright) transparent;max-height:calc(100vh - 130px);padding-right:10px;position:sticky;top:98px;overflow-y:auto}.side-group{margin-bottom:30px}.side-group>h2{color:var(--signal);font:700 11px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.side-group ul{list-style:none}.side-group ul ul{border-left:1px solid var(--line);margin:2px 0 6px;padding-left:13px}.side-group a{color:var(--ink-muted);border:1px solid #0000;border-radius:6px;padding:5px 10px;font-size:13.5px;line-height:1.45;display:block}.side-group ul ul a{font-family:var(--mono);font-size:12.5px}.side-group a:hover,.side-group a:focus-visible{color:var(--ink);background:#0d1713cc}.side-group a[aria-current=page]{color:var(--signal);background:var(--signal-dark);border-color:var(--line-bright)}.doc{min-width:0}.prose{max-width:74ch}.prose>:first-child{margin-top:0}.prose h1{letter-spacing:-.045em;text-wrap:balance;margin-bottom:22px;font-size:clamp(2.1rem,4vw,2.9rem);line-height:1.05}.prose h2{letter-spacing:-.03em;border-top:1px solid var(--line);text-wrap:balance;margin:52px 0 14px;padding-top:28px;font-size:1.45rem}.prose h3{letter-spacing:-.02em;margin:34px 0 10px;font-size:1.12rem}.prose h4{color:var(--ink-muted);margin:26px 0 8px;font-size:.95rem}.prose h1 code,.prose h2 code,.prose h3 code{color:inherit;white-space:normal;overflow-wrap:anywhere;background:0 0;border:none;padding:0;font-size:.92em}.prose p{color:var(--ink-muted);margin:14px 0}.prose strong{color:var(--ink);font-weight:650}.prose a{color:var(--cyan);border-bottom:1px solid #79d5d059;transition:border-color .15s}.prose a:hover{border-bottom-color:var(--cyan)}.prose ul,.prose ol{color:var(--ink-muted);margin:14px 0;padding-left:26px}.prose li{margin:6px 0}.prose li::marker{color:var(--signal)}.prose code{border:1px solid var(--line);color:var(--amber);white-space:nowrap;background:#9ee49312;border-radius:5px;padding:1.5px 6px;font-size:.86em}.prose blockquote{border-left:3px solid var(--signal);background:var(--paper-raised);border-radius:0 9px 9px 0;margin:22px 0;padding:14px 20px}.prose blockquote p{margin:6px 0}.prose hr{border:none;border-top:1px solid var(--line);margin:40px 0}.prose pre{border:1px solid var(--line-bright);box-shadow:var(--shadow);border-radius:13px;margin:24px 0;padding:56px 0 18px;font-size:13px;line-height:1.85;position:relative;overflow:hidden;background:#080f0cf0!important}.prose pre:before{content:"";border-bottom:1px solid var(--line);background:radial-gradient(circle 4.5px at 21px 20px, #d47770 97%, transparent), radial-gradient(circle 4.5px at 37px 20px, var(--amber) 97%, transparent), radial-gradient(circle 4.5px at 53px 20px, var(--signal) 97%, transparent), var(--paper-raised);border-radius:13px 13px 0 0;height:40px;position:absolute;top:0;left:0;right:0}.prose pre:after{content:attr(data-language);color:var(--ink-faint);font:11px/1 var(--mono);position:absolute;top:14px;left:70px}.prose pre code{font-size:inherit;color:inherit;white-space:pre;background:0 0;border:none;padding:0 20px;display:block;overflow-x:auto}.prose table{border-collapse:collapse;border:1px solid var(--line-bright);border-radius:10px;width:100%;margin:22px 0;font-size:13.5px;overflow:hidden}.prose th{background:var(--paper-raised);color:var(--signal);font:700 11px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--line-bright);padding:10px 14px}.prose td{border-bottom:1px solid var(--line);color:var(--ink-muted);vertical-align:top;padding:9px 14px}.prose tr:last-child td{border-bottom:none}.prose tr:nth-child(2n) td{background:#0d171380}.pager{grid-template-columns:1fr 1fr;gap:14px;max-width:74ch;margin-top:64px;display:grid}.pager a{border:1px solid var(--line-bright);background:#0d1713b3;border-radius:10px;padding:14px 18px;transition:transform .18s,border-color .18s;display:block}.pager a:hover{border-color:var(--signal);transform:translateY(-2px)}.pager a.next{text-align:right;grid-column:2}.pager .pager-label{color:var(--ink-faint);font:700 10.5px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase}.pager .pager-title{color:var(--ink);margin-top:3px;font-size:14px;font-weight:650}.toc{max-height:calc(100vh - 130px);font-size:12.5px;position:sticky;top:98px;overflow-y:auto}.toc h2{color:var(--signal);font:700 11px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.toc ul{border-left:1px solid var(--line);list-style:none}.toc a{color:var(--ink-faint);border-left:1px solid #0000;margin-left:-1px;padding:4px 0 4px 13px;line-height:1.45;display:block}.toc a:hover{color:var(--ink)}.toc li[data-depth="3"] a{padding-left:26px}footer{border-top:1px solid var(--line);color:var(--ink-faint);padding:36px 0;font-size:13px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.footer-links{gap:20px;display:flex}.footer-links a:hover{color:var(--ink)}@media (width<=1120px){.shell{grid-template-columns:240px minmax(0,1fr);gap:42px}.toc{display:none}}@media (width<=820px){.menu-toggle{display:inline-flex}.nav-links .hide-mobile{display:none}.shell{padding-top:26px;display:block}.sidebar{border:1px solid var(--line-bright);background:var(--paper-raised);border-radius:13px;max-height:none;margin-bottom:34px;padding:18px 18px 6px;display:none;position:static}body.nav-open .sidebar{display:block}.pager{grid-template-columns:1fr}.pager a.next{text-align:left;grid-column:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
