Решили: грид per-unit лоадаута строит карточку контролом RelicCard, а не собирает её руками.

Почему: в MenuRouter.BuildLoadoutScreen построчно повторялся конструктор контрола — тот же класс блока, тот же элемент спрайта, та же подпись с той же ролью. Расхождение было ровно в одном свойстве: focusable. Когда 06.08.2026 карточки стали доступны с клавиатуры, этот грид молча остался недоступен.

Поймать такое тестом нечем: обе стороны дают ОДИНАКОВУЮ разметку вплоть до того свойства, которое и решает. Гейт состояний проверяет, что правило :focus объявлено в теме, — оно объявлено; что элемент фокус принимает, USS не знает. Единственная защита — не иметь второй сборки вовсе.

Сказано: «НЕ собирать руками, понять что собирается и сделать норм размер, реальный размер» и «Сейчас, одной строкой» (07.08.2026, сессия e32de921).

Грабли: ручная сборка нашлась не поиском мёртвого кода и не гейтом, а вопросом про РАЗМЕР карточки: чтобы понять, почему в неё не влезает имя, пришлось идти в место, где её собирают. Дефект разводки лежал по дороге к дефекту вида.

Владелец правды: RelicCard.cs (единственная сборка), MenuRouter.cs (потребитель).