html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    min-height: 100%;
    overflow-x: hidden;
    color: rgba(255, 255, 255, 0.87);
    background-color: #000000; 
    font-family: Arial, Helvetica, sans-serif;
}

/* `#app` : plus de règle ici (Story 8.1, revue de code) — dupliquait et
   divergeait (`100vh` vs `100dvh`) du style inline d'`AppShell.tsx`, qui
   gagne de toute façon sur le même nœud DOM. `html, body` ci-dessus couvre
   déjà la fenêtre de pré-montage React ; `AppShell.tsx` reste la seule
   source de vérité pour la mise en page une fois monté. */

.spritePosition {
    margin: 10px 0 0 10px;
    font-size: 0.8em;
}

.button {
    width: 140px;
    margin: 10px;
    padding: 10px;
    background-color: #000000;
    color: rgba(255, 255, 255, 0.87);
    border: 1px solid rgba(255, 255, 255, 0.87);
    cursor: pointer;
    transition: all 0.3s;

    &:hover {
        border: 1px solid #0ec3c9;
        color: #0ec3c9;
    }

    &:active {
        background-color: #0ec3c9;
    }

    /* Disabled styles */
    &:disabled {
        cursor: not-allowed;
        border: 1px solid rgba(255, 255, 255, 0.3);
        color: rgba(255, 255, 255, 0.3);
    }
}
