XH stayed on the rooftop long after June left.
The wind did not stop. It tugged at his jacket, brushed against his face, carried distant sounds of the city below. But it no longer felt sharp. It felt hollow, like background noise to something already decided.
He replayed the conversation again and again, each sentence landing heavier with every repetition.
Do you want me to keep waiting?
The way June said it was not dramatic. It was not angry. It was tired. Like someone who had already spent all her energy holding the door open and was finally ready to let it close.
XH pressed his palms against the railing and stared out at the skyline. He had thought honesty would bring relief. He had thought speaking carefully would soften the blow.
Instead, it had clarified everything he was afraid of.
He did not choose.
And because he did not choose, June did.
When he finally left the rooftop, the campus felt different. Not because it had changed, but because he had lost the illusion that it would wait for him to catch up.
Students passed him in the stairwell, laughing, complaining, living. Their normalcy felt almost cruel in its indifference.
He checked his phone.
No new messages from June.
One unread message from Kitty still sat there, waiting.
Are you okay?
He did not answer yet.
He walked past the side garden without stopping. Past the benches. Past the quiet corners where conversations usually softened into something intimate.
Tonight, nothing felt safe enough to sit down.
By the time he reached his room, the sun had already begun to dip, painting the walls in muted gold. He dropped his bag onto the chair and sat on the edge of his bed, elbows resting on his knees.
His chest felt tight.
Not panic.
Not heartbreak.
Something worse.
Clarity.
He knew now that he had crossed a line. Not a dramatic one, but an invisible one. The kind that only existed because someone had finally stopped waiting on the other side.
His phone buzzed again.
This time, it was NS.
NS: you alive?
XH stared at the message for a moment, then replied.
XH: yeah.
Another message came quickly.
NS: rooftop?
XH closed his eyes briefly.
XH: yeah.
The typing indicator appeared, paused, then disappeared.
NS: coming over later.
XH set the phone down and leaned back, staring at the ceiling.
NS always knew.
Not because XH told him everything, but because NS paid attention when others filled the space with noise.
Later that evening, the boys gathered without planning to.
JP arrived first, throwing himself onto the bed dramatically.
"Well," he said. "You look like someone just pulled the rug out from under you."
TZ followed, quieter than usual. He took a seat on the chair, resting his elbows on his knees.
NS arrived last. He did not joke. He did not comment.
He simply looked at XH.
"That bad?" NS asked.
XH exhaled slowly. "Worse."
JP sat up slightly. "Did you finally talk?"
XH nodded.
"And?" JP pressed.
XH shook his head. "I didn't answer."
Silence fell over the room.
TZ frowned. "Didn't answer how?"
"I didn't choose," XH said quietly.
NS leaned back against the wall, arms crossed. "That is an answer."
XH winced.
JP scratched the back of his neck. "Okay. I'm going to say this badly, but I'm saying it anyway. You can't keep doing this forever."
XH nodded. "I know."
NS spoke again, voice low. "June won't wait anymore."
XH swallowed. "I know."
TZ sighed. "And Kitty?"
XH closed his eyes. "She already stopped asking."
JP exhaled sharply. "That's not good."
No one argued.
Because everyone understood what that meant.
Kitty did not chase. She did not demand. She did not beg.
She stepped back.
And people like that did not step back halfway.
After a while, JP broke the silence again. "You know what scares me?"
XH looked at him.
JP shrugged. "That you're going to lose both of them, and then pretend it was fate."
The words hit harder than intended.
XH rubbed his face. "I don't want to lose anyone."
NS's voice was steady. "Then you need to accept that wanting is not enough."
XH looked down at his hands. "I was trying to be fair."
NS shook his head. "You were trying to be safe."
That night, after the others left, XH finally opened Kitty's message again.
Are you okay?
He typed slowly.
XH: not really.
The reply came almost immediately.
Kitty: do you want to talk?
His chest tightened.
He hesitated.
Then typed.
XH: can we talk tomorrow?
There was a pause.
Longer than usual.
Then Kitty replied.
Kitty: sure.
Just that.
No heart.No reassurance.No extra words.
XH stared at the screen, realizing something painful.
She was not leaning in anymore.
She was standing still, waiting to see whether he would.
The next day, campus buzzed louder.
News spread faster now. Someone claimed a professor had resigned. Someone else said funding was frozen. Someone posted screenshots of an anonymous forum thread claiming the program would be restructured.
Truth and fiction blurred together.
XH walked through it all like a ghost.
In class, June sat two rows ahead, posture perfect, eyes forward. She did not look back once.
Kitty sat on the opposite side of the room, focused, composed, untouched by visible emotion.
The space between them felt deliberate now.
After class, XH tried to catch up to June.
She did not stop.
"June," he called.
She paused only long enough to turn her head.
"Yes?"
Her voice was polite.
Professional.
It hurt more than anger would have.
"I didn't mean to hurt you," he said.
June studied him for a moment. "I know."
He blinked. "You do?"
She nodded. "That doesn't change the result."
Then she turned and walked away.
XH stood there, feeling the finality of that exchange settle into his bones.
That afternoon, Kitty met him at the side garden bench as planned.
She arrived on time.
She sat down without hesitation.
But something had shifted.
She kept her hands in her lap. She did not lean toward him. She did not search his face for reassurance.
"Did it go badly?" she asked gently.
XH nodded. "Yes."
Kitty listened without interrupting as he explained the rooftop conversation, choosing his words carefully, avoiding blame.
When he finished, she was quiet for a long moment.
Then she said, "Thank you for telling me."
He looked at her. "That's it?"
Kitty smiled faintly. "What did you expect? Tears? Anger?"
He swallowed. "I don't know."
Kitty looked down at her hands. "I already knew this was coming."
XH's chest tightened. "You did?"
Kitty nodded. "I could feel you pulling away long before you realized you were."
He shook his head. "I wasn't pulling away."
Kitty met his gaze. "You were standing still."
The same words.
Different mouth.
Same truth.
"I don't hate you," Kitty said softly. "I just need to stop hurting myself by hoping."
XH felt panic rise. "Are you saying you're done?"
Kitty thought for a moment.
"I'm saying I'm stepping back," she said. "If you ever choose clearly, you know where to find me."
That was worse than an ending.
It was an open door that required courage to walk through.
When she stood to leave, XH spoke quickly. "Kitty."
She paused.
"I never meant to treat you like an option."
Kitty turned, eyes steady. "I know. But intentions don't erase impact."
She left.
That evening, XH walked campus alone.
June had moved on emotionally.
Kitty had stepped back with dignity.
His friends were watching him with concern.
And the university itself felt unstable, like a ground that could shift at any moment.
For the first time, XH understood that everything was changing at once.
Not in explosions.
But in quiet withdrawals.
The kind that left you standing alone, realizing too late that the people who mattered most had given you every chance to meet them halfway.
And that the next step, whatever it was, would not wait for him to feel ready.
It would demand action.
Or take the choice away entirely.
