Actions

Work Header

oh it's just like magic (magic)

Summary:

Soulmate!AU where the first sentence your soulmate says to you is tattooed on your wrist. Huening Kai has "For this next trick, I'll need a volunteer!" Logically, he (correctly) assumes that his soulmate is a magician. Cue poor Soobin getting dragged to every magic show in town, as Kai tries to track Taehyun down.

or:

3 times Kai pines helplessly over a cute stranger (Taehyun) + 1 time when he realises the cute stranger is his soulmate

Notes:

(See the end of the work for notes.)

Work Text:

1.

“Soobin-hyung, hurry up! We’re gonna be late!”

“Hueningie, this is the second magic show this month, I think it’s fine if we miss the first ten minutes.”

Kai makes a frustrated whining noise, half muffled into his pillow. Soobin’s hunched over by the bathroom sink, having spent the past minutes trying and failing to put in his contacts.

The show is just nearby, some local college fundraising event that Kai found while scouring Instagram, but he’s still unreasonably nervous. The skin on his wrist itches just thinking about it.

He pulls on the edge of his sleeve again to take a peek at the words underneath. "For this next trick, I'll need a volunteer!" The first words his soulmate will say to him, as prescribed by fate itself the day he turned 18.

He’s been on the hunt to find his ever-elusive other half since he got the mark. The soulmark is a big enough clue, they have to be a magician or performer of sorts, and so - the logical conclusion he’s arrived at, attending every magic show he can until he finds them.

Luckily, he managed to snag tickets to this event immediately. It would’ve been worse if he’d had to pawn tickets off students from a college he doesn’t go to, to an event with no one he knows. Also luckily, Soobin always agrees to go with him even if he complains, so at least Kai doesn’t look like a complete weirdo.

Said tickets are tucked neatly into his bag, rotting away while Soobin wastes even more time mussing up his hair and analysing his skin texture in the mirror. Kai himself has been ready for more than half an hour, and the sweat is starting to bead on his back from the warmth of the heavy blankets.

Beside him, Yongmeong’s tapping his switch intently. The slight blue glow from the screen highlights the dark circles on his faux-samoyed face. Like owner, like familiar, Kai thinks. The little guy isn’t even listening to Kai’s dismayed nagging, just tuned into his game.

“What if my soulmate’s only performing as the opening act in the first ten minutes and we show up late and I miss them? Are you sure that won’t happen?”

“Stop catastrophizing.”

He grabs a pillow and hurls it in Soobin’s direction. It thumps against the doorframe before slumping down sadly on the floor, deflating like a balloon.

“(˘ŏ_ŏ)?”

Hhmnyaring gently floats back into the room, a soft whooshing noise as he flies through the air. His too-long sleeves brush against Kai’s arm as he comes to a rest beside the bed, staring questioningly at his owner.

“Soobin-hyung’s taking forever.” He huffs.

“(·•᷄_•᷅ )”

He shifts around to free his arm, bringing it around to pet Hhmnyaring reassuringly on the head. The half-angel makes a distorted pleased noise, leaning into the touch, wing twitching. He smiles, showing the shark-like tooth poking out of his mouth, and Kai’s heart clenches with cuteness aggression. Maybe it really is true that everyone’s familiar is made specifically for them, if the fondness in his chest is anything to go by. He’s heard that meeting your soulmate feels similar.

“I’m done, I’m done.” Soobin yells, shuffling out of the bathroom. Yongmeong’s ears perk up hearing his voice, glancing up from his game. He finally hops down from the bed to follow Soobin out the door, tiny little squeaks marking his footsteps across the floor.

Hhmnyaring brightens up immediately, halo lighting up and glimmering as he reaches out to tug Kai out of bed. He even has his own backpack, which neither Soobin nor Kai himself understand the purpose of. It’s comically large, almost the same size as the angel, and it always seems full to the brim. They’re not even sure where it came from.

Eventually, they manage to get out the door, and through a whole lot of pulling and yelling they do manage to get to the college, just a few minutes shy of the opening ceremony.

While the emcees chatter away, talking about their event sponsors, trying to hype up the crowd with silly voices, Kai lets his eyes wander through the crowd. First, he tries to scan around for the magician he knows will be performing soon. The signature black top hat, with the red ribbon and maybe a feather. He comes back up with nothing, though, and so resigns himself to patience.

