*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #3b82f6;--primary-hover: #2563eb;--primary-dark: #2563eb;--secondary-color: #64748b;--secondary-hover: #475569;--background-color: #f8fafc;--text-color: #1e293b;--text-light: #64748b;--border-color: #e2e8f0;--white: #ffffff;--shadow: 0 1px 3px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--background-color)}#app{width:100%;margin:0;padding:0;font-weight:400}.btn{padding:.5rem 1rem;border:none;border-radius:.25rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block;font-size:.875rem}.btn-primary{background-color:var(--primary-color);color:var(--white)}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--secondary-color);color:var(--white)}.btn-secondary:hover{background-color:var(--secondary-hover)}.btn-outline{background-color:transparent;color:var(--primary-color);border:1px solid var(--primary-color)}.btn-outline:hover{background-color:var(--primary-color);color:var(--white)}.btn-danger{background-color:#ef4444;color:var(--white)}.btn-danger:hover{background-color:#dc2626}.btn-success{background-color:#22c55e;color:var(--white)}.btn-success:hover{background-color:#16a34a}.btn-full{width:100%}.btn-sm{padding:.25rem .5rem;font-size:.75rem}.page-loading-overlay[data-v-d35677be]{position:fixed;inset:0;background:#fffffff2;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-content[data-v-d35677be]{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.spinner[data-v-d35677be]{position:relative;width:60px;height:60px}.spinner-circle[data-v-d35677be]{position:absolute;width:100%;height:100%;border:4px solid transparent;border-top-color:var(--primary-color);border-radius:50%;animation:spin-d35677be 1.2s cubic-bezier(.5,0,.5,1) infinite}.spinner-circle[data-v-d35677be]:nth-child(1){animation-delay:-.45s}.spinner-circle[data-v-d35677be]:nth-child(2){animation-delay:-.3s}.spinner-circle[data-v-d35677be]:nth-child(3){animation-delay:-.15s}@keyframes spin-d35677be{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text[data-v-d35677be]{font-size:1rem;font-weight:500;color:var(--text-color);margin:0;letter-spacing:.5px}.fade-enter-active[data-v-d35677be],.fade-leave-active[data-v-d35677be]{transition:opacity .3s ease}.fade-enter-from[data-v-d35677be],.fade-leave-to[data-v-d35677be]{opacity:0}@media(prefers-color-scheme:dark){.page-loading-overlay[data-v-d35677be]{background:#111827f2}}.header{background:linear-gradient(135deg,var(--white) 0%,#f8fafc 100%);box-shadow:0 4px 20px #0000000d;position:relative;z-index:1000;width:100%;border-bottom:1px solid var(--border-color)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.header-content{display:flex;justify-content:space-between;align-items:center;padding:1rem 20px;max-width:1200px;margin:0 auto}.logo{position:relative}.logo-link{text-decoration:none;color:inherit;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block}.logo-link:hover .logo-icon{transform:rotate(10deg) scale(1.1)}.logo-inner{display:flex;align-items:center;gap:.75rem}.logo-icon{font-size:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);animation:float 3s ease-in-out infinite}.logo-text{font-size:1.5rem;font-weight:700;color:var(--primary-color);background:linear-gradient(135deg,var(--primary-color) 0%,#2563eb 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.025em}.header-actions{display:flex;gap:1rem;align-items:center}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.footer{border-top:1px solid var(--border-color);margin-top:auto;width:100%}.footer-bottom{background:linear-gradient(135deg,var(--primary-color) 0%,#2563eb 100%);padding:1.5rem 20px;border-top:none}.footer-bottom-content{max-width:1200px;margin:0 auto;display:flex;justify-content:center}.copyright-info{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;justify-content:center}.footer-divider{color:#ffffff4d;-webkit-user-select:none;user-select:none}.copyright{color:var(--white);font-size:.875rem;margin:0;opacity:.85}.footer-links{display:flex;gap:1rem}.footer-link,.icp-link{color:var(--white);text-decoration:none;font-size:.875rem;opacity:.85;transition:all .3s ease}.footer-link:hover,.icp-link:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}.icp-record{margin:0;font-size:.875rem}.main{min-height:calc(100vh - 300px)}@media(max-width:1024px){.footer-bottom-content{text-align:center}.copyright-info{align-items:center}}@media(max-width:768px){.nav-menu{display:none}.logo-text{font-size:1.25rem}.header-content{padding:1rem}.footer-divider{display:none}.copyright-info{flex-direction:column;gap:.75rem}}.hero-section[data-v-9f7a2a4d]{padding:2.5rem 0 1.5rem;background:linear-gradient(135deg,#eff6ff,#fff);text-align:center;margin-bottom:1.5rem;position:relative;overflow:hidden}.hero-section[data-v-9f7a2a4d]:before{content:"";position:absolute;top:-50%;right:-20%;width:800px;height:800px;background:radial-gradient(circle,rgba(96,165,250,.05) 0%,transparent 70%);border-radius:50%;pointer-events:none}.hero-section[data-v-9f7a2a4d]:after{content:"";position:absolute;bottom:-30%;left:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(37,99,235,.03) 0%,transparent 70%);border-radius:50%;pointer-events:none}.hero-container[data-v-9f7a2a4d]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.hero-title[data-v-9f7a2a4d]{font-size:2.5rem;font-weight:800;margin-bottom:.75rem;background:linear-gradient(135deg,var(--primary-color) 0%,#1d4ed8 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.2}.hero-subtitle[data-v-9f7a2a4d]{font-size:1.125rem;color:var(--text-light);margin-bottom:1.5rem;max-width:600px;line-height:1.6}.tools-section[data-v-9f7a2a4d]{padding-bottom:3rem}.search-box-wrapper[data-v-9f7a2a4d]{width:100%;max-width:700px;position:relative}.search-box[data-v-9f7a2a4d]{position:relative;display:flex;align-items:center;max-width:700px;margin:0 auto;box-shadow:0 4px 20px #00000014;border-radius:1rem;overflow:hidden;transition:all .3s ease}.search-box[data-v-9f7a2a4d]:hover{box-shadow:0 6px 25px #0000001f}.search-icon[data-v-9f7a2a4d]{position:absolute;left:1.25rem;font-size:1.25rem;color:var(--text-light);pointer-events:none;transition:color .2s ease}.search-input[data-v-9f7a2a4d]{width:100%;padding:1.125rem 4rem 1.125rem 3.5rem;font-size:1.0625rem;border:none;border-radius:1rem;outline:none;transition:all .3s ease;background-color:var(--white);box-shadow:inset 0 2px 4px #0000000d}.search-input[data-v-9f7a2a4d]:focus{box-shadow:inset 0 2px 8px #3b82f626}.search-input:focus+.search-icon[data-v-9f7a2a4d]{color:var(--primary-color)}.search-clear[data-v-9f7a2a4d]{position:absolute;right:1rem;background:none;border:none;font-size:1.25rem;color:var(--text-light);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;width:32px;height:32px;opacity:.8}.search-clear[data-v-9f7a2a4d]:hover{background-color:var(--primary-color);color:var(--white);opacity:1;transform:scale(1.1)}.categories[data-v-9f7a2a4d]{display:flex;gap:1rem;margin-bottom:2.5rem;flex-wrap:wrap;justify-content:center;padding:0 1rem}.category-btn[data-v-9f7a2a4d]{display:flex;align-items:center;gap:.625rem;padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--white) 0%,#f8fafc 100%);border:2px solid var(--border-color);border-radius:2.5rem;font-size:.9375rem;font-weight:600;color:var(--text-color);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000d;position:relative;overflow:hidden}.category-btn[data-v-9f7a2a4d]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.1),transparent);transition:left .5s}.category-btn[data-v-9f7a2a4d]:hover:before{left:100%}.category-btn[data-v-9f7a2a4d]:hover{border-color:var(--primary-color);background:linear-gradient(135deg,var(--white) 0%,#f0f4f8 100%);box-shadow:0 6px 20px #3b82f626;transform:translateY(-2px)}.category-btn.active[data-v-9f7a2a4d]{background:linear-gradient(135deg,var(--primary-color) 0%,#2563eb 100%);border-color:var(--primary-dark);color:var(--white);box-shadow:0 8px 25px #3b82f64d;transform:translateY(-2px)}.category-btn.active[data-v-9f7a2a4d]:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 10px 30px #3b82f666}.category-icon[data-v-9f7a2a4d]{font-size:1.125rem;transition:transform .3s ease}.category-btn:hover .category-icon[data-v-9f7a2a4d]{transform:scale(1.1)}.category-btn.active .category-icon[data-v-9f7a2a4d]{animation:pulse-9f7a2a4d 1.5s ease-in-out infinite}@keyframes pulse-9f7a2a4d{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.tags-section[data-v-9f7a2a4d]{margin:0 1rem 1.5rem;padding:1rem 1.5rem;background:linear-gradient(135deg,var(--white) 0%,#f8fafc 100%);border-radius:.75rem;border:1px solid var(--border-color);box-shadow:0 2px 10px #0000000d;transition:all .3s ease}.tags-section[data-v-9f7a2a4d]:hover{box-shadow:0 4px 15px #00000014;transform:translateY(-1px)}.tags-header[data-v-9f7a2a4d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--background-color)}.tags-actions[data-v-9f7a2a4d]{display:flex;align-items:center;gap:.75rem}.tags-title[data-v-9f7a2a4d]{font-size:1.125rem;font-weight:700;color:var(--text-color);display:flex;align-items:center;gap:.5rem}.tags-title[data-v-9f7a2a4d]:before{content:"🏷️";font-size:1.25rem}.tags-clear[data-v-9f7a2a4d]{background:linear-gradient(135deg,var(--primary-color) 0%,#2563eb 100%);border:none;font-size:.875rem;font-weight:600;color:var(--white);cursor:pointer;padding:.5rem 1rem;border-radius:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #3b82f640}.tags-clear[data-v-9f7a2a4d]:hover{transform:translateY(-2px);box-shadow:0 4px 16px #3b82f666}.tags-toggle[data-v-9f7a2a4d]{background:linear-gradient(135deg,var(--white) 0%,#f8fafc 100%);border:2px solid var(--border-color);font-size:.875rem;font-weight:600;color:var(--text-color);cursor:pointer;padding:.5rem 1rem;border-radius:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000d;display:flex;align-items:center;gap:.375rem}.tags-toggle[data-v-9f7a2a4d]:hover{border-color:var(--primary-color);background:linear-gradient(135deg,var(--white) 0%,#f0f7ff 100%);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f626}.toggle-icon[data-v-9f7a2a4d]{font-size:.75rem;transition:transform .3s ease}.tags-toggle:hover .toggle-icon[data-v-9f7a2a4d]{transform:scale(1.2)}.tags-collapse-enter-active[data-v-9f7a2a4d],.tags-collapse-leave-active[data-v-9f7a2a4d]{transition:all .3s cubic-bezier(.4,0,.2,1);max-height:500px;opacity:1;overflow:hidden}.tags-collapse-enter-from[data-v-9f7a2a4d],.tags-collapse-leave-to[data-v-9f7a2a4d]{max-height:0;opacity:0}.tags-list[data-v-9f7a2a4d]{display:flex;flex-wrap:wrap;gap:.75rem;padding:.5rem 0}.tag-btn[data-v-9f7a2a4d]{padding:.625rem 1.25rem;background:linear-gradient(135deg,var(--white) 0%,#f1f5f9 100%);border:2px solid var(--border-color);border-radius:2rem;font-size:.9375rem;font-weight:600;color:var(--text-color);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 2px 4px #0000000d}.tag-btn[data-v-9f7a2a4d]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.2),transparent);transition:left .5s}.tag-btn[data-v-9f7a2a4d]:hover:before{left:100%}.tag-btn[data-v-9f7a2a4d]:hover{border-color:var(--primary-color);background:linear-gradient(135deg,var(--white) 0%,#f0f7ff 100%);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f626}.tag-btn.active[data-v-9f7a2a4d]{background:linear-gradient(135deg,var(--primary-color) 0%,#2563eb 100%);border-color:var(--primary-dark);color:var(--white);transform:translateY(-2px);box-shadow:0 4px 16px #3b82f64d}.tag-btn.active[data-v-9f7a2a4d]:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #3b82f666}.no-results[data-v-9f7a2a4d]{text-align:center;padding:3rem;color:var(--text-light);font-size:1rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.reset-btn[data-v-9f7a2a4d]{padding:.5rem 1.5rem;border-radius:2rem}.auth-badge[data-v-9f7a2a4d]{position:absolute;top:1rem;right:1rem;font-size:1.25rem;z-index:2;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.tool-card.requires-auth[data-v-9f7a2a4d]{opacity:.9}.tool-card.requires-auth[data-v-9f7a2a4d]:after{content:"";position:absolute;inset:0;background:#ffffff0d;pointer-events:none}.tools-grid[data-v-9f7a2a4d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;padding:0 1rem}.tool-card[data-v-9f7a2a4d]{background:linear-gradient(135deg,var(--white) 0%,#f8fafc 100%);padding:1.5rem;border-radius:1rem;border:1px solid var(--border-color);transition:all .2s ease-out;cursor:pointer;box-shadow:0 2px 4px #00000005;position:relative;overflow:hidden;display:flex;flex-direction:column;height:100%}.tool-card[data-v-9f7a2a4d]:hover{box-shadow:0 8px 16px #00000014;transform:translateY(-2px);border-color:var(--primary-color)}.tool-icon[data-v-9f7a2a4d]{font-size:2.5rem;margin-bottom:1rem;background:var(--background-color);width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:12px}.tool-title[data-v-9f7a2a4d]{font-size:1.125rem;font-weight:700;margin-bottom:.5rem;color:var(--text-color);transition:color .2s ease}.tool-card:hover .tool-title[data-v-9f7a2a4d]{color:var(--primary-color)}.tool-description[data-v-9f7a2a4d]{color:var(--text-light);font-size:.875rem;margin-bottom:1rem;line-height:1.5;flex-grow:1;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.tool-tags[data-v-9f7a2a4d]{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1rem}.tool-tag[data-v-9f7a2a4d]{padding:.25rem .625rem;background:var(--background-color);border-radius:4px;font-size:.75rem;color:var(--text-light);font-weight:500;transition:all .2s ease}.tool-card:hover .tool-tag[data-v-9f7a2a4d]{color:var(--text-color);background:#e2e8f0}.tool-btn[data-v-9f7a2a4d]{width:100%;margin-top:auto;font-size:.875rem;font-weight:600;padding:.625rem 1rem;background:transparent!important;border:1px solid var(--border-color)!important;border-radius:.5rem;color:var(--text-color)!important;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.tool-card:hover .tool-btn[data-v-9f7a2a4d]{background:var(--primary-color)!important;border-color:var(--primary-color)!important;color:var(--white)!important}.btn-arrow[data-v-9f7a2a4d]{opacity:0;transform:translate(-4px);transition:all .2s ease}.tool-card:hover .btn-arrow[data-v-9f7a2a4d]{opacity:1;transform:translate(0)}[data-v-9f7a2a4d] .highlight{color:#ea580c;font-weight:700;background-color:#ffedd5;border-radius:2px;padding:0 2px}@media(max-width:1024px){.intro-title[data-v-9f7a2a4d]{font-size:2.25rem}.tools-grid[data-v-9f7a2a4d]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}}@media(max-width:768px){.intro[data-v-9f7a2a4d]{padding:3rem 0}.intro-icon[data-v-9f7a2a4d]{font-size:2.5rem}.intro-title[data-v-9f7a2a4d]{font-size:2rem}.intro-description[data-v-9f7a2a4d]{font-size:1rem}.search-box[data-v-9f7a2a4d]{max-width:100%;margin:0 1rem}.categories[data-v-9f7a2a4d]{gap:.75rem;margin-bottom:2rem}.category-btn[data-v-9f7a2a4d]{padding:.75rem 1.25rem;font-size:.875rem}.tags-section[data-v-9f7a2a4d]{margin-bottom:2rem;padding:1.5rem}.tags-title[data-v-9f7a2a4d]{font-size:1rem}.tags-list[data-v-9f7a2a4d]{gap:.5rem}.tag-btn[data-v-9f7a2a4d]{padding:.5rem 1rem;font-size:.875rem}.tools-grid[data-v-9f7a2a4d]{grid-template-columns:1fr;gap:1.5rem;padding:0 1rem}.tool-card[data-v-9f7a2a4d]{padding:1.5rem}.tool-icon[data-v-9f7a2a4d]{font-size:2.5rem}.tool-title[data-v-9f7a2a4d]{font-size:1.25rem}}
