/* Collector: a physical metal emblem, rendered locally rather than an image. */
.collector-controls { position:absolute; z-index:8; bottom:0; left:50%; transform:translateX(-50%); display:flex; align-items:center; justify-content:center; gap:8px; max-width:calc(100% - 24px); }
.sculpture-stage .collector-controls>.soul-touch { position:static; transform:none; max-width:none; }
.sculpture-stage .collector-tilt::before { display:none; }
.sculpture-stage .collector-tilt[aria-pressed="true"] { color:#9b1928; border-color:#bd233269; background:#fff4f5e8; }
.sculpture-stage .collector-tilt[aria-disabled="true"] { opacity:.6; }
.collector-tilt svg { flex:none; }
.collector-tilt-status:empty { position:absolute; }
.collector-tilt-status:not(:empty) { position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%); width:max-content; max-width:min(280px,90vw); padding:9px 13px; color:#f8fafb; background:#20272ee8; border-radius:10px; font:500 14px/1.4 var(--body); text-align:center; pointer-events:none; }
[data-soul-scene] {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100%;
  min-height: 280px;
  overflow: visible;
  pointer-events: none;
  contain: layout;
}
[data-soul-scene] canvas {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  inset: 0;
  opacity: 0;
  /* The fallback has a different perspective; crossfading both doubles the face. */
  transition: none;
}
[data-soul-scene][data-renderer="webgl"] canvas { opacity: 1; }
.soul-scene-fallback {
  position: absolute;
  inset: 12%;
  width: 76%;
  height: 76%;
  opacity: .98;
  transition: none;
}
[data-soul-scene][data-renderer="webgl"] .soul-scene-fallback { opacity: 0; }
.motions-paused [data-soul-scene] canvas,
.motions-paused .soul-scene-fallback { transition: none; }
@media (prefers-reduced-motion: reduce) {
  [data-soul-scene] canvas, .soul-scene-fallback { transition: none; }
}
