Previously each detailer model in the chain warned independently about
[CLASS=name] tags absent from its own detections, so a tag meant for a
different model in the same chain (e.g. [CLASS=pussy] when the current
pass is a face-only model) was flagged as if it were a typo.
Now prompt/negative are resolved once before the model loop (they don't
vary per model), and matched class names are accumulated across every
model's detections. Only tags that never matched anywhere in the whole
chain trigger a single warning at the end, so legitimate multi-model
class targeting stays silent while genuine typos are still caught.
Detailer prompts previously mapped to multi-class YOLO detections purely
by line order/index, so results were unstable when detection order
varied between runs. Lines prefixed with [CLASS=name] (comma-separated
for multiple classes) now target detections by their YOLO label
directly; untagged lines remain the positional fallback for detections
with no matching class tag, preserving prior behavior when no tags are
used.