:root { --dark-surface: #190e10; /* Deep, dark maroon base */ --primary-color: #2b2b2b; /* A dark gray for sidebars and buttons */ --secondary-color: #03dac6; /* A cool teal for accents */ --accent-color: #aaabb9; /* A warm accent for highlights and borders */ --text-color: #e0e0e0; /* Off-white text */ --hover-bg: #3a3a3a; /* Slightly lighter for hover effects */ --transition-speed: 0.3s; } /* Error message container */ .error-block { background-color: #f25e5ecb; color: var(--text-color); padding: 0.1rem 1rem; border-radius: 0.3rem; margin: 2rem 0; text-align: left; } /* Container for the messages */ .answer-container { display: flex; flex-direction: column; gap: 2rem; padding: 1rem; min-width: 800px; } .answer-block { position: relative; padding-left: 45px; } /* Common message row styling */ .message-row { display: flex; align-items: flex-start; } /* ----------------- User Message Styling ----------------- */ /* User message row: bubble on the left, icon on the right */ .user-message { justify-content: flex-end; } .user-message .message-bubble { background-color: #FF8C00; color: #ffffff; border-radius: 0.35rem; padding: 0.5rem 1rem; max-width: 70%; text-align: left; } .user-message .user-icon { margin-left: 0.5rem; } .sources-read { font-weight: bold; } /* ----------------- Bot Message Styling ----------------- */ /* Bot message row */ .bot-icon { position: absolute; left: 0; top: 0.25rem; } .bot-message { justify-content: flex-start; } .bot-message .bot-icon { margin: 0; } /* Container for the bot bubble and its post-icons */ .bot-container { display: flex; flex-direction: column; gap: 0rem; } .bot-answer-container { display: flex; align-items: center; gap: 0.5rem; } /* Bot message bubble styling */ .bot-container .message-bubble { background-color: none; color: var(--text-color); padding: 0.25rem 1.15rem 1rem 0.1rem; max-width: 97%; text-align: left; } /* ----------------- Additional Styling ----------------- */ /* Styling for the "Thought and searched for..." line */ .thinking-info { font-size: large; font-style: italic; color: var(--accent-color); margin-bottom: 1.3rem; margin-left: 3rem; } .sources-read { font-weight: bold; color: var(--text-color); margin-bottom: 1rem; margin-left: 3rem; } /* Styling for the answer text */ .answer { margin: 0; line-height: 1.85; white-space: pre-wrap; } /* Post-answer icons container: placed below the bot bubble */ .post-icons { display: flex; padding-left: 0.12rem; gap: 1rem; } /* Make each post icon container position relative for tooltip positioning */ .post-icons .copy-icon, .post-icons .evaluate-icon, .post-icons .sources-icon, .post-icons .graph-icon { cursor: pointer; position: relative; } /* Apply a brightness filter to the icon images on hover */ .post-icons .copy-icon img, .post-icons .evaluate-icon img, .post-icons .sources-icon img, .post-icons .graph-icon img { transition: filter var(--transition-speed); } .post-icons .copy-icon:hover img, .post-icons .evaluate-icon:hover img, .post-icons .sources-icon:hover img, .post-icons .graph-icon:hover img { filter: brightness(0.65); } /* Tooltip styling */ .tooltip { position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%) translateY(10px) scale(0.9); transform-origin: bottom center; margin-bottom: 0.65rem; padding: 0.3rem 0.6rem; background-color: var(--primary-color); color: var(--text-color); border-radius: 0.25rem; white-space: nowrap; font-size: 0.85rem; opacity: 0; visibility: hidden; transition: transform 0.3s ease, opacity 0.3s ease; } /* Show the tooltip on hover */ .post-icons .copy-icon:hover .tooltip, .post-icons .evaluate-icon:hover .tooltip, .post-icons .sources-icon:hover .tooltip, .post-icons .graph-icon:hover .tooltip { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0) scale(1); } /* Styling for the question text */ .question { margin: 0; white-space: pre-wrap; line-height: 1.4; } /* Reduce the size of user and bot icons */ .user-icon img, .bot-icon img { width: 35px; height: 35px; object-fit: contain; } /* Reduce the size of the post-action icons */ .post-icons img { width: 20px; height: 20px; object-fit: contain; } /* ChatWindow.css */ /* Container for the loading state with a dark background */ .bot-loading { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 10px; /* adds space between the spinner and the text */ padding: 30px; background-color: var(--dark-surface); /* Dark background */ } .loading-text { margin: 0; /* removes any default margins */ font-size: 1rem; color: #ccc; } /* Finished state: styling for the thought time info */ .thinking-info { margin-bottom: 4px; } .thinking-time { font-size: 1rem; color: #888; cursor: pointer; } /* Snackbar styling */ .custom-snackbar { background-color: #1488e7 !important; color: var(--text-color) !important; padding: 0.35rem 1rem !important; border-radius: 4px !important; } /* Spinner styling */ .custom-spinner { width: 1.35rem !important; height: 1.35rem !important; border: 3px solid #3b7bdc !important; /* Main Spinner */ border-top: 3px solid #434343 !important; /* Rotating path */ border-radius: 50% !important; margin-top: 0.1rem !important; animation: spin 0.9s linear infinite !important; } /* Spinner animation */ @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }