Work Header

The Colour-Magic Theory

Chapter Text

Bitter consequences can bring sweetness amid turmoil.

At Ciri’s request, Jaskier has dropped his glamour completely just this once. It took the girl only a week of travelling together to convince him, which is a remarkable feat. Geralt never even dared to suggest it in the first place, knowing it was a lot to ask.

Now Jaskier stands before them in his true fae form. Only the hair on his head remains unchanged – everything else about him is different. His facial features are sharper, so are his teeth. Jaskier’s ears are much bigger, elongated and pointed, while his fingernails resemble talons. The fae’s eyes are such a vibrant cornflower blue that they sparkle. His skin, in an olive tone, is also radiant; so much so that it appears as though was touching it. Jaskier is wearing only his boots and trousers (having foregone putting on any upper garment), and all over his hairless chest and arms, there are delicate veins of tiny speckles in all shades of brown and green. Freckles dust Jaskier’s face, too, light blue and beige in colour.

Moreover, there are some parts of Jaskier that haven’t been changed by the glamour – there were actually completely veiled by it until now. Small, sharp-pointed antlers are seated on the top of his head and on his back, there are massive, feathered wings. The feathers are dark brown at the root, just like Jaskier’s hair, but gradually turn beige and then blue at the tip; there’s also a blue-green shine to them.

Everything about the bard screams inhuman, and he exudes fae magic so much that Geralt’s medallion vibrates only because of Jaskier’s proximity. The witcher isn’t alarmed, however. He and Cirilla both admire the magnificent creature before them, unmoving in their awe. Geralt’s eyes roam all over the fae’s form, and the searing gold of his gaze reminds Jaskier of the sun itself. He longs to let himself bask and bloom in the warmth like a flower, or to fly towards it. Jaskier is a fae of the skies after all; his wings can carry him far. (But not far enough. The sun is out of his reach).

“Jaskier, you’re beautiful,” Ciri breathes out as she steps closer towards the bard, her voice full of wonder.

Jaskier smiles softly. “So are you,” he answers, then boops her on the nose.

Ciri giggles and hugs him. Jaskier wraps his arms around her, then his great wings envelop them both, only the fae’s face remaining visible. Geralt hears Jaskier make a deep coo, to which Ciri responds with a chirpy purr.

Jaskier’s gaze drifts up to rest on the witcher and the look in his eyes hardens. The cornflower blue gains a threatening glint but the bright gold doesn’t back down. Geralt wants answers but none are in sight since the bard refuses to talk to him. They continue glaring at each other but then Cirilla wriggles out of Jaskier’s embrace and the tension is broken.

They make camp for the night. Jaskier chatters with Ciri all the while, although he doesn’t reply when she asks why he seems angry with Geralt. Geralt offers no words on the matter too; he finds himself unable to admit to what he has done. Cirilla pouts and whines, as she tends to do when she doesn’t get her way, but the witcher and the bard don’t relent.

In the evening, Jaskier croons a lullaby to put Ciri to a restful sleep. Due to the glamour being gone, his fae powers aren’t restricted by anything, which makes his soft singing even more sweet and charming than it usually is. Cirilla dozes off very quickly but the fae keeps crooning, and Geralt starts getting affected by it too. He feels himself drifting to sleep but doesn’t fight it – it’s like gently easing into calm, quiet and warmth. Suddenly everything he has been missing is there.

Then Jaskier stops. The world turns cold, and Geralt sits up abruptly, comprehension striking him like a lightning.

“Jaskier,” the witcher says. Jaskier’s sparkling eyes lay upon him and before he can think better of it, Geralt blurts out, “it’s you.” He swallows hard. “The blessing of my life, it’s you.”

Jaskier breaks the eye contact, a wry smile twisting his lips. “And yet you run to Yennefer every time,” he murmurs, his tone so bitter that Geralt can almost taste it on his tongue.

The witcher frowns, confused. “Jaskier, what? It’s not–”

“Spare me, Geralt,” the fae cuts in, waving his hand. He sighs, averting Geralt’s gaze, and goes on, “I’ve forgiven you long ago. However, I can’t forget.”

“Let me fix it,” Geralt replies, his voice balancing on the edge of pleading. Jaskier doesn’t react. “Please,” the witcher insists, inching his body closer to the unmoving, unmoved creature. “I want us to be like before. We used to be...”

Happy. The words linger between them, better left unsaid. The air grows thick with the bitter sting of memories – the moments of peace and laughter long gone.

Jaskier slowly looks up at the witcher, his features weary and rueful. “There’s no coming back, Geralt,” he says.

