*{
    box-sizing:border-box;
}

html,
body{

    margin:0;
    height:100%;

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

    background:#e8edf3;

}

body{

    margin:0;

    display:flex;

    justify-content:center;

    align-items:flex-start;
    padding-top:35px;


    min-height:100vh;

    min-height:100dvh;

    padding:30px;

    background:
        linear-gradient(
            rgba(8,20,40,.72),
            rgba(8,20,40,.72)
        ),
        url("../images/aibusiness.png")
        center center/cover
        no-repeat
        fixed;

}

.eva-shell{

    width:100%;
    max-width:900px;

    background:rgba(255,255,255,.92);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border-radius:24px;

    overflow:hidden;

    box-shadow:0 30px 70px rgba(0,0,0,.45);

}

.eva-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:20px 30px;

    background:#0d6efd;

    color:white;

}

.brand h1{

    margin:0;

    font-size:34px;

}

.tagline{

    opacity:.85;

    margin-top:5px;

}

.status{

    display:flex;

    align-items:center;

    gap:8px;

}

#statusDot{

    width:12px;
    height:12px;

    border-radius:50%;

    background:#34d058;

}

.avatar-section{

    padding:25px;

    text-align:center;

    background:#f7f9fb;

}

.avatar-section video{

    display:block;

    width:100%;

    max-width:420px;

    height:auto;

    margin:0 auto;

    border-radius:18px;

    box-shadow:0 10px 30px rgba(0,0,0,.2);

}

.conversation{

    height:260px;

    overflow-y:auto;

    padding:25px;

    margin:20px;

    border-radius:16px;

    background:rgba(255,255,255,.60);

    backdrop-filter:blur(8px);

    -webkit-backdrop-filter:blur(8px);

    border:1px solid rgba(255,255,255,.35);

}

.eva-entry{

    margin-bottom:20px;

}

.speaker{

    font-weight:bold;

    color:#0d6efd;

    margin-bottom:6px;

}

.message{

    line-height:1.7;

}

.input-section{

    padding:25px;

    border-top:1px solid #ddd;

}

.input-section input{

    width:100%;

    padding:15px;

    font-size:17px;

    border-radius:10px;

    border:1px solid #bbb;

}

.button-row{

    display:flex;

    gap:12px;

    margin-top:18px;

}

.button-row button{

    flex:1;

    min-width:90px;

    padding:12px;

    border:none;

    border-radius:10px;

    background:#0d6efd;

    color:white;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:.2s;

}

.button-row button:hover{

    background:#0a58ca;

}
@media (max-width:768px)
{
    .button-row
    {
        display:flex;
        flex-wrap:wrap;
        gap:10px;
    }

    .button-row button
    {
        flex:1 1 calc(50% - 5px);
        min-width:110px;
    }
}
@media (max-width:1024px){

    .eva-header{

        padding:18px 22px;

    }

    .eva-header h1{

        font-size:36px;

    }

}.mic-button{
    background:#198754 !important;
    font-weight:bold;
}

.mic-button:hover{
    background:#146c43 !important;
}
/* Speak */
#micButton{
    background:#198754;
    color:#fff;
}

#micButton:hover{
    background:#146c43;
}

/* Ask */
#askButton{
    background:#0d6efd;
    color:#fff;
}

#askButton:hover{
    background:#0b5ed7;
}

/* Stop */
#stopButton{
    background:#dc3545;
    color:#fff;
}

#stopButton:hover{
    background:#bb2d3b;
}

/* End Chat */
#endButton{
    background:#6c757d;
    color:#fff;
}

#endButton:hover{
    background:#5c636a;
}
.conversation-entry{

    margin-bottom:22px;

}

.conversation-entry .speaker{

    font-weight:bold;

    color:#0d6efd;

    margin-bottom:5px;

}

.conversation-entry .message{

    line-height:1.6;

}

.conversation-entry.visitor .speaker{

    color:#198754;

}

.conversation-entry.eva .speaker{

    color:#0d6efd;

}
@media (max-width:768px)
{
    .button-row
    {
        display:flex;
        flex-wrap:wrap;
        gap:10px;
    }

    #micButton
    {
        flex:1 1 100%;
    }

    #askButton,
    #listenButton,
    #stopButton,
    #endButton
    {
        flex:1 1 calc(50% - 5px);
    }
}
@media (max-width:768px){

    .avatar-section{

        padding:18px;

    }

    .avatar-section video{

        width:100%;

        max-width:360px;

        margin:0 auto;

    }

}