/* Общий блок «вердикт → числа → действия → полный разбор» (аудит №14).
   Отдельным файлом, потому что нужен и дашборду, и протоколу гонки: пусть
   вторая страница берёт его из кэша, а не тащит копию (см. static_v). */
/* Уважаем системную настройку «меньше движения» (см. index.css/passport.css/
   raceplan.css) — единая заглушка на случай анимаций/переходов. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration:0.01ms !important; animation-iteration-count:1 !important;
    transition-duration:0.01ms !important; scroll-behavior:auto !important;
  }
}
/* ── ДЛИННЫЙ ОТВЕТ ИИ: вердикт → числа → действия → полный разбор ───────
   Аудит №14: самые ценные экраны были стеной прозы. Вердикт читается за
   секунду, числа — за две, действия — за пять; проза остаётся на месте,
   но под спойлером, а не вместо интерфейса. */
/* Тело, посчитанное кодом (напр. app.debrief_body на разборе заезда,
   TZ-ai-text-readability-en.md п.5) — стоит ПЕРЕД вердиктом и ВСЕГДА
   открыто (вставляется ai_block из st.pre, никогда в .ai-full). Заголовки
   внутри (h3) используют уже существующее правило `.briefing-box h3`
   (index.css) — отдельных стилей заголовку не нужно, только отступ снизу
   перед вердиктом. */
.ai-prebody { margin:0 0 var(--sp-4); }
/* .ai-verdict рендерится и бесхозным div'ом внутри .wrep (разбор недели
   переиспользует .briefing-box.wrep как обёртку) — там правило
   `.wrep div{font-size:var(--fs-md)}` (0,1,1) специфичнее голого
   `.ai-verdict` (0,1,0) и перебивало кегль вопреки загрузке после него.
   Второй селектор с `.wrep div.ai-verdict` (0,2,1) гарантирует верный кегль
   независимо от вложенности (проверено computed-style на /plan). */
.ai-verdict, .wrep div.ai-verdict {
  font-size:var(--fs-xl); font-weight:var(--fw-semibold); line-height:var(--lh-snug);
  max-width:var(--measure-prose); margin:0 0 12px;
}
.ai-nums { display:flex; flex-wrap:wrap; gap:8px 24px; margin:0 0 16px;
           padding:12px 16px; background:var(--card2); border:1px solid var(--line);
           border-radius:var(--r-md); }
.ai-num b { display:block; font-size:var(--fs-3xl); font-weight:var(--fw-bold); line-height:var(--lh-tight);
            letter-spacing:var(--ls-num); }
/* P7: ярлык "форма (42 дн.)" ломался в три строки под двузначным числом —
   nowrap вместо попыток умножить ширину блока.
   ⛔ Долг-находка TZ-redesign-sections-en.md: голый `.ai-num span` без
   `>` матчил и ВНУТРЕННИЙ `<span class="num">42</span>`, который wrap_digits
   вставляет внутрь подписи ("form (<span class='num'>42</span> d)") —
   display:block на нём резал строку на три части и показывал «form ( 42 d)»
   на узком экране. `>` ограничивает правило прямым потомком — подпись, не
   вложенное число. */
.ai-num > span { display:block; font-size:var(--fs-2xs); color:var(--mut); margin-top:2px; white-space:nowrap; }
.ai-actions { list-style:none; counter-reset:aia; margin:0 0 12px; padding:0; }
/* ⛔ 30px ЗДЕСЬ ВНЕ ШКАЛЫ 4·8·12·16·24·32·48 НАМЕРЕННО, И ЭТО НЕ ОТСТУП.
   Это место под кружок номера пункта — ::before ниже шириной 20px при left:0,
   — плюс воздух до текста. Величина привязана к ширине счётчика, а не к ритму
   блока. Подгонка «ради шкалы» до 32px ломает одно из двух: либо геометрию
   (цифра встаёт впритык к тексту), либо смысл (появляется сдвиг, не
   обусловленный содержимым). Долг 3: не всякое число в CSS — отступ по ритму,
   часть чисел — размер под контент. Меняется только вместе с width у ::before. */
.ai-actions li { counter-increment:aia; position:relative; padding:8px 0 8px 30px;
                 font-size:var(--fs-sm); line-height:1.5;
                 border-bottom:1px solid var(--line); }
.ai-actions li:last-child { border-bottom:0; }
.ai-actions li::before { content:counter(aia); position:absolute; left:0; top:7px;
                         width:20px; height:20px; border-radius:var(--r-sm); text-align:center;
                         line-height:20px; font-size:var(--fs-2xs); font-weight:700;
                         background:var(--card2); color:var(--mut); }
.ai-full > summary { cursor:pointer; font-size:var(--fs-xs); font-weight:700;
                     color:var(--mut); padding:8px 0; list-style:none;
                     display:flex; align-items:center; gap:var(--sp-2); }
.ai-full > summary::-webkit-details-marker { display:none; }
.ai-full > summary::before { content:'▸'; }
.ai-full[open] > summary::before { content:'▾'; }
.ai-full .ai-prose { font-size:var(--fs-md); line-height:var(--lh-prose); max-width:var(--measure-prose); }
/* ЗАГЛАВНЫЕ подзаголовки внутри прозы — обычным кеглем с разрядкой:
   капслок на 700 слов утомляет (аудит №14). ТЗ-typography-and-plan Д5:
   та же роль, что .wrep h3 — 14px/semibold, sentence case, цвет ink. */
.ai-full .ai-prose h4 { font-size:var(--fs-sm); font-weight:var(--fw-semibold); letter-spacing:var(--ls-normal);
                        text-transform:none; color:var(--ink); margin:var(--sp-6) 0 8px; }