Everyone else in the crowd seems to be fellow students, here to support a friend or just to wind down. No familiar faces, unfortunately. Then, his eyes catch onto someone.

The prettiest boy that Kai has ever laid his eyes on is sitting just two seats away from them. He knows he should be paying attention to the show, to the flashy magician waving his wand around the stage who could be the love of his life, but in the moment his eyes catch onto the boy he realises he can’t look away.

The guy must be a student here, but strangely he doesn’t seem to be with a group or with any friends, though he does have his familiar in a seat beside him. It looks like a grey kitty at first glance, but its tail resembles a squirrel’s. A hybrid, he notes, like Beomgyu’s familiar. It’s watching the show with deadly focus just like its owner, sitting politely and quietly.

It’s not all that common for people to buy a separate ticket for their companions, but it happens. Soobin just lets Yongmeong sit in his lap with his game like an Ipad kid. Hhmnyaring prefers to fly around and explore, which Kai is fine with because he knows the angel won’t get into any trouble and because, somehow, he always knows when to come back. But the idea that this stranger cares enough about his familiar’s comfort to get it its own seat makes Kai’s heart warm.

He’s nestled into an oversized padded jacket, arms crossed loosely over his chest. He looks comfortable, cosy, even, despite the less than perfect weather and the heat of the crowd.

He has these big, round eyes, like a kitty, with the light turning into sparkles as it’s reflected in his pupils. His jawline is sharp enough to cut butter, and his nose is so straight God must’ve crafted him with a protractor and ruler in hand.

And then the magician makes a joke - and he laughs. And oh god. He has dimples. Dimples! Kai’s heart might as well be beating out of his chest at this point, staring at this stranger’s beautiful smile. Delusionally, he thinks I want to see that smile everyday for the rest of my life.

“You’re not paying attention.” Soobin murmurs.

He whirls around and pinches Soobin’s arm on impulse. “Shh!” he hisses. “You’re not supposed to talk.”

“And you’re supposed to be watching out for your soulmate.” He replies slyly, raising an eyebrow. “On the stage, not in the audience.”

“I just zoned out for a bit.” He mutters defensively, even though he knows Soobin’s caught him red handed. He didn’t even realise when the first performance started, wasn’t listening for those key words. He’s sure he didn’t miss anything important, seeing as Soobin hasn’t screeched yet, but it’s still - unlike him.

“Let’s pretend for a moment I didn’t see you giving that guy heart eyes,” Soobin snorts. “You never get distracted during shows.”

“There’s a first time for everything…”

“Mhm. You think he might be the one?”

“My soulmate’s obviously a magician, hyung. If I was going to meet my soulmate they’d be on the one doing the tricks on stage.” Kai murmurs. He lifts the sleeve of his hoodie to glance at his mark again, even though he’s intimately familiar with what it says.

"For this next trick, I'll need a volunteer!" He can’t wait to hear those words, loud and boisterous or maybe whispered slyly. He’s spent so long imagining and reimagining that first moment, what his soulmate will look like, how they’ll look at him. Would they take his hand and guide him on stage?

He’s not sure when it’ll happen, now. The idea of it feels more hopeless by the day. It’s been a few long, unrewarding years.

He thinks Soobin picks up on his defeated tone, or maybe the wistful look on his face. He very determinedly does not glance back at the boy two seats over, but his thoughts linger.

“You know you don’t have to spend everyday waiting and looking for your soulmate, right?” He asks, hesitantly. “You can date other people.”

“Says the guy who already met his soulmate.” Kai grumbles. Soobin and Beomgyu met ages ago, one of those lucky pairs who stumble upon each other before the ink on their soulmarks have even dried. High school sweethearts. They’re so perfect for each other it even makes him a little jealous, sometimes.

“Hey, I’m just trying to be helpful.” Soobin gently knocks his head against Kai’s. “Just because it doesn’t apply to me doesn’t mean I’m not right.”

“I know, I know.” He replies dismissively. “I just- you know I want to wait.”

“Well then you gotta have patience, Hueningie.” He says soothingly. “Maybe today’s show isn’t the right one, but eventually it will be. It’s your soulmate, you’re fate-bound to meet.”

