/* ---------- PAGE ---------- */

body {
    font-family: Courier, monospace;
    max-width: 900px;
    margin: 40px auto;
    padding: 20px;

    background: #f5f5f5;
    color: #2c3e50;
}

/* ---------- TITRE ---------- */

h1 {
    text-align: center;
    font-size: 3rem;
    margin-bottom: 30px;
}

/* ---------- TEXTE ---------- */

p {
    font-size: 14px;
    line-height: 1.5;
    text-align: justify;
}

/* ---------- FORMULAIRE ---------- */

form {
    text-align: center;
    margin-bottom: 25px;
}

/* ---------- LABEL ---------- */

#note-label {
    display: inline-block;

    width: 50%;
    padding: 15px 25px;
    margin-bottom: 15px;
    margin-top:10px;

    color: #3a2c00;
    font-size: 18px;
    font-weight: bold;

    text-transform: uppercase;
    letter-spacing: 1px;

    cursor: pointer;

    border: 2px solid #d4af37;
    border-radius: 30px;

    background: linear-gradient(
        135deg,
        #6b4f00 0%,
        #d4af37 15%,
        #fff4b0 35%,
        #ffd700 50%,
        #fff4b0 65%,
        #d4af37 85%,
        #6b4f00 100%
    );

    box-shadow:
        inset 0 2px 2px rgba(255, 255, 255, 0.7),
        inset 0 -2px 2px rgba(0, 0, 0, 0.2),
        0 4px 12px rgba(212, 175, 55, 0.5);

    transition: all 1s ease;
}

/* ---------- SURVOL ---------- */

#note-label:hover {
    transform: translateY(-3px) scale(1.05);

    box-shadow:
        0 0 15px #ffd700,
        0 0 30px #ffd700,
        0 0 50px rgba(255, 215, 0, 0.6);
}

/* ---------- APRÈS CLIC ---------- */

#note-label.active {
    position: relative;
    top: -2px;

    background: linear-gradient(
        155deg,
        #fff6c7,
        #ffd700,
        #fff6c7
    );

    border-color: #ffea00;

    box-shadow:
        0 0 10px gold,
        0 0 25px gold,
        0 0 50px gold;
}

/* ---------- SELECT ---------- */

#note {
    display: block;

    margin: 15px auto;
    padding: 10px 20px;

    font-size: 16px;

    border: 2px solid #d4af37;
    border-radius: 12px;

    background: white;

    cursor: pointer;
}

#note:focus {
    outline: none;

    box-shadow:
        0 0 10px #ffd700;
}

/* ---------- RESULTAT ---------- */

#resultat {
    text-align: center;

    margin: 20px auto;
    padding: 15px;

    font-size: 18px;
    font-weight: bold;

    color: #2c3e50;

    border-radius: 10px;

    transition: all 0.8s ease;
}

/* ---------- TABLEAU ---------- */

table {
    width: 100%;

    margin-top: 25px;

    border-collapse: collapse;

    background: white;

    box-shadow:
        0 2px 8px rgba(0, 0, 0, 0.15);
}

th,
td {
    border: 1px solid #ddd;

    padding: 12px;

    text-align: center;
}

th {
    background: #2c3e50;
    color: white;

    text-transform: uppercase;
}

tr:nth-child(even) {
    background: #f7f7f7;
}

tr:hover {
    background: #d6eaf8;
    transition: 0.4s;
}

/* ---------- HR ---------- */

hr {
    margin: 30px 0;

    border: none;
    border-top: 2px solid #d4af37;
}