/* Оформление размеченного описания задачи.

   Отдельным файлом, а не в app.css: правила описывают один самостоятельный
   кусок — документ внутри карточки задачи, — и держать их рядом удобнее, чем
   искать среди трёх тысяч строк общей таблицы. Тот же приём, что у scale.css.

   Таблицы, ссылки и код здесь своих цветов не заводят: они наследуют общие
   правила app.css, поэтому таблица в описании выглядит ровно так же, как
   таблица в админке. Ниже — только то, чего у общих правил нет: ритм блоков
   внутри текста. */

.task-body {
    margin: 0;
    overflow-wrap: anywhere;
}

/* Первый и последний блок не отбиваются от краёв панели: отступ уже дан
   самой панелью, а двойной читается как пустая строка. */
.task-body > :first-child { margin-top: 0; }
.task-body > :last-child { margin-bottom: 0; }

.task-body p { margin: 0 0 10px; }

.task-body h3,
.task-body h4,
.task-body h5,
.task-body h6 {
    margin: 18px 0 8px;
    font-weight: 600;
    line-height: 1.3;
}

.task-body h3 { font-size: 15px; }
.task-body h4 { font-size: 13.5px; }
.task-body h5,
.task-body h6 { font-size: 12.5px; color: var(--ink-2); }

.task-body ul,
.task-body ol { margin: 0 0 10px; padding-left: 20px; }
.task-body li { margin: 3px 0; }

/* В ячейках перенос мягче, чем в тексте. `anywhere` влияет на расчёт
   минимальной ширины: колонка «№» съёживалась до одного знака, и число 10
   вставало в две строки. `break-word` рвёт только то, что иначе не влезет. */
.task-body th,
.task-body td { overflow-wrap: break-word; }

.task-body blockquote {
    margin: 10px 0;
    padding: 2px 0 2px 12px;
    border-left: 2px solid var(--rule-strong);
    color: var(--ink-2);
}

/* Цитата из нескольких абзацев — один блок с полосой слева, и последний
   абзац не отбивается от неё снизу. */
.task-body blockquote > :last-child { margin-bottom: 0; }

.task-body hr {
    margin: 16px 0;
    border: none;
    border-top: 1px solid var(--rule);
}

.task-body code {
    padding: 1px 4px;
    border-radius: 3px;
    background: var(--sunk);
    font: 400 12px/1.4 var(--mono);
}

/* Блок кода прокручивается сам: длинную строку нельзя переносить — в SQL и
   путях перенос читается как ещё одна строка, которой в оригинале нет. */
.task-body pre {
    margin: 0 0 12px;
    padding: 10px 12px;
    overflow-x: auto;
    border: 1px solid var(--rule);
    border-radius: var(--radius-ctl);
    background: var(--sunk);
}

.task-body pre code {
    padding: 0;
    background: none;
    white-space: pre;
}

/* Обёртку рисует сам сборщик разметки (taskdoc._table). Отбивка сверху и
   снизу нужна здесь: у таблиц админки её берут на себя панели. */
.task-body .table-scroll { margin: 0 0 12px; }

/* Ячейки описания у́же табличных в разделах: тут таблица — часть текста,
   а не главный предмет страницы. */
.task-body th,
.task-body td { padding: 6px 10px; }

.task-body a { text-decoration: underline; text-underline-offset: 2px; }
