Work Header

the stain of love

Work Text:


I lie here thinking of you.
The stain of love
is upon the world.
- William Carlos Williams, A Love Song: First Version

Catra remembers it all.

It’s stupid, really, for their adversaries to forget everything once they’re reset. The First Ones struggle with the weight of memory so much (the name itself immortalizing their past glory) that they think of sparing their soldiers from the same fate as an act of mercy, but it also, undeniably, puts them at a tactical disadvantage. When First Ones soldiers are placed into new bodies, they have to relearn everything from scratch, the basics of their world downloaded into their mainframe and left to simmer until they’re ready to go back into action and learn the rest on the field.

This means that, despite the different bodies she’s had, Catra has always been the same. At the heart of her are still stored all the memories and thoughts and experiences that make her who she is, solid and unchangeable.

Sometimes she looks at Adora instead, and wonders if she’s in love with several different women at once.


It goes like this: Adora is chosen for Catra before Catra can even talk.

It happens in their first life, on Catra’s very first mission out on the field. The memory is the one that’s foggiest in Catra’s mind, just because it was so long ago - the oldest version of her program, before her code was finished and the parameters of her personality chip fully set.

The capital city of Eternia still stands strong, and the Horde is assaulting Castle Grayskull, which is crumbling like a bunch of cards merely stacked one upon the other. Catra and the other newcomers are there too, held in Horde Prime’s highest esteem for being the purest among his brethren - the ones most malleable under his hands, most full of untapped potential - and Catra prides herself on it more than she should have, looking back. Sometimes she thinks that deep-boned feeling of pride and satisfaction, that innate desire to please, was her first real personality trait, the seed from which she blossomed - wonders if it was the same for everyone else, if it’s been rooted in them on purpose, to make them pliant and receptive to the hivemind and the knowledge therein stored.

Knowledge such as don’t follow anyone whose thoughts you can’t hear without a plan. But it’s escaping Catra now, as she finds herself dragged through the ruins of the outermost streets, the ones right past the city gates.

“There’s nothing left to destroy,” the girl who’s holding Catra’s hand says. Unlike Catra, her body’s still imperfect, but her mind seems fully developed. Catra knows nothing outside of Horde Prime’s sphere, so it’s fascinating to her that the First Ones would go about it in the opposite way. “They won’t come find us here.”

Catra wishes there was a way to communicate with her, to imprint into her mind questions such as what’s your name and what do you want from me and aren’t we supposed to be enemies? But the girl keeps dragging her, blonde hair glinting under the light of the bleak sun, and Catra’s smiling.

It’s only when she’s back in her pod, regenerating tissue and getting her nutrients, that Prime realizes what’s happening. Simply put, just like any other network, the hivemind can be hacked, and the First Ones have gotten really good at it. It’s how Prime finds, among her logs, traces of a code that’s eerily similar to hers - one that’s been written specifically to attach to hers and corrupt her. That it’s been the destiny of most of her companions is the only consolation Catra has, and it keeps her from wallowing in her newfound weakness, the fault in her perfect system.

The good news is, Prime announces, that this connection goes both ways - however successfully the First Ones may have infiltrated their mainframe, they also have granted the Horde the chance to do exactly the same.

When Prime traces Catra’s contact back to a First One soldier named Adora - and shows her to Catra on his screen, and declares her Catra’s personal enemy - Catra growls, remembering how she’s been tricked once and it can never happen again, not if she still wants to hold Horde Prime’s favor, and finally masters a word: “Mine.”


The next time Catra sees her, they both look different. Adora still favors blonde hair, though they’re cut shorter and bleached several shades lighter, and she looks taller, too. Catra knows it’s her by the sheer anger that overwhelms her sensors when Adora decides to stand in her way, blocking her access to the command center. Behind her, First Ones fighters are trying to take the Velvet Glove by force, but Prime wants Catra to release the virus, the one effective against First Ones programming, and she has reservations - that programming is part of her as well, though there’s no telling how big a part - but she’s the one closest to that area of the ship, and so she needs to be the one to do it.

It's why, when Adora taunts "Going somewhere?", Catra just scratches her right on the cheek, her claws made of unbreakable steel and eliciting just the effect she hoped: Adora yelps, doubling over, and there's no blood welling up under the wound, just metal and a flicker of sparks. It's distraction enough that Catra thinks she can elude her, but even wincing through the pain, Adora grabs Catra's wrist and pushes her to the floor, one boot propped on Catra's chest.

"You know," Adora tuts, much more calmly than the situation warrants, "there's no honor in playing dirty."

