html, body {
    margin: 0; padding: 0; width: 100%; height: 100vh; overflow: hidden;
    font-family: Arial, sans-serif; user-select: none;
}
.container, .html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    font-family: Arial, sans-serif;
    user-select: none;
}
.container, .screen {
    width: 100%;
    height: 100%;
}
.screen {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    padding: 2em;
    text-align: center;
    background-color: #fff;
}
.screen.active {
    display: flex;
}
#screen-2-game {
    padding: 0;
    background-color: #000;
}
#game-container {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
#game-image {
    height: 100%;
    width: auto;
    cursor: grab;
    pointer-events: none; 
}
#game-image.is-dragging {
    cursor: grabbing;
}
#participation-form { display: flex; flex-direction: column; gap: 1em; width: 90%; max-width: 500px; }
input[type="email"], input[type="tel"] { padding: 0.8em; border: 1px solid #ccc; border-radius: 5px; font-size: 1em; }
.consent-box { display: flex; align-items: center; justify-content: center; gap: 0.5em; font-size: 0.9em; }
button { background-color: #d32f2f; color: white; padding: 1em; border: none; border-radius: 5px; font-size: 1.1em; cursor: pointer; }
#prize-choices { margin: 2em 0; text-align: left; display: flex; flex-direction: column; align-items: center; gap: 1em; }
.prize-option label { display: block; padding: 1em; border: 1px solid #ccc; border-radius: 5px; cursor: pointer; width: 250px; text-align: center; }
.prize-option input[type="radio"] { display: none; }
.prize-option input[type="radio"]:checked + label { background-color: #e3f2fd; border-color: #2196f3; font-weight: bold; }screen { width: 100%; height: 100%; }
.screen {
    display: none; flex-direction: column; justify-content: center;
    align-items: center; box-sizing: border-box; padding: 2em; text-align: center;
    background-color: #fff;
}
.screen.active { display: flex; }
#screen-2-game { padding: 0; background-color: #000; }
#game-container {
    width: 100%; height: 100%; position: relative; overflow: hidden;
    /* MODIFIÉ : On retire touch-action pour laisser Panzoom gérer le tactile */
}
#game-image {
    /* Panzoom gère la taille et la position, on peut simplifier */
    cursor: grab;
}
#game-image.is-dragging { cursor: grabbing; }

/* ... (le reste des styles est identique) ... */
#participation-form { display: flex; flex-direction: column; gap: 1em; width: 90%; max-width: 500px; }
button { background-color: #d32f2f; color: white; padding: 1em; border: none; border-radius: 5px; font-size: 1.1em; cursor: pointer; }
#prize-choices { margin: 2em 0; text-align: left; display: flex; flex-direction: column; align-items: center; gap: 1em; }
.prize-option label { display: block; padding: 1em; border: 1px solid #ccc; border-radius: 5px; cursor: pointer; width: 250px; text-align: center; }
.prize-option input[type="radio"] { display: none; }
.prize-option input[type="radio"]:checked + label { background-color: #e3f2fd; border-color: #2196f3; font-weight: bold; }