Viljanmaa, die für den Parkanon Urheilijat startete, lief im Dezember 1994 in Ilomantsi erstmals im Continental-Cup und belegte dabei den 40. Platz über 5 km klassisch. Ihr Debüt im Skilanglauf-Weltcup hatte sie im März 1998 in Lahti, das sie auf dem 53. Platz über 15 km Freistil beendete. Im Februar 2000 holte sie in Falun mit dem 25. Platz über 10 km Freistil ihre ersten Weltcuppunkte. Im folgenden Jahr siegte sie in Mäntyharju über 5 km Freistil erstmals im Continental-Cup. In der Saison 2001/02 kam sie im Weltcup achtmal in die Punkteränge. Ihre beste Platzierung dabei war der 14. Platz beim Birkebeinerrennet. Beim Saisonhöhepunkt den Olympischen Winterspielen 2002 in Salt Lake City errang sie den 37. Platz über 10 km klassisch und den 24. Platz über 30 km klassisch. Die Saison beendete sie auf dem 40. Platz im Gesamtweltcup. Zu Beginn der Saison 2002/03 holte sie in Kuusamo mit der Mixed-Staffel ihren ersten und einzigen Weltcupsieg. Im weiteren Saisonverlauf kam sie sechsmal unter die ersten Zehn. Dabei erreichte sie in Oslo mit dem zweiten Platz über 30 km klassisch ihre einzige Podestplatzierung im Weltcupeinzel. Bei den Nordischen Skiweltmeisterschaften 2003 im Val di Fiemme gelang ihr der 11. Platz über 10 km klassisch und der siebte Rang im 15-km-Massenstartrennen. Zum Saisonende belegte sie den 17. Platz im Sprintweltcup und den 15. Rang im Gesamtweltcup. Dies sind ihre besten Gesamtergebnisse im Weltcup. Ihr bestes Einzelresultat im Weltcup in der Saison 2003/04 war der 17. Platz jeweils im Skiathlon in Kuusamo und in Ramsau am Dachstein. In den Jahren 2003 und 2004 siegte sie beim Birkebeinerrennet über 58 km klassisch. In der Saison 2004/05 gewann sie beim Scandinavian-Cup in Veldre im Sprint und über 10 km klassisch und errang damit den fünften Platz in der Gesamtwertung. Bei den Nordischen Skiweltmeisterschaften 2005 in Oberstdorf lief sie auf den 19. Platz im Massenstartrennen über 30 km klassisch. Im März 2005 wurde sie Zweite beim Birkebeinerrennet. In ihrer letzten aktiven Saison 2005/06 kam sie bei neun Teilnahmen im Scandinavian-Cup, achtmal unter die ersten Zehn. Dabei errang sie in Vuokatti über 10 km klassisch den zweiten Platz und zum Saisonende den zweiten Platz in der Gesamtwertung. Zudem wurde sie in der Saison Fünfte beim König-Ludwig-Lauf und Zweite beim Birkebeinerrennet und belegte damit den sechsten Platz in der Gesamtwertung des Marathon-Cups. Ihr 66. und damit letztes Weltcupeinzelrennen absolvierte sie im März 2006 in Mora, welches sie auf dem 17. Platz im 45-km-Massenstartrennen beendete.