Formulation mode
One ingredient per line: name | amount% | protein% (optional) | k (optional).
Protein% and k override the database defaults (e.g. a supplier spec).
Label mode
Paste the ingredient statement (bracket-aware: compound ingredients, percentages, "less than 2% of:", "may contain" advisories are parsed and excluded) and the declared protein. Known percentages become hard constraints; the rest is allocated by category priors or order decay. Ranges stay broad — priors are FDC typicals, not your batch.