/* couple (module `couple`): painted, LAYERED pose rigs on the stage + the live sparkle sprite layer.
   Figures live in design units inside stage slots; only transform and opacity ever animate. Each layer
   (hair, legs, hem, bodies, heads) is its own composited plate while its pose is visible. */
@layer systems{
  .couple-fig{position:absolute;left:0;top:0;opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity 300ms var(--ease-out-soft),visibility 0s linear 300ms;contain:layout style}
  .couple-fig.is-on{opacity:1;visibility:visible;transition:opacity 300ms var(--ease-out-soft),visibility 0s}
  .couple-fig.is-instant{transition:none}
  .couple-dance{transition-duration:600ms,0s}
  .couple-dance.is-on{transition-duration:600ms,0s}
  .couple-body{position:absolute;inset:0}
  .couple-part{position:absolute}
  .couple-part .couple-plate{position:absolute;left:0;top:0;width:100%;height:100%;display:block;max-width:none;user-select:none;-webkit-user-select:none}
  .couple-fig.is-on .couple-part,.couple-fig.is-on .couple-body{will-change:transform}
  .couple-shadow{position:absolute;left:8%;width:84%;height:8px;border-radius:50%;
    background:radial-gradient(closest-side,rgba(78,63,56,.34),rgba(78,63,56,.16) 55%,rgba(78,63,56,0))}
  .couple-sparkle{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;z-index:3;pointer-events:none}
}
