/* Пока результат создаётся, сохраняем визуальный отступ от финала истории. */
.reflection-state {
  margin: 28px 0;
}

/* Ошибка остаётся заметной, но не перекрывает остальные действия на странице. */
.reflection-error {
  margin: 28px 0;
  padding: 22px;
  border: 1px solid #d9745d88;
  border-radius: 18px;
  background: #5b2f2b;
}

.reflection-error p {
  margin: 8px 0 14px;
}

.reflection-error button {
  padding: 10px 16px;
  color: var(--ink);
  background: var(--cream);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
}

/* Основная карточка отделяет персональный итог от общего финального текста. */
.reflection-card {
  margin: 32px 0;
  padding: clamp(24px, 5vw, 42px);
  color: var(--ink);
  text-align: left;
  background: var(--paper);
  border-radius: 8px 28px 8px 28px;
  box-shadow: 0 24px 70px #07171966;
}

.reflection-kicker {
  margin: 0 0 8px;
  color: #8b634d;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.reflection-card h3 {
  margin: 0 0 18px;
  font: clamp(28px, 5vw, 42px)/1.15 'Prata', serif;
}

.reflection-summary {
  font: 19px/1.6 'Prata', serif;
}

/* Наблюдения показываются отдельными блоками вместе с опорными шагами. */
.reflection-patterns {
  display: grid;
  gap: 14px;
  margin: 26px 0;
}

.reflection-pattern {
  padding: 18px;
  background: #fff9ec;
  border-left: 3px solid var(--gold);
  border-radius: 4px 16px 16px 4px;
}

.reflection-pattern h4,
.reflection-pattern p {
  margin: 0 0 7px;
}

.reflection-pattern p + p {
  margin-top: 9px;
}

.reflection-pattern small {
  color: #7c6859;
}

/* Ресурс, вопрос и эксперимент визуально собраны в одну группу подсказок. */
.reflection-note {
  margin-top: 14px;
  padding: 16px 18px;
  background: #e7eadc;
  border-radius: 14px;
}

.reflection-note.experiment {
  background: #f2dfc8;
}

.reflection-note span {
  color: #657153;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.reflection-note p {
  margin: 5px 0 0;
}

/* Обязательное пояснение напоминает, что результат не является диагностикой. */
.reflection-disclaimer {
  display: block;
  margin-top: 20px;
  color: #796f63;
}
