01 - Preheat the oven to 350°F. Grease and line three 8-inch round cake pans with parchment paper.
02 - In a medium bowl, whisk together the all-purpose flour, baking powder, and salt. Set aside.
03 - In a large mixing bowl, beat the softened unsalted butter and granulated sugar with an electric mixer until pale, light, and fluffy, approximately 3 to 4 minutes.
04 - Add the eggs one at a time, beating thoroughly after each addition. Blend in the cotton candy flavoring and vanilla extract until evenly distributed.
05 - With the mixer on low speed, add the flour mixture in three additions, alternating with the whole milk in two additions, beginning and ending with the flour. Mix until just combined; do not overmix.
06 - Divide the batter evenly between two bowls. Tint one portion pink and the other blue using food coloring. Drop alternating spoonfuls of each color into the prepared cake pans, then gently swirl with a skewer or knife to create a marbled effect.
07 - Bake for 25 to 28 minutes, or until a toothpick inserted into the center of each layer comes out clean.
08 - Allow the cakes to cool in their pans for 10 minutes, then turn them out onto a wire rack to cool completely.
09 - Beat the softened unsalted butter until smooth and creamy. Gradually add the sifted powdered sugar on low speed, then increase to medium and beat until incorporated. Mix in the cotton candy flavoring and whole milk or cream, beating until light and fluffy. Divide the buttercream and tint portions pink and blue as desired.
10 - Once the cake layers are completely cool, stack and frost them with the tinted buttercream, swirling the pink and blue together to create a cotton candy effect.
11 - Just before serving, arrange fluffy pieces of fresh cotton candy on top of the frosted cake. Serve immediately to preserve the cotton candy texture.