/* 独立资源汇总页面：复用首页卡片、按钮、弹窗的公共样式。 */
.directory-section { padding: 32px 0 76px; scroll-margin-top: 88px; }
.directory-panel { background: #fff; border: 1px solid var(--border); border-radius: 22px; padding: 26px 28px 12px; box-shadow: 0 8px 35px rgba(31,32,68,.035); }
.directory-filter-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; padding: 0 0 13px; }
.directory-filter-heading h2 { font-size: 16px; }
.directory-filter-heading span { color: #9999a8; font-size: 12px; }
.directory-primary { padding-bottom: 22px; margin-bottom: 20px; border-bottom: 1px solid #f0f0f5; }
.directory-secondary { min-height: 45px; margin-bottom: 14px; }
.directory-secondary .filter-tab { background: #fafaff; }
.directory-secondary .filter-tab.active, .directory-secondary .filter-tab[aria-pressed="true"] { background: #f1edff; color: #614ade; border-color: #ded7ff; box-shadow: none; }
.directory-tab-count { font-size: 11px; margin-left: 7px; opacity: .65; }
.directory-sub-hint { color: #a0a0af; font-size: 13px; padding: 10px 0; }
.directory-toolbar { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin: 36px 0 23px; }
.directory-results h2 { font-size: 27px; }
.directory-results p { color: var(--muted); margin-top: 5px; font-size: 13px; }
.directory-search { display: flex; align-items: center; padding: 5px; gap: 5px; border: 1px solid var(--border); border-radius: 13px; background: #fff; width: min(365px, 100%); }
.directory-search input { width: 100%; min-width: 0; border: 0; outline: none; background: transparent; padding: 7px 10px; font-size: 13px; }
.directory-search:focus-within { border-color: #aa9cff; box-shadow: 0 0 0 3px rgba(109,93,252,.08); }
.directory-search button { border: 0; background: #6d5dfc; color: #fff; border-radius: 9px; padding: 8px 16px; white-space: nowrap; font-weight: 600; font-size: 13px; cursor: pointer; }
.directory-search button:hover { background: #5546ef; }
.directory-pagination { display: flex; justify-content: center; align-items: center; gap: 15px; padding: 28px 0 0; }
.directory-pagination[hidden] { display: none; }
.directory-pagination button { border: 1px solid var(--border); border-radius: 11px; background: #fff; padding: 9px 15px; color: #5c5677; cursor: pointer; }
.directory-pagination button:disabled { opacity: .35; cursor: not-allowed; }
.directory-pagination span { color: var(--muted); font-size: 13px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; border: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
@media(max-width: 650px) {
 .directory-section { padding-top: 20px; }
 .directory-panel { padding: 19px 15px 12px; border-radius: 17px; }
 .directory-primary,.directory-secondary { flex-wrap: wrap; overflow: visible; margin-right: 0; padding-bottom: 16px; }
 .directory-filter-heading { padding-bottom: 11px; }
 .directory-toolbar { flex-direction: column; align-items: stretch; gap: 17px; margin-top: 28px; }
 .directory-results h2 { font-size: 24px; }
 .directory-search { width: 100%; }
}
