.docs-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;backdrop-filter:blur(12px) saturate(1.1);-webkit-backdrop-filter:blur(12px) saturate(1.1);background:repeating-linear-gradient(90deg,oklch(1 0 0/.02) 0 1px,oklch(0 0 0/.04) 1px 2px,transparent 2px 3px),linear-gradient(180deg,var(--hdr-rail-top) 0,var(--hdr-rail-mid) 55%,var(--hdr-rail-bot) 100%);border-top:1px solid var(--hdr-edge);border-bottom:1px solid oklch(.09 .009 80)}.docs-header-inner{padding:0 24px;height:52px;display:flex;align-items:center;gap:12px}.docs-header-brand{gap:10px;flex-shrink:0}.docs-header-brand,.docs-header-brand-icon{display:flex;align-items:center;color:var(--hdr-brand)}.docs-header-brand-icon{width:22px;height:22px;justify-content:center;filter:drop-shadow(0 1px 0 oklch(0 0 0/.9)) drop-shadow(0 0 7px color-mix(in oklch,var(--accent) 35%,transparent))}.docs-header-brand-name{font-family:var(--font-serif);font-size:16px;font-weight:500;font-style:italic;letter-spacing:-.02em;text-shadow:0 1px 0 oklch(0 0 0/.85)}.docs-header-sep{color:oklch(1 0 0/.16);font-size:18px;font-weight:300;-webkit-user-select:none;-moz-user-select:none;user-select:none}.docs-header-section{font-family:var(--hdr-font);font-size:11px;color:var(--hdr-text);letter-spacing:.01em;text-shadow:0 1px 0 oklch(0 0 0/.75)}.docs-header-right{margin-left:auto;display:flex;align-items:center;gap:18px}.docs-header-nav{display:flex;align-items:center;gap:2px}.docs-header-nav a{font-family:var(--hdr-font);font-size:11px;color:var(--hdr-text);padding:7px 10px;text-shadow:0 1px 0 oklch(0 0 0/.75);transition:color .15s var(--ease)}.docs-header-nav a:hover,.docs-header-nav a[data-active]{color:color-mix(in oklch,var(--accent) 20%,oklch(.95 0 0))}.docs-header-github{display:flex;align-items:center;color:var(--hdr-text);transition:color .15s var(--ease)}.docs-header-github svg{width:16px;height:16px}.docs-header-github:hover{color:var(--hdr-brand)}.docs-search-trigger{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 10px;background:linear-gradient(180deg,var(--hdr-well-top) 0,var(--hdr-well-bot) 100%);border:1px solid oklch(0 0 0/.65);border-radius:var(--r-ctrl);color:var(--text-dim);font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;cursor:pointer;box-shadow:inset 0 1px 3px oklch(0 0 0/.9),inset 0 -1px 0 oklch(1 0 0/.04),0 1px 0 oklch(1 0 0/.05);transition:color .15s var(--ease),border-color .15s var(--ease);min-width:200px}.docs-search-trigger:hover{border-color:color-mix(in oklch,var(--accent) 25%,transparent);color:var(--text-muted)}.docs-search-trigger>span{flex:1 1;text-align:left}.docs-search-trigger kbd{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--hdr-text);background:linear-gradient(180deg,oklch(.3 .016 84),oklch(.22 .016 83));border:1px solid oklch(1 0 0/.09);border-radius:4px;padding:1px 6px;line-height:1.4;box-shadow:0 1px 0 oklch(0 0 0/.8),inset 0 1px 0 oklch(1 0 0/.12)}.nav-readout--docs{display:none;font-size:8.5px;padding:5px 10px}@media (min-width:1100px){.nav-readout--docs{display:inline-flex}}@media (max-width:768px){.docs-search-trigger{display:none}.docs-header-nav{gap:0}}.docs-layout{display:grid;grid-template-columns:252px minmax(0,1fr) 212px;max-width:1400px;margin:0 auto;padding:0 clamp(16px,2.5vw,40px);min-height:calc(100vh - var(--header-h))}.docs-sidebar{position:-webkit-sticky;position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));overflow-y:auto;overscroll-behavior:contain;padding:24px 22px 48px 0;border-right:1px solid var(--hairline);scrollbar-width:thin;scrollbar-color:transparent transparent}.docs-sidebar:hover{scrollbar-color:var(--border-soft) transparent}.docs-sidebar-nav{display:flex;flex-direction:column;gap:26px}.docs-sidebar-search{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-bottom:22px;padding:8px 12px;border:1px solid var(--hairline-mid);border-radius:var(--r-ctrl);font-size:var(--fs-sm);color:var(--text-dim);text-align:left;transition:color .15s var(--ease),border-color .15s var(--ease)}.docs-sidebar-search:hover{color:var(--text-muted);border-color:var(--hairline-hi)}.docs-sidebar-search kbd{letter-spacing:var(--track-data);color:var(--text-dim);background:oklch(1 0 0/.04);border:1px solid var(--hairline);border-radius:var(--r-chip);padding:1px 5px;line-height:1.4;flex-shrink:0}.docs-sidebar-search kbd,.docs-sidebar-title{font-family:var(--font-mono);font-size:var(--fs-micro)}.docs-sidebar-title{font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-faint);padding:0 12px 7px}.docs-sidebar-list{list-style:none;display:flex;flex-direction:column;gap:1px;border-left:1px solid var(--hairline);margin-left:12px}.docs-sidebar-link{position:relative;display:block;padding:5px 12px;margin-left:-1px;font-size:var(--fs-sm);line-height:1.45;color:var(--text-muted);border-left:1px solid transparent;transition:color .12s var(--ease)}.docs-sidebar-link:hover{color:var(--text)}.docs-sidebar-link.active{color:var(--text);font-weight:500;border-left-color:var(--accent)}.docs-content{padding:42px clamp(28px,4vw,64px) 96px;min-width:0}.docs-article-wrap{max-width:780px;margin:0 auto}.breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-faint);margin-bottom:34px}.breadcrumb a{color:var(--text-dim);transition:color .15s var(--ease)}.breadcrumb a:hover{color:var(--text)}.breadcrumb__sep{color:var(--text-faint);opacity:.6}.breadcrumb>span:last-child{color:var(--text-muted)}.docs-toc{position:-webkit-sticky;position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));overflow-y:auto;padding:42px 0 48px 26px;scrollbar-width:thin;scrollbar-color:transparent transparent}.docs-toc:hover{scrollbar-color:var(--border-soft) transparent}.docs-toc-title{font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-faint);margin-bottom:12px}.docs-toc-list{list-style:none;border-left:1px solid var(--hairline-mid);display:flex;flex-direction:column;gap:1px}.docs-toc-link{display:block;padding:4px 0 4px 14px;font-size:12.5px;line-height:1.45;color:oklch(.62 0 0);border-left:1px solid transparent;margin-left:-1px;transition:color .12s var(--ease),border-color .12s var(--ease)}.docs-toc-link:hover{color:var(--text)}.docs-toc-link.active{color:var(--text);border-left-color:var(--accent)}.docs-toc-link--nested{padding-left:26px;font-size:11.5px;color:var(--text-dim)}.prose{font-size:var(--fs-body);color:var(--text-muted);animation:docs-in .3s var(--ease) both}@keyframes docs-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.prose h1{font-family:var(--font-serif);font-size:clamp(2.1rem,2vw + 1rem,2.7rem);font-weight:400;letter-spacing:-.025em;line-height:1.1;color:var(--text);margin-bottom:14px;text-wrap:balance}.prose h1 code{font-size:.8em;background:none;border:0;padding:0;color:var(--accent-hover);white-space:normal}.prose h1+p{font-size:clamp(1rem,.2vw + .95rem,1.08rem);line-height:1.75;margin-bottom:38px;max-width:62ch}.prose h2{font-family:var(--font-serif);font-size:clamp(1.45rem,1vw + .85rem,1.8rem);font-weight:400;letter-spacing:-.02em;line-height:1.2;color:var(--text);margin-top:54px;margin-bottom:16px;padding-top:26px;border-top:1px solid var(--hairline);scroll-margin-top:calc(var(--header-h) + 22px)}.prose h1+h2,.prose h1+p+h2{margin-top:42px}.prose h2 code{font-size:.82em;background:none;border:0;padding:0;color:var(--accent-hover);white-space:normal}.prose h3{font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--text);margin-top:34px;margin-bottom:12px;scroll-margin-top:calc(var(--header-h) + 22px)}.prose h3 code{font-size:.9em;background:none;border:0;padding:0;color:var(--accent-hover)}.h-anchor{font-family:var(--font-mono);font-size:.7em;margin-left:10px;color:var(--text-faint);opacity:0;transition:opacity .15s var(--ease),color .15s var(--ease)}.h-anchor:focus-visible,.prose h2:hover .h-anchor,.prose h3:hover .h-anchor{opacity:1}.h-anchor:hover{color:var(--accent-hover)}.prose p{line-height:1.75;margin-bottom:18px}.prose a{color:var(--accent-hover);text-underline-offset:3px;transition:color .15s var(--ease)}.prose a:hover{text-decoration:underline}.prose a.h-anchor{color:var(--text-faint)}.prose a.h-anchor:hover{color:var(--accent-hover);text-decoration:none}.prose strong{color:var(--text);font-weight:600}.prose ol,.prose ul{margin-bottom:20px;padding-left:22px}.prose ul{list-style:none}.prose ul>li{position:relative;line-height:1.7;margin-bottom:7px}.prose ul>li:before{content:"";position:absolute;left:-16px;top:10px;width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.6}.prose ol{list-style:decimal}.prose ol>li{line-height:1.7;margin-bottom:7px;padding-left:4px}.prose ol>li::marker{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-dim)}.prose li>ol,.prose li>ul{margin:8px 0 10px}.prose code{font-family:var(--font-mono);font-size:.86em;color:var(--accent-hover);background:var(--accent-08);border:1px solid var(--accent-22);border-radius:var(--r-chip);padding:1px 6px;white-space:nowrap;letter-spacing:0}.prose pre code{background:none;border:0;padding:0;color:inherit;font-size:inherit;white-space:pre}.prose code.tok-allow{color:var(--pass);background:oklch(.7 .13 155/.1);border-color:oklch(.7 .13 155/.28)}.prose code.tok-warn{color:var(--amber);background:oklch(.72 .14 55/.1);border-color:oklch(.72 .14 55/.28)}.prose code.tok-deny{color:var(--fail);background:oklch(.66 .17 25/.1);border-color:oklch(.66 .17 25/.28)}.prose blockquote{border-left:2px solid var(--accent);padding:2px 0 2px 20px;margin-bottom:20px}.prose blockquote p{font-style:italic}.prose hr{border:none;border-top:1px solid var(--hairline);margin:48px 0}.prose hr+h2{border-top:0;padding-top:0;margin-top:-14px}.code-block{margin:4px 0 24px;border:1px solid var(--hairline-mid);border-radius:var(--r-ctrl);overflow:hidden;background:var(--bg-code)}.code-block__strip{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-faint);background:oklch(1 0 0/.025);border-bottom:1px solid var(--hairline);-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block pre{padding:16px 18px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--border-soft) transparent}.code-block pre::-webkit-scrollbar{height:5px}.code-block pre::-webkit-scrollbar-thumb{background:var(--border-soft);border-radius:3px}.code-block code{font-size:var(--fs-mono-l);line-height:1.7;letter-spacing:var(--track-data);color:oklch(.86 0 0);white-space:pre}.code-block code,.code-copy{font-family:var(--font-mono)}.code-copy{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-micro);letter-spacing:var(--track-pill);text-transform:uppercase;color:oklch(.64 0 0);padding:4px 10px;margin:-3px 0;border:1px solid var(--hairline-mid);border-radius:var(--r-chip);transition:color .15s var(--ease),background .15s var(--ease),border-color .15s var(--ease)}.code-copy:hover{color:var(--text);background:oklch(1 0 0/.05);border-color:var(--hairline-hi)}.code-copy.is-copied{color:var(--pass)}.table-scroll{margin-bottom:24px;overflow-x:auto;border:1px solid var(--hairline-mid);border-radius:var(--r-ctrl);background:oklch(0 0 0/.14)}.prose table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);margin-bottom:24px}.table-scroll table{margin-bottom:0}.prose th{text-align:left;padding:10px 16px;font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:500;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--hairline-mid);white-space:nowrap}.prose td{padding:10px 16px;color:var(--text-muted);border-bottom:1px solid var(--hairline);vertical-align:top;line-height:1.6}.prose tr:last-child td{border-bottom:none}.prose td strong{font-weight:500}.prose .sdk-check{color:var(--pass);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--track-data);text-transform:lowercase}.docs-landing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin:26px 0 8px}.docs-landing-card{display:flex;flex-direction:column;gap:7px;padding:20px 22px;border:1px solid var(--hairline-mid);border-radius:var(--r-ctrl);background:oklch(1 0 0/.015);transition:border-color var(--d-state) var(--ease),background var(--d-state) var(--ease)}.docs-landing-card:hover{border-color:var(--accent-40);background:oklch(1 0 0/.03)}.prose a.docs-landing-card{color:inherit}.prose a.docs-landing-card:hover{text-decoration:none}.docs-landing-card__title{font-size:14.5px;font-weight:500;color:var(--text);display:flex;align-items:center;gap:8px}.docs-landing-card__title:after{content:"→";font-family:var(--font-mono);font-size:12px;color:var(--text-faint);transition:color .15s var(--ease),transform .15s var(--ease)}.docs-landing-card:hover .docs-landing-card__title:after{color:var(--accent-hover);transform:translateX(2px)}.docs-landing-card__desc{font-size:var(--fs-sm);line-height:1.6;color:var(--text-muted)}.docs-pager{display:flex;justify-content:space-between;gap:14px;max-width:780px;margin:64px auto 0;padding-top:24px;border-top:1px solid var(--hairline)}.docs-pager a{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border:1px solid var(--hairline-mid);border-radius:var(--r-ctrl);max-width:50%;min-width:180px;transition:border-color var(--d-state) var(--ease),background var(--d-state) var(--ease)}.docs-pager a:hover{border-color:var(--accent-40);background:oklch(1 0 0/.025)}.docs-pager--next{text-align:right;margin-left:auto}.docs-pager__dir{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-faint)}.docs-pager__title{font-size:14px;font-weight:500;color:var(--text)}.search-overlay{position:fixed;inset:0;z-index:90;background:oklch(0 0 0/.6);display:flex;align-items:flex-start;justify-content:center;padding:min(14vh,140px) 20px 40px;animation:search-fade .16s var(--ease) both}@keyframes search-fade{0%{opacity:0}to{opacity:1}}.search-panel{width:min(620px,100%);max-height:min(520px,70vh);display:flex;flex-direction:column;background:oklch(.155 .006 82);border:1px solid oklch(1 0 0/.09);border-radius:var(--r-panel);box-shadow:0 40px 90px -30px oklch(0 0 0/.8);overflow:hidden;animation:search-rise .2s var(--ease-out) both}@keyframes search-rise{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}.search-input-row{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid var(--hairline)}.search-input-row svg{width:15px;height:15px;flex-shrink:0;stroke:var(--text-dim);stroke-width:1.6;fill:none;stroke-linecap:round}.search-input{flex:1 1;background:none;border:0;outline:none;font-family:var(--font-sans);font-size:15px;color:var(--text)}.search-input::placeholder{color:var(--text-dim)}.search-esc{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--track-data);text-transform:uppercase;color:var(--text-dim);background:oklch(1 0 0/.04);border:1px solid var(--hairline);border-radius:var(--r-chip);padding:2px 6px}.search-results{overflow-y:auto;overscroll-behavior:contain;padding:8px 8px 14px;scrollbar-width:thin;scrollbar-color:var(--border-soft) transparent;mask-image:linear-gradient(180deg,black calc(100% - 18px),transparent);-webkit-mask-image:linear-gradient(180deg,black calc(100% - 18px),transparent)}.search-result{display:block;padding:10px 12px;border-radius:var(--r-ctrl);cursor:pointer}.search-result.selected{background:oklch(1 0 0/.045)}.search-result-page{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--text-dim);margin-bottom:2px}.search-result.selected .search-result-page{color:var(--accent-hover)}.search-result-title{font-size:14px;font-weight:500;color:var(--text);margin-bottom:2px}.search-result-snippet{font-size:var(--fs-sm);line-height:1.5;color:var(--text-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-result-snippet mark,.search-result-title mark{background:var(--accent-22);color:var(--text);border-radius:2px;padding:0 1px}.search-empty{padding:28px 16px;text-align:center;font-size:var(--fs-sm);color:var(--text-dim)}.search-hints{display:flex;gap:16px;padding:10px 18px;border-top:1px solid var(--hairline);font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:var(--track-data);color:var(--text-faint)}.search-hints kbd{color:var(--text-dim)}.docs-sidebar-backdrop,.docs-sidebar-toggle{display:none}@media (max-width:1280px){.docs-layout{grid-template-columns:236px minmax(0,1fr)}.docs-toc{display:none}}@media (max-width:880px){.docs-layout{grid-template-columns:1fr;padding:0}.docs-content{padding:28px clamp(20px,5vw,40px) 80px}.docs-sidebar{position:fixed;top:var(--header-h);left:0;bottom:0;width:min(300px,84vw);height:auto;z-index:40;background:var(--bg);border-right:1px solid var(--border-soft);padding:24px 20px 110px;transform:translateX(-100%);transition:transform .25s var(--ease-out),visibility .25s;visibility:hidden}.docs-sidebar.open{transform:translateX(0);visibility:visible}.docs-sidebar-toggle{display:inline-flex;align-items:center;gap:8px;position:fixed;bottom:18px;left:18px;z-index:41;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);padding:10px 16px;border-radius:var(--r-panel);font-size:var(--fs-sm);box-shadow:0 4px 16px oklch(0 0 0/.4);transition:color .15s var(--ease),border-color .15s var(--ease)}.docs-sidebar-toggle:hover{color:var(--text);border-color:var(--accent-40)}.docs-sidebar-toggle svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;fill:none}.docs-sidebar-backdrop{display:block;position:fixed;inset:0;top:var(--header-h);z-index:39;background:oklch(0 0 0/.68);opacity:0;transition:opacity .25s var(--ease);pointer-events:none}.docs-sidebar-backdrop.open{opacity:1;pointer-events:auto}.prose code{white-space:normal;overflow-wrap:anywhere}}@media (pointer:coarse){.docs-sidebar-search kbd,.header-search kbd{display:none}}@media (max-width:880px){.docs-landing-grid{grid-template-columns:1fr}.docs-pager{flex-direction:column}.docs-pager a{max-width:100%}.docs-pager--next{margin-left:0}}