/* =======================
   STYLE GLOBAL
   ======================= */
body {
    font-family: Arial, Helvetica, sans-serif;
    background: #14aec9;
    color: #0b2035;
    margin: 0;
    padding: 0;
}

.container {
    max-width: 900px;
    margin: 20px auto;
    padding: 30px;
    background: #b9e8ee;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.08);
    text-align: center;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* =======================
   CHAMPS ET BOUTONS
   ======================= */
input, select, button {
    padding: 20px;
    margin: 15px 0;
    font-size: 24px;
    border-radius: 12px;
    border: 1px solid #ccc;
    width: 90%;
    max-width: 500px;
    box-sizing: border-box;
}

button {
    cursor: pointer;
    transition: background 0.3s, transform 0.2s;
}

button:hover {
    transform: scale(1.05);
}

/* =======================
   ÉCRANS
   ======================= */
#join-screen, #waiting-screen, #question-screen, #post-question, #final-screen {
    display: none;
}

#join-screen {
    display: block; /* visible au départ */
}

/* =======================
   TITRES ET MESSAGES
   ======================= */
h1, h2 {
    font-size: 36px;
    margin-bottom: 20px;
}

#waiting-msg, #feedback-text {
    font-size: 28px;
    margin: 20px 0;
}

/* =======================
   BOUTONS DE RÉPONSES
   ======================= */
#answers button {
    display: block;
    margin: 15px auto;
    padding: 25px;
    width: 90%;
    font-size: 28px;
    border-radius: 12px;
    border: 2px solid #ccc;
    cursor: pointer;
}

#answers button.correct {
    background-color: #4CAF50;
    color: white;
    border-color: #2E7D32;
}

#answers button.wrong {
    background-color: #F44336;
    color: white;
    border-color: #B71C1C;
}

#answer-feedback, #feedback-text {
    font-size: 32px;        /* texte très gros */
    font-weight: bold;       /* en gras */
    margin-top: 20px;
    text-align: center;
}

#answer-feedback.correct, #feedback-text.correct {
    color: #2e7d32;         /* vert */
}

#answer-feedback.wrong, #feedback-text.wrong {
    color: #c62828;         /* rouge */
}


/* =======================
   BARRE DE PROGRESSION
   ======================= */
.progress-wrap {
    width: 90%;
    height: 24px;
    background: #eee;
    border-radius: 12px;
    margin: 20px auto;
}

#progress-bar {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #4CAF50, #8BC34A);
    border-radius: 12px;
    transition: width 0.3s;
}

/* =======================
   FINAL SCREEN
   ======================= */
#final-results table {
    width: 100%;
    font-size: 24px;
    border-collapse: collapse;
    border-radius: 20px;
}

#final-results th, #final-results td {
    padding: 15px;
    border: 1px solid #ccc;
    border-radius: 20px;
}

/* =======================
   RESPONSIVE SMARTPHONE
   ======================= */
@media screen and (max-width: 1280px) {
    h1, h2 { font-size: 28px; }
    #answers button { font-size: 24px; padding: 20px; }
    input, select, button { font-size: 20px; padding: 15px; }
    #waiting-msg, #feedback-text { font-size: 24px; }
    table{width:90%;}
    .container {top: 50%; left: 0px; transform: translate(0%, -50%); min-width: 90%; padding-left: 15px;}
}
