body { 
    font-family: 'Arial', sans-serif; 
    background-color: #2c3e50; 
    color: white; 
    text-align: center; 
    margin: 0;
    padding: 20px;
}

.grid { 
    display: grid; 
    grid-template-columns: repeat(4, 1fr); 
    gap: 10px; 
    max-width: 600px; 
    margin: 20px auto; 
}

.card { 
    background: white; 
    border-radius: 8px; 
    padding: 10px; 
    cursor: pointer; 
    transition: 0.3s; 
    aspect-ratio: 1; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
}

.card img { 
    max-width: 100%; 
    max-height: 100%; 
    pointer-events: none; 
}

.card.stamped { 
    background: #e74c3c; 
    box-shadow: inset 0 0 10px rgba(0,0,0,0.5); 
    opacity: 0.8; 
}

.btn { 
    padding: 15px 30px; 
    font-size: 1.2rem; 
    background: #e67e22; 
    color: white; 
    border: none; 
    border-radius: 5px; 
    cursor: pointer; 
    margin: 10px; 
}

.btn:hover { 
    background: #d35400; 
}

.controls {
    margin-bottom: 20px;
}

/* Modal Styles */
.modal { 
    display: none; 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background: rgba(0,0,0,0.8); 
    align-items: center; 
    justify-content: center; 
    z-index: 1000; 
}

.modal-content { 
    background: #34495e; 
    padding: 40px; 
    border-radius: 10px; 
    text-align: center; 
}

#video-overlay { 
    display: none; 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    z-index: 999; 
}

.bingo-text { 
    display: none; 
    position: fixed; 
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%); 
    font-size: 8rem; 
    color: #f1c40f; 
    text-shadow: 4px 4px 10px #000; 
    z-index: 1001; 
    animation: pop 1s ease-out; 
}

@keyframes pop { 
    0% { transform: translate(-50%, -50%) scale(0.5); } 
    100% { transform: translate(-50%, -50%) scale(1); } 
}