Spaces:
Sleeping
Sleeping
| /* Theo AI - Premium Christian UI (Domino's Architecture) */ | |
| :root { | |
| --theo-green: #002B22; | |
| --theo-teal: #00362B; | |
| --theo-cream: #FDFBD4; | |
| --theo-white: #FFFFFF; | |
| --bg-gradient: radial-gradient(circle at top left, #00362B 0%, #002B22 100%); | |
| --glass: rgba(0, 54, 43, 0.4); | |
| --glass-border: rgba(253, 251, 212, 0.1); | |
| } | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| font-family: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; | |
| } | |
| body { | |
| min-height: 100vh; | |
| width: 100vw; | |
| background: var(--theo-green); | |
| background-image: var(--bg-gradient); | |
| background-attachment: fixed; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| overflow-y: auto; | |
| padding: 20px 0; | |
| } | |
| .chat-container { | |
| width: 100%; | |
| max-width: 900px; | |
| height: 85vh; | |
| min-height: 500px; | |
| background: var(--glass); | |
| backdrop-filter: blur(20px); | |
| -webkit-backdrop-filter: blur(20px); | |
| border-radius: 32px; | |
| box-shadow: 0 40px 100px rgba(0, 0, 0, 0.5); | |
| display: flex; | |
| flex-direction: column; | |
| overflow: hidden; | |
| border: 1px solid var(--glass-border); | |
| position: relative; | |
| margin: 20px; | |
| } | |
| .chat-header { | |
| background: rgba(0, 43, 34, 0.8); | |
| padding: 20px 40px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| border-bottom: 1px solid var(--glass-border); | |
| z-index: 10; | |
| backdrop-filter: blur(10px); | |
| } | |
| .header-info { | |
| display: flex; | |
| align-items: center; | |
| gap: 15px; | |
| } | |
| .header-text { | |
| display: flex; | |
| flex-direction: column; | |
| } | |
| .chat-header h2 { | |
| color: var(--theo-cream); | |
| font-weight: 800; | |
| font-size: 1.4rem; | |
| line-height: 1.1; | |
| letter-spacing: -0.02em; | |
| } | |
| .header-subtitle { | |
| font-size: 9px; | |
| font-weight: 800; | |
| letter-spacing: 0.3em; | |
| color: var(--theo-cream); | |
| opacity: 0.6; | |
| text-transform: uppercase; | |
| } | |
| .chat-header img { | |
| height: 45px; | |
| border-radius: 12px; | |
| border: 1px solid var(--glass-border); | |
| } | |
| .chat-box { | |
| flex: 1; | |
| padding: 40px; | |
| overflow-y: auto; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 24px; | |
| background: transparent; | |
| scroll-behavior: smooth; | |
| } | |
| .chat-box::-webkit-scrollbar { | |
| width: 6px; | |
| } | |
| .chat-box::-webkit-scrollbar-thumb { | |
| background: rgba(253, 251, 212, 0.1); | |
| border-radius: 10px; | |
| } | |
| .welcome-container { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| justify-content: center; | |
| margin: auto; | |
| text-align: center; | |
| max-width: 400px; | |
| } | |
| .welcome-icon { | |
| font-size: 3rem; | |
| margin-bottom: 20px; | |
| background: var(--theo-cream); | |
| width: 80px; | |
| height: 80px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| border-radius: 24px; | |
| } | |
| .welcome-container h1 { | |
| color: var(--theo-cream); | |
| font-size: 2.2rem; | |
| margin-bottom: 12px; | |
| font-weight: 800; | |
| } | |
| .welcome-container p { | |
| color: rgba(255, 255, 255, 0.6); | |
| line-height: 1.6; | |
| } | |
| .message { | |
| max-width: 80%; | |
| padding: 18px 24px; | |
| border-radius: 24px; | |
| font-size: 1.05rem; | |
| line-height: 1.6; | |
| position: relative; | |
| transition: all 0.3s ease; | |
| box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1); | |
| } | |
| .message.user { | |
| align-self: flex-end; | |
| background: #007055; | |
| color: white; | |
| border-bottom-right-radius: 4px; | |
| } | |
| .message.bot { | |
| align-self: flex-start; | |
| background: var(--theo-cream); | |
| color: #002B22; | |
| border-bottom-left-radius: 4px; | |
| border-left: 6px solid #007055; | |
| } | |
| .message.bot img.bot-logo { | |
| width: 20px; | |
| height: 20px; | |
| margin-right: 12px; | |
| vertical-align: middle; | |
| border-radius: 4px; | |
| } | |
| /* AI Thinking Animation */ | |
| .thinking-container { | |
| display: flex; | |
| gap: 6px; | |
| padding: 10px 0; | |
| } | |
| .thinking-dot { | |
| width: 8px; | |
| height: 8px; | |
| background: #007055; | |
| border-radius: 50%; | |
| animation: bounce 1.4s infinite ease-in-out both; | |
| } | |
| .thinking-dot:nth-child(1) { | |
| animation-delay: -0.32s; | |
| } | |
| .thinking-dot:nth-child(2) { | |
| animation-delay: -0.16s; | |
| } | |
| @keyframes bounce { | |
| 0%, | |
| 80%, | |
| 100% { | |
| transform: scale(0); | |
| opacity: 0.3; | |
| } | |
| 40% { | |
| transform: scale(1); | |
| opacity: 1; | |
| } | |
| } | |
| .chat-input { | |
| background: rgba(0, 43, 34, 0.8); | |
| padding: 30px 40px; | |
| display: flex; | |
| gap: 20px; | |
| align-items: flex-end; | |
| border-top: 1px solid var(--glass-border); | |
| backdrop-filter: blur(10px); | |
| } | |
| .chat-input textarea { | |
| flex: 1; | |
| background: rgba(255, 255, 255, 0.05); | |
| border: 1px solid var(--glass-border); | |
| border-radius: 20px; | |
| padding: 16px 24px; | |
| font-size: 1rem; | |
| color: white; | |
| resize: none; | |
| max-height: 150px; | |
| outline: none; | |
| transition: all 0.3s ease; | |
| } | |
| .chat-input textarea:focus { | |
| border-color: var(--theo-cream); | |
| background: rgba(255, 255, 255, 0.08); | |
| } | |
| .chat-input button { | |
| background: var(--theo-cream); | |
| color: #002B22; | |
| border: none; | |
| border-radius: 50%; | |
| width: 60px; | |
| height: 60px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| cursor: pointer; | |
| transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); | |
| box-shadow: 0 10px 25px rgba(253, 251, 212, 0.2); | |
| flex-shrink: 0; | |
| } | |
| .chat-input button svg path { | |
| stroke: #002B22; | |
| } | |
| .chat-input button:hover { | |
| transform: translateY(-4px) rotate(5deg); | |
| box-shadow: 0 15px 35px rgba(253, 251, 212, 0.3); | |
| } | |
| .chat-input button:active { | |
| transform: scale(0.9); | |
| } | |
| /* Markdown Styling */ | |
| .message h1, | |
| .message h2, | |
| .message h3 { | |
| margin: 12px 0 8px; | |
| color: #007055; | |
| font-weight: 800; | |
| } | |
| .message ul, | |
| .message ol { | |
| margin-left: 24px; | |
| margin-bottom: 12px; | |
| } | |
| .message li { | |
| margin-bottom: 6px; | |
| } | |
| .message p { | |
| margin-bottom: 12px; | |
| } | |
| .message strong { | |
| color: #004d3b; | |
| font-weight: 800; | |
| } | |
| /* Animations */ | |
| .slide-in-bottom { | |
| animation: slideIn 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards; | |
| } | |
| @keyframes slideIn { | |
| from { | |
| opacity: 0; | |
| transform: translateY(30px) scale(0.95); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0) scale(1); | |
| } | |
| } | |
| @media (max-width: 640px) { | |
| .chat-container { | |
| height: 100vh; | |
| border-radius: 0; | |
| } | |
| .chat-header { | |
| padding: 15px 20px; | |
| } | |
| .chat-box { | |
| padding: 20px; | |
| } | |
| .chat-input { | |
| padding: 20px; | |
| } | |
| } |