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

.arv { display: grid; gap: var(--tile-gap); min-width: 0; }
.arv[aria-busy="true"] { cursor: progress; }
.arv [hidden] { display: none; }

/* ---------- Живое поле результата ---------- */
.arv-msg { min-height: 0; margin: 0 0 var(--space-3); color: var(--color-ink2); overflow-wrap: anywhere; }
.arv-msg:empty { display: none; }
.arv-msg[data-tone="ok"] { color: var(--color-ink); }
.arv-msg[data-tone="warn"] { color: var(--color-warn-text); }
.arv-msg:focus-visible { outline: var(--size-focus-width) solid var(--color-focus); outline-offset: var(--size-focus-offset); border-radius: var(--radius-xs); }

/* ---------- Шапка ---------- */
.arv-head { display: grid; gap: var(--space-3); min-width: 0; }
.arv-title { margin: 0; overflow-wrap: anywhere; }
.arv-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); min-width: 0; }
.arv-meta .caption { overflow-wrap: anywhere; }

/* ---------- Плитки ---------- */
.arv-tile { display: grid; gap: var(--space-4); align-content: start; }
.arv-h { margin: 0; font-family: var(--font-head); font-weight: var(--weight-medium); font-size: var(--text-h3-size); }
.arv-rework[data-state="ceiling"], .arv-rework[data-state="failed"] { box-shadow: 0 0 0 1px var(--color-warn); }

/* Текст статьи: читаемая мера, длинные слова и ссылки переносятся, прокрутка только у таблиц и кода (их рамка уже в md__). */
.arv-prose { display: grid; gap: var(--space-3); max-width: var(--layout-measure); min-width: 0; color: var(--color-ink); font: var(--text-body-weight) var(--text-body-size)/var(--text-body-line) var(--font-sans); overflow-wrap: anywhere; }
.arv-prose:focus-visible { outline: var(--size-focus-width) solid var(--color-focus); outline-offset: var(--size-focus-offset); border-radius: var(--radius-xs); }

/* ---------- Поля ввода ---------- */
.arv-ta {
  display: block; width: 100%; min-height: calc(var(--size-control) * 1.75); 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;
}
.arv-ta--md { min-height: calc(var(--size-control) * 5); font-family: var(--font-num); font-size: var(--text-mono-size); }
.arv-ta::placeholder { color: var(--color-ink3); opacity: 1; }
.arv-ta:hover { box-shadow: 0 0 0 1px var(--color-line2); }
.arv-ta:focus-visible { outline: var(--size-focus-width) solid var(--color-acc); outline-offset: 0; }
.arv-ta[aria-invalid="true"] { box-shadow: 0 0 0 1px var(--color-danger); }
.arv-err { margin: 0; color: var(--color-danger-text); }

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

/* ---------- Замечания проверки текста ---------- */
.arv-lint { display: grid; gap: var(--space-2); padding: var(--space-3) var(--space-4); border-radius: var(--inner-radius); background: var(--surface-inner); }
.arv-lint__l { display: grid; gap: var(--space-1); padding-left: var(--space-5); list-style: disc outside; }

/* ---------- Чат правки (articles-chat.js монтируется в .arv-chat) ---------- */
.arv-chat { min-width: 0; }

/* ---------- Версии ---------- */
.arv-vers { display: grid; gap: 0; }
.arv-ver { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2) var(--space-4); padding-block: var(--space-3); min-width: 0; }
.arv-ver + .arv-ver { border-top: 1px solid var(--color-line); }
.arv-ver__t { display: grid; gap: var(--space-1); min-width: 0; flex: 1 1 12rem; }
.arv-ver__t .caption { overflow-wrap: anywhere; }

.arv-empty { max-width: none; }

@media (min-width: 48rem) {
  .arv-acts .btn { min-width: 10rem; }
}

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