/* Shared game styles — loaded by all game pages */
[data-game-score], #g2048-score, #snake-score, #fl-score, #tt-score, #bk-score, #m3-score, #mem-pairs {
  transition: transform 0.15s;
}
.game-msg, [id$="-msg"] {
  transition: opacity 0.2s, transform 0.2s;
  transform: scale(0.9);
  opacity: 0.7;
}
[id$="-msg"]:not(:empty) {
  transform: scale(1);
  opacity: 1;
}
.m3-cell {
  transition: transform 0.1s, opacity 0.15s;
}
.mem-card {
  transition: transform 0.2s, background 0.2s;
}
.sp-card {
  transition: transform 0.1s, box-shadow 0.1s;
}
.g2048-board > div {
  transition: opacity 0.1s;
}
.mw-cell {
  transition: background 0.15s, transform 0.1s;
}
.mw-cell.flag {
  animation: flagPop 0.2s;
}
@keyframes flagPop {
  50% { transform: scale(1.2); }
}
canvas {
  touch-action: none;
}
