body {
    font-family: Arial, Helvetica, sans-serif;
    background: #1F1F1F;
    color: #EEE;
    margin: 0;
    padding: 0;
}

.block-generale-galerie {
    padding: 20px;
}

.poker-result-ok, .poker-result-no {
    margin:10px 0;
    padding:10px;
    border-radius:10px;
}

.poker-result-ok { border: dashed lightgreen; color: white; max-width: 600px; margin: 10px auto 0 auto; }
.poker-result-no { border: dashed lightcoral; color: white; max-width: 600px; margin: 10px auto 0 auto; }

.mots-meles-grid {
    display: grid;
    justify-content: start;
    grid-template-columns: repeat(var(--cols), var(--cell-size));
    grid-auto-rows: var(--cell-size);
    gap: 0;
	width: fit-content;
	margin: 10px auto 0 auto;
}
.mots-meles-cell {
    width: var(--cell-size);
    height: var(--cell-size);
    line-height: var(--cell-size);
    text-align: center;
    font-weight: bold;
    font-size: calc(var(--cell-size) / 2.5);
    background-color: #1F1F1F;
    color: #EEE;
    cursor: pointer;
    user-select: none;
    border: 1px solid #555;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    transition: 0.1s;
}

.mots-meles-cell.selected {
    background-color: #1E90FF;
    color: #fff;
}

.mots-meles-cell.found {
    background-color: #28a745;
    color: #fff;
}

.mots-meles-cell:hover {
    filter: brightness(1.2);
}

/* Liste des mots à trouver */
.words-list {
    font-size: 16px;
	width: fit-content;
    margin: 20px auto 0 auto;
}

.words-list h3 {
    margin-bottom: 8px;
    font-weight: bold;
}

.words-list ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.words-list li {
    padding: 4px 8px;
    border-radius: 6px;
    background-color: #333;
    cursor: default;
    transition: 0.2s;
}

.words-list li.found {
    text-decoration: line-through;
    color: #28a745;
    background-color: #1F1F1F;
}

.regles-overlay { display: none; position: fixed; z-index: 99999; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.80); align-items: center; justify-content: center; padding: 20px; box-sizing: border-box; } 
.regles-overlay.active { display: flex; }
.regles-popup { position: relative; width: 100%; max-width: 740px; max-height: 90vh; overflow-y: auto; background: #111; border: 1px solid gold; border-radius: 15px; padding: 20px; box-sizing: border-box; box-shadow: 0 10px 40px rgba(0,0,0,0.8), 0 0 25px rgba(255,215,0,0.15); } 
.regles-close { position: absolute; top: 10px; right: 10px; width: 35px; height: 35px; border: none; border-radius: 50%; background: #333; color: white; font-size: 20px; font-weight: bold; cursor: pointer; z-index: 2; } 
.regles-close:hover { background: #ff4444; } 

@media (max-width: 600px) { 
.regles-overlay { padding: 10px; } 
.regles-popup { max-height: 92vh; padding: 10px; } 
.tournoi-info { padding: 15px !important; } 
}

@media (max-width: 768px) {
    .mots-meles-grid {
        grid-template-columns: repeat(var(--cols), calc(var(--cell-size) * 0.6));
        grid-auto-rows: calc(var(--cell-size) * 0.6);
    }
    .mots-meles-cell {
        width: calc(var(--cell-size) * 0.6);
        height: calc(var(--cell-size) * 0.6);
        line-height: calc(var(--cell-size) * 0.6);
        font-size: calc(var(--cell-size) * 0.24);
    }
}
