Preheat oven to 350°F and grease three 9-inch cake pans, lining with parchment paper.
Whisk cake flour, salt, and cocoa powder together in a bowl and set aside.
Beat butter and sugar until light and fluffy, about 4 minutes.
Mix in sour cream followed by oil until fully combined.
Add eggs one at a time, mixing well after each addition.
Pour in buttermilk, vinegar, and vanilla extract and mix until smooth.
Add blue and violet food coloring and mix evenly.
Gradually fold dry ingredients into wet ingredients until just combined.
Dissolve baking powder and baking soda in water and gently fold into batter.
Divide batter evenly between prepared pans and tap lightly to release air bubbles.
Bake for 25–30 minutes or until a toothpick inserted in the center comes out clean.
Cool cakes in pans briefly, then transfer to a cooling rack and chill for at least 1 hour.
Beat butter and cream cheese until smooth, then gradually mix in powdered sugar and vanilla to form frosting.
Level cake layers, spread frosting between layers, and stack evenly.
Apply frosting over the top and sides and decorate as desired.