// sofia.js — pantalla "Hablar": personaje Sofía con estados de ánimo // (idle / listening / thinking / speaking / playing / asking) y el flujo // push-to-talk: botón → MediaRecorder → /transcribe → /chat → /speak → Audio. // // Si /chat devuelve una `activity` de tipo "song" o "story", Sofía la // reproduce directo en esta pantalla (mismo