/* Réinitialisation */
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; font-family: 'Inter', sans-serif; background-color: #000; color: #fff; overflow: hidden; }

/* Conteneur principal */
.full-screen-container { 
    height: 100vh; /* Fallback */
    height: 100dvh; /* Fix pour mobile (barre d'adresse) */
    width: 100vw; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; position: relative; 
}
.hidden { display: none !important; }

/* --- ACCUEIL (HERO) - RETOUR V1 --- */
.background-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url('onyx-bg.jpg'); background-size: cover; background-position: center 20%; z-index: 1; opacity: 0.7; }
.overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); z-index: 2; }
.content { position: relative; z-index: 3; padding: 20px; max-width: 600px; }

h1 { font-size: 4rem; font-weight: 700; letter-spacing: 0.5rem; text-transform: uppercase; color: #fff; text-shadow: 2px 2px 10px rgba(0,0,0,0.8); margin-bottom: 10px; }
h2 { font-size: 1.2rem; font-weight: 400; letter-spacing: 0.2rem; text-transform: uppercase; color: #ccc; margin-bottom: 3rem; text-shadow: 1px 1px 5px rgba(0,0,0,0.5); }
p { font-size: 1rem; color: #aaa; margin-bottom: 3rem; }

button { background-color: transparent; border: 2px solid #fff; color: #fff; padding: 15px 30px; font-size: 1rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1rem; cursor: pointer; transition: all 0.3s ease; }
button:hover { background-color: #fff; color: #000; }

/* --- CHAT --- */
#chat-container { background-color: #050505; justify-content: flex-end; z-index: 10; }

#chat-window { 
    width: 100%; max-width: 800px; 
    flex-grow: 1; /* Prend tout l'espace disponible */
    overflow-y: auto; 
    padding: 20px; display: flex; flex-direction: column; 
    border-bottom: 1px solid #333;
}

.chat-message { padding: 12px 18px; border-radius: 4px; margin-bottom: 10px; max-width: 85%; line-height: 1.5; display: flex; align-items: flex-start; font-size: 0.95rem; }
.chat-message.onyx { background-color: #222; color: #eee; align-self: flex-start; border-left: 2px solid #555; }
.chat-message.user { background-color: #111; color: #aaa; align-self: flex-end; border-right: 2px solid #333; }
.chat-message.system-info { background: transparent; color: #666; font-style: italic; font-size: 0.8rem; align-self: center; text-align: center; max-width: 100%; margin-top: 10px; }

.avatar { width: 30px; height: 30px; border-radius: 50%; margin-right: 10px; border: 1px solid #444; flex-shrink: 0; }

/* --- INPUT AREA (FIX MOBILE) --- */
.input-container { 
    display: flex; width: 100%; max-width: 800px; padding: 15px; background-color: #000; 
    flex-shrink: 0; /* Empêche l'écrasement */
    padding-bottom: 40px; /* Espace pour le footer */
}

#user-input { flex-grow: 1; background-color: #111; border: 1px solid #333; color: #fff; padding: 15px; font-size: 16px; /* 16px évite le zoom iPhone */ border-radius: 4px; }
#user-input:focus { outline: none; border-color: #555; }

#send-button { margin-left: 10px; border-color: #555; color: #999; padding: 0 18px; }
#send-button:hover { background-color: #555; color: #fff; }

/* --- FOOTER --- */
#main-footer { position: absolute; bottom: 5px; left: 0; width: 100%; text-align: center; z-index: 20; pointer-events: none; }
#main-footer a { color: #444; font-size: 0.7rem; text-decoration: none; margin: 0 10px; pointer-events: auto; }

/* MOBILE SPECIFIC */
@media (max-width: 600px) {
    h1 { font-size: 2.5rem; }
    .chat-message { max-width: 90%; }
    .input-container { padding: 10px; padding-bottom: 35px; }
}
