/* Основные стили (как у вас были) */ /* Основные стили */ body { margin: 0; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: linear-gradient(135deg, #1e1e2f, #2a2a40); height: 100vh; color: #fff; display: flex; } /* Сайдбар */ .sidebar { width: 250px; background: #1a1a2e; height: 100vh; display: flex; flex-direction: column; border-right: 1px solid rgba(255, 255, 255, 0.1); } .sidebar-button { padding: 12px 16px; margin: 10px; background: linear-gradient(90deg, #4a4ae8, #3b3b98); color: white; border: none; border-radius: 8px; cursor: pointer; font-size: 0.9rem; text-align: left; display: flex; align-items: center; gap: 8px; } .sidebar-button:hover { background: linear-gradient(90deg, #5a5aff, #4b4bb8); } .chat-list { flex: 1; overflow-y: auto; padding: 0 10px; } .chat-item { padding: 12px; border-radius: 8px; margin-bottom: 5px; cursor: pointer; display: flex; align-items: center; gap: 10px; font-size: 0.9rem; } .chat-item:hover { background: rgba(255, 255, 255, 0.1); } .chat-item.active { background: rgba(74, 74, 232, 0.2); } .chat-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* Основное содержимое */ .main-content { flex: 1; display: flex; justify-content: center; align-items: center; overflow-y: auto; } .chat-container { width: 500px; background: #2a2a40; border-radius: 16px; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); overflow: hidden; display: flex; flex-direction: column; margin: 20px; } .chat-box { flex: 1; padding: 16px; overflow-y: auto; background: #1e1e2f; display: flex; flex-direction: column; gap: 12px; max-height: 400px; } .message { max-width: 80%; padding: 12px 16px; border-radius: 16px; font-size: 0.9rem; line-height: 1.4; animation: fadeIn 0.3s ease-in-out; } .user-message { background: linear-gradient(90deg, #4a4ae8, #3b3b98); color: white; align-self: flex-end; border-bottom-right-radius: 0; } .bot-message { background: #333; color: #fff; align-self: flex-start; border-bottom-left-radius: 0; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .input-container { padding: 12px; background: #2a2a40; border-top: 1px solid rgba(255, 255, 255, 0.1); } .input-group { display: flex; gap: 8px; } .chat-input { flex: 1; padding: 12px; border: 2px solid rgba(255, 255, 255, 0.2); border-radius: 8px; font-size: 0.9rem; background: #1e1e2f; color: #fff; } .chat-input:focus { border-color: #4a4ae8; outline: none; } .send-btn { padding: 12px 20px; background: linear-gradient(90deg, #4a4ae8, #3b3b98); color: white; border: none; border-radius: 8px; cursor: pointer; font-size: 0.9rem; } /* Стили для аудио элементов */ .audio-controls { display: flex; align-items: center; gap: 10px; padding: 12px; background: #2a2a40; border-top: 1px solid rgba(255, 255, 255, 0.1); } .audio-btn { padding: 10px 15px; background: linear-gradient(90deg, #4a4ae8, #3b3b98); color: white; border: none; border-radius: 8px; cursor: pointer; } .audio-btn:disabled { background: #555; cursor: not-allowed; } #waveform { flex-grow: 1; height: 60px; background: #1e1e2f; border-radius: 8px; } .file-upload { display: flex; gap: 10px; align-items: center; margin-top: 10px; } .file-upload input[type="file"] { flex: 1; } /* Красивая кнопка выбора файла */ .custom-file-upload { display: inline-block; padding: 10px 16px; background: linear-gradient(90deg, #4a4ae8, #3b3b98); color: white; font-size: 0.9rem; border-radius: 8px; cursor: pointer; transition: background 0.3s ease; } .custom-file-upload:hover { background: linear-gradient(90deg, #5a5aff, #4b4bb8); } /* Скрытие стандартного инпута */ input[type="file"] { display: none; }