费用:${costEntries.map(([k, v]) => (MICRO_RES_NAMES[k] || k) + ' ×' + v).join(' ')}
`
+ : '';
+ return `${a.icon} ${a.label}${costHtml}
${a.desc}
`;
+ }).join('');
document.getElementById('modalTitle').textContent = `${name} · Lv.${b.level}`;
const body = document.getElementById('modalBody');
body.innerHTML = `