What Catra gathers, each piece of information more laughable than the other, is: one, that the First Ones place somewhat of an emphasis on honor, like that still counts for anything; and two, that Adora is naive enough not to question them. "You want to talk about playing dirty? You tricked me into being tied to you."

At that, Adora just blinks owlishly. It almost has Catra questioning her own perception - the girl in front of her too obnoxiously genuine to lie. "I didn't."

"At the fall of Castle Grayskull?" Still nothing. The other girl shakes her head. "You took me through the streets, infected me with some of your code?"

"Oh. Then I must have." She seems to reassess for a moment, then digs her heel in deeper. Not nearly enough to make any kind of lasting damage, though Catra’s screen does inform her that her inner temperature is spiking. "Are you going to preach to me? You were destroying our city."

"You don't remember," Catra realizes, suddenly. The reason escapes her, but she writes it down somewhere in her head and sends a message to the hivemind, too, because she can use that.

Adora kneels over her, hisses through her teeth: "I remember enough."

Her face hovers only inches away, close enough that Catra feels the words like warm gusts of wind across her cheek.

Catra gets a ping back from some of the other soldiers. She's on her own; access to her part of the ship has been blocked.

Well. It's not like she has any other choice. She pushes Adora away, gets up, and keeps fighting.


It's not the last time they have this kind of conversation. The very, very childish one about which one of them's most right and who's most at fault.

Because of course, she keeps seeing Adora. They and everyone who shares their kind of bond - and it's spread to almost everyone now, both parties trying to exploit it in what becomes, essentially, a never-ending tug of war - are assigned to each other, their codes built around and in contrast to each other so they can be perfectly matched in skill, as well as in spirit.

“You know, I think we’d be friends in another life,” Adora reflects, seemingly out of nowhere, when she should really be thinking about parrying Catra’s strikes.

Catra doesn’t comment on it - just fluidly throws herself into the action again. “Yeah?”

“Maybe even best friends,” Adora retracts - and it's a fanciful, whimsical idea, but once it’s voiced, not even Catra can shake it off. “I know you too well. Like, I know your next strike will be-” She gets ready to grab Catra’s staff by her hip, where it swings in the next three seconds, “right here, without even looking at you.”

Catra scoffs, and it’s for her own sake, as well as Adora’s. “You can thank your people for that. Too bad it’s not gonna help you win the war.”

It’s become very apparent, very soon, that neither side will ever win, but arguing about their motivations still seems to matter.

"And what happens when you win the war, uh?" Adora argues, her sword and Catra's staff clanging soundly. "What do you even hope to gain? Why are you doing this?"

Catra scoffs. "I could ask you the same question."

"You're the ones attacking us."

And now Catra wishes she hadn't wasted her scoff already. "And before we came, the First Ones had control over most of the galaxy. Do you really think all those planets bowed peacefully?"

"I-" Just like Catra thought, there was more Adora didn't know. "That's not an excuse."

Catra can almost picture her stomping her foot, whining about how they’d never told them anything like that, so it was probably a lie anyway. She doesn’t think that kind of willful innocence still exists anywhere in the universe except in this one girl. It’s kind of charming, if still annoying.

“Well, we’re both serving evil overlords, so what’s your excuse?”

“I had nothing to do with conquering those planets.”

“Sure, sure.” Though she probably wouldn’t remember if she had. “But have you wondered why we’re fighting on Krytis, and not on any of your territories?”

Adora puts down her sword, swiping it in a wide arc to bring it back to her sheathe, and seems to consider. Her eyebrows are all bunched up, her lips pursed. “Because Krytis asked for our help.”

Wow. “Do you see any of them here, Adora?”

Adora looks around to check. Catra doesn’t need to; she would only see Horde and First Ones, fighting for control over the same remote, defenseless planet. She’s pretty sure its inhabitants have all been driven away. “They can turn invisible. I’m sure they just want to stay out of the fight.” But she sounds dubious.

Catra could take advantage of that moment of distraction to attack again, probably, but she decides to take pity on her. Adora is one of the best soldiers, after all. Maybe if she managed to bring her over to her side, Prime would be happier with her than he’d be if he just killed her. Turning a First One - that had never happened before, and Catra would have loved to pride herself on being the first.

“At least Horde Prime doesn’t hide anything from us. He couldn’t. Everything he sees and knows, we see and know. Perks of the hivemind.”

Adora looks startled. “Are you supposed to be telling me these things?”

“Trust me. Your people know all about it already.” And sure, why not lay it on thick. “It’s how you’ve manipulated our code. They just didn’t tell you.”

“Maybe they don’t think that’s relevant information.”

“Adora,” Catra sighs, and she’s almost out of patience. “Don’t you realize you’re a pawn in their games?”

