
:root{--sp-10wv4:#14AACC;--sp-1gcaz:#12CEC8;--sp-z5men:#E93F56;--sp-1vobj:#0B1619;--sp-14xa6:#192D34;--sp-xqf9x:#ECF2F4;--sp-92z31:#99B1B8;--sp-13tqj:#274149;--sp-1mn9y:#3DD7FA;--sp-18v2u:#062A32;--sp-ruwxs:3px;--sp-11b4h:1.14rem;--sp-7mf98:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--sp-2qz57:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--sp-1qd5p:1120px;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:4.5rem;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sp-1vobj);color:var(--sp-xqf9x);font:15px/1.75 var(--sp-7mf98);overflow-wrap:anywhere}
a{color:var(--sp-1mn9y);text-underline-offset:3px}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid var(--sp-1mn9y);outline-offset:2px;border-radius:3px}
h1,h2,h3{font-family:var(--sp-2qz57);line-height:1.3;color:var(--sp-xqf9x)}
.sp-x3zsa{position:absolute;left:-999px;top:0;background:var(--sp-10wv4);color:var(--sp-18v2u);padding:.5rem 1rem;z-index:20}
.sp-x3zsa:focus{left:1rem}
.sp-1lbba{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--sp-1vobj) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--sp-13tqj)}
.sp-x9ie0{max-width:calc(var(--sp-1qd5p) + 160px);margin:0 auto;padding:.55rem 1rem;display:flex;align-items:center;gap:.9rem;min-height:3.4rem}
.sp-1niu9{display:flex;align-items:center;gap:.55rem;color:var(--sp-xqf9x);text-decoration:none;font-weight:700;white-space:nowrap}
.sp-1niu9 .sp-1csvr{width:26px;height:26px;flex:none}
.sp-h74rl{display:flex;align-items:center;gap:.4rem;min-width:0;font:13px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--sp-92z31);padding-left:.9rem;border-left:1px solid var(--sp-13tqj)}
.sp-h74rl span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-h74rl b{font-weight:500;color:var(--sp-xqf9x);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-1729u{margin-left:auto;flex:none;background:var(--sp-10wv4);color:var(--sp-18v2u);text-decoration:none;font-size:13px;font-weight:600;padding:.4rem .85rem;border-radius:var(--sp-ruwxs)}
.sp-yxis2{max-width:calc(var(--sp-1qd5p) + 160px);margin:0 auto;padding:0 1rem;display:grid;grid-template-columns:230px minmax(0,1fr) 210px;gap:calc(var(--sp-11b4h)*2.4)}
.sp-1uags{position:sticky;top:3.4rem;align-self:start;max-height:calc(100vh - 3.4rem);overflow:auto;padding:1.6rem 0 2rem;font-size:14px}
.sp-1uags>details>summary{display:none}
.sp-x7nv4{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--sp-92z31);margin:0 0 .6rem;font-family:var(--sp-7mf98)}
.sp-1kgo9,.sp-1kgo9 ul{list-style:none;margin:0;padding:0}
.sp-1kgo9>li{margin-bottom:.15rem}
.sp-1kgo9 a{display:flex;align-items:center;gap:.5rem;padding:.32rem .6rem;border-radius:var(--sp-ruwxs);color:var(--sp-xqf9x);text-decoration:none}
.sp-1kgo9 a:hover{background:color-mix(in srgb,var(--sp-10wv4) 12%,transparent)}
.sp-1kgo9 svg{width:15px;height:15px;flex:none;stroke:var(--sp-92z31)}
.sp-1kgo9 ul{margin:.15rem 0 .35rem 1.05rem;padding-left:.7rem;border-left:1px solid var(--sp-13tqj)}
.sp-1kgo9 ul a{font-size:13px;color:var(--sp-92z31);padding:.22rem .5rem;display:block}
.sp-l1xh5{margin-top:1.4rem;padding-top:1rem;border-top:1px dashed var(--sp-13tqj);font-size:12px;color:var(--sp-92z31)}
.sp-xhwtn{min-width:0;padding:1.8rem 0 3rem}
.sp-p2i1n{font:12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--sp-1mn9y);letter-spacing:.06em;margin:0 0 .8rem}
.sp-xhwtn h1{font-size:clamp(1.65rem,1.2rem + 1.8vw,2.35rem);margin:0 0 .7rem;letter-spacing:-.01em}
.sp-f55gc{font-size:1.06rem;color:var(--sp-92z31);margin:0 0 1.2rem;max-width:44em}
.sp-ifqy3{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:13px;color:var(--sp-92z31);padding-bottom:1.2rem;border-bottom:1px solid var(--sp-13tqj);margin-bottom:1.6rem}
.sp-ychh3{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:1.2rem;align-items:stretch;margin-bottom:2.4rem}
.sp-kfba2{border:1px solid var(--sp-13tqj);border-left:3px solid var(--sp-10wv4);background:var(--sp-14xa6);border-radius:var(--sp-ruwxs);padding:1rem 1.2rem}
.sp-kfba2 h2{font-size:14px;margin:0 0 .5rem}
.sp-kfba2 ol{margin:0;padding-left:1.3rem;columns:2;column-gap:1.6rem;font-size:14px}
.sp-kfba2 li{break-inside:avoid;padding:.12rem 0}
.sp-fbmo9{margin:0;border:1px solid var(--sp-13tqj);border-radius:var(--sp-ruwxs);background:color-mix(in srgb,var(--sp-10wv4) 7%,var(--sp-1vobj));display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.sp-fbmo9 .sp-lxtvb{display:block;width:100%;height:auto}
.sp-fbmo9 figcaption{font-size:12px;color:var(--sp-92z31);padding:.35rem .7rem;border-top:1px solid var(--sp-13tqj)}
.sp-1wkeg{margin:0 0 2.8rem}
.sp-1wkeg>h2,.sp-f96np h2{font-size:1.4rem;margin:0 0 .9rem;padding-bottom:.45rem;border-bottom:1px solid var(--sp-13tqj);position:relative}
.sp-ocbzv{color:var(--sp-10wv4);opacity:.0;margin-left:.35rem;text-decoration:none;font-weight:400;transition:opacity .15s}
h2:hover .sp-ocbzv,.sp-ocbzv:focus{opacity:1}
.sp-cvyy3{color:var(--sp-92z31);margin:-.4rem 0 1rem;font-size:14px}
.download{list-style:none;margin:0;padding:0;border:1px solid var(--sp-13tqj);border-radius:var(--sp-ruwxs);overflow:hidden}
.download li+li{border-top:1px solid var(--sp-13tqj)}
.download a{display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.75rem 1rem;color:var(--sp-xqf9x);text-decoration:none;background:var(--sp-14xa6)}
.download a:hover{background:color-mix(in srgb,var(--sp-10wv4) 10%,var(--sp-14xa6))}
.download svg{width:22px;height:22px;stroke:var(--sp-1mn9y)}
.download b{font-weight:600;display:block}
.download small{color:var(--sp-92z31);font-size:12.5px}
.download em{font-style:normal;font-size:12px;font-weight:600;color:var(--sp-18v2u);background:var(--sp-10wv4);padding:.2rem .65rem;border-radius:999px}
.sp-f96np{margin:0 0 2.8rem}
.sp-f96np h3{font-size:1.1rem;margin:1.6rem 0 .5rem}
.sp-f96np p{margin:0 0 1rem}
.sp-f96np ul,.sp-f96np ol{padding-left:1.4rem;margin:0 0 1rem}
.sp-f96np li{margin:.25rem 0}
.sp-1e5lf{display:grid;gap:.8rem}
.sp-1y6rm{--sp-18cq0:var(--sp-1gcaz);border:1px solid var(--sp-13tqj);border-left:4px solid var(--sp-18cq0);background:color-mix(in srgb,var(--sp-18cq0) 7%,var(--sp-1vobj));border-radius:var(--sp-ruwxs);padding:.85rem 1.1rem}
.sp-1y6rm[data-verdict="优点"]{--sp-18cq0:var(--sp-10wv4)}
.sp-1y6rm[data-verdict="不足"]{--sp-18cq0:var(--sp-z5men)}
.sp-bg2og{display:inline-flex;align-items:center;gap:.4rem;font-size:12px;font-weight:700;color:var(--sp-xqf9x);letter-spacing:.04em}
.sp-bg2og::before{content:"i";display:inline-grid;place-items:center;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--sp-18cq0);color:var(--sp-18v2u);font:700 11px/1 Georgia,serif}
.sp-1y6rm[data-verdict="不足"] .sp-bg2og::before{content:"!"}
.sp-1y6rm[data-verdict="优点"] .sp-bg2og::before{content:"✓"}
.sp-1y6rm h3{font-size:1rem;margin:.3rem 0 .2rem}
.sp-1y6rm p{margin:0;font-size:14px;color:var(--sp-92z31)}
.sp-18b96{background:var(--sp-14xa6);border:1px solid var(--sp-13tqj);border-radius:var(--sp-ruwxs);padding:1.2rem 1.4rem}
.sp-q14zu h3{font-size:1.05rem;margin:0 0 1rem}
.steps{list-style:none;margin:0;padding:0;counter-reset:sp-b4sz0}
.steps li{counter-increment:sp-b4sz0;position:relative;padding:0 0 1.1rem 2.8rem}
.steps li::before{content:counter(sp-b4sz0);position:absolute;left:0;top:0;width:1.9rem;height:1.9rem;display:grid;place-items:center;border-radius:50%;background:var(--sp-10wv4);color:var(--sp-18v2u);font:700 13px/1 ui-monospace,Menlo,monospace}
.steps li::after{content:"";position:absolute;left:.92rem;top:2.1rem;bottom:.2rem;border-left:2px dotted var(--sp-13tqj)}
.steps li:last-child{padding-bottom:0}
.steps li:last-child::after{display:none}
.steps strong{display:block;line-height:1.9rem}
.steps p{margin:.1rem 0 0;font-size:14px;color:var(--sp-92z31)}
.glossary{margin:0;border-top:1px solid var(--sp-13tqj)}
.glossary div{display:grid;grid-template-columns:10em minmax(0,1fr);gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--sp-13tqj)}
.glossary dt{font:600 14px/1.6 ui-monospace,SFMono-Regular,Menlo,var(--sp-7mf98);color:var(--sp-1mn9y)}
.glossary dd{margin:0;font-size:14px}
.sp-lsloi{overflow-x:auto;border:1px solid var(--sp-13tqj);border-radius:var(--sp-ruwxs)}
.compare{width:100%;border-collapse:collapse;font-size:14px;min-width:30rem}
.compare caption{caption-side:top;text-align:left;font-size:13px;color:var(--sp-92z31);padding:.6rem .9rem}
.compare th,.compare td{padding:.6rem .9rem;text-align:left;border-top:1px solid var(--sp-13tqj);vertical-align:top}
.compare thead th{background:var(--sp-14xa6);font-size:13px}
.compare tbody th{font-weight:600}
.faq details{border-bottom:1px solid var(--sp-13tqj)}
.faq summary{cursor:pointer;padding:.75rem 0;font-weight:600;list-style:none;display:flex;gap:.6rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";font-family:ui-monospace,Menlo,monospace;color:var(--sp-1mn9y);width:1rem;flex:none}
.faq details[open] summary::before{content:"−"}
.faq details p{margin:0 0 .9rem 1.6rem;color:var(--sp-92z31);font-size:14px}
.sp-4enrz{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.5rem}
.sp-4enrz a{display:block;padding:.55rem .8rem;border:1px solid var(--sp-13tqj);border-radius:var(--sp-ruwxs);text-decoration:none;font-size:14px;background:var(--sp-14xa6)}
.sp-4enrz a::before{content:"→ ";color:var(--sp-92z31)}
.sp-4enrz a:hover{border-color:var(--sp-10wv4)}
.fapnet-latest{margin:0 0 2.8rem}
.fapnet-latest h2{font-size:1.4rem;margin:0 0 .9rem;padding-bottom:.45rem;border-bottom:1px solid var(--sp-13tqj)}
.fapnet-latest ul{list-style:none;margin:0;padding:0}
.fapnet-latest li{padding:.45rem 0;border-bottom:1px dashed var(--sp-13tqj)}
.fapnet-latest a{text-decoration:none}
.sp-1b7y9{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem}
.sp-1b7y9 a{display:block;border:1px solid var(--sp-13tqj);border-radius:var(--sp-ruwxs);padding:.8rem 1rem;text-decoration:none;color:var(--sp-xqf9x)}
.sp-1b7y9 a:hover{border-color:var(--sp-10wv4)}
.sp-1b7y9 small{display:block;font-size:12px;color:var(--sp-92z31)}
.sp-1b7y9 b{color:var(--sp-1mn9y)}
.sp-1b7y9 a+a{text-align:right}
.sp-uhuwz{position:sticky;top:3.4rem;align-self:start;padding:1.8rem 0 2rem;font-size:13px;max-height:calc(100vh - 3.4rem);overflow:auto}
.sp-uhuwz h2{font-size:12px;margin:0 0 .6rem;color:var(--sp-92z31);font-family:var(--sp-7mf98);font-weight:600}
.sp-uhuwz ul{list-style:none;margin:0 0 1.6rem;padding:0;border-left:1px solid var(--sp-13tqj)}
.sp-uhuwz li a{display:block;padding:.25rem 0 .25rem .8rem;margin-left:-1px;border-left:2px solid transparent;color:var(--sp-92z31);text-decoration:none;line-height:1.45}
.sp-uhuwz li a:hover{color:var(--sp-xqf9x)}
.sp-uhuwz li a[aria-current]{color:var(--sp-1mn9y);border-left-color:var(--sp-10wv4);font-weight:600}
.sp-4ef54 a{display:block;padding:.2rem 0;font-size:13px}
.sp-ycn9g{border-top:1px solid var(--sp-13tqj);background:var(--sp-14xa6);font-size:13px;color:var(--sp-92z31)}
.sp-o5l7n{max-width:calc(var(--sp-1qd5p) + 160px);margin:0 auto;padding:1.2rem 1rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem}
.sp-ycn9g a{color:var(--sp-92z31)}
@media (max-width:1180px){.sp-yxis2{grid-template-columns:210px minmax(0,1fr)}.sp-uhuwz{position:static;grid-column:2;max-height:none;padding:0 0 2rem}.sp-110h1,#toc-list{display:none}}
@media (max-width:820px){
.sp-yxis2{display:block}
.sp-1uags{position:static;max-height:none;padding:1rem 0 0;overflow:visible}
.sp-1uags>details{border:1px solid var(--sp-13tqj);border-radius:var(--sp-ruwxs);background:var(--sp-14xa6)}
.sp-1uags>details>summary{display:flex;align-items:center;justify-content:space-between;padding:.6rem .9rem;cursor:pointer;font-weight:600;list-style:none}
.sp-1uags>details>summary::-webkit-details-marker{display:none}
.sp-1uags>details>summary::after{content:"▾";color:var(--sp-92z31)}
.sp-1uags>details[open]>summary::after{content:"▴"}
.sp-1uags>details>div{padding:0 .6rem .8rem}
.sp-x7nv4{display:none}
.sp-ychh3{grid-template-columns:1fr}
.sp-fbmo9{max-width:280px}
.sp-h74rl{display:none}
}
@media (max-width:520px){
.sp-kfba2 ol{columns:1}
.glossary div{grid-template-columns:1fr;gap:.15rem}
.sp-1b7y9{grid-template-columns:1fr}
.sp-1b7y9 a+a{text-align:left}
.download em{display:none}
.sp-18b96{padding:1rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
h1{text-wrap:balance}