/* Repterience Global Branding */
:root {
    --rep-red: #dc2626;
    --rep-green: #16a34a;
    --rep-dark: #111827;
}

/* Common Game Styles */
.game-container { 
    max-width: 450px; 
    margin: 0 auto; 
    padding: 20px; 
}

.game-grid { 
    display: grid; 
    grid-template-columns: repeat(3, 1fr); 
    gap: 12px; 
}

.game-cell { 
    aspect-ratio: 1/1; 
    background: white; 
    border-radius: 24px; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    cursor: pointer; 
    border: 6px solid #f3f4f6; 
    transition: all 0.2s; 
    position: relative;
    -webkit-tap-highlight-color: transparent; 
}

.game-cell:hover { 
    border-color: var(--rep-green); 
    transform: translateY(-2px); 
}

/* Animations */
@keyframes popIn {
    0% { transform: scale(0); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

.winner-bounce {
    animation: winBounce 0.5s ease-in-out infinite alternate;
    filter: drop-shadow(0 0 8px rgba(34, 197, 94, 0.6));
    z-index: 10;
}

@keyframes winBounce {
    from { transform: scale(1); }
    to { transform: scale(1.15); }
}