: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 rgba(0, 0, 0, .42)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:linear-gradient(rgba(158,228,147,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(158,228,147,.025) 1px,transparent 1px),var(--paper);background-size:42px 42px;color:var(--ink);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}::selection{background:#9ee49338;color:var(--ink)}code,pre{font-family:var(--mono)}.wrap{width:min(1240px,calc(100% - 48px));margin:0 auto}nav.top{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(49,80,61,.72);background:#08100dd1;backdrop-filter:blur(16px)}.nav-inner{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;gap:11px;font:700 16px/1 var(--mono);letter-spacing:-.02em}.brand .docs-tag{color:var(--ink-faint);font-weight:500}.mark{width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--signal);border-radius:6px 11px;color:var(--signal);background:var(--signal-dark);box-shadow:0 0 24px #9ee4931f}.nav-links{display:flex;align-items:center;gap:18px;color:var(--ink-muted);font-size:13.5px}.nav-links a:hover,.nav-links a:focus-visible{color:var(--ink)}.release-badge{border:1px solid var(--line-bright);border-radius:999px;padding:4px 9px;color:var(--signal);font:11px/1.3 var(--mono);white-space:nowrap}.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{display:block;width:18px;height:18px;fill:currentColor}.menu-toggle{display:none;border:1px solid var(--line-bright);border-radius:7px;background:#0d1713b3;color:var(--ink);font:700 12px/1 var(--mono);padding:9px 13px;cursor:pointer}.shell{display:grid;grid-template-columns:258px minmax(0,1fr) 218px;gap:56px;align-items:start;padding:44px 0 90px}.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{position:sticky;top:98px;max-height:calc(100vh - 130px);overflow-y:auto;padding-right:10px;scrollbar-width:thin;scrollbar-color:var(--line-bright) transparent}.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{margin:2px 0 6px;padding-left:13px;border-left:1px solid var(--line)}.side-group a{display:block;padding:5px 10px;border-radius:6px;color:var(--ink-muted);font-size:13.5px;line-height:1.45;border:1px solid transparent}.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{font-size:clamp(2.1rem,4vw,2.9rem);line-height:1.05;letter-spacing:-.045em;margin-bottom:22px;text-wrap:balance}.prose h2{font-size:1.45rem;letter-spacing:-.03em;margin:52px 0 14px;padding-top:28px;border-top:1px solid var(--line);text-wrap:balance}.prose h3{font-size:1.12rem;letter-spacing:-.02em;margin:34px 0 10px}.prose h4{font-size:.95rem;margin:26px 0 8px;color:var(--ink-muted)}.prose h1 code,.prose h2 code,.prose h3 code{font-size:.92em;color:inherit;background:none;border:none;padding:0;white-space:normal;overflow-wrap:anywhere}.prose p{margin:14px 0;color:var(--ink-muted)}.prose strong{color:var(--ink);font-weight:650}.prose a{color:var(--cyan);border-bottom:1px solid rgba(121,213,208,.35);transition:border-color .15s ease}.prose a:hover{border-bottom-color:var(--cyan)}.prose ul,.prose ol{margin:14px 0;padding-left:26px;color:var(--ink-muted)}.prose li{margin:6px 0}.prose li::marker{color:var(--signal)}.prose code{background:#9ee49312;border:1px solid var(--line);border-radius:5px;padding:1.5px 6px;font-size:.86em;color:var(--amber);white-space:nowrap}.prose blockquote{margin:22px 0;padding:14px 20px;border-left:3px solid var(--signal);border-radius:0 9px 9px 0;background:var(--paper-raised)}.prose blockquote p{margin:6px 0}.prose hr{border:none;border-top:1px solid var(--line);margin:40px 0}.prose pre{position:relative;margin:24px 0;padding:56px 0 18px;border:1px solid var(--line-bright);border-radius:13px;background:#080f0cf0!important;box-shadow:var(--shadow);overflow:hidden;font-size:13px;line-height:1.85}.prose pre:before{content:"";position:absolute;top:0;left:0;right:0;height:40px;border-bottom:1px solid var(--line);border-radius:13px 13px 0 0;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)}.prose pre:after{content:attr(data-language);position:absolute;top:14px;left:70px;color:var(--ink-faint);font:11px/1 var(--mono)}.prose pre code{display:block;overflow-x:auto;padding:0 20px;background:none;border:none;font-size:inherit;color:inherit;white-space:pre}.prose table{width:100%;margin:22px 0;border-collapse:collapse;border:1px solid var(--line-bright);border-radius:10px;overflow:hidden;font-size:13.5px}.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;padding:10px 14px;border-bottom:1px solid var(--line-bright)}.prose td{padding:9px 14px;border-bottom:1px solid var(--line);color:var(--ink-muted);vertical-align:top}.prose tr:last-child td{border-bottom:none}.prose tr:nth-child(2n) td{background:#0d171380}.pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:64px;max-width:74ch}.pager a{display:block;border:1px solid var(--line-bright);border-radius:10px;background:#0d1713b3;padding:14px 18px;transition:transform .18s ease,border-color .18s ease}.pager a:hover{transform:translateY(-2px);border-color:var(--signal)}.pager a.next{grid-column:2;text-align:right}.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);font-size:14px;font-weight:650;margin-top:3px}.toc{position:sticky;top:98px;max-height:calc(100vh - 130px);overflow-y:auto;font-size:12.5px}.toc h2{color:var(--signal);font:700 11px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.toc ul{list-style:none;border-left:1px solid var(--line)}.toc a{display:block;padding:4px 0 4px 13px;color:var(--ink-faint);border-left:1px solid transparent;margin-left:-1px;line-height:1.45}.toc a:hover{color:var(--ink)}.toc li[data-depth="3"] a{padding-left:26px}footer{border-top:1px solid var(--line);padding:36px 0;color:var(--ink-faint);font-size:13px}.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px}.footer-links{display:flex;gap:20px}.footer-links a:hover{color:var(--ink)}@media(max-width:1120px){.shell{grid-template-columns:240px minmax(0,1fr);gap:42px}.toc{display:none}}@media(max-width:820px){.menu-toggle{display:inline-flex}.nav-links .hide-mobile{display:none}.shell{display:block;padding-top:26px}.sidebar{display:none;position:static;max-height:none;margin-bottom:34px;padding:18px 18px 6px;border:1px solid var(--line-bright);border-radius:13px;background:var(--paper-raised)}body.nav-open .sidebar{display:block}.pager{grid-template-columns:1fr}.pager a.next{grid-column:auto;text-align:left}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}