Even Yongmeong glances up at them, ears twitching as he listens in. He reaches out and pats Kai’s knee clumsily, trying to be comforting.

Kai chuckles softly. “You’re right, hyung. I think I’m just a little demotivated that I haven’t found them yet, but that doesn’t mean I’ll stop trying.”

“That’s the spirit.” Soobin quips. “Now pay attention to the show. We paid good money to be here.”

They didn’t, because the tickets were extraordinarily cheap, and also Soobin didn’t pay at all. Kai always covers his ticket because he feels a little bad about dragging Soobin around to every magic show in their area for the past few years, even though he knows Soobin would just tell him if he didn’t want to go. Still, he takes the cue and tunes back in right as the magician starts pulling a long rainbow colored ribbon out of his nose.

2.

A few weeks later, Kai’s own university announces that it’s holding some sort of bazaar event. Food trucks, craft stalls, performances - including, most importantly, a magic show on Tuesday. It’s an open event this time so Kai doesn’t have to worry about emptying out his wallet even more. Even better: it coincidentally falls in the gap between two of his lectures.

It’s all so convenient that he tells Soobin it might be a sign from the universe that this will be the show. Fate, carefully lining everything up so the circumstances are just right for him to meet his soulmate. Soobin just kind of laugh slash sighs at him.

Nevertheless, he agrees to go. “Only because I’m a good friend,” he emphasises. Kai squishes him in a hug so tight that Soobin squawks.

Kai plans the evening so that they have time to go around and get an overpriced lunch from the food trucks before the show. They’re both eyeing the burgers from this one stall in the middle of the area, so he queues up while Soobin wanders around to look for seats. The smell wafting from the truck is heavenly, a mix of the oil and the spicy seasonings hooking him in by the collar.

Hhmnyaring hovers around him for a few minutes as he waits, switching intermittently from circling the area to sitting on his shoulders. Before long, he starts getting bored and lets out a few prompting chirps. It won’t be long before he sets off on his own adventure, but the effort to keep him company makes Kai’s heart warm.

With nothing else to do, his eyes wander around the rest of the scene, scanning the other stalls and trucks absentmindedly. There’s a truck selling sushi tacos nearby, with a big sign in front advertising it in bold, neon letters. He wonders if that means the sushi is in a taco shell or if the taco has been made into sushi.

He sees a few familiar faces, mostly other students who he shares classes with. Their familiars clinging close to their legs, or sitting on their shoulder, he even spots a few who have their familiar sitting in their bags. Hhmnyaring makes a surprised sound suddenly, pointing a sleeve forward.

Fluffy black hair. Big, sparkly eyes. Dimples.

Shit.

Instinctively he ducks his head low and rotates a full 180 to face the other direction. Which is useless, because the other boy hadn’t seen him at all. He flushes nevertheless, because what if the stranger catches him staring and remembers him from a few weeks ago? Next, his face will be plastered over social media with stalker accusations.

Hhmnyaring yips as he spins around, clinging hard to Kai’s shoulder. He nearly topples backwards but his wing flaps hard enough for him to regain balance at the last minute.

‘…. ( 𖦹‸𖦹)..”

“Sorry!” Kai whispers sheepishly.

His familiar makes a few forgiving chirps, bumping his head against Kai’s. For the rest of his time standing outside waiting for food, he keeps his eyes pinned forward at the bright red of the food truck. He gets the food and power walks right to the eating area.

“I saw him again.” is the first thing he says to Soobin when he gets to the table.

“God?” he asks.

“No. Worse.”

“Your long lost third sibling?”

“Two is enough, thanks. No. Also, this implies I’ve seen my long lost third sibling before.”

Kai slides the tray over to him, picking a fry out of his lunch as his service tax. It’s warm, crispy enough to make a crunch sound as he bites it. Soobin got a good table, near enough to the stage that no one will block their view. It’s basically a front seat.

“Well I don’t know how complicated or uncomplicated your family might be. Was it Beomgyu?”

“Why would Beomgyu be here? And without you knowing?”

Soobin makes a dramatic whining noise at him. “Maybe he came down to surprise me.” he whines. “He’s sweet like that.”

“Ew. Also no, it was not Beomgyu.”

“Stop being ominous and just tell me,” Soobin complains.