“Shut up,” Adora hisses, and she’s suddenly clutching her head, and her voice sounds more metallic. Catra doesn’t know who she’s talking to, but she’s careful in approaching her, one hand clenched around her staff.

“Adora, it’s okay. Honestly, we could really use someone like you in our ranks.”

“Shut up,” she repeats, and she almost looks like she’s in pain, like she’s actively fighting something inside her own body. Some of her limbs twitch and jerk. “What is the point - you’re no better - no one is.”

Catra thinks she understands what’s happening before Adora does. She can see when the look in her eyes changes, goes blank - when Adora stops resisting and her arms start moving of their own accord, brandishing Adora’s sword around like a torch. Red veins are visible all over her body as her administrators take control of her like a ragdoll and force her to attack Catra.

Catra doesn’t need any more convincing than that. The pity she feels for Adora is undeniably strong, and she wonders at the girl who thought any good could still exist in the world, but she also envies her. It’s not enough to make her risk Prime’s wrath.

It’s quite easy, really, and part of her thinks she’s even taking Adora out of her misery. When she wakes up again, her mind will be fresh, almost entirely wiped, and this conversation won’t bring her any more pain. When she sees her again, Catra thinks as she slashes across Adora’s chest, she’ll try a different approach, or steer clear of the conversation entirely.

It’s very peculiar then, that she doesn’t see Adora for the next ten years.


Usually, the gap between one or both of their deaths and the first time they were on the field together again wasn’t too extreme. Both their armies were always in full supply of new bodies, but the adjustment times could vary from six months to a full year.

Ten years were, until now, entirely unheard of.

Prime finds no reason to deploy Catra when her soulmate - as their opponents are derisively called - is away. Everyone else has their own assignment, so there’s no need to keep Catra around, too, except as part of the back-up squad. Catra would normally rejoice in that break, spend her time resting in her pod or training in view of future battles - but when she passes the two year mark, and Prime still hasn’t called her back into action, she starts thinking something’s wrong.

Prime is just as clueless as she is, which is a first for him - he usually knows everything. “I’ve had trouble with reconditioning, at times, but it’s never taken this long. First Ones technology must be more obsolete than I expected.”

“Could she have been deactivated?” Catra asks, ignoring how terrified the thought makes her. As much as she doesn’t like Adora - she likes no one, but especially sappy girls who could look like anything they wanted and still choose a blonde interface every time - it’s kind of been her sole purpose to fight her for the past hundred years or so, and well, she is not ready to break that routine.

“You would know if she was,” Prime says, turning the question around on her. “About half of your code would be useless, and would need rewriting. Do you feel any different?”

Catra has always felt compelled to tell Prime nothing but the truth, and over the years she’s gained, while certainly not his favor, at the very least his respect for her skills as a fighter. Thanks to her many victories, he’s given her more and more responsibilities, letting her scale the ranks to finally fill the role of his second-in-command. It’s always been clear to Catra that, while reconditioning was a threat that hung over the rest of them, Catra was safe, and didn’t have to worry about losing pieces of herself so long as she stayed trustworthy.

She knows, now, that that’s not the case. Her code is so intrinsically tied to Adora’s by now, building upon their every interaction, that were Adora to be deactivated, Catra could kiss her freedom goodbye, too.

“No,” she replies - and it’s thankfully true, because Prime would know otherwise.

And so she waits. She gradually starts to be involved in more scouting missions, more battle planning, even more recruit training. She accepts any and all jobs that could still make her useful in the eyes of Prime, lest he one day decide that it’s not worth keeping her around indefinitely until her soulmate decides to show up again. She even participates in a couple battles, though fighting random First Ones soldiers doesn’t hold a candle to fighting Adora, awkward and stilted like trying to fit a key in any random hole in the ground. Catra still looks for her in all of their faces, hoping to feel the thrill of purpose.

She runs herself ragged like this for a long time, until somewhere between the sixth and seventh year, she breaks down.

She hates Adora for doing this to her. Taking away what Catra was built for, rendering her useless - but also opening her eyes to the futility of her condition. Their condition. The only person that would understand is gone, and even if she were here, Catra has her to blame for making it so much worse for her. Before she tied her life to Catra’s, Catra only had to worry about herself.

Instead, now she can’t help but wonder what’s wrong with Adora. If the First Ones have really always lied to her, if they’re brainwashing her - if that’s what’s taking them so long. If Adora’s trying to resist them, putting up more of a struggle than Catra ever could. She wonders what Adora would gain from fighting them so hard when the rest of the world is on fire anyway.

It’s three more years before Adora reappears, and Catra can ask all those questions herself.


“Where have you been?” is the first that comes to mind.

Adora, who was already getting ready to strike, doesn’t know how to reply to that. “Uhm.”

