.dx{--dx-ink:#0b0d12;--dx-ink-2:#39404e;--dx-ink-3:#6b7383;--dx-line:#ebedf1;--dx-soft:#f7f8fa;--dx-accent:#4f46e5;--dx-side:268px;--dx-toc:220px;--dx-head:64px;background:#fff;color:var(--dx-ink);min-height:100vh}.dx a{text-decoration:none}.dx-head{position:-webkit-sticky;position:sticky;top:0;z-index:40;height:var(--dx-head);background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--dx-line)}.dx-head-inner{max-width:1440px;height:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:16px}.dx-head .brand{flex:none}.dx-head-tag{font-size:13px;font-weight:600;color:var(--dx-ink-3);padding-left:14px;margin-left:2px;border-left:1px solid var(--dx-line)}.dx-search-btn{margin-left:28px;flex:0 1 300px;height:36px;display:flex;align-items:center;gap:8px;padding:0 10px 0 12px;border-radius:9px;border:1px solid var(--dx-line);background:var(--dx-soft);color:var(--dx-ink-3);font:inherit;font-size:13.5px;cursor:pointer;transition:border-color .15s,background .15s}.dx-search-btn:hover{border-color:#d8dce3;background:#fff}.dx-search-btn kbd{margin-left:auto;font-family:inherit;font-size:11px;font-weight:600;padding:2px 6px;border-radius:5px;border:1px solid var(--dx-line);background:#fff;color:var(--dx-ink-3)}.dx-head-links{margin-left:auto;display:flex;align-items:center;gap:4px}.dx-head-links a.l{font-size:14px;font-weight:500;color:var(--dx-ink-2);padding:7px 11px;border-radius:8px}.dx-head-links a.l:hover{color:var(--dx-ink);background:var(--dx-soft)}.dx-cta{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 15px;border-radius:999px;background:var(--dx-ink);color:#fff!important;font-size:13.5px;font-weight:600;margin-left:6px}.dx-cta:hover{background:#23262f}.dx-menu-btn{display:none;border:1px solid var(--dx-line);background:#fff;border-radius:8px;height:36px;padding:0 12px;font:inherit;font-size:13.5px;font-weight:550;color:var(--dx-ink-2);cursor:pointer}@media (max-width:1000px){.dx-head-links a.l,.dx-search-btn{display:none}.dx-menu-btn{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.dx-head-links{margin-left:6px}}.dx-shell{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:var(--dx-side) minmax(0,1fr)}.dx-side{position:-webkit-sticky;position:sticky;top:var(--dx-head);height:calc(100vh - var(--dx-head));overflow-y:auto;padding:26px 18px 40px 24px;border-right:1px solid var(--dx-line)}.dx-filter{position:relative;margin-bottom:18px}.dx-filter input{width:100%;height:36px;padding:0 12px 0 32px;border-radius:9px;border:1px solid var(--dx-line);background:var(--dx-soft);font:inherit;font-size:13.5px;color:var(--dx-ink)}.dx-filter input:focus{outline:none;background:#fff;border-color:var(--dx-accent);box-shadow:0 0 0 3px rgba(79,70,229,.12)}.dx-filter svg{position:absolute;left:11px;top:11px;color:#a3a9b6}.dx-group+.dx-group{margin-top:22px}.dx-group-title{display:flex;align-items:center;gap:8px;padding:0 10px 8px;font-size:12.5px;font-weight:650;color:var(--dx-ink)}.dx-group-title svg{color:var(--dx-accent)}.dx-nav-link{display:block;padding:6px 10px;margin-left:6px;border-left:1px solid var(--dx-line);font-size:13.5px;color:var(--dx-ink-3);transition:color .12s,border-color .12s}.dx-nav-link:hover{color:var(--dx-ink);border-left-color:#c7cbd4}.dx-nav-link.on{color:var(--dx-accent);font-weight:600;border-left:2px solid var(--dx-accent);padding-left:9px}.dx-side-empty{padding:8px 10px;font-size:13px;color:var(--dx-ink-3)}.dx-body{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) var(--dx-toc);grid-gap:48px;gap:48px;padding:44px 48px 96px 56px}.dx-main{min-width:0;max-width:780px}.dx-toc{position:-webkit-sticky;position:sticky;top:calc(var(--dx-head) + 40px);align-self:start;max-height:calc(100vh - var(--dx-head) - 60px);overflow-y:auto}.dx-toc h6{margin:0 0 10px;font-size:12.5px;font-weight:650;color:var(--dx-ink)}.dx-toc a{display:block;padding:5px 0;font-size:13px;line-height:1.4;color:var(--dx-ink-3);transition:color .12s}.dx-toc a.sub{padding-left:12px;font-size:12.5px}.dx-toc a:hover{color:var(--dx-ink)}.dx-toc a.on{color:var(--dx-accent);font-weight:550}.dx-toc-help{margin-top:22px;padding-top:18px;border-top:1px solid var(--dx-line);display:grid;grid-gap:8px;gap:8px}.dx-toc-help a{display:inline-flex;align-items:center;gap:6px}@media (max-width:1240px){.dx-body{grid-template-columns:minmax(0,1fr)}.dx-toc{display:none}}@media (max-width:1000px){.dx-shell{grid-template-columns:1fr}.dx-side{display:none;position:fixed;z-index:50;top:var(--dx-head);left:0;right:0;bottom:0;height:auto;background:#fff;border-right:0}.dx-side.open{display:block}.dx-body{padding:32px 20px 72px}}.dx-crumb{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--dx-accent)}.dx-h1{margin:10px 0 0;font-size:clamp(30px,3.6vw,40px);line-height:1.12;letter-spacing:-.035em;font-weight:700}.dx-lede{margin:14px 0 0;font-size:18px;line-height:1.65}.dx-lede,.dx-meta{color:var(--dx-ink-3)}.dx-meta{margin-top:22px;padding-bottom:28px;border-bottom:1px solid var(--dx-line);display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px}.dx-meta span{display:inline-flex;align-items:center;gap:6px}.dx-prose{font-size:15.5px;line-height:1.78;color:var(--dx-ink-2)}.dx-prose>*+*{margin-top:18px}.dx-prose h2{margin:52px 0 0;font-size:24px;line-height:1.25;letter-spacing:-.02em;font-weight:680}.dx-prose h2,.dx-prose h3{color:var(--dx-ink);scroll-margin-top:calc(var(--dx-head) + 24px)}.dx-prose h3{margin:34px 0 0;font-size:18px;line-height:1.35;letter-spacing:-.01em;font-weight:650}.dx-prose h2+*,.dx-prose h3+*{margin-top:12px}.dx-anchor{position:relative;color:inherit!important}.dx-anchor:before{content:"#";position:absolute;left:-22px;color:#c7cbd4;font-weight:500;opacity:0;transition:opacity .12s}.dx-anchor:hover:before{opacity:1}.dx-prose a:not(.dx-anchor):not(.dx-card){color:var(--dx-accent);font-weight:550;text-decoration:underline;-webkit-text-decoration-color:rgba(79,70,229,.3);text-decoration-color:rgba(79,70,229,.3);text-underline-offset:3px}.dx-prose a:not(.dx-anchor):not(.dx-card):hover{-webkit-text-decoration-color:var(--dx-accent);text-decoration-color:var(--dx-accent)}.dx-prose strong{color:var(--dx-ink);font-weight:650}.dx-prose ol,.dx-prose ul{margin-bottom:0;padding-left:22px}.dx-prose>*+*,.dx-step>*+*{margin-top:18px}.dx-step>h3+*{margin-top:10px}.dx-prose li+li{margin-top:6px}.dx-prose li::marker{color:#a3a9b6}.dx-prose :not(pre)>code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.85em;padding:2px 6px;border-radius:6px;background:#f3f4f7;border:1px solid #eceef2;color:#1f2430;word-break:break-word}.dx-prose hr{border:0;border-top:1px solid var(--dx-line);margin:40px 0}.dx-table-wrap{overflow-x:auto;border:1px solid var(--dx-line);border-radius:12px}.dx-table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.55}.dx-table th{text-align:left;font-size:12px;font-weight:650;color:var(--dx-ink-3);background:var(--dx-soft);padding:10px 14px;border-bottom:1px solid var(--dx-line);white-space:nowrap}.dx-table td{padding:12px 14px;border-top:1px solid var(--dx-line);vertical-align:top;color:var(--dx-ink-2)}.dx-table tr:first-child td{border-top:0}.dx-table td:first-child{white-space:nowrap}.dx-type{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#7c3aed}.dx-req{display:inline-block;margin-left:6px;font-size:10.5px;font-weight:650;padding:1px 6px;border-radius:999px;background:#fef3f2;color:#b42318;vertical-align:1px}.dx-default{font-size:12px;color:var(--dx-ink-3)}.dx-callout{color:var(--dx-ink-2);display:flex;gap:12px;padding:14px 16px;border-radius:12px;border:1px solid;font-size:14.5px;line-height:1.65}.dx-callout svg{flex:none;margin-top:3px}.dx-callout p{margin:0}.dx-callout p+p{margin-top:6px}.dx-callout b.t{display:block;color:var(--dx-ink);font-weight:650;margin-bottom:2px}.dx-callout.dx-c-note{background:#f5f7ff;border-color:#e0e6fd}.dx-callout.dx-c-note svg{color:var(--dx-accent)}.dx-callout.dx-c-tip{background:#f0fdf6;border-color:#d3f3e2}.dx-callout.dx-c-tip svg{color:#067647}.dx-callout.dx-c-warn{background:#fffbeb;border-color:#fbe9b7}.dx-callout.dx-c-warn svg{color:#b54708}.dx-code{position:relative;border-radius:14px;background:#0d0f15;border:1px solid #1c202c;overflow:hidden;box-shadow:0 10px 30px -18px rgba(11,13,18,.5)}.dx-code-head{display:flex;align-items:center;gap:10px;height:40px;padding:0 8px 0 16px;border-bottom:1px solid #1c202c;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#8b93a7}.dx-code-head .lang{margin-left:auto;font-size:11px;color:#5c6475;text-transform:uppercase;letter-spacing:.06em}.dx-copy{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px;border-radius:7px;border:1px solid #262b39;background:#151821;color:#c3c8d4;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;cursor:pointer}.dx-copy:hover{background:#1d212c}.dx-code pre code{background:none;border:0;padding:0;border-radius:0;color:inherit;font-size:inherit;word-break:normal}.dx-code pre{margin:0;padding:16px 18px 18px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:13px;line-height:1.75;color:#d5d9e3;-moz-tab-size:2;tab-size:2}.dx-code .hl-k{color:#c792ea}.dx-code .hl-s{color:#c3e88d}.dx-code .hl-c{color:#5c6370;font-style:italic}.dx-code .hl-t{color:#82aaff}.dx-code .hl-a{color:#ffcb6b}.dx-code .hl-n{color:#f78c6c}.dx-code .hl-p{color:#89ddff}.dx-tabs-bar{display:flex;gap:2px;border-bottom:1px solid var(--dx-line);margin-bottom:14px}.dx-tab{padding:8px 14px;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:none;font:inherit;font-size:14px;font-weight:550;color:var(--dx-ink-3);cursor:pointer}.dx-tab.on,.dx-tab:hover{color:var(--dx-ink)}.dx-tab.on{border-bottom-color:var(--dx-ink)}.dx-steps{counter-reset:dxstep;display:grid;grid-gap:0;gap:0;margin-top:24px}.dx-step{position:relative;padding:0 0 30px 46px}.dx-step:before{counter-increment:dxstep;content:counter(dxstep);position:absolute;left:0;top:0;display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:#fff;border:1px solid var(--dx-line);font-size:13px;font-weight:650;color:var(--dx-ink);box-shadow:0 1px 2px rgba(11,13,18,.05)}.dx-step:after{content:"";position:absolute;left:14.5px;top:36px;bottom:6px;width:1px;background:var(--dx-line)}.dx-step:last-child{padding-bottom:0}.dx-step:last-child:after{display:none}.dx-step h3{margin:2px 0 0!important;font-size:17px!important}.dx-step>*+*{margin-top:12px}.dx-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}@media (max-width:640px){.dx-cards{grid-template-columns:1fr}}.dx-card{display:grid;grid-gap:6px;gap:6px;align-content:start;padding:18px;border-radius:14px;border:1px solid var(--dx-line);background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s}.dx-card:hover{border-color:#d9dde5;box-shadow:0 14px 30px -20px rgba(30,27,75,.3);transform:translateY(-2px)}.dx-card .ic{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eef2ff;color:var(--dx-accent);margin-bottom:6px}.dx-card b{font-size:15px;color:var(--dx-ink)}.dx-card span{font-size:13.5px;line-height:1.55;color:var(--dx-ink-3)}.dx-pager{margin-top:64px;padding-top:28px;border-top:1px solid var(--dx-line);display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.dx-pager a{display:grid;grid-gap:4px;gap:4px;padding:16px 18px;border-radius:14px;border:1px solid var(--dx-line);transition:border-color .15s,box-shadow .15s}.dx-pager a:hover{border-color:#d9dde5;box-shadow:0 12px 26px -20px rgba(30,27,75,.3)}.dx-pager small{font-size:12px;color:var(--dx-ink-3)}.dx-pager b{font-size:15px;color:var(--dx-ink)}.dx-pager .next{text-align:right;grid-column:2}.dx-feedback{margin-top:28px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--dx-ink-3)}.dx-dialog-backdrop{position:fixed;inset:0;z-index:100;background:rgba(11,13,18,.32);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;align-items:start;justify-items:center;padding:12vh 16px 16px}.dx-dialog{width:100%;max-width:600px;border-radius:16px;background:#fff;border:1px solid var(--dx-line);box-shadow:0 40px 80px -20px rgba(11,13,18,.45);overflow:hidden}.dx-dialog-input{display:flex;align-items:center;gap:10px;padding:0 16px;height:56px;border-bottom:1px solid var(--dx-line)}.dx-dialog-input svg{color:#a3a9b6}.dx-dialog-input input{flex:1 1;border:0;outline:none;font:inherit;font-size:16px;color:var(--dx-ink)}.dx-dialog-list{max-height:52vh;overflow-y:auto;padding:8px}.dx-dialog-item{display:grid;grid-gap:2px;gap:2px;padding:10px 12px;border-radius:10px;color:var(--dx-ink)}.dx-dialog-item small{font-size:12.5px;color:var(--dx-ink-3)}.dx-dialog-item .grp{font-size:11px;font-weight:600;color:var(--dx-accent)}.dx-dialog-item.on,.dx-dialog-item:hover{background:#f3f4ff}.dx-dialog-empty{padding:28px;text-align:center;font-size:14px;color:var(--dx-ink-3)}.dx-steps{grid-template-columns:minmax(0,1fr)}.dx-main,.dx-step,.dx-step>*{min-width:0}.dx-cta{white-space:nowrap}@media (max-width:480px){.dx-head-inner{padding:0 14px;gap:10px}.dx-head-tag{display:none}.dx-step{padding-left:40px}}