“It was the guy I saw at the magic show a few weeks ago,” he relents. “He was in another line getting food.”

Soobin whistles, wiggling his eyebrows suggestively. “You think he studies here too?” He asks, the words muffled through his mouthful of food.

“Maybe? I don’t want to be too hopeful, he could just be here for the bazaar.”

Speaking of the devil, Kai looks up midway through unwrapping his burger and, sitting just a few tables away -

“Hyung!” He whispers frantically. “Look!”

“What am I looking at,” Soobin deadpans.

Just behind Soobin is that same grey squirrel-cat familiar, with its big eyes full of wonder as it glances around the area. The other boy must be nearby, if his familiar is free-roaming. He ignores the way his heart rate speeds up at the thought.

“It’s his familiar,” Kai hisses. “The cat.”

“Isn’t that Dagonyang?”

Hhmnyaring peers up curiously over the edge of the table, making a surprised-happy chirping noise. Kai entirely misses the starstruck, hopeful look his familiar has on his face, and the sudden bright glow of his halo.

Yongmeong looks up from beside Soobin, startled out of his focus on his game. The samoyed cranes his neck backwards. Kai spots the exact moment when he sees the cat familiar because his ears perk up sharply, eyes widening. Then he turns back to make eye contact with Kai and nod vigorously. Like he’s supposed to understand what that means.

“Da-go-nyang?” Kai enunciates slowly. “You recognise his familiar?”

“You don’t?” Soobin replies. “He’s Taehyun's.”

He stares at Soobin dumbly.

“He and Yeonjun hang out all the time.” Soobin says. “He’s always in Yeonjun’s Instagram stories…? He’s literally always at every big group meetup or party?”

Kai just quietly shakes his head.

“You’re too much of a homebody I fear.” Soobin says, shaking his head. “There’s no saving you.”

“I go out all the time!” He defends weakly.

“Magic shows don’t count.”

“There’s nothing wrong with enjoying peace and quiet.” He pivots. “Socialising is overrated.”

“Switching up on your arguments, Kai-yah?” Soobin snorts. He’s looking at his phone now, swiping through something. Then, he lays it flat on the table, the phone making a quiet clack as he spins it so Kai can see the screen.

It’s a picture of the stranger - Taehyun, apparently - standing next to Yeonjun in the gym. They’re both in sleeveless tops, flexing their arms in the mirror. Yeonjun is nothing new to him, with his strong yet lean build.

Taehyun, on the other hand, makes him gulp. He’s grinning at the phone, dimples in his cheeks. It’s a sharp contrast to the rest of him, the small waist, the curve of his bicep.

Wow. Muscles.

Is this what he’s been missing out on? Sleight of hand instead of cute boys?

He can feel Soobin’s stare growing judgemental the longer he stares at the picture, so he blinks rapidly to snap himself out of it. Hhmnyaring, sitting politely beside him, peeks at the picture and makes an approving noise.

“Kang Taehyun.” Soobin states, tapping a finger on Taehyun’s face on his screen. “Remember.”

“He seems hard to forget.” Kai says dumbly.

“You’re a lost cause.” He snorts. Then, a pause. “Do you want me to introduce you two?”

“NO!” Kai screeches.

His voice comes out unexpectedly loud, enough so that the group besides them gives him a seriously dirty side eye. He shrivels with embarrassment as Soobin laughs at him. Hhmnyaring at least rubs his back reassuringly with his too-long sleeve, his ever-loyal familiar.

“You’ll run into him eventually, you know.” Soobin teases. “You guys have too much in common to avoid it. He studies here too, for your information.”

“We won’t.” He insists stubbornly. He can’t imagine having to see Taehyun up close. Those dimples, that smile directed at him, his heart’s speeding up just thinking about it. He wouldn’t survive the interaction.

It’s all the worse because he knows Taehyun’s not his soulmate. He rubs the words on his wrist, the unsmudgeable ink. His soulmate is waiting for him somewhere out there, and isn’t it wrong of him to think of someone else? The feeling of disgust, tinged with disappointment, creeps over him again like sludge.

“I’m waiting for my soulmate.” He repeats to Soobin.

“And I respect that.” The other says. “But still, you guys could be friends, no?”

“Not possible.” He shakes his head.

“Suit yourself,” Soobin shrugs. He bites off another french fry.

