
body {
    line-height: 1.3;
    font-family: serif;

    /* --- AJOUT DE L'IMAGE DE FOND --- */
    /* Assurez-vous d'inclure l'extension (ex: .jpg, .png) */
    background-image: url('imagedefond.jpg'); 
    
    background-size: cover; /* L'image couvre tout l'écran */
    background-repeat: no-repeat; /* L'image ne se répète pas */
    background-position: center center; /* L'image est centrée */
    background-attachment: fixed; /* L'image reste fixe lors du défilement */
    
    /* Couleur de fond si l'image ne charge pas */
    background-color: #f4f4f4; 
}

.wrapper {
    margin: 30px auto; /* Marge en haut/bas (30px) et auto (centré) */
    padding: 20px 30px; /* Espace à l'intérieur de la boîte */
    max-width: 650px;

    /* --- MODIFICATION POUR LA LISIBILITÉ --- */
    background-color: rgba(255, 255, 255, 0.80); /* Blanc à 95% d'opacité */
    border-radius: 8px; /* Coins arrondis (optionnel) */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Ombre légère (optionnel) */
}

h1 {
    font-size: 2em;
    font-weight: normal;
    font-style: italic;
}

#keyoutput {
    font-size: 5em;
    display: inline-block;
    letter-spacing: 0.2em;
    margin: 10px 0;
    font-family: monospace, sans-serif;
    white-space: nowrap;
    text-transform: uppercase;
    vertical-align: middle;
}

.center {
    text-align: center;
}

.right {
    text-align: right;
}

#keygen, .downloadlink, #choosebtn, input[type="submit"] {
    background: #CCC;
    border: none;
    color: black;
    font-style: italic;
    padding: 0.6em 1.3em;
    line-height: 1.6;
    display: inline-block;
    font-family: inherit;
    font-size: 1.2em;
    margin: 0 0.5em;
    vertical-align: middle;
    cursor: pointer;
    font-weight: normal;
}

#keygen {
    margin-left: 1em;
    margin-right: -2em;
    padding: 1em;
}

#keygen:focus, .downloadlink:focus, #choosebtn:focus, input[type="submit"]:focus,
#keygen:active, .downloadlink:active, #choosebtn:active, input[type="submit"]:active {
    background: black;
    color: white;
}

#keygen svg {
    display: block;
    width: 1.5em;
    height: 1.5em;
}

.downloadlink {
    margin: 0.5em;
}

#downloads {
    display: none;
}

#keyinput {
    font-size: 4em;
    width: 3.5em;
    text-align: center;
    font-family: monospace;
    letter-spacing: 0.1em;
}

input[type="url"], input[type="text"] {
    background: white;
    border: 1px solid #AAA;
    padding: 5px;
    font-family: serif;
}

#uploadstatus {
    opacity: 0;
    transition: opacity .5s ease-in-out;
    padding: 10px;
    margin-top: 20px;
    border-radius: 5px;
    text-align: center;
    cursor: pointer;
    line-height: 1.7;
}

#uploadstatus.success {
    background-color: #DFD;
    border: 1px solid #7F7;
}

#uploadstatus.error {
    background-color: #FDD;
    border: 1px solid #F77;
    white-space: pre;
}

td {
    padding: 10px;
}

td.aligntop {
    vertical-align: top;
}

#fileinput {
    display: none;
}

#fileinfo {
    font-size: 0.9em;
    font-style: italic;
    width: 18em;
}