/* ============================= */
/* General */
/* ============================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:Arial, Helvetica, sans-serif;

    background:#eef4ff;

    color:#222;
}

.container{

    width:90%;

    max-width:1000px;

    margin:40px auto;
}

/* ============================= */
/* Cards */
/* ============================= */

.card{

    background:white;

    border-radius:15px;

    padding:25px;

    margin-bottom:25px;

    box-shadow:0px 5px 18px rgba(0,0,0,.1);
}

/* ============================= */
/* Hero */
/* ============================= */

.hero-card{

    text-align:center;
}

.hero-card h1{

    font-size:40px;

    color:#1e40af;

    margin-bottom:10px;
}

.subtitle{

    font-size:18px;

    color:#555;

    margin-bottom:25px;
}

/* ============================= */
/* Upload Button */
/* ============================= */

input[type=file]{

    display:block;

    margin:20px auto;

    padding:12px;

    width:100%;

    max-width:450px;

    border:2px dashed #2563eb;

    border-radius:10px;

    background:#f8fbff;

    cursor:pointer;
}

/* ============================= */
/* Chat Input */
/* ============================= */

input[type=text]{

    width:75%;

    padding:14px;

    border-radius:10px;

    border:1px solid #ccc;

    font-size:16px;
}

/* ============================= */
/* Buttons */
/* ============================= */

button{

    background:#2563eb;

    color:white;

    border:none;

    padding:14px 22px;

    border-radius:10px;

    font-size:15px;

    cursor:pointer;

    transition:.3s;
}

button:hover{

    background:#1d4ed8;

    transform:translateY(-2px);
}

/* ============================= */
/* Summary */
/* ============================= */

pre{

    white-space:pre-wrap;

    line-height:1.7;

    font-size:15px;

    margin-top:15px;
}

/* ============================= */
/* Chat */
/* ============================= */

.chat-description{

    margin-bottom:20px;

    color:#666;
}

.chat-form{

    display:flex;

    gap:10px;

    margin-bottom:25px;
}

.chat-box{

    display:flex;

    flex-direction:column;

    gap:15px;
}

/* ============================= */
/* User Message */
/* ============================= */

.user-message{

    background:#2563eb;

    color:white;

    padding:15px;

    border-radius:15px;

    margin-left:auto;

    width:75%;
}

.user-message strong{

    display:block;

    margin-bottom:8px;
}

/* ============================= */
/* AI Message */
/* ============================= */

.bot-message{

    background:#f2f2f2;

    color:#222;

    padding:15px;

    border-radius:15px;

    width:75%;
}

.bot-message strong{

    display:block;

    color:#1e40af;

    margin-bottom:8px;
}

/* ============================= */
/* Empty Chat */
/* ============================= */

.empty-chat{

    text-align:center;

    color:#777;

    padding:20px;
}

/* ============================= */
/* Responsive */
/* ============================= */

@media(max-width:768px){

    .chat-form{

        flex-direction:column;
    }

    input[type=text]{

        width:100%;
    }

    button{

        width:100%;
    }

    .user-message,
    .bot-message{

        width:100%;
    }

}