The truth rings out in the silence and Geralt can only fight for breath. His chest constricts, a voiceless scream filling lungs and burning his throat until his eyes begin to prickle. The witcher opens his mouth but no words come out. He can only stare at the beautiful fae he has hurt, self-loathing coiling in his gut.  

“There’s no running away either,” Jaskier adds, pointing at sleeping Ciri with his chin. “I think she’s bound to both you and me.” The fae gets up to sit by the girl’s side and starts caressing her cheek. “My bud-ling,” he says tenderly.  

Geralt understands the sentiment. A small smile lights up his face as he watches Jaskier and Ciri. The moment is quiet and soft, everything basked in the gentle light of the bonfire that makes Jaskier appear even more otherwordly. The witcher commits the sight to memory.

Soon after, Jaskier gets ready to put on his glamour again. When he’s about to leave the campsite, Geralt says, “Just know that I’m sorry.” Jaskier stops in his tracks but doesn’t turn around. Geralt goes on, “I was cruel. You deserve so much better than... me.”

Geralt can’t decide whether he actually hears the whisper of, “Yet it’s only you that I’ve ever truly wanted” or it’s just a trick of his mind and the wind.

When they go to sleep, they lay down on Ciri’s sides. The girl sleeps between them and a feeling of wholeness settles deep into their bones, enveloping them like a warm cocoon. As they both hold Cirilla throughout the night, they feel like they’ve done something right.


Jaskier reaches for his travel pack, currently swung over Geralt’s shoulder, but the witcher moves away before he can take it.

“I’ve got it,” Geralt grunts and starts walking ahead, leading Roach by the reins.

Ciri jogs up to Geralt’s side but Jaskier stands in place for a moment more. The witcher has been kind to him in all those small yet grand ways – carrying his travel pack, making sure he eats first after Ciri, letting him ride Roach, and more – and the bard finds it hard not to let the gestures warm his heart too much. His heart is almost fully withered, after all; it would catch fire easily. He can’t allow wishful thinking to spark a disaster.

After Jaskier joins the witcher and the princess, he says, “We’re getting close.”

Ciri nods enthusiastically. “I could feel her,” the girl gushes, “she’s powerful!”

“That she is,” Jaskier agrees because there’s no way to deny it. The sorceress is almost pure Chaos, which, together with the other reason, is why the bard has always found her company hard to bear. Her magic clashes with his Order.

Trees talk to each other and their roots run deep. They know about what’s been happening miles away, and so do birds. When Jaskier, due to Ciri’s relentless insistence, kept asking them about a “lilac woman”, one day they finally answered that they had heard of a woman smelling of lilac and gooseberries. And so, two weeks ago, Ciri made them change their course, claiming that she needed the woman to join them. They had been travelling for a month at that point, and autumn was just around the corner, but there was no arguing with the princess, no matter how much Geralt and Jaskier dreaded meeting Yennefer again.

Jaskier started showing Ciri how to connect with the thrum of life, which allows to experience what plants and animals do in one’s mind eye. They would sit on the ground together, searching for any traces of Ciri’s “lilac woman”, and they soon discovered that nature’s Order was disturbed far away, both by a mighty Chaos-wielding person and a large group of soldiers who kept starting fires. They’ve been following the disturbance ever since despite the danger.

Now it won’t be long until they catch up with her. Geralt and Jaskier try savouring the last moments of calm before the storm. Although nothing between them is sorted, they both find peace in caring for Ciri. The three of them (and Roach) have settled into a rhythm over the past month. The daily travelling routine involves, among other things, Geralt teaching Cirilla self-defence and her learning fae magic from Jaskier. The lessons help the witcher and the bard to get to know the princess better, and vice versa. The girl takes to Jaskier quickly, since she met him before, but grows close to Geralt too. She’s started seeking out Geralt’s attention and affection on her own. The girl even hugs him from time to time, much to the witcher’s astonishment. Jaskier laughs at the frankly adorable look on Geralt’s face every time it happens.

The evening on the day before they find Yennefer, after Ciri falls asleep, Jaskier addresses Geralt, which is something he rarely does nowadays.

“Tell you what,” the bard says apropos of nothing, “in the end, I just find it annoying.”

“What do you find annoying?” the witcher inquires.

“It ‘s always us who want something from her,” Jaskier replies, “not the other way around.”

Geralt huffs a laugh and answers, “Believe me, in this, she needs us more than we need her.”

Geralt says it with so much fondness betraying his deep affection and understanding of Yennefer that only one fibre in his heart stays beating. What else remained alive before now withers.

As dreams crash with reality, harsh truths come to light.

