/* Styles specific to Alphabet Match game */

@keyframes float-lightly {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-5px);
    }
}

@keyframes background-flash {
    0%, 100% {
        background: linear-gradient(45deg, #2c3e50, #000000);
        box-shadow: none;
    }
    50% {
        background: #00d9ff;
        box-shadow: 0 0 20px #00d9ff;
    }
}

.alphabet-match-game .game-area {
    background-image: url('../assets/images/alphabet-match/alphabet-match-background.png');
}
.game-area { /* Generic game area style if needed, specific background handled above */
    position: relative;
    flex-grow: 1;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.letter-card {
    position: absolute;
    width: 60px;
    height: 60px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.2em;
    font-weight: bold;
    font-family: 'CustomMain', Arial, sans-serif;
    color: #fff;
    cursor: grab;
    user-select: none;
    box-shadow: 0 5px 15px rgba(0,0,0,0.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease, left 0.5s ease, top 0.5s ease;
    border: 2px solid rgba(0,0,0,0.2);
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    animation: float-lightly 1.5s ease-in-out infinite;
    z-index: 1000;
}

.letter-card:active {
    cursor: grabbing;
    transform: scale(1.1);
    box-shadow: 0 8px 16px rgba(0,0,0,0.2);
    z-index: 1100;
}

.scattered-letters-container {
    position: relative;
    width: 95%;
    height: 80%; /* Take upper 80% of game area */
    overflow: visible;
    z-index: 10;
    margin-top: 5px;
    padding: 5px;
}

.drop-zone-container {
    position: relative;
    width: 100%;
    height: 20%; /* Take lower 20% of game area */
    display: flex; 
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding: 5px;
    margin-top: 15px;
    background: #0000008a;
    z-index: 5;
}

.target-letter-box, .drop-box {
    width: 80px;
    height: 80px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 3.5em;
    font-weight: bold;
    font-family: 'CustomMain', Arial, sans-serif;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1), 0 4px 6px rgba(0,0,0,0.1);
}

.target-letter-box {
    background: linear-gradient(45deg, #2c3e50, #000000);
    color: #fff;
    border: 3px solid #555;
    text-shadow: 0 0 5px #00d9ff;
    transition: transform 0.2s ease;
}

.target-letter-box.animate-flash {
    animation: background-flash 1.5s ease-in-out;
}

.drop-box {
    background-color: #ecf0f1; /* Clouds */
    border: 3px dashed #95a5a6; /* Silver */
    transition: background-color 0.3s, border-color 0.3s, color 0.3s, text-shadow 0.3s;
}

.drop-box.drag-over {
    background-color: #bdc3c7; /* Silver */
    border-color: #2ecc71; /* Emerald */
}

.drop-box.correct-match {
    background: linear-gradient(45deg, #2c3e50, #000000);
    color: #fff;
    border-color: #555;
    border-style: solid;
    text-shadow: 0 0 5px #00d9ff;
}

/* Media query for smaller screens specific to Alphabet Match */
@media (max-width: 600px) {
    .letter-card {
        width: 45px;
        height: 45px;
        font-size: 1.8em;
    }

    .target-letter-box, .drop-box {
        width: 70px;
        height: 70px;
        font-size: 3em;
    }

    .drop-zone-container {
        gap: 10px;
         height: 20%; /* Take lower 20% of game area */
    }
}
