/* ===== 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: 720px) {
  .sim__body--split { grid-template-columns: minmax(0, 320px) 1fr; align-items: start; }
}
.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;
}
.sim__readout { font-family: var(--font-mono); font-size: 0.9rem; display: grid; gap: 6px; }
.sim__readout .k { color: var(--text-dim); }
.sim__readout .v { color: var(--blue-bright); }
.sim__pill {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-mono); font-size: 0.8rem;
  padding: 4px 10px; border-radius: 999px;
  border: 1px solid var(--border); background: var(--bg-panel);
}
.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); }
