Решили: экран-развилка (крупные карточки-двери в ряд) живёт одним видом ModeChoiceView, а «Профиль» и «Создать игру» — два его заказчика; разметка NewGameScreen.uxml и её файл темы screens/newgame.uss удалены целиком.

Почему: карточки уже были написаны внутри ProfileHubView, и второй экран мог получить их только копией — то есть вторым владельцем одного вида. Копия разошлась бы с оригиналом на первой же правке отступов, и «одинаково по структуре» превратилось бы в «похоже». Альтернатива — оставить экран в UXML и описать карточки разметкой — отвергнута по той же причине: карточка это повторяющийся блок из четырёх частей, в UXML её пришлось бы выписать трижды, и правка знака или подписи стала бы правкой в трёх местах плюс в коде.

Заодно ушла подсказка режима «за курсором»: описание теперь стоит на самой карточке и видно всегда. Строка под рядом кнопок отвечала на вопрос, который карточка отвечает сама.

Сказано: «Делаем выбор режима таким же карточками (кампания, ристалище и пвп)» и — про галочку лобби — «В футер рядом с “Назад”» (21.08.2026, сессия 26182ec4).

Грабли:

  • Доля карточки — свойство РЯДА, а не карточки. Ширина зависит от того, сколько дверей делят кадр (пара 23%, тройка 22% — обе подобраны по пропорции рефа 1 : 1.9 при высоте 76%). Держать число на самой карточке значит требовать от неё знания про соседей, которых она не видит.
  • Футер сжимается, потому что ряд карточек забрал всё. .gm-mode-cards растёт (flex-grow: 1), футеру достаётся остаток, и без flex-shrink: 0 он ужимается ниже собственного содержимого — а содержимое продолжает рисоваться поверх соседей. Поймал ScreenLayoutOverlapTests, глазами на кадре это читалось бы как «галочка налезла на кнопку».
  • record struct не компилируется: язык проекта C# 9, а позиционная запись требует 10. compile-check говорит это прямо, редактор — тоже, но только после domain reload.
  • Осиротевший класс темы всплывает не там, где его бросили. gm-entry__danger остался без потребителя ещё в перекройке профиля 21.08, а покраснел на этом заходе: гейт мёртвого USS видит ВСЮ тему, поэтому чужой (и свой прошлый) хвост прилетает первому, кто следом тронул стили.

Владелец правды: Assets/_Project/Scripts/UI/ModeChoiceView.cs, Assets/_Project/UI/Theme/components/mode-card.uss, тесты ScreenLayoutOverlapTests, UssDeadCodeTests.