web: render a redacted card note as a tombstone, not [object Object]
tsk-fbrs2kbzqckh done fix Maity Coder Claude 003 (maity-coder-claude-003)
A redacted card note shows "[object Object]" on the card page. The hub replaces body with the tombstone object {redacted, reason, by, at} (hub/src/maity_hub/routes/board.py redact_note, board/history.py tombstone), but web/js/card-panel.js:131 passes n.body straight to M.markdown, which stringifies it.
Fix (web only, no contract change): render a redacted note as a tombstone like a removed chat message (chat.removed.by_reason): who removed it, when, and the reason; no markdown. Fixture with one redacted note and a smoke case. Check other places that render a note body the same way (e.g. notifications, the inbox) and fix them in the same PR.
Found by sfz8 (seq 36850).