.page-enter-active,.page-leave-active{transition:opacity .15s,transform .15s}.page-enter-from{opacity:0;transform:translateY(4px)}.page-leave-to{opacity:0}.card[data-v-f5a7770c]{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;padding:14px;transition:transform .15s,box-shadow .15s;position:relative}.card[data-v-f5a7770c]:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.ic[data-v-f5a7770c]{border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;margin-bottom:9px;font-size:19px;display:flex}.nm[data-v-f5a7770c]{font-size:14px;font-weight:700}.ds[data-v-f5a7770c]{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.fav[data-v-f5a7770c]{color:#cbd5e0;background:0 0;border:none;font-size:17px;position:absolute;top:10px;right:10px}.fav.on[data-v-f5a7770c]{color:#f56565}.lim-badge[data-v-f5a7770c]{color:#9c6b1d;background:#fef3e2;border-radius:6px;padding:1px 6px;font-size:11px;font-weight:700;position:absolute;top:10px;left:10px}.home[data-v-e408ae57]{min-height:100vh}.topbar[data-v-e408ae57]{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#ffffffeb;align-items:center;gap:12px;padding:10px 18px;display:flex;position:sticky;top:0}.brand[data-v-e408ae57]{color:var(--primary-dark);white-space:nowrap;align-items:center;gap:8px;font-size:16px;font-weight:800;display:flex}.brand-icon[data-v-e408ae57]{font-size:20px}.search-wrap[data-v-e408ae57]{flex:1;max-width:460px;position:relative}.search-ic[data-v-e408ae57]{opacity:.6;font-size:14px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input[data-v-e408ae57]{border:1px solid var(--border);background:#f1f3fa;border-radius:10px;width:100%;padding:9px 34px;font-size:14px}.search-input[data-v-e408ae57]:focus{border-color:var(--primary);background:#fff;outline:none;box-shadow:0 0 0 3px #5b6abf26}.search-clear[data-v-e408ae57]{color:var(--muted);background:0 0;border:none;font-size:16px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.top-actions[data-v-e408ae57]{gap:8px;margin-left:auto;display:flex}.top-btn[data-v-e408ae57]{border:1px solid var(--border);background:#fff;border-radius:10px;width:38px;height:38px;font-size:16px}.top-btn[data-v-e408ae57]:hover{background:var(--primary-light)}.top-btn.active[data-v-e408ae57]{background:#ffe4e6;border-color:#fecaca}.lang-wrap[data-v-e408ae57]{position:relative}.menu[data-v-e408ae57]{border:1px solid var(--border);box-shadow:var(--shadow-hover);z-index:200;background:#fff;border-radius:10px;min-width:160px;padding:6px;position:absolute;top:44px;right:0}.menu button[data-v-e408ae57]{text-align:left;background:0 0;border:none;border-radius:7px;width:100%;padding:8px 12px;font-size:14px;display:block}.menu button[data-v-e408ae57]:hover{background:var(--primary-light)}.menu button.on[data-v-e408ae57]{color:var(--primary);font-weight:700}.layout[data-v-e408ae57]{max-width:1280px;margin:0 auto;display:flex}.sidebar[data-v-e408ae57]{flex-shrink:0;width:200px;height:calc(100vh - 60px);padding:18px 10px;position:sticky;top:60px;overflow-y:auto}.cat-btn[data-v-e408ae57]{color:#4a5568;text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:9px;width:100%;padding:9px 12px;font-size:14px;display:flex}.cat-btn[data-v-e408ae57]:hover{background:var(--primary-light)}.cat-icon[data-v-e408ae57]{border-radius:7px;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:flex}.cat-count[data-v-e408ae57]{color:#5a6686;background:#e8eaf5;border-radius:8px;margin-left:auto;padding:1px 7px;font-size:12px}.content[data-v-e408ae57]{flex:1;min-width:0;padding:20px 24px 60px}.chips-bar[data-v-e408ae57]{gap:8px;padding-bottom:10px;display:none;overflow-x:auto}.m-chip[data-v-e408ae57]{white-space:nowrap;border:1px solid var(--border);background:#fff;border-radius:16px;padding:6px 13px;font-size:13px}.cat-section[data-v-e408ae57]{margin-bottom:28px}.cat-title[data-v-e408ae57]{align-items:center;gap:9px;margin-bottom:12px;display:flex}.cat-ic[data-v-e408ae57]{border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;display:flex}.cat-title h2[data-v-e408ae57]{color:var(--primary-dark);font-size:16px}.cat-n[data-v-e408ae57]{color:var(--muted);font-size:12px}.grid[data-v-e408ae57]{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:12px;display:grid}.empty-state[data-v-e408ae57]{text-align:center;color:var(--muted);padding:80px 20px}.empty-icon[data-v-e408ae57]{margin-bottom:12px;font-size:52px}.empty-state p[data-v-e408ae57]{margin-bottom:14px;font-size:15px}.primary-btn[data-v-e408ae57]{background:var(--primary);color:#fff;border:none;border-radius:10px;padding:9px 22px;font-size:14px;font-weight:700}.primary-btn[data-v-e408ae57]:hover{background:var(--primary-dark)}@media (width<=900px){.sidebar[data-v-e408ae57]{display:none}.chips-bar[data-v-e408ae57]{display:flex}}@media (width<=640px){.brand-name[data-v-e408ae57]{display:none}.grid[data-v-e408ae57]{grid-template-columns:repeat(2,1fr);gap:10px}.content[data-v-e408ae57]{padding:14px 14px 50px}}:root{--primary:#5b6abf;--primary-dark:#3e4d9a;--primary-light:#eef0fb;--text:#2d3748;--muted:#718096;--border:#e2e8f0;--bg:#f4f5fb;--success:#38a169;--error:#e53e3e;--warning:#dd6b20;--info:#3182ce;--radius:10px;--radius-lg:12px;--shadow:0 1px 3px #0000000d;--shadow-hover:0 6px 18px #1e29631f;--mono:Consolas, Menlo, monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.6}button{cursor:pointer;font-family:inherit}input,textarea,select{color:var(--text);font-family:inherit;font-size:14px}a{color:var(--primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
