Actions

Work Header

Colors She’ll Never See

Summary:

Cipher forced herself to grin, tail flicking again. “You’re awfully obsessed with this soulmate business, you know.”

Aglaea tilted her head toward her. “Because you never tell me anything about yours.”

Cipher looked away. “Maybe I don’t have one.”

“Everyone does,” Aglaea said gently. “You’re just hiding it.”

“Maybe,” Cipher said, her tone light but cracking at the edges. “Maybe they’re better off not knowing.”

CiphlaeaWeek2025 Day 2 - Soulmates
Or: The first touch from your soulmate would set the world alight with color, or at least, that’s what everyone tells Aglaea.

Notes:

(See the end of the work for notes.)

Work Text:

The rain had returned again: gentle, silver, and endless.

Cipher watched it from the workshop window, tail twitching absently against the edge of the table. The threads that filled the room hummed faintly, alive under Aglaea’s touch as she worked. The golden filaments curved through the air, shaping something delicate, shimmering, and perfectly balanced — like her.

Cipher had always loved watching her work. The way her hands moved, guided by sightless precision. The way her expression softened when the threads obeyed. The way her voice carried warmth, even when she teased.

She didn’t notice, sometimes, how quietly beautiful she was.

“Cifera,” Aglaea said, breaking the silence, “you’re staring again.”

Cipher’s ears flicked. “What? No I’m not.”

“You are,” Aglaea replied serenely, still weaving. “You’ve been watching the same spot on my sleeve for nearly ten minutes.”

“I was… admiring your technique,” Cipher said, grinning, though her tail betrayed her with a nervous flick. “I’m learning.”

“You’ve said that before,” Aglaea murmured. “And yet, I’ve yet to see you make a single stitch.”

Cipher chuckled. “Maybe I’m waiting for divine inspiration.”

Aglaea’s threads rippled in the air — that faint pulse that happened when she smiled. “Or maybe,” she said, “you’re simply distracted.”

Cipher leaned against the counter, her grin tilting into something softer. “Maybe.”

The rain whispered against the glass for a while, filling the spaces between their words.
Then Aglaea spoke again, lightly, but with that particular tone that made Cipher’s chest tighten.

“Do you ever think about them, Cifera?”

Cipher blinked. “About who?”

“Your soulmate.”

Her voice was gentle, but the question felt like a thread catching on Cipher’s ribs.

Aglaea tilted her head, fingers pausing mid-air. “I often wonder how I’d know mine. People say that when you touch your soulmate, the world changes — that color blooms. But I…” she hesitated, then smiled faintly, though there was an ache behind it. “I’ve never seen color. Not before I lost my sight. Not now. I suppose I never will.”

Cipher felt something in her throat close up. “Agy…”

Aglaea continued, unaware of how sharp the words felt to the girl standing just a few steps away. “Still, I like to imagine what color must feel like. What shade my threads might be. Or what color your eyes are.”

Cipher’s fingers twitched. They’re gold, she wanted to say. Gold like sunlight through silk.

But she didn’t. She couldn’t. Not when the truth sat so heavily inside her — that Aglaea had already given her color long ago.

The first time Cipher’s vision had shifted, when her world had burst from grayscale into life, had been the day she’d caught Aglaea’s hand to steady her. A brief, startled touch. And suddenly, everything had changed.

The threads that filled Aglaea’s shop glowed like sunlight. Her hair shimmered pale, her golden eyes reflecting light they could no longer see. The world itself seemed to breathe.

And Cipher had been silent. She had been terrified.

Because if Aglaea was her soulmate, then what right did Cipher have to her?
A blind weaver, brilliant and serene, tied to a trickster who lied and ran and broke things she loved?

So Cipher had buried it. The color. The truth. The ache.

And every time Aglaea touched her hand, every time she laughed and called her “Cifera,” Cipher forced herself to act like nothing had changed.

