:root{--ink: #1a0e3d;--brand-950: #170a3d;--brand-900: #251160;--brand-800: #3a2270;--brand-700: #523291;--brand-600: #6440b0;--brand-500: #7856c8;--brand-400: #977dd9;--brand-300: #b9a9e8;--brand-200: #d6cdf2;--brand-100: #eae6f9;--brand-50: #f4f2fc;--spark-400: #34e3e3;--spark-500: #15c5c9;--spark-600: #0a9ba6;--zinc-700: #3f3f46;--zinc-600: #52525b;--zinc-500: #71717a;--zinc-400: #a1a1aa;--zinc-300: #d4d4d8;--zinc-200: #e4e4e7;--zinc-100: #f4f4f5;--zinc-50: #fafafa;--bg: #fbfbfd;--sans: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display: "Nippo", ui-sans-serif, system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--nav-h: 60px;--sidebar-w: 264px;--toc-w: 220px}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;overflow-x:clip;scroll-padding-top:calc(var(--nav-h) + 18px)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.65;font-feature-settings:"cv11","ss01"}::-moz-selection{background:#7856c842}::selection{background:#7856c842}a{color:inherit;text-decoration:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.dnav{position:sticky;top:0;z-index:60;height:var(--nav-h);background:#ffffffd1;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid rgb(228 228 231 / .7)}.dnav-wrap{height:100%;max-width:1440px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:16px}.dnav .brand{display:inline-flex;align-items:center;gap:9px}.dnav .brand svg{height:29px;width:29px;display:block}.dnav .wordmark{font-family:var(--display);font-weight:500;font-size:17px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}.dnav .docs-tag{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-500);padding:3px 9px;border:1px solid var(--brand-100);border-radius:7px;background:var(--brand-50)}.dnav-spacer{flex:1}.dnav-links{display:flex;align-items:center;gap:22px}.dnav-links a{font-size:14px;font-weight:600;color:#1a0e3da8;transition:color .15s ease}.dnav-links a:hover{color:var(--ink)}.dnav-cta{display:inline-flex;align-items:center;gap:6px;background:var(--brand-900);color:#fff!important;font-weight:700;font-size:14px;padding:8px 14px;border-radius:9px;box-shadow:0 1px 2px #170a3d0f;transition:background .15s ease,box-shadow .2s ease,transform .1s ease}.dnav-cta:hover{background:var(--brand-800);box-shadow:0 22px 50px -18px #7856c88c}.dnav-cta:active{transform:translateY(1px)}.burger{display:none;height:38px;width:38px;place-items:center;border:0;background:transparent;border-radius:9px;color:var(--ink);cursor:pointer}.burger:hover{background:var(--zinc-100)}.shell{max-width:1440px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr) var(--toc-w);gap:44px;align-items:start}.sidebar{position:sticky;top:var(--nav-h);height:calc(100vh - var(--nav-h));overflow-y:auto;padding:30px 14px 60px 0;-ms-overflow-style:none;scrollbar-width:thin}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:var(--zinc-200);border-radius:8px}.sb-group+.sb-group{margin-top:26px}.sb-label{font-family:var(--display);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--zinc-400);padding:0 12px;margin-bottom:8px}.sb-link{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:9px;font-size:14px;font-weight:550;color:var(--zinc-600);line-height:1.3;transition:background .13s ease,color .13s ease}.sb-link:hover{background:var(--brand-50);color:var(--brand-800)}.sb-link[aria-current=page]{background:var(--brand-50);color:var(--brand-800);font-weight:700;box-shadow:inset 2px 0 0 var(--brand-500)}.sb-num{flex:none;display:grid;place-items:center;height:21px;width:21px;border-radius:7px;font-family:var(--mono);font-size:11px;font-weight:600;color:var(--brand-600);background:var(--brand-100)}.sb-num svg{width:13px;height:13px}.sb-link[aria-current=page] .sb-num{background:var(--brand-900);color:#fff}.sb-link.done .sb-num{background:#d6f5e8;color:#0a7d54}.doc{min-width:0;padding:40px 0 90px}.crumb{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--zinc-400);margin-bottom:18px}.crumb a:hover{color:var(--brand-600)}.crumb .sep{color:var(--zinc-300)}.step-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--brand-600)}.eyebrow:before{content:"";width:22px;height:1.5px;background:var(--brand-300)}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:650;padding:4px 11px;border-radius:999px;border:1px solid var(--zinc-200);background:#fff;color:var(--zinc-600)}.pill svg{color:var(--brand-500)}.pill-soft{background:var(--brand-50);border-color:var(--brand-100);color:var(--brand-700)}h1{font-family:var(--display);font-weight:500;font-size:clamp(2rem,4vw,2.7rem);line-height:1.06;letter-spacing:.005em;margin:6px 0 16px;color:var(--ink)}.lead{font-size:19px;line-height:1.6;color:var(--zinc-600);margin:0 0 12px;max-width:46ch}.lead strong{color:var(--ink);font-weight:700}.progress{margin:28px 0 8px}.progress-track{height:6px;border-radius:999px;background:var(--brand-100);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--brand-500),var(--spark-400))}.progress-label{margin-top:8px;font-size:12.5px;font-weight:650;color:var(--zinc-500)}.progress-label b{color:var(--brand-700)}.rule{height:1px;margin:30px 0;background:linear-gradient(to right,var(--zinc-200),transparent);border:0}.prose{max-width:720px}.prose h2{font-family:var(--display);font-weight:500;font-size:25px;letter-spacing:-.005em;margin:48px 0 14px;padding-top:6px;color:var(--ink);scroll-margin-top:calc(var(--nav-h) + 18px)}.prose h3{font-family:var(--display);font-weight:400;font-size:17.5px;letter-spacing:-.005em;margin:32px 0 8px;color:var(--ink);scroll-margin-top:calc(var(--nav-h) + 18px)}.prose h2+h3{margin-top:16px}.prose p{margin:0 0 16px;color:var(--zinc-700);font-size:16px}.prose ul,.prose ol{padding-left:22px;margin:4px 0 18px}.prose li{margin-bottom:9px;color:var(--zinc-700);font-size:16px}.prose li::marker{color:var(--brand-300)}.prose ol li::marker{color:var(--brand-500);font-weight:700;font-family:var(--mono);font-size:.9em}.prose strong{color:var(--ink);font-weight:700}.prose a.inline{color:var(--brand-600);font-weight:600;border-bottom:1px solid rgb(100 64 176 / .3);transition:color .15s ease,border-color .15s ease}.prose a.inline:hover{color:var(--brand-700);border-bottom-color:currentColor}.prose hr{height:1px;margin:36px 0;background:var(--zinc-200);border:0}.prose blockquote{margin:0 0 18px;padding:2px 0 2px 18px;border-left:3px solid var(--brand-200);color:var(--zinc-600);font-style:italic}.prose :not(pre)>code{font-family:var(--mono);font-size:.86em;font-weight:550;padding:1.5px 6px;border-radius:6px;background:var(--brand-50);border:1px solid var(--brand-100);color:var(--brand-800);white-space:nowrap}.code{margin:8px 0 22px;border-radius:14px;overflow:hidden;background:var(--brand-950);border:1px solid rgb(255 255 255 / .1);box-shadow:0 18px 40px -22px #170a3d80}.code-head{display:flex;align-items:center;gap:10px;padding:9px 12px 9px 15px;background:#1d0f4a;border-bottom:1px solid #2a1a5c}.code-dot{height:9px;width:9px;border-radius:50%;flex:none}.code-file{font-family:var(--mono);font-size:12px;font-weight:550;color:#b8acdf;letter-spacing:.01em}.code-head .spacer{flex:1}.code-lang{font-family:var(--display);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#7d6fb0}.copy-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid #34236b;background:#241456;color:#c8bdec;font-family:var(--sans);font-size:11.5px;font-weight:650;padding:4px 9px;border-radius:7px;cursor:pointer;transition:background .13s ease,color .13s ease,border-color .13s ease}.copy-btn:hover{background:#2e1a68;color:#fff;border-color:var(--brand-500)}.copy-btn.copied{color:var(--spark-400);border-color:var(--spark-600)}.copy-btn svg{width:13px;height:13px}.code pre{margin:0;padding:16px 18px;overflow-x:auto;font-family:var(--mono);font-size:12px;line-height:1.72;color:var(--brand-100);-moz-tab-size:2;-o-tab-size:2;tab-size:2}.code pre code{font-family:inherit;white-space:pre}.code .c{color:#7a6ca8;font-style:italic}.code .s{color:#8fe6dc}.code .k{color:#c4b2f0;font-weight:600}.code .n{color:#f3b58f}.code .fn{color:#9ec5ff}.code .at{color:var(--spark-400)}.code .mut{color:#6f63a0}.tabs{margin:8px 0 22px}.tab-btns{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:-1px;position:relative;z-index:1}.tab-btn{font-family:var(--sans);font-size:13px;font-weight:650;padding:7px 14px;border:1px solid transparent;border-bottom:none;border-radius:10px 10px 0 0;background:transparent;color:var(--zinc-500);cursor:pointer;transition:color .13s ease,background .13s ease}.tab-btn:hover{color:var(--brand-700)}.tab-btn[aria-selected=true]{color:var(--brand-800);background:var(--brand-950);color:#fff}.tabs .code{margin-top:0;border-top-left-radius:0}.tab-panel[hidden]{display:none}.callout{display:flex;gap:13px;margin:8px 0 22px;padding:15px 17px;border-radius:14px;font-size:15px;line-height:1.55;border:1px solid}.callout p{margin:0 0 8px;font-size:15px;color:inherit}.callout p:last-child{margin-bottom:0}.callout strong{color:inherit}.callout .ic{flex:none;margin-top:1px}.callout-note{background:var(--brand-50);border-color:var(--brand-100);color:var(--brand-800)}.callout-note .ic{color:var(--brand-500)}.callout-tip{background:#ecfdfb;border-color:#c5f1ec;color:#0c6b6f}.callout-tip .ic{color:var(--spark-600)}.callout-warn{background:#fff8ed;border-color:#fde9c8;color:#92580a}.callout-warn .ic{color:#d9890b}.callout-success{background:#ecfdf3;border-color:#c9efd7;color:#0a7d54}.callout-success .ic{color:#12a368}.callout code{background:#ffffff8c!important;border-color:#0000000f!important;color:inherit!important}.table-wrap{margin:8px 0 24px;overflow-x:auto;border:1px solid var(--zinc-200);border-radius:12px}table.tbl{width:100%;border-collapse:collapse;font-size:14px}table.tbl th{text-align:left;font-family:var(--display);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--zinc-500);background:var(--zinc-50);padding:11px 15px;border-bottom:1px solid var(--zinc-200);white-space:nowrap}table.tbl td{padding:11px 15px;border-bottom:1px solid var(--zinc-100);color:var(--zinc-700);vertical-align:top}table.tbl tr:last-child td{border-bottom:0}table.tbl td code{font-family:var(--mono);font-size:12.5px;color:var(--brand-700);background:var(--brand-50);border:1px solid var(--brand-100);padding:1px 5px;border-radius:5px;white-space:nowrap}table.tbl td.req{color:#b54708;font-weight:650;font-size:12px}table.tbl td.opt{color:var(--zinc-400);font-weight:600;font-size:12px}.endpoint{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin:10px 0 14px;padding:11px 14px;border-radius:11px;background:var(--brand-950);font-family:var(--mono)}.method{font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:.06em;padding:3px 9px;border-radius:6px;color:#fff}.method.get{background:var(--spark-600)}.method.post{background:#2f8f5b}.method.put{background:#b06a16}.method.delete{background:#b23b4a}.endpoint .path{color:#ded6f5;font-size:13.5px;font-weight:500;word-break:break-all}.endpoint .auth{margin-left:auto;font-family:var(--sans);font-size:11px;font-weight:650;color:#9686c4;letter-spacing:.02em}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 24px}.scard{position:relative;display:block;padding:18px 18px 16px;border-radius:16px;border:1px solid var(--zinc-200);background:#fff;box-shadow:0 1px 2px #170a3d0a;transition:border-color .15s ease,box-shadow .2s ease,transform .12s ease}.scard:hover{border-color:var(--brand-200);box-shadow:0 18px 40px -20px #170a3d2e;transform:translateY(-2px)}.scard .sc-top{display:flex;align-items:center;gap:11px;margin-bottom:9px}.sc-num{display:grid;place-items:center;height:30px;width:30px;border-radius:9px;font-family:var(--mono);font-weight:700;font-size:13px;color:#fff;background:var(--brand-900);flex:none}.sc-time{font-size:12px;font-weight:650;color:var(--zinc-400)}.scard h3{margin:0 0 4px;font-size:16.5px;font-weight:750;color:var(--ink)}.scard p{margin:0;font-size:14px;color:var(--zinc-600);line-height:1.5}.scard .arrow{position:absolute;top:18px;right:16px;color:var(--zinc-300);transition:color .15s ease,transform .15s ease}.scard:hover .arrow{color:var(--brand-500);transform:translate(2px)}.done-card{display:flex;gap:14px;margin:40px 0 8px;padding:20px 22px;border-radius:16px;background:linear-gradient(180deg,#f3fbf6,#ecfdf3);border:1px solid #c9efd7}.done-card .ic{flex:none;height:38px;width:38px;border-radius:11px;display:grid;place-items:center;background:#12a368;color:#fff}.done-card h3{margin:1px 0 5px;font-size:17px;font-weight:800;color:#0a7d54;font-family:var(--sans)}.done-card p{margin:0;font-size:14.5px;color:#157a52;line-height:1.55}.pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}.pager a{display:block;padding:16px 18px;border-radius:14px;border:1px solid var(--zinc-200);background:#fff;transition:border-color .15s ease,box-shadow .2s ease,transform .12s ease}.pager a:hover{border-color:var(--brand-200);box-shadow:0 14px 32px -18px #170a3d2e;transform:translateY(-1px)}.pager .dir{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--zinc-400)}.pager .ttl{margin-top:3px;font-weight:750;font-size:15.5px;color:var(--brand-800)}.pager .next{text-align:right}.pager a.solo{grid-column:1 / -1}.pager .next.solo{grid-column:2}.toc{position:sticky;top:var(--nav-h);padding:44px 0 60px;max-height:calc(100vh - var(--nav-h));overflow-y:auto;font-size:13px}.toc-label{font-family:var(--display);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--zinc-400);margin-bottom:10px}.toc a{display:block;padding:4px 0 4px 13px;border-left:2px solid var(--zinc-200);color:var(--zinc-500);line-height:1.4;transition:color .13s ease,border-color .13s ease}.toc a.h3{padding-left:26px;font-size:12.5px}.toc a:hover{color:var(--brand-700)}.toc a.active{color:var(--brand-800);border-left-color:var(--brand-500);font-weight:700}.hero{position:relative;margin:8px 0}.hero .lead{max-width:52ch;font-size:20px}.stat-row{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 6px}.stat{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border-radius:11px;background:#fff;border:1px solid var(--zinc-200);font-size:13.5px;font-weight:650;color:var(--zinc-700);box-shadow:0 1px 2px #170a3d0a}.stat b{color:var(--brand-700)}.stat svg{color:var(--brand-500)}.chains{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}.chains .chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;border:1px solid var(--zinc-200);background:#fff;font-size:13px;font-weight:650;color:var(--zinc-700)}.scrim{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#170a3d52;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (max-width: 1180px){.shell{grid-template-columns:var(--sidebar-w) minmax(0,1fr);gap:40px}.toc{display:none}}@media (max-width: 880px){:root{--sidebar-w: 280px}.shell{grid-template-columns:minmax(0,1fr);padding:0 18px}.burger{display:grid}.dnav-links .hide-sm{display:none}.sidebar{position:fixed;top:0;left:0;z-index:56;height:100vh;width:var(--sidebar-w);max-width:86vw;padding:22px 16px 60px 18px;background:#fff;border-right:1px solid var(--zinc-200);box-shadow:0 24px 60px -12px #170a3d47;transform:translate(-100%);transition:transform .26s cubic-bezier(.22,1,.36,1)}body.nav-open .sidebar{transform:translate(0)}body.nav-open .scrim{display:block}.sb-mobile-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.doc{padding-top:30px}.cards{grid-template-columns:minmax(0,1fr)}.pager{grid-template-columns:1fr}.pager .next.solo{grid-column:1}}.sb-mobile-head{display:none}@media (max-width: 880px){.sb-mobile-head{display:flex}}.sb-close{display:grid;place-items:center;height:36px;width:36px;border:0;background:var(--zinc-100);border-radius:9px;cursor:pointer;color:var(--ink)}@media (max-width: 520px){h1{font-size:1.9rem}.lead,.hero .lead{font-size:17px}.doc{padding-bottom:64px}}
