:root{

    --gaa-primary: rgb(105,148,62);
    --gaa-primary-hover: rgb(90,128,54);

    --gaa-bg:#ffffff;
    --gaa-border:#e6e6e6;

    --gaa-user:#f5f8ff;
    --gaa-ai:#f7f7f7;

    --gaa-shadow:0 12px 40px rgba(0,0,0,.18);

    --gaa-radius:16px;

    --gaa-transition:.25s;
}

#gaa-chat{

    position:fixed;
    padding: 12px;
    right:24px;
    bottom:24px;

    z-index:999999;

    font-family:inherit;
    .gaa-toggle{

        width:64px;
        height:64px;
        padding: 14px;
        border:none;

        border-radius:50%;

        background:linear-gradient(
                135deg,
                rgb(125,170,72) 0%,
                rgb(105,148,62) 45%,
                rgb(82,121,45) 100%
        );

        color:#fff;

        cursor:pointer;

        box-shadow:
                0 10px 30px rgba(105,148,62,.28),
                0 0 0 0 rgba(105,148,62,.25);

        transition:all var(--gaa-transition);

        animation:
                gaa-pulse 4s infinite,
                gaa-shake 6s infinite;

    }

    .gaa-toggle:hover{

        transform:translateY(-3px);

        box-shadow:
                0 18px 40px rgba(105,148,62,.35);

    }

    .gaa-toggle-icon{

        font-size:28px;

    }

    .gaa-window{

        display:none;

        position:absolute;

        right:0;
        bottom:84px;

        width:370px;
        height:560px;

        flex-direction:column;

        background:#fff;

        border:1px solid var(--gaa-border);

        border-radius:18px;

        overflow:hidden;

        box-shadow:var(--gaa-shadow);

        opacity:0;

        visibility:hidden;

        transform:translateY(20px) scale(.98);

        transition:
                opacity .25s,
                transform .25s,
                visibility .25s;

        pointer-events:none;

    }

    .gaa-window.gaa-open{

        display:flex;

        opacity:1;

        visibility:visible;

        transform:none;

        pointer-events:auto;

    }

    .gaa-header{

        display:flex;

        align-items:center;

        justify-content:space-between;

        padding:18px;

        background:linear-gradient(
                135deg,
                rgb(125,170,72) 0%,
                rgb(105,148,62) 45%,
                rgb(82,121,45) 100%
        );

        color:#fff;

    }

    .gaa-title{

        font-size:16px;

        font-weight:600;

    }

    .gaa-close {

        background: none;

        border: none;

        color: #fff;

        cursor: pointer;

        font-size: 26px;

    }

    .gaa-messages{

        flex:1;

        overflow:auto;

        padding:18px;

        display:flex;

        flex-direction:column;

        gap:14px;

    }

    .gaa-message{

        padding:12px 15px;

        border-radius:14px;

        line-height:1.7;

        font-size:14px;

        word-break:break-word;

    }

    .gaa-message-ai{

        background:var(--gaa-ai);

        align-self:flex-start;

    }

    .gaa-message-user{

        background:var(--gaa-user);

        align-self:flex-end;

    }

    .gaa-footer{

        display:flex;

        align-items: center;

        gap:12px;

        padding:16px;

        border-top:1px solid var(--gaa-border);

    }

    .gaa-question{

        flex:1;

        resize:none;

        overflow-y: hidden;

        border:1px solid #ddd;

        border-radius:12px;

        padding:10px;

        min-height:46px;

        outline:none;

    }

    .gaa-question:focus{

        border-color:var(--gaa-primary);

    }

    .gaa-send{

        transform: rotate(-45deg);

        padding: 12px;

        width:48px;

        min-width:48px;

        height:48px;

        border:none;

        border-radius:50%;

        display:flex;

        align-items:center;

        justify-content:center;

        background:var(--gaa-primary);

        color:#fff;

        cursor:pointer;

        transition:all .2s;

    }

    .gaa-send:hover{

        background:var(--gaa-primary-hover);

    }

    .gaa-send:active{

        transform:scale(.95);

    }

    .gaa-send:disabled{

        opacity:.6;

        cursor:not-allowed;

    }

    .gaa-send-icon{

        width:20px;

        height:20px;

        fill:currentColor;

    }

    .gaa-send:hover{

        background:var(--gaa-primary-hover);

    }

    .gaa-loading{

        opacity:.7;

        font-style:italic;

    }

    .gaa-send:disabled{

        opacity:.6;

        cursor:not-allowed;

    }

    .gaa-question:disabled{

        background:#f7f7f7;

    }

    .gaa-loading{

        display:flex;

        align-items:center;

        gap:6px;

        width:fit-content;

        padding:14px 18px;

    }

    .gaa-loading span{

        width:8px;

        height:8px;

        border-radius:50%;

        background:#999;

        animation:gaa-bounce 1.2s infinite ease-in-out;

    }

    .gaa-loading span:nth-child(2){

        animation-delay:.2s;

    }

    .gaa-loading span:nth-child(3){

        animation-delay:.4s;

    }
    .gaa-call-wrapper{

        margin-top:12px;

    }

    .gaa-call-button{

        display:inline-flex;

        align-items:center;

        gap: 8px;

        justify-content:center;

        padding:10px 18px;

        border-radius:10px;

        background:var(--gaa-primary);

        color:#fff;

        text-decoration:none;

        font-weight:600;

        transition:.2s;

    }

    .gaa-call-button svg{

        width:18px;

        height:18px;

        flex-shrink:0;

    }

    .gaa-call-button:hover{

        background:var(--gaa-primary-hover);

        color:#fff;

    }
}

@media (max-width:768px){

    #gaa-chat{

        right:0;
        bottom:0;
        left:0;

        padding:0;

    }

    #gaa-chat .gaa-window{

        position:fixed;

        inset:0;

        width:100vw;
        height:100dvh;

        max-width:none;

        border-radius:0;

        border:none;
        left: 0px !important;
        right:auto !important;
        bottom:auto;

    }

    #gaa-chat .gaa-window.gaa-open{

        display:flex;

    }

    #gaa-chat .gaa-header{

        padding:16px 18px;

    }

    #gaa-chat .gaa-messages{

        padding:16px;

    }

    #gaa-chat .gaa-footer{

        padding:12px;

    }

}

@keyframes gaa-bounce{

    0%,80%,100%{

        transform:scale(.5);

        opacity:.3;

    }

    40%{

        transform:scale(1);

        opacity:1;

    }

}

@keyframes gaa-pulse{

    0%{

        box-shadow:
                0 10px 30px rgba(105,148,62,.25),
                0 0 0 0 rgba(105,148,62,.25);

    }

    70%{

        box-shadow:
                0 10px 30px rgba(105,148,62,.35),
                0 0 0 14px rgba(105,148,62,0);

    }

    100%{

        box-shadow:
                0 10px 30px rgba(105,148,62,.25),
                0 0 0 0 rgba(105,148,62,0);

    }
}
@keyframes gaa-shake{

    0%,88%,100%{

        transform:translateY(0);

    }

    90%{

        transform:rotate(-8deg);

    }

    92%{

        transform:rotate(8deg);

    }

    94%{

        transform:rotate(-6deg);

    }

    96%{

        transform:rotate(6deg);

    }

    98%{

        transform:rotate(0);

    }

}