“I think,” Aglaea said softly now, “that I’d like to meet mine one day. Just to know what color feels like again.”

Cipher’s tail stilled. “You think you’d know?”

“I think I’d feel it,” Aglaea said, her golden threads pulsing faintly. “The warmth, the weight. Maybe the air itself would shift.”

Cipher swallowed hard. “Maybe it already has.”

Aglaea smiled. “Do you think so?”

Cipher hesitated. “I don’t know.”

But she did know. She’d known since that day — and every day since.
She knew it in the way her pulse quickened when Aglaea smiled at her.
In the way her threads brushed against her like sunlight.
In the way her laughter made the world brighter than any palette could hold.

Cipher forced herself to grin, tail flicking again. “You’re awfully obsessed with this soulmate business, you know.”

Aglaea tilted her head toward her. “Because you never tell me anything about yours.”

Cipher looked away. “Maybe I don’t have one.”

“Everyone does,” Aglaea said gently. “You’re just hiding it.”

“Maybe,” Cipher said, her tone light but cracking at the edges. “Maybe they’re better off not knowing.”

Aglaea frowned, sensing something under the teasing tone. “Cifera?”

Cipher forced a smile: that same trickster grin that never fooled Aglaea, not really. “You should get some rest, Agy. You’ve been weaving too long.”

“I’m fine. But—”

Cipher turned sharply, stepping back toward the door. “I’ll go check the relay outside before the rain floods it again.”

“Cifera,” Aglaea said, her threads reaching for her like gold ribbons through the air. “You’re avoiding the question.”

Cipher stopped. Her back was to her, but Aglaea’s threads brushed her shoulder, warm and searching. Cipher stood still for a long moment, tail low, ears flat.

Then, with a soft laugh that didn’t reach her eyes, she said quietly:
“You always see too much, Agy.”

And before Aglaea could respond, the door opened. The bell chimed. The rain swallowed her footsteps.

Aglaea stood alone in the golden stillness of her workshop, her threads pulsing faintly with the echo of Cipher’s energy.
She sighed, fingers brushing one of the threads that lingered near the door. It was faintly warm, while still carrying her presence.

“Cifera…” she whispered. “You’re trembling again.”

Outside, Cipher leaned against the wall, eyes shut, breath shallow.
The colors of the city: reds, blues, golds, and violets, all blazed around her in a world Aglaea would never see.

Cipher’s hand trembled as she looked at her palm, still remembering the warmth of Aglaea’s touch.
The one that had given her everything.

“I’m sorry, Agy,” she whispered, voice cracking. “You deserve someone who can give you light… not someone who keeps hiding in it.”

And then she slipped into the rain, vanishing like a shadow among the colors she could no longer bear to look at.

—————

The chambers shimmered with living gold — delicate threads stretched between marble pillars, glimmering faintly like constellations suspended in air. The scent of heated silk and faint myrrh hung low, the soft hum of Aglaea’s weaving echoing through the quiet.

Aglaea sat at her loom, blind eyes half-closed as her fingers brushed across strands of resonant thread. Somewhere beyond these walls, Cipher’s pulse burned faintly along their link: erratic and turbulent, but still alive.

A knock came. Then a smaller, chirpier voice:
“Um, Miss Agy? I’m coming in! Don’t throw threads at me again, please!”

Aglaea turned slightly, lips curving. “I warned you last time not to enter while I’m weaving.”

“I knocked!” Tribbie chirped, poking her head in. Her short red hair framed a face far too expressive for her size, blue eyes shining like gems.

She stepped inside, the soles of her boots tinking softly against the gold-veined floor. “Whoa... you’ve been busy. Looks like a whole galaxy exploded in here.”

Aglaea smiled faintly. “Art is rarely tidy.”

“Yeah, I can tell,” Tribbie said, stepping closer, voice lowering slightly. “You’ve been cooped up in here for days, huh?”

“I prefer to think of it as ‘focused,’” Aglaea replied.

