/* Контейнер для сообщений */
.messages {
    display: flex;
    flex-direction: column;
    gap: 24px; /* Это ключевое свойство: оно создает отступ между всеми блоками .principle-block */
    padding: 16px;
}

/* Общий стиль для сообщения бота */
.bot-msg {
    background-color: #e0e0e0; /* Темно-серый фон, как на твоем скриншоте #2b2b2b(черный) и #e0e0e0(белый) и #0000FF(синий) и #FF0000(красный) и #ff9d00(оранжевый)*/
    color: #2b2b2b;
    border-radius: 8px;
    padding: 16px;
    line-height: 1.6; /* Межстрочный интервал для удобства чтения */
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

/* Стили для Шапки сайта */
.principle-title2 {
    margin: 0 0 10px 0;
    font-size: 1.1rem;
    color: #e11313; /* Оранжевый акцент, чтобы выделить название принципа #ff9d00 */
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
    
}

/* Стили для Про Носферату*/
.principle-text2 {
    margin: 0;
    font-size: 0.95rem;
    text-align: center;
}

/* Стили для заголовка принципа */
.principle-title {
    margin: 0 0 10px 0;
    font-size: 1.1rem;
    color: #0000FF; /* Оранжевый акцент, чтобы выделить название принципа #ff9d00 */
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
}

/* Стили для текста принципа */
.principle-text {
    margin: 0;
    font-size: 0.95rem;
}
/* Стили для заголовка принципа Коментарий */
.principle-title1 {
    margin: 0 0 10px 0;
    font-size: 1.1rem;
    color: #00ffaa; /* Оранжевый акцент, чтобы выделить название принципа #ff9d00 */
    text-transform: uppercase;
    letter-spacing: 1px;
    
}

/* Стили для текста принципа Текст коменатрия*/
.principle-text1 {
    margin: 0;
    font-size: 0.95rem;
}
.download-btn {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 20px;
    background-color: #220ed3; /* Темный фон в стиле твоего чата */
    color: #ff9d00;            /* Твой акцентный оранжевый */
    text-decoration: none;
    border: 1px solid #ff9d00;
    border-radius: 4px;
    font-family: sans-serif;
    font-size: 0.9rem;
    transition: all 0.2s ease;
    text-align: center;
}

.download-btn:hover {
    background-color: #d46c17;
    color: #fff;
    
}
.download-btn1 {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 20px;
    background-color: #220ed3; /* Темный фон в стиле твоего чата */
    color: #ff9d00;            /* Твой акцентный оранжевый */
    text-decoration: none;
    border: 1px solid #ff9d00;
    border-radius: 4px;
    font-family: sans-serif;
    font-size: 0.9rem;
    transition: all 0.2s ease;
    text-align: center;
}

.download-btn1:hover {
    background-color: #33d417;
    color: #fff;
    text-align: center;
}


.principle-list {
    list-style-type: decimal; /* Обычная нумерация 1, 2, 3 */
    padding-left: 20px;       /* Отступ слева для цифр */
    margin-bottom: 24px;      /* Отступ снизу до блока "Как это работает" */
    line-height: 1.6;         /* Комфортный межстрочный интервал */
}

.principle-item {
    margin-bottom: 12px;      /* Расстояние между пунктами */
    color: #2b2b2b;           /* Цвет текста (подстрой под свой дизайн, если нужно) */
    font-size: 0.95rem;       /* Чуть меньше основного текста, чтобы цифры доминировали */
}

.principle-item strong {
    color: #2b2b2b;           /* Твой акцентный оранжевый цвет для главных мыслей */
    font-weight: 700;
}

/* Стили для блока "Как это работает" */
.how-it-works {
    border-top: 3px solid rgba(255, 0, 0, 1); /* Тонкая оранжевая линия сверху */
    padding-top: 16px;
}

.sub-title {
    margin: 0 0 10px 0;
    color: #2b2b2b;
    font-size: 0.95rem;
}

/* Стили для текстовой области */
textarea#user-input {
    width: 100%;
    padding: 12px;
    border: 2px solid #ddd;
    border-radius: 8px;
    font-size: 16px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    resize: vertical; /* Можно растягивать только по вертикали */
    min-height: 60px;
    max-height: 200px;
    box-sizing: border-box;
    transition: border-color 0.3s;
}

textarea#user-input:focus {
    outline: none;
    border-color: #667eea;
}

/* Счётчик символов */
.char-counter {
    text-align: right;
    font-size: 12px;
    color: #888;
    margin-top: 5px;
    margin-bottom: 10px;
    font-family: monospace;
}

/* Кнопка отправки */
.input-area button {
    padding: 12px 20px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 18px;
    transition: transform 0.2s;
}

.input-area button:hover {
    transform: scale(1.05);
}

.input-area button:active {
    transform: scale(0.95);
}

/* Делаем body флекс-контейнером на всю высоту экрана */
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden; /* Запрещаем скролл всей страницы */
}

/* Блок с сообщениями занимает всё свободное место и скроллится */
.messages {
    flex: 1; /* Занимает всё доступное пространство */
    overflow-y: auto; /* Скролл только здесь */
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Поле ввода прижато к низу */
.input-area {
    flex-shrink: 0; /* Не сжимается */
    padding: 12px 16px;
    background: #f5f5f5; /* Фон, чтобы отделить от чата */
    border-top: 2px solid #ddd;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Кнопка очистки чата */
.clear-btn {
    padding: 8px 16px;
    background-color: #dc3545;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    margin-bottom: 10px;
    transition: all 0.3s;
}

.clear-btn:hover {
    background-color: #c82333;
    transform: scale(1.05);
}

/* Индикатор "ИИ печатает..." */
.loading {
    background-color: #f0f0f0 !important;
    border-left: 4px solid #667eea;
    animation: pulse 1.5s infinite;
}

.typing-indicator {
    font-style: italic;
    color: #666;
}

.dots {
    animation: blink 1.5s infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
}

@keyframes blink {
    0%, 20% { opacity: 0; }
    40%, 100% { opacity: 1; }
}

/* Контейнер для кнопок управления */
.control-buttons {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
    padding: 0 16px;
}

/* Кнопка экспорта */
.export-btn {
    padding: 8px 16px;
    background-color: #28a745; /* Зелёный */
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s;
    flex: 1;
}

.export-btn:hover {
    background-color: #218838;
    transform: scale(1.05);
}

/* Кнопка очистки */
.clear-btn {
    padding: 8px 16px;
    background-color: #dc3545; /* Красный */
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s;
    flex: 1;
}

.clear-btn:hover {
    background-color: #c82333;
    transform: scale(1.05);
}


/* Контейнер для кнопок управления */
.control-buttons {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
    padding: 0 16px;
}

/* Кнопка переключения режима */
.mode-toggle {
    padding: 8px 16px;
    background-color: #667eea;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s;
    flex: 1;
}

.mode-toggle:hover {
    transform: scale(1.05);
}

/* Кнопка экспорта */
.export-btn {
    padding: 8px 16px;
    background-color: #28a745;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s;
    flex: 1;
}

.export-btn:hover {
    background-color: #218838;
    transform: scale(1.05);
}

/* Сообщение эксперта */
.expert-msg {
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 12px;
    margin: 8px 0;
    border-radius: 6px;
    font-family: 'Segoe UI', sans-serif;
}

/* Кнопка добавления комментария эксперта */
.expert-comment-btn {
    margin-top: 10px;
    padding: 6px 12px;
    background-color: #ffc107;
    color: #2b2b2b;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
}

.expert-comment-btn:hover {
    background-color: #e0a800;
}