/* gepard-toc.css — 2026-08-12, бесплатный инструмент «Автоматическое
 * оглавление».
 *
 * НАМЕРЕННО МАЛЕНЬКИЙ ФАЙЛ. Кнопки, зона загрузки, шапка файла и плашка
 * ошибки берутся из gepard-doc-check.css — там они уже приведены к стилю
 * платформы (те же токены, что в .gf-root «Оформления»), и разводить второй
 * набор одинаковых кнопок незачем: разъедутся при первой же правке.
 * Страница оборачивается в .dc, чтобы токены и общие классы работали.
 *
 * Здесь — только то, чего в проверке документа нет: список кандидатов с
 * галочками и переключателем уровня.
 */

.tc-list {
  background: #fff; border: 1px solid var(--dc-line); border-radius: var(--dc-r);
  overflow: hidden; margin-top: 14px;
}
.tc-list__head {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  padding: 12px 18px; border-bottom: 1px solid var(--dc-line); background: #FAFAFB;
}
.tc-list__head b { font-size: 12px; font-weight: 700; letter-spacing: .08em; color: var(--dc-ink-3); text-transform: uppercase; }
.tc-list__act { margin-left: auto; font-size: 12.5px; color: var(--dc-brand-ink); background: none; border: 0; cursor: pointer; font-family: inherit; font-weight: 600; }
.tc-list__act:hover { text-decoration: underline; }

.tc-row {
  display: flex; align-items: center; gap: 12px;
  padding: 11px 18px; border-bottom: 1px solid var(--dc-line);
  cursor: pointer; transition: background 160ms var(--dc-ease);
}
.tc-row:last-child { border-bottom: 0; }
.tc-row:hover { background: #FCFCFD; }
/* Отступ по уровню — структура работы должна читаться взглядом, без чтения
   номеров. Третий уровень намеренно не глубже второго вдвое: на телефоне
   строка иначе схлопывается. */
.tc-row--l2 { padding-left: 46px; }
.tc-row--l3 { padding-left: 74px; }

.tc-row__box { width: 20px; height: 20px; flex: none; font-size: 20px; line-height: 1; color: var(--dc-ink-4); }
.tc-row.is-on .tc-row__box { color: var(--dc-brand); }
.tc-row__text { flex: 1; min-width: 0; font-size: 14px; line-height: 1.45; color: var(--dc-ink-2); overflow-wrap: anywhere; }
.tc-row.is-on .tc-row__text { color: var(--dc-ink); }

/* Переключатель уровня. Кнопка, а не выпадающий список: три значения по
   кругу быстрее и не открывает меню поверх длинного списка. */
.tc-row__lvl {
  flex: none; font-family: inherit; font-size: 12px; font-weight: 700;
  border: 1px solid var(--dc-line); background: #fff; color: var(--dc-ink-3);
  border-radius: 999px; padding: 5px 12px; cursor: pointer;
  transition: background 160ms var(--dc-ease), color 160ms var(--dc-ease), border-color 160ms var(--dc-ease);
}
.tc-row.is-on .tc-row__lvl { background: #FFF3EC; color: var(--dc-brand-ink); border-color: transparent; }
.tc-row__lvl:hover { border-color: var(--dc-brand); }
.tc-row__lvl:focus-visible, .tc-row:focus-visible { outline: 2px solid var(--dc-brand); outline-offset: -2px; }

/* Источник догадки. Показываем только «из содержания» — это единственный
   случай, когда мы опираемся на данные автора, а не на внешний вид строки,
   и человеку полезно знать, чему верить больше. */
.tc-row__src { flex: none; font-size: 11px; color: var(--dc-ok); background: #E4F3EC; border-radius: 6px; padding: 3px 8px; }

.tc-more {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 13px 18px; background: #fff; border: 0; border-top: 1px solid var(--dc-line);
  font-family: inherit; font-size: 13.5px; color: var(--dc-ink-3); cursor: pointer; text-align: left;
}
.tc-more:hover { background: #FCFCFD; color: var(--dc-ink); }
.tc-more i { font-size: 17px; }

/* Предупреждение про авторское содержание. Янтарное, а не красное: это не
   ошибка, а решение, которое человек принимает сам. */
.tc-warn { background: #FFF8E8; border: 1px solid #F0D78A; border-radius: 18px; padding: 16px 20px; margin-top: 14px; }
.tc-warn__t { font-size: 14.5px; font-weight: 700; color: var(--dc-warn-ink); margin-bottom: 6px; }
.tc-warn__s { font-size: 13px; line-height: 1.6; color: var(--dc-warn-text); margin-bottom: 12px; }
.tc-warn__check { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 13.5px; color: var(--dc-warn-ink); font-weight: 600; }
.tc-warn__check i { font-size: 20px; }

.tc-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 18px; }
.tc-actions__note { font-size: 12.5px; color: var(--dc-ink-3); }

@media (max-width: 640px) {
  .tc-row { padding: 11px 14px; gap: 10px; }
  .tc-row--l2 { padding-left: 32px; }
  .tc-row--l3 { padding-left: 50px; }
  .tc-row__src { display: none; }
}
