
:root{color-scheme:light;--_sowj4k:#1446b3;--_2ymoq2:#50697c;--_13at60:#142634;--_6g90wg:#d4e1ed;--_1t7e7p:#5b34ea;--_13kq6d:#eef5fb;--_traj0a:#f8fafb;--_1o38e4:#ffffff;--_10r8n7:#146ec2;--_ouuem0:#0e4981}
:root{--_19t6yk:"Source Han Sans CN","Noto Sans CJK SC","WenQuanYi Micro Hei","Microsoft YaHei",sans-serif;--_1p2cxn:2px;--_1hw311:"Source Han Sans CN","Noto Sans CJK SC","WenQuanYi Micro Hei","Microsoft YaHei",sans-serif;--_110vd2:.95rem;--_1c2moe:1240px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:4.5rem;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{overflow-wrap:anywhere;color:var(--_13at60);background:var(--_13kq6d);margin:0;font:17px/1.85 var(--_1hw311)}
a{color:var(--_ouuem0);text-underline-offset:3px}
summary:focus-visible,a:focus-visible{outline:2px solid var(--_ouuem0);outline-offset:3px;border-radius:3px}
svg{display:block}
h1,h3,h2{color:var(--_13at60);font-family:var(--_19t6yk);line-height:1.3;margin:0}
._10rewr{margin:0 auto;padding:0 1.25rem;max-width:var(--_1c2moe)}
/* top bar */
._19zr2d{border-bottom:1px solid var(--_6g90wg)}
._19zr2d ._10rewr{display:flex;justify-content:space-between;align-items:center;height:3.5rem;gap:1rem}
._ji1w0g{text-decoration:none;font-weight:700;color:var(--_13at60);gap:.55rem;display:flex;font-size:.95rem;align-items:center;min-width:0}
._ji1w0g ._o9w4vi{height:26px;flex:none;width:26px}
._272pi8{color:var(--_2ymoq2);font-size:.8rem;white-space:nowrap}
/* intro */
._1oi34m{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 85% 40%,color-mix(in srgb,var(--_10r8n7) 22%,var(--_13kq6d)),var(--_13kq6d) 70%)}
._1oi34m ._10rewr{padding-top:calc(var(--_110vd2)*4);padding-bottom:calc(var(--_110vd2)*4);position:relative;display:flex;min-height:min(78vh,640px);flex-direction:column;justify-content:center}
._1aqr0m{transform:translateY(-50%);width:min(56%,700px);position:absolute;top:50%;pointer-events:none;right:-4%}
._1aqr0m ._ob1m02{height:auto;width:100%}
._1ihkrw{max-width:36rem;position:relative}
._7p4ita{margin:0 0 1.2rem;font-weight:700;color:var(--_ouuem0);letter-spacing:.2em;font-size:.8rem}
._1oi34m h1{font-weight:900;font-size:clamp(2.2rem,6.4vw,4.4rem);letter-spacing:-.01em;line-height:1.12}
._1wtwmb{color:var(--_2ymoq2);line-height:1.7;margin:1.4rem 0 2rem;font-size:clamp(1.05rem,2.2vw,1.3rem)}
._t5uuif{text-decoration:none;font-weight:700;background:var(--_10r8n7);border-radius:999px;display:inline-flex;padding:.8rem 1.4rem;align-self:flex-start;gap:.6rem;align-items:center;color:var(--_traj0a)}
._t5uuif svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2}
._t5uuif:hover{background:var(--_sowj4k)}
/* layout */
._n0b1ql{gap:calc(var(--_110vd2)*4);grid-template-columns:220px minmax(0,1fr);align-items:start;display:grid}
._fdgoto{position:sticky;top:2rem;padding-top:calc(var(--_110vd2)*4)}
._mp56c6{font-weight:700;color:var(--_2ymoq2);letter-spacing:.24em;margin:0 0 .8rem;font-size:.7rem}
._fdgoto ol{padding:0;counter-reset:_elnzm4;margin:0;border-left:2px solid var(--_6g90wg);list-style:none}
._fdgoto li{counter-increment:_elnzm4}
._fdgoto ._ouo442::after{counter-increment:_elnzm4;content:""}
._fdgoto ._1sw4ln{counter-increment:none}
._fdgoto a{text-decoration:none;font-size:.9rem;line-height:1.45;color:var(--_2ymoq2);border-left:2px solid transparent;gap:.7rem;padding:.4rem 0 .4rem 1rem;display:flex;margin-left:-2px}
._fdgoto a::before{font-weight:700;flex:none;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--_2ymoq2) 70%,transparent);padding-top:.1rem;content:counter(_elnzm4,decimal-leading-zero);font-size:.8rem}
._fdgoto ._1sw4ln a::before{content:"+"}
._fdgoto a:hover{color:var(--_13at60)}
._fdgoto a._traj0a{color:var(--_13at60);border-left-color:var(--_10r8n7);font-weight:700}
._fdgoto a._traj0a::before{color:var(--_ouuem0)}
._buph1n{counter-reset:_1ds97w;max-width:46rem;min-width:0}
/* chapters */
._11ggjg,._sybx5v{border-bottom:1px solid var(--_6g90wg);padding:calc(var(--_110vd2)*4.5) 0 calc(var(--_110vd2)*1.5)}
._11ggjg:not(._zlua61),._sybx5v{counter-increment:_1ds97w}
._zlua61{border:0;padding:0}
._3pyl6z::before,._sybx5v::before{color:transparent;margin-bottom:.9rem;display:block;font:900 clamp(3rem,7vw,4.6rem)/1 var(--_19t6yk);-webkit-text-stroke:1.5px var(--_10r8n7);letter-spacing:-.02em;content:counter(_1ds97w,decimal-leading-zero)}
._13xwro h2,._sybx5v h2{font-weight:800;margin-bottom:1.2rem;font-size:clamp(1.55rem,3.4vw,2.2rem)}
._1xyxxb{color:var(--_2ymoq2);margin:-.4rem 0 1.8rem}
._sybx5v h3{font-size:1.2rem;margin:2.2rem 0 .6rem}
._sybx5v h3::before{background:var(--_1t7e7p);height:.55rem;vertical-align:.18em;border-radius:50%;display:inline-block;content:"";width:.55rem;margin-right:.6rem}
._sybx5v p{margin:0 0 1.2rem}
._sybx5v>p:first-of-type{color:var(--_13at60);font-size:1.12em}
._sybx5v ul,._sybx5v ol{margin:0 0 1.3rem;padding-left:1.4rem}
._sybx5v li{margin:.4rem 0}
._sybx5v li::marker{font-weight:700;color:var(--_ouuem0)}
/* downloads */
._1tcqwf{border-top:1px solid var(--_6g90wg);padding:0;margin:0;list-style:none}
._1tcqwf a{text-decoration:none;padding:1rem .4rem;color:var(--_13at60);grid-template-columns:2.6rem minmax(0,1fr) auto;border-bottom:1px solid var(--_6g90wg);display:grid;align-items:center;gap:1rem}
._1tcqwf li:last-child a{border-bottom:0}
._1tcqwf a:hover{background:color-mix(in srgb,var(--_10r8n7) 8%,transparent)}
._1tcqwf svg{width:2.6rem;height:2.6rem;padding:.55rem;border-radius:var(--_1p2cxn);background:color-mix(in srgb,var(--_10r8n7) 14%,var(--_1o38e4));fill:none;stroke:var(--_ouuem0);stroke-width:1.7}
._1tcqwf b{font-size:1.1rem;display:block}
._1tcqwf small{line-height:1.4;color:var(--_2ymoq2);display:block;font-size:.85rem}
._1tcqwf em{font-weight:700;color:var(--_ouuem0);font-style:normal;font-size:.85rem;white-space:nowrap}
/* steps */
._12l06k h3{font-size:1.15rem;margin-bottom:1.2rem}
._u55jlp{counter-reset:_87qetr;padding:0;margin:0;list-style:none}
._u55jlp li{column-gap:.9rem;border-top:1px dashed var(--_6g90wg);grid-template-columns:3.2rem minmax(0,1fr);display:grid;padding:1rem 0;counter-increment:_87qetr}
._u55jlp li::before{grid-row:span 2;color:var(--_ouuem0);font:800 2rem/1 var(--_19t6yk);content:counter(_87qetr)}
._u55jlp strong,._u55jlp b{font-size:1rem}
._u55jlp p{color:var(--_2ymoq2);margin:.2rem 0 0;font-size:.95rem}
/* compare */
._piyq1a{overflow-x:auto;margin:0 -.2rem}
._ccvtae{width:100%;border-collapse:collapse;font-size:.95rem;min-width:30rem}
._ccvtae caption{font-weight:700;text-align:left;padding-bottom:.8rem;caption-side:top}
._ccvtae th,._ccvtae td{border-bottom:1px solid var(--_6g90wg);text-align:left;vertical-align:top;padding:.75rem .8rem}
._ccvtae thead th{letter-spacing:.06em;color:var(--_2ymoq2);border-bottom:2px solid var(--_13at60);font-size:.8rem}
._ccvtae tbody tr:nth-child(odd){background:color-mix(in srgb,var(--_1o38e4) 70%,transparent)}
/* notes */
._4c9os{gap:0;display:grid}
._d3s77v{border-top:1px solid var(--_6g90wg);column-gap:1.4rem;display:grid;padding:1.3rem 0;grid-template-columns:7.5rem minmax(0,1fr)}
._1wiw0a{order:-1;grid-row:span 2;align-self:start;font-size:.8rem;font-weight:700;color:var(--_ouuem0);padding:.2rem .55rem;border:1px solid currentColor;border-radius:var(--_1p2cxn);text-align:center;line-height:1.5}
._d3s77v._eupwkp ._1wiw0a{color:var(--_1t7e7p)}
._d3s77v._k3qto7 ._1wiw0a{color:var(--_2ymoq2)}
._d3s77v h3{font-size:1.1rem}
._d3s77v p{color:var(--_2ymoq2);font-size:.95rem;margin:.35rem 0 0}
/* faq */
._1y33bc details{border-top:1px solid var(--_6g90wg)}
._1y33bc details:last-of-type{border-bottom:1px solid var(--_6g90wg)}
._1y33bc summary{cursor:pointer;font-weight:700;font-size:1.05rem;display:flex;padding:1.1rem 0;justify-content:space-between;list-style:none;gap:1rem}
._1y33bc summary::-webkit-details-marker{display:none}
._1y33bc summary::after{content:"+";flex:none;width:1.7rem;height:1.7rem;border-radius:50%;border:1px solid var(--_6g90wg);display:grid;place-items:center;color:var(--_ouuem0);font-weight:400}
._1y33bc details[open] summary::after{content:"−";background:var(--_10r8n7);border-color:var(--_10r8n7);color:var(--_traj0a)}
._1y33bc details p{margin:0 0 1.2rem;color:var(--_2ymoq2)}
/* glossary */
._1frss0{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;background:var(--_6g90wg);border:1px solid var(--_6g90wg);border-radius:var(--_1p2cxn);overflow:hidden}
._1frss0 div{padding:1rem 1.1rem;background:var(--_13kq6d)}
._1frss0 dt{font-weight:800;font-family:var(--_19t6yk)}
._1frss0 dd{line-height:1.65;font-size:.9rem;color:var(--_2ymoq2);margin:.3rem 0 0}
/* more */
._1g9xgh{padding:calc(var(--_110vd2)*4.5) 0 calc(var(--_110vd2)*3)}
._1g9xgh h2{margin-bottom:1.2rem;font-size:1.3rem}
._g2b3bm{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;gap:2rem}
._1g9xgh h3,._dfzok0 h2{margin:0 0 .6rem;color:var(--_2ymoq2);letter-spacing:.2em;font-size:.8rem;font-family:var(--_1hw311)}
._1u3wnh{display:flex;flex-direction:column}
._1u3wnh a,._dfzok0 a{text-decoration:none;color:var(--_13at60);display:block;border-bottom:1px solid var(--_6g90wg);padding:.5rem 0;font-size:.95rem}
._1u3wnh a:hover,._dfzok0 a:hover{color:var(--_ouuem0)}
._dfzok0{margin-top:2rem}
._dfzok0 ul{padding:0;margin:0;list-style:none}
._1yji83{flex-wrap:wrap;display:flex;gap:.5rem}
._1yji83 a{text-decoration:none;font-size:.9rem;color:var(--_13at60);background:color-mix(in srgb,var(--_10r8n7) 12%,var(--_1o38e4));border-radius:999px;padding:.3rem .8rem}
._1yji83 a:hover{background:var(--_10r8n7);color:var(--_traj0a)}
/* footer */
._41gmdg{border-top:1px solid var(--_6g90wg);color:var(--_2ymoq2);font-size:.85rem}
._41gmdg ._10rewr{padding-top:1.3rem;flex-wrap:wrap;display:flex;padding-bottom:1.3rem;gap:.5rem 1.5rem;justify-content:space-between}
._41gmdg p{margin:0}
._4u82u{position:fixed;right:1rem;bottom:1rem;z-index:20;display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .9rem;border-radius:999px;background:var(--_1o38e4);border:1px solid var(--_6g90wg);color:var(--_13at60);font-size:.8rem;text-decoration:none;box-shadow:0 6px 20px color-mix(in srgb,var(--_13at60) 14%,transparent);transition:opacity .2s,transform .2s}
._4u82u svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2}
._15rdmq ._4u82u:not(._28jifw){pointer-events:none;visibility:hidden;transform:translateY(.6rem);opacity:0}
@media (max-width:900px){
._n0b1ql{gap:0;grid-template-columns:minmax(0,1fr)}
._fdgoto{top:0;z-index:15;padding:.55rem 0;margin:0 -1.25rem;background:color-mix(in srgb,var(--_13kq6d) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--_6g90wg)}
._mp56c6{position:absolute;left:-999px}
._fdgoto ol{border:0;padding:0 1.25rem;gap:.4rem;overflow-x:auto;display:flex;scrollbar-width:none}
._fdgoto ol::-webkit-scrollbar{display:none}
._fdgoto a{white-space:nowrap;max-width:14em;overflow:hidden;text-overflow:ellipsis;display:block;margin:0;padding:.35rem .85rem;border:1px solid var(--_6g90wg);border-radius:999px;font-size:.85rem}
._fdgoto a::before{margin-right:.4rem}
._fdgoto a._traj0a{background:var(--_10r8n7);border-color:var(--_10r8n7);color:var(--_traj0a)}
._fdgoto a._traj0a::before{color:var(--_traj0a)}
._buph1n{max-width:none}
}
@media (max-width:640px){
body{font-size:16px}
._272pi8{display:none}
._1oi34m ._10rewr{padding-bottom:calc(var(--_110vd2)*3);padding-top:calc(var(--_110vd2)*3);min-height:0}
._1aqr0m{width:130%;top:auto;bottom:-15%;transform:none;opacity:.22;right:-55%}
._11ggjg,._sybx5v{padding-top:calc(var(--_110vd2)*3)}
._d3s77v{grid-template-columns:minmax(0,1fr)}
._1wiw0a{margin-bottom:.5rem;grid-row:auto;justify-self:start}
._g2b3bm,._1frss0{grid-template-columns:minmax(0,1fr)}
._1tcqwf em{display:none}
}
@media (prefers-reduced-motion:reduce){._4u82u{transition:none}}
._xa6180 ._10rewr{flex-direction:row-reverse}
._t9oqv3{background:var(--_1o38e4)}
._t9oqv3 ._10rewr{padding-bottom:calc(var(--_110vd2)*3);padding-top:calc(var(--_110vd2)*3);min-height:0}
._1ppc4i{grid-template-columns:1fr}
._1ppc4i ._fdgoto{padding-top:calc(var(--_110vd2)*2);position:static}
._1ppc4i ._fdgoto ol{flex-wrap:wrap;display:flex;gap:.3rem .5rem;border-left:0}
._1ppc4i ._fdgoto a{padding:.3rem .7rem;margin:0;border:1px solid var(--_6g90wg);border-radius:var(--_1p2cxn)}
._1ppc4i ._fdgoto a._traj0a{border-color:var(--_10r8n7)}
._l1yqxt{flex-wrap:wrap;display:flex;gap:.5rem 1.5rem;justify-content:space-between}
._l1yqxt p{margin:0}

._3pyl6z::before,._sybx5v::before{display:none}
._18v7gz{margin:.9rem 0 0;color:var(--_2ymoq2);font-size:.8rem}._18v7gz span{opacity:.8;margin-right:.5rem}._18v7gz a{color:var(--_2ymoq2)}
h1{text-wrap:balance}