Tribbie leaned on the loom, careful not to touch the golden filaments. “Focused on what? Weaving? Or worrying about Cipher?”

Aglaea’s hands stilled. The threads trembled faintly in response to her silence.

“You heard about that, didn’t you?” Tribbie asked softly. “She ran off again.”

Aglaea tilted her head. “I asked her something she didn’t wish to answer.”

Tribbie rocked on her heels, frowning. “You asked about soulmates again, didn’t you?”

“I merely inquired whether she’d—”

“—seen color?” Tribbie finished, tone gently teasing. “Agy, come on. You don’t need to see color to see her.

Aglaea sighed, voice low and thoughtful. “You speak like you know what it means to be blind.”

“Nope,” Tribbie said, smiling. “But I do know what it’s like to miss something right in front of you. You think Cipher’s good at hiding things, but she’s terrible at it. She glows like a lantern when you’re around.”

Aglaea’s brows furrowed faintly. “I... wasn’t aware she did.”

“Of course not,” Tribbie said. “You feel everything through your threads. She probably thinks if she doesn’t say anything, you’ll never know she sees the world in color now.”

Aglaea turned slightly toward the sound of her voice. The gold filaments rippled faintly at her fingertips, like a heartbeat.

“She thinks she’s not worthy,” Tribbie added softly. “That’s what Cipher does. She runs because she’s scared she’ll burn what she loves.”

Aglaea’s fingers twined gently through her threads, her voice quiet. “Then I should stop letting her run.”

Tribbie smiled, a soft, proud thing. “There you go. Knew you’d figure it out eventually.”

—————

Far beneath the radiant spires of Okhema, the city dimmed into shadow and smoke. Neon and molten gold flickered across wet metal walls, catching on the puddles beneath Cipher’s boots.

She sat on a crate, her tail swishing idly against the edge, catlike ears twitching every time distant machinery hummed. The jacket Aglaea had woven for her rested over her shoulders — black with faint golden veins running through it, warm against the chill.

“Sulking again?”

Cipher’s ears flicked back. “...I wasn’t sulking. Just thinking very aggressively.”

From the far end of the alley, Castorice emerged — serene as ever, her lavender hair flowing like petals caught in a soft current. The faint light of her butterfly-shaped resonance shimmered around her as she stepped closer, graceful even in the gloom.

Cipher smirked faintly. “Didn’t think you’d bother leaving your comfy palace. Guess the rumors are true: the princess has gone rogue.”

Castorice’s tone was calm but edged with dry amusement. “If I stayed inside every time you made poor life choices, I’d never see the stars.”

Cipher huffed a laugh. “You say that like it’s my fault the world’s a mess.”

“It usually is,” Castorice replied mildly, coming to stand beside her. She looked down at Cipher for a long moment, not judging, but simply watching. “You ran from her.”

Cipher stiffened. “You make it sound dramatic.”

“It is,” Castorice said. “You love her.”

Cipher groaned. “Ugh. Not you too. Did the whole Bastion have a meeting about my personal life?”

Castorice smiled faintly. “No. But it’s obvious to anyone who looks at you when she’s near.”

The catlike girl looked away, pulling her tail around her leg. “She deserves better. Someone who won’t mess things up the second she gets too close.”

Castorice folded her hands behind her back, her voice soft but steady. “You remind me of myself, before I met Stelle.”

Cipher blinked. “Princess, you’re actually comparing me to you?”

“Unfortunately,” Castorice said, smiling faintly. “I couldn’t touch anyone without hurting them. Every connection I had turned to ash, until her. She reached out and didn’t die. That’s how I knew.”

Cipher glanced sideways at her. “And you didn’t run?”

“I wanted to,” Castorice admitted. “But when you find someone who makes the world less gray, you don’t hide from it. You hold on, even if you’re afraid.”

Cipher’s ears flattened slightly. “You make it sound simple.”

