Line two baking sheets with parchment paper or silicone mats. Sift together the almond flour and 100g powdered sugar twice to remove lumps, then set aside.
In a stand mixer bowl, beat 25g egg whites with cream of tartar on medium speed until foamy. Gradually add granulated sugar while increasing speed to high, beating until stiff, glossy peaks form, about 4-5 minutes. Add gel coloring in the final minute.
Gently fold the almond flour mixture into the meringue in three additions using a spatula. Perform macaronage by pressing the batter against the bowl's side and folding until it flows like lava and ribbons back into itself within 10 seconds. The batter should be smooth and glossy.
Transfer batter to a piping bag fitted with a 1/2-inch round tip. Pipe 1.5-inch circles onto prepared sheets, spacing them 2 inches apart. Tap sheets firmly on the counter 3-4 times to release air bubbles.
Let shells rest uncovered at room temperature for 30-60 minutes until a dry skin forms that doesn't stick when lightly touched. Preheat oven to 300°F (150°C) during the last 15 minutes of resting.
Bake one sheet at a time for 14-16 minutes, rotating halfway through. Shells are done when they don't wobble when gently touched. Let cool completely on the baking sheet before removing.
For the buttercream, beat softened butter on high speed for 3 minutes until pale and fluffy. Gradually add 1.5 cups powdered sugar, then mix in rose water, heavy cream, and salt. Beat for 2 more minutes until light and spreadable.
Match shells by size and turn half upside down. Pipe or spread a generous teaspoon of buttercream onto each upturned shell, then sandwich with a matching top shell, pressing gently until the filling reaches the edges.
Refrigerate filled macarons in an airtight container for 24 hours before serving to allow the shells to soften and flavors to develop. Bring to room temperature 20 minutes before serving for optimal texture.