Idle systemOrange #FF9500 Starts whenThe app opens, or a reply finishes. MotionBreathes on a 4 s loop, ease-in-out. Blinks every 4 to 6 s. Reduced motionStill pose, eyes open.
Listening systemTeal #30B0C7 Starts whenThe user taps the mic or says the wake word. Typed requests skip this state. MotionLeans in over 240 ms. Glow and ring follow the mic level, smoothed over 60 ms. Reduced motionStatic ring and a Listening label.
Thinking systemPurple #AF52DE Starts when700 ms of silence ends the user’s turn. MotionThree dots orbit every 1.6 s and a step line says what it is checking. Both wait 300 ms, so quick replies never flash. Reduced motionDots hold still in an arc. The step line stays.
Speaking systemPink #FF2D55 Starts whenThe first audio chunk arrives. MotionMouth follows the audio level. A ripple leaves every 470 ms and fades over 1.4 s. Reduced motionNo ripples or mouth movement. Captions stay on screen.