“It isn’t,” Castorice said quietly. “It just hurts more when you keep pretending you don’t care.”

The silence between them lingered, broken only by the soft hiss of steam and the rhythmic tapping of Cipher’s tail.
Then Castorice stepped closer, her tone gentle but firm. “Go to her. You’ve spent long enough fighting battles that don’t exist.”

Cipher looked up at her, at the faint lavender light reflecting in her eyes. “You really think I can fix this?”

Castorice smiled. “You can try. That’s all she’s waiting for.”

Cipher exhaled, slow and heavy, then pushed off the crate. The gold-threaded jacket shimmered faintly as she straightened it. “Guess you really are a princess after all — giving dramatic advice to lost souls.”

Castorice gave a quiet laugh. “And you’re still the stray who never learned how to stay put.”

Cipher grinned, faint but genuine. “Touché, princess homebody.”

And then she was gone, sprinting back toward the upper tiers, the threads on her jacket glowing faintly in rhythm with the pulse of someone waiting for her.

—————

The rain had stopped by the time Cipher returned.

The streets shimmered with the faint reflection of lanternlight, gold and silver pooling in the cracks between stones. Her boots left small ripples in the puddles as she walked, slow and deliberate, her tail low and heavy behind her. She hadn’t realized how far she’d gone until the familiar outline of Agy’s workshop loomed before her again.

She paused outside the door, hand hovering over the latch.

The threads inside pulsed faintly, she could almost feel them from here.
Aglaea’s threads, warm and alive, shifting through the air like breath. They reached out in all directions, searching. Waiting.

Cipher swallowed hard, tail flicking once. “You’re hopeless,” she muttered to herself. “You should’ve stayed gone.”

But her hand didn’t move away.

When she finally pushed the door open, the bell gave a small, fragile chime.

Inside, the workshop was dim except for the faint gold glow of Aglaea’s threads. They hung like strands of starlight, tracing the air in quiet, rhythmic arcs. Aglaea sat at her table, head bowed slightly, fingers still moving and not weaving, not working, just feeling.

She didn’t turn. “You’re late.”

Cipher froze in the doorway. Her ears flicked, and something like a laugh caught in her throat. “You always know.”

Aglaea’s voice was calm, but there was an ache beneath it. “I always feel you.”

Cipher stepped inside, closing the door behind her. “You shouldn’t.”

Aglaea tilted her head slightly, threads stirring faintly in the air around her. “And yet, I can’t stop.”

The silence stretched between them, a fragile, trembling thing. Cipher’s tail swayed behind her, the faintest sound of wet fabric marking each movement. The colors in the room seemed almost unreal after so long in the rain: the deep gold of Aglaea’s threads, the soft ivory of her hair, the faint blue tint of the storm outside.

“You didn’t have to come back,” Aglaea said quietly.

Cipher’s laugh was low and rough. “Yeah, I did.”

“Why?”

Cipher hesitated, glancing down at her hands. “Because running away didn’t help. I still saw you in everything.”

Aglaea finally turned her head toward her, her unseeing eyes catching the threadlight like pools of reflected gold. “Then why did you run at all?”

Cipher’s chest tightened. She wanted to lie, to deflect with some flippant quip like she always did, but the words didn’t come. Not tonight.

“Because I was scared,” she said finally. “Because I didn’t want to hurt you.”

Aglaea frowned slightly, her threads reaching out, brushing Cipher’s sleeve. “You’ve never hurt me.”

Cipher laughed bitterly. “You don’t even know, Agy.”

The threads trembled faintly, sensing the break in her voice. “Then tell me.”

Cipher’s breath hitched. Her tail curled close, a nervous tic she couldn’t hide. “The world didn’t have color before you. Not for me. It was all… gray. Then one day you reached for me and suddenly, everything changed. Every wall, every light, every thread. It all came alive.”

Aglaea froze, her threads flickering in the air like candle flames caught by a sudden breeze.

