Preheat the oven to 350°F (175°C) and line a 12-cup muffin tin with paper cupcake liners.
In a medium bowl, whisk together flour, baking powder, baking soda, and salt.
In a large bowl, beat granulated sugar and butter with a handheld or stand mixer on medium-high speed until light and fluffy, about 3–4 minutes.
Add egg whites and vanilla extract and beat until smooth and well combined.
Add sour cream and mix until just incorporated.
Add half of the dry ingredients and mix on low speed until combined.
Pour in the milk and mix until incorporated.
Add the remaining dry ingredients and mix until just combined.
Fill each cupcake liner about three-quarters full with batter.
Bake for 19–22 minutes until the tops are lightly golden and a tester inserted into the center comes out clean.
Remove cupcakes from the pan and allow them to cool completely.
In a large bowl, beat butter until fluffy to prepare the frosting.
Add confectioners' sugar and beat until combined.
Add heavy cream, vanilla extract, and salt, then beat until smooth and creamy.
Transfer 1 cup of frosting to a piping bag fitted with a star tip.
Add green food coloring to the remaining frosting and mix until the desired shade is reached.
Transfer the green frosting to another piping bag fitted with a large round tip.
Pipe green frosting onto each cooled cupcake.
Insert a rainbow candy strip upright into the frosting.
Pipe small clouds at the base of the rainbow using the white frosting.
Finish by sprinkling gold sprinkles over the cupcakes before serving.