Hhmnyaring chirps, knocking his head and his halo against Kai’s arm. He’s still a bit dazed though, so Soobin holds out a fry for his familiar instead, and Hhmnyaring snacks on it gratefully. The conversation moves on, thankfully, even as Kai’s thoughts linger on Taehyun. It’ll be his own guilty pleasure, tucked far away into the back pocket of his brain.

3.

The next time he thinks about Taehyun is when he’s at another magic show. A very vague timeline-marking event, seeing as he goes to them so often.

It’s standard. They’re at some festival, with big colorful tents set out under the sweltering summer heat. Little kids weave in and out of the crowd, chasing after each other, giggles like soap bubbles popping.

Soobin’s been complaining about the heat and the sweat on his back for the past hour, nagging Kai’s ear off about why his soulmate couldn’t be an indoor-only magician. Hhmnyaring doesn’t make a single negative peep, but Kai can tell he’s getting tired under the sun too, with his heavy hoodie and long sleeves.

“Do you want to go for a fly?” Kai murmurs, petting his familiar’s head. “The wind’ll feel nice.”

Hhmnyaring makes a little chirp sound, leaning into the touch. His halo bobs slowly as he thinks, and his wings flap mindlessly, as if gearing up.

“Poor angel,” Soobin comments, flopping down into the seat beside him.

Yongmeong’s not with them this time, having been dropped off with Beomgyu an hour ago. He’s back in town for the holiday, mainly just to see Soobin, but also because Bamgeut gets homesick, sometimes. Kai feels a little bad for stealing Soobin’s evening, but he’s been assured more than once that neither of them mind. He glances over at Soobin and is reminded just how much he loves his friends.

“D’ya want me to get some drinks? An iced tea or something?” He offers.

Soobin makes a loud groaning noise. “That would be amazing, yes please.”

“Right up, boss.” He says, saluting.

Hhmnyaring hops off onto the ground, doing a little spin while he waits for Kai to get up. He chirps.

“You wanna go for a flight?”

“( ˘͈ ᵕ ˘͈♡)”

“I’ll see you later, buddy.” He laughs, giving him one last pat on the head. The angel gives Soobin and him a last tiny wave before launching up into the air, flying away.

Once is happenstance, twice is coincidence, three times is enemy action.

It takes approximately ten minutes of him wandering through the crowd before he catches sight of a familiar face. Big, round eyes, sharp shark-like teeth, a smile that makes his heart jump out of his chest. Taehyun.

The guy’s just lingering around near the front of the stage where the show is about to start. Coincidentally, that’s also near the drink stand he’s eyeing. Except now Kai’s not sure if he has the courage to even go near the area, not when his not-soulmate might recognise him as a recurring NPC.

It’s different now that he has a name to put to the face. The fantasy is more within reach, and it’s not clear whether that makes things worse or better for his weak heart. He could, reasonably, call Taehyun’s name. Introduce himself. Make friends.

He entertains the thought for all of 5 seconds.

All it takes is for him to enter a close enough vicinity that he realises, painfully, that Taehyun’s dyed his hair. The black is replaced now by a dark, vibrant blue the shade of a silk gown. Sunlight’s shining down at just the right angle so a blue glow frames his head, ethereal. He looks like Prince Charming, straight out of a storybook with his sharp jawline and majestic blue hair.

He notices, barely, that Taehyun’s watching over his familiar. The grey cat-squirrel is facing away from him, the big tail obscuring most of the view. Though it seems to be preoccupied with something, if the way Taehyun is standing by and waiting is anything to go by. The familiar’s waving its arms up and down excitedly, tail swishing side to side. He thinks he sees a flask of purple moving around near them.

He’s too busy trying to see the details of what’s happening, he forgets to mind his stare. Taehyun looks up. And they make eye contact.

Kai nearly flings his phone out of his hand in an attempt to duck. His whole face is burning red, hotter than the sun on his skin.

Absolutely not. He will not be proceeding, sorry Soobin.

He doesn’t glance back, doesn’t want to know if Taehyun’s peering over the crowd curiously, or if he’s making a face at Kai’s overreaction. Being a coward, he retreats.

Soobin’s whole face lights up when he gets back, but then it does a funny thing when he realises Kai’s not holding any drinks. Like his eyebrows get confused trying to switch from his smiling position to a confused, furrowed position.

