/* --- BỐ CỤC HANG ĐỘNG KHO BÁU --- */
.cave-arena {
    height: 180px;
    background: radial-gradient(circle at center, #3e2723 0%, #1b0000 100%);
    box-shadow: inset 0 0 30px #000000;
    position: relative;
    overflow: hidden;
    border: 4px solid #5d4037;
}

/* Ánh đuốc bập bùng */
.torch-light {
    position: absolute;
    width: 200px; height: 200px;
    background: radial-gradient(circle, rgba(255,160,0,0.2) 0%, transparent 60%);
    top: -20px; left: -20px;
    animation: flicker 1s infinite alternate;
    z-index: 1;
}
@keyframes flicker {
    0% { transform: scale(1); opacity: 0.8; }
    50% { transform: scale(1.1); opacity: 1; }
    100% { transform: scale(0.9); opacity: 0.7; }
}

/* Rương kho báu */
.chest-item {
    position: absolute;
    left: 45%;
    top: 35%;
    font-size: 4.5rem;
    z-index: 2;
    transition: all 0.5s ease;
    filter: drop-shadow(0 5px 5px rgba(0,0,0,0.8));
}
.glow-chest {
    filter: drop-shadow(0 0 15px #ffd54f);
    transform: scale(1.1);
}

/* Ổ khóa */
.lock-item {
    position: absolute;
    left: 48%;
    top: 50%;
    font-size: 2.5rem;
    z-index: 3;
    transition: all 0.3s ease;
}

/* Hiệu ứng mở khóa */
.unlock-anim {
    animation: pop-lock 0.4s ease-out forwards;
}
@keyframes pop-lock {
    0% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-20px) scale(1.2); }
    100% { transform: translateY(10px) scale(0); opacity: 0; }
}

/* Sai mật mã / Khóa rung lắc */
.shake-error { animation: lock-rattle 0.4s; }
@keyframes lock-rattle {
    0% { transform: translateX(0) rotate(0); }
    25% { transform: translateX(-10px) rotate(-10deg); }
    50% { transform: translateX(10px) rotate(10deg); }
    75% { transform: translateX(-10px) rotate(-10deg); }
    100% { transform: translateX(0) rotate(0); }
}

.min-h-75 { min-height: 90px; }
.hl-num { color: #ffca28; font-weight: 900; font-size: 1.2em; }