.container {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-large);
  padding: calc(3.75rem + var(--spacing-medium)) var(--spacing-medium) var(--spacing-large);
  width: 100%;
  box-sizing: border-box;
}

.blocks {
  display: flex;
  flex-direction: column;
  animation: fadeUp 0.6s ease-out 0.2s both;
}

.blocks > * {
  margin-bottom: var(--spacing-small);
}

.blocks > *:last-child {
  margin-bottom: 0;
}

/* Увеличиваем отступ для видимого текстового блока */
.blocks > [class*="TextInputBlock_visible"] {
  margin-bottom: var(--spacing-medium);
}

/* Отступ между блоками и кнопкой генерации */
.blocks {
  margin-bottom: var(--spacing-small);
}

.loading {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px;
  color: var(--color-text);
  opacity: 0.6;
}

@keyframes fadeDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.content {
  position: relative;
  min-height: 100vh; /* Ensure content takes at least the full viewport height */
  padding-bottom: calc(4rem + 80px + var(--safe-area-inset-bottom)); /* Дополнительный отступ для кнопки */
}

.generateButtonContainer {
  position: fixed;
  bottom: calc(4.5rem + var(--safe-area-inset-bottom)); /* Уменьшенный отступ от навигации */
  left: var(--spacing-medium);
  right: var(--spacing-medium);
  width: auto;
  max-width: calc(28rem - 2 * var(--spacing-medium));
  margin: 0 auto;
  z-index: 90;
}
