/*
 * Движок «Метки»: слово или предложение, в котором отмечают нужные места.
 * Общее оформление — в `../common/style.css`.
 */

/* Строка по ширине слова, а не страницы: правильный ответ подсвечивает
   всю строку целиком, и зелёная полоса во весь экран выглядела бы полосой,
   а не отмеченным словом. */
.mark-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 2px 6px;
  border-radius: 14px;
  font-size: clamp(26px, 5.6vmin, 38px);
  font-weight: 800;
  line-height: 1.3;
}

/* Буквы стоят вплотную: разбежавшись, они перестают быть словом.
   Поля у буквы поэтому узкие — нажимать по-прежнему удобно, потому что
   само задание набрано крупно. */
.mark-line--letter {
  gap: 0;
}

.mark-line--letter .mark-cell {
  padding: 6px 2px;
  border-radius: 8px;
}

.mark-line--word,
.mark-line--gap {
  gap: 4px 10px;
}

.mark-fixed {
  padding: 4px 2px;
  white-space: pre;
}

.mark-cell {
  font: inherit;
  color: inherit;
  background: transparent;
  border: 0;
  border-radius: 12px;
  padding: 4px 6px;
  cursor: pointer;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}

.mark-cell--word {
  padding: 4px 10px;
  background: #fff;
  box-shadow: 0 2px 0 rgba(46, 42, 79, 0.12);
}

.mark-cell:hover {
  background: rgba(46, 42, 79, 0.1);
}

.mark-cell.is-marked {
  background: var(--theme-accent);
  color: #fff;
}

/* Промежуток между словами. Пока пуст — тонкая засечка, чтобы было понятно,
   куда нажимать; отмеченный показывает саму запятую. */
.mark-cell--gap {
  width: 26px;
  padding: 4px 0;
  background: transparent;
  color: rgba(46, 42, 79, 0.3);
}

.mark-cell--gap::before {
  content: '\00B7';
}

.mark-cell--gap.is-marked,
.mark-cell--gap.is-right,
.mark-cell--gap.is-wrong {
  color: #fff;
}

.mark-cell--gap.is-marked::before,
.mark-cell--gap.is-right::before,
.mark-cell--gap.is-wrong::before {
  content: ',';
}
