/* --- BỐ CỤC LÂU ĐÀI --- */
.castle-arena {
    height: 220px;
    background: linear-gradient(180deg, #64b5f6 0%, #1976d2 100%);
    box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
    position: relative; 
    overflow: hidden;
}

/* Tường gạch nền */
.castle-bg {
    position: absolute;
    bottom: 0; left: 0;
    width: 100%; height: 60px;
    background-color: #795548;
    background-image: 
        linear-gradient(335deg, rgba(255,255,255,0.2) 23px, transparent 23px),
        linear-gradient(155deg, rgba(255,255,255,0.2) 23px, transparent 23px),
        linear-gradient(335deg, rgba(255,255,255,0.2) 23px, transparent 23px),
        linear-gradient(155deg, rgba(255,255,255,0.2) 23px, transparent 23px);
    background-size: 58px 58px;
    background-position: 0px 2px, 4px 35px, 29px 31px, 34px 6px;
    border-top: 5px solid #3e2723;
    z-index: 1;
}

/* Các hình khối trung tâm */
.shape-block {
    position: absolute;
    top: 40%; left: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 5px 10px rgba(0,0,0,0.4);
    z-index: 2;
    animation: drop-in 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes drop-in {
    0% { transform: translate(-50%, -150%) scale(0.5); opacity: 0; }
    100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}

/* CSS vẽ từng loại hình */
.shape-chunhat {
    width: 120px; height: 60px;
    background: #ffeb3b; /* Vàng */
    border: 4px solid #f57f17;
}

.shape-vuong {
    width: 80px; height: 80px;
    background: #ff5252; /* Đỏ */
    border: 4px solid #b71c1c;
}

.shape-tugiac {
    width: 100px; height: 60px;
    background: #e040fb; /* Tím */
    border: 4px solid #4a148c;
    transform: translate(-50%, -50%) skewX(-20deg) !important; /* Tứ giác xiên (Hình bình hành) */
}

/* Riêng tam giác vẽ bằng border CSS, không có background */
.shape-tamgiac {
    width: 0; height: 0;
    background: transparent !important;
    border-left: 50px solid transparent !important;
    border-right: 50px solid transparent !important;
    border-bottom: 80px solid #4caf50 !important; /* Xanh lá */
    border-top: none !important;
    box-shadow: none !important;
    filter: drop-shadow(0 5px 5px rgba(0,0,0,0.4));
}

/* Hiệu ứng khi trả lời đúng */
.glow-success {
    animation: pulse-glow 1s ease-out forwards;
}
@keyframes pulse-glow {
    0% { filter: drop-shadow(0 0 10px #ffeb3b) brightness(1); }
    50% { filter: drop-shadow(0 0 30px #ffeb3b) brightness(1.5); }
    100% { filter: drop-shadow(0 5px 10px rgba(0,0,0,0.4)) brightness(1); }
}

/* Nhân vật Thợ xây */
.builder-char {
    position: absolute;
    bottom: 60px;
    left: 20%;
    font-size: 3.5rem;
    z-index: 5;
    filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.4));
}

/* Nhảy mừng */
.happy-jump {
    animation: build-jump 0.8s ease-out forwards !important;
}
@keyframes build-jump {
    0% { transform: translateY(0); }
    50% { transform: translateY(-40px) scale(1.1); }
    100% { transform: translateY(0); }
}

/* Rung lắc khi sai */
.shake-error { animation: shake-char 0.4s !important; }
@keyframes shake-char {
    0% { transform: translateX(0); }
    25% { transform: translateX(-10px); }
    50% { transform: translateX(10px); }
    75% { transform: translateX(-10px); }
    100% { transform: translateX(0); }
}

.min-h-75 { min-height: 85px; }