/* ==========================================================
   SÒNG BÀI, XÚC XẮC, CÔNG AN
   ========================================================== */
@keyframes shakeBowlEffect {
    0% { transform: perspective(400px) translate3d(0, 0, 0) rotate(0deg); }
    15% { transform: perspective(400px) translate3d(-7px, 6px, 10px) rotate(-7deg); }
    30% { transform: perspective(400px) translate3d(8px, -6px, 15px) rotate(8deg); }
    45% { transform: perspective(400px) translate3d(-9px, -4px, 5px) rotate(-6deg); }
    60% { transform: perspective(400px) translate3d(8px, 5px, 12px) rotate(6deg); }
    75% { transform: perspective(400px) translate3d(-5px, 6px, 8px) rotate(-4deg); }
    90% { transform: perspective(400px) translate3d(5px, -4px, 14px) rotate(3deg); }
    100% { transform: perspective(400px) translate3d(0, 0, 0) rotate(0deg); }
}
.bowl-shaking { animation: shakeBowlEffect 0.11s infinite ease-in-out; }

@keyframes screenShake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-10px); }
    20%, 40%, 60%, 80% { transform: translateX(10px); }
}
.screen-shake { animation: screenShake 0.5s cubic-bezier(.36,.07,.19,.97) both; }

/* HIỆU ỨNG BÀN CHƠI VÀ NÚT CƯỢC */
#taiXiuCasinoModal .gold-plate-border {
    border-radius: 34px;
    box-shadow: 0 18px 55px rgba(0, 0, 0, 0.72), 0 0 24px rgba(212, 175, 55, 0.16), inset 0 2px 6px rgba(255, 255, 255, 0.38);
}

#taiXiuCasinoModal .wood-inner-panel {
    border-radius: 30px;
}

#taiBox,
#xiuBox {
    border-radius: 24px;
    transition: transform 220ms var(--motion-smooth), box-shadow 240ms ease, border-color 200ms ease, filter 200ms ease;
}

#taiBox:hover,
#taiBox:has(#taiSelectedTag:not(.hidden)) {
    box-shadow: 0 0 12px rgba(239, 68, 68, 0.42), 0 0 30px rgba(239, 68, 68, 0.2), 0 16px 30px rgba(0, 0, 0, 0.38);
}

#xiuBox:hover,
#xiuBox:has(#xiuSelectedTag:not(.hidden)) {
    box-shadow: 0 0 12px rgba(56, 189, 248, 0.42), 0 0 30px rgba(56, 189, 248, 0.2), 0 16px 30px rgba(0, 0, 0, 0.38);
}

#taiBox:has(#taiSelectedTag:not(.hidden)),
#xiuBox:has(#xiuSelectedTag:not(.hidden)) {
    animation: selectedBetGlow 2.2s ease-in-out infinite alternate;
}

#confirmBetBtn {
    box-shadow: 0 5px 20px rgba(212, 175, 55, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

#confirmBetBtn:hover {
    box-shadow: 0 0 18px rgba(245, 208, 97, 0.62), 0 8px 24px rgba(212, 175, 55, 0.42);
}

.chip-item {
    transition: transform 180ms var(--motion-smooth), box-shadow 180ms ease, filter 180ms ease;
}

.chip-item:hover {
    box-shadow: 0 0 16px rgba(255, 255, 255, 0.28), 0 5px 14px rgba(0, 0, 0, 0.42);
}

@keyframes selectedBetGlow {
    from { filter: brightness(1); }
    to { filter: brightness(1.13); }
}

/* HIỆU ỨNG MỚI CHO SUNWIN88 */
@keyframes flipIn {
    0% { transform: rotateY(90deg) scale(0.5); opacity: 0; }
    100% { transform: rotateY(0deg) scale(1); opacity: 1; }
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-fadeIn {
    animation: fadeIn 0.3s ease-out forwards;
}

/* Tắt mũi tên mặc định của input type number */
input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}