Nano LED control by text serial input

I have next code tested on a arduino UNO:

byte red=9; 
byte green=10; 
byte blue=11; 

String cadena;
char c;

void setup() {
  Serial.begin(9600); 
  pinMode (red,OUTPUT);
  pinMode (green,OUTPUT);
  pinMode (blue,OUTPUT);
}

void loop() {
 while(Serial.available())
{
  delay(3);
  c=Serial.read();
  cadena +=c; 
}

if(cadena.length()>0) 
{Serial.println(cadena );

if(cadena=="verde")
{
  analogWrite(red,0);
  analogWrite(green,255);
  analogWrite(blue,0);
}
if(cadena=="azul")
{
  analogWrite(red,0);
  analogWrite(green,0);
  analogWrite(blue,255);
}
if(cadena=="morado")
{
  analogWrite(red,128);
  analogWrite(green,0);
  analogWrite(blue,128);
}
if(cadena=="celeste")
{
  analogWrite(red,0);
  analogWrite(green,255);
  analogWrite(blue,255);
}
if(cadena=="anarajando")
{
  analogWrite(red,255);
  analogWrite(green,128);
  analogWrite(blue,0);
}
if(cadena=="rojo")
{
  analogWrite(red,255);
  analogWrite(green,128);
  analogWrite(blue,0);
}
cadena=""; 
}



}

I try to recreate same in a arduino nano, but leds at begining are ON, three leds at same time. Why, between arduinos change pins???

help please

I try to recreate same in a arduino nano, but leds at begining are ON, three leds at same time.

Just out of curiosity, why doesn't your code explicitly set the state of the LED pins to LOW? The default should be that the output pins are LOW, but I'm not a trusting soul, so, if I want the pins LOW, I make the pins be LOW.