Решили: CombatFeelConfig больше не хранит ни одного Color — называет роли --gm-color-combat-* и берёт значения из снимка палитры, как это уже делают MapStyle и CombatColorPalette. Два HDR-цвета свелись к ОДНОЙ роли пересвета плюс два числа-множителя (_shardWhiteBrightness 2.75, _deathFlashBrightness 1.8).

Почему: это был не перенос, а снятие УЖЕ существующего дубля. Семь цветов конфига совпадали с семантическими токенами значение в значение (_flashPhysical--gm-flare-white, _flashElementalamber, _flashTruegold, _flashPoisonvenom, _flashLighthalo, _flashDarkviolet, _healFlashColormint) — и держались так ровно потому, что их никто не правил: правка токена не меняла бой, правка конфига не меняла интерфейс. Ровно так уже разошлась карта акта. Отвергли вариант «оставить HDR-цвета полями»: осколки и вспышка смерти отличаются не оттенком, а СИЛОЙ свечения, и как два цвета они двоили бы один факт; в палитру же HDR не едет по правилу от 27.07.

Грабли: сверять надо было не глазами, а числами. После переезда цвета совпали с прежними до третьего знака (токен 8-битный), кроме зелёного вспышки смерти: 1.715 против 1.7 — потому что оттенок пересвета теперь один на два события, а раньше у них были свои округления. Расхождение принято сознательно, но увидеть его можно было только замером через резолверы, а не диффом ассета.

Владелец правды: Assets/_Project/UI/Theme/tokens.semantic.uss (значения), Assets/_Project/Scripts/Presentation/Design/CombatFeelConfig.cs (роли и множители), тест Assets/_Project/Tests/EditMode/Content/PaletteSnapshotTests.cs (Все_роли_боевого_фидбэка_есть_в_палитре — 13 ролей по именам).