Spaces:
Paused
Paused
| .realtime-chat-container { | |
| max-width: 800px; | |
| margin: 20px auto; | |
| height: 80vh; | |
| display: flex; | |
| flex-direction: column; | |
| position: relative; | |
| } | |
| mat-card-header { | |
| position: relative; | |
| .close-button { | |
| position: absolute; | |
| top: 8px; | |
| right: 8px; | |
| } | |
| } | |
| .error-banner { | |
| background-color: #ffebee; | |
| color: #c62828; | |
| padding: 12px; | |
| border-radius: 4px; | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| margin-bottom: 16px; | |
| mat-icon { | |
| font-size: 20px; | |
| width: 20px; | |
| height: 20px; | |
| } | |
| span { | |
| flex: 1; | |
| } | |
| } | |
| .chat-messages { | |
| flex: 1; | |
| overflow-y: auto; | |
| padding: 16px; | |
| background: #fafafa; | |
| border-radius: 8px; | |
| min-height: 300px; | |
| max-height: 450px; | |
| } | |
| .message { | |
| display: flex; | |
| align-items: flex-start; | |
| margin-bottom: 16px; | |
| animation: slideIn 0.3s ease-out; | |
| } | |
| @keyframes slideIn { | |
| from { | |
| opacity: 0; | |
| transform: translateY(10px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| .message.user { | |
| flex-direction: row-reverse; | |
| } | |
| .message.system { | |
| justify-content: center; | |
| .message-content { | |
| background: #e0e0e0; | |
| font-style: italic; | |
| max-width: 80%; | |
| } | |
| } | |
| .message-icon { | |
| margin: 0 8px; | |
| color: #666; | |
| } | |
| .message-content { | |
| max-width: 70%; | |
| background: white; | |
| padding: 12px 16px; | |
| border-radius: 12px; | |
| box-shadow: 0 1px 2px rgba(0,0,0,0.1); | |
| position: relative; | |
| } | |
| .message.user .message-content { | |
| background: #3f51b5; | |
| color: white; | |
| } | |
| .message-text { | |
| margin-bottom: 4px; | |
| } | |
| .message-time { | |
| font-size: 11px; | |
| opacity: 0.7; | |
| } | |
| .audio-button { | |
| margin-top: 8px; | |
| } | |
| .empty-state { | |
| text-align: center; | |
| padding: 60px 20px; | |
| color: #999; | |
| mat-icon { | |
| font-size: 48px; | |
| width: 48px; | |
| height: 48px; | |
| margin-bottom: 16px; | |
| } | |
| } | |
| .audio-visualizer { | |
| width: 100%; | |
| height: 100px; | |
| background: #212121; | |
| border-radius: 8px; | |
| margin-top: 16px; | |
| opacity: 0.3; | |
| transition: all 0.3s ease; | |
| position: relative; | |
| overflow: hidden; | |
| &.active { | |
| opacity: 1; | |
| background: #1a1a1a; | |
| box-shadow: 0 0 20px rgba(76, 175, 80, 0.3); | |
| } | |
| } | |
| mat-chip { | |
| font-size: 12px; | |
| } | |
| mat-chip.active { | |
| background-color: #3f51b5 ; | |
| color: white ; | |
| } | |
| mat-card-actions { | |
| padding: 16px; | |
| display: flex; | |
| gap: 16px; | |
| justify-content: flex-start; | |
| mat-spinner { | |
| display: inline-block; | |
| margin-right: 8px; | |
| } | |
| } |