“It’s been ten years, Adora.”

The blonde seems even more confused, but then her mouth curls into a smirk, and oh, Catra hates it. “I didn’t know you cared.”

“I don’t. Are you gonna answer or not?”

“Oh my God, you do.” She’s beaming now, looking around the space refuel station to make sure no one is watching. Her presence has been picked up, or Prime wouldn’t have sent Catra here; but she doesn’t think anyone but her has been informed. Then, to Catra’s displeasure, she picks her up by the waist - damn, she’s strong - and slams her by one of the windows looking out on open space, Catra just barely catching the glint of ships coming and going from the dock. “I always wondered. What do you do when I'm not there for you to fight?"

“None of your business,” Catra grunts, slipping the tip of her claw behind Adora’s neck, where her shut-off button should be. Just the fact that she’s allowed to do that at all is either really stupid or really self-assured on Adora’s part. “But we’ll find out soon, if you don’t shut up.”

“Go on, then. I’d like to see you try,” Adora taunts. “But you won’t do it. You like me too much.”

Prime, the perkiness. The cockiness. She would have liked to say she didn’t miss it, very deep down, but she would be lying. She still knows how to turn back questions, at least. “And you don’t?”

Adora opens her mouth, and it’s all too honest as always. Catra doesn’t know how she’s ever thought this girl capable of deceit. “Of course I do. You’re the only thing that makes all of this fun.”

Catra doesn’t know what to say to that. She just knows she’s overwhelmed, notices a warning at the edge of her vision urging for a cooldown - so she pushes Adora away, as much as she finds herself missing her warmth immediately; as much as she’s been silently begging for it for a whole decade. Because unfortunately, they only have little left before one of their chips activates, and Catra’s heard stories about what being manned by Prime feels like. She does not want to live it on her skin. “Well, then fight me like you mean it.”

“No,” Adora says, so Catra does it for her, lashing blindly at her face. “Catra, listen to me.”

Adora grabs her wrists, trying to keep her claws away, but Catra manages to slip one arm out of her grasp and reach for her staff. She missed this - the rush. If she had blood at all, instead of a computer system running in the back of her head, it would be singing right now.

She knows Adora’s missed it too - she’s admitted so herself. Yet she’s frowning, gripping her sword now like a shield, instead of a weapon. “We don’t have to do this.”

“I know you don’t remember,” Catra grits out, “but we kinda do.”

“I remember some things. I definitely remember that,” Adora replies, and a shudder goes through her. “Why do you think it took them so long this time? I didn’t go easy.”

“But you went anyway.” Catra is mad now - mad because the last decade of her life has been absolute hell, and it was all Adora’s fault, and in the end, it wasn’t even worth it.

“Yes,” Adora patiently explains, clearly convinced otherwise, “to tell you there’s a way out.”

“Stop doing this to yourself.”

“The way I kept fighting them - they couldn’t let the other soldiers see it. They’ve kept me on this planet where I couldn’t be reached. Why do you think you were never able to find me?”

“Uh - ‘cause I’ve never tried.”

“Didn’t you?” Adora tilts her head curiously, and this time there’s no malice in her words - only genuine doubt. “‘Cause I felt you, sometimes. You couldn’t see me, but whenever I was conscious enough - I felt you reaching.”

Catra frowns. She can’t see how that’s supposed to incriminate her. “Yeah, our systems tried to connect to each other. We’re programmed like that.”

"Is that really all there is to it?"

Probably. But Catra finds the question requires a little more reflection than that, so she stands down, watching Adora mirror her. She’d be lying if she said she hadn’t desperately tried to send some messages out into the void, hoping they’d fall somewhere. She had felt her world fall apart when Adora was gone, and yet she hadn’t wanted Prime to assign her to anyone else - perhaps because it wouldn’t make a difference, after all, or perhaps precisely because it would have. "I don’t know.”

And it’s big, though it’s not much. Catra could have just denied and left it at that, a simple observation of the nature of the bond that had been forced upon them; instead she’s agreeing with Adora that there could be more to it. More to them.

It seems to be all Adora needed. “Do you want to find out?”

Catra stares at her warily. Adora has been so many different things with her - playful and harsh, genuine and closed-off - but she’s looking forward to seeing who Adora becomes when she’s allowed to make memories for herself, when Catra can write herself into her lines of code in more fundamental, more permanent ways.

It feels like the beginning, all over again - Adora poking holes in her defenses, dragging her further and further down with her, away from Horde Prime’s light. But Catra’s stood right under it, in the highest place she could reach, for a while now, and what she’s found herself missing is the ground a thousand feet below. So she nods.

And Adora tells her about Etheria.