@charset "UTF-8";

/* The constellation illustration is a real, slowly moving 3D scene.
   The original CSS orbit remains only as the no-WebGL fallback. */
.duo-constellation { transition: transform .7s var(--ease); }
#constellation-canvas { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; height: 100%; opacity: 0; pointer-events: none; transition: opacity 1.2s ease; }
.constellation-ready #constellation-canvas { opacity: 1; }
.constellation-fallback { position: absolute; z-index: 0; inset: 0; opacity: 1; pointer-events: none; transition: opacity .8s ease; }
.constellation-ready .constellation-fallback { opacity: 0; }
.constellation-unavailable #constellation-canvas { display: none; }
.constellation-unavailable .constellation-fallback { opacity: 1; }
.duo-constellation .sign-orb, .duo-constellation .duo-center-star, .duo-constellation .duo-caption { z-index: 2; }
.constellation-ready { background: linear-gradient(140deg, #fbf8ffe8 0%, #f0e8f9d6 52%, #e8effbd9 100%); }

@media (prefers-reduced-motion: reduce) {
  #constellation-canvas, .constellation-fallback { transition: none; }
  .duo-constellation { transition: none; }
}