“No iced tea?” He asks.

“No, I’m a weak man.” Kai says.

“What?”

“Taehyun!” He stresses. “Why is Taehyun here?”

“How am I supposed to know?” Soobin says back. “Wait, did you abandon the iced tea because you saw Taehyun?”

Kai pouts, not answering.

“Oh my god. I hate gay people.”

“He saw me!” He protests.

“So?” Soobin repeats. “You know what, it’s fine, I’ll get the tea myself.”

Kai makes his best attempt at a puppy face. Which must work, because Soobin’s expression softens. “Baby’s first crush.” He sighs. “I guess I’ll give you grace.”

“Thank you, hyung.” He says. “It’s not a crush.”

“Whatever you say, Kai-yah.”

His heart starts to settle a few minutes after Soobin leaves to merge back into the crowd. He puts a hand over his chest, feeling the quick beating of it, before he guides himself through a few deep breaths. It does occur to him to wonder why Taehyun keeps showing up at all these magic shows, but - at least so far, he’s never been the one performing. He doesn’t want to get his hopes up.

The relief is brief. He hears the familiar rhythm of a wing fighting against wind, the subtle buzzing, a chirped greeting. He glances up, a smile starting to form on his face.

The smile drops.

“DID YOU KIDNAP HIS FAMILIAR??”

“( ˶ˆᗜˆ˵ )!”

Hhmnyaring looks up at him completely unfazed. In fact, he looks more than a little pleased with himself, if the glow of his halo is anything to go by.

The other familiar - Taehyun’s familiar - has its ears flattened on its head, eyes wide as saucers as it looks up at Kai. It’s holding Hhmyaring’s hand tight enough that Kai’s not sure if he could separate them if he tried, both of its paws gripping onto the purple sleeve until it wrinkles. It even huddles closer to Hhmnyaring as Kai continually gets more and more panicked.

“They can’t be here! You have to bring them back to their owner!” Kai hisses frantically.

“(。•́︿•̀。)”

“Don’t give me that face! How- how did you think this would be a good idea?” He blusters, waving his arms around. Feeling the heat in his cheeks, he knows he looks red as a tomato.

Hhmnyaring doesn’t say anything, but he gets the feeling he knows what’s happened. They’ve made friends. Sometime when he wasn’t paying attention, his familiar found Taehyun’s familiar in the crowd, and they became friends.

The other familiar lets out a quiet hissing noise. Kai catches its eyes - a mistake - and the cat’s eyes sharpen like knives. It tugs Hhmnyaring closer, stepping in front of the angel as if to block him from view. Its already deadpan face turns dark and defensive.

Even though the cat can’t quite speak like Hhmnyaring does, Kai gets the message. Hurt him and you die.

“I’m not. Mad.” He stutters. “But you still can’t be here!”

The familiar hisses again, its fur fluffing up and puffing out.

“Taehyun’s going to be so worried when he realises you’re gone.” He damn near pleads. “And I don’t have his contact so I can’t call him, I don’t even know him! He’ll think something bad happened!”

The cat cools down a little, hearing the desperation in his voice. It still looks defensive, standing guard in front of Hhmnyaring protectively, but there’s guilt in its face too. Its big squirrel tail swishes about, contemplative.

“(,,¬﹏¬,,)*”

Hmmnyaring suddenly mutters, his head peaking out from behind the other.

“You’ll take them back?” Kai asks. “Promise me you’ll take them back to Taehyun and apologise.”

“ ;( – ⌓ – )”

He sighs, propping both arms on his hips like a nagging parent. “You have to say sorry. And tell him I said sorry too.”

“( ◡̀_◡́)ᕤ”

Without another word, Hhmnyaring taps the cat on the shoulder, making quiet chirping noises into its ear. Luckily, the other familiar seems to understand, sparing Kai only a throwaway glance before grabbing Hhmnyaring’s sleeve again. The two of them finally ascend into the air, drifting away into the distance where, hopefully, Taehyun hasn’t yet realised that his familiar has gone missing.

He falls back into his chair with a sigh of relief. Jesus christ. He’s never even met the guy yet he’s sure Taehyun thinks he’s a mess, first with all the staring and now with the familiar kidnapping. He’s not even sure what he’ll tell Soobin once he gets back.

