/* Global UI polish: buttons, ripples, entrances, confetti. Respects prefers-reduced-motion. */
.btn { position: relative; overflow: hidden; isolation: isolate; }
.btn:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 4px 0 var(--border), 0 8px 14px rgba(0,0,0,.08); }
.btn-primary:hover:not(:disabled) { box-shadow: 0 4px 0 var(--accent-deep), 0 8px 16px color-mix(in srgb, var(--accent) 30%, transparent); }
.btn-danger:hover:not(:disabled) { background: color-mix(in srgb, var(--danger) 9%, var(--panel)); }
.btn:active:not(:disabled) { transform: translateY(2px) scale(.985); }
/* a soft light sweep over the main buttons */
.btn-primary::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; transform: translateX(-120%) skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent); transition: transform .6s ease; }
.btn-primary:hover:not(:disabled)::after { transform: translateX(120%) skewX(-18deg); }
.btn .ripple { position: absolute; border-radius: 50%; pointer-events: none; background: rgba(255,255,255,.55); transform: scale(0); animation: ripple .55s ease-out forwards; z-index: -1; }
@keyframes ripple { to { transform: scale(1); opacity: 0; } }
.card, .fcard, .combo, .pcombo { transition: transform .15s, box-shadow .2s, border-color .2s; }
.pick-grid.enter .pcombo { animation: rise .42s cubic-bezier(.2,.9,.3,1.2) both; animation-delay: calc(var(--i, 0) * 70ms); }
@keyframes rise { from { opacity: 0; transform: translateY(18px) scale(.96); } to { opacity: 1; transform: none; } }
.toast { animation: tin .25s cubic-bezier(.2,.9,.3,1.3); }
/* confetti for the winner */
.confetti { position: fixed; top: -2rem; z-index: 95; width: .6rem; height: .9rem; border-radius: 2px; pointer-events: none; animation: confall linear forwards; }
@keyframes confall { to { transform: translate3d(var(--dx, 0), 110vh, 0) rotate(var(--rot, 540deg)); opacity: .9; } }
@media (prefers-reduced-motion: reduce) {
  .btn-primary::after, .btn .ripple, .confetti { display: none; }
  .btn:hover:not(:disabled), .pick-grid.enter .pcombo { transform: none; animation: none; }
}
