She’s kind of pinging my radar as a Mary Sue. Most of your description is about your character’s looks, her interests, and her background, but there’s very little about her personality. If you aren’t familiar with Mary Sues, the best way I can explain it is that it’s a character who is the special darling of her creator. These characters often have cool backstories, exotic/ attractive looks, magical powers, nifty pets, etc. They often have unique abilities that their peers don’t have. Many of them are morally righteous, but treated unfairly by the people around them, so that the reader will sympathize with this character.
A common thread is that they have many cool and unique qualities that don’t have anything to do with personality.
There’s no one universal definition; it’s mostly a know it when you see it kind of thing. You get the sense that this character is extra-special in the mind of his/her creator, and that the author really, really wants you to feel the same way. Basically, the character is a vehicle for the author’s daydreams.
It’s not necessarily a bad thing to write characters like this, as long as you back it up with an interesting personality. If you do it right, you get Batman. If you do it wrong, you get Bella from Twilight.
What really makes a character compelling is their personality. One of my favorite fictional characters these days is Nick from The New Girl. He’s a schlubby, underachieving 30-something who covers his pessimism with sarcastic, self-effacing humor. The show gets a lot of humor out of all the unintentionally silly things he does and his grumpy, curmudgeony attidude. (In other words, the writers gave him realistic flaws.) And underneath all that, he’s a good guy. You would never WANT to be Nick, but as a character, he’s entertaining, endearing, and you can relate to him.
When you’re building a character, start with the personality and try to see her the way the rest of the world would see her. It’s important not to treat your character, in the narrative, as though she’s always right. Try to understand the viewpoints of everyone in the story (for instance, the parents.)
You mentioned that your character is tomboyish, and that’s a nice starting point. Maybe she’s also rude, and it’s always getting her into (justified) trouble. But maybe she’s also brave and strong… until one day, she takes on a situation that she can’d handle on her own. Etc. In real life, people have a mix of qualities, and sometimes they contradict themselves. When a character surprises you, that’s when things get interesting.