.docsx[data-v-f262e2b0]{padding-top:8px}.dx-layout[data-v-f262e2b0]{align-items:start;display:grid;gap:44px;grid-template-columns:230px 1fr;padding:28px 0 48px}.dx-side[data-v-f262e2b0]{max-height:calc(100vh - 120px);overflow-y:auto;position:sticky;top:96px}.dx-side-inner[data-v-f262e2b0]{border-radius:16px;gap:18px;padding:18px}.dx-group[data-v-f262e2b0],.dx-side-inner[data-v-f262e2b0]{display:flex;flex-direction:column}.dx-group-h[data-v-f262e2b0]{color:var(--muted);font:600 11px var(--mono);letter-spacing:.08em;margin:0 0 7px;text-transform:uppercase}.dx-group a[data-v-f262e2b0]{border-left:2px solid transparent;color:var(--muted);font-size:13.5px;padding:5px 0 5px 12px;text-decoration:none;transition:color .2s,border-color .2s}.dx-group a[data-v-f262e2b0]:hover{color:var(--text)}.dx-group a.on[data-v-f262e2b0]{border-color:var(--accent);color:var(--accent);font-weight:600}.dx-body[data-v-f262e2b0]{min-width:0}.dx-head[data-v-f262e2b0]{margin-bottom:26px}.dx-head h1[data-v-f262e2b0]{font-size:clamp(30px,4vw,40px);font-weight:800;letter-spacing:-.03em;line-height:1.08;margin:0 0 10px}.dx-lead[data-v-f262e2b0]{color:var(--muted);font-size:16.5px;line-height:1.6;margin:0;max-width:760px}.dx-pager[data-v-f262e2b0]{display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-top:44px}.pager[data-v-f262e2b0]{border-radius:14px;display:flex;flex-direction:column;gap:3px;padding:16px 18px;text-decoration:none;transition:border-color .2s}.pager[data-v-f262e2b0]:hover{border-color:#a3e63566}.pager.next[data-v-f262e2b0]{text-align:right}.pg-k[data-v-f262e2b0]{color:var(--muted);font:600 11px var(--mono);letter-spacing:.07em;text-transform:uppercase}.pg-t[data-v-f262e2b0]{color:var(--accent);font-size:15.5px;font-weight:700}.pg-d[data-v-f262e2b0]{color:var(--muted);font-size:12.5px;line-height:1.45}@media(max-width:900px){.dx-layout[data-v-f262e2b0]{gap:20px;grid-template-columns:1fr}.dx-side[data-v-f262e2b0]{max-height:none;position:static}.dx-side-inner[data-v-f262e2b0]{flex-direction:row;flex-wrap:wrap;gap:14px 26px}.dx-pager[data-v-f262e2b0]{grid-template-columns:1fr}.pager.next[data-v-f262e2b0]{text-align:left}}.dx-body section.doc-sec{border-top:1px solid var(--line);padding:20px 0 34px;scroll-margin-top:110px}.dx-body section.doc-sec:first-of-type{border-top:none;padding-top:0}.dx-body .doc-sec h2{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0 0 12px}.dx-body .doc-sec>p{color:var(--muted);line-height:1.65;margin:0 0 12px}.dx-body .doc-sec p b{color:var(--text)}.dx-body code{background:#a3e6351a;border-radius:5px;color:var(--accent);font:.88em var(--mono);padding:2px 6px}.dx-body code.dim{background:#ffffff0d;color:var(--muted)}.dx-body pre code{background:none;border-radius:0;color:inherit;font:inherit;padding:0}.dx-body .ep{align-items:center;display:flex;flex-wrap:wrap;font-size:17px;font-weight:700;gap:10px;margin:30px 0 8px}.dx-body .ep code{background:none;color:var(--text);padding:0}.dx-body .verb{border-radius:6px;font:700 11px var(--mono);letter-spacing:.03em;padding:3px 8px}.dx-body .verb.get{background:#38bdf824;color:#7dd3fc}.dx-body .verb.post{background:#a3e63524;color:var(--accent)}.dx-body .verb.ws{background:#818cf824;color:var(--violet)}.dx-body .verb.brk{background:#fb718524;color:#fda4af}.dx-body .clg{margin:14px 0 8px}.dx-body .checks,.dx-body .ticks{display:grid;gap:9px;list-style:none;margin:0 0 14px;padding:0}.dx-body .checks li,.dx-body .ticks li{color:var(--muted);line-height:1.6;padding-left:28px;position:relative}.dx-body .ticks li:before{color:var(--accent);content:"▸";left:4px;position:absolute}.dx-body .checks li:before{color:var(--accent);content:"✓";font-weight:800;left:3px;position:absolute}.dx-body .checks b,.dx-body .ticks b{color:var(--text)}.dx-body .tbl-cap{font-size:15px;margin:22px 0 6px}.dx-body .edge,.dx-body .tbl-cap{color:var(--muted);line-height:1.6}.dx-body .edge{background:#818cf814;border:1px solid rgba(129,140,248,.2);border-radius:10px;font-size:13.5px;margin:8px 0 12px;padding:9px 13px}.dx-body .edge b{color:var(--text)}.dx-body .foot-note{background:#a3e6350f;border:1px solid rgba(163,230,53,.18);border-radius:12px;color:var(--muted);line-height:1.6;margin:8px 0 24px;padding:14px 18px}.dx-body .foot-note b{color:var(--text)}.dx-body .tbl{border-radius:14px;margin:14px 0;overflow:auto}.dx-body .tbl table{border-collapse:collapse;font-size:14px;min-width:480px;width:100%}.dx-body .tbl th{background:#0003;font:600 12px var(--mono);letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.dx-body .tbl td,.dx-body .tbl th{border-bottom:1px solid var(--line);color:var(--muted)}.dx-body .tbl td{line-height:1.55;padding:11px 16px;vertical-align:top}.dx-body .tbl tr:last-child td{border-bottom:none}.dx-body .diagram{align-items:stretch;display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 22px}.dx-body .diagram .node{border-radius:14px;display:flex;flex:1;flex-direction:column;gap:4px;min-width:150px;padding:16px 18px}.dx-body .diagram .node b{font-size:15px}.dx-body .diagram .node span{color:var(--muted);font-size:12.5px}.dx-body .diagram .node.hot{border-color:#a3e63559;box-shadow:0 0 0 1px #a3e63526,0 12px 40px #0000004d}.dx-body .diagram .node.hot b{color:var(--accent)}.dx-body .diagram .conn{display:flex;flex-direction:column;gap:4px;justify-content:center;min-width:92px;text-align:center}.dx-body .diagram .arr{background:#2dd4bf14;border:1px solid rgba(45,212,191,.2);border-radius:999px;color:var(--accent-2);font:500 11px var(--mono);padding:3px 8px}.dx-body .diagram .arr.rev{background:#a3e63514;border-color:#a3e63533;color:var(--accent)}.dx-body .diagram .arr.both{background:#818cf81a;border-color:#818cf847;color:var(--violet)}.dx-body .flowseq{display:grid;gap:8px;list-style:none;margin:16px 0 26px;padding:0}.dx-body .flowseq li{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:11px;display:flex;flex-wrap:wrap;gap:8px;padding:11px 14px}.dx-body .lane{border-radius:7px;font:700 11px var(--mono);padding:3px 9px;white-space:nowrap}.dx-body .lane.c{background:#818cf81f;color:var(--violet)}.dx-body .lane.p{background:#2dd4bf1f;color:var(--accent-2)}.dx-body .lane.e{background:#a3e6351f;color:var(--accent)}.dx-body .flowseq .ar{color:var(--muted);font-size:13px}.dx-body .flowseq .act{color:var(--text);flex:1;font-size:13.5px;min-width:0;overflow-wrap:anywhere}.dx-body .flowseq .tag{background:#ffffff0d;border-radius:6px;color:var(--muted);font:600 10px var(--mono);letter-spacing:.05em;padding:2px 7px;text-transform:uppercase;white-space:nowrap}.dx-body .flowseq .tag.cb{background:#a3e6351a;color:var(--accent)}.dx-body .flowseq .tag.ws{background:#818cf81f;color:var(--violet)}.dx-body .phases{display:grid;gap:14px;grid-template-columns:minmax(0,1fr);list-style:none;margin:22px 0 0;padding:0}.dx-body .phase{align-items:flex-start;border-radius:16px;display:flex;gap:18px;min-width:0;padding:22px 24px}.dx-body .pn{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:12px;box-shadow:0 6px 18px #a3e63540;color:#0a1602;display:grid;flex:none;font:800 19px var(--font);height:42px;place-items:center;width:42px}.dx-body .pc{flex:1;min-width:0;overflow-wrap:anywhere}.dx-body .pc h3{font-size:18px;font-weight:700;margin:2px 0 6px}.dx-body .pc>p{color:var(--muted);font-size:14.5px;line-height:1.6;margin:0 0 8px}.dx-body .who{color:var(--accent-2);font:500 13px var(--mono);margin:0 0 8px;overflow-wrap:anywhere}.dx-body .tkey{border-radius:6px;font:700 10.5px var(--mono);letter-spacing:.04em;margin-right:3px;padding:2px 7px;text-transform:uppercase}.dx-body .tkey.ui{background:#ffffff12;color:var(--text)}.dx-body .tkey.you{background:#2dd4bf1f;color:var(--accent-2)}.dx-body .tkey.sdk{background:#818cf81f;color:var(--violet)}.dx-body .tkey.eng{background:#a3e6351f;color:var(--accent)}.dx-body .tkey.cb{background:#a3e6352e;color:var(--accent)}.dx-body .gloss{display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin:16px 0 8px}.dx-body .gitem{border-radius:12px;padding:14px 16px}.dx-body .gitem dt{align-items:baseline;display:flex;flex-wrap:wrap;gap:9px;margin-bottom:5px}.dx-body .gterm{font:800 15px var(--mono);letter-spacing:-.01em}.dx-body .gtag{background:#ffffff0f;border-radius:6px;color:var(--muted);font:600 9.5px var(--mono);letter-spacing:.06em;padding:2px 7px;text-transform:uppercase}.dx-body .gitem dd{color:var(--muted);font-size:13.5px;line-height:1.55;margin:0}.dx-body .faq{border-radius:12px;margin:10px 0;overflow:hidden}.dx-body .faq summary{align-items:center;cursor:pointer;display:flex;font-size:15.5px;font-weight:600;gap:12px;justify-content:space-between;list-style:none;padding:16px 20px}.dx-body .faq summary::-webkit-details-marker{display:none}.dx-body .faq summary:after{color:var(--accent);content:"+";flex:none;font-size:20px;font-weight:700;transition:transform .2s}.dx-body .faq[open] summary:after{transform:rotate(45deg)}.dx-body .faq summary:hover{color:var(--accent)}.dx-body .faq-a{color:var(--muted);font-size:14.5px;line-height:1.6;padding:0 20px 18px}@media(max-width:860px){.dx-body .gloss{grid-template-columns:1fr}.dx-body .diagram{flex-direction:column}.dx-body .diagram .conn{flex-direction:row;justify-content:center}}@media(max-width:560px){.dx-body .phase{gap:12px;padding:16px 15px}.dx-body .pn{border-radius:10px;font-size:15px;height:34px;width:34px}.dx-body .flowseq li{padding:10px 12px}}
