.elementor-35864 .elementor-element.elementor-element-2e1fc234:not(.elementor-motion-effects-element-type-background), .elementor-35864 .elementor-element.elementor-element-2e1fc234 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(135deg, #667eea 0%, #764ba2 100%);}.elementor-35864 .elementor-element.elementor-element-2e1fc234{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 80px 20px;}.elementor-35864 .elementor-element.elementor-element-2e1fc234 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), open-sansa;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-35864 .elementor-element.elementor-element-6b2871c3{text-align:center;}.elementor-35864 .elementor-element.elementor-element-6b2871c3 .elementor-heading-title{font-size:48px;font-weight:800;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), open-sansa;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), open-sansa;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-35864 .elementor-element.elementor-element-cc855cb .elementor-button{border-radius:50px 50px 50px 50px;}.elementor-35864 .elementor-element.elementor-element-1cba4910:not(.elementor-motion-effects-element-type-background), .elementor-35864 .elementor-element.elementor-element-1cba4910 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-35864 .elementor-element.elementor-element-1cba4910{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 80px 20px;}.elementor-35864 .elementor-element.elementor-element-1cba4910 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-35864 .elementor-element.elementor-element-4e13bd0f{text-align:center;}.elementor-35864 .elementor-element.elementor-element-7b4d96bd:not(.elementor-motion-effects-element-type-background), .elementor-35864 .elementor-element.elementor-element-7b4d96bd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-35864 .elementor-element.elementor-element-7b4d96bd{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:0px 20px 60px 20px;}.elementor-35864 .elementor-element.elementor-element-7b4d96bd > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-35864 .elementor-element.elementor-element-1c76eaf1:not(.elementor-motion-effects-element-type-background), .elementor-35864 .elementor-element.elementor-element-1c76eaf1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #2c3e50 0%, #34495e 100%);}.elementor-35864 .elementor-element.elementor-element-1c76eaf1{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 80px 20px;}.elementor-35864 .elementor-element.elementor-element-1c76eaf1 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-35864 .elementor-element.elementor-element-6f6f10d0{text-align:center;}.elementor-35864 .elementor-element.elementor-element-4f7c2bd0:not(.elementor-motion-effects-element-type-background), .elementor-35864 .elementor-element.elementor-element-4f7c2bd0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #2c3e50 0%, #34495e 100%);}.elementor-35864 .elementor-element.elementor-element-4f7c2bd0{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:0px 20px 60px 20px;}.elementor-35864 .elementor-element.elementor-element-4f7c2bd0 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-35864 .elementor-element.elementor-element-18e90088:not(.elementor-motion-effects-element-type-background), .elementor-35864 .elementor-element.elementor-element-18e90088 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-35864 .elementor-element.elementor-element-18e90088{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 80px 20px;}.elementor-35864 .elementor-element.elementor-element-18e90088 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-35864 .elementor-element.elementor-element-223a20d5{text-align:center;}.elementor-35864 .elementor-element.elementor-element-6ac8db3f .elementor-button{border-radius:50px 50px 50px 50px;}.elementor-35864 .elementor-element.elementor-element-49f786e2:not(.elementor-motion-effects-element-type-background), .elementor-35864 .elementor-element.elementor-element-49f786e2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #ff6b6b 0%, #ff8e6b 100%);}.elementor-35864 .elementor-element.elementor-element-49f786e2{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:60px 20px 60px 20px;}.elementor-35864 .elementor-element.elementor-element-49f786e2 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-35864 .elementor-element.elementor-element-2ddcc218{text-align:center;}.elementor-35864 .elementor-element.elementor-element-3a8bf7b0 .elementor-button{fill:#ff6b6b;color:#ff6b6b;border-radius:50px 50px 50px 50px;}.elementor-35864 .elementor-element.elementor-element-3f7f37b0:not(.elementor-motion-effects-element-type-background), .elementor-35864 .elementor-element.elementor-element-3f7f37b0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-35864 .elementor-element.elementor-element-3f7f37b0{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 80px 20px;}.elementor-35864 .elementor-element.elementor-element-3f7f37b0 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-35864 .elementor-element.elementor-element-7785a79c{text-align:center;}.elementor-widget-accordion .elementor-accordion-icon, .elementor-widget-accordion .elementor-accordion-title{color:var( --e-global-color-primary );}.elementor-widget-accordion .elementor-accordion-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-accordion .elementor-active .elementor-accordion-icon, .elementor-widget-accordion .elementor-active .elementor-accordion-title{color:var( --e-global-color-accent );}.elementor-widget-accordion .elementor-active .elementor-accordion-icon svg{fill:var( --e-global-color-accent );}.elementor-widget-accordion .elementor-accordion-title{font-family:var( --e-global-typography-primary-font-family ), open-sansa;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-accordion .elementor-tab-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), open-sansa;font-weight:var( --e-global-typography-text-font-weight );}.elementor-35864 .elementor-element.elementor-element-48bc0382:not(.elementor-motion-effects-element-type-background), .elementor-35864 .elementor-element.elementor-element-48bc0382 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #2c3e50 0%, #34495e 100%);}.elementor-35864 .elementor-element.elementor-element-48bc0382{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 20px 80px 20px;}.elementor-35864 .elementor-element.elementor-element-48bc0382 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-35864 .elementor-element.elementor-element-6db8584c{text-align:center;}.elementor-35864 .elementor-element.elementor-element-31243eac .elementor-button{border-radius:50px 50px 50px 50px;}/* Start custom CSS */:root {
    --background-dark: #212121;
    --sidebar-dark: #202123;
    --message-user-dark: #343541;
    --message-bot-dark: #444654;
    --text-primary: #ECECF1;
    --text-secondary: #A0A0A0;
    --border-color: #4D4D4D;
    --hover-color: #343541;
}

