/* Importation d'une police Ã©purÃ©e, Roboto */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap');

/* Style "Black Mirror" */
:root {
    --color-background: #000000;
    --color-text-primary: #f0f0f0;
    --color-text-secondary: #aaa;
    --color-accent-neon: #00ffff; /* Bleu/Cyan nÃ©on pour l'interactivitÃ© */
    --color-alert-red: #ff3366; /* Rouge subtil pour l'alerte/danger */
    --color-surface-dark: #1a1a1a;
}

/* Styles de base */
body {
    background-color: var(--color-background);
    color: var(--color-text-primary);
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}

.scene-container {
    max-width: 700px;
    padding: 40px 20px;
    text-align: center;
}

/* ðŸ’° PORTE-MONNAIE HUD (Style de la Piste 2) */
.credit-hud {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 100;
    background-color: var(--color-background);
    border: 1px solid var(--color-text-primary);
    padding: 5px 10px;
    font-size: 1em;
    font-weight: 400;
    color: var(--color-text-primary);
    text-transform: uppercase;
}
.credit-hud #current-credits {
    font-weight: 700;
    color: var(--color-accent-neon);
    transition: color 0.5s ease;
    margin-left: 5px;
}


/* 1. Titre animÃ© */
.scene-title {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 1.8em;
    text-transform: uppercase;
    color: var(--color-accent-neon);
    
    /* PropriÃ©tÃ©s d'animation pour l'effet d'Ã©criture */
    width: 0;
    overflow: hidden;
    white-space: nowrap;
    border-right: .15em solid var(--color-accent-neon);
    margin: 40px auto 60px;
    letter-spacing: .2em; 
    animation: 
        typing 4s steps(35, end) forwards,
        blink-caret .75s step-end infinite;
}

/* Keyframes pour l'effet d'Ã©criture (CORRIGÃ‰) */
@keyframes typing {
    from { width: 0 }
    to { width: max-content } /* Utiliser max-content pour assurer l'affichage complet du titre */
}


/* Keyframes pour le clignotement du curseur */
@keyframes blink-caret {
    from, to { border-color: transparent }
    50% { border-color: var(--color-accent-neon); }
}

/* SÃ‰QUENCEMENT ET CLIGNOTEMENT */
/* L'ancienne classe initially-hidden n'est plus utilisÃ©e dans le HTML, 
   on utilise 'hidden' et 'notification-blinking' */
.hidden {
    display: none !important;
}

@keyframes blink-alert {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
}

.notification-blinking {
    animation: blink-alert 1s ease-in-out infinite;
}

/* 2. Styles de la Notification */
.notification-section {
    margin: 60px 0;
    transition: opacity 0.5s ease-in-out; 
}

.notification-text {
    font-size: 1.5em;
    line-height: 1.4;
    background-color: var(--color-surface-dark);
    padding: 20px;
    border-left: 5px solid var(--color-alert-red);
    box-shadow: 0 0 15px rgba(255, 51, 102, 0.3);
    font-weight: 400;
    text-align: left;
}

.notification-text strong {
    color: var(--color-accent-neon);
    font-weight: 700;
}

/* 2. Styliser l'image elle-même pour la rendre plus petite */
.notification-image {
    width: 50%; 
    
    /* Assurer que l'image ne dépasse pas la taille du conteneur parent */
    max-width: 400px; 
    
    height: auto;
    
    /* Ajouter de l'espace pour séparer le titre et le texte de notification */
    margin: 0 auto 20px auto; 
    
    /* Assurer que l'image est traitée comme un bloc pour un meilleur contrôle du centrage */
    display: block; 
}

/* Si l'image n'est pas dans un div séparé, utilisez cette règle pour l'image directement si vous n'avez pas ajouté la classe: */
.notification-section img {
    width: 50%; 
    max-width: 400px; 
    display: block;
    margin: 0 auto 20px auto;
}


/* 3. Styles de la Question Interactive */
.question-interactive {
    transition: opacity 0.5s ease-in-out; 
    display: flex; 
    flex-direction: column;
    align-items: center;
}

.question-interactive h2 {
    font-size: 1.2em;
    color: var(--color-text-secondary);
    margin-bottom: 30px;
    font-weight: 400;
}

.buttons-container {
    display: flex;
    justify-content: center;
    gap: 15px;
    width: 100%;
}

.buttons-container button {
    flex-grow: 1;
    max-width: 300px;
    padding: 15px 25px;
    font-size: 1em;
    cursor: pointer;
    border: 1px solid var(--color-surface-dark);
    border-radius: 2px;
    background-color: transparent;
    color: var(--color-text-primary);
    transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}

.buttons-container button:hover {
    background-color: var(--color-surface-dark);
    border-color: var(--color-accent-neon);
    color: var(--color-accent-neon);
}

.buttons-container button.selected {
    background-color: var(--color-accent-neon); 
    color: var(--color-background);
    border-color: var(--color-accent-neon);
    box-shadow: 0 0 10px rgba(0, 255, 255, 0.5);
}

.buttons-continuer {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 30px;
}

.buttons-continuer button {
    flex-grow: 1;
    max-width: 300px;
    padding: 15px 25px;
    font-size: 1em;
    cursor: pointer;
    border: 1px solid var(--color-surface-dark);
    border-radius: 2px;
    background-color: transparent;
    color: var(--color-text-primary);
    transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}

.buttons-continuer button:hover {
    background-color: var(--color-surface-dark);
    border-color: var(--color-accent-neon);
    color: var(--color-accent-neon);
}

.buttons-continuer button.selected {
    background-color: var(--color-accent-neon); 
    color: var(--color-background);
    border-color: var(--color-accent-neon);
    box-shadow: 0 0 10px rgba(61, 76, 185, 0.88);
}


/* 4. Styles de la RÃ©vÃ©lation */
.revelation-section {
    margin-top: 60px;
    padding-top: 30px;
    border-top: 1px solid var(--color-surface-dark);
    text-align: left;
    opacity: 0; 
    transition: opacity 1.5s ease-in-out;
}

.revelation-section h3 {
    color: var(--color-alert-red);
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 20px;
}

.revelation-section p {
    margin-bottom: 15px;
    font-size: 1em;
    color: var(--color-text-secondary);
}

.revelation-section.visible {
    opacity: 1;
}