Answers a viewer question. Checks FAQs first (exact then semantic match at >= 0.6 confidence), falls back to GPT-4o with slide context. Returns answer text plus synthesized audio.
Authentication: Accepts either a session cookie (admin) or a presentationId (public viewer).