Решили: доля в процентах у элемента считается от РАЗМЕРА РОДИТЕЛЯ, а родитель под
align-items: center получает размер по содержимому — поэтому контейнер, внутри которого что-то
меряется процентами, обязан объявить align-self: stretch.
Почему: карточки развилки заданы как 23% ширины кадра, а вышли по 241 пикселю вместо 420.
Проценты применились честно — просто к ряду, который сам был шириной по содержимому. Симптом
обманчив: выглядит как «доли не работают», хотя работают, и правка «поставить пиксели» увела бы
раскладку от кадра. Тот же механизм ужал поле знака внутри карточки: у соседей с разной длиной
описания заголовки встали на разной высоте, потому что flex-shrink по умолчанию единица.
Сказано: «Т.е. нажимаем профиль - у нас две такие карточки. Выбор профиля или кастомизация профиля» (21.08.2026, сессия 26182ec4).
Грабли:
- Точечный
ImportAssetнового.ussне доводит его до агрегатора. Файл импортируется (правила в нём есть), но вflattenedRecursiveImportsтемы не появляется, и стили молча не действуют. Лечится импортом ПАПКИ:ImportAsset("Assets/_Project/UI/Theme", ImportRecursive | ForceUpdate). Проверять надо не «импортировала ли», а есть ли имя файла в списке импортов темы. - Текст из локали побеждает fallback в коде. Укоротила описания карточек в C#, а на кадре остались длинные: ключи уже были заведены в таблице, и правка кода ни на что не влияла. Тексты, у которых есть ключ, правятся в таблице через API редактора.
- Иконки не в
Resources.Resources.Loadпо путиArt/UI/Icons-gm/...возвращаетnullмолча. Картинка приходит из USS (url(...)), а код называет роль знака классом-модификатором.
Владелец правды: Assets/_Project/UI/Theme/components/mode-card.uss,
Assets/_Project/Scripts/UI/ProfileHubView.cs.