*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:Arial, Helvetica, sans-serif;

    background:#f1f5f9;

}

.contenedor{

    width:700px;

    max-width:95%;

    margin:40px auto;

    background:white;

    border-radius:15px;

    overflow:hidden;

    box-shadow:0 8px 25px rgba(0,0,0,.15);

}

/* CABECERA */

.cabecera{

    background:#1e293b;

    color:white;

    padding:18px 25px;

    display:flex;

    align-items:center;

    gap:15px;

}

.cabecera img{

    width:55px;

    height:55px;

}

.cabecera h1{

    font-size:24px;

    font-weight:bold;

}

/* CHAT */

.chat-box{

    height:500px;

    overflow-y:auto;

    padding:20px;

    background:#e2e8f0;

    display:flex;

    flex-direction:column;

}

/* Scroll */

.chat-box::-webkit-scrollbar{

    width:8px;

}

.chat-box::-webkit-scrollbar-thumb{

    background:#94a3b8;

    border-radius:20px;

}

/* MENSAJES */

.mensaje{

    padding:12px 18px;

    margin:8px 0;

    border-radius:15px;

    max-width:80%;

    line-height:1.6;

    animation:aparecer .25s ease;

    word-wrap:break-word;

}

.usuario{

    background:#2563eb;

    color:white;

    align-self:flex-end;

    border-bottom-right-radius:4px;

}

.bot{

    background:white;

    border:1px solid #cbd5e1;

    color:#1e293b;

    align-self:flex-start;

    border-bottom-left-radius:4px;

}

@keyframes aparecer{

    from{

        opacity:0;

        transform:translateY(10px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/* INPUT */

.input-area{

    display:flex;

    gap:10px;

    padding:18px;

    background:white;

    border-top:1px solid #e5e7eb;

}

.input-area input{

    flex:1;

    padding:14px 18px;

    border:1px solid #cbd5e1;

    border-radius:12px;

    outline:none;

    font-size:16px;

    transition:.3s;

}

.input-area input:focus{

    border-color:#2563eb;

    box-shadow:0 0 8px rgba(37,99,235,.2);

}

/* BOTÓN */

.input-area button{

    padding:14px 25px;

    border:none;

    border-radius:12px;

    background:#2563eb;

    color:white;

    cursor:pointer;

    font-size:16px;

    transition:.3s;

}

.input-area button:hover{

    background:#1d4ed8;

    transform:scale(1.03);

}

.input-area button:active{

    transform:scale(.97);

}

/* RESPONSIVE */

@media(max-width:768px){

    .contenedor{

        width:95%;

        margin-top:15px;

    }

    .chat-box{

        height:420px;

    }

    .cabecera h1{

        font-size:20px;

    }

}

/* Icono del robot */

.robot{

    font-size:48px;

    color:#60a5fa;

}

/* Subtítulo */

.cabecera span{

    display:block;

    margin-top:5px;

    color:#cbd5e1;

    font-size:14px;

}

/* Footer */

.footer{

    background:#f8fafc;

    border-top:1px solid #d1d5db;

    text-align:center;

    padding:12px;

    color:#64748b;

    font-size:13px;

}

/* Lista inicial */

.bot ul{

    margin-top:10px;

    margin-left:20px;

}

.bot li{

    margin:6px 0;

}











#chatBox {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 15px;
    height: 400px;
    overflow-y: auto;
    background: #f5f7fb;
    border-radius: 10px;
}

/* BURBUJA USUARIO */
.usuario {
    align-self: flex-end;
    background: #2f6fed;
    color: white;
    padding: 10px 14px;
    border-radius: 15px 15px 0 15px;
    max-width: 70%;
    word-wrap: break-word;
    font-size: 14px;
}

/* BURBUJA BOT */
.bot {
    align-self: flex-start;
    background: #ffffff;
    color: #333;
    padding: 10px 14px;
    border-radius: 15px 15px 15px 0;
    max-width: 70%;
    word-wrap: break-word;
    font-size: 14px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

/* INPUT BONITO */
#pregunta {
    width: 100%;
    padding: 12px;
    border-radius: 10px;
    border: 1px solid #ccc;
    outline: none;
}

/* BOTÓN */
button {
    background: #2f6fed;
    color: white;
    border: none;
    padding: 10px 15px;
    border-radius: 10px;
    cursor: pointer;
}

button:hover {
    background: #1f55c7;
}