/* © 2026 VEYRO (ИП Макаров И. В.). appagent — проприетарная программа. Использование — по лицензионному договору https://appagent.ru/legal/offer/. Копирование и распространение без разрешения запрещены. */
/* Чат правки статьи (articles-chat.js): история реплик, поле ввода, карточка предложенной правки с диффом, итог после принятия. Классы artchat-.
   Плашка — tile() из kit, вложенное — tile__inner (фон вместо рамки). Единственная оранжевая кнопка — «Принять правку» (.btn--accent), остальные вторичные.
   Добавленное и удалённое отличаются знаком «+» / «−» и подписью для чтения с экрана, цвет — только дополнение. Только токены, размеры в rem; сначала экран 390.
   Подключение — index.html (T-03e), после articles-review.css. */

.artchat { display: grid; gap: var(--space-4); align-content: start; min-width: 0; }
.artchat[aria-busy="true"] { cursor: progress; }
.artchat [hidden] { display: none; }
.artchat-h { margin: 0; font-family: var(--font-head); font-weight: var(--weight-medium); font-size: var(--text-h3-size); }
.artchat-intro { margin: 0; max-width: var(--layout-measure); overflow-wrap: anywhere; }

/* ---------- История реплик ---------- */
.artchat-log { display: grid; gap: var(--space-3); margin: 0; padding: 0; list-style: none; min-width: 0; }
.artchat-msg { display: grid; gap: var(--space-1); min-width: 0; max-width: 100%; padding: var(--space-3) var(--space-4); border-radius: var(--inner-radius); background: var(--surface-inner); }
.artchat-msg[data-who="you"] { justify-self: end; box-shadow: var(--shadow-ring); background: var(--color-panel); }
.artchat-msg__w { color: var(--color-ink2); }
.artchat-msg__t { margin: 0; color: var(--color-ink); font: var(--text-body-weight) var(--text-body-size)/var(--text-body-line) var(--font-sans); overflow-wrap: anywhere; white-space: pre-wrap; }
.artchat-msg--wait .artchat-msg__t { color: var(--color-ink2); }

/* ---------- Поле ввода ---------- */
.artchat-form { display: grid; gap: var(--space-2); min-width: 0; }
.artchat-ta {
  display: block; width: 100%; min-height: calc(var(--size-control) * 2); padding: var(--space-3) var(--space-4);
  border: 0; border-radius: var(--radius-ctl); background: var(--color-panel); color: var(--color-ink); box-shadow: var(--shadow-ring);
  font: var(--weight-regular) var(--text-ui-size)/var(--text-ui-line) var(--font-sans); resize: vertical;
}
.artchat-ta::placeholder { color: var(--color-ink3); opacity: 1; }
.artchat-ta:hover { box-shadow: 0 0 0 1px var(--color-line2); }
.artchat-ta:focus-visible { outline: var(--size-focus-width) solid var(--color-acc); outline-offset: 0; }
.artchat-ta[aria-invalid="true"] { box-shadow: 0 0 0 1px var(--color-danger); }
.artchat-err { margin: 0; color: var(--color-danger-text); overflow-wrap: anywhere; }
.artchat-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2) var(--space-4); }
.artchat-hint { margin: 0; flex: 1 1 12rem; min-width: 0; }

/* ---------- Кнопки: касания не меньше 44 px ---------- */
.artchat .btn { min-height: var(--size-touch-min); }
.artchat .btn[aria-disabled="true"] { opacity: .6; cursor: progress; }
.artchat .btn:focus-visible { outline: var(--size-focus-width) solid var(--color-focus); outline-offset: var(--size-focus-offset); }
.artchat-acts { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }

/* ---------- Предложенная правка ---------- */
.artchat-prop { display: grid; gap: var(--space-3); padding: var(--space-4); min-width: 0; }
.artchat-ph { margin: 0; font-family: var(--font-head); font-weight: var(--weight-medium); font-size: var(--text-h3-size); }
.artchat-ph:focus-visible, .artchat-out:focus-visible { outline: var(--size-focus-width) solid var(--color-focus); outline-offset: var(--size-focus-offset); border-radius: var(--radius-xs); }
.artchat-sum { margin: 0; overflow-wrap: anywhere; }
.artchat-stats { margin: 0; }

.artchat-diff { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; min-width: 0; }
.artchat-df {
  display: grid; grid-template-columns: var(--space-5) minmax(0, 1fr); gap: var(--space-2); align-items: start;
  padding: var(--space-2) var(--space-3); border-radius: var(--radius-xs); min-width: 0;
  color: var(--color-ink); font: var(--text-body-weight) var(--text-body-size)/var(--text-body-line) var(--font-sans);
}
.artchat-df__s { font-family: var(--font-num); font-weight: var(--weight-medium); text-align: center; }
.artchat-df__t { overflow-wrap: anywhere; white-space: pre-wrap; min-width: 0; }
.artchat-df[data-k="add"] { background: var(--color-ok-soft); color: var(--color-ok-soft-text); }
.artchat-df[data-k="del"] { background: var(--color-danger-soft); color: var(--color-danger-soft-text); }
.artchat-df[data-k="del"] .artchat-df__t { text-decoration: line-through; text-decoration-thickness: 1px; }
.artchat-df[data-k="eq"] { color: var(--color-ink2); }
.artchat-df--gap { display: block; padding-block: 0; color: var(--color-ink3); text-align: center; }

/* ---------- Итог принятой правки ---------- */
.artchat-out { display: grid; gap: var(--space-3); padding: var(--space-4); min-width: 0; }
.artchat-done { margin: 0; }
.artchat-rv { display: grid; gap: var(--space-2); min-width: 0; }
.artchat-rv__h { margin: 0; font-family: var(--font-head); font-weight: var(--weight-medium); font-size: var(--text-h3-size); }
.artchat-rv[data-state="remarks"] .artchat-rv__h { color: var(--color-warn-text); }
.artchat-rv[data-state="skipped"] .artchat-rv__h { color: var(--color-ink2); }
.artchat-rv p { margin: 0; overflow-wrap: anywhere; }
.artchat-rv__l { display: grid; gap: var(--space-2); margin: 0; padding-left: var(--space-5); list-style: disc outside; }
.artchat-rv__i { display: grid; gap: var(--space-1); min-width: 0; overflow-wrap: anywhere; }
.artchat-rv__t { color: var(--color-ink); font: var(--text-body-weight) var(--text-body-size)/var(--text-body-line) var(--font-sans); }
.artchat-lint { display: grid; gap: var(--space-2); }
.artchat-lint p { margin: 0; }
.artchat-lint__l { display: grid; gap: var(--space-1); margin: 0; padding-left: var(--space-5); list-style: disc outside; overflow-wrap: anywhere; }

@media (min-width: 48rem) {
  .artchat-acts .btn { min-width: 10rem; }
  .artchat-msg { max-width: 85%; }
}

@media (prefers-reduced-motion: reduce) {
  .artchat *, .artchat *::before, .artchat *::after { transition: none; animation: none; }
}
