.header[data-v-51665e7a]{position:fixed;top:0;left:0;right:0;z-index:120;height:var(--header-h);display:flex;align-items:center;background:transparent;border-bottom:1px solid transparent;transition:background .3s,border-color .3s,backdrop-filter .3s}.header.scrolled[data-v-51665e7a]{background:var(--surface-glass);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);border-bottom-color:var(--line)}.head-inner[data-v-51665e7a]{display:flex;align-items:center;gap:28px;height:100%}.brand[data-v-51665e7a]{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-mark[data-v-51665e7a]{width:34px;height:34px;border-radius:11px;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:800;font-size:17px;box-shadow:0 6px 16px #4f46e552}.brand-logo[data-v-51665e7a]{height:34px;max-width:150px;width:auto;object-fit:contain;display:block;flex-shrink:0}.brand-text[data-v-51665e7a]{display:flex;flex-direction:column;line-height:1.2}.brand-text strong[data-v-51665e7a]{font-size:15.5px;letter-spacing:-.01em}.brand-text em[data-v-51665e7a]{font-style:normal;font-size:10.5px;color:var(--ink-3);letter-spacing:.12em}.nav[data-v-51665e7a]{display:flex;align-items:center;gap:4px;flex:1}.nav-link[data-v-51665e7a]{position:relative;padding:8px 13px;font-size:14px;color:var(--ink-2);border-radius:9px;transition:color .2s,background .2s;white-space:nowrap}.nav-link[data-v-51665e7a]:hover{color:var(--ink);background:var(--brand-softer)}.nav-link.router-link-active[data-v-51665e7a]{color:var(--ink);font-weight:600}.nav-link.router-link-active[data-v-51665e7a]:after{content:"";position:absolute;left:13px;right:13px;bottom:1px;height:2px;border-radius:2px;background:var(--grad)}.actions[data-v-51665e7a]{display:flex;align-items:center;gap:8px;margin-left:auto}.search-trigger[data-v-51665e7a]{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px 0 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink-3);font-size:13px;transition:border-color .2s,color .2s,box-shadow .2s}.search-trigger[data-v-51665e7a]:hover{border-color:var(--line-strong);color:var(--ink-2);box-shadow:var(--shadow-sm)}.search-label[data-v-51665e7a]{color:var(--ink-2)}kbd[data-v-51665e7a]{font-family:inherit;font-size:10.5px;padding:2px 6px;border-radius:5px;background:var(--surface-2);color:var(--ink-3);border:1px solid var(--line)}.icon-btn[data-v-51665e7a]{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;border:1px solid transparent;background:transparent;color:var(--ink-2);transition:background .2s,color .2s,border-color .2s}.icon-btn[data-v-51665e7a]:hover{background:var(--brand-softer);color:var(--ink);border-color:var(--line)}.menu-toggle[data-v-51665e7a]{display:none}@media (max-width: 980px){.nav[data-v-51665e7a]{position:absolute;top:var(--header-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:2px;padding:10px 18px 18px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow);display:none}.nav.open[data-v-51665e7a]{display:flex;animation:floatUp .25s ease}.nav-link[data-v-51665e7a]{padding:12px 10px;font-size:15px}.nav-link.router-link-active[data-v-51665e7a]{background:var(--brand-softer)}.nav-link.router-link-active[data-v-51665e7a]:after{display:none}.menu-toggle[data-v-51665e7a]{display:grid}.search-label[data-v-51665e7a],.search-trigger kbd[data-v-51665e7a]{display:none}.search-trigger[data-v-51665e7a]{padding:0 10px}}@media (max-width: 520px){.brand-text em[data-v-51665e7a]{display:none}}.footer[data-v-c31a2950]{margin-top:80px;border-top:1px solid var(--line);background:var(--surface)}.footer-inner[data-v-c31a2950]{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;padding-top:52px;padding-bottom:42px}.brand[data-v-c31a2950]{display:flex;align-items:center;gap:10px;margin-bottom:14px}.brand-mark[data-v-c31a2950]{width:30px;height:30px;border-radius:9px;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:800;font-size:15px}.brand-logo[data-v-c31a2950]{height:30px;max-width:130px;width:auto;object-fit:contain;flex-shrink:0}.desc[data-v-c31a2950]{color:var(--ink-3);font-size:13.5px;line-height:1.8;max-width:320px}.link-col[data-v-c31a2950]{display:flex;flex-direction:column;gap:10px}.link-col h5[data-v-c31a2950]{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin-bottom:4px}.link-col a[data-v-c31a2950],.link-col span[data-v-c31a2950]{font-size:13.5px;color:var(--ink-2);transition:color .2s}.link-col a[data-v-c31a2950]:hover{color:var(--brand)}.bottom[data-v-c31a2950]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;border-top:1px solid var(--line);color:var(--ink-3);font-size:12.5px;flex-wrap:wrap}.powered[data-v-c31a2950]{opacity:.8}.icp[data-v-c31a2950]{color:var(--ink-3);font-size:12.5px;text-decoration:none;transition:color .2s}.icp[data-v-c31a2950]:hover{color:var(--brand);text-decoration:underline}@media (max-width: 860px){.footer-inner[data-v-c31a2950]{grid-template-columns:1fr 1fr;gap:28px;padding-top:40px}.footer[data-v-c31a2950]{margin-top:56px}}@media (max-width: 520px){.footer-inner[data-v-c31a2950]{grid-template-columns:1fr}.bottom[data-v-c31a2950]{flex-direction:column;align-items:flex-start}}.palette-mask[data-v-19777b87]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#0609108c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;justify-content:center;padding-top:12vh}.palette[data-v-19777b87]{width:min(620px,calc(100vw - 32px));max-height:70vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden;animation:floatUp .22s ease}.search-row[data-v-19777b87]{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);color:var(--ink-3)}.search-row input[data-v-19777b87]{flex:1;border:none;outline:none;background:transparent;font-size:15.5px;color:var(--ink)}.search-row input[data-v-19777b87]::placeholder{color:var(--ink-3)}kbd[data-v-19777b87]{font-family:inherit;font-size:10.5px;padding:2px 6px;border-radius:5px;background:var(--surface-2);color:var(--ink-3);border:1px solid var(--line)}.group[data-v-19777b87]{padding:10px;overflow-y:auto}.group-label[data-v-19777b87]{font-size:11.5px;color:var(--ink-3);padding:6px 10px 8px;letter-spacing:.08em}.item[data-v-19777b87]{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border:none;background:transparent;border-radius:10px;text-align:left;color:var(--ink);transition:background .15s}.item.active[data-v-19777b87]{background:var(--brand-soft)}.item-icon[data-v-19777b87]{width:26px;text-align:center;font-size:15px;flex-shrink:0}.item-main[data-v-19777b87]{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.item-title[data-v-19777b87]{font-size:14.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-main .item-desc[data-v-19777b87]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-desc[data-v-19777b87]{font-size:12.5px;color:var(--ink-3);flex:1}.item-meta[data-v-19777b87]{font-size:11.5px;color:var(--ink-3);flex-shrink:0}.item[data-v-19777b87] mark{background:#facc1559;color:inherit;border-radius:3px;padding:0 2px}.empty[data-v-19777b87]{padding:26px 12px;text-align:center;color:var(--ink-3);font-size:13px}.foot[data-v-19777b87]{display:flex;gap:18px;align-items:center;padding:10px 18px;border-top:1px solid var(--line);color:var(--ink-3);font-size:11.5px;background:var(--surface-2)}.foot span[data-v-19777b87]{display:flex;align-items:center;gap:4px}.fade-enter-active[data-v-19777b87],.fade-leave-active[data-v-19777b87]{transition:opacity .2s ease}.fade-enter-from[data-v-19777b87],.fade-leave-to[data-v-19777b87]{opacity:0}.back-top[data-v-d6fdce88]{position:fixed;right:26px;bottom:28px;z-index:90;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);color:var(--ink-2);box-shadow:var(--shadow);transition:transform .2s,color .2s,border-color .2s}.back-top[data-v-d6fdce88]:hover{transform:translateY(-3px);color:var(--brand);border-color:var(--brand)}.arrow[data-v-d6fdce88]{position:relative;z-index:1}.ring[data-v-d6fdce88]{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;width:50px;height:50px;transform:rotate(-90deg);pointer-events:none}.ring-bg[data-v-d6fdce88]{fill:none;stroke:var(--line);stroke-width:2}.ring-fg[data-v-d6fdce88]{fill:none;stroke:var(--brand);stroke-width:2;stroke-linecap:round;transition:stroke-dashoffset .15s linear}.fade-enter-active[data-v-d6fdce88],.fade-leave-active[data-v-d6fdce88]{transition:opacity .25s,transform .25s}.fade-enter-from[data-v-d6fdce88],.fade-leave-to[data-v-d6fdce88]{opacity:0;transform:translateY(10px)}@media (max-width: 768px){.back-top[data-v-d6fdce88]{right:16px;bottom:20px;width:40px;height:40px}}.app-shell[data-v-245c2021]{min-height:100vh;display:flex;flex-direction:column}.app-main[data-v-245c2021]{flex:1;padding-top:var(--header-h)}:root{--bg: #f6f7f9;--bg-grid: rgba(13, 18, 32, .035);--surface: #ffffff;--surface-2: #f0f2f6;--surface-glass: rgba(255, 255, 255, .72);--ink: #0d1220;--ink-2: #414b60;--ink-3: #8b94a7;--line: rgba(13, 18, 32, .09);--line-strong: rgba(13, 18, 32, .16);--brand: #4f46e5;--brand-2: #0891b2;--brand-soft: rgba(79, 70, 229, .08);--brand-softer: rgba(79, 70, 229, .04);--grad: linear-gradient(120deg, #4f46e5 0%, #0891b2 100%);--grad-warm: linear-gradient(120deg, #f97362 0%, #eab308 100%);--shadow-sm: 0 1px 2px rgba(13, 18, 32, .05);--shadow: 0 2px 4px rgba(13, 18, 32, .04), 0 12px 32px rgba(13, 18, 32, .07);--shadow-lg: 0 24px 60px rgba(13, 18, 32, .14);--radius: 18px;--radius-sm: 12px;--header-h: 68px;--code-bg: #10141f;--code-ink: #dbe4ff}[data-theme=dark]{--bg: #07090f;--bg-grid: rgba(255, 255, 255, .035);--surface: #0e121b;--surface-2: #151a26;--surface-glass: rgba(10, 13, 20, .72);--ink: #eef1fa;--ink-2: #a8b3c9;--ink-3: #6d7893;--line: rgba(255, 255, 255, .085);--line-strong: rgba(255, 255, 255, .16);--brand: #8b95ff;--brand-2: #2ee0d4;--brand-soft: rgba(139, 149, 255, .12);--brand-softer: rgba(139, 149, 255, .06);--grad: linear-gradient(120deg, #8b95ff 0%, #2ee0d4 100%);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 2px 8px rgba(0, 0, 0, .4), 0 18px 48px rgba(0, 0, 0, .45);--shadow-lg: 0 28px 70px rgba(0, 0, 0, .65);--code-bg: #0a0e17;--code-ink: #cfd8f5}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:PingFang SC,HarmonyOS Sans SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .3s ease,color .3s ease}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--bg-grid) 1px,transparent 1px),linear-gradient(90deg,var(--bg-grid) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 30%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 30%,transparent 100%)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}img{max-width:100%;display:block}input,textarea{font-family:inherit}::selection{background:var(--brand-soft);color:var(--ink)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:10px;border:3px solid var(--bg)}.wrap,.wrap-narrow,.wrap-wide{width:100%;margin:0 auto;padding:0 24px}.wrap{max-width:1180px}.wrap-narrow{max-width:860px}.wrap-wide{max-width:1320px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .3s}.card:hover{box-shadow:var(--shadow);border-color:var(--line-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 22px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink);font-size:14.5px;font-weight:600;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.btn-primary{border:none;background:var(--grad);color:#fff;box-shadow:0 10px 26px #4f46e547}.btn-primary:hover{box-shadow:0 14px 34px #4f46e561}.btn-ghost{background:transparent}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;font-size:12.5px;font-weight:500;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);transition:all .22s;cursor:pointer;white-space:nowrap}.chip:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}.chip.active{background:var(--brand);border-color:transparent;color:#fff;box-shadow:0 6px 18px #4f46e547}.chip.plain{cursor:default}.chip.plain:hover{transform:none;border-color:var(--line);color:var(--ink-2)}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brand)}.eyebrow:before{content:"";width:22px;height:1px;background:currentColor;opacity:.6}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.section-title{font-size:clamp(22px,2.4vw,30px);letter-spacing:-.02em;line-height:1.25}.section-sub{color:var(--ink-3);font-size:14px;margin-top:8px}.section-more{color:var(--ink-3);font-size:13.5px;display:inline-flex;align-items:center;gap:6px;transition:color .2s,gap .2s}.section-more:hover{color:var(--brand);gap:10px}.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.divider{height:1px;background:var(--line);border:0}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.revealed{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}.prose{font-size:16.5px;line-height:1.95;color:var(--ink-2)}.prose>*:first-child{margin-top:0}.prose p{margin:1.1em 0}.prose h2,.prose h3,.prose h4{color:var(--ink);letter-spacing:-.015em;line-height:1.4;scroll-margin-top:96px}.prose h2{font-size:26px;margin:2.2em 0 .9em;padding-bottom:.35em;border-bottom:1px solid var(--line);position:relative}.prose h2:before{content:"";position:absolute;left:0;bottom:-1px;width:46px;height:2px;background:var(--grad);border-radius:2px}.prose h3{font-size:20.5px;margin:1.9em 0 .7em}.prose h4{font-size:17.5px;margin:1.6em 0 .6em}.prose strong{color:var(--ink);font-weight:650}.prose a{color:var(--brand);border-bottom:1px solid var(--brand-soft);transition:border-color .2s}.prose a:hover{border-color:var(--brand)}.prose ul,.prose ol{margin:1em 0;padding-left:1.4em}.prose li{margin:.45em 0}.prose li::marker{color:var(--brand)}.prose blockquote{margin:1.4em 0;padding:14px 20px;border-left:3px solid var(--brand);background:var(--brand-softer);border-radius:0 12px 12px 0;color:var(--ink-2)}.prose blockquote>*:first-child{margin-top:0}.prose blockquote>*:last-child{margin-bottom:0}.prose img{border-radius:14px;margin:1.6em 0;box-shadow:var(--shadow);cursor:zoom-in}.prose hr{border:0;height:1px;background:var(--line);margin:2.4em 0}.prose table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:15px}.prose th,.prose td{border:1px solid var(--line);padding:10px 14px;text-align:left}.prose th{background:var(--surface-2);color:var(--ink);font-weight:600}.prose pre{position:relative;margin:1.5em 0;padding:18px 20px;background:var(--code-bg);color:var(--code-ink);border-radius:14px;overflow-x:auto;font-size:13.5px;line-height:1.75;border:1px solid var(--line)}.prose pre code{background:none;padding:0;color:inherit;font-size:inherit}.prose code{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.88em;background:var(--surface-2);color:var(--brand);padding:2px 6px;border-radius:6px}.copy-btn{position:absolute;top:10px;right:10px;padding:5px 10px;font-size:11.5px;font-family:inherit;color:#9fb0d8;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:7px;opacity:0;transition:opacity .2s,background .2s}.prose pre:hover .copy-btn{opacity:1}.copy-btn:hover{background:#ffffff29;color:#fff}.copy-btn.copied{color:#6ee7b7;border-color:#6ee7b766}.hljs-comment,.hljs-quote{color:#6b7a99;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-doctag{color:#c792ea}.hljs-string,.hljs-regexp,.hljs-addition{color:#a5e075}.hljs-number,.hljs-built_in,.hljs-attr,.hljs-variable,.hljs-template-variable{color:#ffcb6b}.hljs-title,.hljs-section,.hljs-function .hljs-title{color:#82aaff}.hljs-type,.hljs-class .hljs-title{color:#ffcb6b}.hljs-tag,.hljs-name{color:#f07178}.hljs-attribute{color:#ffcb6b}.hljs-symbol,.hljs-bullet{color:#89ddff}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#04060ce0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:5vw;animation:fade .25s ease}.lightbox img{max-width:100%;max-height:90vh;border-radius:10px;box-shadow:0 30px 80px #0009}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes floatUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes pulseRing{0%{transform:scale(.8);opacity:.8}to{transform:scale(1.9);opacity:0}}.page-enter-active,.page-leave-active{transition:opacity .28s ease,transform .28s ease}.page-enter-from{opacity:0;transform:translateY(12px)}.page-leave-to{opacity:0;transform:translateY(-8px)}@media (max-width: 768px){body{font-size:15px}.wrap{padding:0 18px}.prose{font-size:16px}.prose h2{font-size:22px}.section-head{flex-direction:column;align-items:flex-start;gap:10px}}
