/* ===========================
   RESET
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    background:#000;
    font-family:'Poppins',sans-serif;
    color:#fff;

}

/* ===========================
   HEADER
=========================== */

.header{

    width:100%;
    height:95px;

    position:fixed;
    top:0;
    left:0;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:0 80px;

    background:rgba(0,0,0,.85);

    backdrop-filter:blur(15px);

    border-bottom:1px solid rgba(208,255,0,.15);

    z-index:9999;

}

/* ===========================
   LOGO
=========================== */

.logo img{

    height:55px;
    width:auto;

}

/* ===========================
   NAVIGATION
=========================== */

.navbar ul{

    display:flex;
    gap:50px;

    list-style:none;

}

.navbar ul li a{

    text-decoration:none;

    color:#fff;

    letter-spacing:3px;

    font-size:13px;

    font-weight:500;

    transition:.3s;

}

.navbar ul li a:hover{

    color:#D6FF00;

}

/* ===========================
   BUTTON
=========================== */

.new-chat-btn{

    background:#D6FF00;

    color:#000;

    border:none;

    outline:none;

    padding:15px 35px;

    border-radius:50px;

    cursor:pointer;

    font-weight:700;

    letter-spacing:2px;

    transition:.3s;

}

.new-chat-btn:hover{

    transform:translateY(-3px);

    box-shadow:
    0 0 15px #D6FF00,
    0 0 30px #D6FF00;

}

/* ===========================
   MOBILE MENU
=========================== */

.menu-toggle{

    display:none;

    font-size:30px;

    cursor:pointer;

    color:#D6FF00;

}

/* ===========================
   RESPONSIVE
=========================== */

@media(max-width:991px){

    .header{

        padding:0 25px;

    }

    .navbar{

        display:none;

    }

    .header-buttons{

        display:none;

    }

    .menu-toggle{

        display:block;

    }

}


/* =================================
   APP LAYOUT
================================= */

.app-container{

    display:flex;

    margin-top:95px;

    height:calc(100vh - 95px);

}

/* =================================
   SIDEBAR
================================= */

.sidebar{

    width:290px;

    background:#070707;

    border-right:1px solid rgba(214,255,0,.10);

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    padding:20px;

}

/* =================================
   NEW CHAT BUTTON
================================= */

#newChat{

    width:100%;

    background:#D6FF00;

    color:#000;

    border:none;

    padding:15px;

    border-radius:15px;

    cursor:pointer;

    font-weight:700;

    font-size:15px;

    margin-bottom:25px;

    transition:.3s;

}

#newChat:hover{

    transform:translateY(-3px);

    box-shadow:
    0 0 15px #D6FF00,
    0 0 30px #D6FF00;

}

/* =================================
   HISTORY
================================= */

.history-section{

    flex:1;

    overflow-y:auto;

}

.history-section h4{

    color:#D6FF00;

    margin-bottom:20px;

    font-size:14px;

    letter-spacing:2px;

}

#chatHistory{

    list-style:none;

}

#chatHistory li{

    padding:14px;

    margin-bottom:10px;

    background:#111;

    border-radius:12px;

    cursor:pointer;

    transition:.3s;

    color:#ddd;

}

#chatHistory li:hover{

    background:#181818;

    border:1px solid rgba(214,255,0,.20);

}

/* =================================
   SIDEBAR FOOTER
================================= */

.sidebar-footer{

    padding-top:20px;

    border-top:1px solid rgba(255,255,255,.08);

}

.user-profile{

    display:flex;

    align-items:center;

    gap:12px;

}

.avatar{

    width:45px;
    height:45px;

    border-radius:50%;

    background:#D6FF00;

    color:#000;

    display:flex;

    justify-content:center;

    align-items:center;

    font-weight:700;

}

.user-profile h5{

    font-size:14px;

}

.user-profile span{

    color:#999;
    font-size:12px;

}

/* =================================
   CHAT AREA
================================= */

.chat-wrapper{

    flex:1;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:40px;

    background:
    radial-gradient(
    circle at top left,
    rgba(214,255,0,.08),
    transparent 40%
    ),
    #000;

}

.welcome-screen{

    text-align:center;

    max-width:700px;

}

.welcome-screen h1{

    font-size:60px;

    margin-bottom:20px;

}

.welcome-screen p{

    font-size:20px;

    color:#999;

    line-height:1.8;

}

/* =================================
   MOBILE
================================= */

@media(max-width:991px){

    .sidebar{

        position:fixed;

        left:-300px;

        top:95px;

        height:calc(100vh - 95px);

        z-index:999;

        transition:.4s;

    }

    .sidebar.active{

        left:0;

    }

}

/* =================================
   CHAT CONTAINER
================================= */

.chat-container{

    width:100%;
    height:100%;

    display:flex;
    flex-direction:column;

}

/* =================================
   CHAT MESSAGES
================================= */

.chat-messages{

    flex:1;

    overflow-y:auto;

    padding:40px;

}

/* Scrollbar */

.chat-messages::-webkit-scrollbar{

    width:8px;

}

.chat-messages::-webkit-scrollbar-thumb{

    background:#D6FF00;
    border-radius:20px;

}

/* =================================
   COMMON MESSAGE
================================= */

.ai-message,
.user-message{

    display:flex;

    gap:15px;

    margin-bottom:25px;

}

/* =================================
   AVATAR
================================= */

.message-avatar{

    width:45px;
    height:45px;

    min-width:45px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

}

/* AI Avatar */

.ai-message .message-avatar{

    background:#D6FF00;
    color:#000;

}

/* User Avatar */

.user-message .message-avatar{

    background:#222;
    color:#fff;

}

/* =================================
   MESSAGE BOX
================================= */

.message-content{

    max-width:800px;

    background:#111;

    padding:18px;

    border-radius:15px;

    line-height:1.8;

    color:#ddd;

}

/* User Message Color */

.user-message .message-content{

    background:#1b1b1b;

}

/* =================================
   INPUT AREA
================================= */

.chat-input-container{

    padding:25px;

    border-top:1px solid rgba(255,255,255,.08);

    display:flex;

    gap:15px;

}

/* Textarea */

#userInput{

    flex:1;

    height:70px;

    border:none;

    outline:none;

    resize:none;

    border-radius:15px;

    background:#111;

    color:#fff;

    padding:18px;

    font-size:15px;

}

/* Send Button */

#sendBtn{

    width:140px;

    border:none;

    border-radius:15px;

    background:#D6FF00;

    color:#000;

    font-weight:700;

    cursor:pointer;

    transition:.3s;

}

#sendBtn:hover{

    transform:translateY(-3px);

    box-shadow:
    0 0 15px #D6FF00,
    0 0 30px #D6FF00;

}

/* =================================
   TYPING EFFECT
================================= */

.typing{

    display:flex;

    gap:6px;

    padding:15px;

}

.typing span{

    width:8px;
    height:8px;

    border-radius:50%;

    background:#D6FF00;

    animation:typing 1s infinite;

}

.typing span:nth-child(2){

    animation-delay:.2s;

}

.typing span:nth-child(3){

    animation-delay:.4s;

}

@keyframes typing{

    0%{
        opacity:.2;
        transform:translateY(0);
    }

    50%{
        opacity:1;
        transform:translateY(-4px);
    }

    100%{
        opacity:.2;
        transform:translateY(0);
    }

}