/* ============================================================
   DEX 图鉴 · 获取大全（VOID SIGNAL 扩展模块）
   依赖 tokens.css 变量；卡片 wf 玻璃风
   ============================================================ */
.dex-tools { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 14px; }
.dex-tools .wf-chips { flex-wrap: wrap; }
.dex-tools .wf-chip-btn i { font-style: normal; opacity: .55; margin-left: 3px; font-family: var(--wf-font-num); }
.dex-tools .wf-input { flex: 1; min-width: 220px; }

.dex-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }

.dex-card {
  background: var(--wf-glass);
  border: 1px solid var(--wf-border);
  border-radius: var(--wf-radius);
  overflow: hidden;
  transition: border-color var(--wf-dur-fast) var(--wf-ease-out);
}
.dex-head { padding: 10px 12px; cursor: pointer; display: flex; flex-direction: column; gap: 6px; }
.dex-head:hover { background: rgba(255, 255, 255, .03); }
.dex-card.open { border-color: var(--wf-accent-dim); }

.dex-name b { font-size: 14px; color: var(--wf-text, #e8eef7); font-weight: 600; }
.dex-name small { display: block; font-size: 11px; color: var(--wf-text-faint); letter-spacing: .4px; margin-top: 1px; }

.dex-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.dex-prime {
  font-family: var(--wf-font-num); font-size: 10px; color: var(--wf-accent);
  border: 1px solid var(--wf-accent-dim); background: var(--wf-accent-dim);
  border-radius: 4px; padding: 1px 6px; letter-spacing: 1px;
}
.dex-mr { font-size: 10px; color: var(--wf-text-dim); border: 1px solid var(--wf-border); border-radius: 4px; padding: 1px 6px; }
.dex-ftype { font-size: 10px; color: var(--wf-danger); border: 1px solid var(--wf-danger-dim); border-radius: 4px; padding: 1px 6px; }

.dex-body { border-top: 1px solid var(--wf-border); padding: 10px 12px; display: none; }
.dex-card.open .dex-body { display: block; }

.dex-note { font-size: 11.5px; color: var(--wf-accent); line-height: 1.55; margin-bottom: 8px; }
.dex-ab { padding: 4px 0; border-bottom: 1px dashed var(--wf-border); }
.dex-ab:last-child { border-bottom: none; }
.dex-ab b { display: block; font-size: 12px; color: var(--wf-accent-strong, var(--wf-accent)); font-weight: 600; }
.dex-ab span { display: block; font-size: 11.5px; color: var(--wf-text-dim); line-height: 1.5; margin-top: 2px; }
.dex-part { margin-bottom: 8px; }
.dex-part:last-child { margin-bottom: 0; }
.dex-part__t { font-size: 11px; color: var(--wf-text-dim); letter-spacing: 1px; margin-bottom: 3px; }
.dex-src { font-size: 12px; color: var(--wf-text, #e8eef7); padding: 3px 0; border-bottom: 1px dashed var(--wf-border); line-height: 1.45; }
.dex-src:last-child { border-bottom: none; }

#dexMore { width: 100%; margin-top: 12px; }

@media (max-width: 640px) {
  .dex-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .dex-name b { font-size: 13px; }
  .dex-head { padding: 8px 10px; }
}
