.locale[data-v-2f772a10]{position:relative}.trigger[data-v-2f772a10]{display:inline-flex;align-items:center;gap:5px;height:36px;padding-block:0;padding-inline:9px 8px;border-radius:10px;color:var(--text-secondary);transition:color .15s ease,background-color .15s ease}.trigger[data-v-2f772a10]:hover,.trigger[aria-expanded=true][data-v-2f772a10]{color:var(--text);background:var(--surface-muted)}.code[data-v-2f772a10]{font-size:11.5px;font-weight:650;letter-spacing:.02em}.caret[data-v-2f772a10]{opacity:.55;transition:transform .16s ease}.trigger[aria-expanded=true] .caret[data-v-2f772a10]{transform:rotate(180deg)}.panel[data-v-2f772a10]{position:absolute;top:calc(100% + 8px);inset-inline-end:0;z-index:60;width:212px;padding:6px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-lg)}.option[data-v-2f772a10]{display:flex;align-items:center;gap:8px;padding:8px 9px;border-radius:8px;color:var(--text-secondary);font-size:13px;cursor:pointer;outline:none}.option[data-v-2f772a10]:hover,.option[data-v-2f772a10]:focus-visible{background:var(--surface-muted);color:var(--text)}.option[data-v-2f772a10]:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.option.is-current[data-v-2f772a10]{color:var(--primary);font-weight:600}.native[data-v-2f772a10]{flex:1;min-width:0;white-space:nowrap}.short[data-v-2f772a10]{font-size:10.5px;font-weight:600;letter-spacing:.04em;color:var(--text-muted)}.option.is-current .short[data-v-2f772a10],.option.is-current[data-v-2f772a10] svg{color:var(--primary)}@media(max-width:1080px){.locale[data-v-2f772a10]{display:none}}.site-header[data-v-b4ced895]{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border)}@supports (backdrop-filter: blur(1px)){.site-header[data-v-b4ced895]{background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}.header-inner[data-v-b4ced895]{display:flex;align-items:center;gap:30px;height:var(--header-h)}.brand[data-v-b4ced895]{display:inline-flex;align-items:center;gap:10px;flex:none}.brand-mark[data-v-b4ced895]{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#fff;background:linear-gradient(140deg,#3b82f6,#1d4ed8);box-shadow:0 6px 14px -8px #2563ebe6}.brand-text[data-v-b4ced895]{font-size:17px;font-weight:750;letter-spacing:-.025em}.nav[data-v-b4ced895]{display:flex;align-items:center;gap:2px}.nav-link[data-v-b4ced895]{position:relative;display:inline-flex;align-items:center;gap:4px;padding:8px 11px;border-radius:8px;font-size:13.5px;font-weight:500;color:var(--text-secondary);white-space:nowrap;transition:color .15s ease,background-color .15s ease}.nav-link[data-v-b4ced895]:hover{color:var(--text);background:var(--surface-muted)}.nav-link.is-active[data-v-b4ced895]{color:var(--primary);font-weight:600}.nav-link.is-active[data-v-b4ced895]:after{content:"";position:absolute;inset-inline-start:50%;bottom:0;width:20px;height:2px;border-radius:2px;background:var(--primary);transform:translate(-50%)}.nav-caret[data-v-b4ced895]{margin-top:1px;opacity:.75}.actions[data-v-b4ced895]{display:flex;align-items:center;gap:6px;margin-inline-start:auto}.search[data-v-b4ced895]{display:flex;align-items:center;gap:8px;width:292px;height:36px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:var(--surface-muted);transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.search[data-v-b4ced895]:focus-within{background:var(--surface);border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.search-icon[data-v-b4ced895]{color:var(--text-muted)}.search input[data-v-b4ced895]{width:100%;border:0;outline:0;background:transparent;font-size:12.5px}.search input[data-v-b4ced895]::placeholder{color:var(--text-muted)}.search input[data-v-b4ced895]::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.ghost-btn[data-v-b4ced895]{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--text-secondary);transition:color .15s ease,background-color .15s ease}.ghost-btn[data-v-b4ced895]:hover{color:var(--text);background:var(--surface-muted)}.menu-btn[data-v-b4ced895]{display:none}.mobile-nav[data-v-b4ced895]{display:none;border-top:1px solid var(--border);background:var(--bg);padding:14px 0 18px}.search--mobile[data-v-b4ced895]{width:100%;margin-bottom:10px}.mobile-links[data-v-b4ced895]{display:grid;gap:2px}.mobile-link[data-v-b4ced895]{padding:11px 4px;border-radius:8px;font-size:14px;font-weight:500;color:var(--text-secondary)}.mobile-link[data-v-b4ced895]:hover{color:var(--text)}.mobile-link.is-active[data-v-b4ced895]{color:var(--primary);font-weight:600}.mobile-locales[data-v-b4ced895]{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.mobile-label[data-v-b4ced895]{margin-bottom:8px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.locale-grid[data-v-b4ced895]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.locale-chip[data-v-b4ced895]{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:12.5px;color:var(--text-secondary);text-align:start;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.locale-chip[data-v-b4ced895]:hover{border-color:var(--border-strong);color:var(--text)}.locale-chip.is-active[data-v-b4ced895]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:600}@media(max-width:1200px){.actions>.search[data-v-b4ced895]{display:none}}@media(max-width:1080px){.nav[data-v-b4ced895]{display:none}.menu-btn[data-v-b4ced895]{display:grid}.mobile-nav[data-v-b4ced895]{display:block}.header-inner[data-v-b4ced895]{gap:16px}}@media(max-width:420px){.brand-text[data-v-b4ced895]{font-size:16px}}.site-footer[data-v-b5467f83]{margin-top:56px;padding:36px 0 22px;background:var(--footer-bg);color:var(--footer-text)}.footer-top[data-v-b5467f83]{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;padding-bottom:28px}[data-theme=dark] .site-footer[data-v-b5467f83]{border-top:1px solid rgba(255,255,255,.06)}.footer-brand[data-v-b5467f83]{display:grid;gap:8px}.brand[data-v-b5467f83]{display:inline-flex;align-items:center;gap:10px}.brand-mark[data-v-b5467f83]{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;color:#fff;background:linear-gradient(140deg,#3b82f6,#1d4ed8)}.brand-text[data-v-b5467f83]{font-size:16.5px;font-weight:750;letter-spacing:-.02em;color:#fff}.tagline[data-v-b5467f83]{font-size:12px;color:var(--footer-dim);letter-spacing:.01em}.footer-nav[data-v-b5467f83]{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px}.footer-link[data-v-b5467f83]{font-size:13px;color:var(--footer-text);opacity:.82;transition:opacity .15s ease,color .15s ease}.footer-link[data-v-b5467f83]:hover{opacity:1;color:#fff}.footer-social[data-v-b5467f83]{display:flex;justify-self:end;gap:8px}.social-btn[data-v-b5467f83]{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:var(--footer-text);background:#ffffff0f;transition:background-color .15s ease,color .15s ease}.social-btn[data-v-b5467f83]:hover{color:#fff;background:#ffffff21}.footer-bottom[data-v-b5467f83]{padding-top:18px;border-top:1px solid rgba(255,255,255,.08);text-align:center}.footer-bottom p[data-v-b5467f83]{font-size:11.5px;color:var(--footer-dim)}@media(max-width:760px){.footer-top[data-v-b5467f83]{grid-template-columns:1fr auto;gap:18px}.footer-nav[data-v-b5467f83]{grid-column:1 / -1;justify-content:flex-start;gap:10px 18px}}.site-main[data-v-e5f7d291]{flex:1 0 auto}.hero[data-v-a425508f]{position:relative;overflow:hidden;background:linear-gradient(180deg,#eef5ff 0%,#f6f9ff 52%,var(--bg) 100%);transition:background .2s ease}[data-theme=dark] .hero[data-v-a425508f]{background:linear-gradient(180deg,#0b1626 0%,#08101d 55%,var(--bg) 100%)}.hero-bg[data-v-a425508f]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.blob[data-v-a425508f]{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55}.blob--a[data-v-a425508f]{width:460px;height:460px;top:-180px;inset-inline-end:6%;background:#60a5fa73}.blob--b[data-v-a425508f]{width:360px;height:360px;bottom:-160px;inset-inline-start:12%;background:#93c5fd59}.blob--c[data-v-a425508f]{width:300px;height:300px;top:30%;inset-inline-start:38%;background:#c7d2fe59}[data-theme=dark] .blob[data-v-a425508f]{opacity:.22}.hero-inner[data-v-a425508f]{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:44px;padding:54px 0 72px}.hero-copy[data-v-a425508f]{max-width:640px}.hero-badge[data-v-a425508f]{display:inline-flex;align-items:center;gap:7px;padding-block:5px;padding-inline:10px 12px;border:1px solid rgba(37,99,235,.16);border-radius:999px;background:#ffffffbf;color:var(--primary-ink);font-size:11.5px;font-weight:600;letter-spacing:.02em}[data-theme=dark] .hero-badge[data-v-a425508f]{background:#2563eb1f;border-color:#60a5fa38;color:#a9c4ff}.badge-dot[data-v-a425508f]{width:6px;height:6px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px #2563eb26}h1[data-v-a425508f]{margin-top:18px;font-size:clamp(33px,4.1vw,50px);line-height:1.08;font-weight:800;letter-spacing:-.035em;text-wrap:balance}.accent[data-v-a425508f]{display:block;color:var(--primary)}.lede[data-v-a425508f]{margin-top:18px;max-width:540px;font-size:16px;line-height:1.65;color:var(--text-secondary)}.hero-search[data-v-a425508f]{display:flex;align-items:center;gap:10px;margin-top:28px;max-width:570px;padding-block:7px;padding-inline:16px 7px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md);transition:border-color .15s ease,box-shadow .15s ease}.hero-search[data-v-a425508f]:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f,var(--shadow-md)}.hero-search-icon[data-v-a425508f]{color:var(--text-muted)}.hero-search input[data-v-a425508f]{flex:1;min-width:0;height:34px;border:0;outline:0;background:transparent;font-size:14px}.hero-search input[data-v-a425508f]::placeholder{color:var(--text-muted)}.hero-search input[data-v-a425508f]::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.popular[data-v-a425508f]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:20px}.popular-label[data-v-a425508f]{margin-inline-end:2px;font-size:12.5px;color:var(--text-muted)}.popular-tag[data-v-a425508f]{padding:3px 9px;border:1px solid transparent;border-radius:var(--radius-xs);font-size:12.5px;color:var(--text-secondary);transition:background-color .15s ease,color .15s ease,border-color .15s ease}.popular-tag[data-v-a425508f]:hover{background:var(--surface);border-color:var(--border);color:var(--text)}.hero-visual[data-v-a425508f]{position:relative;aspect-ratio:1 / .92;min-height:340px}.visual-glow[data-v-a425508f]{position:absolute;top:8%;right:6%;bottom:4%;left:6%;border-radius:42%;background:radial-gradient(circle at 60% 40%,rgba(37,99,235,.22),transparent 68%);filter:blur(14px)}.visual-dots[data-v-a425508f]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(37,99,235,.22) 1px,transparent 1px);background-size:16px 16px;mask-image:radial-gradient(circle at 62% 46%,#000 30%,transparent 68%);-webkit-mask-image:radial-gradient(circle at 62% 46%,#000 30%,transparent 68%);opacity:.7}.editor[data-v-a425508f]{position:absolute;top:50%;inset-inline-start:50%;width:min(100%,470px);transform:translate(-50%,-50%);border:1px solid rgba(15,23,42,.35);border-radius:16px;background:#0d1729;box-shadow:0 40px 70px -34px #0d1727a6,0 0 0 1px #ffffff0a inset;overflow:hidden}[dir=rtl] .editor[data-v-a425508f]{direction:ltr}.editor-bar[data-v-a425508f]{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.07);background:#ffffff09}.traffic[data-v-a425508f]{display:inline-flex;gap:5px}.traffic i[data-v-a425508f]{width:8px;height:8px;border-radius:50%;background:#334155}.traffic i[data-v-a425508f]:nth-child(1){background:#f87171}.traffic i[data-v-a425508f]:nth-child(2){background:#fbbf24}.traffic i[data-v-a425508f]:nth-child(3){background:#34d399}.editor-file[data-v-a425508f]{font-family:var(--font-mono);font-size:10.5px;color:#7c8da6}.editor-body[data-v-a425508f]{display:flex;gap:12px;padding:16px 16px 20px}.gutter[data-v-a425508f]{display:grid;gap:6px;color:#3f5068;font-family:var(--font-mono);font-size:11px;text-align:end;-webkit-user-select:none;user-select:none}.code[data-v-a425508f]{flex:1;min-width:0;display:grid;gap:6px;font-family:var(--font-mono);font-size:11.5px;line-height:1.35;color:#cbd5e1;white-space:nowrap;overflow:hidden}.line.indent[data-v-a425508f]{padding-inline-start:16px}.line.blank[data-v-a425508f]{height:6px}.tok-key[data-v-a425508f]{color:#c084fc}.tok-var[data-v-a425508f]{color:#7dd3fc}.tok-fn[data-v-a425508f]{color:#60a5fa}.tok-op[data-v-a425508f],.tok-punc[data-v-a425508f]{color:#7c8da6}.tok-prop[data-v-a425508f]{color:#fbbf24}.tok-str[data-v-a425508f]{color:#6ee7b7}.tok-cmt[data-v-a425508f]{color:#4b5f7a;font-style:italic}.editor-status[data-v-a425508f]{display:flex;align-items:center;gap:6px;padding:7px 14px;border-top:1px solid rgba(255,255,255,.07);font-family:var(--font-mono);font-size:10px;color:#7c8da6}.status-dot[data-v-a425508f]{width:6px;height:6px;border-radius:50%;background:#34d399}.status-right[data-v-a425508f]{margin-inline-start:auto}.float[data-v-a425508f]{position:absolute;display:grid;place-items:center;width:54px;height:54px;border-radius:16px;border:1px solid var(--border);background:var(--surface);color:var(--tile-fg, var(--primary));box-shadow:var(--shadow-lg);animation:float-a425508f 7s ease-in-out infinite}.float--github[data-v-a425508f]{top:1%;inset-inline-end:4%;animation-delay:-.4s}.float--leaf[data-v-a425508f]{top:18%;inset-inline-start:-3%;width:50px;height:50px;animation-delay:-2.1s}.float--cloud[data-v-a425508f]{bottom:12%;inset-inline-start:-1%;animation-delay:-3.4s}.float--terminal[data-v-a425508f]{bottom:3%;inset-inline-end:0;width:58px;height:58px;animation-delay:-1.2s}.float--cube[data-v-a425508f]{top:58%;inset-inline-end:-4%;width:46px;height:46px;animation-delay:-4.6s}@keyframes float-a425508f{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@media(max-width:1080px){.hero-inner[data-v-a425508f]{grid-template-columns:minmax(0,1fr);gap:20px;padding:44px 0 64px}.hero-copy[data-v-a425508f]{max-width:680px}.hero-visual[data-v-a425508f]{width:min(560px,100%);margin:0 auto;aspect-ratio:1 / .78;min-height:300px}}@media(max-width:640px){.hero-inner[data-v-a425508f]{padding:32px 0 56px}.lede[data-v-a425508f]{font-size:14.5px}.hero-search[data-v-a425508f]{padding-block:6px;padding-inline:14px 6px}.hero-search input[data-v-a425508f]{font-size:13px}.btn-primary[data-v-a425508f]{padding:9px 16px}.hero-visual[data-v-a425508f]{min-height:250px}.float--leaf[data-v-a425508f],.float--cloud[data-v-a425508f],.float--cube[data-v-a425508f]{display:none}.float--github[data-v-a425508f]{top:-4%;inset-inline-end:1%;width:44px;height:44px}.float--terminal[data-v-a425508f]{bottom:-8%;inset-inline-end:1%;width:44px;height:44px}.editor-body[data-v-a425508f]{gap:8px;padding:12px 12px 14px}.code[data-v-a425508f],.gutter[data-v-a425508f]{font-size:10px;gap:4px}.line.indent[data-v-a425508f]{padding-inline-start:12px}}.category-strip[data-v-aa520520]{position:relative;display:flex;align-items:stretch;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.strip-track[data-v-aa520520]{display:flex;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.strip-track[data-v-aa520520]::-webkit-scrollbar{display:none}.cat-item[data-v-aa520520]{display:flex;align-items:center;gap:9px;flex:1 0 auto;min-width:0;padding:13px 14px;border-inline-start:1px solid var(--border);transition:background-color .15s ease}.cat-item[data-v-aa520520]:first-child{border-inline-start:0}.cat-item[data-v-aa520520]:hover{background:var(--surface-muted)}.cat-icon[data-v-aa520520]{width:34px;height:34px;border-radius:9px;background:var(--primary-soft);color:var(--primary)}.cat-text[data-v-aa520520]{display:grid;min-width:0}.cat-label[data-v-aa520520]{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-sub[data-v-aa520520]{font-size:10.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-strip[data-v-aa520520]:before,.category-strip[data-v-aa520520]:after{content:"";position:absolute;top:0;bottom:0;width:76px;pointer-events:none;z-index:1;opacity:0;transition:opacity .2s ease}.category-strip.has-prev[data-v-aa520520]:before,.category-strip.has-next[data-v-aa520520]:after{opacity:1}.category-strip[data-v-aa520520]:before{inset-inline-start:0;background:linear-gradient(to right,var(--surface) 30%,transparent)}.category-strip[data-v-aa520520]:after{inset-inline-end:44px;background:linear-gradient(to left,var(--surface) 40px,transparent)}[dir=rtl] .category-strip[data-v-aa520520]:before{background:linear-gradient(to left,var(--surface) 30%,transparent)}[dir=rtl] .category-strip[data-v-aa520520]:after{background:linear-gradient(to right,var(--surface) 40px,transparent)}.strip-arrow[data-v-aa520520]{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface);color:var(--text-secondary);box-shadow:var(--shadow-md);transform:translateY(-50%);transition:color .15s ease,border-color .15s ease,background-color .15s ease}.strip-arrow[data-v-aa520520]:hover{color:var(--primary);border-color:var(--primary)}.strip-arrow--next[data-v-aa520520]{inset-inline-end:52px;color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.strip-arrow--next[data-v-aa520520]:hover{background:var(--surface)}.strip-arrow[data-v-aa520520] svg{pointer-events:none}.strip-arrow--prev[data-v-aa520520]{inset-inline-start:8px}.cat-more[data-v-aa520520]{display:grid;place-items:center;flex:none;width:44px;border-inline-start:1px solid var(--border);color:var(--text-muted);transition:color .15s ease,background-color .15s ease}.cat-more[data-v-aa520520]:hover{color:var(--primary);background:var(--surface-muted)}@media(max-width:1140px){.cat-item[data-v-aa520520]{flex:0 0 208px}}@media(max-width:640px){.cat-item[data-v-aa520520]{flex:0 0 152px;padding:12px 13px}.cat-sub[data-v-aa520520],.cat-more[data-v-aa520520]{display:none}.category-strip[data-v-aa520520]:after{inset-inline-end:0;width:88px;background:linear-gradient(to left,var(--surface) 46px,transparent)}[dir=rtl] .category-strip[data-v-aa520520]:after{background:linear-gradient(to right,var(--surface) 46px,transparent)}.strip-arrow--next[data-v-aa520520]{inset-inline-end:8px}}.section-head[data-v-2400fc6e]{display:flex;align-items:center;gap:11px;margin-bottom:16px}.head-icon[data-v-2400fc6e]{width:34px;height:34px;border-radius:10px}.head-text[data-v-2400fc6e]{min-width:0}h2[data-v-2400fc6e]{font-size:17.5px;font-weight:700;letter-spacing:-.015em;line-height:1.3}p[data-v-2400fc6e]{margin-top:1px;font-size:12px;color:var(--text-muted);line-height:1.4}.head-tail[data-v-2400fc6e]{display:flex;align-items:center;gap:12px;margin-inline-start:auto;flex:none}.head-meta[data-v-2400fc6e]{padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface-muted);color:var(--text-muted);font-size:11px;font-weight:500;white-space:nowrap}.head-link[data-v-2400fc6e]{font-size:12px}@media(max-width:560px){.head-link[data-v-2400fc6e]{display:none}}.tool-card[data-v-b2141c7c]{position:relative;display:flex;flex-direction:column;gap:8px;padding:14px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.tool-card[data-v-b2141c7c]:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}h3[data-v-b2141c7c]{font-size:13px;font-weight:650;line-height:1.35;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}.card-badge[data-v-b2141c7c]{position:absolute;top:10px;inset-inline-end:10px;padding:1px 7px 2px;border-radius:999px;background:var(--tile-bg);color:var(--tile-fg);font-size:10px;font-weight:650;line-height:1.6;letter-spacing:.01em;white-space:nowrap;pointer-events:none}.desc[data-v-b2141c7c]{font-size:11.5px;line-height:1.5;color:var(--text-muted);min-height:4.5em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tags[data-v-b2141c7c]{display:flex;flex-wrap:wrap;gap:5px}.cta[data-v-b2141c7c]{margin-top:auto;padding-top:4px;font-size:12px}.cta[data-v-b2141c7c]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px}.filters[data-v-50d26948]{display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 15px}.filter-pill[data-v-50d26948]{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-secondary);font-size:12px;font-weight:500;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.filter-pill[data-v-50d26948]:hover{border-color:var(--border-strong);color:var(--text)}.filter-pill.is-active[data-v-50d26948]{border-color:var(--primary);background:var(--primary);color:#fff}.pill-count[data-v-50d26948]{padding:0 5px;border-radius:999px;background:var(--surface-muted);color:var(--text-muted);font-size:10.5px;font-weight:600;line-height:1.6}.filter-pill.is-active .pill-count[data-v-50d26948]{background:#ffffff38;color:#fff}.article-card[data-v-6549bd5b]{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:0;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.article-card[data-v-6549bd5b]:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.cover[data-v-6549bd5b]{position:relative;aspect-ratio:16 / 9;background:var(--surface-muted);border-bottom:1px solid var(--border)}.cover img[data-v-6549bd5b]{display:block;width:100%;height:100%;object-fit:cover}.cover-fallback[data-v-6549bd5b]{display:grid;place-items:center;width:100%;height:100%;color:var(--text-muted)}.body[data-v-6549bd5b]{display:flex;flex:1;flex-direction:column;gap:6px;padding:12px}h3[data-v-6549bd5b]{margin:0;color:var(--text);font-size:13.5px;font-weight:650;line-height:1.4;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.8em}.desc[data-v-6549bd5b]{margin:0;color:var(--text-muted);font-size:11.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.5em}.meta[data-v-6549bd5b]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--text-muted);font-size:11px}.meta span[data-v-6549bd5b]{display:inline-flex;align-items:center;gap:4px;min-width:0}.author[data-v-6549bd5b]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cta[data-v-6549bd5b]{margin-top:auto;padding-top:4px;font-size:12px}.cta[data-v-6549bd5b]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.thumb-svg[data-v-abbb6043]{width:100%;height:100%;display:block}.guide-card[data-v-38739e90]{display:flex;flex-direction:column;gap:9px}.thumb[data-v-38739e90]{display:block;aspect-ratio:16 / 10;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.thumb img[data-v-38739e90]{display:block;width:100%;height:100%;object-fit:cover}.guide-card:hover .thumb[data-v-38739e90]{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--shadow-md)}h3[data-v-38739e90]{font-size:13px;font-weight:650;line-height:1.42;letter-spacing:-.01em}h3 a[data-v-38739e90]{transition:color .15s ease}h3 a[data-v-38739e90]:hover{color:var(--primary)}.desc[data-v-38739e90]{color:var(--text-muted);font-size:11.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.meta[data-v-38739e90]{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:11px;color:var(--text-muted)}.tags[data-v-38739e90]{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto}.side-card[data-v-3d4ccbc9]{padding:16px 16px 8px}.side-head[data-v-3d4ccbc9]{display:flex;align-items:center;gap:7px;padding-bottom:12px}.head-icon[data-v-3d4ccbc9]{display:grid;place-items:center;color:#f97316}h2[data-v-3d4ccbc9]{font-size:14px;font-weight:700;letter-spacing:-.01em}.head-link[data-v-3d4ccbc9]{margin-inline-start:auto;font-size:11.5px}.trend-item[data-v-3d4ccbc9]{display:grid;grid-template-columns:20px 34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--border)}li:first-child .trend-item[data-v-3d4ccbc9]{border-top:0}.rank[data-v-3d4ccbc9]{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;font-size:12.5px;font-weight:700;color:var(--text-muted);font-variant-numeric:tabular-nums}.rank.is-top[data-v-3d4ccbc9]{color:#fff}.rank.rank-1[data-v-3d4ccbc9]{background:linear-gradient(140deg,#fbbf24,#f59e0b);box-shadow:0 3px 8px -3px #f59e0bcc}.rank.rank-2[data-v-3d4ccbc9]{background:linear-gradient(140deg,#cbd5e1,#94a3b8);box-shadow:0 3px 8px -3px #94a3b8cc}.rank.rank-3[data-v-3d4ccbc9]{background:linear-gradient(140deg,#fb923c,#ea580c);box-shadow:0 3px 8px -3px #ea580cb3}[data-theme=dark] .rank.is-top[data-v-3d4ccbc9]{color:#0b1524}.trend-icon[data-v-3d4ccbc9]{width:34px;height:34px;border-radius:10px}.trend-text[data-v-3d4ccbc9]{display:grid;min-width:0}.trend-name[data-v-3d4ccbc9]{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease}.trend-item:hover .trend-name[data-v-3d4ccbc9]{color:var(--primary)}.trend-tag[data-v-3d4ccbc9]{font-size:10.5px;color:var(--text-muted)}.trend-stars[data-v-3d4ccbc9]{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:500;color:var(--text-muted)}.trend-stars[data-v-3d4ccbc9] svg{color:#f59e0b}.side-card[data-v-8d40d104]{padding:16px}.side-head[data-v-8d40d104]{display:flex;align-items:center;gap:8px;margin-bottom:12px}h2[data-v-8d40d104]{font-size:14px;font-weight:700;letter-spacing:-.01em}.head-link[data-v-8d40d104]{margin-inline-start:auto;font-size:11.5px}.cloud[data-v-8d40d104]{display:flex;flex-wrap:wrap;gap:6px}.cat-pill[data-v-8d40d104]{padding:3.5px 9px;border-radius:7px;background:var(--tile-bg);color:var(--tile-fg);font-size:11px;font-weight:600;transition:filter .15s ease}.cat-pill[data-v-8d40d104]:hover{filter:brightness(.96)}.more[data-v-8d40d104]{margin-top:12px;font-size:11.5px}.side-card[data-v-e1f120d2]{padding:16px}.side-head[data-v-e1f120d2]{display:flex;align-items:center;gap:7px;margin-bottom:12px}.head-icon[data-v-e1f120d2]{display:grid;place-items:center;color:var(--primary)}h2[data-v-e1f120d2]{font-size:14px;font-weight:700;letter-spacing:-.01em}.stats[data-v-e1f120d2]{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 0 12px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.stat[data-v-e1f120d2]{display:grid;gap:1px}.stat+.stat[data-v-e1f120d2]{padding-inline-start:12px;border-inline-start:1px solid var(--border)}.stat strong[data-v-e1f120d2]{font-size:20px;font-weight:750;line-height:1.1;letter-spacing:-.02em;color:var(--text);font-variant-numeric:tabular-nums}.stat span[data-v-e1f120d2]{font-size:10.5px;color:var(--text-muted)}.actions[data-v-e1f120d2]{display:grid;gap:7px;margin-top:12px}.quick-main[data-v-e1f120d2]{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;border-radius:9px;background:var(--primary);color:#fff;font-size:12px;font-weight:600;transition:background-color .15s ease}.quick-main[data-v-e1f120d2]:hover{background:var(--primary-strong)}.quick-ghost[data-v-e1f120d2]{display:inline-flex;align-items:center;justify-content:center;height:34px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text-secondary);font-size:12px;font-weight:600;transition:border-color .15s ease,color .15s ease}.quick-ghost[data-v-e1f120d2]:hover{border-color:var(--border-strong);color:var(--text)}.side-card[data-v-609978cb]{padding:16px}h2[data-v-609978cb]{margin-top:10px;font-size:14px;font-weight:700;letter-spacing:-.01em}.desc[data-v-609978cb]{margin-top:5px;font-size:11.5px;line-height:1.5;color:var(--text-muted)}.sub-form[data-v-609978cb]{display:grid;gap:7px;margin-top:12px}.sub-form input[data-v-609978cb]{height:34px;padding:0 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface-muted);font-size:12px;outline:0;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.sub-form input[data-v-609978cb]:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px #2563eb1f}.sub-form input[data-v-609978cb]::placeholder{color:var(--text-muted)}.sub-form input[data-v-609978cb]:disabled{cursor:not-allowed;opacity:.6}.btn-primary[data-v-609978cb]{height:34px;border-radius:9px;background:var(--primary);color:#fff;font-size:12px;font-weight:600;transition:background-color .15s ease}.btn-primary[data-v-609978cb]:hover:not(:disabled){background:var(--primary-strong)}.btn-primary[data-v-609978cb]:disabled{background:var(--surface-muted);color:var(--text-muted);cursor:not-allowed}.hint[data-v-609978cb]{margin-top:8px;font-size:11px;font-weight:600;color:var(--text-muted)}.promo[data-v-13b3bfe8]{position:relative;overflow:hidden;padding:18px 16px;border:1px solid #dbe7ff;border-radius:var(--radius-md);background:linear-gradient(150deg,#eef4ff,#f7faff 62%,#eef6ff)}[data-theme=dark] .promo[data-v-13b3bfe8]{border-color:#1d3355;background:linear-gradient(150deg,#0d1d33,#0b1728 70%)}.promo-art[data-v-13b3bfe8]{position:absolute;inset-inline-end:0;bottom:0;width:62%;height:62%;pointer-events:none}[data-theme=dark] .promo-art[data-v-13b3bfe8]{opacity:.28}.badge[data-v-13b3bfe8]{position:absolute;top:14px;inset-inline-end:14px;padding:2px 7px;border-radius:5px;background:#2563eb1a;color:var(--primary-ink);font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.promo-icon[data-v-13b3bfe8]{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}[data-theme=dark] .promo-icon[data-v-13b3bfe8]{background:#ffffff0f}h2[data-v-13b3bfe8]{margin-top:10px;font-size:14px;font-weight:700;letter-spacing:-.01em}.desc[data-v-13b3bfe8]{position:relative;margin:5px 0 10px;max-width:88%;font-size:11.5px;line-height:1.5;color:var(--text-secondary)}.link-arrow[data-v-13b3bfe8]{position:relative;font-size:11.5px}.category-wrap[data-v-2781e621]{position:relative;z-index:3;margin-top:-38px}.home-body[data-v-2781e621]{display:grid;grid-template-columns:minmax(0,1fr) 336px;align-items:start;gap:30px;margin-top:34px}.primary-col[data-v-2781e621]{display:grid;gap:34px;min-width:0}.tool-grid[data-v-2781e621]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.project-grid[data-v-2781e621]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.featured-state[data-v-2781e621]{padding:20px 22px;color:var(--text-muted);font-size:13px;line-height:1.6}.guide-grid[data-v-2781e621]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.sidebar[data-v-2781e621]{display:grid;gap:14px;align-items:start;min-width:0}@media(max-width:1200px){.home-body[data-v-2781e621]{grid-template-columns:minmax(0,1fr) 308px;gap:24px}.tool-grid[data-v-2781e621]{grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid[data-v-2781e621],.guide-grid[data-v-2781e621]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.home-body[data-v-2781e621]{grid-template-columns:minmax(0,1fr)}.sidebar[data-v-2781e621]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}@media(max-width:700px){.category-wrap[data-v-2781e621]{margin-top:-30px}.primary-col[data-v-2781e621]{gap:26px}.tool-grid[data-v-2781e621],.project-grid[data-v-2781e621]{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar[data-v-2781e621]{grid-template-columns:minmax(0,1fr)}}@media(max-width:440px){.tool-grid[data-v-2781e621]{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid[data-v-2781e621],.guide-grid[data-v-2781e621]{grid-template-columns:minmax(0,1fr)}}:root{color-scheme:light;--font-sans: "Inter", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, "Noto Sans SC", sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--container: 1240px;--gutter: 24px;--header-h: 68px;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--primary: #2563eb;--primary-strong: #1d4ed8;--primary-soft: #eaf1ff;--primary-ink: #1e40af;--bg: #ffffff;--bg-soft: #f6f9fd;--surface: #ffffff;--surface-muted: #f4f7fb;--border: #e7ecf4;--border-strong: #d9e2ef;--text: #0d1727;--text-secondary: #475569;--text-muted: #6b7b90;--footer-bg: #0a1626;--footer-text: #c8d4e4;--footer-dim: #8496ad;--shadow-sm: 0 1px 2px rgba(13, 23, 39, .05);--shadow-md: 0 12px 26px -16px rgba(13, 23, 39, .22);--shadow-lg: 0 32px 60px -32px rgba(13, 23, 39, .4)}[data-theme=dark]{color-scheme:dark;--primary: #4f83ff;--primary-strong: #6f9bff;--primary-soft: rgba(79, 131, 255, .14);--primary-ink: #a9c4ff;--bg: #070d18;--bg-soft: #0a1322;--surface: #0d1929;--surface-muted: #111f33;--border: #1b2941;--border-strong: #26374f;--text: #e9eff8;--text-secondary: #a9b8cc;--text-muted: #7e91aa;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .45);--shadow-md: 0 14px 30px -18px rgba(0, 0, 0, .75);--shadow-lg: 0 34px 64px -34px rgba(0, 0, 0, .85)}html:lang(zh-CN){--font-sans: "Inter", "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif}html:lang(zh-TW){--font-sans: "Inter", "Segoe UI", "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", system-ui, sans-serif}html:lang(ja){--font-sans: "Inter", "Segoe UI", "Hiragino Sans", "Yu Gothic UI", Meiryo, "Noto Sans JP", system-ui, sans-serif}html:lang(ko){--font-sans: "Inter", "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", system-ui, sans-serif}html:lang(ar){--font-sans: "Inter", "Segoe UI", "Noto Sans Arabic", "Noto Naskh Arabic", "Geeza Pro", "Segoe UI Historic", Tahoma, system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--font-sans);font-size:15px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s ease,color .2s ease}#app{display:flex;flex-direction:column;min-height:100vh}h1,h2,h3,h4,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}input{font:inherit;color:inherit}svg{display:block;flex:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background:#2563eb2e}.container{width:min(var(--container),100% - var(--gutter) * 2);margin-inline:auto}.skip-link{position:absolute;top:-60px;inset-inline-start:16px;z-index:200;padding:10px 16px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);font-size:13px;font-weight:600;transition:top .15s ease}.skip-link:focus{top:12px}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-muted);color:var(--text-muted);font-size:11px;font-weight:500;line-height:1.65;white-space:nowrap}.link-arrow{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;color:var(--primary);cursor:pointer;transition:color .15s ease}.link-arrow svg{transition:transform .18s ease}.link-arrow:hover{color:var(--primary-strong)}.link-arrow:hover svg{transform:translate(3px)}.link-arrow--up:hover svg{transform:translate(2px,-2px)}[dir=rtl] .link-arrow svg,[dir=rtl] .icon-flip-rtl{transform:scaleX(-1)}[dir=rtl] .link-arrow:hover svg{transform:scaleX(-1) translate(3px)}[dir=rtl] .link-arrow--up:hover svg{transform:scaleX(-1) translate(2px,-2px)}[dir=rtl] code,[dir=rtl] pre,[dir=rtl] .mono{unicode-bidi:plaintext}.icon-tile{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-sm);background:var(--tile-bg, var(--surface-muted));color:var(--tile-fg, var(--primary))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;padding:10px 22px;border-radius:10px;background:var(--primary);color:#fff;font-size:13.5px;font-weight:600;line-height:1.2;box-shadow:0 8px 16px -10px #2563ebe6;transition:background-color .15s ease,transform .1s ease}.btn-primary:hover{background:var(--primary-strong)}.btn-primary:active{transform:translateY(1px)}.tone-blue{--tile-bg: #e9f0ff;--tile-fg: #2563eb}.tone-pink{--tile-bg: #fdeef6;--tile-fg: #db2777}.tone-purple{--tile-bg: #f2edfe;--tile-fg: #7c3aed}.tone-green{--tile-bg: #e5f7ee;--tile-fg: #059669}.tone-orange{--tile-bg: #fff1e2;--tile-fg: #ea580c}.tone-teal{--tile-bg: #e3f6f6;--tile-fg: #0d9488}[data-theme=dark] .tone-blue{--tile-bg: rgba(37, 99, 235, .18);--tile-fg: #8fb3ff}[data-theme=dark] .tone-pink{--tile-bg: rgba(219, 39, 119, .18);--tile-fg: #f9a8d4}[data-theme=dark] .tone-purple{--tile-bg: rgba(124, 58, 237, .18);--tile-fg: #c4b5fd}[data-theme=dark] .tone-green{--tile-bg: rgba(5, 150, 105, .18);--tile-fg: #6ee7b7}[data-theme=dark] .tone-orange{--tile-bg: rgba(234, 88, 12, .18);--tile-fg: #fdba74}[data-theme=dark] .tone-teal{--tile-bg: rgba(13, 148, 136, .18);--tile-fg: #5eead4}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(max-width:640px){:root{--gutter: 16px}}
