/* Estilos específicos del laboratorio de VAE.
 * Los componentes compartidos (.force-grid, .grid-ctl, .order-steps, .ep-row) están en chapters.css. */

/* Laboratorio: rejillas de imágenes */
.mc-title { font-size: 1.05rem; }
.grid-block { padding: 6px 16px 14px; }
.grid-block h4 { font-size: 0.76rem; text-transform: uppercase; letter-spacing: 0.07em; color: var(--ink-2); margin-bottom: 8px; }
#origGrid, #reconGrid, #genGrid { width: 100%; display: block; image-rendering: pixelated; }
.gen-wrap { max-width: 460px; margin-inline: auto; }
.sel-grid { width: 100%; max-width: 220px; display: block; margin: 4px auto 10px; image-rendering: pixelated; }
.sel-info { font-size: 0.86rem; display: grid; gap: 3px; }
.sel-info .kv { display: flex; justify-content: space-between; gap: 10px; }
.sel-info .kv span { color: var(--ink-2); }
.sel-info .mono { font-family: var(--mono); font-size: 0.8rem; }
.ctl-row { display: flex; gap: 14px; flex-wrap: wrap; font-size: 0.84rem; color: var(--ink-2); margin-bottom: 6px; }
.ctl-row select { margin-left: 4px; }
.vae-groups { grid-template-columns: 1.7fr 1fr 1.1fr; align-items: start; }
.vae-groups .tiles { grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); }
.vae-groups .tile .t-label { white-space: normal; line-height: 1.25; min-height: 2.4em; align-items: flex-start; }
.vae-groups .tile .t-val { font-size: 1.5rem; }

/* Tabla de factores */
.fact-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.fact-table th { text-align: left; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink-2); padding: 6px 8px; border-bottom: 1px solid var(--border-strong); }
.fact-table td { padding: 7px 8px; border-bottom: 1px solid var(--border); font-variant-numeric: tabular-nums; }
.fact-table td:last-child { width: 40%; }
.cbar { height: 8px; background: var(--surface-2); border-radius: 4px; overflow: hidden; }
.cbar i { display: block; height: 100%; border-radius: 4px; }

@media (max-width: 1100px) { .vae-groups { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .vae-groups { grid-template-columns: 1fr; } }
