Spaces:
Sleeping
Sleeping
| /* Global Styles for RAG Chat Application */ | |
| /* Scrollbar Styling */ | |
| .scrollbar-thin { | |
| scrollbar-width: thin; | |
| } | |
| .scrollbar-thin::-webkit-scrollbar { | |
| width: 6px; | |
| } | |
| .scrollbar-thin::-webkit-scrollbar-track { | |
| background: transparent; | |
| } | |
| .scrollbar-thin::-webkit-scrollbar-thumb { | |
| background-color: rgba(107, 114, 128, 0.5); | |
| border-radius: 3px; | |
| } | |
| .scrollbar-thin::-webkit-scrollbar-thumb:hover { | |
| background-color: rgba(107, 114, 128, 0.7); | |
| } | |
| /* Animation Classes */ | |
| @keyframes slideInFromBottom { | |
| from { | |
| opacity: 0; | |
| transform: translateY(10px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| .animate-in { | |
| animation-duration: 300ms; | |
| animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1); | |
| animation-fill-mode: both; | |
| } | |
| .slide-in-from-bottom-4 { | |
| animation-name: slideInFromBottom; | |
| } | |
| .fade-in { | |
| animation: fadeIn 300ms ease-out; | |
| } | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| /* Smooth scrolling */ | |
| html { | |
| scroll-behavior: smooth; | |
| } | |
| /* Better focus states */ | |
| *:focus { | |
| outline: none; | |
| } | |
| *:focus-visible { | |
| outline: 2px solid rgb(99, 102, 241); | |
| outline-offset: 2px; | |
| } | |
| /* Message content styling */ | |
| .prose { | |
| max-width: none; | |
| } | |
| .prose p { | |
| margin-bottom: 0.5em; | |
| } | |
| .prose p:last-child { | |
| margin-bottom: 0; | |
| } | |
| /* Gradient text animation (optional) */ | |
| @keyframes gradientShift { | |
| 0%, 100% { | |
| background-position: 0% 50%; | |
| } | |
| 50% { | |
| background-position: 100% 50%; | |
| } | |
| } | |
| .gradient-animate { | |
| background-size: 200% 200%; | |
| animation: gradientShift 3s ease infinite; | |
| } | |
| /* Selection color */ | |
| ::selection { | |
| background-color: rgb(199, 210, 254); | |
| color: rgb(55, 48, 163); | |
| } | |
| /* Loading pulse animation */ | |
| @keyframes pulse { | |
| 0%, 100% { | |
| opacity: 1; | |
| } | |
| 50% { | |
| opacity: 0.5; | |
| } | |
| } | |
| .animate-pulse { | |
| animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; | |
| } | |
| /* Bounce animation for typing indicator */ | |
| @keyframes bounce { | |
| 0%, 100% { | |
| transform: translateY(0); | |
| } | |
| 50% { | |
| transform: translateY(-4px); | |
| } | |
| } | |
| .animate-bounce { | |
| animation: bounce 0.6s infinite; | |
| } | |