/* 工具分类与联系海报：独立展示层，保留原有筛选和联系逻辑。 */
.directory-controls{display:block;padding:24px;margin:28px 0 25px;border:1px solid #655188;border-radius:18px;background:radial-gradient(ellipse at 0 0,#8870dd24,transparent 68%),#121420;box-shadow:0 10px 35px #0002,inset 0 1px 0 #ffffff06}
.category-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.category-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.category-title>.icon{color:#c6b2ff;width:23px;height:23px}
.category-title>strong{font-size:19px;color:#f4efff;letter-spacing:.5px}
.category-title>span{font-size:13px;color:#b0aac2;margin-left:5px}
.directory-controls .results-count{color:#c4b7df;font-size:13px;padding:5px 10px;border:1px solid #9480bd35;border-radius:8px;background:#b296ec0a}
.directory-controls .filter-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:11px;overflow:visible;padding:0;max-width:none}
.directory-controls .filter-tab{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:58px;padding:12px 15px;border:1px solid #484158;border-radius:11px;background:#ffffff04;color:#d9d3e9;font-size:14px;font-weight:550;text-align:left;line-height:1.55;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
.directory-controls .filter-tab>.category-name{background:none;color:inherit;font:inherit;padding:0;margin:0;border-radius:0;overflow-wrap:anywhere}
.directory-controls .filter-tab>.category-count{flex-shrink:0;min-width:28px;margin:0;padding:3px 7px;border:1px solid #a99bbc2e;border-radius:7px;background:#ffffff08;font-size:12px;font-weight:600;text-align:center;color:#c6badb;font-variant-numeric:tabular-nums}
.directory-controls .filter-tab:hover{border-color:#aa8ad6;background:#ad8ce219;transform:translateY(-1px)}
.directory-controls .filter-tab.active{color:#fff;background:linear-gradient(115deg,#7256b7,#604594);border-color:#c7a8fa;box-shadow:0 4px 18px #9a73db26,inset 0 1px 0 #ffffff25}
.directory-controls .filter-tab.active>.category-count{color:#fff;background:#ffffff1c;border-color:#ffffff38}
.contact-dialog{width:min(620px,calc(100% - 32px))}
.contact-qr{margin-top:26px}
.contact-poster-preview{display:block;width:min(100%,420px);margin:0 auto;padding:9px;border-radius:16px;background:#fff;box-shadow:0 10px 40px #0005;cursor:zoom-in;overflow:hidden}
.contact-qr .contact-poster-preview img{display:block;width:100%;max-width:none;height:auto;max-height:none;object-fit:contain;padding:0;border-radius:8px;background:#fff}
.contact-poster-hint{display:flex;justify-content:center;align-items:center;gap:7px;padding:11px 4px 3px;color:#514364;font-size:14px;font-weight:600}
.contact-poster-hint .icon{width:17px;height:17px}
.contact-qr p{font-size:13px;color:#a9b4c9;margin-top:13px}
@media(max-width:800px){.category-title>span{flex-basis:100%;margin-left:33px}.directory-controls .filter-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.category-heading{align-items:flex-start}}
@media(max-width:520px){.directory-controls{padding:16px 12px;margin:21px 0;border-radius:15px}.category-heading{gap:8px;margin-bottom:15px}.category-title{gap:7px}.category-title>strong{font-size:18px}.category-title>span{display:none}.directory-controls .results-count{font-size:12px;padding:4px 7px}.directory-controls .filter-tabs{gap:8px}.directory-controls .filter-tab{font-size:13px;min-height:62px;padding:10px;gap:6px}.directory-controls .filter-tab>.category-count{min-width:23px;font-size:11px;padding:2px 5px}.contact-dialog-inner{padding:30px 20px}.contact-poster-preview{padding:7px;border-radius:13px}.contact-qr p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.directory-controls .filter-tab{transition:none}.directory-controls .filter-tab:hover{transform:none}}
