Решили: подпись, не влезающая в кнопку, обрезается ВНУТРИ пластины (overflow: hidden +
text-overflow: ellipsis на .gm-button). Кнопка, которой тесно в узком контейнере, берёт ступень
--block, а не давит соседей своей мерой.
Почему: высота кнопки задана ступенью набора, поэтому перенос строки в неё не поместится —
вариант «white-space: normal» отвергнут сразу. Вариант «кнопка растёт по ширине под содержимое»
отвергнут потому, что ширина у нас тоже ступень: растущая кнопка сломала бы ряд и увела бы размер
обратно в случай, от которого шкалу и заводили. Остаётся обрезка, и у неё есть отдельное
достоинство: поломка остаётся внутри контрола. Раньше длинная подпись рисовалась ПОВЕРХ
соседних кнопок и на кадре читалась как «так задумано»; обрезанное слово читается как дефект, и
кадр показывает его без пояснений.
Настоящее лечение при этом дизайнерское — короче слово или шире кнопка. Обрезка это страховка, а не решение.
Грабли: число стата красилось дефолтом движка на двух экранах сразу. Карточка Сосуда не давала
значению НИ ОДНОГО класса (SpreadCard.Label(value, null)), панель осмотра давала класс, под
который не было правила. Итог одинаковый в обоих случаях: подпись громче числа, хотя карточку
открывают ради числа. Гейт мёртвого USS на второй случай указывал давно — «класс объявлен в коде,
стиля нет» и есть эта дыра, просто в отчёте она выглядела уборкой, а не дефектом вида.
Владелец правды: button.uss, inspect.uss, vessel-card.uss; кадры — docs/lab/assets/ui-screens.