
:root{--primary:#7567ea;--primary-hover:#6759da;--ink:#20243b;--muted:#68718b;--line:#e7e9f1;--paper:#fff;--page:#f7f8fc;--soft:#f5f4ff;--code:#171e31;--shadow:0 24px 70px rgba(27,38,70,.06);--sidebar:#101526;--sidebar-soft:#192039;--sidetxt:#abb3cd;--radius:18px;scroll-behavior:smooth}
*{box-sizing:border-box}html{scroll-padding-top:110px}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--page);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}svg{display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:18px;height:18px}::selection{background:#cfc7ff;color:#261766}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #aa9cff;outline-offset:3px}
.top{position:sticky;top:0;z-index:50;height:72px;display:flex;align-items:center;background:rgba(15,21,38,.97);border-bottom:1px solid rgba(214,218,255,.10);backdrop-filter:blur(16px);color:#eff0ff}.top-inner{width:100%;display:flex;align-items:center;gap:22px;padding:0 34px}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap;font-size:24px;font-weight:800;letter-spacing:-.8px}.mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,#b299ff,#6856ed 66%,#453998);position:relative;overflow:hidden;box-shadow:0 8px 26px #6f5afc55}.mark:after{content:"";position:absolute;left:-4px;bottom:-3px;width:33px;height:20px;border-radius:6px;background:linear-gradient(135deg,#453393,#9b80ff);transform:rotate(-26deg)}.brand em{font-style:normal;font-weight:550;color:#9ea7cc;margin-left:5px;font-size:14px;letter-spacing:0}.top nav{margin-left:auto;display:flex;align-items:center;gap:30px;font-size:13px;color:#b3bdd6}.top nav a:hover{color:white}.top-actions{margin-left:8px;display:flex;align-items:center;gap:10px}.icon-btn{border:1px solid rgba(201,211,255,.12);color:#d5daf0;background:rgba(255,255,255,.04);width:36px;height:36px;display:grid;place-items:center;border-radius:11px}.icon-btn:hover{background:rgba(255,255,255,.12)}.download{font-size:13px;font-weight:750;display:inline-flex;align-items:center;gap:7px;background:linear-gradient(110deg,#8b79ff,#705bf2);color:white;padding:11px 17px;border-radius:11px;box-shadow:0 4px 20px rgba(97,78,221,.20)}.download svg{width:15px;height:15px}.mobile-open{display:none}.reading-progress{position:fixed;z-index:70;top:70px;left:0;width:0;height:2px;background:linear-gradient(90deg,#7867ff,#a987ff);box-shadow:0 0 15px #ac9bff;pointer-events:none;transition:width .1s linear}
.layout{display:grid;grid-template-columns:304px minmax(0,1fr);min-height:calc(100vh - 72px)}
.side{background:var(--sidebar);color:#dfe3fa;position:sticky;top:72px;height:calc(100vh - 72px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#3a4260 transparent;border-right:1px solid rgba(255,255,255,.07)}.side-in{padding:31px 18px 28px}.side-heading{display:flex;align-items:center;justify-content:space-between;padding:0 10px 15px}.side-title{font-size:11px;letter-spacing:2px;color:#777fa5;font-weight:780}.version{padding:4px 7px;border:1px solid #343858;border-radius:5px;color:#aca9fb;font-size:10px}.doc-search{position:relative;margin:2px 4px 25px}.doc-search svg{position:absolute;left:13px;top:12px;width:16px;height:16px;color:#8590b2}.doc-search input{width:100%;border:1px solid #303951;color:#e9edff;background:#1c243a;border-radius:11px;padding:12px 45px 12px 38px;font-size:12px;outline:none}.doc-search input:focus{border-color:#8579ed;box-shadow:0 0 0 3px #7d6ee51e}.doc-search input::placeholder{color:#818aaa}.kbd{position:absolute;right:10px;top:10px;font-size:11px;line-height:20px;color:#7d86a7;border:1px solid #37415b;padding:0 6px;border-radius:5px}.nav-group{margin-top:15px}.nav-group summary{list-style:none;cursor:pointer;padding:13px 11px 11px;display:flex;align-items:center;gap:9px;color:#8e9ab8;text-transform:uppercase;letter-spacing:.45px;font-size:11px;font-weight:780}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary svg{width:15px;height:15px;color:#8e82f7}.nav-group summary:after{content:"⌄";margin-left:auto;font-size:17px;line-height:12px;transform:rotate(-90deg);transition:transform .2s}.nav-group[open] summary:after{transform:rotate(0)}.nav-list{list-style:none;margin:3px 0 6px;padding:0}.nav-item a{display:flex;align-items:flex-start;gap:10px;border-radius:9px;margin:2px 0;padding:10px 10px;color:#aeb9d0;font-size:12.5px;line-height:1.55;transition:background .15s,color .15s}.nav-item a:hover{color:#f4f2ff;background:#222b43}.nav-item a.active{color:#f5f4ff;font-weight:710;background:linear-gradient(95deg,#4f479a,#302e60);box-shadow:inset 3px 0 #a897ff}.nav-item svg{flex:0 0 auto;margin-top:2px;width:15px;height:15px;color:#7e8bb6}.nav-item a.active svg{color:#b1a6ff}.side-callout{margin:33px 4px 0;background:linear-gradient(130deg,#212c4b,#2d2656);border:1px solid #3c426c;border-radius:14px;padding:17px}.side-callout>svg{color:#b7a3ff;width:22px;height:22px}.side-callout h3{font-size:13px;margin:10px 0 5px;color:#f5f4ff}.side-callout p{font-size:11.5px;color:#aeb9d3;line-height:1.7;margin:0 0 14px}.side-callout a{font-size:12px;color:#cdc4ff;font-weight:700}.search-empty{font-size:12px;line-height:1.7;color:#919dbb;padding:10px}.side-footer{font-size:11px;color:#5d698b;margin:22px 12px 0}
.content{min-width:0;padding:30px clamp(25px,4.6vw,84px) 80px;background:radial-gradient(ellipse 65% 20% at 92% 3%,rgba(230,228,255,.43),transparent 80%),var(--page)}.article{max-width:900px;margin:0 auto}.breadcrumbs{display:flex;align-items:center;gap:9px;color:#8c94a8;font-size:12px;margin:8px 0 40px}.breadcrumbs svg{width:13px;height:13px}.breadcrumbs a:hover{color:var(--primary)}.intro-eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:19px}.eyebrow{font-size:11px;letter-spacing:.9px;font-weight:850;color:#6d58d9;background:#eeebff;padding:7px 11px;border-radius:7px}.dot{width:5px;height:5px;border-radius:100%;background:#a7a9bb}.tagline{font-size:12px;color:#8690a6}h1{font-size:clamp(33px,3.15vw,47px);line-height:1.2;letter-spacing:-1.5px;margin:0 0 19px;color:var(--ink);font-weight:850}.lead{color:#626b81;font-size:16px;line-height:1.95;margin:0 0 25px;max-width:760px}.meta{display:flex;align-items:center;flex-wrap:wrap;gap:18px;color:#9299ac;font-size:12px;margin-bottom:30px}.meta span{display:flex;align-items:center;gap:7px}.meta svg{width:15px;height:15px}.meta button{border:0;background:transparent;color:#6a60b9;display:flex;align-items:center;gap:6px;padding:0}.meta button:hover{color:#4b3bb5}.article-hero{position:relative;background:linear-gradient(118deg,#141c33 3%,#20274d 55%,#342b6a 100%);border:1px solid #30375d;border-radius:20px;min-height:270px;overflow:hidden;color:white;display:grid;grid-template-columns:1fr 1.05fr;box-shadow:0 20px 50px rgba(28,36,72,.12);margin-bottom:40px}.article-hero:before{content:"";position:absolute;right:-180px;top:-200px;width:500px;height:500px;border:1px solid #b8a2ff2b;border-radius:100%;box-shadow:0 0 0 65px #b8a2ff0b,0 0 0 138px #b8a2ff09;pointer-events:none}.hero-copy{z-index:1;align-self:center;padding:36px 0 36px 39px}.hero-copy .small{font-size:11px;color:#bfa9ff;letter-spacing:1.7px;font-weight:800}.hero-copy h2{font-size:clamp(24px,2.5vw,32px);letter-spacing:-.5px;line-height:1.34;margin:17px 0 12px;font-weight:800;color:#fff}.hero-copy p{font-size:12px;line-height:1.9;max-width:270px;color:#bbc5df;margin:0}.hero-diagram{display:flex;align-items:center;justify-content:center;position:relative;padding:30px 30px 24px 0}.hero-browser{position:relative;width:93%;height:178px;transform:rotate(-6deg) skewY(-1deg);border:1px solid #8e8fe66b;background:#131a32;border-radius:14px;box-shadow:15px 30px 45px #0408196e;overflow:hidden}.hero-browser-top{height:31px;border-bottom:1px solid #3a4565;display:flex;align-items:center;gap:5px;padding-left:12px}.hero-browser-top i{height:7px;width:7px;border-radius:100%;background:#fb7d87}.hero-browser-top i:nth-child(2){background:#ffca79}.hero-browser-top i:nth-child(3){background:#7fe6b9}.hero-browser-body{display:grid;grid-template-columns:65px 1fr;height:147px}.hero-browser-nav{background:#1a223f;border-right:1px solid #394360;padding:12px 9px}.hero-browser-nav div{height:5px;background:#4b5483;border-radius:10px;margin:0 0 10px}.hero-browser-nav div:nth-child(2){width:75%;background:#7970e7}.hero-browser-nav div:nth-child(3){width:90%}.hero-panes{padding:13px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.hero-pane{border:1px solid #465175;border-radius:9px;background:linear-gradient(145deg,#29355b,#222943);padding:11px}.hero-pane span{display:block;width:26px;height:26px;border-radius:8px;background:#7a71e9;margin-bottom:10px}.hero-pane:nth-child(2) span{background:#4cc6bc}.hero-pane strong,.hero-pane small{display:block;height:5px;background:#8d97b7;border-radius:5px;margin-bottom:7px}.hero-pane small{width:65%;background:#505b7d}.float-pill{position:absolute;right:9px;bottom:28px;background:#f6f5ff;color:#6654cc;padding:9px 11px;border-radius:10px;font-size:10px;font-weight:800;box-shadow:0 13px 30px #0b102d70;display:flex;gap:5px;align-items:center;animation:float 6s ease-in-out infinite}.float-pill svg{width:14px;height:14px}.article-content{background:var(--paper);padding:42px clamp(25px,5vw,56px) 28px;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.article-content h2{font-size:25px;line-height:1.4;letter-spacing:-.5px;color:var(--ink);margin:49px 0 19px;scroll-margin-top:115px}.article-content h2:first-of-type{margin-top:24px}.article-content p{font-size:14.5px;line-height:2.05;color:#59647b;margin:0 0 17px}.article-content strong{color:#2c3450}.article-content a:not(.card-link){color:#6656d3;text-decoration:underline;text-decoration-color:#ccc6ff;text-underline-offset:3px}.article-content ul{padding-left:21px;color:#59647b;line-height:2;font-size:14px}.article-content li{margin-bottom:6px}.callout{background:#f5f3ff;border:1px solid #e3defe;border-left:3px solid #8574f5;border-radius:12px;padding:21px 23px;margin:30px 0}.callout-title{font-size:13px;font-weight:800;color:#5645c4;display:flex;align-items:center;gap:9px;margin-bottom:10px}.callout ul{margin:0;padding-left:21px}.callout li{font-size:13px;line-height:1.9;margin:0}.features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:26px 0 16px}.feature{background:linear-gradient(150deg,#fafbfe,#fff);border:1px solid #e8eaf3;border-radius:13px;padding:23px;transition:transform .2s,border-color .2s,box-shadow .2s}.feature:hover{transform:translateY(-3px);border-color:#d4cdfb;box-shadow:0 12px 30px #43437910}.feature svg{width:19px;height:19px;color:#7664e0}.feature:nth-child(2n) svg{color:#368fb1}.feature h3{font-size:15px;margin:12px 0 8px}.feature p{font-size:12.5px;line-height:1.8;margin:0}.flow{display:flex;align-items:center;gap:8px;margin:25px 0;padding:19px;background:#f9faff;border:1px solid #e9ebf4;border-radius:13px}.flow-node{flex:1;min-width:0;text-align:center;background:#fff;border:1px solid #e5e8f3;border-radius:10px;padding:16px 8px;box-shadow:0 6px 12px #2b385008}.flow-node svg{color:#7061db;width:20px;height:20px}.flow-node b{display:block;font-size:12px;margin:8px 0 4px}.flow-node small{display:block;color:#8f96a9;font-size:10px}.flow-arrow{color:#babcd0;width:17px;height:17px;flex:0 0 17px}.steps{display:grid;gap:15px;margin:25px 0}.step{display:grid;grid-template-columns:35px 1fr;gap:15px;padding:17px 0;border-bottom:1px solid #eff0f5}.step:last-child{border-bottom:0}.num{width:34px;height:34px;background:#edeaff;color:#6350d4;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:13px}.step h3{margin:1px 0 5px;font-size:14px}.step p{margin:0;font-size:13px}.note{border-radius:12px;border:1px solid #dceaf5;background:#f2f8fe;display:flex;gap:12px;padding:16px;margin:25px 0}.note svg{flex:none;color:#4184b5;width:19px;height:19px;margin-top:3px}.note p{font-size:12px;margin:0}.faq{border-bottom:1px solid #eaecf3}.faq summary{font-size:14px;font-weight:720;cursor:pointer;padding:17px 0;display:flex;align-items:center;gap:11px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";margin-left:auto;font-size:22px;color:#7e73cb;font-weight:400}.faq[open] summary:after{content:"−"}.faq p{padding-right:25px;padding-bottom:12px;font-size:13px}.article-end{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:28px;margin-top:48px}.article-end small{font-size:12px;color:#929bb2}.article-end a{font-size:12px!important;text-decoration:none!important;font-weight:760}.next-articles{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:23px 0 45px}.next-card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:14px;transition:border-color .2s,transform .2s}.next-card:hover{transform:translateY(-3px);border-color:#aca1ee}.next-card small{font-size:11px;color:#9da4b7}.next-card strong{display:block;font-size:13px;margin-top:10px;line-height:1.6}.next-card:last-child{text-align:right}.doc-footer{border-top:1px solid var(--line);padding-top:20px;color:#939bb0;font-size:11px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.doc-footer a:hover{color:#6954d2}.floating-actions{position:fixed;bottom:28px;right:28px;z-index:30;display:grid;gap:8px}.float-action{width:43px;height:43px;border-radius:13px;border:1px solid #e3e6f0;background:#fff;color:#525c77;box-shadow:0 12px 30px #2025441c;display:grid;place-items:center}.float-action:hover{color:#6e5adb;border-color:#c0b6ff}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);padding:11px 16px;border-radius:10px;background:#202744;color:#fff;font-size:13px;opacity:0;pointer-events:none;transition:.25s;z-index:90}.toast.show{opacity:1;transform:translate(-50%,0)}.scrim{display:none}.sidebar-close{display:none}
body.dark{--ink:#f0f1ff;--muted:#a8b1ca;--line:#2e3651;--paper:#172034;--page:#101728;--soft:#252749;--shadow:0 24px 70px rgba(0,0,0,.11)}body.dark .content{background:radial-gradient(ellipse 65% 20% at 92% 3%,rgba(88,74,157,.11),transparent 80%),var(--page)}body.dark .lead,body.dark .article-content p,body.dark .article-content ul{color:#bac3d8}body.dark .article-content strong{color:#f0f0ff}body.dark .tagline{color:#9da9be}body.dark .eyebrow{background:#2b2955;color:#afa4ff}body.dark .article-content{border-color:#2a334e}body.dark .callout{background:#272543;border-color:#443c72}body.dark .callout-title{color:#bfb0ff}body.dark .feature{background:#1b263b;border-color:#303a55}body.dark .flow{background:#1a2439;border-color:#323b54}body.dark .flow-node{background:#243049;border-color:#344260}body.dark .flow-node small{color:#a6b0cb}body.dark .step{border-color:#303a55}body.dark .num{background:#313064;color:#cabfff}body.dark .note{background:#1f3345;border-color:#2b5064}body.dark .note p{color:#c3d5e9}body.dark .faq{border-color:#303a55}body.dark .next-card{background:#172034;border-color:#303a55}body.dark .float-action{background:#232c43;border-color:#3b4763;color:#d5ddf1}body.dark .article-end,body.dark .doc-footer{border-color:#303a55}body.dark .breadcrumbs{color:#8997b5}body.dark .meta{color:#8f9fbc}
@keyframes float{50%{transform:translateY(-5px)}}@media(max-width:1200px){.layout{grid-template-columns:275px minmax(0,1fr)}.top-inner{padding:0 20px}.side-in{padding:24px 12px}.content{padding:28px 33px 70px}.article-content{padding:35px 32px 27px}}@media(max-width:900px){.top nav{display:none}.layout{display:block}.mobile-open{display:grid}.side{position:fixed;left:0;top:72px;bottom:0;height:auto;z-index:55;width:min(320px,88vw);transform:translateX(-104%);transition:transform .25s ease;box-shadow:20px 0 60px #06091d44}.side.open{transform:translateX(0)}.sidebar-close{display:flex;border:0;background:transparent;color:#bfc7e2;align-items:center;gap:6px;padding:0;margin-bottom:16px;font-size:12px}.scrim.open{display:block;position:fixed;z-index:54;inset:72px 0 0;background:#0b112acc}.content{padding:24px 24px 70px}.top-actions{margin-left:auto}}@media(max-width:640px){.top{height:64px}.reading-progress{top:62px}.top-inner{padding:0 15px;gap:12px}.top .brand{font-size:21px}.top .brand em{display:none}.top-actions .download{font-size:0;padding:11px}.top-actions .download svg{width:17px;height:17px}.side{top:64px}.scrim.open{top:64px}.content{padding:21px 15px 70px}.breadcrumbs{margin:5px 0 30px}.intro-eyebrow{margin-bottom:15px}.lead{font-size:14px}.article-hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:30px 25px 0}.hero-diagram{padding:20px 22px 30px}.hero-browser{height:151px}.hero-browser-body{height:120px}.hero-panes{padding:8px}.hero-pane{padding:7px}.hero-pane span{width:21px;height:21px;margin-bottom:7px}.article-content{padding:29px 19px 22px}.article-content h2{font-size:21px}.article-content p{font-size:14px;line-height:1.9}.features{grid-template-columns:1fr}.flow{padding:11px;gap:5px}.flow-node{padding:12px 4px}.flow-node b{font-size:10px}.flow-node small{font-size:9px}.flow-arrow{width:11px;height:11px;flex-basis:11px}.next-articles{grid-template-columns:1fr}.next-card:last-child{text-align:left}.floating-actions{right:14px;bottom:15px}.top-actions{gap:6px}.brand .mark{width:30px;height:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Article body and in-page outline additions; the supplied documentation shell rules remain intact. */
.content-layout{display:grid;grid-template-columns:minmax(0,900px) 190px;gap:24px;align-items:start;max-width:1160px;margin:0 auto}.content-layout .article{max-width:none;min-width:0}.article-content{min-width:0;overflow-wrap:anywhere}.article-content img,.article-content video{max-width:100%;height:auto}.article-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.article-content pre{max-width:100%;overflow:auto}.article-content iframe{max-width:100%}.article-content a{overflow-wrap:anywhere}.article-toc{position:sticky;top:96px;max-height:calc(100vh - 112px);overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:15px;box-shadow:var(--shadow)}.article-toc strong{display:block;font-size:12px;margin:0 0 9px}.article-toc a{display:block;padding:7px 8px;border-radius:7px;color:var(--muted);font-size:12px;line-height:1.55;overflow-wrap:anywhere}.article-toc a.active{background:#eeebff;color:#6251ca}.article-content h2,.article-content h3{scroll-margin-top:96px}.article-title{overflow-wrap:anywhere}.article-summary{max-width:760px}.doc-page .article{max-width:none}.doc-page .article-content{background:var(--paper)}.doc-page .article-content img{display:inline-block}.doc-page .article-hero{margin-top:28px}.doc-page .article-end{display:flex}.doc-page .article-end a{font-size:12px;font-weight:760}.doc-page .empty-state{font-size:12px;line-height:1.7;color:#919dbb;padding:10px}.doc-page .nav-item a{overflow-wrap:anywhere}.doc-page .article-content table th,.doc-page .article-content table td{white-space:normal}.doc-page .article-content pre code{white-space:pre}.doc-page .nav-item a{min-height:44px}.doc-page .doc-search input{min-height:44px}.doc-page .sidebar-close{min-height:44px}.doc-page .side-callout a{display:inline-flex;align-items:center;min-height:44px}.doc-page .article-content img{object-fit:contain}
@media(max-width:1100px){.content-layout{grid-template-columns:minmax(0,1fr)}.article-toc{display:none}}@media(max-width:900px){.content-layout{display:block}}

.easybr-legacy-resource-note{display:block;margin:18px 0;padding:12px 16px;border-left:3px solid #a18bd7;border-radius:0 7px 7px 0;background:rgba(139,101,223,.06);color:inherit;font-size:13px;line-height:1.8}

.doc-language-switch{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 9px;border:1px solid #c9d3ff30;border-radius:10px;font-size:12px;color:#e0d3ff}.doc-language-switch:focus-visible{outline:2px solid #ceb5ff;outline-offset:3px}@media(max-width:360px){.top-inner{gap:8px;padding-inline:10px}.top .brand{gap:7px;font-size:19px}.top-actions{gap:5px}.doc-language-switch{padding-inline:7px}}
