Spaces:
Sleeping
Sleeping
| /* General Reset and Body Styling */ | |
| * { | |
| box-sizing: border-box; | |
| margin: 0; | |
| padding: 0; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| body { | |
| font-family: var(--font-sans-serif); | |
| background-color: var(--color-primary); | |
| color: var(--color-text-primary); | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| height: 100vh; | |
| } | |
| /* Main Chat Container Layout */ | |
| .chat-container { | |
| display: flex; | |
| width: 90vw; | |
| height: 90vh; | |
| max-width: 1400px; | |
| background-color: var(--color-surface-light); | |
| border-radius: 24px; | |
| overflow: hidden; | |
| box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1); | |
| } | |
| /* --- Main Chat Area --- */ | |
| .chat-main { | |
| flex-grow: 1; | |
| display: flex; | |
| flex-direction: column; | |
| background-color: var(--color-surface-light); | |
| } | |
| .chat-header { | |
| padding: 24px; | |
| border-bottom: 1px solid var(--color-border); | |
| } | |
| .chat-header h1 { | |
| font-family: var(--font-serif); | |
| font-size: 28px; | |
| font-weight: 600; | |
| } | |
| /* Chat Messages */ | |
| .chat-messages { | |
| flex-grow: 1; | |
| padding: 24px; | |
| overflow-y: auto; | |
| display: flex; | |
| flex-direction: column-reverse; | |
| gap: 16px; | |
| } | |
| .message-group-status { | |
| text-align: center; | |
| font-size: 12px; | |
| color: var(--color-text-secondary); | |
| margin: 8px 0; | |
| } | |
| .message-group { | |
| display: flex; | |
| flex-direction: column; | |
| max-width: 70%; | |
| } | |
| .message-group.user { | |
| align-self: flex-end; | |
| align-items: flex-end; | |
| } | |
| .message-group.bot { | |
| align-self: flex-start; | |
| align-items: flex-start; | |
| } | |
| .message-bubble { | |
| padding: 12px 16px; | |
| border-radius: 18px; | |
| max-width: 100%; | |
| } | |
| .message-group.bot .message-bubble { | |
| background-color: var(--color-surface-mid); | |
| border-top-left-radius: 4px; | |
| } | |
| .message-group.user .message-bubble { | |
| background-color: var(--color-primary); | |
| color: white; | |
| border-top-right-radius: 4px; | |
| } | |
| .message-bubble p { | |
| line-height: 1.6; | |
| } | |
| .message-bubble ul { | |
| list-style-position: inside; | |
| padding-left: 8px; | |
| margin-top: 8px; | |
| } | |
| .message-bubble li { | |
| margin-bottom: 4px; | |
| } | |
| /* --- Files Sidebar --- */ | |
| .files-sidebar { | |
| width: 280px; | |
| background-color: var(--color-surface-light); | |
| padding: 24px; | |
| display: flex; | |
| flex-direction: column; | |
| border-left: 1px solid var(--color-border); | |
| } | |
| .files-sidebar h4 { | |
| font-family: var(--font-serif); | |
| font-weight: 600; | |
| font-size: 20px; | |
| color: var(--color-text-primary); | |
| margin-bottom: 20px; | |
| padding-bottom: 16px; | |
| border-bottom: 1px solid var(--color-border); | |
| } | |
| .attached-files-list { | |
| list-style: none; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 4px; | |
| overflow-y: auto; | |
| flex-grow: 1; | |
| } | |
| .attached-files-list li { | |
| display: flex; | |
| align-items: center; | |
| background-color: transparent; | |
| padding: 8px; | |
| border-radius: 8px; | |
| font-size: 14px; | |
| transition: background-color 0.2s ease; | |
| } | |
| .attached-files-list li:hover { | |
| background-color: var(--color-surface-mid); | |
| } | |
| .attached-files-list li span { | |
| flex-grow: 1; | |
| white-space: nowrap; | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| padding-right: 8px; | |
| color: var(--color-text-secondary); | |
| } | |
| .attached-files-list li:hover span { | |
| color: var(--color-text-primary); | |
| } | |
| .icon-button.small { | |
| width: 28px; | |
| height: 28px; | |
| flex-shrink: 0; | |
| } | |
| .icon-button.small .material-symbols-outlined { | |
| font-size: 18px; | |
| } | |
| /* Chat Footer / Input Area */ | |
| .chat-footer { | |
| padding: 16px 24px; | |
| border-top: 1px solid var(--color-border); | |
| background-color: var(--color-surface-light); | |
| } | |
| .input-wrapper { | |
| display: flex; | |
| align-items: center; | |
| background-color: var(--color-surface-mid); | |
| border-radius: 12px; | |
| padding: 4px; | |
| } | |
| .input-wrapper input { | |
| flex-grow: 1; | |
| border: none; | |
| background: none; | |
| padding: 12px; | |
| font-size: 16px; | |
| color: var(--color-text-primary); | |
| outline: none; | |
| } | |
| .icon-button { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| width: 44px; | |
| height: 44px; | |
| background: none; | |
| border: none; | |
| cursor: pointer; | |
| color: var(--color-text-secondary); | |
| transition: color 0.2s ease; | |
| } | |
| .icon-button:hover { | |
| color: var(--color-primary); | |
| } | |
| .icon-button .material-symbols-outlined { | |
| font-size: 24px; | |
| } | |
| .send-button { | |
| background-color: var(--color-primary); | |
| color: white; | |
| border-radius: 8px; | |
| } | |
| .send-button:hover { | |
| color: white; | |
| opacity: 0.9; | |
| } | |
| .replay-btn { | |
| background: none; | |
| border: none; | |
| cursor: pointer; | |
| color: inherit; | |
| opacity: 0.7; | |
| transition: transform 0.2s, opacity 0.2s; | |
| } | |
| .replay-btn:hover { | |
| opacity: 1; | |
| transform: scale(1.1); | |
| } | |
| .icon-button.recording .material-symbols-outlined { | |
| color: var(--color-error, #e74c3c); | |
| animation: pulse 1.5s infinite; | |
| } | |
| @keyframes pulse { | |
| 0% { transform: scale(1); } | |
| 50% { transform: scale(1.2); } | |
| 100% { transform: scale(1); } | |
| } |