*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,sans-serif}body{background-color:#000}.context-selector-container{max-width:680px;margin:80px auto 0;background:#19192b;border-radius:20px;box-shadow:0 6px 32px #8e24aa1a;padding:2.5rem 2rem 3.5rem;color:#fff;position:relative;text-align:center;animation:fadeIn 1s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}.context-title{font-size:1.7rem;font-weight:700;margin-bottom:.2rem;color:#e1bee7;letter-spacing:.01em;padding-bottom:1rem}.context-subtitle{font-size:1rem;color:#b39ddb;margin-bottom:2.2rem;font-weight:400}.suggestions-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.suggestion-btn{background:#23234a;color:#e1bee7;border:1px solid #2e2e5e;border-radius:14px;padding:.7rem 1rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background .18s,color .18s,border .18s,box-shadow .18s;box-shadow:0 1px 4px #8e24aa0a;margin:0 .2rem;outline:none}.suggestion-btn.selected,.suggestion-btn:focus{background:#8e24aa22;color:#fff;border:1.5px solid #8e24aa;box-shadow:0 2px 8px #8e24aa1a}.suggestion-btn:hover{background:#2e2e5e;color:#fff}.suggestions-list:after{content:"";display:block;height:1px;background:linear-gradient(90deg,#8e24aa22,#23234a);margin:1.2rem 0 .5rem}.custom-context-section{display:flex;gap:.5rem;margin:1.2rem 0 2.2rem;justify-content:center}.custom-context-input{flex:1;padding:.65rem 1rem;border-radius:10px;border:1px solid #2e2e5e;font-size:1rem;background:#23234a;color:#fff;outline:none;box-shadow:none;transition:border .18s}.custom-context-input:focus{border:1.5px solid #8e24aa}.custom-context-btn{background:#8e24aa;color:#fff;border:none;border-radius:10px;padding:.65rem 1.1rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .18s,color .18s;box-shadow:0 1px 4px #8e24aa12}.custom-context-btn:disabled{background:#b39ddb;color:#fff;cursor:not-allowed;opacity:.7}.custom-context-btn:not(:disabled):hover{background:#6d1b7b;color:#fff}.arrow-indicator{position:absolute;right:1.5rem;bottom:-110px;display:flex;flex-direction:column;align-items:flex-end;z-index:2;opacity:.85}.arrow-text{font-size:.98rem;color:#b39ddb;margin-bottom:.1rem;font-weight:400;text-shadow:0 2px 8px #1a1a2e}.arrow-animation{animation:arrowBounce 1.5s infinite cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 2px 8px rgba(142,36,170,.2))}@keyframes arrowBounce{0%,to{transform:translateY(0)}50%{transform:translateY(18px)}}.floating-change-context-btn{position:fixed;right:28px;top:12px;z-index:1301;width:48px;height:48px;border-radius:50%;background:#fff;color:#8e24aa;border:2px solid #8e24aa;box-shadow:0 2px 8px #8e24aa22;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .3s ease,color .3s ease;font-size:0;outline:none;animation:smoothPulse 2.5s ease-in-out infinite;transform-origin:center;will-change:transform}.floating-change-context-btn:hover,.floating-change-context-btn:focus{background:#f3e5f5;animation:none}@keyframes smoothPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.lottie-chatbot-arrow{position:fixed;right:160px;bottom:-50px;width:350px;height:350px;z-index:1200;background:none;pointer-events:none;border:none;transform:rotate(18deg)}.messageContainer{display:flex;margin-bottom:8px;flex-direction:row}.messageContainer.userMessage{justify-content:flex-end}.messageContainer.botMessage{justify-content:flex-start}.avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;margin-right:8px}.avatar img{width:100%;height:100%;object-fit:cover}.messageContent{max-width:70%;width:fit-content;padding:10px 14px;border-radius:18px;position:relative}.messageContainer.userMessage .messageContent{border-bottom-right-radius:4px}.messageContainer.botMessage .messageContent{border-bottom-left-radius:4px}.messageText{font-size:14px;line-height:1.4;word-break:break-word}.messageText p{margin:0!important}.timestamp{font-size:11px;opacity:.7;margin-top:4px;text-align:right}.inputContainer{display:flex;gap:8px;padding:8px}.textInput{flex:1;border:1px solid #e5e7eb;background-color:#f0f0f0;color:#333!important;border-radius:8px;padding:10px 12px;font-size:14px;resize:none;min-height:40px;max-height:120px;overflow-y:auto}.textInput:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e533}.textInput::placeholder{color:#9ca3af}.textInput:disabled{background-color:#f3f4f6;cursor:not-allowed}.sendButton{width:40px;height:40px;border-radius:8px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .2s}.sendButton:disabled{opacity:.5;cursor:not-allowed}.sendButton:hover:not(:disabled){opacity:.9}.sendButton svg{width:18px;height:18px}.suggestionsContainer{margin:12px 0}.suggestionsLabel{font-size:14px;color:#6b7280;margin-bottom:8px}.suggestionsList{display:flex;flex-wrap:wrap;gap:8px}.suggestionButton{background:transparent;border:1px solid;border-radius:16px;padding:6px 12px;font-size:13px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.suggestionButton:hover{background-color:#0000000d;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.suggestionButton:active{transform:translateY(0);box-shadow:none}.suggestionIcon{font-size:11px;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:currentColor;color:#fff}.feedbackContainer{margin-top:4px;font-size:13px}.ratingButtons{display:flex;align-items:center;gap:8px}.feedbackLabel{color:#6b7280}.ratingButton{background:transparent;border:none;padding:4px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.ratingButton:hover{background-color:#0000000d}.ratingButton.selected{background-color:#0000001a}.ratingButton svg{color:#6b7280}.feedbackForm{margin-top:8px}.feedbackForm textarea{width:100%;border:1px solid #e5e7eb;border-radius:6px;padding:8px;font-size:13px;margin-bottom:8px;resize:none}.feedbackForm textarea:focus{outline:none;border-color:#4f46e5}.feedbackForm .buttonGroup{display:flex;justify-content:flex-end;gap:8px}.feedbackForm .cancelButton{background-color:transparent;color:#6b7280;border:1px solid #e5e7eb;border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer}.feedbackForm .cancelButton:hover{background-color:#f9fafb}.feedbackForm .submitButton{background-color:#4f46e5;color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer}.feedbackForm .submitButton:hover{background-color:#4338ca}.feedbackForm .submitButton:disabled{opacity:.5;cursor:not-allowed}.feedbackThanks{color:#6b7280;font-style:italic;font-size:13px;margin-top:4px}.fileUploadContainer{display:flex;flex-direction:column;align-items:center;margin-bottom:8px}.fileInput{display:none}.dropZone{border:2px dashed #e5e7eb;border-radius:8px;padding:16px;text-align:center;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.dropZone:hover{border-color:#4f46e5;background-color:#4f46e50d}.dropZone.dragging{border-color:#4f46e5;background-color:#4f46e51a}.dropZone.uploading{opacity:.7;cursor:not-allowed}.fileInfo{font-size:12px;color:#6b7280}.uploadingIndicator{display:flex;flex-direction:column;align-items:center;gap:8px}.spinner{width:24px;height:24px;border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#4f46e5;animation:spin 1s linear infinite}.errorMessage{color:#ef4444;font-size:12px;margin-top:8px;text-align:center}@keyframes spin{to{transform:rotate(360deg)}}:root{--chatbot-primary: #4f46e5;--chatbot-text-light: #ffffff;--chatbot-text-dark: #1f2937;--chatbot-bg-light: #ffffff;--chatbot-bg-dark: #1f2937;--chatbot-border-radius: 8px;--chatbot-shadow: 0 4px 12px rgba(0, 0, 0, .15);--chatbot-transition: all .3s ease}.chatbotContainer{position:fixed;z-index:1000;font-family:var(--font-family, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif)}.chatbotContainer.bottom-right{right:20px;bottom:20px}.chatbotContainer.bottom-left{left:20px;bottom:20px}.chatbotContainer.top-right{right:20px;top:20px}.chatbotContainer.top-left{left:20px;top:20px}.chatbotContainer[data-theme=dark] .chatButton{background-color:var(--widget-color, var(--chatbot-primary));color:var(--text-color, var(--chatbot-text-light))}.chatbotContainer[data-theme=dark] .chatWindow{background-color:var(--chat-background, var(--chatbot-bg-dark));color:#e5e7eb;border:1px solid #374151}.chatbotContainer[data-theme=dark] .chatHeader{background-color:var(--widget-color, var(--chatbot-primary));color:var(--text-color, var(--chatbot-text-light))}.chatbotContainer[data-theme=dark] .chatBody{scrollbar-color:#4b5563 #1f2937}.chatbotContainer[data-theme=dark] .chatBody::-webkit-scrollbar-track{background:#1f2937}.chatbotContainer[data-theme=dark] .chatBody::-webkit-scrollbar-thumb{background-color:#4b5563}.chatbotContainer[data-theme=dark] .loadingIndicator{background-color:#374151}.chatbotContainer[data-theme=dark] .loadingIndicator .typingDot{background-color:#9ca3af}.chatbotContainer[data-theme=dark] .errorMessage{color:#f87171;background-color:#ef444433}.chatbotContainer[data-theme=dark] .emptyState{color:#9ca3af}.chatbotContainer[data-theme=dark] .chatFooter{border-top:1px solid #374151;background-color:#1f2937}.chatButton{width:60px;height:60px;border-radius:50%;background-color:var(--widget-color, var(--chatbot-primary));color:var(--text-color, var(--chatbot-text-light));display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;box-shadow:var(--box-shadow, var(--chatbot-shadow));transition:var(--chatbot-transition)}.chatButton:hover{transform:scale(1.05);box-shadow:0 6px 16px #0003}.chatButton:focus{outline:2px solid var(--chatbot-primary);outline-offset:2px}.chatButton svg{width:28px;height:28px}.chatWindow{width:350px;max-height:500px;border-radius:var(--border-radius, var(--chatbot-border-radius));background-color:var(--chat-background, var(--chatbot-bg-light));box-shadow:var(--box-shadow, var(--chatbot-shadow));display:flex;flex-direction:column;overflow:hidden;animation:slideIn .3s ease-out}.chatHeader{padding:12px 16px;background-color:var(--widget-color, var(--chatbot-primary));color:var(--text-color, var(--chatbot-text-light));display:flex;justify-content:space-between;align-items:center}.chatHeader h3{margin:0;font-size:16px;font-weight:600}.chatHeader .closeButton{background:transparent;border:none;color:inherit;font-size:24px;line-height:1;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.chatHeader .closeButton:hover{background-color:#fff3}.chatHeader .closeButton:focus{outline:none;background-color:#fff3}.chatBody{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;min-height:200px;scrollbar-width:thin;scrollbar-color:#d1d5db #f3f4f6}.chatBody::-webkit-scrollbar{width:6px}.chatBody::-webkit-scrollbar-track{background:#f3f4f6}.chatBody::-webkit-scrollbar-thumb{background-color:#d1d5db;border-radius:6px}.messageContainer{display:flex;flex-direction:row;gap:4px;animation:fadeIn .3s ease-out}.emptyState{text-align:center;padding:24px 16px;color:#6b7280;font-style:italic}.loadingIndicator{display:flex;gap:4px;padding:8px 12px;align-self:flex-start;background-color:#f3f4f6;border-radius:16px;margin:4px 0}.loadingIndicator .typingDot{width:8px;height:8px;background-color:#9ca3af;border-radius:50%;animation:typingAnimation 1.4s infinite ease-in-out}.loadingIndicator .typingDot:nth-child(1){animation-delay:0s}.loadingIndicator .typingDot:nth-child(2){animation-delay:.2s}.loadingIndicator .typingDot:nth-child(3){animation-delay:.4s}.errorMessage{color:#ef4444;padding:12px;border-radius:8px;background-color:#fee2e2;font-size:14px;margin:8px 0;border-left:3px solid #ef4444}.chatFooter{padding:8px;border-top:1px solid #e5e7eb;background-color:#f9fafb}@keyframes typingAnimation{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
