:root{--c-primary:#4338ca;--c-primary-2:#0ea5e9;--c-primary-soft:#eef2ff;--c-accent:#ffb020;--c-accent-dark:#f59e0b;--c-cta:#f97316;--c-cta-hover:#ea580c;--c-ink:#0f172a;--c-text:#334155;--c-muted:#64748b;--c-line:#e2e8f0;--c-bg:#f8fafc;--c-card:#fff;--c-green:#16a34a;--c-red:#dc2626;--grad:linear-gradient(135deg, #4338ca 0%, #0ea5e9 100%);--radius:14px;--radius-sm:8px;--shadow:0 1px 2px #0f172a0a, 0 4px 16px #0f172a0f;--shadow-lg:0 10px 40px #4338ca24;--w:1240px;--header-h:64px;--font:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 90px);-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--c-text);background:var(--c-bg);margin:0;font-size:16px;line-height:1.75}img{max-width:100%;height:auto;display:block}a{color:var(--c-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{color:var(--c-ink);margin:0 0 .5em;line-height:1.35}h1{letter-spacing:-.01em;font-size:clamp(1.7rem,3.6vw,2.5rem);font-weight:800}h2{font-size:clamp(1.35rem,2.4vw,1.7rem);font-weight:800}h3{font-size:1.2rem;font-weight:700}p{margin:0 0 1em}code{background:var(--c-primary-soft);color:var(--c-primary);border-radius:6px;padding:.1em .4em;font-size:.92em}.container{width:100%;max-width:var(--w);margin:0 auto;padding:0 20px}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--c-muted)}.small{font-size:.875rem}.btn{cursor:pointer;white-space:nowrap;border:0;border-radius:10px;justify-content:center;align-items:center;gap:.4em;padding:.62em 1.15em;font-size:.95rem;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex;text-decoration:none!important}.btn:hover{transform:translateY(-1px)}.btn-cta{background:var(--c-cta);color:#fff;box-shadow:0 6px 18px #f9731659}.btn-cta:hover{background:var(--c-cta-hover)}.btn-primary{background:var(--grad);color:#fff}.btn-ghost{color:var(--c-primary);background:#fff;border:1.5px solid #c7d2fe}.btn-sm{border-radius:8px;padding:.4em .8em;font-size:.85rem}.btn-block{width:100%}.tag{background:var(--c-primary-soft);color:var(--c-primary);border-radius:999px;margin:0 .3em .3em 0;padding:.1em .6em;font-size:.78rem;font-weight:600;display:inline-block}.tag-hot{color:#c2410c;background:#fff7ed}.tag-green{color:#15803d;background:#f0fdf4}.badge-rank{width:30px;height:30px;color:var(--c-ink);background:#e2e8f0;border-radius:9px;place-items:center;font-size:.9rem;font-weight:800;display:inline-grid}.badge-rank.r1{color:#fff;background:linear-gradient(135deg,#fbbf24,#f59e0b)}.badge-rank.r2{color:#fff;background:linear-gradient(135deg,#cbd5e1,#94a3b8)}.badge-rank.r3{color:#fff;background:linear-gradient(135deg,#fdba74,#c2410c)}.stars{color:#f59e0b;letter-spacing:1px;white-space:nowrap}.card{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.table-wrap{border:1px solid var(--c-line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-overflow-scrolling:touch;background:#fff;margin:0 0 1.4em;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--c-line);vertical-align:middle;padding:11px 14px}thead th{color:var(--c-ink);white-space:nowrap;background:#f1f5ff;font-weight:700;position:sticky;top:0}tbody tr:nth-child(2n){background:#fafbff}tbody tr:hover{background:#f5f7ff}tbody tr:last-child td{border-bottom:0}tr.is-top{background:linear-gradient(90deg,#fff8eb,#fff)!important}td.num,th.num{text-align:center}.table-caption{color:var(--c-muted);margin:-.6em 0 1.4em;font-size:.85rem}.prose{font-size:1.02rem}.prose h2{margin-top:2.2em;padding-top:.2em;scroll-margin-top:120px}.prose h2:before{content:"";background:var(--grad);border-radius:4px;width:36px;height:4px;margin-bottom:.55em;display:block}.prose h3{margin-top:1.6em;scroll-margin-top:120px}.prose ul,.prose ol{margin:0 0 1em;padding-left:1.3em}.prose li{margin:.25em 0}.prose blockquote{border-left:4px solid var(--c-primary);background:var(--c-primary-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:1.2em 0;padding:.8em 1.1em}.prose table{margin:0}.prose>table,.prose .md-table{border:1px solid var(--c-line);border-radius:var(--radius);background:#fff;margin-bottom:1.4em;display:block;overflow-x:auto}.section-desc{color:var(--c-muted);border-left:3px solid #c7d2fe;margin:-.15em 0 1.1em;padding-left:.8em;font-size:.98rem}.callout{border-radius:var(--radius);border:1px solid;margin:0 0 1.4em;padding:16px 18px}.callout-info{background:#eff6ff;border-color:#bfdbfe}.callout-tip{background:#f0fdf4;border-color:#bbf7d0}.callout-warn{background:#fffbeb;border-color:#fde68a}.callout strong:first-child{color:var(--c-ink)}.grid{gap:18px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=960px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.page-hero{border-bottom:1px solid var(--c-line);background:radial-gradient(1200px 400px at 10% -10%,#c7d2fe 0%,#0000 60%),radial-gradient(900px 400px at 100% 0,#bae6fd 0%,#0000 55%),#f8fafc;padding:34px 0 28px}.page-hero .lead{color:var(--c-text);max-width:860px;font-size:1.08rem}.meta-row{color:var(--c-muted);flex-wrap:wrap;gap:8px 18px;margin:.6em 0 1em;font-size:.88rem;display:flex}.meta-row span:before{content:"• ";color:#a5b4fc}.layout-article{grid-template-columns:minmax(0,1fr) 320px;gap:32px;padding:28px 20px 60px;display:grid}.layout-article>main{min-width:0}.sidebar{position:relative}.sidebar-sticky{top:calc(var(--header-h) + 86px);max-height:calc(100vh - var(--header-h) - 96px);scrollbar-width:none;flex-direction:column;gap:14px;padding-bottom:8px;display:flex;position:sticky;overflow-y:auto}.sidebar-sticky .toc{scrollbar-width:thin;flex:none;max-height:max(150px,100vh - 680px);overflow-y:auto}@media (width<=1100px){html{scroll-padding-top:calc(var(--header-h) + 16px)}}@media (width<=1024px){.layout-article{grid-template-columns:1fr}.sidebar-sticky{max-height:none;position:static}.sidebar .toc{display:none}}.faq details{border:1px solid var(--c-line);border-radius:var(--radius-sm);background:#fff;margin-bottom:10px}.faq summary{cursor:pointer;color:var(--c-ink);gap:10px;padding:14px 16px;font-weight:700;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"Q";background:var(--grad);color:#fff;border-radius:6px;flex:none;place-items:center;width:22px;height:22px;margin-top:2px;font-size:.78rem;display:inline-grid}.faq .faq-a{color:var(--c-text);padding:0 16px 14px 48px}.faq .faq-a p:last-child{margin:0}.breadcrumbs{color:var(--c-muted);margin-bottom:.8em;font-size:.85rem}.breadcrumbs a{color:var(--c-muted)}.breadcrumbs span.sep{color:#cbd5e1;margin:0 .4em}.site-header[data-astro-cid-nen7h5rs]{z-index:50;backdrop-filter:saturate(1.6)blur(12px);border-bottom:1px solid var(--c-line);background:#ffffffeb;position:sticky;top:0}.hdr[data-astro-cid-nen7h5rs]{height:var(--header-h);align-items:center;gap:22px;display:flex}.brand[data-astro-cid-nen7h5rs]{flex:none;align-items:center;gap:10px;display:flex;text-decoration:none!important}.brand-text[data-astro-cid-nen7h5rs]{flex-direction:column;line-height:1.1;display:flex}.brand-text[data-astro-cid-nen7h5rs] strong[data-astro-cid-nen7h5rs]{color:var(--c-ink);letter-spacing:.02em;font-size:1.32rem;font-weight:800}.brand-text[data-astro-cid-nen7h5rs] small[data-astro-cid-nen7h5rs]{color:var(--c-muted);letter-spacing:.08em;font-size:.7rem}.main-nav[data-astro-cid-nen7h5rs]{flex:1;align-items:center;gap:2px;display:flex}.nav-a[data-astro-cid-nen7h5rs]{color:var(--c-ink);border-radius:8px;padding:8px 12px;font-size:.95rem;font-weight:600;text-decoration:none!important}.nav-a[data-astro-cid-nen7h5rs]:hover,.nav-a[data-astro-cid-nen7h5rs].active{background:var(--c-primary-soft);color:var(--c-primary)}.caret[data-astro-cid-nen7h5rs]{opacity:.6;font-size:.7em}.has-mega[data-astro-cid-nen7h5rs]{position:static}.mega[data-astro-cid-nen7h5rs]{left:0;right:0;top:var(--header-h);border-bottom:1px solid var(--c-line);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;background:#fff;transition:all .18s;position:absolute;transform:translateY(-6px)}.has-mega[data-astro-cid-nen7h5rs]:hover .mega[data-astro-cid-nen7h5rs],.has-mega[data-astro-cid-nen7h5rs]:focus-within .mega[data-astro-cid-nen7h5rs]{opacity:1;visibility:visible;transform:none}.mega-inner[data-astro-cid-nen7h5rs]{max-width:var(--w);grid-template-columns:repeat(4,1fr) 240px;gap:20px;margin:0 auto;padding:22px 20px;display:grid}.mega-title[data-astro-cid-nen7h5rs]{color:var(--c-ink);margin:0;font-size:.95rem;font-weight:800}.mega-desc[data-astro-cid-nen7h5rs]{color:var(--c-muted);margin:0 0 8px;font-size:.78rem}.mega-link[data-astro-cid-nen7h5rs]{border-radius:8px;margin:0 -8px;padding:6px 8px;display:block;text-decoration:none!important}.mega-link[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{color:var(--c-ink);font-size:.92rem;font-weight:600;display:block}.mega-link[data-astro-cid-nen7h5rs] small[data-astro-cid-nen7h5rs]{color:var(--c-muted);font-size:.76rem}.mega-link[data-astro-cid-nen7h5rs]:hover{background:var(--c-primary-soft)}.mega-link[data-astro-cid-nen7h5rs]:hover span[data-astro-cid-nen7h5rs]{color:var(--c-primary)}.mega-promo[data-astro-cid-nen7h5rs]{border-radius:var(--radius);background:linear-gradient(160deg,#eef2ff,#e0f2fe);flex-direction:column;align-self:start;gap:6px;padding:16px;display:flex;text-decoration:none!important}.mega-promo[data-astro-cid-nen7h5rs] strong[data-astro-cid-nen7h5rs]{color:var(--c-ink);font-size:1.3rem}.mega-promo[data-astro-cid-nen7h5rs] small[data-astro-cid-nen7h5rs]{color:var(--c-text);font-size:.8rem}.hdr-actions[data-astro-cid-nen7h5rs]{align-items:center;gap:10px;margin-left:auto;display:flex}.burger[data-astro-cid-nen7h5rs]{border:1px solid var(--c-line);cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:40px;height:40px;display:none}.burger[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{background:var(--c-ink);border-radius:2px;width:18px;height:2px}.kw-strip[data-astro-cid-nen7h5rs]{border-top:1px solid var(--c-line);background:#fff}.kw-inner[data-astro-cid-nen7h5rs]{grid-template-columns:repeat(9,auto);justify-content:space-between;padding-top:0;padding-bottom:0;display:grid}.kw[data-astro-cid-nen7h5rs]{text-align:center;color:var(--c-text);white-space:nowrap;border-bottom:2px solid #0000;padding:11px 6px;font-size:.84rem;font-weight:600;line-height:1;display:block;text-decoration:none!important}@media (width<=1280px){.kw[data-astro-cid-nen7h5rs]{padding:10px 3px;font-size:.78rem}}.kw[data-astro-cid-nen7h5rs]:nth-child(-n+9){border-top:0}.kw[data-astro-cid-nen7h5rs]:nth-child(n+10){border-top:1px solid #f1f5f9}.kw[data-astro-cid-nen7h5rs]:hover{color:var(--c-primary);background:#f8faff}.kw[data-astro-cid-nen7h5rs].active{color:var(--c-primary);border-bottom-color:var(--c-primary);background:#f5f7ff}.kw-hot[data-astro-cid-nen7h5rs]{color:#c2410c}@media (width<=1100px){.kw-strip[data-astro-cid-nen7h5rs]{display:none}}.drawer[data-astro-cid-nen7h5rs]{border-top:1px solid var(--c-line);background:#fff;max-height:calc(100vh - 110px);padding:12px 20px 24px;overflow:auto}.drawer-group[data-astro-cid-nen7h5rs]{margin-bottom:14px}.drawer-links[data-astro-cid-nen7h5rs]{grid-template-columns:1fr 1fr;gap:6px;margin-top:6px;display:grid}.drawer-links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--c-ink);background:#f8fafc;border-radius:8px;padding:8px 10px;font-size:.9rem}@media (width<=1100px){.main-nav[data-astro-cid-nen7h5rs]{display:none}.burger[data-astro-cid-nen7h5rs]{display:flex}}@media (width<=480px){.hdr-actions[data-astro-cid-nen7h5rs] .btn[data-astro-cid-nen7h5rs]{display:none}}body.no-scroll{overflow:hidden}.site-footer[data-astro-cid-jo6i4kqk]{color:#94a3b8;background:#0b1120;margin-top:40px;padding:48px 0 24px;font-size:.9rem}.site-footer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:#cbd5e1}.site-footer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:#fff}.ft-top[data-astro-cid-jo6i4kqk]{border-bottom:1px solid #1e293b;grid-template-columns:1.3fr 1fr;gap:40px;padding-bottom:28px;display:grid}.ft-brand[data-astro-cid-jo6i4kqk]{align-items:center;gap:10px;margin-bottom:10px;display:inline-flex;text-decoration:none!important}.ft-brand[data-astro-cid-jo6i4kqk] strong[data-astro-cid-jo6i4kqk]{color:#fff;font-size:1.25rem}.ft-title[data-astro-cid-jo6i4kqk]{color:#fff;margin:0 0 10px;font-weight:700}.ft-brand-grid[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:8px;display:flex}.ft-brand-grid[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{border:1px solid #1e293b;border-radius:999px;padding:4px 10px;font-size:.82rem}.ft-cols[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(6,1fr);gap:24px;padding:28px 0;display:grid}.ft-cols[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{margin:0;padding:0;list-style:none}.ft-cols[data-astro-cid-jo6i4kqk] li[data-astro-cid-jo6i4kqk]{margin:6px 0}.ft-bottom[data-astro-cid-jo6i4kqk]{border-top:1px solid #1e293b;padding-top:18px;font-size:.8rem}@media (width<=960px){.ft-top[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr}.ft-cols[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(2,1fr)}}
