Definir el nombre de la variable con la variable en la operación MENOS

¿Puede alguien explicar por qué este código no funciona?

@red-1:#ff0000;
@red-2:#990000;
@blue-1:#000ff;
@blue-2:#00099;

.setTheme(@theme){
  @color-1:~"@{@{theme}-1}";
  @color-2:fade(~"@{@{theme}-2}", 10%); //doesn't work
  body.@{theme} .button{
    background:@color-1;
    color:@color-2;
  }
}

.setTheme(~"red");

Gracias;

Respuestas a la pregunta(2)

Su respuesta a la pregunta