body {
    background: white; /* ou noir mais pas transparent */
    cursor: none;
}


.cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: white;
    mix-blend-mode: difference;
    pointer-events: none;
    transform: translate(-50%, -50%);
    z-index: 9999;
}



.imageFond {  
position: fixed; 
    top: 0;
    left: 0;
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;     
}




.grille {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(31, 28px);

    width: 90vw;
    margin: 20px auto;

    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;

     column-gap: 8px;
}

#grilleBas {
    margin-top: 80px;
}

.cellule {
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;

    display: flex;
    align-items: center;
    justify-content: center;

    font-family: Arial, sans-serif;
    font-size: 18px;

    background-color: whitesmoke;
}

.cellule-noire {
    background-color: black;
    color: white;
}

.cellule-noire:hover {
    background-color: yellow;
    color: black;
}












#sommaire {
    position: fixed;
    top: 6vh;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

     width: 80vw;

    z-index: 1000;

    display: flex;
    flex-direction: column;
    gap: 0.3em;

    text-align: center;

    pointer-events: none;
}


.titre {
    font-size: 3rem;
    line-height: 1.1;
    color: black;

    opacity: 0.15;
    filter: blur(3px);

    transition:
        opacity 0.4s ease,
        filter 0.4s ease;
}

.titre.actif {
    opacity: 1;
    filter: blur(0);


    color: black; /* ou white selon ton fond */

            text-shadow:
        0 0 8px yellow,
        0 0 20px yellow,
        0 0 40px yellow;

}






