Prep: Preheat oven to 350°F (175°C). Grease and flour two 9-inch round cake pans.
Dry ingredients: In a medium bowl, whisk together flour, baking powder, and salt.
Cream butter & sugar: In a large bowl, beat softened butter and sugar until light and fluffy, 2–3 minutes.
Add egg whites: Beat in egg whites one at a time until incorporated. Stir in vanilla extract.
Combine: Alternately add the dry ingredients and milk into the butter mixture, starting and ending with dry ingredients. Mix until just combined—do not overmix.
Color & flavor: Divide batter into two bowls. Tint one pink and the other blue. Gently fold chopped cotton candy into each bowl.
Marble: Spoon both batters into the cake pans in alternating dollops. Use a knife to gently swirl for a marbled effect.
Bake: Bake for 25–30 minutes or until a toothpick comes out clean. Cool in pans 10 minutes, then transfer to wire racks to cool completely.
Make frosting: Beat butter until creamy. Gradually add powdered sugar, vanilla, and milk until smooth and fluffy. Divide frosting in half; tint one pink and the other blue.
Decorate: Frost cooled cakes using both pink and blue frosting for a two-tone effect. Add cotton candy garnish right before serving.