.pg{position:relative;max-width:1180px;margin:0 auto;padding:120px 24px 40px}
.pg-head{position:relative;max-width:760px}
.pg-head h1{font-size:30px;font-weight:700;letter-spacing:-.03em;opacity:0;animation:rise .8s var(--ease) forwards}
.pg-head h1 b{position:relative;font-weight:800;white-space:nowrap}
.pg-head h1 b::after{content:"";position:absolute;left:0;right:0;bottom:-.08em;height:9px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='8'%3E%3Cpath d='M0 4 Q4.5 0 9 4 T18 4' fill='none' stroke='%23b7a6e8' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x 0 0/18px 8px;opacity:.85;animation:wave 2.4s linear infinite;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 var(--u,0%),transparent var(--u,0%));mask-image:linear-gradient(90deg,#000 0,#000 var(--u,0%),transparent var(--u,0%));transition:--u 1.2s var(--ease) .5s}
.pg-head.in h1 b::after{--u:100%}
.pg-head p{margin-top:8px;font-size:14px;line-height:1.65;color:var(--mute);max-width:560px}
.pg-head .kick{opacity:0;animation:rise .9s var(--ease) .05s forwards}
.pg-head>p{opacity:0;animation:rise 1s var(--ease) .3s forwards}

.nums{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.stat{padding:16px 22px;border-radius:18px;min-width:150px}
.stat b{display:block;font-size:30px;font-weight:700;letter-spacing:-.04em;color:#fff;font-variant-numeric:tabular-nums}
.stat span{font-size:12px;color:var(--mute)}
.rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}

.tbar{position:sticky;top:74px;z-index:20;margin:24px 0 10px;padding:10px;border-radius:22px;display:flex;flex-direction:column;gap:10px;overflow:visible;transition:box-shadow .4s var(--ease),background .4s}
.tbar.stuck{background:linear-gradient(180deg,rgba(22,20,29,.9),rgba(16,14,21,.86));box-shadow:0 18px 40px -18px rgba(0,0,0,.8)}
.bar-row{display:flex;gap:10px;align-items:center}
.search{position:relative;flex:1;display:flex;align-items:center;gap:12px;height:48px;padding:0 16px;border-radius:14px;background:rgba(10,9,14,.55);border:1px solid var(--line);transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.search:focus-within{border-color:rgba(183,166,232,.55);box-shadow:0 0 0 4px rgba(183,166,232,.1)}
.search>svg{width:17px;height:17px;color:var(--mute);transition:color .3s,transform .4s var(--soft)}
.search:focus-within>svg{color:var(--hi);transform:scale(1.1) rotate(-8deg)}
.search input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--text);font:inherit;font-size:14px}
.search input::placeholder{color:#6b6680}
kbd{font-family:inherit;font-size:11px;font-weight:600;color:var(--mute);padding:3px 8px;border-radius:7px;border:1px solid var(--line2);background:rgba(255,255,255,.03)}
.search .x{display:none;border:0;background:none;color:var(--mute);cursor:pointer;padding:4px}
.search.has .x{display:block}.search.has kbd{display:none}
.seg{position:relative;display:flex;padding:4px;border-radius:14px;background:rgba(10,9,14,.55);border:1px solid var(--line);height:48px}
.seg button,.chips button{position:relative;z-index:1;border:0;background:none;font:inherit;cursor:pointer;white-space:nowrap}
.seg button{color:var(--mute);font-size:13px;font-weight:500;padding:0 16px;transition:color .3s}
.seg button.on{color:#fff}
.slide{position:absolute;z-index:0;border-radius:10px;background:rgba(183,166,232,.14);box-shadow:inset 0 0 0 1px rgba(183,166,232,.22);transition:left .55s var(--soft),width .55s var(--soft),top .55s var(--soft),height .55s var(--soft)}
.seg .slide{top:4px;bottom:4px}
.chips{position:relative;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:2px}
.chips::-webkit-scrollbar{display:none}
.chips button{color:#bdb8cb;font-size:13px;font-weight:500;padding:8px 14px;border-radius:99px;transition:color .3s}
.chips button span{margin-left:7px;font-size:11px;color:var(--mute);transition:color .3s}
.chips button.on,.chips button:hover{color:#fff}
.chips button.on span{color:var(--hi)}
.chips .slide{border-radius:99px}

.mods{min-height:50vh}
.mod{padding-top:44px}
.mod-h{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}
.mod-h h2{font-size:26px}
.mod-h span{font-size:12px;font-weight:600;color:var(--hi);background:rgba(183,166,232,.12);padding:3px 9px;border-radius:99px}
.mod>p{font-size:13.5px;color:var(--mute);margin-bottom:18px}
.cm{padding:0;border-radius:18px;margin-bottom:10px}
.cm.rv{transform:translateY(18px)}
.cm.rv.in{transform:none}
.cm.open{border-color:rgba(183,166,232,.32)}
.cmd-row{position:relative;display:flex;align-items:center;gap:16px;padding:16px 20px;cursor:pointer;user-select:none}
.cmd-row code{font-size:14.5px;font-weight:600;color:#fff;white-space:nowrap;transition:color .3s}
.cmd-row code i{font-style:normal;color:var(--hi);opacity:.8}
.cm:hover .cmd-row code{color:#f0ebff}
.cmd-row .desc{flex:1;min-width:0;font-size:13px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tg{font-size:10.5px;font-weight:600;padding:4px 9px;border-radius:99px;white-space:nowrap;background:rgba(232,176,92,.1);color:var(--warn)}
.tg.s{background:rgba(183,166,232,.12);color:var(--hi)}
.chev{flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:99px;background:rgba(255,255,255,.04);color:var(--mute);transition:transform .5s var(--soft),background .3s,color .3s}
.chev svg{width:14px;height:14px}
.cm.open>.cmd-row .chev{transform:rotate(90deg);background:rgba(183,166,232,.15);color:var(--hi)}
.cmd-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.cm.open>.cmd-body{grid-template-rows:1fr}
.cmd-body>div{overflow:hidden;min-height:0}
.cmd-in{padding:4px 20px 20px;opacity:0;transform:translateY(-6px);transition:opacity .4s var(--ease),transform .5s var(--ease)}
.cm.open>.cmd-body .cmd-in{opacity:1;transform:none;transition-delay:.08s}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.fact{padding:12px 14px;border-radius:14px;background:rgba(10,9,14,.45);border:1px solid var(--line);font-size:13px;color:#d6d2e2}
.fact small{display:block;font-size:11px;color:var(--mute);margin-bottom:5px}
.al{display:inline-block;font-size:12px;padding:2px 9px;border-radius:7px;background:rgba(183,166,232,.1);color:#d9cffa;margin:0 4px 4px 0}
.syn{border-radius:14px;background:rgba(8,7,11,.72);border:1px solid var(--line);overflow:hidden}
.syn-l{display:flex;align-items:center;gap:12px;padding:11px 14px;font-size:13px}
.syn-l+.syn-l{border-top:1px solid var(--line)}
.syn-l small{width:58px;flex:none;font-size:11px;color:var(--mute)}
.syn-l code{flex:1;min-width:0;color:#ece8f8;font-family:ui-monospace,Consolas,monospace;font-size:12.5px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.syn-l code em{font-style:normal;color:var(--hi)}
.cp{flex:none;display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:9px;background:rgba(255,255,255,.04);color:var(--mute);cursor:pointer;transition:background .25s,color .25s,transform .35s var(--soft)}
.cp:hover{background:rgba(183,166,232,.14);color:#fff}
.cp:active{transform:scale(.9)}
.cp.ok{color:var(--ok);background:rgba(127,184,154,.12)}
.cp svg{width:14px;height:14px}
.args{margin-top:12px;border-radius:14px;border:1px solid var(--line);overflow:hidden}
.arg{display:grid;grid-template-columns:130px 1fr auto;gap:14px;align-items:center;padding:10px 14px;font-size:13px}
.arg+.arg{border-top:1px solid var(--line)}
.arg b{font-weight:600;color:#fff}
.arg span{color:#cfcade}
.arg i{font-style:normal;font-size:11px;color:var(--mute);padding:2px 8px;border-radius:99px;border:1px solid var(--line2);white-space:nowrap}
.arg i.req{color:var(--warn);border-color:rgba(232,176,92,.3)}
.note{margin-top:12px;display:flex;gap:10px;font-size:13px;line-height:1.6;color:#d6d2e2;padding:12px 14px;border-radius:14px;background:rgba(183,166,232,.07);border:1px solid rgba(183,166,232,.14)}
.note svg{flex:none;width:16px;height:16px;margin-top:2px;color:var(--hi)}
.note code,.md code{font-family:ui-monospace,Consolas,monospace;font-size:.88em;background:rgba(183,166,232,.1);border:1px solid rgba(183,166,232,.14);padding:1px 6px;border-radius:6px;color:#e6defd}
.subs{margin-top:16px}
.subs h4{font-size:12px;font-weight:500;color:var(--mute);margin:0 0 10px 2px}
.subs .cm{background:rgba(10,9,14,.4);backdrop-filter:none;-webkit-backdrop-filter:none;margin-bottom:8px}
.subs .cmd-row{padding:13px 16px}
.empty{text-align:center;padding:90px 0;color:var(--mute);font-size:14px}
.empty img{width:64px;height:64px;border-radius:50%;margin:0 auto 18px;animation:bob 4s ease-in-out infinite;filter:grayscale(.4)}
.hl{background:rgba(183,166,232,.25);color:#fff;border-radius:3px}

.toast{position:fixed;z-index:80;left:50%;bottom:28px;transform:translate(-50%,30px);opacity:0;padding:11px 18px;border-radius:99px;font-size:13px;font-weight:500;color:#fff;background:rgba(22,20,29,.92);border:1px solid var(--line2);backdrop-filter:blur(14px);box-shadow:0 14px 40px -12px rgba(0,0,0,.8);transition:.5s var(--soft);pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}

.dw{display:grid;grid-template-columns:230px minmax(0,1fr) 190px;gap:28px;max-width:1360px;margin:0 auto;padding:130px 24px 40px;align-items:start}
.side{position:sticky;top:96px;padding:12px;border-radius:22px}
.side b{display:block;font-size:11px;font-weight:600;color:var(--mute);letter-spacing:.06em;text-transform:uppercase;padding:12px 12px 8px}
.side b:first-child{padding-top:4px}
.side nav{position:relative;display:flex;flex-direction:column;gap:2px}
.side a{position:relative;z-index:1;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;font-size:13.5px;color:#bdb8cb;transition:color .3s,transform .35s var(--ease)}
.side a svg{width:16px;height:16px;color:var(--mute);transition:color .3s}
.side a:hover,.side a.hov{color:#fff}
.side a.hov svg{color:var(--hi)}
.side a.on{color:#fff}
.side a.on svg{color:var(--hi)}
.side .slide{left:0;right:0;border-radius:12px}
.dsearch{margin:24px 0 8px;height:48px}
.doc{padding:44px 52px;border-radius:26px;min-height:60vh}
.doc-in{transition:opacity .35s var(--ease),transform .5s var(--ease)}
.doc-in.fade{opacity:0;transform:translateY(12px)}
.crumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--mute);margin-bottom:12px}
.crumb svg{width:12px;height:12px}
.crumb span:last-child{color:var(--hi)}
.md{font-size:15px;line-height:1.78;color:#d4d0e0}
.md h1{font-size:30px;letter-spacing:-.03em;line-height:1.06;margin-bottom:16px}
.md h1+p{font-size:16.5px;color:#bcb7cc}
.md h2{position:relative;font-size:24px;margin:52px 0 14px;scroll-margin-top:100px}
.md h2::before{content:"";position:absolute;left:-22px;top:.45em;width:6px;height:6px;border-radius:99px;background:var(--hi);opacity:0;transform:scale(0);transition:.4s var(--soft)}
.md h2:hover::before{opacity:1;transform:none}
.md h3{font-size:17px;color:#fff;margin:30px 0 8px;scroll-margin-top:100px}
.md p{margin:12px 0}
.md strong{color:#fff;font-weight:600}
.md a{color:var(--hi);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .4s var(--ease)}
.md a:hover{background-size:100% 1px}
.md ul,.md ol{margin:14px 0;padding-left:4px;list-style:none}
.md li{position:relative;padding-left:22px;margin:8px 0}
.md ul>li::before{content:"";position:absolute;left:4px;top:.72em;width:6px;height:6px;border-radius:2px;background:var(--hi);opacity:.7;transform:rotate(45deg)}
.md ol{counter-reset:n}
.md ol>li{counter-increment:n;padding-left:32px}
.md ol>li::before{content:counter(n);position:absolute;left:0;top:.2em;width:22px;height:22px;display:grid;place-items:center;font-size:11px;font-weight:600;color:var(--hi);border-radius:99px;background:rgba(183,166,232,.12)}
.tbl{margin:20px 0;border-radius:16px;border:1px solid var(--line);background:rgba(10,9,14,.4);overflow-x:auto}
.md table{width:100%;border-collapse:collapse;font-size:13.5px}
.md th{text-align:left;font-size:11.5px;font-weight:600;color:var(--mute);padding:12px 16px;background:rgba(255,255,255,.02);white-space:nowrap}
.md td{padding:12px 16px;border-top:1px solid var(--line);vertical-align:top;line-height:1.55}
.md td:first-child{min-width:170px;max-width:270px}
.md td:first-child code{overflow-wrap:anywhere;line-height:1.9}
.md td:nth-child(2){min-width:200px}
.md td:last-child:not(:nth-child(2)){white-space:nowrap;color:var(--mute)}
.md tr{transition:background .25s}
.md tbody tr:hover{background:rgba(183,166,232,.05)}
.md blockquote{margin:16px 0;padding:12px 16px;border-radius:14px;background:rgba(183,166,232,.07);border:1px solid rgba(183,166,232,.14);color:#d6d2e2}
.md pre{margin:16px 0;padding:14px 16px;border-radius:14px;background:rgba(8,7,11,.72);border:1px solid var(--line);overflow-x:auto}
.md pre code{background:none;border:0;padding:0}
.qa{border-radius:16px;border:1px solid var(--line);background:rgba(10,9,14,.35);margin:10px 0;transition:border-color .3s,background .3s}
.qa:hover{border-color:var(--line2)}
.qa.open{border-color:rgba(183,166,232,.3);background:rgba(183,166,232,.05)}
.qa-q{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border:0;background:none;font:inherit;font-size:15px;font-weight:600;color:#fff;text-align:left;cursor:pointer}
.qa-q>span:first-child{flex:1}
.qa-q .chev{width:26px;height:26px}
.qa.open .qa-q .chev{transform:rotate(90deg);background:rgba(183,166,232,.15);color:var(--hi)}
.qa-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.qa.open .qa-a{grid-template-rows:1fr}
.qa-a>div{overflow:hidden;min-height:0}
.qa-a p{margin:0;padding:0 18px 16px;font-size:14px;color:#cfcade;opacity:0;transform:translateY(-4px);transition:opacity .35s,transform .45s var(--ease)}
.qa.open .qa-a p{opacity:1;transform:none;transition-delay:.06s}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:56px}
.pn a{padding:18px 20px;border-radius:18px;border:1px solid var(--line);background:rgba(10,9,14,.4);transition:border-color .3s,transform .45s var(--soft)}
.pn a:hover{border-color:rgba(183,166,232,.4);transform:translateY(-3px)}
.pn small{display:block;font-size:11.5px;color:var(--mute);margin-bottom:4px}
.pn b{font-size:15px;font-weight:600;color:#fff}
.pn a.nx{text-align:right;grid-column:2}
.toc{position:sticky;top:110px;font-size:12.5px}
.toc b{display:block;font-size:11px;font-weight:600;color:var(--mute);letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}
.toc nav{position:relative;display:flex;flex-direction:column;border-left:1px solid var(--line)}
.toc button{display:block;text-align:left;border:0;background:none;font:inherit;font-size:12.5px;color:var(--mute);padding:6px 0 6px 14px;cursor:pointer;transition:color .3s}
.toc button:hover,.toc button.on{color:#fff}
.toc i{position:absolute;left:-1px;width:2px;border-radius:2px;background:var(--hi);transition:top .45s var(--soft),height .45s var(--soft),opacity .3s}

.cw{max-width:1180px;margin:0 auto;padding:120px 24px 40px}
.cw-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.cw-head .search{flex:none;width:340px}
.ic-box{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:11px;background:rgba(183,166,232,.12);border:1px solid rgba(183,166,232,.2);color:var(--hi);margin-bottom:14px}
.ic-box svg{width:18px;height:18px}
.cw-body{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;margin-top:26px;align-items:start}
.cside{position:sticky;top:90px;display:flex;flex-direction:column;gap:14px}
.cside .seg{height:auto}
.cside .seg button{flex:1;padding:9px 10px}
.cside .seg i{font-style:normal;font-size:11px;color:var(--mute);margin-left:4px}
.cats{position:relative;display:flex;flex-direction:column;gap:2px}
.cats b{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#6f6a82;padding:14px 10px 6px}
.cats b:first-of-type{padding-top:2px}
.cats a{position:relative;z-index:1;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;font-size:13.5px;font-weight:500;color:#bdb8cb;transition:color .3s}
.cats a svg{width:16px;height:16px;color:var(--mute);transition:color .3s}
.cats a span{flex:1}
.cats a i{font-style:normal;font-size:11px;font-weight:600;color:var(--mute);padding:1px 7px;border-radius:6px;background:rgba(255,255,255,.04);transition:.3s}
.cats a.on,.cats a.hov{color:#fff}
.cats a.on svg,.cats a.hov svg{color:var(--hi)}
.cats a.on i{background:rgba(183,166,232,.18);color:#e6defd}
.cats .slide{left:0;right:0;border-radius:10px}
.seg button.hov{color:#fff}
.cat-h{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.cat-h .ic-box{margin:0}
.cat-h h2{font-size:20px}
.cat-h p{font-size:13px;color:var(--mute);margin-top:2px}
.clist .mod{padding-top:22px}
.clist .mod-h h2{font-size:15px;letter-spacing:-.01em}
.clist .mod-h span{font-size:10.5px;padding:2px 7px}
.clist .mod>p{font-size:12.5px;margin-bottom:12px}
.cat-h{padding-bottom:16px;border-bottom:1px solid var(--line)}
.clist .mod:first-child{padding-top:0}
.cm .cmd-row code{min-width:150px}

.mnav{display:none}
@media (max-width:1180px){
  .dw{grid-template-columns:220px minmax(0,1fr)}
  .toc{display:none}
}
@media (max-width:1000px){
  .mnav{display:flex;gap:4px;margin:0 auto;padding:5px;border-radius:99px;width:max-content;max-width:calc(100% - 28px)}
  .mnav a{padding:8px 14px;border-radius:99px;font-size:13px;color:#bdb8cb}
  .mnav a.on{color:#fff;background:rgba(183,166,232,.14)}
  .mwrap{position:relative;z-index:5;padding-top:76px}
  .pg{padding-top:50px}
  .dw{grid-template-columns:1fr;padding-top:40px}
  .side{position:static;display:flex;padding:6px;border-radius:18px;overflow-x:auto;scrollbar-width:none}
  .side::-webkit-scrollbar{display:none}
  .side b,.side .slide{display:none}
  .side nav{flex-direction:row;flex:none}
  .side a{white-space:nowrap}
  .side a.on{background:rgba(183,166,232,.14)}
  .side a:hover{transform:none}
  .facts{grid-template-columns:1fr}
  .cw{padding-top:40px}
  .cw-head{flex-direction:column;align-items:stretch}
  .cw-head .search{width:auto}
  .cw-body{grid-template-columns:1fr}
  .cside{position:static}
  .cats{flex-direction:row;overflow-x:auto;scrollbar-width:none}
  .cats::-webkit-scrollbar{display:none}
  .cats b,.cats .slide{display:none}
  .cats a{white-space:nowrap;flex:none}
  .cats a.on{background:rgba(183,166,232,.14)}
}
@media (max-width:620px){
  .pg,.dw{padding-left:16px;padding-right:16px}
  .tbar{position:relative;top:auto}
  .bar-row{flex-direction:column;align-items:stretch}
  .seg{align-self:flex-start}
  .cmd-row .desc{display:none}
  .arg{grid-template-columns:1fr auto}
  .arg span{grid-column:1/-1;grid-row:2}
  .doc{padding:28px 20px}
  .pn{grid-template-columns:1fr}
  .pn a.nx{grid-column:1}
  kbd{display:none}
}