+1

Kai buries the memory of that day, and that kidnapping incident specifically, deep into the back of his mind. In fact, he buries the whole notion of Taehyun into the corner of his brain where he also hides his old embarrassing memories. Falling down the stairs in front of his friends. Getting a voice crack during a presentation. Making eye contact with Taehyun.

He also decides, impromptu, to take a little break from the magic shows. He’s not sure why he keeps running into Taehyun at them, but he needs the reprieve at least for a little while.

Hhmnyaring, thankfully, doesn’t try anything similar again, though Kai does get the nagging feeling that something’s up. Sometimes when he lets him fly around campus, during his breaks or otherwise, he’ll come back looking just a little too smiley. He found grey fur on Hhmnyaring’s hoodie, once. He doesn’t want to ask.

“You think he’s been sneaking off to find Dagonyang?” Soobin snorts. “Damn. Hhmnyaring has more game than you.”

“Hyung,” Kai whines.

“I mean, if you’re not gonna introduce yourself I’m glad your familiar’s taking the initiative.” He shrugs.

They’re on the way to one of the empty halls on campus, because Kai desperately needs help carrying decorations out of the storeroom. One of the clubs he’s in is planning to host some event, with performances and all, and he has a gut feeling it might involve a magician. The trials and tribulations of a Performing Arts campus, he supposes.

The boxes are at least not heavy in the slightest, the volume mostly being filled with light items like streamers and garlands. He adjusts his grip slightly mid-walk, and Hhmnyaring helpfully lifts one corner of the box so he can move easier.

“Do you think…” Soobin starts. “This’ll be the one?”

He doesn’t say, but Kai knows what he means. His soulmate.

It does feel a little funny that he decides to take a break from magic shows, and then the magic show comes to him. It feels a little like fate.

“Don’t wanna be too hopeful.” He replies. “But, well, of course I want this to be the one.”

“For my own sake, it better be.” Soobin huffs. “I’ve seen enough card tricks for this lifetime.”

“The two of us could get a gig as magician-judges.” He jokes. “Just tearing them apart at those talent shows.”

“We’d be overqualified and underpaid.” He says.

They’re at the entrance of the hall now, and seeing as they’ve both got boxes in their hands, Soobin decides to go the route of slamming his shoulder into the heavy door. It gives way, slowly, creaking like an old grandma as they go inside.

“Hey, why are the lights on?” Kai asks, trailing behind Soobin.

His question is answered immediately as he steps foot inside. There’s a person standing on the big stage in front, and a small gathering of others at the bottom of the stage watching. He’s wearing a full suit and tie, with a tall red-ribbon bound top hat to match.

The next thing he notices is that the person is waving around a stick. A black stick, with a white striped tip - a wand.

His heart drops down into his stomach, and the box falls loosely out of his grip. Soobin, hearing the thud, looks back at him with worry all over his face.

Kai’s too distracted to say anything, eyes honed in on the stage. They’re practicing - that must be it. This is rehearsal for some upcoming performance. The magician on stage does a dramatic twirl as he reveals a stack of cards from his pocket, holding it out towards their test audience with a flourish.

It’s in that moment that he realises just how close they are to the stage. Having entered from one of the side doors, he’s only a short distance away from the stage. And the hall’s pretty small, small enough that him dropping the box has a few of the audience members staring his way.

The magician, too, must have heard. He tilts his head towards Soobin and Kai’s direction before he lifts his eyes. His magician’s hat, originally obscuring his face from them, lifts just enough for Kai to see his eyes.

Big, round eyes. Dark blue hair framing his face. And a cheeky, shark-toothed smile.

Kai registers only faintly that Hhmnyaring has jumped up into the air, buzzing loudly with excitement as he recognises the magician too. Soobin is suddenly much, much further away, and the stage feels infinitely closer.

The magician, Taehyun , he says in his mind, catches his eye and smiles even wider. Like he knows. Taehyun’s looking at him, solidly, with a look like he recognises Kai too.

He’s still frozen in his spot when Taehyun gracefully twirls his hat off his head with a gloved hand, offering it out towards the audience. Towards Kai.

"For this next trick, I'll need a volunteer!"

