Whisk the dry ingredients. In a medium bowl, whisk together flour, cornstarch, baking powder, and salt. Set aside.
Cream butter and sugar. In a large bowl, beat the butter and sugar with a hand mixer or stand mixer on medium speed for 2–3 minutes, until light and slightly fluffy.
Don’t overwhip—airy dough can cause spreading.
Add egg and extracts. Beat in the egg, vanilla, and almond extract just until combined. Scrape down the bowl.
Add dry ingredients. Mix in the flour mixture on low speed until a soft dough forms and no dry streaks remain. The dough should be soft but not sticky.
Divide and chill. Split the dough into two disks.
Wrap each in plastic and chill for 30–45 minutes, or until slightly firm but rollable. Over-chilling makes rolling harder, so don’t leave it for hours without letting it soften slightly before rolling.
Preheat and prep. Preheat oven to 350°F (175°C). Line baking sheets with parchment paper.
Roll the dough. Lightly flour your work surface and rolling pin.
Roll dough to 1/4 inch (6 mm) thickness for soft centers and 3/16 inch (5 mm) for crisper cookies.
Cut shapes. Dip cookie cutters in flour, then cut shapes close together. Transfer to prepared sheets using a thin spatula. Gather scraps, gently press together, and reroll once or twice.
Optional quick chill. For extra clean edges, place the filled baking sheet in the fridge for 10 minutes before baking.
Bake. Bake for 8–10 minutes, depending on size.
The edges should look set with the faintest golden hint; the centers should not brown. Smaller shapes may need 7–8 minutes.
Cool. Let cookies cool on the sheet for 5 minutes, then transfer to a wire rack to cool completely before decorating.
Decorate. Use royal icing for crisp designs and longer storage, or buttercream for a softer finish. Let icing set fully before stacking.