Ciri’s childhood dream comes true in a strange way. The sunny and the cornflower blue man walk on her sides while the lilac woman walks ahead. Geralt and Jaskier don’t hold her hands, however, and there’s nothing pleasant about the current situation, not like it was in the dream. The reality is actually different so much that Ciri isn’t sure whether it should count as the dream coming true at all. 

They found Yennefer after they stumbled upon a camp full of dead bodies – Nilfgaardian soldiers and some of their prisoners who didn’t make it. The violet-eyed sorceress was limping away from the place, alone, covered in blood and dirt, and overall looking half-dead. Geralt jogged up to her and when she noticed the witcher’s approach, she let out a manic laugh.

“Incredible,” she choked out, “I fought my way to freedom but it seems I’m not allowed to enjoy it for five fucking minutes.”

“Yen...” Geralt began but Yennefer wasn’t listening because her gaze landed on Cirilla, who walked up to her with Jaskier.

“Who’s this?” the sorceress asked.

“I’m Ciri,” the girl answered, “Geralt’s Child Surprise.”

Yennefer’s gaze on her was watchful, assessing. Ciri could feel how much Chaos the sorceress wielded, even despite her weakened state, and felt drawn to it. Her violet eyes held a dangerous glint but Cirilla wasn’t afraid.

“Nice to meet you, Ciri,” Yennefer replied softly. She then looked at Geralt and snapped, “I don’t want to have anything to do with you.”

After that, she started slowly walking away from them. And so, they have been following her silently. Geralt and Jaskier almost radiate tension and Ciri’s completely at loss. She imagined that this would go in a completely different way, yet now she wonders whether it was meant to happen like this. To show her that dreams don’t, in fact, come true.

Yennefer trips and almost falls. Geralt is by her side in an instant, trying to hold her to help her walk. The sorceress shoves the witcher’s hands away and whispers something furiously. Geralt responds in kind and the two start arguing while Jaskier and Cirilla stand in place, staring at the pair.

“Jaskier,” Ciri says, tugging at the bard’s sleeve to get his full attention, “please tell me, what’s going on?”

Jaskier looks down at her with great sadness in his eyes. “Oh my bud-ling, where do I even begin?”

“Why are they arguing?” Ciri asks.

Jaskier sighs, his shoulders slumping. His gaze drifts to the pair and he answers, “Many years ago, Geralt made a Djin wish to save her life. It bound them together. It’s something Yennefer doesn’t want, as she was given no choice on the matter. Because of the magic, she can’t tell whether her feelings for Geralt are real. Geralt, though, believes his love,” Jaskier’s voice cracks, and Cirilla frowns up at him. The bard’s face is like an unmoving mask and he doesn’t look at her, so she can’t determine the emotion in his eyes. Jaskier clears his throat and goes on, “He believes his love for her to be true. And so, they argue about it. Well, they often argue about other things too. They aren’t exactly good for each other, I’d say.” He pauses, then adds quietly, “Geralt deserves better.”

Ciri blinks, surprised. “Jaskier?”

The bard finally looks into her eyes. Cornflower blue connects with emerald green and suddenly, Cirilla can see. During their travel, she gradually coaxed the bard into sharing some information concerning the resentment between him and the witcher. She was told about a decades-long friendship ended with harsh words and an apology that hasn’t mended the hurt, yet she always had a feeling that Jaskier was not telling the truth. Now she knows that Jaskier’s truth is heartbreak, pain, longing and sorrow, all buried deep, deep down beneath his cheerful facade. The girl gasps as she begins to understand how her insistence to make the dream come true has brought only grief.

“Oh no,” she whimpers, “what have I done?” Tears well up in her eyes as she babbles, “Jaskier, I’m so sorry! I didn’t know, I’m sorry, please don’t hate me, please don’t –”

“Hey, shh,” the bard cuts in, wrapping his arms her, “It’s all right, I promise. I could never hate you.”

Cirilla hides her face in Jaskier’s chest and purrs. She doesn’t know how and why she can make the sound, but what matters is that it makes Jaskier happy when she does it. The bard responds with a pleased, deep coo, and Ciri starts to relax.

Then, birds nearby let out a harsh cry of alarm, startling them both.

“Black sun people!” the forest warns.

“Nilfgaard,” Jaskier breathes out. “Nilgaard!” he shouts and takes Ciri by the hand. They both run to Geralt and Yennefer. “We’re being followed,” the bard says, all frantic, “they’re close!”

Without a word, Yennefer creates a portal that takes them to some beach. When the portal closes behind them, the sorceress collapses to the ground, barely breathing.