/* Отделяем готовые сюжеты от основных настроек и кнопки запуска истории. */
.theme-catalog {
  margin-top: 30px;
  padding-top: 23px;
  border-top: 1px dashed #ffffff2e;
}

.theme-catalog-title {
  margin: 0;
  color: #d7e7e5;
  font-weight: 700;
  text-align: center;
}

/* Каталог раскладывает сюжеты по смысловым группам, не превращая форму в длинный список. */
.theme-library {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0 0;
}

.theme-group {
  padding: 13px;
  background: #0c282c99;
  border: 1px solid #ffffff20;
  border-radius: 6px 16px 16px 16px;
}

.theme-group:last-child {
  grid-column: 1 / -1;
}

.theme-group h2 {
  margin: 0;
  color: var(--gold);
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.theme-library .theme-suggestions {
  margin: 9px 0 0;
}

/* Кнопки остаются крупными, а длинные названия переносятся без обрезания. */
.theme-library .theme-suggestions button {
  flex: 1 1 155px;
  min-height: 42px;
  text-align: left;
  line-height: 1.25;
}

/* Выбранный сюжет обозначается не только цветом, но и небольшим подъёмом карточки. */
.theme-library .theme-suggestions button[aria-pressed="true"] {
  color: var(--night);
  background: var(--gold);
  border-color: var(--gold);
  box-shadow: 0 7px 18px #0003;
  transform: translateY(-2px);
}

/* На телефоне каждая категория занимает всю ширину формы. */
@media (max-width: 600px) {
  .theme-library {
    grid-template-columns: 1fr;
  }

  .theme-group:last-child {
    grid-column: auto;
  }
}
