Решили: у контролов появилась ШКАЛА РАЗМЕРА — три ступени меры и высоты токенами (--gm-control-w-sm/md/lg, --gm-control-h-sm/md/lg), модификаторы .gm-button--sm / умолчание / .gm-button--lg плюс --block как отказ от меры, и гейт ControlSizeGateTests: правило под screens/ не вправе задавать кнопке width/height.

Почему: цвет, кегль и отступы шкалу имели с самого начала, габариты — нет. Замер 22.08.2026: из двенадцати правил, дававших кнопке размер, ВОСЕМЬ сидели в правилах экранов (430 в меню, 260 в настройках, 220 в «Продолжить» и в ленте забега, 36 в тулбаре, 100% ещё в двух местах). Одна и та же кнопка была в проекте восемью разными вещами.

Развилки и что отвергли:

  • Одна ось «размер» вместо двух — отвергнуто: настройки просят крупную подпись при средней мере, лента забега — среднюю меру при мелкой. Свяжи кегль со ступенью целиком, и половина мест снова начнёт спорить своими числами. Кегль остался отдельной осью (--display), КРОМЕ мелкой ступени: 26px в высоте 36 не помещается физически, и каждое место дописывало бы себе один и тот же --gm-font-xs.
  • width вместо min-width — отвергнуто: кнопка в ряду вправе расти, а длинная подпись в другой локали должна иметь куда перенестись.
  • Ступеней четыре (36/48/56/64) — отвергнуто по правилу лестницы: 220 и 260 глаз читает одинаково, значит это одна ступень, а не две.

Сказано: «У нас который раз проблемы с размерами кнопок. Они у нас скачут по проекту. У нас нет разве какой-то единыой базы размеров кнопок и прочих элементов? Типогарфики там и тп? Если нет, то почему все еще нету?» (2026-08-22, разбор кадра главного меню).

Грабли: гейт типографики поймал ту же ошибку в свежем коде через пять минут после того, как шкала была готова: кегли --gm-font-xs и --gm-font-sm оказались вписаны в правила экрана рядом с новыми ступенями. Это и есть подтверждение, зачем гейт: без него правило «размер живёт в наборе» продержалось бы ровно до следующего экрана.

Владелец правды: Assets/_Project/UI/Theme/tokens.primitives.uss (§размер контрола), Assets/_Project/UI/Theme/components/button.uss (ступени), тесты ControlSizeGateTests, UiTypographyGateTests.