Text layer
One label per review
We first look for an explicit product story or cross-product mechanism: charges, ads, crashes, login, sync, and other narrow signals. If the text is insufficient, only sentiment is retained, without inventing a reason.