/* State is opt-in: a failed/missing script never hides the native portraits. */
.dossier-visual[data-art-state] .dossier-art {
  opacity: 0;
  visibility: hidden;
}
.dossier-visual[data-art-state="ready"] .dossier-art {
  opacity: 1;
  visibility: visible;
}
.dossier-art-placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(var(--accent-rgb), 0.045), transparent 68%);
}
.dossier-art-placeholder .race-emblem {
  width: clamp(72px, 12vw, 112px);
  height: clamp(72px, 12vw, 112px);
  opacity: 0.38;
}
.dossier-visual[data-art-state="ready"] .dossier-art-placeholder {
  opacity: 0;
  visibility: hidden;
}
@media (prefers-reduced-motion: no-preference) {
  .dossier-visual[data-art-state] .dossier-art,
  .dossier-art-placeholder {
    transition: opacity 240ms ease-out;
  }
}
