/* Academy Research database: tree pages generated from data/research_db.json. */
.db-research .db-tree-head { display: flex; align-items: center; gap: 14px; margin-bottom: 6px; }
.db-research .db-tree-icon { width: 66px; height: 66px; object-fit: contain; flex: 0 0 auto; filter: drop-shadow(0 3px 7px rgba(0,0,0,.35)); }
.db-research .db-tree-head h1 { margin: 0; }
.db-research .db-card.tree-growth { border-top: 3px solid var(--success); }
.db-research .db-card.tree-economy { border-top: 3px solid var(--warning); }
.db-research .db-card.tree-battle { border-top: 3px solid var(--accent); }
.db-research .db-card-tree { color: var(--text-muted); font-size: 13px; font-weight: 400; line-height: 1.35; }
.db-research .db-toolbar { margin-top: 18px; }
.db-research .db-search { max-width: 380px; }
/* Ligne de groupe = en-tête du groupe de niveaux (<th scope="rowgroup">). position:static
   neutralise le `th { position:sticky }` global, prévu pour les en-têtes de colonnes. */
.db-research .db-tech-group th { position: static; z-index: auto; text-align: left; background: var(--table-header); color: var(--accent); font-weight: 700; font-size: 13px; text-transform: none; letter-spacing: 0; }
.db-research .db-tech-group[hidden], .db-research .db-tech-row[hidden] { display: none; }
/* 12 colonnes : page plus large et cellules resserrées pour tout afficher sans
   défilement horizontal sur desktop (≥ 1280px). Prérequis et effets passent à la ligne. */
.db-page.db-wide.db-research { max-width: 1400px; }
.db-research .table-container table.db-table th,
.db-research .table-container table.db-table td { padding: 7px 7px; }
.db-research .table-container table.db-table th { letter-spacing: .02em; }
.db-research .db-tech-name { display: flex; align-items: center; gap: 8px; min-width: 150px; white-space: normal; }
.db-research .db-tech-icon { width: 30px; height: 30px; object-fit: contain; flex: 0 0 auto; }
.db-research .table-container table.db-table td.c-req { min-width: 120px; }
.db-research .table-container table.db-table td.c-eff { min-width: 150px; }
.db-research .db-empty td { color: var(--text-muted); font-style: italic; text-align: center; padding: 24px; }
@media (max-width: 520px) {
  .db-research .db-tree-icon { width: 52px; height: 52px; }
  .db-research .db-tree-head { gap: 10px; }
}
