@keyframes fpb-card-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.fpb-techgrid{background:#fff;border-radius:20px;box-shadow:var(--bs-box-shadow-lg);overflow:hidden;border:1px solid #f0f0f0}.fpb-tg-title{font-size:1.1rem;font-weight:800;color:#1a1a2e;margin:0;flex-shrink:0}.fpb-tg-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px;border-bottom:1px solid #f0f0f0}.fpb-tg-search{position:relative;flex:1;min-width:180px;max-width:260px}.fpb-tg-controls.search:not(.viewtype) .fpb-tg-search{margin-left:auto}.fpb-tg-search input.fpb-tg-search-input{width:100%!important;border:1.5px solid #e8e8f0!important;border-radius:10px!important;padding:8px 12px 8px 34px!important;font-size:.82rem!important;outline:0;background:#fafafa!important;transition:border-color .15s!important;color:#1a1a2e!important}.fpb-tg-search input.fpb-tg-search-input:focus{background:#fff!important}.fpb-tg-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#bbb;font-size:.85rem;pointer-events:none}.fpb-tg-view-btns{display:flex;gap:2px;background:#f4f4f8;border-radius:8px;padding:3px;margin-left:auto}.fpb-tg-view-btn{border:0;background:0 0;padding:5px 10px;border-radius:6px;cursor:pointer;font-size:.8rem;color:#888;font-weight:600;transition:background .15s,color .15s;white-space:nowrap}.fpb-tg-view-btn.active{background:#fff;color:#1a1a2e;box-shadow:0 1px 4px rgba(0,0,0,.08)}.fpb-tg-filters{display:flex;gap:6px;flex-wrap:wrap;padding:16px;border-bottom:1px solid #f0f0f0;justify-content:center}.fpb-tg-filter{border:1.5px solid #e8e8f0;background:#fff;border-radius:20px;padding:5px 14px;font-size:.85rem;font-weight:500;color:#555;cursor:pointer;transition:border-color .15s,background .15s,color .15s;white-space:nowrap;display:flex;align-items:center;gap:5px}.fpb-tg-filter i,.fpb-tg-filter:hover{color:var(--fpb-accent)}.fpb-tg-filter:hover{border-color:color-mix(in srgb,var(--fpb-accent) 30%,white)}.fpb-tg-filter.active{border-color:var(--fpb-accent);background:color-mix(in srgb,var(--fpb-accent) 10%,white);color:var(--fpb-accent)}.fpb-tg-filter-count{background:#e8e8f0;color:#888;font-size:.68rem;font-weight:700;padding:1px 6px;border-radius:10px;transition:background .15s,color .15s}.fpb-tg-filter.active .fpb-tg-filter-count{background:color-mix(in srgb,var(--fpb-accent) 25%,white);color:var(--fpb-accent)}.fpb-tg-body{padding:16px}.fpb-tg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--fpb-tg-width,110px),1fr));gap:12px}.fpb-tech-card{border:1.5px solid #f0f0f0;border-radius:14px;padding:16px 10px 12px;text-align:center;cursor:default;transition:border-color .15s,box-shadow .15s,transform .15s;position:relative;animation:fpb-card-in .2s ease-out}.fpb-tech-desc{font-size:.75rem;color:#888;line-height:1.35;margin-top:15px}.fpb-tech-card:hover{border-color:color-mix(in srgb,var(--fpb-accent) 50%,white);box-shadow:0 4px 16px color-mix(in srgb,var(--fpb-accent) 12%,white);transform:translateY(-3px)}.fpb-tech-card.coming-soon{opacity:.55;filter:grayscale(.6)}.fpb-tech-logo-wrap{width:48px;height:48px;margin:0 auto 10px;position:relative}.fpb-tech-logo-img{width:48px;height:48px;object-fit:contain;border-radius:10px}.fpb-tech-logo-fallback{width:48px;height:48px;border-radius:10px;display:none;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#fff;letter-spacing:-.5px}.fpb-tech-name{font-size:.75rem;font-weight:700;color:#1a1a2e;margin-bottom:4px;line-height:1.2}.fpb-tech-version{display:inline-block;font-size:.65rem;font-weight:600;padding:2px 7px;border-radius:20px;background:#f0f0f8;color:#666}.fpb-tech-card .fpb-soon-badge{position:absolute;top:6px;right:6px;background:#fef3c7;color:#d97706;font-size:.58rem;font-weight:700;padding:2px 5px;border-radius:4px}.fpb-tech-badge .fpb-tooltip,.fpb-tech-card .fpb-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);background:#1a1a2e;color:#e2e8f0;font-size:.75rem;line-height:1.5;padding:8px 12px;border-radius:8px;max-width:220px;white-space:normal;text-align:left;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s;z-index:100;box-shadow:0 4px 16px rgba(0,0,0,.2)}.fpb-tech-badge .fpb-tooltip::after,.fpb-tech-card .fpb-tooltip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#1a1a2e}.fpb-tech-badge:hover .fpb-tooltip,.fpb-tech-card:hover .fpb-tooltip{opacity:1;visibility:visible}.fpb-tech-card:first-child .fpb-tooltip,.fpb-tech-card:nth-child(7n+1) .fpb-tooltip{left:0;transform:none}.fpb-tech-card:first-child .fpb-tooltip::after,.fpb-tech-card:nth-child(7n+1) .fpb-tooltip::after{left:24px}.fpb-tg-badges{display:flex;flex-wrap:wrap;gap:8px}.fpb-tech-badge{display:inline-flex;align-items:center;gap:7px;border:1.5px solid #e8e8f0;border-radius:20px;padding:6px 12px 6px 8px;font-size:.8rem;cursor:default;transition:border-color .15s,box-shadow .15s;animation:fpb-card-in .2s ease-out;position:relative}.fpb-tech-badge:hover{border-color:#c7c0ff;box-shadow:0 2px 8px rgba(79,70,229,.12)}.fpb-tech-badge-logo{width:20px;height:20px;object-fit:contain;flex-shrink:0}.fpb-tech-badge-fallback{width:20px;height:20px;border-radius:4px;display:none;align-items:center;justify-content:center;font-size:9px;font-weight:800;color:#fff;flex-shrink:0}.fpb-tech-badge-name{font-weight:600;color:#1a1a2e}.fpb-tech-badge-ver{font-size:.7rem;color:#999;font-weight:500}.fpb-tg-empty{text-align:center;padding:40px 20px;color:#bbb;font-size:.9rem;display:none}.fpb-tg-count{font-size:.78rem;color:#aaa;margin-left:auto;padding:0 28px 12px;text-align:right}@media (max-width:580px){.fpb-tg-body,.fpb-tg-controls,.fpb-tg-count,.fpb-tg-filters{padding-left:16px;padding-right:16px}.fpb-tg-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}}