.tool-card[data-v-41678a86]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--transition), background var(--transition);position:relative}.tool-card[data-v-41678a86]:hover{border-color:var(--tool-color,var(--accent));background:var(--bg-card-hover)}.tool-card[data-v-41678a86]:focus-visible{outline:2px solid var(--tool-color,var(--accent));outline-offset:2px}.tool-card__inner[data-v-41678a86]{align-items:flex-start;gap:16px;padding:20px;display:flex;position:relative}.tool-card__icon-wrap[data-v-41678a86]{border-radius:var(--radius-md);background:color-mix(in srgb, var(--tool-color,var(--accent)) 15%, transparent);width:48px;height:48px;color:var(--tool-color,var(--accent));transition:background var(--transition), transform var(--transition);flex-shrink:0;justify-content:center;align-items:center;display:flex}.tool-card:hover .tool-card__icon-wrap[data-v-41678a86]{background:color-mix(in srgb, var(--tool-color,var(--accent)) 25%, transparent);transform:scale(1.05)}.tool-card__content[data-v-41678a86]{flex:1;min-width:0}.tool-card__name[data-v-41678a86]{color:var(--text-primary);transition:color var(--transition);margin-bottom:6px;font-family:Fira Code,monospace;font-size:15px;font-weight:600;line-height:1.3}.tool-card:hover .tool-card__name[data-v-41678a86]{color:var(--tool-color,var(--accent))}.tool-card__desc[data-v-41678a86]{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:10px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.tool-card__tags[data-v-41678a86]{flex-wrap:wrap;gap:4px;display:flex}.tool-card__tag[data-v-41678a86]{color:var(--tool-color,var(--accent));background:color-mix(in srgb, var(--tool-color,var(--accent)) 12%, transparent);text-transform:uppercase;letter-spacing:.05em;transition:background var(--transition);border-radius:99px;padding:2px 8px;font-family:Fira Code,monospace;font-size:10px;font-weight:500}.tool-card:hover .tool-card__tag[data-v-41678a86]{background:color-mix(in srgb, var(--tool-color,var(--accent)) 20%, transparent)}.tool-card__arrow[data-v-41678a86]{color:var(--text-muted);transition:color var(--transition), transform var(--transition);flex-shrink:0;margin-top:2px}.tool-card:hover .tool-card__arrow[data-v-41678a86]{color:var(--tool-color,var(--accent));transform:translate(4px)}.home[data-v-55e2ae75]{flex-direction:column;min-height:100vh;display:flex;position:relative}.home__body[data-v-55e2ae75]{visibility:hidden;flex-direction:column;flex:1;display:flex}.home__body--visible[data-v-55e2ae75]{visibility:visible;animation:.35s ease-out both home-fade-in-55e2ae75}@keyframes home-fade-in-55e2ae75{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.home__body--visible[data-v-55e2ae75]{opacity:1;animation:none}}.home[data-v-55e2ae75]:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(70% 60% at 50% 0,#22c55e12 0%,#0000 70%);height:480px;position:absolute;top:0;left:0;right:0}.container[data-v-55e2ae75]{z-index:1;width:100%;max-width:1200px;margin:0 auto;padding:0 24px;position:relative}.header[data-v-55e2ae75]{z-index:100;border-bottom:1px solid var(--border);background:#020617d9;position:sticky;top:0}.header__inner[data-v-55e2ae75]{justify-content:space-between;align-items:center;height:64px;display:flex}.header__logo[data-v-55e2ae75]{align-items:center;gap:10px;display:flex}.logo-icon[data-v-55e2ae75]{background:var(--accent-dim);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--accent);border:1px solid #22c55e33;justify-content:center;align-items:center;display:flex}.logo-text[data-v-55e2ae75]{color:var(--text-primary);letter-spacing:-.02em;font-family:Fira Code,monospace;font-size:17px;font-weight:700}.header__count[data-v-55e2ae75]{color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:99px;padding:4px 10px;font-family:Fira Code,monospace;font-size:12px}.hero[data-v-55e2ae75]{text-align:center;padding:72px 24px 40px}.hero__badge[data-v-55e2ae75]{color:var(--accent);background:var(--accent-dim);letter-spacing:.05em;text-transform:uppercase;border:1px solid #22c55e4d;border-radius:99px;align-items:center;gap:6px;margin-bottom:24px;padding:6px 14px;font-size:12px;font-weight:500;display:inline-flex}.hero__title[data-v-55e2ae75]{min-height:calc(1.1*clamp(36px,5vw,64px));color:var(--text-primary);letter-spacing:-.03em;margin-bottom:16px;font-family:Fira Code,monospace;font-size:clamp(36px,5vw,64px);font-weight:700;line-height:1.1}.hero__title--accent[data-v-55e2ae75]{background:linear-gradient(135deg,#22c55e,#10b981);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;display:inline-block}.hero__subtitle[data-v-55e2ae75]{color:var(--text-secondary);max-width:520px;margin:0 auto 40px;font-size:16px;line-height:1.7}.search-wrap[data-v-55e2ae75]{max-width:520px;margin:0 auto;position:relative}.search-icon[data-v-55e2ae75]{color:var(--text-muted);pointer-events:none;transition:color var(--transition);position:absolute;top:50%;left:16px;transform:translateY(-50%)}.search-wrap:focus-within .search-icon[data-v-55e2ae75]{color:var(--accent)}.search-input[data-v-55e2ae75]{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;height:56px;color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:0 48px;font-size:16px}.search-input[data-v-55e2ae75]::placeholder{color:var(--text-muted)}.search-input[data-v-55e2ae75]:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.search-kbd[data-v-55e2ae75]{color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-family:Fira Code,monospace;font-size:11px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.search-clear[data-v-55e2ae75]{background:var(--bg-secondary);width:28px;height:28px;color:var(--text-muted);transition:all var(--transition);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.search-clear[data-v-55e2ae75]:hover{background:var(--border-hover);color:var(--text-primary);transform:translateY(-50%)scale(1.1)}.categories[data-v-55e2ae75]{scrollbar-width:none;gap:10px;padding:0 24px 40px;display:flex;overflow-x:auto}.categories[data-v-55e2ae75]::-webkit-scrollbar{display:none}.category-btn[data-v-55e2ae75]{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);white-space:nowrap;cursor:pointer;transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:99px;justify-content:center;align-items:center;padding:10px 20px;font-size:14px;font-weight:500;display:inline-flex;position:relative}.category-btn__inner[data-v-55e2ae75]{z-index:2;align-items:center;gap:8px;display:inline-flex;position:relative}.category-btn[data-v-55e2ae75]:hover{color:var(--text-primary);border-color:var(--border-hover)}.category-btn.active[data-v-55e2ae75]{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--bg-card));border-color:var(--accent)}.category-btn__count[data-v-55e2ae75]{opacity:.6;background:#0003;border-radius:10px;padding:2px 6px;font-family:Fira Code,monospace;font-size:11px}.main[data-v-55e2ae75]{z-index:1;flex:1;padding-bottom:64px;position:relative}.grid[data-v-55e2ae75]{width:100%}.grid__inner[data-v-55e2ae75]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.empty[data-v-55e2ae75]{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:80px 24px;display:flex}.empty__icon[data-v-55e2ae75]{color:var(--text-muted);margin-bottom:16px}.empty__title[data-v-55e2ae75]{color:var(--text-primary);margin-bottom:6px;font-family:Fira Code,monospace;font-size:18px;font-weight:600}.empty__sub[data-v-55e2ae75]{color:var(--text-secondary);margin-bottom:24px;font-size:14px}.empty__reset[data-v-55e2ae75]{color:var(--accent);background:var(--accent-dim);cursor:pointer;transition:background var(--transition);border:1px solid #22c55e40;border-radius:99px;padding:10px 24px;font-size:13px;font-weight:500}.empty__reset[data-v-55e2ae75]:hover{background:#22c55e33}.footer[data-v-55e2ae75]{border-top:1px solid var(--border);z-index:1;background:var(--bg-primary);padding:24px 0;position:relative}.footer__inner[data-v-55e2ae75]{justify-content:space-between;align-items:center;display:flex}.footer__text[data-v-55e2ae75]{color:var(--text-muted);font-size:13px}.footer__dots[data-v-55e2ae75]{gap:6px;display:flex}.footer__dot[data-v-55e2ae75]{background:var(--accent);opacity:.5;border-radius:50%;width:6px;height:6px}@media (width<=768px){.hero[data-v-55e2ae75]{padding:48px 24px 32px}.grid__inner[data-v-55e2ae75]{grid-template-columns:1fr}.footer__inner[data-v-55e2ae75]{text-align:center;flex-direction:column;gap:12px}}@media (width<=480px){.header__count[data-v-55e2ae75]{display:none}}:root{--bg-primary:#020617;--bg-secondary:#0f172a;--bg-card:#1e293b;--bg-card-hover:#263548;--border:#ffffff0f;--border-hover:#ffffff1f;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent:#22c55e;--accent-dim:#22c55e1f;--accent-glow:#22c55e4d;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--transition:.2s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Fira Sans,-apple-system,sans-serif;line-height:1.6}#app{min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-card);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
