diff --git a/src/components/GameTable.tsx b/src/components/GameTable.tsx
index 9db5bd7..7b88baf 100644
--- a/src/components/GameTable.tsx
+++ b/src/components/GameTable.tsx
@@ -443,38 +443,43 @@ function TrickArea({
const { front } = useCardSkins();
return (
-
-
- {trick.map((pc) => {
- const off = { x: TRICK_OFFSET[pc.seat].x * scale, y: TRICK_OFFSET[pc.seat].y * scale };
- const enter = TRICK_ENTER[pc.seat];
- const isWinner = phase === "trick-complete" && winner === pc.seat;
- return (
-
-
-
- );
- })}
-
- {/* Burst particles when trick is won */}
-
- {phase === "trick-complete" && winner != null && (
-
- )}
-
-
+
+ {trick.map((pc) => {
+ const off = { x: TRICK_OFFSET[pc.seat].x * scale, y: TRICK_OFFSET[pc.seat].y * scale };
+ const enter = TRICK_ENTER[pc.seat];
+ const isWinner = phase === "trick-complete" && winner === pc.seat;
+ return (
+
+ `translate(-50%, -50%) translate(${t.x ?? "0px"}, ${t.y ?? "0px"}) scale(${t.scale ?? 1})`}
+ style={{
+ filter: isWinner
+ ? "drop-shadow(0 0 18px rgba(212,175,55,1)) drop-shadow(0 0 6px rgba(255,240,120,0.8))"
+ : undefined,
+ }}
+ >
+
+
+ );
+ })}
+
+ {/* Burst particles when trick is won (centered on the felt) */}
+
+ {phase === "trick-complete" && winner != null && (
+
+
+
+ )}
+
);
}