body{overflow-x:hidden}.skip-link{position:absolute;left:12px;top:-48px;z-index:200;background:var(--accent);color:var(--on-accent);padding:8px 14px;border-radius:8px;font-family:var(--font-ui);font-size:14px;transition:top .15s var(--ease)}.skip-link:focus{top:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.dtop{position:-webkit-sticky;position:sticky;top:0;z-index:60;height:60px;display:flex;align-items:center;gap:16px;padding:0 20px;background:color-mix(in oklab,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line)}.dtop .brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-ui);font-size:17px}.dtop .brand .mark{width:26px;height:26px}.dtop .brand b{font-weight:600}.dtop .docs-badge{font-family:var(--font-code);font-size:11px;color:var(--text-faint);border:1px solid var(--line);padding:2px 8px;border-radius:6px;margin-left:2px}.dtop .spacer{flex:1 1}.dtop .top-link{font-family:var(--font-ui);font-size:13.5px;color:var(--text-dim);padding:8px 12px;border-radius:7px;transition:color .2s,background .2s}.dtop .top-link:hover{color:var(--text);background:var(--surface-2)}@media (max-width:680px){.dtop .top-link.hide-sm{display:none}}.menu-btn{display:none;width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);cursor:pointer;align-items:center;justify-content:center}.menu-btn svg{width:18px;height:18px}.search{position:relative;width:min(340px,42vw)}.search-input-wrap{position:relative;display:flex;align-items:center}.search-input-wrap svg{position:absolute;left:11px;width:15px;height:15px;color:var(--text-faint);pointer-events:none}.search input{width:100%;height:38px;padding:0 36px 0 34px;background:var(--surface);border:1px solid var(--line);border-radius:9px;color:var(--text);font-family:var(--font-ui);font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}.search input::placeholder{color:var(--text-faint)}.search input:focus{border-color:color-mix(in oklab,var(--accent) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 14%,transparent)}.search kbd{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-family:var(--font-code);font-size:11px;color:var(--text-faint);border:1px solid var(--line);border-radius:5px;padding:1px 6px;pointer-events:none}.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:70;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;max-height:60vh;overflow-y:auto;display:none}.search-results.open{display:block}.search-results .sr-empty{padding:14px 12px;color:var(--text-faint);font-size:14px}.sr-item{display:block;width:100%;text-align:left;border:0;background:transparent;cursor:pointer;padding:9px 11px;border-radius:8px;color:var(--text);font-family:var(--font-sans)}.sr-item.active,.sr-item:hover{background:var(--surface-2)}.sr-item .sr-group{font-family:var(--font-code);font-size:11px;color:var(--accent);letter-spacing:.04em}.sr-item .sr-title{font-size:14.5px;font-weight:500;margin-top:1px}.sr-item .sr-snip{font-size:12.5px;color:var(--text-faint);margin-top:2px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sr-item mark{background:color-mix(in oklab,var(--accent) 30%,transparent);color:inherit;border-radius:2px;padding:0 1px}.shell{display:grid;grid-template-columns:282px minmax(0,1fr);align-items:start}.sidebar{position:-webkit-sticky;position:sticky;top:60px;align-self:start;height:calc(100vh - 60px);overflow-y:auto;border-right:1px solid var(--line);padding:26px 16px 60px 24px}.sb-group{margin-bottom:24px}.sb-group>.sb-h{font-family:var(--font-code);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);padding:0 10px;margin-bottom:8px}.sb-link{display:block;padding:7px 10px;border-radius:8px;margin-bottom:1px;font-family:var(--font-ui);font-size:14px;color:var(--text-dim);transition:color .15s,background .15s,box-shadow .15s}.sb-link:hover{color:var(--text);background:var(--surface-2)}.sb-link[aria-current=page]{color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,transparent);box-shadow:inset 2px 0 0 var(--accent)}.scrim{display:none;position:fixed;inset:60px 0 0;background:rgba(0,0,0,.5);z-index:55}.content{min-width:0;padding:44px clamp(20px,4vw,60px) 90px}.doc{display:none;max-width:800px}.doc.active{display:block;animation:docfade .35s var(--ease)}@media (prefers-reduced-motion:reduce){.doc.active{animation:none}}.reduce-motion .doc.active{animation:none}@keyframes docfade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.crumbs{font-family:var(--font-code);font-size:12px;color:var(--text-faint);margin-bottom:14px;letter-spacing:.02em}.crumbs .sep{opacity:.5;margin:0 7px}.doc h1{font-family:var(--font-display);font-size:clamp(28px,4vw,38px);letter-spacing:-.02em;margin:0 0 14px}.doc .doc-lead{font-family:var(--font-sans);font-size:18px;line-height:1.55;color:var(--text-dim);margin-bottom:32px}.doc h2{font-family:var(--font-display);font-size:23px;letter-spacing:-.01em;margin:44px 0 14px;padding-top:14px;border-top:1px solid var(--line-2)}.doc h2,.doc h3{scroll-margin-top:76px}.doc h3{font-family:var(--font-ui);font-size:17px;font-weight:600;margin:28px 0 10px}.doc p{font-family:var(--font-sans);font-size:16px;line-height:1.68;color:var(--text);margin:0 0 16px}.doc .muted,.doc p.muted{color:var(--text-dim)}.doc a.inline{color:var(--accent);border-bottom:1px solid color-mix(in oklab,var(--accent) 35%,transparent)}.doc a.inline:hover{border-bottom-color:var(--accent)}.doc ol,.doc ul{margin:0 0 18px;padding-left:20px}.doc li{font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--text);margin-bottom:8px}.doc li::marker{color:var(--text-faint)}.doc strong{font-weight:600}.doc .code{margin:18px 0 22px}.dsteps{list-style:none;counter-reset:s;padding:0;margin:0 0 22px}.dsteps>li{counter-increment:s;position:relative;padding-left:44px;margin-bottom:22px}.dsteps>li:before{content:counter(s);position:absolute;left:0;top:-2px;width:30px;height:30px;border-radius:999px;display:grid;place-items:center;font-family:var(--font-code);font-size:14px;color:var(--accent);border:1px solid color-mix(in oklab,var(--accent) 40%,transparent);background:color-mix(in oklab,var(--accent) 9%,transparent)}.dsteps>li h3{margin-top:2px}.note{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--surface);border-radius:var(--r);padding:14px 18px;margin:0 0 22px}.note.warn{border-left-color:#e0a82e}.note.preview{border-left-color:#8b7bff}.note .note-h{font-family:var(--font-code);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:6px}.note.warn .note-h{color:#e0a82e}.note.preview .note-h{color:#a99bff}.note p:last-child{margin-bottom:0}.note p{font-size:15px}.doc .table-wrap{overflow-x:auto;margin:0 0 22px;border:1px solid var(--line);border-radius:var(--r)}.doc table{width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:14.5px}.doc td,.doc th{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line-2);vertical-align:top}.doc th{font-family:var(--font-ui);font-weight:600;color:var(--text);background:var(--surface-2);font-size:13px}.doc tr:last-child td{border-bottom:0}.doc .cap-table td:first-child,.doc .cap-table td:nth-child(2),.doc .cap-table th:first-child,.doc .cap-table th:nth-child(2){white-space:nowrap}.doc li code,.doc p code,.doc td code,.doc th code{font-family:var(--font-code);font-size:.88em;background:color-mix(in oklab,var(--accent) 13%,transparent);color:color-mix(in oklab,var(--accent) 90%,var(--text));padding:1px 6px;border-radius:5px;white-space:nowrap}.doc .code .code-body code,.doc .code pre code{white-space:pre;background:none;color:inherit;padding:0;border-radius:0;font-size:13.5px}.endpoint{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--font-code);background:var(--code-bg);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:0 0 8px;color:#d6ded7;font-size:14px}.method{font-weight:600;padding:3px 9px;border-radius:6px;font-size:12px;letter-spacing:.04em}.method.post{background:color-mix(in oklab,#2e8b57 30%,transparent);color:#8ff0b8}.method.get{background:color-mix(in oklab,#2563eb 30%,transparent);color:#9ec5ff}.endpoint .path{color:#e9ede9;word-break:break-all}.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-code);font-size:11px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);color:var(--text-dim);vertical-align:middle}.badge.preview{color:#a99bff;border-color:color-mix(in oklab,#8b7bff 45%,transparent);background:color-mix(in oklab,#8b7bff 10%,transparent)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px;margin:0 0 22px}.dcard{display:block;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;background:var(--surface);transition:border-color .2s,transform .2s}.dcard:hover{border-color:color-mix(in oklab,var(--accent) 50%,transparent);transform:translateY(-2px)}.dcard .dc-t{font-family:var(--font-ui);font-weight:600;font-size:15px;margin-bottom:4px}.dcard .dc-d{font-family:var(--font-sans);font-size:13px;color:var(--text-dim);line-height:1.45}.pager{display:flex;gap:14px;margin-top:56px;padding-top:26px;border-top:1px solid var(--line)}.pager a{flex:1 1;border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;transition:border-color .2s,background .2s}.pager a:hover{border-color:color-mix(in oklab,var(--accent) 50%,transparent);background:var(--surface)}.pager .pg-dir{font-family:var(--font-code);font-size:11px;color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase}.pager .pg-t{font-family:var(--font-ui);font-size:15px;color:var(--text);margin-top:4px}.pager .next{text-align:right}.kvs{display:grid;grid-template-columns:max-content 1fr;grid-gap:8px 18px;gap:8px 18px;margin:0 0 22px;font-size:15px}.kvs dt{font-family:var(--font-code);font-size:13px;color:var(--accent)}.kvs dd{margin:0;font-family:var(--font-sans);color:var(--text)}.fig{margin:4px 0 24px;border:1px solid var(--line);border-radius:var(--r);background:radial-gradient(120% 100% at 50% 0,color-mix(in oklab,var(--accent) 5%,transparent),transparent 60%),var(--surface);padding:22px 22px 16px;overflow:hidden}.fig svg{display:block;width:100%;height:auto}.fig figcaption{font-family:var(--font-sans);font-size:13px;color:var(--text-faint);margin-top:12px;text-align:center;line-height:1.5}.fig figcaption b{color:var(--text-dim);font-weight:600}.fig .nlabel{font-family:var(--font-ui);font-size:13px;fill:var(--text);font-weight:500}.fig .nsub{font-family:var(--font-code);font-size:10.5px;fill:var(--text-faint)}.fig .node-box{fill:var(--bg-soft);stroke:var(--line);stroke-width:1.5}.fig .node-accent{fill:color-mix(in oklab,var(--accent) 14%,var(--surface));stroke:color-mix(in oklab,var(--accent) 55%,transparent);stroke-width:1.5}.fig .ico{stroke:var(--text-dim);stroke-width:1.6;fill:none}.fig .ico-accent{stroke:var(--accent);stroke-width:1.7;fill:none}.fig .path-direct{stroke:color-mix(in oklab,var(--accent) 70%,transparent);stroke-width:2.2;fill:none}.fig .path-blocked{stroke:var(--line);stroke-width:1.5;stroke-dasharray:5 6;fill:none}.fig .path-relay{stroke:color-mix(in oklab,var(--accent) 60%,transparent);stroke-width:2.2;fill:none}.fig .ptag{font-family:var(--font-code);font-size:10px}.fig .ptag-ok{fill:var(--accent)}.fig .ptag-bad{fill:var(--text-faint)}.fig .packet{fill:var(--accent-glow)}.fig .xmark{stroke:var(--text-faint);stroke-width:1.8}@media (prefers-reduced-motion:no-preference){.doc.active .fig .flow{stroke-dasharray:5 9;animation:flowdash 1.1s linear infinite}}.reduce-motion .fig .flow{animation:none!important}@keyframes flowdash{to{stroke-dashoffset:-28}}.propbar{display:flex;align-items:stretch;height:46px;border-radius:10px;overflow:hidden;border:1px solid var(--line);margin:4px 0 8px}.propbar .seg{display:flex;align-items:center;justify-content:center;font-family:var(--font-code);font-size:12px}.propbar .seg.direct{flex:80 1;background:var(--surface-2);color:var(--text-dim)}.propbar .seg.relay{flex:20 1;background:color-mix(in oklab,var(--accent) 28%,transparent);color:var(--text);border-left:1.5px solid color-mix(in oklab,var(--accent) 60%,transparent)}.proplegend{display:flex;gap:18px;font-family:var(--font-code);font-size:12px;color:var(--text-faint);margin-top:4px}.proplegend .dotk{display:inline-flex;align-items:center;gap:7px}.proplegend .sw{width:11px;height:11px;border-radius:3px}.proplegend .sw.d{background:var(--surface-2);border:1px solid var(--line)}.proplegend .sw.r{background:color-mix(in oklab,var(--accent) 40%,transparent)}@media (max-width:900px){.shell{grid-template-columns:1fr}.menu-btn{display:inline-flex}.sidebar{position:fixed;top:60px;left:0;bottom:0;width:290px;height:auto;z-index:56;background:var(--bg);transform:translateX(-100%);transition:transform .28s var(--ease)}.reduce-motion .sidebar{transition:none}body.nav-open .sidebar{transform:none}body.nav-open .scrim{display:block}.search{width:auto;flex:1 1}.search kbd{display:none}}@media (max-width:460px){.dtop .brand .bt-io{display:none}}