class CwCardUtils::SynergyProbability

def prob_combo(target_names, draws)

Probability of drawing ALL cards in the targets list (synergy pair/trio)
def prob_combo(target_names, draws)
  targets = Array(target_names).uniq
  case targets.size
  when 1
    prob_single(targets, draws)
  when 2
    prob_two_card_combo(targets, draws)
  when 3
    prob_three_card_combo(targets, draws)
  else
    # For >3 cards, fallback to approximation
    approx_combo(targets, draws)
  end
end