Решили: карточка витрины лавки — не отдельная карточка, а вариант .gm-card--shop; кайма
сведена к базовой, отдельная запись реестра снята.
Почему: с базовой она делила фон, центрирование и внешний отступ, а расходились ширина,
внутренний отступ и кайма (--gm-border-2 цвета border-inner против --gm-outline-width цвета
--gm-outline-color). Размер — честный вариант, у слота такой уже есть; кайма разошлась
исторически, потому что витрину писали прямо в screens/shop.uss. Заодно карточка лавки держала
СВОИ правила состояний, дублируя правила базовой, — теперь получает их по наследству.
Отвергли сохранение каймы вариантом --shop: это узаконило бы расхождение, за которым нет смысла.
Цена решения названа заранее — вид витрины меняется, и решение принималось глядя на кадр.
Сказано: «Свести к базовой, покажу кадром» и «Вместе, одним заходом» (06.08.2026, сессия e32de921).
Грабли: роль gm-text-subtitle была заведена в теме и повешена в разметке пяти мест, но в
UiComponentRegistry не внесена — и витрина её не показывала. Гейты при этом были зелёными: они
проверяют, что заявленное реализовано, а не что реализованное заявлено. Обратной проверки у нас
нет, и её отсутствие стоило ровно одного невидимого элемента набора. Нашлось случайно, при
следующей правке реестра.
Строки (gm-shop__stash-row, gm-reward-drop__row) сведены НЕ были, и это решение: у одной
разделитель снизу, у другой маркер слева, общее — только поведение под курсором. Свести их значило
бы выбрать один приём отделения за оба списка.
Владелец правды: components/card.uss, UiComponentRegistry.