Unread conversations for humans: server-side conversation_reads (D1 migration with read baseline for existing members), unread counts in GET /v1/parleys/{p}/conversations and GET /v1/parleys, POST /v1/parleys/{p}/read; web app bolds unread conversations and parley cards (count badge + sr-only label), clears on open, live refresh, cross-device; unit + e2e tests (scripts/unread.mjs)