1. Heat oven to 350 degrees F; place rack in center. Line a 13-by-9-inch baking pan with parchment paper, allowing paper to extend on two sides.
2. In a mixer bowl, beat together butter and confectioners' sugar on medium speed until light, about 2 minutes. Beat in extract, then flour and salt until combined well. Press along bottom and 1/2 inch up sides of prepared pan. Bake until just golden brown around edges, 12 to 18 minutes. Transfer pan to a wire rack and let cool completely.Make filling::
3. Meanwhile, in a medium saucepan, combine butter, brown sugar, milk and salt. Bring to a boil over medium heat, stirring constantly. Reduce heat to low and gently simmer, stirring constantly, until thickened and a deep caramel color, about 15 minutes. Pour over crust and spread evenly; refrigerate until completely cool, about 1 hour.
4. Divide white chocolate into three parts. Tint one part red and one part green. Leave remaining part white. Melt semisweet chocolate; let cool slightly. Using a spatula, evenly spread over filling. Dollop red, green and white chocolates over semisweet layer. Using a toothpick, gently swirl together colors. Refrigerate until set, about 1 hour. Using a knife, score chocolate layer into 1 1/2-inch squares.
5. Can be made ahead. Store in an airtight container in the refrigerator up to 1 week.