.dir-search-wrap{margin-bottom:16px;position:relative}.dir-search{appearance:none;-webkit-appearance:none;background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.06em;outline:none;padding:14px 48px 14px 20px;transition:border-color .15s;width:100%}.dir-search::placeholder{color:var(--muted);text-transform:uppercase}.dir-search:focus{border-color:var(--accent)}.dir-search::-webkit-search-cancel-button{display:none}.dir-search-icon{color:var(--muted);font-family:var(--font-mono);font-size:.7rem;pointer-events:none;position:absolute;right:18px;top:50%;transform:translateY(-50%);transition:color .15s}.dir-search:focus~.dir-search-icon{color:var(--accent)}.cat-filter-bar{background:var(--bg);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px;margin-bottom:56px;padding:16px 0 32px;position:sticky;top:64px;z-index:40}.cat-btn{background:transparent;border:1px solid var(--border);color:var(--muted);cursor:pointer;font-family:var(--font-mono);font-size:.5rem;letter-spacing:.1em;padding:6px 14px;text-transform:uppercase;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.cat-btn:hover{border-color:var(--text);color:var(--text)}.cat-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg)}@media (max-width:991px){.cat-filter-bar{margin-bottom:40px;padding-bottom:24px;top:56px}}.tools-group{margin-bottom:64px}.category-label-row{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:16px;margin-bottom:20px;padding-bottom:16px}.category-label-row:before{background:var(--accent);content:"";display:block;flex-shrink:0;height:1px;width:32px}.category-label-row-title{color:var(--accent);flex:1;font-family:var(--font-mono);font-size:.52rem;letter-spacing:.1em;text-transform:uppercase}.category-label-row-count{color:var(--muted);font-size:.48rem;letter-spacing:.08em;text-transform:uppercase}.tools-grid{background:var(--border);border:1px solid var(--border);display:grid;gap:1px;grid-template-columns:repeat(3,1fr)}.tool-card{background:var(--bg);display:flex;flex-direction:column;padding:24px;transition:background .2s}.tool-card:hover{background:var(--surface)}.tool-card-header{gap:12px;margin-bottom:16px}.tool-card-header,.tool-logo{align-items:center;display:flex}.tool-logo{background:var(--surface);border:1px solid var(--border);flex-shrink:0;height:36px;justify-content:center;overflow:hidden;width:36px}.tool-logo img{display:block;height:100%;object-fit:contain;width:100%}.tool-logo-fallback{color:var(--muted);font-family:var(--font-mono);font-size:.48rem;letter-spacing:.05em}.tool-name{font-size:.92rem;font-weight:600;line-height:1.3}.tool-name a{color:inherit;text-decoration:none}.tool-name a:hover{color:var(--accent)}.tool-desc{color:var(--muted);flex:1;font-size:.8rem;font-weight:300;line-height:1.7;margin-bottom:16px}.tool-pricing{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:4px;margin-bottom:0;margin-top:auto;padding-top:14px}.tool-pricing-label{color:var(--muted);font-size:.44rem;letter-spacing:.12em;text-transform:uppercase}.tool-pricing-value{color:var(--text);font-size:.78rem;font-weight:300;line-height:1.5}.tool-footer{align-items:center;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:space-between;margin-top:16px;padding-top:14px}.tool-link{color:var(--accent);font-size:.48rem;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:opacity .15s}.tool-link:hover{opacity:.7}.tool-cat-badge{border:1px solid var(--border);font-family:var(--font-mono);font-size:.44rem;max-width:120px;overflow:hidden;padding:2px 7px;text-overflow:ellipsis;white-space:nowrap}.dir-empty,.tool-cat-badge{color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.dir-empty{font-size:.7rem;padding:48px 0;text-align:center}.dir-results-header{align-items:center;display:flex;justify-content:flex-end;margin-bottom:32px}.dir-results-count{color:var(--muted);font-size:.46rem;letter-spacing:.1em;text-transform:uppercase}.dir-pagination{align-items:center;border-top:1px solid var(--border);display:flex;gap:20px;justify-content:center;margin-top:48px;padding:48px 0 24px}.page-btn{border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);font-size:.5rem;letter-spacing:.1em;padding:9px 22px;text-decoration:none;text-transform:uppercase;transition:background .15s,border-color .15s;white-space:nowrap}.page-btn:not(.disabled):hover{background:var(--surface);border-color:var(--accent);color:var(--text)}.page-btn.disabled{color:var(--muted);cursor:default;pointer-events:none}.page-info{color:var(--muted);font-size:.46rem;letter-spacing:.1em;text-transform:uppercase}.cat-btn{display:inline-block;text-decoration:none}.cat-filter-bar a.cat-btn{color:var(--muted);font-family:var(--font-mono);text-decoration:none}.cat-filter-bar a.cat-btn:hover{border-color:var(--text);color:var(--text)}.cat-filter-bar a.cat-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg)}@media (max-width:991px){.tools-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:575px){.tools-grid{grid-template-columns:1fr}.tools-group{margin-bottom:48px}}