Cipher pressed on, words tumbling now. “You gave me color, Agy. The day I touched you. You’re my soulmate.”

The golden filaments surrounding Aglaea rippled violently: startled, then softening again, wrapping around Cipher’s outline in trembling arcs of light.

“You’ve known,” Aglaea whispered. “All this time.”

Cipher’s voice was barely audible. “Yeah.”

“And you never told me.”

“I couldn’t,” Cipher said, her throat tight. “You can’t see color. You wouldn’t even know what you gave me. I thought… if I said it, it’d just make you feel worse. Like you were missing something you could never have.”

Aglaea rose slowly from her seat, her threads tightening like a heartbeat.
“You thought I would envy what I couldn’t see?”

“I thought I wasn’t worthy of it,” Cipher said, tears stinging her eyes now. “You’re light, Agy. You make things beautiful. And I just— I break them.”

Aglaea’s threads brushed her cheek — soft, trembling, warm.
“Cifera,” she murmured, “you fool.”

Cipher blinked through tears, startled. “What—?”

“Color is only one way to see the world,” Aglaea said. “You think I don’t feel beauty? You think I don’t see you, even now?”

Her threads rose around them, glowing brighter, curling around Cipher’s shoulders and tail and trembling hands.
“Every time you walk into a room, my threads wake. Every time you speak, the air shifts. You are the color I feel in everything.”

Cipher’s voice cracked. “Agy—”

“Don’t apologize,” Aglaea whispered, stepping closer until her hand found Cipher’s face. “You brought me light in another way.”

Cipher trembled under her touch, ears flat, breath catching, heart hammering so loud she thought it might echo through the threads themselves.
“You mean that?”

Aglaea smiled faintly, fingers tracing the curve of her cheek. “I don’t need to see to know the truth.”

Cipher closed her eyes, exhaling shakily. “You make it sound so easy.”

“It was never hard,” Aglaea said softly. “You were just too afraid to believe it.”

There was no more distance left between them. The air itself seemed to hum, it was alive, trembling, gold. Cipher leaned forward, tail brushing lightly against Aglaea’s leg, and Aglaea’s threads tightened gently, guiding her closer.

Their foreheads met first, breath mingling, a small sigh breaking between them. Then, at last, Aglaea’s lips brushed hers — slow, careful, certain.

The threads flared around them, wrapping them both in light: gold and color and warmth, a spectrum neither could fully name but both could feel.

When they finally parted, Cipher was smiling through tears, her voice barely a whisper.
“You really don’t see color at all, huh?”

Aglaea smiled, brushing her thumb over Cipher’s cheek. “No. But I see you. That’s enough.”

Cipher’s laugh was wet and shaky, her ears flicking as she leaned into her touch. “Guess that’s more than I deserve.”

Aglaea’s threads curled gently around her shoulders, pulling her close again.
“Then you’ll just have to stay until you believe it.”

Cipher pressed her forehead against hers again, her voice low.
“Then I’m not going anywhere.”

The shop was quiet again, the golden threads weaving slowly through the air, settling into a new pattern.

A world neither could fully see, but both could feel — alive and full of color.

Notes:

So, this is the big fic I’ve been working on for a while! Again, this kind of length is way out of my comfort zone as I find my strengths are much more suited to writing quick and condensed stories that don’t overstay their welcome! Again, I’m still a bit unsure about Tribbie and Castorice, but I did my best at portraying them! I’ve always loved the Soulmates prompt, and the idea of Agy being able to see everything EXCEPT the one thing that would show cipher as her soulmate, is amazing. Some other soulmate AUs I considered during the brainstorming phase included: red string of fate, feeling each others pain, words appearing on body, shared memories, shared thoughts, etc. I also planned to originally have a downer ending, kind of like what happens at the end of the first third of this fic, but I changed my mind cause THEY DESERVE TO BE HAPPY! As always, thanks for reading and you can find me @Woolmarket321 on Twitter!

Series this work belongs to: