:root{--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-out-quint:cubic-bezier(0.22,1,0.36,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-smooth:cubic-bezier(0.25,0.46,0.45,0.94);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--dur-fast:180ms;--dur-normal:280ms;--dur-slow:450ms;--dur-enter:600ms}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f4f6;color:#111827;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 #1677ff4d}50%{box-shadow:0 0 0 10px #1677ff00}}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.hero-section{background:linear-gradient(135deg,#0f0c29,#302b63 50%,#24243e);color:#fff;overflow:hidden;padding:72px 24px 56px;position:relative;text-align:center}.hero-section:before{animation:gradient-shift 8s ease infinite;background:radial-gradient(ellipse at 60% 40%,#764ba259 0,#0000 60%),radial-gradient(ellipse at 20% 80%,#667eea40 0,#0000 50%);background-size:200% 200%;inset:0}.hero-section:after,.hero-section:before{content:"";pointer-events:none;position:absolute}.hero-section:after{animation:float 6s ease-in-out infinite;background:radial-gradient(circle,#667eea26 0,#0000 70%);border-radius:50%;height:300px;right:-80px;top:-60px;width:300px}.hero-section h1{animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) both;animation:fadeInUp var(--dur-enter) var(--ease-out-expo) both;font-size:48px;font-weight:800;letter-spacing:-.5px;margin-bottom:12px;position:relative;text-shadow:0 2px 20px #00000026}.hero-sub{animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) .1s both;animation:fadeInUp var(--dur-enter) var(--ease-out-expo) .1s both;font-size:18px!important;margin-bottom:28px!important;opacity:.75!important;position:relative}.hero-title-row{align-items:center;display:inline-flex;gap:14px;justify-content:center}.hero-title-row svg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.2));flex-shrink:0}.hero-ai-highlight{-webkit-text-fill-color:#0000;animation:shimmer 3s linear infinite;background:linear-gradient(135deg,#00d2ff,#7af5ca 25%,gold 50%,#00d2ff 75%,#7af5ca);-webkit-background-clip:text;background-clip:text;background-size:200% auto;display:inline-block;filter:drop-shadow(0 0 12px rgba(0,210,255,.4));font-size:1.1em;font-weight:900;letter-spacing:2px;padding:0 4px}.hero-section p{animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) .12s both;animation:fadeInUp var(--dur-enter) var(--ease-out-expo) .12s both;font-size:20px;margin-bottom:32px;margin-left:auto;margin-right:auto;max-width:600px;opacity:.9;position:relative}.hero-search{animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) .2s both;animation:fadeInUp var(--dur-enter) var(--ease-out-expo) .2s both;margin:0 auto;max-width:600px}.hero-search .ant-input-search{border-radius:12px;box-shadow:0 8px 32px #00000026;overflow:hidden;transition:box-shadow .28s cubic-bezier(.25,.46,.45,.94),transform .28s cubic-bezier(.25,.46,.45,.94);transition:box-shadow var(--dur-normal) var(--ease-smooth),transform var(--dur-normal) var(--ease-smooth)}.hero-search .ant-input-search:focus-within{box-shadow:0 8px 40px #1677ff40,0 0 0 2px #1677ff26;transform:translateY(-1px)}.hero-search .ant-input-affix-wrapper{align-items:center;border:none!important;box-shadow:none!important;display:flex;height:52px!important;padding-bottom:0!important;padding-top:0!important}.hero-search .ant-input-affix-wrapper input.ant-input{background:#0000;border:none;font-size:16px;height:100%;line-height:52px;padding:0}.hero-search .ant-input-search .ant-input-search-button{align-items:center;display:inline-flex!important;font-size:15px;gap:6px;height:52px!important;justify-content:center;min-width:88px;padding:0 20px}.category-tags{animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) .3s both;animation:fadeInUp var(--dur-enter) var(--ease-out-expo) .3s both;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:24px}.category-tags .ant-tag{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border:1px solid #ffffff4d;border-radius:20px;color:#fff;cursor:pointer;font-size:14px;padding:6px 16px;transition:all .28s cubic-bezier(.16,1,.3,1);transition:all var(--dur-normal) var(--ease-out-expo)}.category-tags .ant-tag:hover{background:#ffffff4d;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px) scale(1.03)}.category-tags .ant-tag:active{transform:translateY(0) scale(.97)}.category-tags .ant-tag.active{background:#fff;border-color:#fff;box-shadow:0 2px 12px #fff3;color:#667eea}.tc-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;cursor:pointer;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:box-shadow .28s cubic-bezier(.16,1,.3,1),transform .28s cubic-bezier(.16,1,.3,1),border-color .28s cubic-bezier(.25,.46,.45,.94);transition:box-shadow var(--dur-normal) var(--ease-out-expo),transform var(--dur-normal) var(--ease-out-expo),border-color var(--dur-normal) var(--ease-smooth);will-change:transform}.tc-card:hover{border-color:#c7d2fe;box-shadow:0 20px 40px #00000014,0 8px 16px #0000000f;transform:translateY(-6px) scale(1.01)}.tc-card:active{transform:translateY(-2px) scale(.99);transition-duration:.18s;transition-duration:var(--dur-fast)}.tc-cover{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);flex-shrink:0;height:148px;overflow:hidden;position:relative;width:100%}.tc-cover-img{display:block;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.16,1,.3,1);transition:transform var(--dur-slow) var(--ease-out-expo);width:100%}.tc-card:hover .tc-cover-img{transform:scale(1.06)}.tc-cover-placeholder{align-items:center;background:linear-gradient(135deg,#f0fdf4,#dcfce7 60%,#d1fae5);display:flex;height:100%;justify-content:center;width:100%}.tc-pricing-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.2px;padding:3px 10px;position:absolute;right:10px;top:10px;transition:transform .28s cubic-bezier(.34,1.56,.64,1);transition:transform var(--dur-normal) var(--ease-spring)}.tc-card:hover .tc-pricing-badge{transform:scale(1.05)}.tc-benefit-badge{animation:benefitPulse 2s ease-in-out infinite;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px;font-size:11px;font-weight:700;left:10px;letter-spacing:.3px;padding:3px 10px;position:absolute;top:10px;transition:transform .28s cubic-bezier(.34,1.56,.64,1);transition:transform var(--dur-normal) var(--ease-spring);z-index:2}.tc-benefit-premium{background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 2px 8px #fbbf2466;color:#92400e}.tc-benefit-standard{background:linear-gradient(135deg,#dbeafe,#bfdbfe);box-shadow:0 2px 8px #3b82f64d;color:#1e40af}.tc-card:hover .tc-benefit-badge{transform:scale(1.08)}@keyframes benefitPulse{0%,to{box-shadow:0 2px 8px #fbbf244d}50%{box-shadow:0 2px 14px #fbbf2499}}.tc-logo-overlay{align-items:center;background:#fff;border:2px solid #fff;border-radius:10px;bottom:-16px;box-shadow:0 2px 8px #0000001f;display:flex;height:40px;justify-content:center;left:14px;overflow:hidden;position:absolute;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s cubic-bezier(.25,.46,.45,.94);transition:transform var(--dur-normal) var(--ease-spring),box-shadow var(--dur-normal) var(--ease-smooth);width:40px;z-index:2}.tc-card:hover .tc-logo-overlay{box-shadow:0 4px 16px #00000026;transform:scale(1.08) translateY(-2px)}.tc-logo-img{height:100%;object-fit:contain;width:100%}.tc-body{display:flex;flex:1 1;flex-direction:column;padding:26px 14px 14px}.tc-title-row{align-items:center;display:flex;gap:6px;margin-bottom:6px}.tc-title{color:#111827;font-size:15px;font-weight:700;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-meta-row{align-items:center;display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.tc-cat-chip{background:#f3f4f6;border-radius:20px;color:#6b7280;font-size:11px;padding:2px 8px;white-space:nowrap}.tc-avail-chip,.tc-tier-chip{align-items:center;border-radius:20px;display:inline-flex;font-size:11px;padding:2px 7px}.tc-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;flex:1 1;font-size:13px;line-height:1.6;margin:0 0 10px;overflow:hidden}.tc-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.tc-tag{background:#eef2ff;border-radius:20px;color:#4f46e5;font-size:11px;padding:2px 8px}.tc-footer{border-top:1px solid #f3f4f6;justify-content:space-between;margin-top:auto;padding-top:8px}.tc-footer,.tc-stats{align-items:center;display:flex}.tc-stats{gap:10px}.tc-rating{align-items:center;display:inline-flex;font-size:12px;gap:1px;line-height:1}.tc-rating-num{color:#374151;font-size:12px;font-weight:700;margin-left:5px}.tc-rating-none{color:#d1d5db;font-size:11px;letter-spacing:.2px}.tc-views{color:#9ca3af;font-size:12px}.tc-views,.tc-visit-btn{align-items:center;display:inline-flex}.tc-visit-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;height:30px;justify-content:center;text-decoration:none;transition:all .28s cubic-bezier(.34,1.56,.64,1);transition:all var(--dur-normal) var(--ease-spring);width:30px}.tc-visit-btn:hover{background:#16a34a;border-color:#16a34a;box-shadow:0 4px 12px #16a34a4d;color:#fff;transform:scale(1.12) rotate(-4deg)}.tc-visit-btn:active{transform:scale(.95);transition-duration:.18s;transition-duration:var(--dur-fast)}.tool-detail-header{background:#fff;border-bottom:1px solid #f0f0f0;padding:40px 0}.tool-detail-info{align-items:flex-start;display:flex;gap:24px}.tool-detail-logo{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:16px;display:flex;flex-shrink:0;font-size:40px;height:80px;justify-content:center;width:80px}.tool-detail-actions{display:flex;gap:12px;margin-top:16px}.section-title{color:#1a1a1a;font-size:28px;font-weight:700;margin-bottom:24px}.section-title .section-icon{margin-right:8px}.page-container{margin:0 auto;max-width:1200px;padding:32px 24px}.filter-sidebar{background:#fff;border-radius:12px;padding:24px;position:-webkit-sticky;position:sticky;top:80px}.filter-sidebar h3{color:#1a1a1a;font-size:16px;font-weight:600;margin-bottom:16px}@media (max-width:768px){.hero-section{padding:40px 16px}.hero-section h1{font-size:32px}.hero-section p{font-size:16px}.page-container{padding:16px}.tool-detail-info{flex-direction:column}.section-title{font-size:22px}}.loading-container{align-items:center;display:flex;justify-content:center;min-height:400px}.review-item{border-bottom:1px solid #f5f5f5;padding:16px 0}.review-item:last-child{border-bottom:none}.app-footer{background:#1a1a2e;color:#ffffffb3;padding:48px 0 24px}.app-footer a{color:#ffffffb3;display:inline-block;transition:color .18s cubic-bezier(.25,.46,.45,.94),transform .18s cubic-bezier(.25,.46,.45,.94);transition:color var(--dur-fast) var(--ease-smooth),transform var(--dur-fast) var(--ease-smooth)}.app-footer a:hover{color:#fff;transform:translateY(-1px)}.cat-nav-bar{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border-bottom:1px solid #0000000f;box-shadow:0 1px 8px #0000000a;position:-webkit-sticky;position:sticky;top:64px;transition:box-shadow .28s cubic-bezier(.25,.46,.45,.94);transition:box-shadow var(--dur-normal) var(--ease-smooth);z-index:100}.cat-nav-inner{-ms-overflow-style:none;align-items:center;display:flex;gap:4px;height:52px;margin:0 auto;max-width:1280px;overflow-x:auto;padding:0 24px;scrollbar-width:none}.cat-nav-inner::-webkit-scrollbar{display:none}.cat-nav-chip{align-items:center;background:#0000;border:none;border-radius:20px;color:#555;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;font-size:14px;padding:6px 14px;position:relative;transition:all .28s cubic-bezier(.16,1,.3,1);transition:all var(--dur-normal) var(--ease-out-expo);white-space:nowrap}.cat-nav-chip:hover{background:#f0fdf4;color:#16a34a;transform:translateY(-1px)}.cat-nav-chip:active{transform:scale(.96);transition-duration:.18s;transition-duration:var(--dur-fast)}.cat-nav-chip.active{background:#16a34a;box-shadow:0 2px 8px #16a34a40;color:#fff;font-weight:600}.cat-nav-count{background:#00000014;border-radius:10px;display:inline-block;font-size:11px;line-height:1.4;margin-left:5px;padding:1px 6px}.cat-nav-chip.active .cat-nav-count{background:#ffffff40}.cat-nav-more{color:#16a34a;font-weight:500}.hp-main{padding-top:40px!important}.hp-section{margin-bottom:56px}.hp-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.hp-section-title{align-items:center;color:#1a1a1a;display:flex;font-size:22px;font-weight:700}.hp-section-count{background:#f5f5f5;border-radius:10px;color:#999;font-size:13px;font-weight:400;margin-left:8px;padding:2px 8px}.hp-view-all{align-items:center;background:#0000;border:1px solid #e0e0e0;border-radius:20px;color:#555;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;padding:6px 16px;transition:all .28s cubic-bezier(.16,1,.3,1);transition:all var(--dur-normal) var(--ease-out-expo);white-space:nowrap}.hp-view-all:hover{background:#f0fdf4;border-color:#16a34a;box-shadow:0 2px 8px #16a34a1a;color:#16a34a;transform:translateX(3px)}.hp-view-all:active{transform:scale(.96);transition-duration:.18s;transition-duration:var(--dur-fast)}.hp-cat-card{background:#fff;border:1px solid #f0f0f0;border-radius:12px;cursor:pointer;padding:16px 8px;text-align:center;transition:all .28s cubic-bezier(.16,1,.3,1);transition:all var(--dur-normal) var(--ease-out-expo);-webkit-user-select:none;user-select:none}.hp-cat-card:hover{border-color:#86efac;box-shadow:0 12px 28px #00000014;transform:translateY(-4px) scale(1.02)}.hp-cat-card:active{transform:translateY(0) scale(.97);transition-duration:.18s;transition-duration:var(--dur-fast)}.hp-cat-icon{font-size:28px;line-height:1.2;margin-bottom:6px;transition:transform .28s cubic-bezier(.34,1.56,.64,1);transition:transform var(--dur-normal) var(--ease-spring)}.hp-cat-card:hover .hp-cat-icon{transform:scale(1.15)}.hp-cat-name{color:#333;font-size:13px;font-weight:600;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hp-cat-count{color:#aaa;font-size:11px}@keyframes chatFabEnter{0%{opacity:0;transform:scale(0) rotate(-90deg)}60%{opacity:1;transform:scale(1.15) rotate(5deg)}to{transform:scale(1) rotate(0deg)}}@keyframes chatWindowEnter{0%{opacity:0;transform:scale(.7) translateY(30px)}60%{opacity:1;transform:scale(1.02) translateY(-4px)}to{transform:scale(1) translateY(0)}}@keyframes chatBubbleIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ai-chat-fab{animation:chatFabEnter .5s cubic-bezier(.34,1.56,.64,1) both}.ai-chat-fab:hover{box-shadow:0 6px 28px #1677ff80!important;transform:scale(1.08)!important;transition:all .25s cubic-bezier(.34,1.56,.64,1)!important}.ai-chat-fab:active{transform:scale(.92)!important;transition-duration:.12s!important}.ai-chat-window{animation:chatWindowEnter .4s cubic-bezier(.34,1.56,.64,1) both;transform-origin:bottom right}@keyframes pageContentIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ant-layout-content>:first-child{animation:pageContentIn .45s cubic-bezier(.16,1,.3,1) both;animation:pageContentIn .45s var(--ease-out-expo,cubic-bezier(.16,1,.3,1)) both}