His head turns to white noise. The world around him fades out into static until it’s just him, Taehyun, and the words floating between them like a red string. Kai knows he must look ridiculous, can feel himself going slack-jawed with shock.

His voice is higher than expected, he notes mentally. Confident, with a nice tone. And he wants, suddenly, to hear his name in Taehyun’s voice.

His wrist burns, a searing hot that’s not painful but instead runs cold at the edges of the sensation. Taehyun’s still staring at him expectantly, smirking as he watches Kai flush.

“This whole time…” he says, hoarsely. The words don't seem to want to budge out of his throat. “This entire, goddamn time, YOU’VE been my soulmate?”

One beat. Then two. The realisation dawns on his face.

“Y-you,” Taehyun stutters, fumbling the hat. He jerks back like he’s been hit with an electric shock.

Out of the corner of his eye, Kai sees a blurry grey shape waddling closer to them. Ears twitching, tail swishing. And then he sees Hhmnyaring’s halo brighten so abruptly it blinds him for a half-second. Purple zooms past him faster than he can react, and - their two familiars crash into each other, tumbling hard into the ground.

“Dagonyang!” Taehyun shouts, startled out of his daze.

Their familiars are lying on the ground now, hugging each other tightly. They’re making little noises, too fast for Kai to catch even what Hhmnyaring is saying, all relieved and happy.

Taehyun swiftly jumps off the stage, landing safely on his feet like a superhero, his boots thudding against the wood vinyl floors. And Kai has only those few moments to think, wow, he’s so cool, and he’s my soulmate, and my soulmate is so cool, before Taehyun is walking quickly towards him.

“They knew before us!” He says. The tone of it almost sounds like he’s whining, and Kai is oh, so weak. The pout on Taehyun’s face is the cutest thing he’s ever seen.

“You’re a magician… that’s why you’re at so many magic shows..” He trails off dumbly.

“And you already knew that, didn’t you?” Taehyun turns to him. “You knew your soulmate was a magician and you were looking for me?”

Kai nods. And then Taehyun’s arms come up to loop around his neck. And then he’s being pulled down, and down, and their lips crash into each other’s.

He tastes like strawberries.

It must be a flavoured lip balm, something, because their first kiss is the flavour of a strawberry dessert. Taehyun’s as sweet as whipped cream, and every place where they’re touching makes Kai’s skin burn, from Taehyun’s fingers on his back, to his own hands holding hesitantly onto the other’s waist.

When they come apart, Taehyun keeps his arms looped around his neck, holding onto him tightly. He’s staring up so innocently, like he hasn’t just made the world spin like a bowling ball.

“I’ve been looking for you forever.” Kai murmurs.

“Yeah?” He laughs. “Well you’ve found me.”

He can’t help it: the feeling of overwhelming, painful sincerity. It’s just like everyone said it would be, holding his soulmate for the first time. Like everything is clicking right into place, the final puzzle piece slotting into the picture.

“None of your tricks are going to impress me,” he murmurs sadly. “I’ve seen them all.”

“Bet.” Taehyun whispers into his ear.

“No, it’s true. You have no idea how many magic shows I’ve been to.”

“I’ll have plenty of time to learn new tricks.” He persists. “I’ll wow your socks off.”

“I’ll look forward to it.” Kai settles on. Taehyun looks so pleased with himself, he can’t help but reflect the joy. And then he leans in, and Taehyun pulls him back down for another kiss.

Notes:

Prompt TN027:
"Soulmate!AU where the first sentence your soulmate says to you is tattooed on your wrist. Huening Kai has "For this next trick, I'll need a volunteer!" (Or something similar) Logically, he (correctly) assumes that his soulmate is a magician. Cue poor Soobin getting dragged to every magic show in town, as Kai tries to track Taehyun down.

What happens next is up to you, but bonus points if the interaction happens somewhere unexpected. Like maybe Taehyun is practicing on an empty stage at their shared Performing Arts campus, or Taehyun is a street magician."

 

helloooo!!! this is my final huekafest fic, which has been written in bits and chunks over the course of a few months. I may have gotten a tad sidetracked with dagonyaring and the ppulbatu cameos, because they are just the cutest ever to me, but to my dear prompter i hope this is still how you imagined it to be!

every kudos and comment is appreciated <3 hope u all enjoy this fic and get as much cuteness aggression from it as I so