Preheat your oven to 350°F (175°C) and grease a 9-inch springform pan.
In a medium bowl, sift together flour, cocoa powder, baking powder, baking soda, and salt.
In a large mixing bowl, cream together the softened butter and sugar until light and fluffy.
Beat in the eggs, one at a time, followed by the vanilla extract.
Gradually stir in the dry ingredients, alternating with milk, until just combined.
Pour the batter into the prepared pan and bake for 25-30 minutes or until a toothpick comes out clean.
Allow to cool completely in the pan before removing.
Melt dark chocolate in a heatproof bowl over simmering water (or microwave in 20-second increments).
In a separate bowl, whip the heavy cream, sugar, and vanilla until soft peaks form.
If using gelatin, dissolve it in 1 tablespoon of warm water and mix it into the melted chocolate once it has cooled slightly.
Fold the whipped cream into the chocolate mixture until well combined and fluffy.
Repeat the same melting and whipping process with the milk chocolate as mentioned for dark chocolate mousse.
Fold whipped cream into the milk chocolate until combined.
Melt white chocolate and repeat the whipping process. Since white chocolate is sweeter, adjust sugar according to taste.
Fold whipped cream into white chocolate until combined.
Place the cooled chocolate cake base at the bottom of the springform pan.
Pour dark chocolate mousse over the cake and spread evenly.
Chill in the refrigerator for about 1 hour until set.
Next, layer the milk chocolate mousse over the dark chocolate layer and chill for another hour.
Finally, add the white chocolate mousse on top and smooth the surface.
Refrigerate for at least 4-6 hours or overnight for best results.
Carefully remove the springform pan from the cake and transfer to a serving platter.
Garnish with chocolate shavings and fresh berries if desired.