type Resolved struct {
ByAction map[string][]string}
Resolved holds a normalised mapping of action name -> chord strings (as provided),
lowercased and trimmed. Bubble Tea chord parsing is deferred to the UI; the validator
enforces collisions and bare-rune rules here.
Unknown actions are rejected by Parse.