body {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
    background-color: #f0f0f0;
    overflow: hidden; /* Evitar scroll */
    position: relative;
}

#grid-container {
    display: grid;
    gap: 1px; /* Espacio entre íconos reducido */
    position: relative;
    z-index: 1; /* Colocar delante del fondo */
    image-rendering: pixelated; /* Evitar antialiasing */
}

.icon-container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible; /* Permitir que los íconos se agranden sin cortarse */
}

.icon {
    width: 100%;
    height: 100%;
    background-size: cover;
    image-rendering: pixelated; /* Evitar antialiasing */
    transform-origin: center; /* Escalar desde el centro */
    transition: width 0.2s, height 0.2s; /* Animación suave al agrandar */
}

.blink-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: yellow; /* Color del parpadeo */
    opacity: 0; /* Inicialmente invisible */
    transition: opacity 0.5s ease-in-out; /* Transición más lenta */
}