@import url('https://fonts.googleapis.com/css2?family=Play:wght@400;700&display=swap');

/*:root {
    --bs-body-bg: lightgray;
}*/

body {
    display: grid;
    grid-template-rows: 1fr auto;
    gap: 3px;

    overflow: hidden;

    position: fixed;
    height: 100%; 
    width: 100%;

    font-family: 'Play', sans-serif;
}

main {
    overflow-y: scroll;
    transition: all 1s;
    z-index: 50;
    /* height: calc(100vh - env(viewport-nav-resize)); */
}

#btnConfig {
    background-color: #525252;
}

#output {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto;
}

.message {
    font-size: 1.2em;
    border-radius: 5px;
    border: 1px solid;
    margin: 1em;
    padding: 0.5em;
    background-color: rgba(33, 37, 41, 0.7);
}

.message:hover {
    box-shadow: 0px 0px 5px 1px rgba(196,141,224,0.9);
}

.assistant {
    grid-column-start: 1;
    grid-column-end: 3;
    text-align: left;
    animation: slide-right 0.4s ease;
    /*box-shadow: 0px 0px 5px 1px rgba(196,141,224,0.9);*/
}

.user {
    grid-column-start: 2;
    grid-column-end: 4;
    text-align: right;
    animation: slide-left 0.4s ease;
    /*box-shadow: 0px 0px 5px 3px rgba(141,224,207,0.9);*/
}

.loader {
    grid-column-start: 1;
    grid-column-end: 4;
    display: none;
}

footer {
    position: sticky;
    bottom: 0;
    /*padding: 1em;*/
    z-index: 60;
    
    background: #1F1F1F;
    transition: all 1s;
}

#divTextInput {
    padding: 0.7em;
}

#divTextInput button {
    height: 100%;
}

#divAudioInput {
    padding: 2em;
}

#divAudioInput button {
    font-size: 35px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
}

footer form {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto;
    column-gap: 1em;
}

footer #areaMessage {
    resize: none;
    height: 1.9em;
}

footer button {
    justify-self: end;
    width: 3em;
    height: 3em;
}

.recording {
    background-color: rgb(128, 46, 46);
}

@keyframes slide-left {
    0% {
        opacity: 0;
        transform: translateX(20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slide-right {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.effect {
    display: none;
    

    object-fit: cover;
    overflow: hidden;

    top: 0;
    left: 0;
    pointer-events: none;
}

#effectBackground {
    position: absolute;
    width: 100%;
    height: 100%;

    /*background-color: rgba(33, 37, 41, 0.2);*/
    /*opacity: 0.1;*/
    /* mix-blend-mode: screen; */
    z-index: 5;
}

#effectForeground {
    position: relative;
    width: 100vw;
    height: 100vh;
    mix-blend-mode: overlay;
    z-index: 200;
}

#overlay {
    z-index: 180;
}