/* ===== Simuladores ===== */
.sim {
  background: var(--bg-panel);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-3);
  display: grid;
  gap: var(--space-3);
}
.sim__head h3 { margin: 0 0 4px; font-size: 1.15rem; }
.sim__head p { margin: 0; color: var(--text-dim); font-size: 0.9rem; }
.sim__body { display: grid; gap: var(--space-3); grid-template-columns: 1fr; }
@media (min-width: 820px) {
  .sim__body--split { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: start; }
}
.sim__controls, .sim__stage { min-width: 0; max-width: 100%; box-sizing: border-box; }
.sim__controls { display: grid; gap: var(--space-2); }
.sim__control label { display: block; font-size: 0.82rem; color: var(--text-dim); margin-bottom: 4px; }
.sim__control input[type="range"] { width: 100%; accent-color: var(--blue-royal); }
.sim__stage {
  background: var(--bg-panel-2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: var(--space-2);
  min-height: 200px;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.sim__readout { font-family: var(--font-mono); font-size: 0.88rem; display: grid; gap: 8px; width: 100%; min-width: 0; }
.sim__readout .k { color: var(--text-dim); }
.sim__readout .v { color: var(--blue-bright); font-weight: 600; }
.sim__pill {
  display: block; width: 100%; box-sizing: border-box;
  font-family: var(--font-mono); font-size: 0.78rem; line-height: 1.35;
  padding: 8px 12px; border-radius: var(--radius);
  border: 1px solid var(--border); background: var(--bg-panel);
  word-break: break-word; text-align: center;
}
.sim__pill--ok    { color: #5ED28B; border-color: rgba(94,210,139,0.4); }
.sim__pill--warn  { color: var(--signal-amber); border-color: rgba(255,177,61,0.5); }
.sim__pill--crit  { color: #FF6B6B; border-color: rgba(255,107,107,0.5); }

/* ===== Slot de modelo 3D ===== */
.model-slot {
  width: 100%;
  max-width: 460px;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  overflow: hidden;
  background: var(--bg-panel);
}
.model-slot model-viewer { width: 100%; height: 100%; background: transparent; }
.model-slot.is-placeholder {
  display: flex; align-items: center; justify-content: center; text-align: center;
  border: 2px dashed var(--border);
  color: var(--text-dim); font-size: 0.85rem; padding: var(--space-2);
  background: repeating-linear-gradient(135deg, var(--bg-panel), var(--bg-panel) 10px, var(--bg-panel-2) 10px, var(--bg-panel-2) 20px);
}
.model-slot__label { display: block; }
.model-slot__hint { display: block; margin-top: 6px; font-family: var(--font-mono); font-size: 0.75rem; color: var(--blue-bright); }
