It's still soft because there is too much liquid in your recipe. Use measuring cups and don't eyeball anything. Another reason could be that it's still warm and needs more time to cool. As it cools, it will become firmer. Refrigerate for a few hours.