
/* ── SCRATCH CARD & ROULETTE ───────────────────────────── */
.scratch-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.85);
  z-index: 9999; display: flex; align-items: center; justify-content: center;
  animation: fadeIn 0.3s ease;
}
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
.scratch-box {
  background: var(--bg-card); border-radius: 16px; padding: 28px;
  text-align: center; max-width: 340px; width: 90%;
  animation: slideUp 0.4s cubic-bezier(0.4,0,0.2,1);
}
@keyframes slideUp { from{transform:translateY(30px);opacity:0} to{transform:translateY(0);opacity:1} }
.scratch-canvas-wrap { position: relative; margin: 16px auto; width: 260px; height: 160px; cursor: crosshair; border-radius: 10px; overflow: hidden; }
.scratch-prize-layer {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  border-radius: 10px; color: #fff;
}
canvas.scratch-canvas { position: absolute; inset: 0; border-radius: 10px; }
.roulette-wheel { width: 240px; height: 240px; border-radius: 50%; position: relative; margin: 0 auto 16px; overflow: hidden; transition: transform 3s cubic-bezier(0.17,0.67,0.12,0.99); }