html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background-color: var(--background-dark);
    color: var(--text-primary);
    overflow: hidden;
}

#chat-container {
    display: flex;
    height: 100vh;
}

/* --- Sidebar --- */
#sidebar {
    width: 260px;
    background-color: var(--sidebar-dark);
    display: flex;
    flex-direction: column;
    padding: 10px;
    border-right: 1px solid var(--border-color);
}

.sidebar-header {
    padding: 10px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    transition: background-color 0.2s;
}
.sidebar-header:hover {
    background-color: var(--hover-color);
}
.sidebar-header span {
    font-size: 14px;
}
.sidebar-header svg {
    width: 16px;
    height: 16px;
}

.chat-history {
    flex-grow: 1;
    margin-top: 20px;
    overflow-y: auto;
    color: var(--text-secondary);
    font-size: 14px;
}

/* --- Main Chat Area --- */
#chat-area {
    flex: 1;
    display: flex;
    flex-direction: column;
    position: relative;
}

/* --- Chat Messages --- */
#chat-messages {
    flex: 1;
    overflow-y: auto;
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
}

/* Welcome Screen */
.welcome-screen {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.welcome-logo {
    width: 70px;
    height: 70px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}
.welcome-logo svg {
    width: 40px;
    height: 40px;
    fill: #000;
}
.welcome-screen h1 {
    font-size: 24px;
    margin: 0;
}

/* Individual Messages */
.message {
    display: flex;
    gap: 20px;
    padding: 20px;
    width: 100%;
    box-sizing: border-box;
    max-width: 800px;
    margin: 1px auto; /* Small gap between messages */
}
.message.bot {
    background-color: var(--message-bot-dark);
}
.message.user {
    background-color: var(--message-user-dark);
}

.message .avatar {
    width: 36px;
    height: 36px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    flex-shrink: 0;
}
.message.bot .avatar {
    background-color: #19c37d; /* OpenAI Green */
}
.message.bot .avatar svg {
    width: 24px;
    height: 24px;
    fill: white;
}
.message.user .avatar {
    background-color: #6e40c9; /* GitHub Purple */
}

.message .content {
    font-size: 16px;
    line-height: 1.6;
    white-space: pre-wrap;
    word-wrap: break-word;
}
.message .content p {
    margin-top: 0;
}

/* --- Chat Input Area --- */
#chat-input-area {
    padding: 20px;
    background: linear-gradient(to top, var(--background-dark) 50%, transparent);
}

.input-wrapper {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
}

#chat-input {
    width: 100%;
    height: 24px; /* Initial height */
    max-height: 200px;
    padding: 12px 50px 12px 15px; /* Space for button */
    border-radius: 12px;
    border: 1px solid var(--border-color);
    background-color: var(--message-user-dark);
    color: var(--text-primary);
    font-size: 16px;
    resize: none;
    box-sizing: border-box;
    line-height: 1.5;
    font-family: inherit;
}
#chat-input:focus {
    outline: none;
    border-color: #606060;
}

#send-button {
    position: absolute;
    right: 10px;
    bottom: 8px;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    background-color: #3C3C3C;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
#send-button:hover {
    background-color: #505050;
}
#send-button svg {
    width: 18px;
    height: 18px;
    fill: #ACACAC;
}
 
.disclaimer {
    font-size: 12px;
    color: var(--text-secondary);
    text-align: center;
    margin-top: 10px;
}/* End custom CSS */