MOCKUP ONLY — both panels render the SAME message array through two label renderers, exactly as the real build would: a reskin of the existing appendToChat() pipeline where the label (tag or callsign) is derived from each message's `sender` at render time, display-only, never stored in text/chatHistory. 'sys' carrier lines (▸ UPLINK ESTABLISHED) stay unprefixed hardware lines in both styles; [TERM] quick-log and native tool output are terminal-side lines.