/* The original visuai-energy renderer owns the body, eyes and expressions. */
.df-global-context {
  grid-template-columns: 160px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}
.df-character-stage {
  position: relative;
  width: 160px;
  height: 160px;
  isolation: isolate;
  align-self: center;
}
.df-character-stage::before,
.df-character-stage::after {
  content: '';
  position: absolute;
  pointer-events: none;
  z-index: -1;
}
.df-character-stage::before {
  inset: 12%;
  border-radius: 50%;
  background: radial-gradient(ellipse, #7394ff25, #a688ff0a 48%, transparent 73%);
  transform: scale(1.15);
  animation: df-character-aura 7s ease-in-out infinite;
}
.df-character-stage::after {
  bottom: 9%;
  left: 24%;
  width: 52%;
  height: 8%;
  border-radius: 50%;
  background: radial-gradient(ellipse, #6b8bff20, transparent 72%);
  filter: blur(3px);
}
.df-global-context .df-character-stage visuai-energy {
  display: block;
  width: 160px;
  height: 160px;
  margin: 0;
  transform-origin: 50% 72%;
  transform: translateY(var(--df-character-y, 0px)) rotate(var(--df-character-tilt, 0deg));
  transition: transform 1.15s cubic-bezier(.22, .61, .36, 1);
}
.df-character-stage[data-pose='chegada'] { --df-character-y: -3px; --df-character-tilt: -2deg; }
.df-character-stage[data-pose='curiosidade'] { --df-character-y: -2px; --df-character-tilt: -3deg; }
.df-character-stage[data-pose='observacao'] { --df-character-y: 1px; --df-character-tilt: 2deg; }
.df-character-stage[data-pose='reflexao'] { --df-character-y: -4px; --df-character-tilt: 1deg; }
.df-character-stage[data-pose='apresentacao'],
.df-character-stage[data-pose='convite'] { --df-character-y: -2px; --df-character-tilt: -1deg; }
.df-globe-disclosure { padding-left: 22px; }
.df-character-stage:not([data-motion='running'])::before { animation-play-state: paused; }
.df-character-stage[data-motion='still'] visuai-energy { transition: none; transform: none; }
@keyframes df-character-aura {
  0%, 100% { opacity: .65; transform: scale(1.04); }
  50% { opacity: 1; transform: scale(1.2); }
}
@media (max-width: 600px) {
  .df-global-context { grid-template-columns: 100px minmax(0, 1fr); gap: 9px; }
  .df-character-stage,
  .df-global-context .df-character-stage visuai-energy { width: 100px; height: 100px; }
  .df-globe-disclosure { padding-left: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .df-character-stage::before { animation: none; }
  .df-global-context .df-character-stage visuai-energy { transition: none; transform: none; }
}
