<<set $day_step to 1>>
The crack in the ceiling looks like a river delta.
I've been staring at it long enough to name the tributaries. The main fissure runs diagonally from somewhere above the kitchenette to a point directly over my pillow a slow-motion fault line in cheap plaster that's been widening since I moved in eight months ago. There are smaller branches splitting off from it, hairline fractures that spider outward like the whole ceiling is a windshield that took a rock on the highway. Sometimes, in that grey zone between sleep and waking, I imagine I can hear it growing. A tiny, geological creak. The building settling further into its own decay.
My phone alarm is going off.
<img src="images/scenes/day_1/day_1_3.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
It's been going off for a while, actually. The sound has woven itself into whatever half-dream I was having something about being in a lobby that kept loading, a progress bar stuck at 99%, and a chat window scrolling too fast to read. The alarm is a default tone I never bothered to change, a cheerful marimba loop that feels like mockery at I fumble the phone off the floor beside the mattress and squint at the screen 11:47 AM.
I set it for 10:30.
The screen brightness stabs my eyes and I drop the phone face-down on my chest, blinking at the ceiling crack while my pupils adjust. My mouth tastes like the inside of a USB port. There's a dull ache behind my left eye that might be dehydration or might be the Monster Energy I drank at 3 AM finally metabolizing into regret. Both, probably.
A Discord notification sits under the alarm. From last night. I already read it before I fell asleep read it twice, actually, like an idiot but my eyes find it again before I can stop them.
<<kira "night eli! don't stay up too late okay? you need your beauty sleep 😴✨">>
Beauty sleep. She said beauty sleep. With a sparkle emoji. I know it's a joke. I know she says stuff like that to everyone. Kira's the kind of person who calls people "babe" and "hon" the way other people say "dude" it doesn't mean anything, it's just her frequency, her warmth spilling out in all directions without a specific target. I know this. I've had this conversation with myself approximately four hundred times.
I still read the message a third time before I put the phone down. I should get up.
The mattress a queen-size I found on the sidewalk three blocks over, dragged home at midnight with Marcus's help, and swore I'd buy a frame for is on the floor against the wall beneath the window. The sheets are grey. They were white when I bought them from the dollar store but they've been through enough wash cycles in the basement machines to achieve a permanent, institutional grey that no amount of detergent will fix. The fitted sheet has popped off the far corner again and bunched up, exposing a yellowed stain on the mattress that was there when I found it and which I've chosen to believe is coffee.
My apartment is a studio. That word studio does a lot of heavy lifting. It implies intention, like someone designed this 280-square-foot rectangle to be a living space rather than a storage unit that someone illegally subdivided and rented to a desperate 22-year-old for $875 a month. The kitchenette is against the far wall: a mini-fridge that hums at a frequency I can feel in my teeth, a hot plate, a microwave with a broken turntable so you have to open it and rotate your food manually halfway through. The bathroom is behind a door that doesn't fully close because the humidity warped the frame. There's a closet, but the rod fell down four months ago and I just pile clothes on the floor in there now and then there's the desk.
The desk is the point of this whole arrangement. Everything else the mattress, the kitchenette, the oxygen exists in service to the desk. It's a battered wooden thing I pulled off the curb on bulk trash day, slightly warped on one side so my mouse pad slopes if I don't wedge a folded piece of cardboard under the left leg. On it: two monitors. The main one is a 24-inch I got refurbished for eighty bucks decent color, responsive enough for gaming, a scratch across the lower left corner that I've trained my eyes to ignore. The second is a 19-inch piece of shit with a cluster of dead pixels in the upper right that looks like a tiny permanent bruise on reality. I use it for chat and stream management. Between them, a budget USB microphone on a short desk stand that I have to lean toward when I talk, which means I spend entire streams slightly hunched, which is doing great things for my posture. The webcam is clipped to the top of the main monitor. It's old enough to be in a museum. In low light which is always, because my apartment has the ambient brightness of a crypt it makes my face look like it was rendered on a PlayStation 2.
<img src="images/locations/eli_desk.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
No ring light. No acoustic panels. No branded overlay. No custom emotes. No sub badges. No alerts. Just a desk, two screens, a mic, a camera from the Obama administration, and the stubborn, stupid refusal to quit that I keep mistaking for ambition.
I've seen Kira's setup in the background of her selfies. Pink-and-black custom keyboard. Dual monitors with clean bezels. Acoustic foam covered in anime posters. A ring light that makes her skin glow like she's being rendered in real time. Everything deliberate, everything polished, everything her and she built it from scratch, same as me, except hers actually worked.
I pull myself upright. The sheets fall away. I'm wearing the same boxers and grey t-shirt I fell asleep in. My feet find the cold floor actual hardwood, the one accidental luxury of this apartment, except it's January and there's a draft from somewhere and the wood feels like it's been stored in a morgue.
I shuffle to the bathroom. Don't look in the mirror. I've gotten good at this navigating the sink, the toilet, the shower, all without making eye contact with the glass. It's not that I'm horrified by what I see. It's worse than that. It's that what I see is nothing. Forgettable. A face that exists in the space between faces, the kind you'd scroll past in a lineup without your brain even registering it as a person. Sometimes I catch myself in a reflection a shop window, a dark phone screen and there's this half-second where I genuinely don't recognize myself. Not in a dramatic, dissociative way. Just in the way you don't notice a beige wall.
<img src="images/locations/eli_bathroom.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
Kira posted a selfie in the Discord last week. New earrings little dangling stars, silver, catching the light from her ring light. She had that look she does, the half-smirk with one eyebrow slightly raised, like she knows something you don't and might tell you if you ask nicely. Her bob was freshly cut, the bangs sitting perfectly straight across her forehead. She captioned it "new earrings who dis" and I spent eleven minutes trying to come up with a reply that was funny without being weird, flirty without being desperate, casual without being indifferent. I settled on a thumbs up emoji. A thumbs up. Like a forty-year-old dad reacting to a family group chat. She hearted it, which either meant she found it endearing or she was being polite to a sad person, and I'll never know which.
Shower. Lukewarm because the hot water takes eight minutes to arrive and I'm not waiting. I wash my hair with the same bar soap I use on my body because shampoo is a luxury I keep forgetting to prioritize. The water pressure is a joke a thin, dispirited stream that couldn't rinse a thought, let alone the grease out of my hair. I get out, towel off with the one towel I own formerly navy, now a streaky grey-blue that matches the sheets in their shared journey toward entropy.
Clothes. The rotation is three t-shirts: black (least stained), grey (softest), dark green with some graphic that's cracked and peeled beyond recognition (most comfortable). Today is a black t-shirt day. Same joggers as yesterday. Same joggers as the day before. They're black, which means they hide everything, which means they're clean until proven otherwise.
I catch myself, for one stupid second, wondering what Kira would think of this outfit. Then I remember that "outfit" implies a decision was made, and what I'm wearing is less a choice than a default state, and that Kira who shows up to casual hangouts in band tees and platform sneakers like she just stepped off the set of a music video about being effortlessly cool would probably not have a thought about my joggers one way or the other.
Stop thinking about her. Stream first. Self-loathing later.
<img src="images/locations/eli_kitchen.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
Breakfast is an act of optimism performed with the materials of despair. I open the mini-fridge: half a bottle of generic-brand yellow mustard, a sleeve of American cheese slices with the edges curling, two Monster Energy cans, and something in a Tupperware container that I can't identify and don't open. The freezer has a stack of microwave burritos. I take one, nuke it for two minutes (opening the microwave at one minute to manually rotate it because the turntable's broken, like I said), and eat it standing at the counter while it's still molten in the center and frozen at one end. This is fine. This is fuel. I wash it down with a Monster the green one, original flavor, the only consistent thing in my life.
11:58 AM. Time to stream.
<<set $hint = "Start the PC and Stream.">>
[[Start the PC|apartment_map]]<<nobr>>
<<set $hint to "Start streaming.">>
<<set $viewers to 3>>
<<set $day_step to 2>>
<</nobr>>
I sit at the desk. The chair is a black mesh office chair I got from a closing sale at an office supply store $35, one armrest slightly loose, a hydraulic cylinder that slowly sinks over the course of a session so I start each stream at normal height and end it three inches shorter. I pull it in. The desk wobbles. I adjust the cardboard wedge under the left leg with my foot. Open the main monitor: wallpaper is the default Windows 11 bloom that I never changed. Desktop cluttered with game shortcuts, unsorted screenshots, and a folder called "Stream Assets" that contains exactly two files a PNG of my stream name in a free font and a JPEG of a "be right back" screen I made in Paint.
I open OBS. The interface is a grid of anxiety. My scene is bare-bones: a game capture, a webcam overlay in the bottom left corner small, because the webcam quality is so bad that the bigger I make it, the more it looks like I'm streaming through a potato and a text overlay with my stream name: EliPlays. No animations. No transitions. I tried to set up a follower alert once but gave up after an hour of debugging.
I open the game. Gunmetal Requiem competitive tactical shooter, biggest game on Twitch right now. I'm not good at it. I'm not bad enough to be funny and not good enough to be impressive. I exist in the vast, unmarketable middle of the skill bell curve where nobody wants to watch you because there's nothing to see. I queue into a match while I pull up my stream dashboard on the second monitor.
EliPlays Live
Viewers: 3
Three. On a good day I peak at maybe 14 or 15. On a bad day, it's the bots and xX_DarkSlayer_Xx, who I'm increasingly convinced is a real person whose sole entertainment is watching small streamers suffer.
I hit "Go Live." The webcam activates. I see myself in the preview a small, grainy rectangle of a pale face with dark circles, bad hair, and the haunted expression of someone who's about to pretend to be having fun for an audience that doesn't exist.
<<eli "Hey, what's up guys, welcome to the stream. Uh, playing some Gunmetal today. Ranked grind. Let's see if we can climb out of Silver.">>
The chat is a wasteland. Three viewers. No messages. The counter sits there, a little number in the corner of my dashboard, like a test score I already know I failed.
I play. The first match is a disaster I peek a corner I shouldn't peek and get headshot by someone with a reaction time that suggests they might actually be a targeting algorithm rather than a human being. I respawn, try to play smarter, die again to a flanker I should've heard coming except my game audio is competing with the ambient hum of the mini-fridge and the occasional clank from the pipes in the wall.
<<eli "Okay, that was yeah. Rough start. Let me try a different angle here.">>
[[Let me try a different angle|day_1_3]]<<set $viewers to 5>>
<<set $day_step to 3>>
Five. A surge. Two entire new people decided to spend a fraction of their finite existence watching me get destroyed in a video game. I should be grateful. I should be performing.
<<eli "Alright chat, we're running it back. Silver lobbies, baby. The grind never stops.">>
A message appears in chat.
<<chat "xX_DarkSlayer_Xx" "ur still silver? lmaooo">>
There he is. My most loyal viewer. The only person on earth who consistently shows up to watch me stream, and he does it exclusively to be an asshole. I don't know if this counts as a parasocial relationship, but it's the closest thing I have to a fanbase.
<<eli "DarkSlayer, my man. Consistent as always.">>
I try to make it sound like banter. It doesn't.
<<chat "xX_DarkSlayer_Xx" "bro just quit already no one's watching">>
<<chat "BotStream_Promo" "🔥 Want MORE viewers? Visit StreamBoostPro.com for REAL growth! 🔥">>
And there's the other half of my audience. Bots. The chat feels like a waiting room in purgatory one real person who hates me, and automated spam.
I push through the match. Manage to clutch a 1v2 that would be impressive if anyone were watching, if I were recording it, if the webcam quality could actually capture the play at a resolution higher than "vaguely humanoid shape moves mouse." Nobody clipped it. Nobody reacted. The kill feed updated and the round ended and I sat there for a half-second with that jolt of adrenaline that had nowhere to go the high of a play with no audience, like screaming into a jar.
<<eli "Let's goooo! That was clean, chat. You see that? 1v2 clutch.">>
[[Someone left|day_1_4]]<<set $viewers to 4>>
<<set $day_step to 4>>
Someone left. Someone watched me do the best thing I've done all week and their response was to navigate away from my stream.
The next twenty minutes blur together. I play, I die, I play again. My commentary gets thinner as the silence stretches.
The thing about streaming to no one is that you can hear your own voice bouncing off the walls of the room, and after a while you start to realize that you're essentially talking to yourself in a room you're paying rent on, into a microphone nobody's listening to, while a camera nobody's watching records your face for no one to see.
It's not sad. It's past sad. It's the thing that comes after sad, the flat grey territory where emotions can't even muster the energy to register anymore.
[[Check the chat|day_1_5]]<<set $viewers to 6>>
<<set $day_step to 5>>
A spike. I sit up slightly.
<<chat "gg_riley" "first time here, what rank r u?">>
A new person. An actual new person asking an actual question.
<<eli "Hey, Riley! Welcome in, man. I'm Silver 2 right now, grinding toward Gold. Stick around, we're about to pop off.">>
<<chat "gg_riley" "oh silver, cool. gl">>
<<chat "xX_DarkSlayer_Xx" "hes been silver for 3 months lol">>
Thanks, DarkSlayer. Really rounding out the new viewer experience.
gg_riley doesn't respond again. I check thirty seconds later the viewer count hasn't dropped, but I know that doesn't mean anything. People leave tabs open. People fall asleep. People click on a stream by accident and leave it running while they take a shit.
I lose the next match. Badly. The kind of match where the other team is so much better that the scoreboard feels like a personal insult 2 kills, 13 deaths, last place on my team by a margin that suggests I might've contributed more by disconnecting and giving them a bot replacement.
<<chat "xX_DarkSlayer_Xx" "LMAO 2 and 13 just uninstall">>
<<chat "xX_DarkSlayer_Xx" "actually uninstall streaming too">>
<<chat "BotStream_Promo" "🔥 TIRED of low viewers? StreamBoostPro.com guaranteed growth! 🔥">>
I stare at the chat. At DarkSlayer's messages. At the viewer count back to 4. At the donation ticker on my dashboard showing $0.00, which is the same number it showed yesterday and the day before and every day this week and every day last week.
My hands are on the keyboard but I'm not playing. The next match is loading and I'm not seeing it. I'm seeing the number. $0.00. The same number as my bank balance after rent. The same number as my contribution to anything.
I pick at the skin around my thumbnail. It's already raw from yesterday.
<<eli "Alright, you know what, I think I think we'll do one more and then take a break. Stream's been going about an hour. Thanks for hanging out, everybody.">>
[[Take a break|day_1_5.1]]<<set $viewers to 4>>
<<set $day_step to 5.1>>
Everybody. Four viewers. One troll, two bots, and someone who might already be asleep.
<<chat "xX_DarkSlayer_Xx" "'everybody' lol">>
I play the last match on autopilot. My crosshair moves, my fingers press keys, but I'm somewhere else that hollow space behind the screen where you exist when you're performing for no one. I go 5 and 8. Mid. Unremarkable. The scoreboard is a biography.
<<eli "Alright, that's the stream. Thanks for watching, DarkSlayer. Seriously. At least you're consistent. I'll be back later tonight for another session. We'll get that Gold rank. Believe.">>
I hit "End Stream." The webcam light goes off. My face disappears from the preview. I sit in the silence.
The mini-fridge hums. The pipes clank. Somewhere outside, a car alarm starts and stops. The apartment is exactly as small as it was an hour ago, but it feels smaller now, like the walls shifted two inches inward while I was streaming. I check my dashboard final stats for the session:
Peak Viewers: 6
Average Viewers: 4.2
New Followers: 0
Donations: $0.00
Subscriber Count: 0
Chat Messages: 7 (3 human, 4 bot)
I stare at those numbers until they stop being numbers and become a verdict. My phone buzzes on the desk. A text from Marcus.
<<marc "yo u alive">>
<<marc "come thru if u want. got the new DLC for Rift Walkers">>
I look at the numbers one more time. Then I close the dashboard, close OBS, close the game. I grab my hoodie the dark navy zip-up that's more lint than fabric at this point, the one with the fraying cuffs and a small hole in the left pocket that I keep losing quarters through and I put on the slip-on sneakers with the crushed heels and I leave.
<<set $hint to "Go to Marcus's apartment.">>
[[Go to Marcus's Apartment|neighbourhood]]<<nobr>>
<<set $day_step to 6>>
<<set $hint to "Hang out with Marc and play some games.">>
<<set $locationImage to "images/locations/neighbourhood.jpeg">>
<<set $locationName to "Neighborhood">>
<</nobr>>
The walk to Marcus's place is twelve minutes if I cut through the parking lot behind the laundromat and eight if I also jaywalk across building. I do both because I've never once in my life chosen the longer path to anywhere. The January air hits my face like a slap dry, brittle cold that gets into your sinuses and sits there. I didn't bring a scarf because I don't own one. The hoodie does its best, which isn't much. I shove my hands in the pockets, feel the quarter-sized hole in the left one, and keep walking.
Halfway there, my phone buzzes again. Not Marc this time.
<<kira "look what a viewer sent me today omgggg">>
<img src="images/scenes/day_1/day_1_1.jpeg" alt="Figurine of Kira's Stream Avatar" class="location-image">
A photo follows. It's a custom figurine of her stream avatar chibi-style, holding a tiny pixelated sword, with KiraByte written on the base in pink lettering. It's clearly handmade, probably 3D printed and hand-painted, and it's genuinely impressive. Somebody spent real hours making this for a girl they've never met, and looking at it gives me a feeling I can't quite categorize somewhere between admiration and a low, quiet ache.
<<eli "that's actually sick. the detail on the sword is crazy">>
<<kira "RIGHT?? i literally almost cried on stream lol. some people are so sweet">>
<<kira "when you blow up i'll commission one of you too 😤">>
<<eli "bold of you to assume i'll blow up">>
<<kira "bold of you to assume you won't. i believe in you eli ❤️">>
I stop walking. Just for a second. Right there on the sidewalk in the January cold with my hands in my pockets and my crushed sneakers on the cracked concrete. She said she believes in me. With a heart emoji. A red one. Not a pink one, not a sparkle, a red heart. I know I know that Kira throws hearts around like confetti, that her Discord is littered with them, that she once sent a heart to a viewer who told her their cat learned to open doors. It doesn't mean what I want it to mean.
I keep walking.
<<eli "thanks kira">>
That's what I send. "Thanks kira." Two words. No emoji. No exclamation mark. The conversational equivalent of a firm handshake when someone opens their arms for a hug. I'm already composing better responses in my head "that means a lot coming from someone who actually knows what she's doing" or "careful, I might hold you to that" or literally anything with warmth in it but my thumbs have already sent the message and the moment has passed and I am, as always, three minutes too slow for the version of myself I want to be.
<<kira "always 💕">>
I put the phone away and walk faster because the cold is getting into my bones and because I need to stop analyzing single-word messages from a girl who is my friend. My friend. The word tastes like off-brand cola close to the real thing but flat, missing the thing that makes it worth wanting.
[[Enter the Marc's Apartment|day_1_7]]<<nobr>>
<<set $day_step to 7>>
<<set $locationImage to "images/locations/marc_apartment.jpeg">>
<<set $locationName to "Marc's Apartment">>
<</nobr>>
Marc's apartment is on the second floor of a building that's marginally less depressing than mine same general vibe of "landlord spends the maintenance budget on nothing," but his unit is bigger, has an actual bedroom separated by an actual wall, and benefits from the fact that Marcus is a functional human being who owns things like dish soap and a mop. He works part-time at a phone repair shop called ScreenFixx (two x's, because the owner thinks that's edgy), and between that and some money his mom sends every other month, he manages to live with a dignity I find both inspiring and quietly infuriating.
I buzz his unit. The intercom crackles.
<<marc "Yo.">>
<<eli "It's me.">>
The door buzzes. I take the stairs because the elevator in this building makes a sound like a submarine in a World War II movie and I don't trust it with my life, which is saying something given how little I currently value it.
Marc's door is already open when I get to the second floor. He's standing in the frame in an oversized charcoal hoodie and basketball shorts in January, because Marcus's relationship with temperature is adversarial holding a bag of cheese puffs.
<<marc "Bro. You look like shit.">>
<<eli "Thanks.">>
<<marc "No, like, more than usual.">>
<<eli "I appreciate the specificity.">>
I walk past him into the apartment. It's warm. It smells like something that might be food there's a pot on the stove with a lid on it. Marcus cooks. Not well, and not ambitiously, but he cooks. He makes rice and chicken with jarred curry sauce and considers it haute cuisine. Compared to my diet of microwave burritos and regret, he's basically Gordon Ramsay.
His living room setup is aggressively casual: a sagging brown couch he got from his cousin, a 42-inch TV balanced on a milk crate and a stack of old textbooks, a secondhand PS5, and one controller that works properly and one with a sticky R2 trigger that you have to slam to get it to register. I always get the sticky one. I've stopped complaining about it because at this point it's tradition.
<<eli "DLC any good?">>
I drop onto the couch. It swallows me. The cushions have achieved a level of compression that's less "furniture" and more "fabric-covered surrender."
<<marc "Haven't started it yet. Waited for you.">>
He tosses me the sticky controller and settles into the other end of the couch.
<<marc "Figured you needed the distraction.">>
<<eli "What makes you say that?">>
<<marc "You texted me at 4 AM last night asking if penguins have knees.">>
<<eli "They do, by the way. Hidden inside the body. The whole leg is ">>
<<marc "Eli.">>
<<eli "What?">>
He looks at me. Marcus has this way of looking at people not aggressive, not even particularly intense, just direct in a way that feels almost alien in a world where everyone's staring at a screen. His brown eyes hold you and don't let go.
<<marc "How'd the stream go?">>
<<eli "Fine.">>
<<marc "How many viewers?">>
<<eli "It was fine, Marc.">>
<<marc "So, like, twelve?">>
<<eli "...peaked at six.">>
He nods. Doesn't say anything. Turns on the TV, navigates to Rift Walkers, launches the DLC. No speech. No pep talk. No "you should try this" or "have you thought about that." Just next thing. That's Marcus. He has this gift for knowing when the kindest thing you can do for someone is refuse to make a big deal out of their suffering. He just glides past it like it's a pothole in the road. Noted, avoided, moving on.
[[Start playing Rift Walkers|day_1_8]]<<set $day_step to 8>>
We play for two hours. Rift Walkers is a co-op roguelike procedurally generated dungeons, permadeath, the kind of game that's brutal and chaotic and requires constant communication. It's also the only context in which Marcus and I talk openly, because there's something about screaming "BEHIND YOU, BEHIND YOU, LEFT SIDE" while a demon boss is ripping your character's spine out that strips away the layers of bullshit we normally hide behind.
<<eli "Heal me, heal me Marc, I'm literally one hit ">>
<<marc "I'm out of charges, bro, just dodge!">>
<<eli "Dodge WHAT? He's got six arms!">>
<<marc "Dodge the arms!">>
<<eli "Oh, thank you, incredible tactical advice ">>
I die. My character ragdolls across the screen in a way that would be funny if I hadn't been grinding this run for forty-five minutes. Marcus lasts another eight seconds before the boss catches him with a chain attack that turns his health bar into a memory.
RUN FAILED FLOOR 14
<<marc "Floor 14.">>
He says it like he's reading a medical diagnosis.
<<eli "Floor 14.">>
<<marc "Our personal best is 16.">>
<<eli "I'm aware.">>
<<marc "Just making sure you're keeping track of our record of mediocrity.">>
I laugh. It sneaks out before I can stop it a real one, short and surprised, like a cough. Marcus grins without looking at me, which is his version of a standing ovation.
We run it again. Die on floor 11. Run it again. Die on floor 9 because Marcus accidentally walks into a trap and I laugh so hard I forget to dodge and we both get wiped in the same explosion. The apartment fills with the sound of us yelling at each other the friendly kind, the kind that has rhythm and call-and-response and a warmth underneath it that neither of us would ever name.
It's the best I've felt in weeks.
Between runs, while the loading screen spirals, Marcus glances at me sideways.
<<marc "You talk to Kira today?">>
My thumb slips on the sticky trigger. I play it off as adjusting my grip.
<<eli "She sent me a photo of some figurine a viewer made her.">>
<<marc "That's not what I asked.">>
<<eli "...yes. I talked to Kira today.">>
<<marc "She know you're in love with her yet?">>
<<eli "I'm not in love with her.">>
<<marc "Bro.">>
<<eli "She's my friend.">>
<<marc "Right. Your friend who you check your phone for every eleven seconds. Your friend whose stream schedule you have memorized. Your friend whose laugh you described to me once as what was it 'annoyingly perfect'?">>
<<eli "I said that drunk.">>
<<marc "You had one beer.">>
<<eli "I'm a lightweight.">>
<<marc "You're a disaster.">>
The loading screen ends. A new dungeon generates. I'm grateful for the excuse to stop talking.
<<marc "All I'm saying is ">>
<<eli "Can we not?">>
<<marc "You should tell her.">>
<<eli "Tell her what? 'Hey Kira, I know you have 8000 viewers and brand deals and you're literally the most put-together person I've ever met, but I a guy who peaked at six viewers today and ate a microwave burrito for breakfast would like to ruin our friendship by making it weird.' Great plan, Marc.">>
Marcus is quiet for a beat. His character runs through a doorway on screen. Mine follows.
<<marc "You know she likes you, right?">>
<<eli "She likes everybody. That's her thing.">>
<<marc "Nah. She likes you you. The way she talks about you is different.">>
<<eli "You've never even met her.">>
<<marc "I've heard enough. You show me her messages like they're evidence in a court case, bro. I've been briefed.">>
<<eli "I don't I don't show you her messages.">>
<<marc "You literally read me one out loud last Tuesday.">>
I open my mouth. Close it. He's right. She'd sent something about a game she wanted to play together "we should do a collab stream sometime, i bet our vibes would be adorable together 🥺" and I'd read it to Marcus while we were eating pizza, trying to sound casual and failing so comprehensively that he put his slice down and stared at me for a full five seconds without blinking.
<<eli "That was... I was asking for a second opinion on whether 'adorable' was flirty or friendly.">>
<<marc "And my opinion was flirty. And you ignored it. Like you ignore everything that doesn't confirm your theory that nobody could ever like you.">>
A skeleton archer shoots my character in the face. I die.
<<eli "Thanks for the therapy session. Can we play the game?">>
<<marc "I can do both.">>
<<eli "Please don't.">>
He lets it go. But I can feel him not letting it go the way he glances at me during loading screens, the way the corner of his mouth twitches like he's biting back twelve more sentences. Marcus has this theory about me and Kira that he's constructed entirely from text messages I've shown him and stories I've told him and the way my voice apparently changes when I say her name (which it doesn't, he's making that up, it absolutely doesn't).
The theory is wrong. Not because Kira isn't incredible she is. She's five-foot-three with a sharp bob and blunt bangs and wire-frame glasses that make her look like a character from a movie where the quiet girl turns out to be the main character all along. She's got this laugh this high, sudden, slightly embarrassed laugh that she tries to suppress by pressing her lips together and it never works, it always breaks through, and it makes her whole face scrunch up in a way that
The theory is wrong because even if Kira did like me, what would she be liking? This? A guy who can't afford coffee? A streamer with no stream? A face that doesn't stop anyone's scroll? The math doesn't work. Kira is a person who exists in the world with confidence and direction and a pixel-heart tattoo on her wrist that she got because she wanted to and could afford to and it suited her, and I am a person who exists in a studio apartment with a crack in the ceiling and $47 in the bank and a collection of character flaws that would embarrass a first draft.
We play until 3:30. My phone buzzes once more during the session a meme from Kira, some screenshot of a cat sitting at a gaming desk with the caption "me at 3am grinding ranked" and Marcus sees me smile at it and raises one eyebrow and I throw a cheese puff at his head and he catches it in his mouth and neither of us says anything.
<img src="images/scenes/day_1/day_1_2.jpeg" alt="Figurine of Kira's Stream Avatar" class="location-image">
Around 3:30, Marcus stands up, stretches his spine cracks in a way that sounds medically concerning and announces that he's hungry and we should go get coffee.
<<eli "I'm good.">>
I say it automatically.
<<marc "I didn't ask if you were good. I said we should go get coffee.">>
<<eli "I'm not really ">>
<<marc "Eli. We're getting coffee. Put your shoes on.">>
I put my shoes on.
<<set $hint to "Go to the coffee shop.">>
[[Go to the coffee shop|neighbourhood]]<<set $day_step to 9>>
The coffee shop is called Grounded because every coffee shop opened in the last ten years is legally required to have a pun name. It's four blocks from Marcus's place, wedged between a dry cleaner and a nail salon, and it has the standard-issue indie café aesthetic: exposed brick, Edison bulbs, chalkboard menu, a barista with a septum piercing and an apron that says "Espresso Yourself." I've been here enough times to know the Wi-Fi password (grounded2024) and to know that their cheapest drip coffee is $4.75, which is roughly 38% of what I earned from streaming last month.
We stand in line. I look at the menu board with the detached interest of someone browsing a car dealership when they can't afford the bus.
<<marc "What do you want?">>
He's already pulling out his card.
<<eli "I'm fine, I ate before I came over.">>
<<marc "You ate a microwave burrito and a Monster.">>
<<eli "How do you ">>
<<marc "Because that's what you always eat. What do you want?">>
<<eli "Marc, I can't ">>
<<marc "Bro. Coffee. Not a kidney. What do you want?">>
I look at the menu. Something in my chest tightens. It's a small thing a cup of coffee, four dollars and change but the fact that I can't casually buy one without doing mental math against my rent and my power bill and the $47 left in my checking account makes it feel enormous. Like the coffee isn't a drink but a diagnosis. You are a person who cannot buy coffee.
<<eli "Medium drip. Black.">>
Marcus orders for both of us. He gets a caramel oat milk something that costs eight dollars and makes no apology for it. He pays by tapping his card against the reader with the ease of someone who doesn't flinch at transactions. I watch the card tap. I think about $0.00 on my stream dashboard. I think about $47 in my checking account. I think about the fact that Marcus paid for my coffee without hesitation and without drama and that this kindness, this small casual kindness, feels like the saddest thing that's happened to me all day.
We sit at a corner table. The coffee is good. I wrap both hands around the cup and let the heat soak into my palms. Marcus sits across from me, long legs stretched out under the table, scrolling through his phone with one hand and sipping his caramel nonsense with the other.
<<marc "You see the new Gunmetal patch notes?">>
<<eli "Yeah. They nerfed the Viper again.">>
<<marc "Good. That gun was bullshit.">>
<<eli "I was using that gun.">>
<<marc "Bro, everybody was using that gun. That's why it was bullshit.">>
<<eli "Well, now I'm going to be even worse.">>
<<marc "You were already bad.">>
<<eli "Thanks, Marc.">>
He grins.
<<marc "I'm just saying. Maybe switch to the shotgun. You can't miss with a shotgun.">>
<<eli "You wildly overestimate my abilities.">>
We talk about the game. We talk about a movie Marcus watched last night some sci-fi thing he describes as "pretty mid but the explosions were fire." We talk about his coworker at ScreenFixx who got fired for dropping a customer's phone in the toilet and trying to blame it on the customer. Normal stuff. Easy stuff. The kind of conversation that doesn't ask anything of you and doesn't judge the answers you give.
Then, because Marcus cannot leave a wound alone:
<<marc "So Kira. She stream today?">>
<<eli "I don't know. Why?">>
<<marc "Just curious. She's usually on by now, right? Noon to four?">>
<<eli "I don't track her schedule.">>
Marcus looks at me over his caramel oat milk whatever. Just looks at me. He doesn't say anything. He doesn't have to. We both know I have her stream schedule memorized down to the half-hour. We both know I usually have her stream open in a background tab during my own streams, her chat scrolling on my second monitor like a window into a life that actually works. We both know this, and the silence between us is loud with it.
<<eli "...she usually goes live at twelve-thirty on weekdays.">>
<<marc "Mhm.">>
<<eli "That's public information. It's in her channel bio.">>
<<marc "Mhm.">>
<<eli "Stop mhm-ing at me.">>
<<marc "When are you seeing her next?">>
<<eli "We're not it's not like ">>
I take a breath. Outside, a woman in a red coat walks past the window. Two girls my age laugh about something on a phone screen. The world moves and I sit here with my free coffee and my memorized knowledge of a girl's stream schedule and my complete inability to act on anything.
<<eli "She invited me to ramen tomorrow.">>
Marcus puts his cup down.
<<marc "Like a date?">>
<<eli "Like ramen. As friends. People eat ramen as friends, Marc.">>
<<marc "Did she say 'as friends'?">>
<<eli "She said she wanted to hang out.">>
<<marc "She say anything else?">>
<<eli "She said she'd pick me up.">>
Marcus makes a sound. It's not quite a laugh and not quite a word some hybrid of the two that communicates an entire worldview.
<<marc "She's picking you up. For ramen.">>
<<eli "It's not a date.">>
<<marc "She's literally coming to your house to take you to a restaurant.">>
<<eli "It's not we're friends. She does stuff like this. She's nice.">>
<<marc "She's nice to everybody. She's picking you up.">>
I drink my coffee. It's gone lukewarm but I don't care. My face feels warm in a way that has nothing to do with the drink and everything to do with the fact that Marcus has, as usual, found the exact thought I've been trying to bury and dragged it into the open air where it can breathe and embarrass me.
<<eli "Can we change the subject?">>
<<marc "Wear the grey shirt tomorrow. Less depressing.">>
<<eli "Marc.">>
<<marc "And wash your hair. Like actually wash it. With soap.">>
<<eli "I hate you.">>
<<marc "Nah. You love me. I'm the only person who tells you the truth.">>
He sips his drink. I look out the window. The January light is failing, that grey-blue winter afternoon that bleeds into dusk without warning. People walk by with their collars up and their faces down. I watch them and I feel that thing I always feel in public. That I'm watching the world from behind glass. That there's a performance of being alive happening out there and I never learned the choreography.
But underneath that underneath the usual static of inadequacy there's something else today. A small, warm, stupid thing. Tomorrow. Ramen. Kira coming to pick me up. Her car smells like that Japanese cherry blossom air freshener she clips to the vent. I've been in her car twice and I remember the scent perfectly, which is either observational skill or pathology.
<<marc "You streaming again tonight?">>
He doesn't look up from his phone.
<<eli "Probably.">>
<<marc "How's that going? Like, in general.">>
<<eli "It's going.">>
He nods. Doesn't push it. Sips his drink. I love and hate that about him the way he asks questions with an escape hatch built in, giving me permission to dodge without making me feel bad for dodging. It's generous. It's also the reason I've never had to actually confront the answer.
How's it going?
It's not.
It's not going anywhere. It's been eight months. Fifty-four followers, most of whom followed during a brief spike when I got raided by a streamer who felt sorry for me and never came back. Eight to fifteen average viewers. Zero consistent income. I'm pouring hours into a void and the void isn't even polite enough to echo.
But I don't say that. I say "it's going" and I drink my coffee and Marcus lets me, because that's what we do.
<<set $hint to "Go back home. Start Stream">>
[[Go back to Home|neighbourhood]]<<set $day_step to 10>>
I get home at 5:20 PM. The apartment is dark. I flip the light switch the overhead flickers twice, because the bulb is dying and I haven't replaced it and everything is exactly as I left it. Mattress on the floor.
Desk with two monitors. Mini-fridge humming its one note. The microwave burrito wrapper on the counter that I didn't throw away this morning. The Monster can beside it, empty.
I take off the hoodie. Hang it on the back of the desk chair, which is where it lives. Kick off the crushed sneakers. Sit down.
The desk chair sinks an inch and a half under my weight, the hydraulic cylinder wheezing like an old man sitting down in church. I jiggle the mouse.
Both monitors wake up the main screen still showing Gunmetal Requiem's main menu, the second showing my stream dashboard with the final stats from this morning's session still displayed.
<<set $hint to "Check the stream dashboard.">>
[[Open OBS and check the dashboard|day_1_11]]<<set $day_step to 11>>
Peak Viewers: 6
Average Viewers: 4.2
New Followers: 0
Donations: $0.00
I should eat something. Something real, something that wasn't manufactured in a factory and flash-frozen into a cylinder of regret. But cooking requires ingredients, which requires a grocery run, which requires money, and the $47 in my checking account has to last until... I don't actually know. Until the next donation, which could be never. Until I figure something out. Until the crack in the ceiling reaches the wall and the whole building collapses and I don't have to worry about rent anymore.
I eat another microwave burrito. Rotate it manually at the one-minute mark. This one is chicken and cheese, theoretically. It tastes like warm salt and texture.
At 7:00 PM I open OBS again.
This is the second stream of the day, which is a thing I do sometimes when the first one goes badly. The logic, if you can call it logic, is that evening hours have more viewers on Twitch overall, so maybe the browse page algorithm will push me to someone who's scrolling. It has never worked. But doing it feels like effort, and effort feels like it should matter, and that illusion is the only thing keeping me in this chair.
<<set $hint to "Stream">>
[[Start the evening stream|day_1_12]]<<set $day_step to 12>>
<<set $viewers to 2>>
<<set $hint to "Play some Gunmetal Requiem">>
EliPlays Live
Viewers: 2
Two. Less than this morning. I'm going backwards.
<<eli "Hey, welcome back, everyone. Evening stream late night Gunmetal grind. Let's get it.">>
I queue into a match. The loading screen rotates. I adjust my mic, lean toward it, clear my throat.
<<chat "xX_DarkSlayer_Xx" "omg hes back for more">>
DarkSlayer. Of course. The man is a constant. If I ever go missing, the police should interview DarkSlayer first because he is the only person on earth who reliably knows my schedule.
<<eli "DarkSlayer, you're here twice in one day? I'm flattered. Truly.">>
<<chat "xX_DarkSlayer_Xx" "got nothing better to do">>
<<chat "xX_DarkSlayer_Xx" "plus ur funny when u lose">>
<<eli "Glad my suffering entertains you.">>
<<chat "xX_DarkSlayer_Xx" "it does :)">>
The match starts. I'm playing Sentinel defensive class, gadgets and traps, the kind of character that rewards smart positioning and punishes the kind of brainless aggression that is, unfortunately, my default instinct. I've been trying to improve. I watch YouTube guides. I practice in the range. I do the things you're supposed to do. And then a round starts and someone shoots at me and I panic-peek and die like I've never held a mouse before.
Round 1: I set up a trap on B-site, anchor position, play patient and get wallbanged through a surface I didn't know was penetrable. Dead in four seconds.
<<eli "Cool. Okay. Didn't know you could shoot through that.">>
<<chat "xX_DarkSlayer_Xx" "how do u not know that lmao">>
<<chat "xX_DarkSlayer_Xx" "its been in the game since launch">>
[[Continue playing|day_1_13]]<<set $day_step to 13>>
<<set $viewers to 3>>
Viewers: 3
Round 2: I play more passive. Sit in a corner with my crosshair aimed at the door. Nobody comes to my site. The action is all on A. My team loses 4v3 on the other side while I sit in silence staring at an empty hallway. I contributed nothing.
<<eli "Okay, they're pushing A every round. I'll rotate ">>
Round 3: I rotate to A. They push B. I'm always where the fight isn't.
<<chat "xX_DarkSlayer_Xx" "bro u have no game sense">>
<<chat "xX_DarkSlayer_Xx" "like actually how are u this bad after 8 months">>
<<chat "newGuy_42" "is this guy actually trying or is this a bit">>
A new viewer. And that's their first message. That's the first impression "is this guy actually trying."
<<eli "Haha, yeah, no, I'm I'm trying. Just having an off game. Stick around, it'll get better.">>
<<chat "newGuy_42" "...ok">>
It does not get better. I finish the match 3-11. Bottom of the board by a mile. The loss screen lingers for a moment too long, showing everyone's stats in a column, and mine are at the bottom like a punchline.
<<chat "xX_DarkSlayer_Xx" "3 and 11 KEKW">>
<<chat "xX_DarkSlayer_Xx" "bro maybe try a different game">>
<<chat "xX_DarkSlayer_Xx" "or a different hobby">>
<<chat "xX_DarkSlayer_Xx" "or a different life lol">>
[[Different life|day_1_14]]<<set $day_step to 14>>
<<set $viewers to 2>>
newGuy_42 has left the channel.
I don't say anything for a second. My hands are on the keyboard. The match is loading. The webcam is on and my face is in the little preview window in OBS and I can see myself the dark circles, the bad lighting, the greasy hair, the expression that's trying to be neutral and landing somewhere around "man contemplating whether his apartment's window opens far enough." I look small. In the preview, in the webcam's bad resolution, I look like a small grey thing in a dark room, hunched toward a screen, talking into a microphone to a crowd that fits in a sedan.
I play two more matches. Go 5-9 in one and 4-10 in the other. DarkSlayer narrates my failures with the enthusiasm of a sports commentator. Nobody else talks. The viewer count oscillates between 2 and 4 like a dying heartbeat on a monitor.
At 8:15 PM, I end the stream.
Session Stats:
Duration: 1 hour 15 minutes
Peak Viewers: 3
Average Viewers: 2.8
New Followers: 0
Donations: $0.00
Chat Messages: 14 (9 from DarkSlayer, 2 from newGuy_42, 3 from bots)
Zero dollars. Zero new followers. Zero reason to have done this.
I close OBS. Close the game. The main monitor shows my desktop. The second monitor shows the dashboard. I stare at both of them, at the dual display of my professional failure, and I feel a vibration in my pocket.
[[Check the phone|day_1_14.1]]My phone. I pull it out. A Discord notification.
<<kira "heyyy eli! you free tomorrow? i'm taking a day off from streaming, thought we could hang out! there's this new ramen place near the art district that's supposed to be amazing 🍜">>
She already asked me this earlier today. Then I realize she sent the ramen invite separately, after the figurine conversation. Like she planned it. Like she was working up to it and the figurine was the warm-up. Or maybe I'm reading into things because I'm a desperate person with $47 in the bank and a ceiling crack and a girl with blunt bangs is the only light source in my life.
I type back.
<<eli "yeah im free. ramen sounds good">>
<<kira "yay!! i'll send you the address. how was your stream today?">>
I look at the dashboard. $0.00.
<<eli "it was fine. pretty chill">>
<<kira "lol that's your answer every time. how many viewers?">>
<<eli "like... a few">>
<<kira "eli">>
<<eli "peaked at 6 this morning">>
<<kira "ok that's honestly not bad for your category and time slot! gunmetal is SUPER saturated rn">>
She does this frames my failure as a strategic problem rather than a personal one. Like the issue is category selection, not me. It's kind. It's also inaccurate. The issue is absolutely me.
<<kira "have you thought about switching games? or doing just chatting?">>
<<eli "just chatting requires a personality people want to listen to">>
<<kira "you have a personality!!">>
<<eli "my most active viewer comes exclusively to insult me">>
<<kira "lmaooo darkslayer?">>
<<eli "the one and only">>
<<kira "ok but tbh that IS engagement. some streamers would kill for a regular. even a mean one 😂">>
<<eli "im not sure 'guy who watches me to say i suck' counts as a fan">>
<<kira "hey at least someone keeps coming back right? that's more than most people get starting out">>
<<kira "also... i've been thinking">>
Three dots appear. Disappear. Appear again. My heart does something structurally unsound.
<<kira "i know you don't like hearing this but you're actually funny. like genuinely. the dry self-deprecating thing works. if people could see that side of you more on stream you'd grow way faster">>
<<eli "you think my depression is marketable?">>
<<kira "LMAO stop 😭 i'm being serious!!">>
<<kira "like when we talk in discord you're so quick and witty and real. on stream you get all stiff and tryhardy. if you could just... be yourself?">>
<<eli "being myself is the problem kira">>
<<kira "no. being yourself is the solution. you just don't see it yet.">>
I stare at the screen. The cursor blinks in the text box. I type something. Delete it. Type something else. Delete that too. What I want to say is: you're the only person who makes me feel like there's a version of myself worth being. What I want to say is: when you talk about me like that I can almost believe it. What I want to say is a lot of things that live in the space between my ribs and have no business existing in a Discord DM.
<<eli "you're too nice to me">>
<<kira "i'm exactly the right amount of nice to you 😌">>
<<kira "ok but seriously. tomorrow. ramen. noon. i'm picking you up and you're not allowed to say no">>
<<eli "you already said that earlier">>
<<kira "i know. i'm saying it again so you don't chicken out overnight">>
<<eli "i wasn't going to chicken out">>
<<kira "mmhm. set an alarm. a real one. not the one you snooze for 90 minutes">>
<<eli "how do you know i snooze my alarm">>
<<kira "because i know you eli 😊">>
There it is again. That thing she does. I know you. Said with an emoji that could mean friendship or could mean something with more gravity, something that pulls, and I'll never ask which because asking would break the spell and I would rather live inside the ambiguity forever than know for certain that it's nothing.
<<eli "fine. alarm set. noon.">>
<<kira "good boy 😏">>
I almost drop my phone.
Good boy. She said good boy. With a smirk emoji. That's that's flirty. That's objectively, measurably flirty. There's no friendship reading of "good boy" with a smirk emoji. Marcus would have a field day with this. Marcus would print this message on a t-shirt.
My thumbs hover. My face is hot. The apartment is cold and my face is hot and I am a 22-year-old man whose brain has been reduced to white noise by two words and a sideways smiley face.
<<eli "lol">>
I send "lol." I send the three laziest letters in the English language in response to the most charged two words anyone has ever aimed at me. I am a coward. I am a disaster. Marcus is right about everything.
<<kira "hehe. anyway i should sleep. early morning yoga tomorrow before i come get you">>
<<kira "night eli! don't stay up too late okay? you need your beauty sleep 😴✨">>
Beauty sleep. The same message from this morning. The same words I reread three times before getting out of bed. The cycle completes.
<<eli "night kira">>
I almost add a heart emoji. My thumb hovers over it the red one, the one she uses, the one that means something or means nothing depending on who's pressing it. I don't add it. I send the message bare. Two words. Naked and small.
<<kira "💕">>
She sends two hearts anyway. Covers for both of us.
I put the phone down. Stare at the screen for a moment. She's having a good stream month she mentioned it in passing last week, something about breaking her donation record. I didn't ask for specifics because I didn't want to know the number. Whatever it is, it would make my $12.50 look like what it is: not a career. Not even a hobby. A symptom.
I should do something productive. Work on my overlay. Edit a highlight reel. Research stream titles. Do any of the hundred things that content creators are supposed to do in their off-stream hours to build and maintain an audience.
I open YouTube. I watch three videos one about stream growth tips (I've seen it before, it says the same things: be consistent, engage with chat, find your niche), one about the Gunmetal patch notes (the Viper nerf is worse than I thought), and one compilation of streamer clips where women with facecams and ring lights and perfect setups pull in thousands of viewers doing exactly what I do, except they're beautiful and I'm... me.
The last video is what gets me. Not the content the comments. Hundreds of them.
<<chat "yt_comment_1" "She's so hot omg">>
<<chat "yt_comment_2" "I watch on mute just for the cam LOL">>
<<chat "yt_comment_3" "Those eyes could make me watch anything">>
<<chat "yt_comment_4" "Down bad for this streamer fr fr">>
I scroll through them. My thumb moves and the comments keep coming, an endless waterfall of thirst and admiration and money thrown at screens because the person behind the screen is pretty. I think about my webcam the grainy rectangle, the bad lighting, the face that isn't ugly but isn't anything, the face that doesn't make anyone stop scrolling.
I think about Kira. How she once told me, offhandedly, that her donations tripled the day she started using a facecam. How she laughed about it, uncomfortable but pragmatic: "It's weird but it's the game, you know?" I think about her face the sharp bob, the bangs, the glasses, the smirk and how if she were in this compilation video, the comments would sound exactly the same. She's beautiful in the way that matters on the internet: specifically, photographically, streamably.
And then I think about "good boy" with a smirk emoji and my stomach does something that has no business happening in a body running on microwave burritos and Monster Energy.
I close YouTube. Close the browser. The apartment is silent. The fridge hums.
<<set $hint to "Go to bed.">>
[[Go to bed|apartment_map]]<<nobr>>
<<set $day_step to 15>>
<<set $right_sidebar_mode to 0>>
<</nobr>>
I brush my teeth in the bathroom. I do not look in the mirror. I take off my joggers and get into bed onto the mattress, onto the grey sheets, under the thin comforter that's not quite warm enough. I pull it up to my chin. The overhead light is off. The room is dark except for the faint glow of the second monitor's standby light and the green power LED on the router.
The ceiling crack is invisible in the dark but I know it's there. I stare at the space where it is and I think about the viewer count. About Marcus paying for my coffee. About DarkSlayer's messages and the bot spam and the four-dollar drink I couldn't afford and the $0.00 and the women on YouTube with their ring lights and their thousands of viewers and their comments full of money and desire and the fact that I'm 22 years old and the most consistent presence in my life is a stranger on the internet who shows up every day to tell me I suck.
I think about Kira. I think about her more than the rest of it. About the way she said "I know you" like it was a gift she was offering. About "good boy" and the smirk and the way my face went hot in a cold apartment. About her laugh that high, sudden burst she can't suppress, the one that crinkles her nose and makes her push her glasses up because they slip when she scrunches her face. About the pixel-heart tattoo on her inner wrist that I've only seen in photos but want to see in person, up close, close enough to trace.
About the fact that she's picking me up tomorrow. That her car will smell like cherry blossom. That she'll probably be wearing something effortlessly perfect and I'll be in the grey t-shirt Marcus told me to wear and my black joggers and my crushed sneakers and she'll look at me and smile like none of that matters.
She makes me feel like none of it matters. That's the most dangerous thing about her.
I roll onto my side. The mattress creaks. The fitted sheet has popped off the corner again. My bare foot touches the stained part and I pull it back.
Tomorrow. Ramen with Kira. Her voice across a table. Her laugh. The chance that her knee might brush mine under it.
Something to look forward to. Something that isn't a stream, isn't a dashboard, isn't a number.
I close my eyes. The fridge hums. I sleep.
<<link "Sleep">>
<<set $hint to "Wake up the next day.">>
<<goto "eli_bed">>
<</link>><<nobr>>
<<set $day to 2>>
<<set $day_step to 1>>
<<set $hint to "Stream the morning away.">>
<</nobr>>
I wake up before the alarm.
That hasn't happened in months. Maybe longer. My body's internal clock has been set to "ignore all stimuli until forced" since approximately freshman year of college (which I attended for one semester before the financial aid fell through and I discovered that motivation is a finite resource). But today my eyes open at 9:42 AM forty-eight minutes before the alarm I actually set last night, the one Kira told me to set, the one she specifically said should be real and not the kind I snooze for ninety minutes and I'm just... awake.
The ceiling crack is there. Still growing. Still splitting the plaster like the building's skull is fracturing in slow motion. But this morning it looks less like a verdict and more like geography. Just a crack. Just a thing that exists in a room where I also exist, and today that room contains a plan.
Kira's picking me up at noon.
I lie on the mattress for three minutes, not because I'm tired but because the warmth of the comforter is the closest thing to a hug my life currently offers, and I want to be strategic about when I leave it. My phone is on the floor beside me. I pick it up. No new messages it's early by my standards and Kira said she had morning yoga. I imagine her in some studio somewhere, a bright room with wooden floors and too many plants, bending into shapes that my spine would file a restraining order against. She probably wears one of those fitted tank tops. The kind that
Okay. Stop. Get up.
[[Get Up|day_2_2]]<<set $day_step to 2>>
The apartment is the same. Obviously. Apartments don't rearrange themselves overnight based on the occupant's mood, though this one seems to try the light from the window is hitting differently today, catching dust motes in a way that looks almost cinematic rather than depressing. Or maybe that's just me projecting. Maybe when you have somewhere to be and someone to see, the particles in the air rearrange themselves into something you can tolerate.
I step over the Monster can I left on the floor last night. The microwave burrito wrapper is still on the counter. The second monitor's standby light glows softly, the dashboard from last night's stream still queued up behind the dark screen, ready to remind me of my failures the moment I jiggle the mouse. I don't jiggle the mouse.
First things first: stream. Even today. Especially today. Because if I don't stream, the day becomes entirely about Kira, and that's too much pressure on a lunch that is not a date (except that Marcus called it a date, and she said "good boy" with a smirk emoji, and I called click-through rates hot in my head approximately forty times before falling asleep, but it's not a date).
I shower. Really shower. Not the lukewarm speed-rinse I usually do I wait for the hot water, all eight minutes of it, standing there like a patient idiot while the pipes clank and groan and eventually produce something approaching warmth. I use the bar soap on my hair and then and then I actually dig under the bathroom sink, past the extra toilet paper roll and the bottle of drain cleaner I bought six months ago and never used, and find a travel-size bottle of shampoo. It's from a hotel. I've never stayed in a hotel. Marcus gave it to me as a joke for my birthday a little bottle of Marriott shampoo with a note that said "for emergencies." I think this qualifies.
The shampoo smells like coconut and something vaguely chemical. I work it into my hair with more effort than I've applied to my physical appearance in recent memory. Rinse. My hair feels... different. Lighter. Less like it's been lacquered to my skull.
I get out. Towel off. I do something I almost never do.
I look in the mirror.
It's not a revelation. The face staring back is the same one that's always been there pale, dark circles, acne along the jawline, thin lips, the nose with the wide bridge, the eyes that can't quite commit to making contact even with their own reflection. My hair is wet and pushed back from my forehead and without the greasy curtain falling over it, my face looks more exposed. More there. More seen, in a way that makes me want to pull the hair back down immediately.
But I don't. I just look.
Marcus told me to wear the grey shirt. The grey shirt is the softest of the three and also the one with the fewest visible stains. I pull it on. Same black joggers I only own the one pair, and laundry isn't happening before noon. I look at the crushed sneakers by the door and experience a brief, futile wish for better shoes. The sneakers go on. The navy hoodie goes on over the grey shirt. I zip it halfway, which is the closest thing to a "look" I'm capable of assembling.
9:58 AM. I've got two hours before Kira arrives. Time to stream.
[[Stream|apartment_map]]<<set $day_step to 3>>
<<set $viewers to 2>>
I open OBS. The ritual is the same jiggle the mouse, wake the monitors, watch last night's stats materialize on the second screen like a ghost I can't exorcise. I close the stats tab without reading them again. I know what they say. They say zero.
Gunmetal Requiem loads. I queue into a match. The webcam activates and there I am slightly less terrible than usual, the hair situation marginally improved by the Marriott shampoo, the grey shirt a fractional upgrade from the black one. In the thumbnail preview I still look like a guy streaming from a closet, but at least today the guy washed his hair.
EliPlays - Live
Viewers: 2
<<eli "Morning stream, what's up everybody. Ranked grind continues. We're getting Gold today, I can feel it.">>
I can't feel it. I feel nothing. The two viewers are almost certainly not human.
The first match loads. I'm trying. I'm actually, genuinely trying today, because there's a part of my brain the stupid, hopeful, newly-shampooed part that thinks maybe today will be different. Maybe the algorithm will bless me. Maybe someone will click in and stay. Maybe I'll clutch something incredible and it'll get clipped and go viral and by the time Kira picks me up at noon I'll have a story to tell her over ramen, a good one, the kind where she leans forward and her eyes get bright and she says
I die eighteen seconds into round one. Peeked a corner. Headshot. Instant.
<<eli "...okay.">>
<<chat "xX_DarkSlayer_Xx" "lol you died in 18 seconds">>
<<eli "Hey, DarkSlayer. Thanks for stopping by.">>
[[Continue Playing|day_2_4]]<<set $day_step to 4>>
<<set $viewers to 3>>
Viewers: 3
<<chat "xX_DarkSlayer_Xx" "good morning loser">>
<<eli "DarkSlayer. You're here before noon. I'm touched.">>
<<chat "xX_DarkSlayer_Xx" "i set an alarm 😂">>
He set an alarm. My dedicated hater set an alarm to watch me fail. There's a poem in that, somewhere, if I weren't too depressed to write it.
<<chat "xX_DarkSlayer_Xx" "wait did u wash ur hair??">>
<<eli "What?">>
<<chat "xX_DarkSlayer_Xx" "bro u look different. less greasy. whats the occasion">>
<<eli "There's no occasion. I just... showered.">>
<<chat "xX_DarkSlayer_Xx" "LMAO he showered everybody. historic moment. somebody clip this">>
Nobody clips it. There are three viewers and one of them is DarkSlayer and the other two are probably browser tabs left open by mistake.
I play through the match. Die four more times. Get two kills, one of which was an accident I was reloading and the enemy walked into my crosshair at the exact wrong moment, like we'd choreographed it. The scoreboard is ugly. 2 and 5 in the first half.
<<chat "xX_DarkSlayer_Xx" "2 and 5. the eli special">>
<<eli "I'm warming up.">>
<<chat "xX_DarkSlayer_Xx" "youve been warming up for years now">>
[[Continue Playing|day_2_5]]<<set $day_step to 5>>
<<set $viewers to 5>>
Viewers: 5
A spike. Two new people. I sit up.
<<chat "stream_viewer_88" "what rank is this?">>
<<eli "Silver 2! Working toward Gold. Welcome in.">>
<<chat "stream_viewer_88" "oh">>
That "oh" contains an entire review. One syllable that means "I was hoping for something better and I've found something worse." I can hear the mouse hovering over the X button.
<<chat "xX_DarkSlayer_Xx" "hes been silver since september lol">>
<<chat "stream_viewer_88" "yikes">>
[[Continue Playing|day_2_6]]<<nobr>>
<<set $day_step to 6>>
<<set $viewers to 4>>
<<set $donations to 1>>
<<set $money += 1>>
<</nobr>>
stream_viewer_88 has left the channel.
I take a breath. Push through the second half. Play less stupid anchoring sites, using gadgets, actually checking corners instead of sprinting through them like a raccoon in a convenience store. I end the match 7 and 9. Not good. But better than the morning sessions usually go.
Match two. I queue again. A donation notification pops up on my dashboard a sound I hear so rarely that it takes me a full second to recognize what it is. My heart does something embarrassing.
$1.00 from GhostPepper_: "silver isn't that bad bro keep grinding"
One dollar. One actual dollar from a real person who watched me play badly and felt enough... what? Pity? Solidarity? Whatever it is, it's a dollar more than zero and the number on my dashboard changes from $0.00 to $1.00 and I feel a flush of something that I'm ashamed to call gratitude because it's one dollar and I'm grateful for it and that says everything about where I am.
<<eli "GhostPepper, thank you for the donation! Appreciate you, man. Yeah, Silver's the grind but we're climbing.">>
<<chat "xX_DarkSlayer_Xx" "1 dollar lmaooo dont spend it all in one place">>
<<chat "GhostPepper_" "np bro. ive been there">>
[[Continue Playing|day_2_7]]<<set $day_step to 7>>
<<set $viewers to 3>>
GhostPepper_ has left the channel.
Gone. A dollar and a kind word and then back into the void. The viewer count drops to 3.
I play another match. Then another. The clock on my second monitor reads 11:15. I'm running out of time before Kira comes. Part of me wants to keep streaming the irrational part, the part that thinks maybe the next match will be the one, maybe the algorithm will turn, maybe lightning will strike. But the other part the part that washed its hair with stolen hotel shampoo knows that I need to end this, close OBS, and spend the remaining forty-five minutes doing something I've never done before a social engagement: preparing.
Match four ends. 6 and 7. Almost positive K/D. Almost respectable. Almost.
<<eli "Alright chat, wrapping up the morning session. Got some stuff to do today. Thanks for hanging out. DarkSlayer, thanks for the... consistent presence.">>
<<chat "xX_DarkSlayer_Xx" "where u going? u never go anywhere">>
<<eli "I have a life outside of streaming, DarkSlayer.">>
<<chat "xX_DarkSlayer_Xx" "since when">>
<<eli "Since today, apparently. See you guys later.">>
<<set $money += 3.50>>
I hit End Stream. Dashboard:
[[Continue|day_2_8]]<<nobr>>
<<set $day_step to 8>>
<<set $viewers to 0>>
<<set $donations to 0>>
<<set $right_sidebar_mode to 0>>
<</nobr>>
Duration: 1 hour 45 minutes
Peak Viewers: 5
Average Viewers: 3.1
New Followers: 0
Donations: $3.50 ($1.00 from GhostPepper_, $2.50 from two micro-donations I barely noticed)
Chat Messages: 22 (mostly DarkSlayer)
Three dollars and fifty cents. For almost two hours of performance.
That's $1.94 per hour. There are child lemonade stands with better margins.
But it's not zero. For the first time in eleven days, the donation counter has a number in it that isn't zero, and I cling to that distinction the way a drowning person clings to debris it's not a boat, it won't save me, but it's something to hold while the current pulls.
I close OBS. I have forty minutes.
<<set $hint to "Prepare for your lunch with Kira.">>
[[Prepare for your lunch|day_2_9]]<<set $day_step to 9>>
I spend them badly.
I change my shirt. Then change back. Then change again. The grey shirt is fine. Marcus said the grey shirt. The grey shirt is the play. I pull at the collar, which has that slightly stretched-out thing happening from too many washes. I tuck it in. Untuck it. Tuck just the front. I look like a divorced man at a Chili's. I untuck everything.
I brush my teeth again, even though I brushed them after my shower. I check my hair in the phone's front camera because the bathroom mirror is too honest and the phone camera has a slight smoothing effect that makes me look 15% less like a police sketch. The hair is better. Actually better. The hotel shampoo gave it a softness that's unfamiliar, like it belongs to someone who takes care of themselves. I push it back. No forward. No to the side. It settles into a vaguely intentional mess that's the best I'm going to get.
I pick at the skin around my thumbnail. Catch myself. Stop. Start again. Stop again.
I check my phone. Nothing from Kira. It's 11:51. She said noon. She's probably still driving. Or finishing yoga. Or doing that thing she does where she sits in her car for two minutes before going anywhere, adjusting the rearview mirror and picking the right song for the drive she told me about that habit once, in a late-night Discord call, and I filed it away in the growing archive of Kira Facts that I maintain like a librarian with an unhealthy fixation.
11:54. I pace. My apartment is not big enough for pacing three steps from the desk to the kitchenette, three steps back but I do it anyway, back and forth, wearing a groove in the hardwood that probably already exists from the previous tenant's anxieties.
11:57. My phone buzzes.
<<kira "leaving now! be there in like 8 min. be ready or i'm honking 😤">>
<<eli "im ready">>
I'm not ready. I will never be ready. But I'm standing in my apartment in a grey shirt with washed hair and brushed teeth and a rapidly deteriorating sense of calm, and that's as close to ready as I get.
11:58. I put on my sneakers. The crushed heels. I look at them and feel the specific despair of a man who knows his shoes are the first thing people notice and the last thing he can afford to replace.
12:00. I check the mirror on my phone one more time. The face is still mine. It hasn't gotten better in the last three minutes.
12:04. A horn honks outside. Short, playful two quick beeps that somehow sound exactly like her.
<<set $hint to "Prepare for your lunch with Kira.">>
[[Go outside|day_2_10]]<<nobr>>
<<set $day_step to 10>>
<<set $hint to "Go outside and meet Kira.">>
<<set $locationImage to "images/locations/neighbourhood.jpeg">>
<<set $locationName to "Outside Eli's Apartment">>
<</nobr>>
I grab my keys. Lock the door. Take the stairs two at a time, which I haven't done since I moved in. The front door of the building sticks you have to hip-check it while turning the knob, a move I've perfected through eight months of practice and then I'm outside, in the January cold, and Kira's car is at the curb.
It's a used Honda Civic. Grey-blue, clean, a small dent on the rear bumper that she told me happened in a parking lot ("some asshole in an SUV, I was literally inside Target"). The windows are slightly fogged from the heater. I can see her through the driver's side a shape, backlit, leaning across to wave.
I walk to the passenger door. Open it and the car smells exactly like I remembered Japanese cherry blossom, from the clip-on air freshener on the vent, sweet and floral and so specifically her that for a half-second I just stand there in the open door like a malfunctioning NPC.
<<kira "Get in, weirdo, you're letting the cold in!">>
I get in. Close the door. The warmth of the car wraps around me and the cold falls away and Kira is right there, right there, eighteen inches to my left, and she looks
She looks like Kira. Which is to say she looks like the person who has been living rent-free in my head for the better part of a year and a half. Black bob, blunt bangs, wire-frame glasses. She's wearing an oversized olive-green jacket over a black turtleneck, and her cheeks are flushed from the cold or the yoga or the heater, a soft pink that makes her look like she's been painted by someone who understands what warmth means. The pixel-heart tattoo peeks out from the cuff of her jacket as she grips the steering wheel. She's got small hoop earrings today gold, catching the wan January light.
<<kira "Hi!">>
She says it with the energy of someone who's been looking forward to this, which immediately makes me suspicious of my own perception because nobody looks forward to seeing me.
<<eli "Hey.">>
I sound like I'm ordering at a drive-through. Cool. Great. Very smooth, Eli.
<<kira "You look... different.">>
<<eli "I showered.">>
<<kira "No, I mean you look nice. Did you do something to your hair?">>
She noticed. She noticed the hair. The Marriott shampoo was worth it. Every second of those eight minutes waiting for hot water was worth it because Kira Nomura is looking at my hair like it's noteworthy and her mouth is doing a small smile and I am going to die in this Honda Civic.
<<eli "I, uh. Found some shampoo.">>
<<kira "Groundbreaking.">>
She grins. It's the grin the one where the left side of her mouth pulls up slightly higher than the right, asymmetric and real, the one she does when she's teasing someone she likes. I've cataloged her smiles without meaning to. There's the stream smile (bright, performative, both eyes crinkled), the friend smile (easy, relaxed, teeth showing), the thinking smile (lips pressed together, one eyebrow up), and this one the teasing grin. My favorite. The one that makes her look like she knows a secret.
<<kira "Seatbelt.">>
<<eli "Right.">>
I fumble with the seatbelt. The click sounds loud in the warm car. She puts it in drive and pulls away from the curb, and the motion tips me slightly toward her centrifugal force, basic physics, nothing romantic about it but I overcorrect and lean hard against the door like the car is a centrifuge and I'm being flung outward.
<<kira "You okay?">>
<<eli "Yeah. Fine. Good.">>
<<kira "You seem nervous.">>
<<eli "I'm not nervous.">>
I am incandescently nervous. My palms are sweating into the upholstery of her passenger seat. I can smell the cherry blossom and beneath it something else something that's just her, shampoo or lotion or the particular chemistry of a person's skin, and it's doing things to my circulatory system that a cardiologist would find concerning.
<<kira "I found the ramen place on TikTok. This girl posted a video of their tonkotsu and it had like two million views. The broth is supposed to take eighteen hours.">>
<<eli "Eighteen hours of broth. That's commitment.">>
<<kira "Right? Like, I can barely commit to an eight-hour stream. These people are simmering bones for almost a full day.">>
<<eli "To be fair, the bones are doing most of the work.">>
She laughs. The laugh the real one, the burst that she tries to suppress by pressing her lips together and it doesn't work, it pushes through like water through a crack, high and sudden and slightly embarrassed. Her glasses slip down her nose half a millimeter and she pushes them back with one finger while keeping the other hand on the wheel.
<<kira "The bones are doing most of the work. I'm using that. That's a stream title waiting to happen.">>
<<eli "Feel free. I'll accept a citation in the corner of the screen.">>
<<kira "I'll put 'joke by EliPlays' in font size 2 in the bottom right.">>
<<eli "That's more visibility than I usually get.">>
She glances at me. Quick a darted look, there and gone, but in the space of it I see something shift behind her glasses. Concern? Recognition? She heard the self-deprecation under the joke. She always hears it. Kira has this radar for the real thing hiding inside the bit, and she never lets it pass unmarked.
<<kira "Hey. How was your stream this morning?">>
<<eli "I made three dollars and fifty cents.">>
<<kira "That's something!">>
<<eli "It's the price of a gas station sandwich.">>
<<kira "It's three-fifty more than zero. That's a real person who watched you and decided you were worth paying for.">>
<<eli "Or they fat-fingered the donate button.">>
<<kira "Eli.">>
<<eli "Sorry. Yeah. It was something. GhostPepper said 'silver isn't that bad bro keep grinding.' Very motivational.">>
<<kira "See? Someone believes in you.">>
<<eli "Someone who immediately left the stream after donating one dollar.">>
<<kira "Okay, but they still donated! You know what my first donation was? Fifty cents. From my mom. Using my own PayPal. I literally donated to myself to see if the system worked.">>
<<eli "That's...">>
<<kira "Pathetic? Yeah and now I ">>
She stops. Catches herself. I know what she was going to say and now I make thousands a month. She stopped because she's kind enough to realize that completing that sentence in the car of a guy who made three dollars and fifty cents today would be a specific kind of cruelty, even delivered as encouragement.
<<eli "You can say it. I know you're doing well.">>
<<kira "I just don't want to ">>
<<eli "Kira. I'm happy for you. Seriously. The fact that my career is a dumpster fire doesn't mean I can't be happy that yours isn't.">>
She's quiet for a second. Turns left onto the main road. The blinker clicks in the silence.
<<kira "You're a good person, Eli.">>
<<eli "I'm a broke person who's nice about it. There's a difference.">>
<<kira "No. You're a good person.">>
[[Change the topic|day_2_11]]<<set $day_step to 11>>
She says it with a finality that suggests the topic is closed. Her eyes are on the road. Her jaw is set in that way it gets when she's decided something and won't be argued with. I've seen her do this on stream a viewer will say something dismissive and she'll counter it once, firmly, and then move on. The conversation is over because she said so.
We drive. She turns the radio on low, background level, some J-rock playlist she has connected through her phone. The bass line thrums under our silence. I look out the window at the January city grey buildings, grey sky, grey people in grey coats and I feel less grey than I have in months.
<<kira "Oh! I forgot to tell you. You know that figurine the viewer sent me?">>
<<eli "The chibi one? Yeah.">>
<<kira "I put it on my desk and chat went NUTS. They were like 'she kept it!' Like of course I kept it? Someone made that by hand? But they were so excited. I got like thirty subs just from having it on camera.">>
<<eli "Thirty subs from a figurine.">>
<<kira "Parasocial economy, baby. You'd be surprised what makes people feel invested.">>
<<eli "...you just called it 'parasocial economy.'">>
<<kira "I'm writing a college essay about it. Not for college. Just for fun. Is that weird?">>
<<eli "It's the least weird thing about you.">>
<<kira "What's the MOST weird thing about me?">>
<<eli "The way you eat Kit-Kats.">>
<<kira "I eat Kit-Kats normally!">>
<<eli "You bite straight across all four bars at once. That's psychopath behavior.">>
<<kira "It's EFFICIENT.">>
<<eli "It's a war crime.">>
She swats my arm without looking. Her hand connects with my bicep brief, light, the casual physical contact of someone who's comfortable touching you and I feel it like a static shock. A small, warm explosion that radiates from the point of impact outward, down my arm, across my chest. She doesn't notice. She's already pulling into a parking spot outside the ramen place, angling the Civic into a space that's too small for most cars but exactly right for hers.
<<kira "We're here!">>
[[Go inside|day_2_12]]<<set $day_step to 12>>
The restaurant is called Noren. Small, narrow, maybe fifteen seats a long wooden counter facing the open kitchen and a handful of two-tops along the opposite wall. The steam from the kitchen fogs the front windows. It smells like pork bone and garlic and something deep and savory that hits the back of the throat and activates a hunger I didn't know I had. My stomach growls loud enough that Kira hears it and laughs.
<<kira "When did you last eat?">>
<<eli "Define 'eat.'">>
<<kira "Consumed food that wasn't previously frozen.">>
<<eli "...Tuesday? Maybe?">>
<<kira "Eli, it's Thursday.">>
<<eli "Time is a construct.">>
<<kira "Nutrition is not.">>
We take a two-top by the window. The table is small small enough that our knees are close under it, and I am intensely aware of the specific geometry of her legs and mine in the space between the table legs and the wall. She shrugs off the olive jacket. The black turtleneck fits closer than I expected she's small, Kira, genuinely small, 5'3" of compact precision, but the turtleneck shows the line of her shoulders, the slope of her collarbone, the way her neck looks longer without the jacket framing it. She catches me looking and I redirect my gaze to the menu with a speed that probably looks more suspicious than the looking itself.
The menu is handwritten on a wooden board behind the counter. Tonkotsu, shoyu, miso, a vegetarian option that Kira considers and rejects. Prices are printed at the bottom and I scan them with the invisible desperation of a man who needs to find the cheapest thing and order it without making the cheapness obvious.
Tonkotsu: $16. Shoyu: $14. Miso: $15. Sides are $4-8.
I have $47 in my bank account. Minus the $14 for shoyu the cheapest option that leaves $33 to survive until... when? The next donation? The next miracle? The $3.50 from this morning doesn't hit my bank for three to five business days, which in financial terms means it doesn't exist.
<<kira "I'm getting the tonkotsu. The TikTok video was specifically about the tonkotsu.">>
<<eli "Shoyu for me.">>
<<kira "You don't want the tonkotsu? It's the whole reason we're here.">>
<<eli "I like shoyu.">>
She gives me a look. It's the look she gives when she knows I'm lying but she's deciding whether to call it out or let me have the dignity of the lie. Her eyes flick down to the menu, to the prices, back to me. She's doing the math. She knows. She always knows.
<<kira "My treat today.">>
<<eli "No.">>
<<kira "Eli ">>
<<eli "You already drove me here. I can pay for my own ramen.">>
<<kira "I know you can. I'm saying you don't have to.">>
<<eli "Kira.">>
<<kira "It's not charity. It's me wanting to buy my friend lunch because I had a good month and I want to celebrate and I want to celebrate with YOU, specifically, and part of celebrating is not making you do mental math about soup.">>
She says it fast, like she rehearsed it, which means she probably did. Probably planned this anticipated my resistance, prepared a counter-argument, loaded it and had it ready before we even sat down. That's Kira. Strategic compassion. Kindness with a game plan.
Something in my chest does that thing. The tightening. The same feeling from the coffee shop yesterday when Marcus paid without asking, except this time it's her and the tightening is different less shame, more... something. A warmth with teeth.
<<eli "...fine. But I'm getting the shoyu.">>
<<kira "Get the tonkotsu.">>
<<eli "Kira.">>
<<kira "Get. The. Tonkotsu. If someone simmers bones for eighteen hours, you respect the bones, Eli.">>
<<eli "...fine.">>
She beams. Not the stream smile. Not the teasing grin. The real one the one that makes her whole face open up, bright and unguarded, the one that looks like sunrise on a face built for it. I look away because if I keep looking I'm going to say something I can't take back, something that lives in the space between my ribs where all the dangerous feelings have set up camp.
[[Order the ramen|day_2_13]]<<set $day_step to 13>>
She orders for both of us in Japanese, the first few words, enough to make the chef look up and smile, before switching back to English for the specifics. She speaks Japanese the way she speaks English quickly, precisely, with a warmth that makes every word sound like it's being offered rather than said.
<<eli "I didn't know you spoke Japanese.">>
<<kira "Just restaurant Japanese and swear words. My grandma would be proud of the first and horrified by the second.">>
The ramen arrives in large, heavy ceramic bowls the tonkotsu is a cloudy, pale gold, the surface shimmering with pork fat, topped with chashu and a perfectly halved soft-boiled egg and scallions and black garlic oil drizzled in a spiral. It's the most beautiful thing I've seen in a bowl and I include cereal in that category.
I eat. It's okay, it's incredible. The broth is rich and heavy and silk-smooth, the kind of thing that coats your mouth and sits in your chest like a warm hand. The noodles are springy and perfect. The chashu melts. I haven't eaten something this good in... I genuinely don't know. Months. Maybe longer. My diet has been so uniformly terrible for so long that I'd forgotten food could taste like it was made by someone who gives a shit.
<<kira "Good?">>
<<eli "I'm having a spiritual experience.">>
<<kira "RIGHT? The broth. The BROTH, Eli.">>
<<eli "The bones did not die in vain.">>
She laughs. She's eating too chopsticks held correctly, the way she does everything, proper and precise and she's got a small splash of broth on her chin that she doesn't know about. It's a tiny, absurd imperfection on an otherwise perfectly composed face and I want to reach across the table and wipe it away with my thumb and I do not do that. I absolutely do not do that.
<<eli "You've got, uh ">>
I gesture at my own chin. She touches hers. Finds the broth. Her cheeks pink.
<<kira "Oh my god. How long has that been there?">>
<<eli "Only a second.">>
<<kira "You're lying.">>
<<eli "Maybe thirty seconds.">>
<<kira "And you just let me sit here with soup on my face?">>
<<eli "I was weighing whether to tell you or let it become part of your brand.">>
She kicks me under the table. Her foot connects with my shin gentle, deliberate, the kind of kick that's really a touch disguised as violence. I feel it through my joggers, the brief press of her shoe against my leg. My shin has never been this interesting.
<<kira "You're the worst.">>
<<eli "And yet you bought me ramen.">>
<<kira "A decision I'm reconsidering.">>
She's smiling. The teasing grin. Her foot doesn't fully retreat it stays close, hovering in the space between our legs under the table, close enough that I can feel its warmth through the air, or maybe that's phantom warmth, the kind your body invents when it wants something to be closer than it is.
We eat. We talk. The conversation flows the way it always does with Kira not in a straight line but in spirals, each topic orbiting the last, touching and releasing and circling back. She tells me about her morning yoga class (the instructor is "insanely hot and also insanely flexible, which is redundant because you can't be that flexible and NOT be hot"). I tell her about DarkSlayer setting an alarm to watch my stream ("That's actually kind of sweet." "It is NOT sweet." "He's your number one fan, Eli." "He's my number one BULLY." "Same energy."). She tells me about a brand deal she's negotiating with a headphone company ("They want me to say 'these headphones changed my life' and I'm like, they're headphones, they didn't cure my anxiety, Karen."). I tell her about the penguin knee conversation I had with Marcus at 4 AM.
<<kira "Penguins have knees?!">>
<<eli "Hidden inside the body. The whole leg structure is ">>
<<kira "Stop. My worldview.">>
<<eli "The thing you thought was the knee is actually the ankle.">>
<<kira "ELI.">>
<<eli "Their femur is just buried in there. Like an iceberg.">>
<<kira "I am learning things I didn't want to learn in a ramen restaurant.">>
<<eli "Consider it payment for the tonkotsu.">>
She kicks me again under the table. This time her foot doesn't retreat at all. It stays, pressing lightly against the side of my calf. Resting there. Warm through the fabric. I don't move. She doesn't move. We both keep eating and talking and acting like there isn't a point of contact under the table that is burning a hole through every layer of denial I've built over the past eighteen months.
The bowls empty. She insists on finishing her broth by lifting the bowl with both hands and drinking from it directly, which leaves a faint sheen on her upper lip that she wipes with the back of her hand. The gesture is unselfconscious, childish, entirely unlike the composed streamer persona she wears on camera. I file it away in the archive. Kira Facts, Volume 47: drinks broth directly from the bowl. Wipes mouth with hand. Possibly raised by wolves. Gorgeous.
<<kira "So. I have a proposal.">>
<<eli "Okay.">>
<<kira "Come back to my place? I want to show you something.">>
My brain detonates. My face stays neutral through sheer force of will and eight months of practice at hiding emotional responses from a webcam.
<<eli "Show me what?">>
<<kira "My stream setup! I just got new panels and I redid my whole desk layout and I'm weirdly proud of it and none of my friends care about cable management the way you do.">>
<<eli "I don't care about cable management.">>
<<kira "You sent me a forty-five-second voice note last week about how velcro cable ties are superior to zip ties.">>
<<eli "...that was an informational PSA.">>
<<kira "Just come see my setup, you nerd.">>
Her foot is still against my calf. She's looking at me across the table with the teasing grin and the wire-frame glasses and the faintest pink on her cheeks from the hot ramen, from the warm restaurant, from something else and her eyes have that quality they get when she's sure of something, when she's decided and the world can either agree or get out of the way.
<<eli "Yeah. Okay.">>
<<kira "Yay!">>
She claps her hands once, quick and bright, and slides out of the booth to go pay. I watch her walk to the counter the platform sneakers, the black turtleneck, the way she pushes her glasses up while she waits and I think about the fact that I'm about to be inside her apartment. Her actual apartment. The space where she lives and streams and exists. The space I've only ever seen in the backgrounds of selfies and the occasional stream where she accidentally shows more of the room than she intended.
I'm about to be there. In person. With her. My shin still feels warm where her foot was.
<<set $hint to "Go to Kira's apartment.">>
[[Go to Kira's apartment|neighbourhood]]<img src="images/locations/kira_apartment.jpeg" alt="Kira's Apartment Interior" class="location-image">
Kira's apartment is on the third floor of a building that makes mine look like a condemned structure, which it probably is. Hers has a lobby. A lobby. With a potted plant and a mailbox wall and floor tile that isn't cracked. The elevator works. It's silent. The doors close and we ascend and the absence of mechanical screaming is, to me, a luxury.
<<kira "It's a mess, by the way. I didn't clean.">>
<<eli "Your version of 'mess' and my version of 'mess' are not the same.">>
<<kira "I left a mug on the coffee table.">>
<<eli "I left a microwave burrito wrapper on my counter for two days.">>
<<kira "...okay, we operate on different scales.">>
The elevator opens. Hallway clean, beige, unremarkable. She walks ahead of me, keys already in hand, and I watch her from behind for exactly 1.5 seconds before redirecting my gaze to the hallway ceiling like it's architecturally fascinating. Her apartment is 3C. She unlocks it, pushes the door open, and steps inside.
<<kira "Welcome to the KiraByte command center.">>
I step in.
It's okay. It's a one-bedroom. Probably 600 square feet, maybe 650. Not huge. Not lavish. But it's hers in a way that hits me like a physical thing every surface declares the existence of a person who is here, who is present, who is building something. The living room has a real couch a grey sectional, small but actual furniture, with throw pillows in pink and black that match the aesthetic of her stream. A coffee table with the aforementioned mug and a stack of manga volumes. A bookshelf with figures and games and a small succulent that looks suspiciously healthy. The kitchen is to the left a real kitchen, with a real stove and a real fridge that's full-sized and doesn't hum like a dying insect. I can see magnets on it. Photos of Kira with friends, a printout of a J-rock band, a takeout menu from what appears to be a Thai place and then there's the desk.
Her streaming setup is against the far wall, beside the window, and it's I knew what it looked like from photos. I've seen it in selfie backgrounds and stream clips and the one time she accidentally showed too much of the room on a just-chatting session. But seeing it in person is different. Seeing it in person is the difference between looking at a picture of the ocean and standing at the shoreline.
Dual monitors. Both high-end, clean bezels, mounted on an adjustable arm so they float above the desk surface like mission control screens. A pink-and-black custom mechanical keyboard that probably costs more than my entire setup combined I can see the artisan keycaps, the coiled cable, the subtle RGB underglow. A high-end webcam perched on top of the main monitor, sleek and modern, the kind that captures 1080p at 60fps and makes a person look like they exist in higher definition than the rest of reality and the ring light God, the ring light. It's mounted on an articulating arm clamped to the desk edge, a wide circle of LEDs that, even switched off, promises to make whoever sits in its radius look lit from within, luminous, seen.
<img src="images/locations/kira_desk.jpeg" alt="Kira's Desk Setup" class="location-image">
Acoustic foam panels cover the wall behind the desk but they're not the generic grey rectangles I've seen in setup tours. Hers are arranged in a pattern, alternating black and pink, and mounted between them are anime posters and prints, framed and level, creating a backdrop that's both functional and beautiful. A small shelf above the monitors holds the chibi figurine the viewer sent her front and center, turned toward the camera position so it's always visible on stream.
This is what success looks like. Not the Lamborghini-and-mansion version. The real version. The version where a person who started from nothing poured enough time and talent and luck into a screen to build something that works, something that sustains, something that has weight.
I look at her setup and I think about mine. The curbside desk with the cardboard wedge. The refurbished monitor and its dead-pixel companion. The 2014 webcam. The budget mic. The absence of everything no ring light, no foam, no aesthetic, no design, no intention. Just a desk in a dark room. Just a guy talking into a void.
The gap. This is the gap. Not between us as people I could almost close that distance, almost believe we're equal but between our realities. Hers is built and lit and functioning. Mine is a sketch on a napkin that someone left in the rain.
<<kira "So? What do you think?">>
She's watching me, leaning against the doorframe of the bedroom with her arms crossed and a half-smile that's looking for approval. She's proud of this. She should be. She built it from nothing she told me once, during a late-night call, that she started streaming on a laptop with the built-in webcam and a $10 headset from Amazon. Two years ago and now this.
<<eli "It's incredible.">>
<<kira "Yeah?">>
<<eli "The cable management alone is ">>
<<kira "I KNEW you'd notice the cables first!">>
<<eli "They're in braided sleeves, Kira. Braided sleeves. That's not cable management, that's cable couture.">>
She bounces actually bounces, a little hop of excitement that makes her bangs flutter. Then she grabs my wrist and pulls me toward the desk.
<<kira "Okay, look, look I just got these new panels, right? The pink ones? and I rearranged the whole layout so the figurine is in frame but the light doesn't cast a shadow on it, and I moved the second monitor so I can see chat without turning my head because I read this article about how eye contact with the camera increases engagement by like 23%">>
She's still holding my wrist. Her hand is small and warm and her thumb is resting against the inside of my wrist, against the pulse point, and I wonder if she can feel my heart rate doing whatever my heart rate is doing right now, which is something between "cardiovascular event" and "percussion solo."
<<eli "You read articles about camera eye contact engagement?">>
<<kira "I'm a professional.">>
<<eli "You're a nerd.">>
<<kira "I'm a nerd who makes rent. Sit.">>
She steers me into her desk chair a proper gaming chair, black with pink accents, ergonomic, the kind that supports your lower back instead of slowly compressing your spine into dust. I sit. It's comfortable. Offensively comfortable. My desk chair at home is a betrayal of the human skeleton, this is a throne.
<<eli "This chair is better than my bed.">>
<<kira "That says more about your bed than my chair.">>
She leans past me to wake the monitors. Both screens flare to life her desktop wallpaper is a stylized illustration of a girl with a pixelated sword, the same character as the figurine, her stream mascot. The taskbar is organized. She has folders. Named folders. I'm looking at the desktop of a person who has their shit together, and the desktop of a person who has their shit together looks absolutely nothing like mine.
<<kira "Oh wait, let me show you this ">>
She opens her streaming dashboard. The interface is the same one I use same platform, same layout but the numbers in it are from a different planet. A different galaxy. A different genre of existence.
[[Check dashboard|day_2_15]]<<set $day_step = 15>>
She tabs to last night's stream.
KiraByte VOD: Just Chatting + Gunmetal ft. Chat Challenge
Duration: 4 hours 12 minutes
Peak Viewers: 1,387
Average Viewers: 1,108
New Followers: 89
New Subscribers: 34
Donations: $487.23
Top Donation: $50 from WhaleKing_420 "kira ur the best streamer on the platform never stop"
I look at those numbers.
Eleven hundred average viewers. Eighty-nine new followers. Thirty-four subscribers. Four hundred and eighty-seven dollars. In one session. In four hours. She sat at this desk, in this chair, in front of this ring light, and four hours later she had earned more than I've earned in eight months of streaming. My total lifetime earnings all of it, every donation, every cent since I started EliPlays is somewhere around $180. She made nearly triple that in a single Tuesday evening.
The gap isn't a gap. It's a canyon. It's the Grand Canyon. It's the Mariana Trench turned on its side.
<<kira "It was a good night. Chat was really active. We did this thing where I let them pick my loadout in Gunmetal and I had to play with whatever they chose, and they gave me the worst possible combination the starter pistol and a smoke grenade and I somehow clutched a round and the whole chat went crazy.">>
<<eli "Fourteen tho peak viewers.">>
<<kira "Yeah! That was during the clutch. It got clipped and shared on Twitter. Or X. Whatever it's called now.">>
<<eli "Four hundred and eighty-seven dollars.">>
<<kira "That's actually below my average for a four-hour session. Last week I hit six-twenty.">>
Six hundred and twenty dollars. For one stream. My mouth is dry. I'm sitting in her chair, in front of her monitors, staring at her numbers, and my mouth is dry and my hands are on my knees and I can feel the disparity like a temperature cold, creeping, the specific chill of looking at proof that the same activity you do can produce wildly different results depending on variables you don't control.
<<eli "How.">>
It comes out flat. Not hostile. Just... flat. A genuine question stripped of everything except the need to know.
<<kira "Honestly?">>
<<eli "Yeah.">>
She pulls up her desk chair a separate one, smaller, that she keeps in the corner for when friends visit and sits beside me. Close. Our knees are almost touching. She smells like cherry blossom and ramen broth and something underneath both that's just skin and warmth.
<<kira "It's not one thing. It's a bunch of things. My setup yes. My content strategy yeah, I think about it. My schedule, my consistency, my community management. I reply to DMs. I remember regulars' names. I do gift sub trains. I have emotes that people actually use.">>
She pauses. Takes her glasses off. Cleans them on the hem of her turtleneck. Without the glasses her face looks different younger, softer, more exposed. Like the glasses are a frame and without them she's an unframed painting, beautiful but vulnerable.
<<kira "But if I'm being honest with you really honest the biggest reason is this.">>
She gestures at herself. At her face. At her body. At the whole of her, sitting there in the desk chair.
<<kira "I'm a girl. I'm a cute girl on camera. That matters more than any strategy or content plan or cable management in the world.">>
<<eli "Kira ">>
<<kira "No, listen. I'm not saying I don't work hard. I work my ass off. But I've seen guys who work just as hard harder and they're stuck at 50 viewers because the algorithm doesn't surface them the same way, and the audience doesn't click on them the same way, and the donation culture around male streamers is completely different. It's not fair. I know it's not fair. But it's real.">>
She puts her glasses back on. Looks at me directly.
<<kira "I get donations because I'm pretty. I get subscribers because guys want to feel close to a girl who pays attention to them. I get viewers because when a cute face shows up on a thumbnail, people click. The content keeps them there I'm good at what I do, I know that but the click? The first click? That's because I look like this.">>
She gestures at her face again. The wire-frame glasses. The blunt bangs. The sharp, intelligent eyes.
<<kira "If I were a guy with the exact same personality, the exact same humor, the exact same stream quality I'd be you, Eli. I'd be at six viewers with DarkSlayer telling me I suck.">>
The silence between us is loud. The apartment hums with the low noise of her PC fans. Outside, a car passes. Inside, I'm sitting in front of a dashboard that shows $487 and thinking about my $3.50 and the gap between those numbers is shaped like a face specifically, like the difference between her face and mine.
<<eli "So it's just... looks.">>
<<kira "Not just. But mostly.">>
<<eli "That's depressing.">>
<<kira "It's capitalism.">>
<<eli "Same thing.">>
She laughs. Sad, short. Not her real laugh the muted one, the one that carries weight.
<<kira "I know it's shitty to hear. I've thought about whether to tell you for a while. But you keep asking me how to grow and I keep giving you advice about titles and schedules and I ">>
She stops. Her jaw tightens. That thing she does when she's deciding something.
<<kira "The advice isn't wrong. But it's incomplete. The complete answer includes the fact that the streaming economy rewards a specific thing, and that thing is and I hate saying this an attractive girl on camera. It's the reality. I didn't make the rules. But I'd be lying to you if I didn't tell you they exist.">>
[[Accept the truth|day_2_16]]<<set $day_step to 16>>
I nod. I don't know what to say. Every stream tip video I've watched, every forum post I've read, every "how to grow on Twitch" guide they all dance around this. Be consistent. Engage with chat. Find your niche. Never: Be born with a face people want to look at. Preferably female. Because you can't put that in a YouTube thumbnail. You can't monetize that truth.
But Kira just said it. To my face. In her apartment, in front of her $487 dashboard, she looked at me and told me the truth that every small male streamer knows and nobody says.
<<eli "I appreciate you being honest.">>
<<kira "I'd rather you hate me for being honest than like me for being nice.">>
<<eli "I could never hate you.">>
It comes out too soft. Too much. I hear it leave my mouth and I know it's too much because her eyes change something shifts behind the glasses, a flicker, a warmth, and she uncrosses her legs and recrosses them and looks away for a second before looking back.
<<kira "Do you want to stream together? Just for fun. No pressure. I can host you on my channel for a bit it won't be a real collab, just me introducing you to my chat. It might help.">>
I should say no. Her chat seeing me seeing my face, my setup, my everything beside her would be a study in contrast. The before-and-after. The success and the failure, side by side. But she's offering something and I can hear in her voice that the offering matters to her, that she planned this too, the way she planned the ramen and the pickup and the "my treat," and saying no would be rejecting not just the stream but the intention behind it.
<<eli "Yeah. Okay. Let's do it.">>
[[Stream with Kira|day_2_17]]<<set $day_step to 17>>
<<set $hint to "Stream with Kira.">>
She sets up a Discord call between our accounts and adds my webcam feed as a secondary overlay on her stream layout. My face appears in a small rectangle in the upper right corner of her screen grainy, poorly lit, transmitted through my phone's front camera because my actual webcam is at home. I look like a hostage video next to her professionally lit, ring-light-enhanced, 1080p60 perfection.
<<kira "Ready?">>
<<eli "Define 'ready.'">>
<<kira "Able to speak words into a microphone without having a panic attack.">>
<<eli "...conditionally.">>
She goes live. The viewer count jumps not gradually, not the slow trickle I'm used to, but a surge. 200. 400. 600. In under a minute. Her community floods in, the chat scrolling so fast it's almost unreadable, a cascade of emotes and greetings and inside jokes I don't understand.
<<chat "kira_chat_mod_1" "KIRAAAA">>
<<chat "kira_chat_viewer_2" "hi kira!! 💕">>
<<chat "kira_chat_viewer_3" "queen is live lets goooo">>
<<chat "kira_chat_viewer_4" "who's the guy in the corner?">>
<<chat "kira_chat_viewer_5" "wait is that a dude on stream?">>
<<chat "kira_chat_viewer_6" "kira has a boyfriend??? 😢">>
<<kira "Hey everyone! Happy Thursday! So today I have a special guest my friend Eli! He streams on his own channel, EliPlays, he's super funny, say hi, Eli.">>
<<eli "Uh, hey everyone.">>
My voice sounds like a dial tone next to hers. She's projecting bright, warm, the streamer voice, the one that fills a room and makes you feel like you're the only person listening even when 800 other people are. Mine is flat, hesitant, the voice of a guy who's used to talking to four viewers and a bot.
<<chat "kira_chat_viewer_7" "hi eli">>
<<chat "kira_chat_viewer_8" "bro looks tired lol">>
<<chat "kira_chat_viewer_9" "is this the friend she talks about sometimes?">>
<<chat "kira_chat_viewer_10" "no offense but why is his cam quality so bad 😂">>
<<chat "kira_chat_viewer_11" "are they dating??">>
<<chat "kira_chat_viewer_12" "he's kinda mid ngl">>
<<chat "kira_chat_mod_1" "be nice chat or timeout hammer comes out">>
She glances at the chat. I can see her reading the messages. Her jaw tightens for a fraction of a second she saw the "mid" comment, the camera quality joke and then she's back, professional, redirecting.
<<kira "Eli and I are going to do some duo Gunmetal! We're going to see if we can carry each other. Fair warning we're both terrible.">>
<<eli "Speak for yourself. I'm strategically terrible.">>
A few laughs in chat. Not many. But a few.
[[Continue streaming|day_2_18]]<<set $day_step to 18>>
<<chat "kira_chat_viewer_13" "lol strategically terrible">>
<<chat "kira_chat_viewer_14" "give him a chance chat hes funny">>
We play. She's better than me she'd have to be, at her viewer level, because the audience expects competence but she's not dramatically better. She dies to a flanker and screams and I hear the scream through my phone and through her monitors simultaneously, a half-second delay that creates a brief, disorienting echo. I clutch a round, an actual clutch, a 1v3 that involves a gadget trick I didn't know I could pull off, and for ten seconds the chat scrolls with
<<chat "kira_chat_viewer_15" "WAIT">>
<<chat "kira_chat_viewer_16" "HE POPPED OFF">>
<<chat "kira_chat_viewer_17" "ok eli that was clean">>
<<chat "kira_chat_viewer_18" "eli cracked??">>
<<kira "ELI! THAT WAS INSANE! Did you guys see that?!">>
She's yelling. Genuinely. Her voice is high and bright and she's clapping and her chat is reacting and for ten seconds ten perfect, unreal seconds I feel it. The thing I've been chasing for eight months. Attention. Recognition. The warmth of being seen by more than four people and a troll.
Then the round ends. The next one starts. I die immediately. The chat moves on. By the third round they've forgotten the clutch and they're back to talking about Kira her outfit, her new panels, the figurine, an inside joke about something that happened last stream. My webcam feed sits in the upper right corner of the screen like a footnote, a small grey rectangle that the chat glances at occasionally the way you glance at a clock not because it's interesting, but because it's there.
Viewer count during our play session: Kira's average sits at 940. My channel, which I linked in her chat, gets 3 new clicks. Three. Out of 940 people who could have clicked, three did.
We play for forty-five minutes. She's entertaining throughout reacting, bantering, engaging chat, doing bits. I try. I contribute. I make jokes that land about 30% of the time and fall flat the other 70%. When I speak, chat occasionally acknowledges me. When she speaks, chat explodes. The asymmetry is constant, visible, measurable.
After the session she raids me. All 940 viewers, dumped into my channel at once. My viewer count which was at zero, because I'm not actually streaming on my own channel spikes to 940 for exactly twelve seconds before the raid disperses. 940 to 12. The number crashes like a stock after a pump-and-dump. Within two minutes, I'm back to nothing.
[[End the stream|day_2_19]]<<set $day_step to 19>>
She ends the stream. The monitors go quiet. The ring light powers down and the room shifts from professional to personal, the warm afternoon light replacing the cold LED glow.
<<kira "That was fun! You did great.">>
<<eli "I got three clicks, Kira.">>
<<kira "It takes time.">>
<<eli "You had nine hundred and forty viewers and three of them clicked on my channel. That's 0.3 percent. I have a lower conversion rate than spam email.">>
<<kira "Eli ">>
<<eli "I'm not mad. I'm just... doing math.">>
She's quiet. She knows the math. She did the math before I did she's been doing it since before we met, since she first started climbing and noticed the guys around her staying flat. She knows what those numbers mean. She knows what they say about me. About my face, my voice, my everything.
I stand up from her chair. Cross to the couch. Sit down. The cushions are real cushions, supportive, the kind that hold you rather than consume you. Everything in this apartment holds. Everything supports. Everything works.
She stays at the desk for a moment, watching me, and then she follows. Sits in her desk chair, rolls it toward the couch, stops about three feet away. Close enough to talk. Far enough to give me space.
<<kira "I know it's frustrating.">>
<<eli "It's not frustrating. It's it's physics. It's gravity. You can't fight gravity. You just fall.">>
<<kira "You're not falling.">>
<<eli "I'm not flying either.">>
She leans forward. Her elbows on her knees. The afternoon light from the window hits her from the side, catching the wire-frame glasses, the edge of her jawline, the small gold hoops in her ears. The pixel-heart tattoo on her inner wrist is visible as she clasps her hands, the black ink vivid against her fair skin. She's mid-sentence about something algorithmic bias, recommendation engines, the way the platform surfaces content based on viewer retention metrics and how thumbnail click-through rates are disproportionately influenced by
I'm staring.
Not at the dashboard. Not at the monitors. Not at the ring light or the acoustic panels or the braided cable sleeves.
At her.
The way the light catches the edge of her glasses. The way her bangs sit against her forehead, perfectly straight, a geometric precision that frames the soft chaos of her face when she's passionate about something. The way her lips move when she talks fast slightly ahead of the words, like her mouth is racing to keep up with her brain. The pixel-heart tattoo, the tiny permanent declaration of identity inked into her skin, visible because she gestures when she speaks, her hands painting the air between us.
She catches me.
<<kira "...and the click-through rate on thumbnails with are you listening?">>
<<eli "Yeah. Sorry. You just... you're really smart.">>
It's not smooth. It's not flirtatious. It's me awkward, sincere, accidentally honest. The kind of honesty that happens when your mouth outruns the part of your brain responsible for self-preservation.
Kira blinks. A faint pink crosses her cheeks not the ramen flush or the cold flush but something new, something underneath, something warm blooming from below the surface. She pushes her glasses up. The nervous gesture. The tell.
<<kira "I was literally talking about click-through rates.">>
<<eli "I know. It's hot.">>
I say it before my brain catches up. The word leaves my mouth and hangs in the air between us like a flare, red and impossible to ignore, illuminating everything. My face goes hot. Not warm hot. The kind of heat that starts at the neck and climbs and there's nowhere to hide from it because I'm sitting on her couch in her apartment three feet from her face and I just called her hot.
Her face goes red too. Not faintly fully. The pink bloom rises past her cheeks and reaches her ears and the bridge of her nose. Behind the wire-frame glasses, her eyes widen by a fraction. Her lips part. She uncrosses her legs.
The room vibrates. I don't mean that metaphorically I mean the air between us feels different, charged, like the moment before a storm when the pressure drops and everything goes quiet and electric simultaneously. The PC fans hum. Outside, a siren passes, distant and irrelevant. Inside, the space between the couch and her desk chair is three feet of charged atmosphere that neither of us is crossing and neither of us is retreating from.
She looks at me. I look at her. Three seconds of silence. They feel like thirty.
<span style="color: #ff69b4; font-weight: bold;">Kira's eyes are wide. Her cheeks are pink. Her lips are parted. She's looking at me like she just realized something important, something that was there all along but she never noticed until this moment.</span>
<span style="color:rgb(144, 7, 7); font-weight: bold;">**THIS IS MAJOR BRANCHING POINT</span>
[[Laugh it off|day_2_20_other]] | [[Hold her gaze|day_2_20_kira]]<<set $kira_arc = true>>
<<set $confidence += 5>>
I don't laugh.
I don't look away. I don't run my hand through my hair and force a chuckle and say "kidding, kidding" and let the moment dissolve into the safe formaldehyde of plausible deniability. I've done that my whole life deflected every vulnerable thing I've ever said by wrapping it in irony before anyone could take it seriously. Every compliment downgraded to a joke. Every real feeling wrapped in three layers of "haha just kidding" until the feeling suffocated.
Not this time.
My hands are on my knees. My face is burning. Every synapse in my brain is screaming take it back, take it back, say you were joking, laugh, deflect, survive and I don't. I sit there on Kira Nomura's couch in her apartment with her ring light and her $487 dashboard and I look at her and I let the word stand.
Hot.
I called her hot. To her face. In her apartment. While she was explaining click-through rates. This is either the bravest or the stupidest thing I've ever done, and the distance between those two options is narrower than I'd like.
Three seconds pass. They contain entire geological epochs. Continents drift. Stars form and die. I age a decade.
Kira doesn't look away either.
Her eyes are wide behind the glasses not shocked-wide, but open-wide, like something she's been holding shut just cracked open and the light is pouring in. The pink on her cheeks has deepened into something genuine, a flush that starts at her jawline and rises past her cheekbones. Her hands are still clasped in front of her, knuckles slightly white. The pixel-heart tattoo pulses with the rhythm of her wrist.
<<kira "...did you just call click-through rates hot?">>
<<eli "I called you hot. The click-through rates are a bonus.">>
I say it. Out loud. With my whole chest and my whole burning face and the absolute reckless conviction of a man who has $47 in the bank and nothing left to lose. The words come out steady, which surprises me, because inside I am a building on fire watching itself burn with detached fascination.
Kira uncrosses her legs. Recrosses them. The desk chair creaks under the shift of her weight. Her mouth opens. Closes. Opens again. I have never in a year and a half of knowing her, in hundreds of Discord calls and thousands of messages and a slowly expanding encyclopedia of her expressions and habits and tells I have never seen Kira Nomura at a loss for words.
<<kira "Eli. You can't just say that.">>
<<eli "Why not?">>
<<kira "Because I've been not-saying it for a year and a half and you can't just waltz in here and say it first when I've been practicing.">>
The room tilts. The floor shifts. Something fundamental about the geometry of my life rearranges itself in real time and I feel it happening the tectonic slide of everything I assumed about us grinding against everything that might actually be true.
<<eli "Practicing?">>
<<kira "In the shower. Like a normal person.">>
She says it fast. Almost too fast, like the words have been pressurized and the seal just broke. Her hands unlace and relace in front of her. She pushes her glasses up. Pushes them up again even though they haven't slipped. The nervous gesture on loop, a fidget that says everything her composure is trying to hide.
[[Stare at her|day_2_21_kira]]<<set $day_step = 21>>
I stare at her. She stares at me and then I laugh.
It comes from somewhere deep and surprised, a sound I don't recognize as mine not the dead, performative laugh I produce on stream, not the reluctant cough-laugh Marcus sometimes pulls out of me, but something new. Something involuntary. Something that sounds, for the first time in a long time, like a person who's happy.
Kira laughs too. The real laugh. The high, sudden burst she can't suppress it breaks through the pressed lips and the composure and the wire-frame glasses and it crinkles her nose and it makes her whole face scrunch up in exactly the way I've been cataloging for eighteen months. She covers her mouth with her hand but it doesn't help. The laugh is bigger than her hand. The laugh fills the room.
<<eli "You've been practicing. In the shower.">>
<<kira "Don't make fun of me!">>
<<eli "I'm not making fun. I'm I'm impressed. I didn't practice. I just blurted it out like an idiot.">>
<<kira "It was very smooth.">>
<<eli "'It's hot' while you're talking about thumbnails. Very smooth. Casanova energy.">>
<<kira "You know what, it kind of worked? Like, objectively terrible timing, but ">>
<<eli "But?">>
She takes her glasses off. Holds them in both hands. Without them, her face is naked the dark brown eyes unframed, wider than they look behind the lenses, slightly shiny in the afternoon light. She looks at me the way she looked at the dashboard earlier, except warmer. More scared. More real.
<<kira "It worked.">>
Two words. The room goes quiet again, but this time the silence isn't charged with panic it's charged with something softer, something that hums at a frequency I can feel in my sternum. The PC fans whir. The afternoon light shifts. We sit three feet apart on two different pieces of furniture and the three feet feel like both the shortest and longest distance in the world.
<<eli "We should probably talk about this.">>
<<kira "Or we could stream together and pretend it didn't happen.">>
<<eli "Or we could get dinner.">>
<<kira "...dinner works.">>
[[Go to Dinner|day_2_22_kira]]<<set $day_step = 22>>
<<set $hint to "Go to dinner with Kira.">>
She doesn't put her glasses back on right away. She holds them in her lap, fidgeting with the wire frames, bending them slightly and unbending them in a rhythm that matches whatever's happening in her head. I watch her hands. The small, precise movements. The pixel-heart tattoo appearing and disappearing as her wrist rotates.
<<kira "There's an izakaya two blocks from here. It's tiny. Like, twelve seats. The lighting is terrible.">>
<<eli "I love terrible lighting.">>
<<kira "I know you do.">>
She says it with a half-smile that contains more knowledge than the words suggest. I know you do. I know you prefer dim rooms. I know you avoid your reflection. I know the dark is where you feel safest. She knows these things about me because she's been paying attention for a year and a half, the same way I've been paying attention to her, and we've both been building archives of each other without ever naming what the archives were for.
<<kira "Give me ten minutes to change?">>
<<eli "You look fine.">>
<<kira "I've been in this turtleneck for eight hours and I did hot yoga in it this morning.">>
<<eli "...ten minutes is fine.">>
She disappears into the bedroom. The door doesn't fully close it stays open a crack, a sliver of light and movement visible through the gap. I don't look. I absolutely do not look. I look at my phone instead, which has three notifications: a text from Marcus, a Discord message from DarkSlayer (somehow), and a news alert about something I don't care about.
[[Check Marcus's text|day_2_23_kira]]<<set $day_step = 23>>
<<marc "how's the date going">>
I type back.
<<eli "it's not a date">>
I stare at the message. Delete it. Retype.
<<eli "i called her hot">>
The response is instantaneous.
<<marc "LETS GOOOOO">>
<<marc "and???">>
<<eli "she said she's been practicing saying it to me. in the shower.">>
<<marc "BRO">>
<<marc "I TOLD YOU">>
<<marc "i literally told you she likes you. yesterday. in the coffee shop. while you argued with me about it">>
<<eli "yeah">>
<<marc "so what now">>
<<eli "dinner">>
<<marc "DINNER 🔥🔥🔥">>
<<marc "wait where">>
<<eli "izakaya near her place">>
<<marc "bro that's a DATE date. izakaya is a date restaurant">>
<<eli "it has twelve seats and bad lighting">>
<<marc "INTIMATE. thats INTIMATE eli">>
<<marc "ok listen. be yourself. don't do the thing where you make everything a joke because you're scared">>
<<eli "i don't do that">>
<<marc "you literally told a girl you liked her">>
[[Put the phone away|day_2_24_kira]]<<set $day_step = 24>>
He has a point. I put the phone away.
Kira emerges from the bedroom seven minutes later. She's changed into a cream-colored oversized knit sweater that hangs off one shoulder, showing the strap of a black tank top underneath and the line of her collarbone. Different jeans high-waisted, dark wash, the kind that make her legs look longer than they are, which at 5'3" is a geometric achievement. Same platform sneakers. She's put the glasses back on but her hair is slightly different she's tucked one side behind her ear, which she doesn't usually do, and it changes the shape of her face in a way that makes me forget, briefly, how to breathe.
She's also wearing lip gloss. She wasn't wearing lip gloss before.
I notice this. I notice the lip gloss. I notice that she went into her bedroom to change for dinner with me and she put on lip gloss and I'm going to think about this every day for the rest of my life.
<<kira "Ready?">>
<<eli "Yeah.">>
<<kira "You're staring again.">>
<<eli "You put on lip gloss.">>
<<kira "It's chapstick.">>
<<eli "It's shiny.">>
<<kira "It's JANUARY. My lips are dry.">>
<<eli "Okay.">>
<<kira "Stop smiling.">>
<<eli "I'm not smiling.">>
<<kira "You're doing the thing where you try not to smile and it makes you smile harder.">>
I'm doing that. She's right. My face is doing something it hasn't done in months arranging itself into an expression that isn't fatigue or frustration or the flat neutral I wear like a mask. I'm smiling. Actually, genuinely smiling and I can't stop.
[[Go to the izakaya|day_2_25_kira]]<<set $day_step = 25>>
The izakaya is called Kitsune. It is, as advertised, tiny a narrow room with a wooden bar counter running the length of the left wall, six stools along it, and four small tables along the right, each barely big enough for two plates and two elbows. The lighting is a warm amber that comes from paper lanterns hanging at intervals and a string of exposed bulbs that cast everything in the golden-hour glow of a memory you haven't made yet. It smells like charcoal and soy sauce and grilled things.
<img src="images/locations/kitsune.jpeg" alt="Kitsune Izakaya" style="width:100%; height:auto;">
<<set $locationName to "Kitsune Izakaya">>
<<set $locationImage to "images/locations/kitsune.jpeg">>
We take a table in the back corner. The table is so small that our knees touch immediately, and this time neither of us pretends it's an accident. Her knee presses against mine and stays.
<img src="images/locations/kitsune_table.jpeg" alt="Kitsune Table" style="width:100%; height:auto;">
<<kira "So.">>
<<eli "So.">>
<<kira "We're doing this.">>
<<eli "We're doing this.">>
A waitress comes. Kira orders in a mix of English and Japanese edamame, gyoza, yakitori skewers, two Sapporos. I let her order because she knows what's good and I know nothing and the entire menu is in Japanese with small English subtitles that I'd need a magnifying glass to read in this lighting.
The beers arrive first. She picks hers up. Holds it out.
<<kira "To... I don't know. What are we toasting to?">>
<<eli "Click-through rates.">>
She kicks me under the table. I feel her platform sneaker connect with my shin and the contact sends the same electric jolt it did at lunch, except this time it's not a secret this time we're sitting in the golden light of an izakaya and she's wearing lip gloss and I called her hot forty-five minutes ago and everything that was subtext is becoming text.
<<kira "To honesty.">>
<<eli "To honesty.">>
We clink. Drink. The Sapporo is cold and clean and I feel it immediately because I've eaten one microwave burrito and a bowl of ramen today and my body has the alcohol tolerance of a house cat.
<<eli "I should eat something before this beer destroys me.">>
<<kira "The gyoza is coming. Don't die before the gyoza.">>
<<eli "No promises.">>
She laughs. The real one. Then she gets quiet. Her fingers trace the condensation on the beer glass, drawing absent patterns. I watch her do it and recognize the gesture it's her thinking tell. She does it on stream when she's considering a play. Drawing circles on the nearest surface while her brain works.
<<kira "I need to be honest with you. More honest than the streaming stuff.">>
<<eli "Okay.">>
<<kira "I've liked you since the first time we played together online. Before we ever met in person.">>
The words land in the center of my chest like a stone dropped into still water. Ripples moving outward. Everything shifting.
<<kira "Your voice. Your humor. The way you talk to chat even when nobody's there like you're keeping a promise to an audience that doesn't exist yet. When you're on stream, even with six viewers, you try. You always try. That's... I found that really attractive.">>
<<eli "You found my failure attractive?">>
<<kira "I found your persistence attractive. There's a difference.">>
[[The gyoza arrives|day_2_26_kira]]<<set $day_step = 26>>
The gyoza arrives. Six of them on a small plate, perfectly browned, steam curling from the crimped edges. Neither of us touches them.
<<kira "When we met in person I thought... I don't know what I thought. You're not my usual type.">>
The sentence hangs. She takes a breath. Her finger stops tracing the condensation. She looks at me directly no glasses-push, no deflection, no escape hatch.
<<kira "I usually go for girls.">>
The words settle into the golden air between us. I hear them. Process them. Rearrange every assumption I've held about Kira Nomura in the space of a heartbeat.
<<eli "Girls?">>
<<kira "...yeah. I've dated girls before. A couple times. One in high school my best friend, classic story, very dramatic, very lesbian. One in my first year of college this girl from my dorm who played bass in a shoegaze band and had tattoo sleeves and I was completely, embarrassingly obsessed with her. That lasted four months.">>
She picks up a gyoza. Bites it. Chews. It's a stalling tactic the same thing I do when I need a second to organize my thoughts, except hers involves well-cooked dumplings and mine involves microwave burritos.
<<kira "I've always known I liked girls. That was never complicated. I like the way women look, the way they talk, the way they smell. I like softness and curves and the specific kind of intelligence that women have when they're not performing for men.">>
She takes another bite. Swallows.
<<kira "But then I met you. Online first, and you were funny and sad and honest in a way that I couldn't stop thinking about and then in person, and you were... you.">>
<<eli "Greasy-haired and broke?">>
<<kira "Shut up. You were real. You're the most real person I've ever met. Everyone on the internet is performing I'm performing, my viewers are performing, the whole ecosystem is a stage and you just... aren't. You can't perform. You're terrible at it. It's your worst quality and also the thing I like most about you.">>
She puts the gyoza down. Half-eaten, abandoned on the edge of the plate.
<<kira "You were a guy and I liked you and I just... shelved it. Filed it under 'complicated' and left it there. Told myself it was friendship. Told myself the heart emojis were just how I talk. Told myself 'good boy' was a bit.">>
<<eli "...was it a bit?">>
<<kira "Eli. I typed 'good boy' with a smirk emoji and then stared at my phone for four minutes waiting for your response. Does that sound like a bit?">>
<<eli "You waited four minutes?">>
<<kira "You sent 'lol.' Three letters. I sent you the most charged two words in my vocabulary and you sent me 'lol.' I almost threw my phone in the bath.">>
<<eli "I panicked.">>
<<kira "You panicked! I could tell! That's what made it worse I knew you liked it and you STILL sent 'lol.' You absolute coward.">>
<<eli "In my defense, my brain shut down.">>
<<kira "Good. My brain shut down for eighteen months. Welcome to the club.">>
The yakitori arrives. We ignore it. The untouched food accumulates between us like evidence that something more important is happening here than eating.
<<eli "So you're... bisexual?">>
<<kira "I don't love labels. But yeah, if you need one, bi works. I like people. I like specific people, specifically. Gender is... part of the equation, but it's not the whole equation. With girls it's immediate I see a beautiful woman and my brain just goes 'yes.' With guys it's slower. It's like I need to know them first. I need to hear how they think before I can feel anything.">>
<<eli "Demisexual? For guys, I mean.">>
<<kira "Maybe? I've read about it. The terminology doesn't matter to me as much as the reality, and the reality is ">>
She reaches across the table. The small table, the tiny two-top with the beer glasses and the untouched yakitori and the half-eaten gyoza. Her hand lands on mine. Small over large. Warm over cold. Her fingers curl around the edge of my palm and I feel the pixel-heart tattoo press against my skin, the raised ink a tiny Braille declaration.
<<kira "The reality is that I like you. I've liked you for a long time and I was too scared to say it because you're my friend and I didn't want to lose that. Because I wasn't sure if I was allowed to like, as a girl who mostly likes girls, am I allowed to also like a boy? Is that valid? It sounds stupid when I say it out loud but it was a whole thing in my head for months.">>
[[Its valid|day_2_27_kira]]<<set $day_step = 27>>
<<eli "It's valid.">>
<<kira "I know it's valid intellectually. But at 2 AM when you're lying in bed analyzing every interaction you've had with someone and trying to figure out if the butterflies are real or if you're just lonely and touch-starved and projecting intellectual validity doesn't help much.">>
<<eli "I do that too. The 2 AM thing.">>
<<kira "You do?">>
<<eli "Kira. I've been lying in bed at 2 AM replaying your messages and analyzing emoji placement for a year and a half. You sent me a red heart once and I spent three days trying to figure out if red means more than pink.">>
<<kira "It does.">>
<<eli "...it does?">>
<<kira "Red is the real one. Pink is friends. Red is... not friends.">>
<<eli "You sent me red.">>
<<kira "I sent you red.">>
Our hands are interlaced now. My fingers large, rough, the nails bitten down, the skin around the thumbnails raw from anxious picking threaded through hers. Small, smooth, warm. The size difference is absurd. Her hand disappears inside mine like it was designed to be held there. I can feel her pulse through her wrist, or maybe that's my pulse, or maybe it's the same pulse two hearts running the same tempo in a tiny izakaya in January.
<<eli "I don't know what I'm doing.">>
<<kira "Literally no one does.">>
<<eli "No, I mean I have twelve viewers and forty-seven dollars in my bank account and I can't afford this beer and I'm wearing the same joggers I wore yesterday. You have a career. You have a ring light. You have cable management. I don't have anything.">>
<<kira "You have me.">>
<<eli "Kira.">>
<<kira "What? It's true. You have me. If you want me.">>
Her thumb traces a circle on the back of my hand. Slow. Deliberate. The same gesture she was doing on the beer glass, except now the surface is my skin and the pattern she's drawing is something I can feel moving through every nerve in my arm and down my spine and into the part of my chest where the dangerous feelings live.
<<eli "I want you. I've wanted you since the first time you laughed on a Discord call and I had to mute myself because the sound you made did something to my heartbeat that I couldn't explain to a doctor.">>
<<kira "...that might be the most romantic thing anyone's ever said to me, and it's about a Discord call.">>
<<eli "Our entire relationship has been on Discord. Romance adapts to the medium.">>
She laughs. The real one. The crinkle-nose, glasses-slip, hand-over-mouth laugh that I've been hoarding in my memory like a miser counting coins. Except this time I'm not hearing it through earbuds on a late-night call. I'm hearing it across a table, in person, with her hand in mine, and it sounds different at close range. Fuller. Warmer. Realer.
We eat. Finally. The yakitori is good charcoal-grilled chicken on skewers, glazed with tare, smoky and sweet. The gyoza is better. The beer is making me warm, not drunk, the pleasant looseness that comes from one drink on a mostly-empty stomach in a room with good lighting and a girl who just told you she likes you.
We talk for three hours.
Not about streaming. About everything else.
Her family Japanese-American, second generation, her grandparents on her mom's side immigrated to California in the '80s. Her dad is white, from Michigan, an engineer who's supportive but perplexed by her career choice. Her mom runs a small bakery in the suburbs and sends Kira care packages of mochi and handwritten notes in a mix of English and Japanese. She has a younger brother, sixteen, who thinks streaming is embarrassing but secretly watches all her VODs.
<<kira "He'll never admit it but I can see his username in my viewer list. 'NotKirasBrother.' Very subtle.">>
My family or the absence of one. Dad left before I remember. Mom works two jobs in another state and sends money every couple of months with a text that says "hope you're eating ok" which is both the most and least she's capable of giving. No siblings. No grandparents I'm close to. Marcus is the closest thing I have to family, and he fills the role with a combination of insults and cheese puffs that somehow works.
<<eli "I don't have a sad backstory. It's not dramatic. My mom's just... far. In every way.">>
<<kira "That can be its own kind of sad.">>
<<eli "I guess. I don't think about it much.">>
<<kira "You think about everything much.">>
She's right. I do. I think about everything constantly the ceiling crack, the viewer count, the $47, the gap between my life and the lives of people who seem to know how to live. The difference is that I think about these things the way you think about weather: as conditions I exist inside, not problems I can solve. Kira thinks about things like puzzles. I think about things like atmosphere.
Music she's into J-rock, specifically a band called Teki no Hana that she describes with the fervor of a religious convert. I'm into whatever Spotify autoplay decides, which she finds genuinely offensive.
<<kira "You let an ALGORITHM choose your music?">>
<<eli "It knows me better than I know myself.">>
<<kira "That's the saddest thing you've said today, and you've said some sad things.">>
<<eli "At least the algorithm doesn't judge my taste.">>
<<kira "I'M judging your taste. Actively. Right now.">>
[[Game Talks|day_2_28_kira]]<<set $day_step = 28>>
Games we argue about tier lists for twenty minutes with the kind of genuine passion that two people who met in a gaming Discord are contractually obligated to produce. She thinks Rift Walkers is overrated. I threaten to leave.
<<eli "You can't call Rift Walkers overrated. Marcus and I died on Floor 14 together. That's a bond.">>
<<kira "You died on Floor 14 because you're bad.">>
<<eli "We died on Floor 14 because the boss has SIX ARMS.">>
<<kira "Skill issue.">>
<<eli "You're cruel.">>
<<kira "You like it.">>
I do. God help me, I do. The banter is different now the same rhythm we've always had, the same call-and-response, but everything lands differently when your hand is still warm from holding someone's. Every joke has a weight to it. Every eye-roll is a caress and throughout all of it the stories, the arguments, the food, the beer there's a slow, circling approach toward the thing we said in her apartment. We get close to it. We veer away. We come back. Like two people walking around a fire, feeling the heat, daring each other to step closer.
<<kira "Can I tell you something embarrassing?">>
<<eli "You practiced confessing to me in the shower. How much more embarrassing does it get?">>
<<kira "I once opened your stream at 3 AM on my laptop and fell asleep listening to you play. Like... on purpose. I put you on as background noise because your voice ">>
She stops. Her cheeks, already warm from the beer, go fully pink.
<<kira "Your voice is calming. When you're not performing, when you're just talking to nobody, you have this... low, quiet thing. Like you're thinking out loud. I find it incredibly ">>
She catches herself. Picks up her beer. Drinks. Puts it down.
<<eli "Incredibly what?">>
<<kira "Don't make me say it.">>
<<eli "You made me say mine.">>
<<kira "You said 'hot.' While I was talking about thumbnails. In my own apartment.">>
<<eli "Now it's your turn.">>
She looks at me. Full eye contact, no glasses-push, no escape. The amber light from the paper lanterns makes her eyes look like they contain something molten.
<<kira "Attractive. I find your voice incredibly attractive. The real one, not the stream one. The 3 AM one. The one you use when you think nobody's listening.">>
<<eli "Nobody IS listening. That's the problem.">>
<<kira "I was listening.">>
The words sit between us on the small table, next to the empty skewer plate and the beer glasses with their condensation rings. I was listening. Past tense and present tense and future tense all at once. She was listening when no one else was. She is listening now. She will keep listening.
<<eli "You know, when Marc told me you liked me, I didn't believe him.">>
<<kira "Marc said that?">>
<<eli "Always, yesterday specially. At the coffee shop. He said 'she likes you you' with emphasis on the second you. Like there's a special you that's different from the regular you.">>
<<kira "There is.">>
<<eli "What's the difference?">>
<<kira "Regular you is when someone likes the idea of you. Like, your persona, your content, whatever you project. Special you is when someone likes the part you don't show anyone. The 3 AM part. The penguin-knees-at-4 AM part. The part that picks at your thumbnails when you're anxious and eats microwave burritos for dinner and stares at the ceiling instead of sleeping.">>
<<eli "How do you know about the thumbnail thing?">>
<<kira "Eli. We've been on video calls. I notice things.">>
She notices things. She notices the thing I do with my hands when I'm nervous. She notices my 3 AM voice. She notices the difference between my stream self and my real self, and she chose the real one.
Something in my chest unlocks. Not breaks I've had enough breaking. This is the opposite. A lock turning. A door opening. A room I didn't know existed in my own body suddenly lit up and warm and full of something I'm terrified to name.
<<eli "I'm scared.">>
I say it without planning to. Like the "hot" thing, but deeper. Realer.
<<kira "Of what?">>
<<eli "That this is the best day I've had in years and it's going to end and tomorrow I'll be back in my apartment with my twelve viewers and my ceiling crack and this will feel like something I imagined.">>
She puts her beer down. Slides her hand across the table, palm up, fingers open. An invitation.
<<kira "Then don't imagine it. Be here.">>
I take her hand. Our fingers interlace again. The geometry is the same as before large and small, rough and smooth but this time I hold tighter. This time she holds back.
[[Leave the izakaya|day_2_29_kira]]<<nobr>>
<<set $day_step = 29>>
<<set $hint to "Go Home">>
<<set $locationName to "Neighborhood">>
<<set $locationImage to "images/locations/neighbourhood.jpeg">>
<</nobr>>
We leave at 10:30. The izakaya is closing and we're the last ones there, the staff pointedly wiping down tables around us while we pretend not to notice. Kira pays. I try to argue. She gives me the look the jaw-set, eyes-forward, topic-is-closed look and I let her.
Outside, the January night is bitter. The cold has teeth tonight, the kind that get through the hoodie and the grey shirt and the skin and settle into the bone. My breath makes clouds. So does hers. We stand on the sidewalk in front of Kitsune and the street is empty and the city is quiet in the way cities get at this hour not silent, but muted, the background hum dialed down to something like a whisper.
<<kira "I'll drive you home.">>
<<eli "You don't have to ">>
<<kira "I swear to God if you say I don't have to one more time ">>
<<eli "Okay. Drive me home.">>
We walk to her car. Two blocks. The Civic is where she left it, outside her building, and the walk is short but the cold makes it feel longer. Our hands are in our respective pockets it's too cold for hand-holding, too cold for exposed skin but we walk close. Close enough that our shoulders brush with every other step. Close enough that I can feel her warmth even through two layers of January air.
She unlocks the car. We get in. The cherry blossom air freshener hits me and this time it doesn't just smell like her car it smells like a memory being formed, the scent that will always mean this night, this person, this moment.
She starts the engine. The heater coughs to life. We sit in the warming car while the windshield defrosts, the glass clearing in slow circles from the vents outward.
<<kira "I had a really good time.">>
<<eli "Me too.">>
<<kira "Like... a really good time. An embarrassingly good time. Like, I'm going to go home and journal about this.">>
<<eli "You journal?">>
<<kira "Don't judge me.">>
<<eli "I'm not. I'm going to go home and lie on a floor mattress and stare at a ceiling crack about this. Everyone processes differently.">>
She laughs. Soft this time. Not the burst the other one, the quiet one, the one that sounds like a sigh that decided to be happy instead. She's looking at the windshield, watching the frost clear. Her profile is lit by the dashboard glow green and blue light tracing the edge of her nose, her chin, the curve of her lower lip with its shiny chapstick that we both know is lip gloss.
<<kira "Eli?">>
<<eli "Yeah?">>
She turns to face me. In the small car, in the dark, with the heater breathing warm air between us and the cherry blossom hanging in the space, she turns her whole body toward me and she's close closer than the izakaya, closer than the ramen shop, closer than she's ever been. I can see the individual eyelashes behind her glasses. I can see the faint freckle near her left eyebrow that I've only ever noticed in high-res selfies. I can see her pulse in her neck.
<<kira "I'm going to do something and I need you to not panic.">>
<<eli "That's exactly the kind of sentence that makes people panic.">>
<<kira "Eli.">>
<<eli "I'm not panicking.">>
She leans across the center console. The movement is slow and deliberate Kira doesn't do anything without intention but there's a tremor in it, a vibration in her hands as they find the front of my hoodie and curl into the fabric. She's shaking. The girl with 1,100 viewers and $487 sessions and a career and a ring light and cable couture is shaking.
Her face is close. Two inches. I can feel her breath warm, slightly sweet from the beer, landing on my lips. Her eyes are huge behind the glasses, the brown irises catching dashboard light, and she's looking at me the way she looks at her stream in the seconds before she goes live focused, terrified, committed.
<<kira "Hi.">>
<<eli "Hi.">>
She closes the distance.
Her lips press against mine and the world narrows to a single point of contact soft, warm, slightly sticky from the lip gloss, trembling. It's not a movie kiss. It's not choreographed or graceful or perfectly angled. Her glasses bump my nose. Her hand in my hoodie pulls me forward at an awkward angle across the center console. My seatbelt locks and catches me mid-lean. It's clumsy and human and real and it's the best thing I've ever felt.
I kiss her back. My hand comes up the hand with the bitten thumbnails and the raw skin around them, the hand that picks at itself when it's anxious and it touches her face. Her cheek. The soft skin above the jawline, warm beneath my cold fingertips. She makes a sound. Small, barely audible, a breath that changes shape on the way out, halfway between a sigh and something that has no name.
<img src="images/scenes/day_2/day_2_1.jpeg" style="width:100%; height:auto;">
Time does the thing again. Three seconds. Thirty. Three hundred. I don't know. The dashboard glows. The heater hums. The cherry blossom fills the car. Her lips move against mine and mine move against hers and the kiss is gentle and careful and terrified and certain, the kiss of two people who have been circling each other for eighteen months and finally stopped.
She pulls back first. Not far just enough to see my face, to check, to make sure. Her eyes search mine. Her hand is still in my hoodie. My hand is still on her cheek. We're suspended in the space between the kiss and whatever comes after it, a liminal zone where everything is possible and nothing has gone wrong yet.
<<kira "Was that okay?">>
<<eli "Kira.">>
<<kira "Because I can't tell if you're in shock or ">>
<<eli "That was the best thing that's ever happened to me. Including the time I clutched a 1v3 on stream.">>
<<kira "You're comparing our first kiss to a video game clutch.">>
<<eli "The clutch was my previous benchmark for peak life experiences. You just surpassed it.">>
She drops her forehead against my shoulder. I feel her laughing more than hear it a vibration through the fabric of my hoodie, a shaking in her small frame. Her hand releases my hoodie and slides around to the back of my neck, her fingers finding the short hair at my nape, and the touch sends a cascade of electricity down my spine that makes my breath catch.
<<kira "You absolute disaster of a human being.">>
<<eli "Your disaster.">>
<<kira "...yeah. My disaster.">>
We sit like that for a while. Her forehead on my shoulder. My hand on the back of her head, fingers in her bob, the silk-straight strands sliding between my rough fingers. The heater fills the car with warmth. The windows fog from two people breathing too close together in a small space. Outside, January continues. Inside, something new has started.
[[Go Home|day_2_30_kira]]She drives me home. The streets are empty. She keeps one hand on the wheel and the other finds mine across the center console our fingers interlace on the gearshift housing, her thumb tracing slow circles on my knuckle the way she traced the condensation on her beer glass. The radio plays something low and Japanese, a song I don't know but will find and listen to on repeat until the algorithm learns this night's frequency.
She pulls up to my building. The building with the broken elevator and the warped bathroom door and the ceiling crack. From outside, in the dark, it looks like every other building on the block anonymous, indifferent, the kind of structure that exists to house people who can't afford to live anywhere better.
<<kira "This is you.">>
<<eli "This is me.">>
Neither of us moves. The engine idles. Her hand is still in mine.
<<kira "Tomorrow.">>
<<eli "Tomorrow?">>
<<kira "I want to see you tomorrow.">>
<<eli "I'll be streaming.">>
<<kira "Stream in the morning. See me in the afternoon.">>
<<eli "Kira, you're taking two days off in a row. Your viewers ">>
<<kira "My viewers will survive. I want to see you.">>
The way she says it. I want to see you. The same words from yesterday's message "I know. I want to." except now they carry the weight of a kiss and a confession and a three-hour dinner and the knowledge that the red heart means something different from the pink one.
<<eli "Okay. Tomorrow.">>
<<kira "Set a real alarm.">>
<<eli "I will.">>
<<kira "And eat breakfast. A real one. Not a burrito.">>
<<eli "I make no promises.">>
She leans across the console again. This time I meet her halfway. The second kiss is shorter but surer her lips on mine, firm and warm, a punctuation mark at the end of a sentence that took eighteen months to write. She smells like cherry blossom and beer and the lingering smoke from the izakaya charcoal grill, and I breathe her in and hold it.
<<kira "Goodnight, Eli.">>
<<eli "Goodnight, Kira.">>
I get out. Close the door. The cold hits me like a wall the January air reclaiming every degree of warmth the car gave me. I stand on the sidewalk and watch her pull away, the Civic's taillights glowing red in the dark, and I feel something I haven't felt in so long that it takes me a moment to identify it.
Hope.
Not the desperate, grasping kind. Not the "maybe the next stream will be different" kind. Something quieter. Something with roots.
[[Go to Apartment|day_2_31_kira]]<<set $day_step = 31>>
<<set $hint to "Go to Sleep">>
<<set $locationName to "Apartment">>
<<set $locationImage to "images/locations/eli_apartment.jpeg">>
My apartment is dark. Cold. The same 280 square feet of managed decline I left eight hours ago. I flip the light flicker, flicker, on and everything is where it was. The mattress. The desk. The monitors. The fridge. The crack.
But it's different. Something about the room is different and I realize, standing in the doorway with my keys in my hand and my lips still tingling, that the thing that's different is me. The room hasn't changed. I have. I'm standing in the same space with the same furniture and the same overhead bulb and the same $47 in my bank account (minus nothing, because Kira paid for everything, because she wanted to, because she said "you have me" across a table in an izakaya and I believed her).
My phone buzzes.
<<kira "home safe. also: aaaaaaaahhhhhhh">>
<<eli "same. to both.">>
<<kira "i can't believe you called click-through rates hot">>
<<eli "i can't believe you practiced in the shower">>
<<kira "i had a whole SPEECH, eli. it was eloquent. it mentioned your eyes.">>
<<eli "my eyes?">>
<<kira "you have nice eyes. they're sad but they're nice. like a poem that hasn't found its ending yet.">>
<<eli "...that's the most beautiful thing anyone's ever said about my face.">>
<<kira "your face is underrated">>
<<eli "my face has 54 followers">>
<<kira "your face has me. that's worth at least 55 followers">>
<<eli "generous">>
<<kira "i'm a generous person. ask my stream dashboard 😏">>
<<eli "low blow">>
<<kira "❤️">>
Red. The real one.
<<eli "❤️">>
I send it back. The red heart. The one that means not-friends. My first time sending it. My thumb doesn't hesitate.
<<kira "goodnight eli. for real this time. dream about something good">>
<<eli "i will">>
<<kira "like what?">>
<<eli "like a girl who practices confessions in the shower and drinks ramen broth directly from the bowl">>
<<kira "...">>
<<kira "okay that was smooth. who are you and what have you done with the guy who sent me 'lol'">>
<<eli "he died. i killed him. the click-through rates killed him">>
<<kira "goodnight disaster ❤️">>
<<eli "goodnight 🖤">>
[[Go to Bed|apartment_map]]<<set $day_step = 32>>
I put the phone down. I'm lying on the mattress I don't remember getting here, don't remember taking off my shoes or the hoodie, but I'm here, on the grey sheets, the phone beside my head, the ceiling crack above me in the dark.
I stare at it. The river delta. The fracture line. The slow, geological evidence of a building coming apart.
It's still there. Everything is still there the $47, the twelve viewers, the dead-pixel monitor, the DarkSlayer messages, the gap. The gap is still the gap. Kira making $487 while I make $3.50 didn't change because she kissed me. The algorithm didn't reorganize itself because two people held hands in an izakaya. Tomorrow I'll wake up and stream and nobody will watch and the numbers will be the numbers.
But.
There's a "but" now. A small, warm, cherry-blossom-scented "but" that sits in the center of my chest like a seed. I don't know what grows from it. I don't know if it survives. But it's there, and it wasn't there yesterday, and that matters.
I close my eyes. The fridge hums.
I sleep and for the first time in months, I sleep with something other than the ceiling crack on my mind.
I dream about a girl with blunt bangs and wire-frame glasses who laughs like she can't help it, who tastes like lip gloss and Sapporo, who said "you have me" like it was the simplest truth in the world.
[[Sleep|eli_bed]]<<set $day_step to 20>>
<<set $day = 2>>
I laugh. It comes out wrong too fast, too high, a bark of sound that doesn't match my face or my voice or anything about me. It's the emergency laugh. The one I keep behind glass labeled BREAK IN CASE OF EMOTIONAL VULNERABILITY. My hand comes up and runs through my hair the hotel-shampoo hair, the hair I washed for her and I force a grin that feels like a mask being stapled to my face.
<<eli "Kidding, kidding. Anyway, the algorithm you were saying something about click-through rates?">>
The moment shatters. I can hear it a crystalline sound, like a glass dropped on tile, except it's happening inside my chest. The charged air between us deflates. The three seconds of silence collapse into nothing, vacuum-sealed and buried.
Kira blinks. The pink on her cheeks doesn't vanish instantly it lingers, a ghost of the thing that almost happened, fading slowly like a sunset nobody photographed. She pushes her glasses up. Once. Twice. The nervous tell, firing in rapid succession.
<<kira "...right. Click-through rates. Yeah.">>
She clears her throat. Recrosses her legs. Turns back to the monitor and the dashboard with its $487 and her voice picks up the thread of algorithmic bias like nothing happened, like the air between us didn't just vibrate at a frequency that could shatter glass, like I didn't just call her hot and then take it back with the speed and grace of a man defusing a bomb he built himself.
Her voice is steady. Professional. The streamer voice. The wall.
I sit on the couch and nod and say "yeah" and "that makes sense" and "interesting" in all the right places, and behind every word my brain is running a parallel track that sounds like this: you coward. You absolute coward. You had the moment. The moment was RIGHT THERE. She was looking at you and her cheeks were pink and she pushed her glasses up twice and you could have held her gaze and said "I meant it" and instead you laughed. You LAUGHED. You wrapped the most honest thing you've said in months inside a joke and handed it back like defective merchandise.
The algorithm talk continues. I absorb maybe 40% of it. The rest of my cognitive capacity is devoted to a postmortem of the last thirty seconds replaying the look on her face when I said "hot," the specific pink of her cheeks, the way her lips parted, the 0.5-second window where she was waiting for me to mean it and I chose, consciously, to not mean it.
Because what would happen if I meant it? If I'd held her gaze? If I'd followed "it's hot" with "you're hot" and let the words stand without the emergency laugh and the hair-run and the "kidding"? What then? A girl with 1,100 viewers and a ring light and cable management looks at a guy with $47 and a ceiling crack and says... what? "Thanks, you too"? "That's sweet but we're friends"? The math doesn't work. The math has never worked. And the gap between her dashboard and mine is a canyon I can see the bottom of, and the bottom is my face.
We look at each other. The air between us is different now not charged like before, but heavy. Weighted with the thing I said and took back and the truth she told me about faces and algorithms and the specific cruelty of a system that rewards appearance over everything.
<<eli "I should probably head out. Let you have your evening back.">>
<<kira "You're not taking my evening. I invited you.">>
<<eli "Yeah, but ">>
<<kira "Eli. Stay if you want. I can make tea. We can watch something.">>
Stay. She said stay. On her couch, in her apartment, with tea and a show and the proximity of her body on the cushion next to mine and the knowledge that I called her hot and took it back and she let me and neither of us will mention it again.
<<eli "I think I need to go home. Work on some stuff.">>
<<kira "Stream stuff?">>
<<eli "Yeah. Stream stuff.">>
She nods. She doesn't push it. Kira has the same gift Marcus has the ability to let someone retreat without making the retreat feel like failure. She grabs her keys, her jacket, her phone. She drives me home.
[[Go Home|day_2_21_other]]<<nobr>>
<<set $day_step to 21>>
<<set $hint = "Go home">>
<<set $locationName to "Car Ride">>
<<set $locationImage to "images/locations/neighbourhood.jpeg">>
<</nobr>>
The car ride is different.
Same Civic. Same cherry blossom air freshener clipped to the vent. Same heater breathing warm air into the small space between us. But the energy is wrong not hostile, not awkward, just... unsettled. Like a snow globe that's been shaken and the flakes haven't landed yet.
Her hands are on the wheel. Both of them. Ten and two, proper, correct, the posture of a person who is focusing on driving and absolutely not thinking about anything else.
I look out the window. The January city scrolls by grey buildings, grey people, the flat grey light of a winter afternoon dying into evening. The dashboard clock says 5:15.
<<kira "Hey, can I say something?">>
<<eli "Yeah.">>
<<kira "What you said earlier. About click-through rates.">>
My stomach drops through the floor of the car and continues descending into the earth's crust.
<<eli "I was kidding.">>
<<kira "I know. But ">>
<<eli "Kira, I was joking. It was a dumb joke.">>
She's quiet for a second. The blinker clicks as she turns onto my street. The sound is mechanical, rhythmic, indifferent.
<<kira "Okay.">>
One word. Flat. Not hurt not exactly but clipped in a way that tells me she had more to say and chose not to say it. She had a sentence loaded and I shut the barrel before she could fire. I did the thing I always do closed the door, boarded the windows, retreated into the safe house of "I was kidding" where nothing means anything and nothing can reach me.
She pulls up to my building.
<<kira "This is you.">>
<<eli "This is me.">>
<<kira "Text me later?">>
<<eli "Yeah. Definitely.">>
<<kira "Eli?">>
<<eli "Yeah?">>
She looks at me. Full eye contact. The afternoon light is nearly gone and her face is half in shadow, the wire-frame glasses catching the last remnant of daylight, and she has the expression she wears when she's about to say something true jaw set, eyes steady, the streamer mask completely absent.
<<kira "The streaming thing. The numbers. The gap. I know it feels like it's about you like your face, your voice, your personality. But it's not. It's the system and systems can be hacked.">>
<<eli "What does that mean?">>
<<kira "I don't know yet. But think about it.">>
I nod. Open the door. The January cold rushes in, obliterating the cherry blossom and the warmth and everything the car contained. I step out. Close the door. The Civic pulls away. Red taillights in the grey street. Gone.
I stand on the sidewalk for ten seconds, breathing cold air, my hands in my hoodie pockets, the left hand finding the quarter-sized hole and pushing through it. The building looms. The window of my apartment is dark.
I go inside.
<<set $hint to "Enter the apartment and Stream">>
[[Enter Apartment|neighbourhood]]<<set $day_step to 22>>
The apartment hasn't changed. Hasn't improved. Hasn't rearranged itself into something livable while I was gone. Same 280 square feet. Same mattress. Same desk. Same fridge. Same crack. The burrito wrapper is still on the counter. The Monster can is still on the floor. Everything is exactly as terrible as it was when I left this morning with washed hair and a grey shirt and the stupid, naive hope that today would be different.
Today was different. Just not the way I wanted.
I sit at the desk. Don't take off the hoodie. Don't take off the shoes. Just sit, in the dark, the chair sinking its customary inch and a half, the hydraulic cylinder wheezing. I jiggle the mouse. The monitors wake.
The main screen shows my desktop. The second shows my stream dashboard the morning session stats still visible.
Peak Viewers: 5
Average Viewers: 3.1
Donations: $3.50
[[Open Browser|day_2_23_other]]<<nobr>>
<<set $day_step to 23>>
<<set $hint to "Stream">>
<<set $locationImage to "images/locations/eli_desk.jpeg">>
<<set $hint = "Search Solution">>
<</nobr>>
I open a new browser tab. I don't know what I'm looking for I just start browsing, the same aimless scroll I do every night, the same journey through the bowels of the internet that never leads anywhere but always feels like it should. YouTube. Reddit. Twitch. The browse page.
I click on the Just Chatting category on Twitch. Sort by viewers, descending. The top streams load: faces, faces, faces. Beautiful faces. Women, mostly. Ring-lit, softly filtered, perfectly framed. A girl with pink hair and 14,000 viewers, talking, just talking, and the donation scroll on the side of her screen is moving so fast it's a blur. $5, $10, $20, $50. One after another. For talking. For existing. For being a face that makes people stop scrolling.
I click on her stream. Watch for two minutes. She's funny. Charismatic. Good at what she does. But the chat isn't talking about her jokes they're talking about her. Her eyes. Her smile. Her outfit. She's wearing a low-cut top and every third chat message is about it.
<<chat "pink_hair_viewer_1" "you're so pretty omg">>
<<chat "pink_hair_viewer_2" "marry me pls 😩">>
<<chat "pink_hair_viewer_3" "take my money queen">>
<<chat "pink_hair_donation" "$25 from SimpLord420: you make my day every time i tune in">>
Twenty-five dollars. For being present. For being seen. For having a face that a stranger wants to pay to look at.
I click away. Open another stream. Another woman, this one with black hair and a Japanese-style room setup acoustic panels with cherry blossom prints, soft pink lighting, cat-ear headphones. 8,000 viewers. She's playing the same game I play Gunmetal Requiem and she's worse than me. Objectively, measurably worse. She's dying in rounds I would've won. Her aim is erratic. Her positioning is suicidal. But the donations keep coming.
<<chat "cherry_blossom_donation" "$10 from NightOwl99: don't worry about the deaths lol ur adorable">>
<<chat "cherry_blossom_donation_2" "$15 from WhaleTail: that laugh tho 😍">>
<<chat "cherry_blossom_viewer_1" "she's so bad at this game and i don't care at all">>
<<chat "cherry_blossom_viewer_2" "i would watch her read a phone book">>
<<chat "cherry_blossom_viewer_3" "best streamer on the platform fight me">>
She's bad at the game. She's bad at the game and she has 8,000 viewers and her donation ticker is moving and people are saying they'd watch her read a phone book and I clutched a 1v3 today for an audience of four people who didn't care.
I close the stream. Open another and another. And another. I go down the browse page like a man reading his own autopsy report, clicking on stream after stream after stream, and the pattern is consistent, merciless, undeniable:
Female streamers. With facecams. Getting money.
Not all of them are beautiful. Some are average. Some are plain. But they're women, and they're on camera, and that combination triggers something in the Twitch ecosystem a chemical reaction between visibility and desire that produces cash. The algorithm surfaces them. The audience clicks on them. The donation culture rewards them. The whole machine is optimized for a specific input and I am not that input.
I am the other input. The one the machine ignores. The male face in the bad lighting with the bad camera in the bad apartment. The input that produces nothing.
Kira's voice plays in my head: "If I were a guy with the exact same personality, the exact same humor, the exact same stream quality I'd be you, Eli."
I close the browser. Open it again. Close it. Open it.
It's 8:30 PM. I haven't eaten since the ramen. My stomach growls. I ignore it.
[[Open YouTube|day_2_24_other]]<<set $day_step to 24>>
I open YouTube. Not Twitch YouTube. I type something into the search bar that I've never typed before:
"voice changer software for streaming"
The results populate. Dozens of videos. Tutorials, reviews, comparisons. Software that can pitch-shift your voice in real time, modulate it, reshape it, make it sound like like anything. Like anyone. Like a woman.
I click the first result.
A guy in his mid-twenties sits in front of a decent setup and explains how real-time voice modulation works. The software is called VoxMorph. Free tier available. He demonstrates: his normal voice deep, male, unremarkable goes through the software and comes out the other side transformed. Higher. Softer. Breathy. Feminine. Not perfect, not indistinguishable, but close. Close enough for a stream where the face isn't visible. Close enough for voice-only.
<<chat "youtube_voice_guy" "The key is the formant shift. You're not just raising the pitch that sounds robotic. You're reshaping the resonance. The formant controls how the voice 'fills' the space. Female voices have higher formants naturally, so you're simulating that acoustic shape.">>
I watch the whole video. Then I watch another. Then a third. By the fourth, I've opened VoxMorph's website in a separate tab and I'm reading the feature list with the focus of someone studying a blueprint for a building they intend to live in.
Real-time voice processing. Adjustable pitch, formant, breathiness, resonance. Low latency. OBS plugin available. Free tier supports basic modulation. Premium ($8/month) adds natural variation algorithms, background noise cancellation, and "vocal personality profiles" presets designed to sound like specific types of voices. The preset list includes:
- Sweet/Breathy (labeled "Soft Girl")
- Husky/Low-Feminine (labeled "Velvet")
- Bright/Energetic (labeled "Sunshine")
- ASMR Whisper (labeled "Midnight")
I scroll to the free tier. Basic pitch and formant adjustment. No presets. No natural variation. But functional.
My hands are on the keyboard. My pulse is elevated. I can feel it in my wrists, in my neck, in the hinge of my jaw where I'm clenching without realizing it.
What am I doing?
The question floats through my brain like a subtitle on a foreign film present, visible, and completely disconnected from the action on screen. Because the action continues regardless. My hands move. I download VoxMorph. The installer runs. The progress bar fills 10%, 30%, 60%, 100%. The software opens.
A simple interface. Pitch slider. Formant slider. Breathiness dial. A waveform visualizer. A test button that loops your microphone input through the processing and plays it back.
I pull the budget mic toward me. Lean in. Clear my throat.
<<eli "Testing. One, two, three.">>
My voice comes back to me through the monitor speakers flat, male, the same voice I've been streaming with for eight months. The voice that made DarkSlayer set an alarm and newGuy_42 leave. The voice that produced $3.50 this morning.
I move the pitch slider up. Formant up. Breathiness to 40%.
<<eli "Testing. One, two, three.">>
The voice that comes back is not mine.
It's it's someone. Someone female. Someone soft and slightly breathy and uncertain, the way a real voice is uncertain when it's being recorded for the first time. It's not perfect. There's an artificiality at the edges, a shimmer where the processing meets the natural frequency, a slight roboticness that a trained ear would catch. But to a Twitch chat scrolling at 60 messages per minute? To a viewer who clicked on a thumbnail and is half-listening while they eat dinner?
It sounds like a girl.
I adjust the formant down slightly. Breathiness to 35%. Pitch down a hair too high sounds cartoonish, I need it to land in the range of a real woman's speaking voice, not a helium balloon.
<<eli "Hey, welcome to the stream.">>
The voice says it back and the voice is feminine and warm and slightly shy and it hits me like a truck not because it's good, but because it's viable. This is a voice that could exist on Twitch in the Just Chatting category and nobody would question it. This is a voice that could be attached to a "BRB" screen and a voice-only overlay and a username that isn't EliPlays.
A username like
I open Twitch. Navigate to account creation. The cursor blinks in the username field.
I type. Delete. Type again. Delete again. My fingers hover over the keys the way they hover over everything hesitant, second-guessing, loaded with the weight of a decision that feels bigger than it should.
I type: ElliePlayz
Ellie. Not Eli. Two letters changed. A feminization of my own name so subtle that it's practically a confession, a breadcrumb trail back to the person behind the voice, except nobody will follow it because nobody knows who Eli is in the first place.
The account creates. The username confirms. ElliePlayz exists now. A ghost. A fiction. A voice without a face, attached to a name that isn't mine and isn't not-mine, hovering in the space between lie and aspiration.
I set up the stream. It takes twenty minutes. The OBS scene is different from EliPlays no webcam. Instead, I create a simple overlay: a background image (a free anime-style wallpaper I find on Google in thirty seconds pink and purple gradient, stars, vaguely feminine), the game capture, and a text overlay that reads "ElliePlayz" in a cursive font I downloaded from dafont.com. Chat box on the side. No face. Just the voice.
The VoxMorph plugin slots into OBS. I route my microphone through it. Test it three times. The voice comes out feminine each time consistent, soft, a voice that exists in the world now, a voice that belongs to Ellie, who is not me and is entirely me.
It's 11:47 PM. Late. The graveyard shift of Twitch, when the big streamers are offline and the browse page opens up, when the algorithm has space for small channels and insomniacs are looking for company.
I hover over the "Go Live" button.
My heart is hammering. Not the dull, resigned pulse of a morning stream with four viewers a full-body, adrenaline-laced jackhammer that I can feel in my fingertips and my teeth. I'm about to lie. To hundreds of people, potentially. I'm about to pretend to be someone I'm not a woman, a girl, a person with a voice I manufactured in software and ask strangers to give me money for it.
This is wrong. This is desperate.
This is the only idea I've had in eight months that might actually work.
I click "Go Live."
[[Start Streaming|day_2_25_other]]<<nobr>>
<<set $streamName = "ElliePlayz">>
<<set $followers to 0>>
<<set $day_step to 25>>
<<set $hint to "Stream">>
<<set $right_sidebar_mode to 1>>
<<set $donations to 0>>
<</nobr>>
ElliePlayz Live
Category: Just Chatting
Viewers: 0
Zero. The same as always. I sit in the silence and the VoxMorph processes my breathing into something softer and I wait.
<<chat "ElliePlayz" "Hiii, welcome to the stream! I'm Ellie, this is my first time streaming, I'm super nervous, haha. Just hanging out tonight, maybe play some games later? Say hi if you're here!">>
The voice comes out of my speakers through the monitoring feed and it's it's disorienting. It's my cadence, my rhythm, my inflection, but wrapped in a timbre that isn't mine. Like hearing your own words spoken by a stranger. Like hearing a translation of yourself into another language.
[[Some one joined|day_2_26_other]]<<nobr>>
<<set $day_step to 26>>
<<set $hint to "Engage with viewers">>
<<set $viewers to 1>>
<</nobr>>
Viewers: 1
<<chat "late_night_lurker" "hey">>
<<chat "ElliePlayz" "Hey! Welcome! Thanks for being my first viewer ever, haha. I literally just set this up tonight.">>
<<chat "late_night_lurker" "no cam?">>
<<chat "ElliePlayz" "Not yet! Still getting my setup together. Voice only for now, sorry!">>
<<chat "late_night_lurker" "np. nice voice tho">>
Nice voice. A stranger just complimented the voice. The fake voice. The manufactured, software-processed, pitch-shifted voice that I built in an hour.
[[Another one joined|day_2_27_other]]<<nobr>>
<<set $day_step to 27>>
<<set $viewers to 7>>
<<set $followers to 1>>
<</nobr>>
Viewers: 3
Viewers: 7
Seven. In three minutes. It took me three WEEKS to hit seven viewers as EliPlays.
<<chat "stream_viewer_aa" "hi ellie!">>
<<chat "stream_viewer_bb" "new streamer? followed ✅">>
<<chat "night_owl_cc" "your voice is so cute omg">>
<<chat "ElliePlayz" "Aww, thank you! You guys are so sweet. I can't believe people are actually here, I'm literally shaking right now.">>
[[Shaking intensifies|day_2_28_other]]<<nobr>>
<<set $day_step to 28>>
<<set $viewers to 19>>
<<set $followers to 5>>
<</nobr>>
I'm not lying about the shaking. My hands are trembling on the keyboard. But the trembling isn't nerves about performing it's the adrenaline of watching a number climb. Seven. Twelve. Nineteen. The viewer count is doing something it's never done for EliPlays. It's growing. Actively, visibly, minute by minute.
<<chat "stream_viewer_dd" "what games do you play?">>
<<chat "ElliePlayz" "I'm really into Gunmetal Requiem! I'm not great at it though, fair warning.">>
<<chat "stream_viewer_ee" "gunmetal!! queen has taste">>
<<chat "night_owl_cc" "play it! we don't care if you're bad lol">>
<<chat "stream_viewer_ff" "can we see your face?">>
<<chat "ElliePlayz" "Haha, not today! I'm way too nervous. Maybe once I get a proper setup? I look like a mess right now.">>
<<chat "stream_viewer_ff" "bet you're cute tho">>
<<chat "stream_viewer_gg" "voice only girls are always cute trust">>
[[Starting the game|day_2_29_other]]<<nobr>>
<<set $day_step to 29>>
<<set $viewers to 34>>
<<set $followers to 11>>
<</nobr>>
Viewers: 34
Thirty-four. In ten minutes. I load Gunmetal Requiem. Start a match. Play the same game I played this morning as Eli same skill level, same Silver rank, same mediocre aim except now, when I die, the chat doesn't mock me. When I die, the chat says:
<<chat "stream_viewer_hh" "aww it's okay ellie!">>
<<chat "stream_viewer_ii" "you'll get them next round queen 👑">>
<<chat "night_owl_cc" "she's trying her best and that's what matters">>
I'm trying my best. The same best I tried this morning. The same 5-and-8 gameplay, the same missed shots, the same panicked peeks. But the context has shifted. As Eli, dying is failure. As Ellie, dying is endearing. The same incompetence that drove DarkSlayer to mockery is driving these strangers to encouragement. The performance hasn't changed. The audience's willingness to forgive has.
[[Another match|day_2_30_other]]<<nobr>>
<<set $day_step to 30>>
<<set $viewers to 58>>
<<set $followers to 17>>
<<set $donations += 5.00>>
<<set $money += 5>>
<</nobr>>
/* <<=$donations>> */
Viewers: 58
A donation notification. The sound the same sound that went off once this morning for $1.00 and which I hear so rarely I barely recognize it plays through my monitoring feed, and VoxMorph processes my gasp into something softer, higher, more feminine.
$5.00 from chat "MoonlitSimp": "first stream and already goated. welcome to twitch ellie ❤️"
Five dollars. In twenty minutes. For playing badly and talking in a fake voice.
<<chat "ElliePlayz" "Oh my god, MoonlitSimp, thank you SO much! That's my first ever donation, I'm literally going to cry.">>
I'm not going to cry. I might cry. The number on the donation ticker $5.00 is more than I made in the entirety of last week as EliPlays. The stream has been live for twenty minutes.
<<chat "MoonlitSimp" "worth every penny cutie">>
<<chat "stream_viewer_jj" "MoonlitSimp down bad already 😂">>
<<chat "stream_viewer_kk" "she IS cute tho listen to that voice">>
[[Another match|day_2_31_other]]<<nobr>>
<<set $day_step to 31>>
<<set $viewers to 72>>
<<set $followers to 26>>
<<set $donations += 23>>
<<set $money += 23>>
<</nobr>>
Viewers: 72
The number keeps climbing. Not in the explosive, viral way no one's raiding me, no one clipped anything but in the slow, organic way that means the algorithm is working. The algorithm is surfacing ElliePlayz to people browsing Just Chatting at midnight, and those people are seeing a voice-only stream with an anime background and a female voice and they're clicking. They're clicking.
I play two more matches. Go 4 and 7 in one, 6 and 5 in the other. The 6 and 5 is practically a career high in terms of K/D ratio and the chat celebrates it like I won a tournament:
<<chat "stream_viewer_ll" "POSITIVE KD LETS GOOOO">>
<<chat "night_owl_cc" "ellie cracked??">>
<<chat "stream_viewer_mm" "she's improving in real time we love to see it">>
More donations trickle in. $2 here. $1 there. A $10 bomb from someone called BobaAndChill who just says "vibes" with a tea emoji. The donation ticker climbs: $5, $8, $15, $23.
[[Continue Play|day_2_32_other]]<<nobr>>
<<set $day_step to 32>>
<<set $viewers to 85>>
<<set $followers to 35>>
<<set $donations += 0>>
<<set $money += 0>>
<</nobr>>
Viewers: 85
Eighty-five. In one hour. As EliPlays, my all-time peak my lifetime, career, eight-month peak is 15 viewers during a raid that evaporated in seconds. As ElliePlayz, voice-only, no face, no history, no reputation, I've hit 85 in sixty minutes.
The chat is alive. Scrolling. Active. People are talking to each other, making jokes, reacting to my gameplay, asking questions about me where I'm from, how old I am, what my setup looks like, when I'll turn on the camera. Every question is an opportunity to lie and every lie feels both terrible and intoxicating and I navigate them the way you navigate a minefield, one careful step at a time.
<<chat "stream_viewer_nn" "how old are you ellie?">>
<<chat "ElliePlayz" "I'm 22! Just graduated, figuring life out, you know how it is.">>
Not a lie. Not exactly. A truth wearing a mask.
<<chat "stream_viewer_oo" "you sound like you'd be really pretty">>
<<chat "ElliePlayz" "Haha, stop, you're going to make me blush! I promise I'll do a face reveal eventually, I'm just SO nervous.">>
<<chat "stream_viewer_oo" "take your time queen 👸">>
<<chat "stream_viewer_pp" "no rush but im already simping for the voice alone js">>
[[Another match|day_2_33_other]]<<nobr>>
<<set $day_step to 32>>
<<set $viewers to 89>>
<<set $followers to 47>>
<<set $donations += 19>>
<<set $money += 19>>
<</nobr>>
$10.00 from GentleGiant88: "you have the most soothing voice on twitch. instant follow."
Most soothing voice on Twitch. The voice I built in software forty-five minutes ago. The voice that belongs to nobody and sounds like somebody. The voice that's pulling in money and attention and warmth at a rate that makes my entire career as EliPlays look like a rounding error.
The stream hits the one-hour mark. I glance at the dashboard:
Duration: 1 hour 3 minutes
Peak Viewers: 89
Average Viewers: 61
New Followers: 47
Donations: $47.00
Chat Messages: 312
Forty-seven dollars.
Forty-seven.
The exact amount in my bank account. In one hour, as a voice without a face, as a lie wrapped in software, I earned what took me months to accumulate and barely maintain. In one hour, Ellie earned what Eli couldn't earn in a lifetime.
I stare at the number. The dashboard glows. The chat scrolls. Eighty-five people real people, strangers, insomniacs and lonely hearts and curious clickers are watching a screen with an anime background and listening to a voice that doesn't exist, and they're happy. They're engaged. They're paying.
<<chat "ElliePlayz" "Okay everyone, I think I'm going to wrap up for tonight! This was SO amazing, you guys are incredible, I literally cannot believe this happened. I'll be back tomorrow, same time-ish? Thank you, thank you, thank you. Love you all!">>
<<chat "stream_viewer_qq" "NOOO stay longer 😭">>
<<chat "night_owl_cc" "first stream legend. followed forever.">>
<<chat "MoonlitSimp" "tomorrow can't come soon enough 🥺">>
<<chat "stream_viewer_rr" "night ellie!! ❤️">>
<<chat "stream_viewer_ss" "best new streamer on the platform mark my words">>
I hit End Stream. The webcam isn't on there's no webcam to turn off but the monitoring feed goes silent and the VoxMorph stops processing and the room fills with the sound of my real breathing. Male. Low. The sound that doesn't make people click.
The dashboard sits there. The number sits there.
$47.00
47 followers
Both forty-seven. My bank balance and my new follower count, the same number, a cosmic rhyme that feels like the universe is writing poetry about my desperation.
I close OBS. Close VoxMorph. Close everything. The apartment is dark. The monitors glow with their standby light. The fridge hums. The ceiling crack is up there, invisible, growing.
I lie on the mattress. The grey sheets. The thin comforter. My phone is beside my head and I pick it up and I look at it not at any app or any message, just at the lock screen, the default wallpaper, the time (1:23 AM) and I do math.
$47 in one hour.
$3.50 in two hours as Eli.
$47 ÷ 1 hour = $47/hour as Ellie.
$3.50 ÷ 2 hours = $1.75/hour as Eli.
That's a 2,685% increase. Same person. Same skill. Same game. Same platform. Different voice. Different name. Different gender, or at least the performed suggestion of one.
If I were a guy with the exact same personality, the exact same humor, the exact same stream quality I'd be you, Eli.
Kira said that. Today. In her apartment. In front of her dashboard. She said it as a diagnosis. A statement of fact. The system rewards a specific thing and I am not that thing.
But Ellie is.
Ellie a voice, a name, a pink-and-purple gradient background and a cursor font IS that thing. She doesn't have a face. She doesn't have a body. She doesn't exist. But she has 47 followers and $47 and 85 peak viewers and a chat full of strangers who called her cute and queen and cracked and told her they'd be back tomorrow.
Tomorrow. They said they'd be back tomorrow.
I lie in the dark and I stare at the ceiling crack and I think about tomorrow. About the two streams the one where I'm Eli, talking into a void, performing for DarkSlayer and bots, earning nothing and the one where I'm Ellie, talking into a crowd, earning in minutes what Eli can't earn in months.
I think about Kira. About the moment in her apartment. About "it's hot" and the emergency laugh and the drive home where she said systems can be hacked and I didn't know what she meant and now I think maybe I do.
I think about the voice. About how it came out of the speakers and it wasn't mine and it was better. Not better as in superior better as in effective. Better as in functional. Better as in the world responded to it the way the world is supposed to respond when you put effort in: with attention, with reward, with proof that you exist.
My phone buzzes. A text.
[[Open Messages|day_2_34_other]]<<nobr>>
<<set $day_step to 34>>
<<set $right_sidebar_mode to 0>>
<</nobr>>
<<kira "hey. hope you got home safe. sorry if today was a lot. the numbers stuff, i mean. i just wanted to be honest with you.">>
I look at the message. At her name. At the lowercase letters and the careful punctuation and the care behind every word.
<<eli "you were right about everything">>
<<kira "what do you mean?">>
<<eli "the system. the gap. all of it. you were right.">>
<<kira "eli... are you okay?">>
<<eli "yeah. im okay. just thinking.">>
<<kira "about what?">>
I stare at the screen. The cursor blinks. I think about telling her. About ElliePlayz, the voice modulator, the 85 viewers, the $47. About the lie I just told to strangers and the truth I just discovered about the world and the fact that those two things are the same thing.
I don't tell her.
<<eli "about systems. and how to hack them.">>
<<kira "...that's either very inspiring or very concerning and i can't tell which">>
<<eli "maybe both">>
<<kira "just don't do anything weird okay? i worry about you">>
<<eli "i won't do anything weird">>
<<kira "promise?">>
<<eli "promise">>
<<kira "okay. goodnight eli. talk tomorrow? ❤️">>
Red heart. The real one. She's still sending them. Even after I laughed. Even after I took it back. She's still giving me the red heart, the one that means not-friends, the one that means something I'm too much of a coward to receive.
<<eli "night kira">>
No heart. I don't send one. The message goes out bare, the same way it always does, two words without punctuation, the emotional equivalent of a closed door.
I put the phone down.
The fridge hums.
The ceiling crack grows.
I close my eyes and I don't dream about Kira. I don't dream about the kiss that didn't happen or the hand I didn't hold or the moment I killed with a laugh.
I dream about a number.
Forty-seven.
<<set $hint = "Sleep">>
[[Sleep|apartment_map]]<<set $day = 3>>
I wake up smiling.
That's not that's not a thing I do. I don't wake up smiling. I wake up staring at the ceiling crack with the expression of someone being slowly lowered into their own grave. I wake up to the alarm I've snoozed three times and the taste of stale Monster and the ambient dread of a person whose first conscious thought each morning is a number viewer count, bank balance, days until rent, some metric of inadequacy that my brain serves up before I've even opened my eyes, like a concierge of suffering. Good morning, sir. Today's disappointment is already prepared.
But today I wake up smiling.
My phone is on the floor beside the mattress, screen-down, and I know before I flip it over that there are messages on it, because the last thing I did before falling asleep was send a red heart emoji to a girl who kissed me in a parked Honda Civic and the first thing my brain produces this morning isn't a number. It's a feeling. Warm, stupid, disproportionate to any rational assessment of my circumstances. The feeling of someone who was, for a few hours last night, not alone.
I flip the phone. 10:02 AM. Three messages from Kira, stacked like gifts.
<<kira "good morning disaster ☀️ hope you actually slept and didn't stay up till 4am googling penguin anatomy again">>
<<kira "also i mentioned teki no hana at dinner right? here's the album that got me obsessed. listen to track 4 first it's transcendent">>
A Spotify link follows. The album art is stark black background, white Japanese calligraphy, a single red circle that looks like a drop of blood or a rising sun depending on your mood.
<<kira "also. look who's streaming for me today 😂">>
A photo. Her cat a grey tabby named Packet (named after data packets, because she's Kira and of course her cat has a networking joke for a name) sitting on her keyboard, one paw on the space bar, staring into the webcam with the flat, superior gaze of an animal that has never once questioned its own worth. The ring light casts a halo around his ears. The caption she added in the photo editor reads: "KiraByte ft. Packet 10K viewers incoming."
<img src="images/scenes/day_3/day_3_1.jpeg" alt="Packet the cat sitting on Kira's keyboard" style="width:100%; height:auto;">
I smile at all three messages. Each one, individually, produces a separate, distinct smile the first warm and sleepy, the second interested and touched, the third an actual grin that I can feel stretching muscles in my face that have been dormant for months. My cheeks ache from it. Not figuratively. Actually, physically ache. The muscles required for genuine sustained smiling have atrophied from disuse and they're protesting this sudden demand on their services like employees recalled from a very long furlough.
I type back.
<<eli "morning. i slept. no penguin research. packet has better lighting than me. track 4 first, got it.">>
<<kira "you're up before noon?? who are you and what have you done with eli">>
<<eli "some girl kissed me in a car last night and it apparently cured my circadian rhythm">>
<<kira "some girl??? SOME GIRL???">>
<<eli "a very specific girl. with very specific glasses. who very specifically bumped said glasses into my nose">>
<<kira "the glasses thing was YOUR fault. you leaned wrong">>
<<eli "i've never been kissed in a car before. there's no training program for the lean">>
<<kira "excuses 😤">>
<<kira "...but also hi. i'm glad you slept. i'm glad you're smiling. you ARE smiling right? i can feel it through the phone">>
<<eli "i'm smiling">>
<<kira "good. you should do it more. it suits you">>
<<kira "okay i have yoga in 20min and then a stream at 1. text me after? i want to see you tonight if you're free">>
<<eli "i'm free">>
<<kira "yay!! i'll come get you around 6? we can watch something at my place. i'll make tea">>
<<eli "sounds good">>
<<kira "❤️">>
<<eli "❤️">>
The red heart. Sent without hesitation this time. No hovering thumb, no agonizing over whether it's too much. She sends red, I send red. That's the protocol now. The treaty has been signed. My thumb hits the emoji and the message sends and I feel it a small, warm detonation in my chest, the feedback loop of reciprocated affection, a circuit that's been open for eighteen months finally closing.
[[Put phone away|day_3_2_kira]]<<set $hint to "Think of and soltion">>
I put the phone down. Stare at the ceiling. The crack is still there still growing, still splitting the plaster from kitchenette to pillow but it looks different this morning. Less like a fault line. More like a map. A line on a surface that leads somewhere, even if I don't know where.
I get up.
The apartment is the same. The mattress, the desk, the fridge, the burrito wrapper I STILL haven't thrown away. But I move through it differently today faster, lighter, with the residual energy of someone who has a plan for the evening that involves another human being who wants to be near them. I shower (hot water this time I wait the full eight minutes, a luxury I'm suddenly willing to invest in). I use the Marriott shampoo again, because it worked yesterday and Kira noticed and the cause-and-effect chain of shampoo → Kira noticing → Kira kissing me is now a sacred algorithm I will never disrupt. I brush my teeth. I put on the grey shirt because Marcus said the grey shirt and Marcus was right about everything.
10:45 AM. I sit at the desk. The monitors wake. The dashboard from two days ago the morning stream, the $3.50 is still visible on the second screen. I close it. Open a browser. Open Kira's stream page not to watch (she hasn't gone live yet) but out of habit, the way you check the weather or the time, a reflexive verification that the world is still turning.
Her channel page loads. The banner is clean KiraByte in pink and black, her mascot character, a schedule graphic that shows her stream times in a tidy grid. Beneath it, the stats that anyone can see: 12,400 followers. 890 average viewers. Partner status. A bio that reads: "games, vibes, and chaos. she/her. 21. 🎮💕"
12,400 followers. I have 54.
I don't look at the number with jealousy this time. Not exactly. The jealousy is there it's always there, a low hum beneath everything, the baseline frequency of a person watching someone else succeed at the thing they're failing at but it's mixed with something new. Something from yesterday. The conversation in her apartment. The dashboard. The $487. The truth she told me about faces and algorithms and the specific architecture of an economy that rewards her existence and ignores mine.
"If I were a guy with the exact same personality, the exact same humor, the exact same stream quality I'd be you, Eli."
I hear her voice saying it. I hear it clearly, perfectly, the way you hear something that imprinted itself on your brain through sheer force of importance. She said it sitting in her desk chair, three feet from me, with the ring light off and the afternoon light catching her glasses, and she said it because she's honest and because she cares and because the truth is the truth whether it's comfortable or not.
The truth is: the system rewards a specific thing. Female. Cute. On camera. Those three inputs, in that combination, produce an output that I male, average, poorly lit cannot replicate.
Cannot replicate as myself.
The thought arrives like a knock at a door I didn't know existed. Quiet. Polite. Inevitable. I'm sitting at my desk in a grey shirt with shampoo'd hair and a girlfriend and $47 in the bank, and the thought knocks and I open the door and what's on the other side is not a plan, not yet, but the raw material for one.
What if the input changed?
Not me. Not my skill, my humor, my content. Those are fixed those are the things Kira said are good, the things she said would work if the system weren't rigged. The variable isn't the content. The variable is the container. The voice. The name. The gender the algorithm reads when it decides who to surface and who to bury.
I open a new browser tab. I type, slowly, deliberately, each keystroke a step further from the person I was yesterday:
"voice changer software for streaming"
[[Research voice modulation software|day_3_3_kira]]<<set $hint to "Research the solution">>
I click the first result.
A guy in his mid-twenties sits in front of a decent setup and explains how real-time voice modulation works. The software is called VoxMorph. Free tier available. He demonstrates: his normal voice deep, male, unremarkable goes through the software and comes out the other side transformed. Higher. Softer. Breathy. Feminine. Not perfect, not indistinguishable, but close. Close enough for a stream where the face isn't visible. Close enough for voice-only.
<<chat "youtube_voice_guy" "The key is the formant shift. You're not just raising the pitch that sounds robotic. You're reshaping the resonance. The formant controls how the voice 'fills' the space. Female voices have higher formants naturally, so you're simulating that acoustic shape.">>
I watch the whole video. Then I watch another. Then a third. By the fourth, I've opened VoxMorph's website in a separate tab and I'm reading the feature list with the focus of someone studying a blueprint for a building they intend to live in.
Real-time voice processing. Adjustable pitch, formant, breathiness, resonance. Low latency. OBS plugin available. Free tier supports basic modulation. Premium ($8/month) adds natural variation algorithms, background noise cancellation, and "vocal personality profiles" presets designed to sound like specific types of voices. The preset list includes:
- Sweet/Breathy (labeled "Soft Girl")
- Husky/Low-Feminine (labeled "Velvet")
- Bright/Energetic (labeled "Sunshine")
- ASMR Whisper (labeled "Midnight")
I scroll to the free tier. Basic pitch and formant adjustment. No presets. No natural variation. But functional.
My hands are on the keyboard. My pulse is elevated. I can feel it in my wrists, in my neck, in the hinge of my jaw where I'm clenching without realizing it.
What am I doing?
The question floats through my brain like a subtitle on a foreign film present, visible, and completely disconnected from the action on screen. Because the action continues regardless. My hands move. I download VoxMorph. The installer runs. The progress bar fills 10%, 30%, 60%, 100%. The software opens.
The research takes ninety minutes.
I approach it the way Kira approaches her stream strategy methodically, analytically, the way a person with a ring light and cable couture approaches a problem. Not with the midnight desperation of a man grasping at anything with the morning clarity of a man who slept well because someone kissed him and who is now, rested and caffeinated (I made coffee, actual coffee, with the hot plate and the cheap grounds I bought three weeks ago and never opened), applying his girlfriend's market analysis to a problem she identified.
Real-time voice modulation pitch shift, formant adjustment, breathiness control. OBS plugin for direct stream integration. I watch four YouTube tutorials. I read the documentation. I download it. Install it. Open it.
The interface is clean sliders, dials, a waveform visualizer, a test button. I pull the budget mic toward me. Clear my throat.
<<eli "Testing. One, two, three.">>
My voice, through the speakers. Male. Flat. The voice of EliPlays. The voice that earned $3.50 in two hours.
I move the sliders. Pitch up. Formant up. Breathiness to 38%.
<<eli "Testing. One, two, three.">>
The voice that returns is not mine.
It's female. Soft. A little breathy, a little uncertain, with a warmth in the lower register that sounds real not robotic, not obviously processed, but like a woman in her early twenties speaking into a microphone for the first time. There's a shimmer at the edges where the algorithm meets the organic, a faint artificiality that a sound engineer would clock but a Twitch chat scrolling at 100 messages a minute would never notice.
I adjust. Pitch down slightly too high sounds cartoonish. Formant down a hair. Breathiness to 35%. I test again.
<<eli "Hey everyone, welcome to the stream.">>
Better. The voice settles into a range that feels lived-in, like it belongs to a person who exists. A girl. A girl named
I open Twitch. Account creation. The username field blinks.
[[Create a Twitch account|day_3_4_kira]]<<set $hint to "Create the new account">>
I type: ElliePlayz
Ellie. Two letters from Eli. A feminization so thin it's transparent, a costume made of gauze, and yet the moment I type it and hit enter and the account confirms, something shifts. ElliePlayz exists now. She has a username and an empty channel page and zero followers and she is, in every measurable way, exactly as much of a failure as EliPlays. But she has one thing he doesn't: the right input for the system.
I build the stream layout. No webcam not yet, not ever, maybe. A background image: anime-style gradient, pink to purple, stars, borrowed from a free wallpaper site. The game capture. A text overlay in a cursive font "ElliePlayz ✨" positioned in the upper left. Chat on the right. The VoxMorph plugin routed through OBS, processing my microphone in real time.
It takes twenty minutes. The setup is crude nothing like Kira's polished, professional layout with its branded overlays and custom emotes and animated alerts. This is a first draft. A sketch on a napkin. But it's functional. It works. The voice goes in male and comes out female and the screen shows a pink gradient and a name that belongs to no one and I am, as of 12:15 PM on a Thursday in January, ready to lie to the internet.
I think about Kira.
I think about her sitting in her desk chair yesterday, glasses off, cleaning them on her turtleneck, telling me the truth about the system. I think about the red heart she sent this morning. I think about her coming to pick me up at 6. I think about the fact that I am about to do something I cannot tell her about.
The thought produces a specific feeling a small, sharp point of pressure behind my sternum, like a splinter driven just deep enough to be uncomfortable but not deep enough to demand attention. Guilt. Not the dramatic, crushing kind. The small kind. The kind you can work around, the kind you can reason with, the kind that fits in the corner of a room if you don't look at it directly.
It's just an experiment. I'm testing Kira's theory. She said the system rewards a specific input I'm testing whether she's right. It's data collection. It's market research. I'll tell her about it when there's something to tell. When I have results. When the experiment means something beyond desperation.
The rationalizations stack neatly, like bricks. Each one plausible. Each one load-bearing. Together, they form a wall between what I'm doing and what it means, and I lean against the wall and it holds and I click "Go Live."
[[Go Live|day_3_5_kira]]<<nobr>>
<<set $streamName = "ElliePlayz">>
<<set $followers to 0>>
<<set $day_step to 5>>
<<set $hint to "Stream">>
<<set $right_sidebar_mode to 1>>
<<set $donations to 0>>
<</nobr>>
ElliePlayz Live
Category: Just Chatting
Viewers: 0
12:17 PM. Early afternoon. Not the graveyard shift actual daytime Twitch, where the competition is real and the browse page is crowded and the algorithm has to make harder choices about who to surface. This is a tougher test than midnight. If this works here, it works everywhere.
<<chat "ElliePlayz" "Hiii! Oh my gosh, hi! Welcome to my very first stream ever! I'm Ellie, I'm super new to this, I literally just set everything up like twenty minutes ago. I'm SO nervous, haha. Just hanging out today, maybe games later? Come say hi!">>
The voice comes through the monitoring feed and it's the voice from the test female, warm, a little shy. But there's something else now, something that wasn't there during testing: a performance layer. The way I said "oh my gosh" instead of "oh my god." The way I pitched the nervous laugh. The "haha" that I placed like punctuation, a verbal emoji, the way I've heard Kira do it a thousand times on her stream. I'm not just using a voice modulator. I'm performing a person.
[[Someone's here!|day_3_6_kira]]<<nobr>>
<<set $day_step to 6>>
<<set $viewers to 1>>
<<set $followers to 0>>
<</nobr>>
Viewers: 1
<<chat "afternoon_lurker_1" "heyy">>
<<chat "ElliePlayz" "Hey! Welcome! Thank you for being literally my first viewer ever, I'm going to remember this moment forever!">>
<<chat "afternoon_lurker_1" "first stream? cool. no cam?">>
<<chat "ElliePlayz" "Not yet! I'm still getting my setup together. Voice only for now, I'm too shy for camera, haha.">>
<<chat "afternoon_lurker_1" "all good. cute voice tho">>
Cute voice. Seven minutes into ElliePlayz's existence and someone has already called the voice cute. EliPlays has been live for eight months and the closest thing to a compliment he's received is DarkSlayer saying "ur less trash than usual today."
[[More people join|day_3_7_kira]]<<nobr>>
<<set $day_step to 6>>
<<set $viewers to 16>>
<<set $followers to 6>>
<</nobr>>
Viewers: 4
Viewers: 9
Viewers: 16
The numbers climb. Not explosively this isn't a viral moment, a raid, a clip going viral. It's the slow, organic growth of a channel that the algorithm has decided to test. Twitch's recommendation engine works by sampling: it pushes small channels to a handful of viewers, measures the retention, and if the retention is good, it pushes to more. If those viewers stay, it pushes to more. The waterfall effect and ElliePlayz is being watered.
<<chat "stream_viewer_a1" "new streamer alert! followed ✅">>
<<chat "stream_viewer_a2" "this voice omggg so soothing">>
<<chat "stream_viewer_a3" "what games do you play ellie?">>
<<chat "ElliePlayz" "I love Gunmetal Requiem! I'm really bad at it though, don't judge me.">>
<<chat "stream_viewer_a4" "gunmetal!! you should play it!">>
<<chat "stream_viewer_a3" "yes play!! we'll watch you learn">>
[[Play Gunmetal Requiem|day_3_8_kira]]<<nobr>>
<<set $day_step to 6>>
<<set $viewers to 28>>
<<set $followers to 10>>
<</nobr>>
I load Gunmetal Requiem. Queue into a ranked match. Silver 2 the same rank, the same skill, the same person sitting in the same chair at the same desk. The only difference is the voice coming out of the speakers and the name in the corner of the screen.
Round 1: I peek a corner. Get headshot. Dead in three seconds.
<<chat "stream_viewer_a5" "rip 😂">>
<<chat "stream_viewer_a2" "awww it's okay ellie! you'll get them next time">>
<<chat "stream_viewer_a6" "that was an unfair angle tbh dont feel bad">>
Three seconds into the first round and the chat is already comforting me. Three seconds of failure and the response is warmth. Encouragement. It's okay. When EliPlays dies in three seconds, DarkSlayer posts "LMAO" and strangers leave. When ElliePlayz dies in three seconds, strangers stay and tell her it's unfair.
Viewers: 28
I play through the match. 4 and 9. Terrible. Below average. The kind of scoreboard that, as Eli, would produce dead silence and maybe a bot spam message. As Ellie:
<<chat "stream_viewer_a7" "she's learning! growth mindset queen">>
<<chat "stream_viewer_a8" "4 kills is solid for silver tbh">>
<<chat "stream_viewer_a2" "ellie you're doing great sweetie">>
[[Next match|day_3_9_kira]]<<nobr>>
<<set $day_step to 6>>
<<set $viewers to 41>>
<<set $followers to 15>>
<<set $donations to 5>>
<<set $money += 5>>
<</nobr>>
A donation. The notification sound plays through VoxMorph and my gasp genuine, surprised comes out softened, feminized, a small "oh!" that sounds like a girl receiving unexpected kindness.
$5.00 from ChillVibesOnly: "new streamer new me. welcome to twitch ellie 💜"
<<chat "ElliePlayz" "Oh my gosh, ChillVibesOnly, thank you SO much! Five dollars! That's wow. That's my first donation ever. I'm literally shaking right now.">>
I'm not lying about the shaking. My hands are trembling on the keyboard. Five dollars. In twenty-two minutes. As Eli, the last time I received a $5 donation was I don't actually remember. I don't think I ever have. The largest single donation EliPlays has ever received is $2.50.
Viewers: 41
The number keeps climbing. The chat keeps scrolling. People are talking to each other now not just to me, but to each other, forming the micro-community that every successful stream needs, the self-sustaining ecosystem of inside jokes and regulars and repeated emotes that turns a viewer into a participant.
<<chat "stream_viewer_a9" "can we get a face reveal eventually? 👀">>
<<chat "ElliePlayz" "Eventually! I promise! I'm just way too nervous right now. I literally look like a mess, haha.">>
<<chat "stream_viewer_a10" "bet you're adorable">>
<<chat "stream_viewer_a11" "voice only girls are always cute change my mind">>
<<chat "ChillVibesOnly" "take your time queen no pressure ❤️">>
[[More Viewers|day_3_10_kira]]<<nobr>>
<<set $day_step to 10>>
<<set $viewers to 58>>
<<set $followers to 23>>
<<set $donations to 20>>
<<set $money += 15>>
<</nobr>>
Viewers: 58
More donations. $2 here. $3 there. A $10 drop from someone named MidnightWhale99 that comes with a message:
$10.00 from MidnightWhale99: "Something about your voice just makes me want to listen. Instant sub."
MidnightWhale99. The name from the GDD the name that becomes important later. I file it away without knowing why, the way you notice a stranger's face in a crowd and can't explain the noticing.
<<chat "ElliePlayz" "MidnightWhale, oh my gosh, TEN DOLLARS? You're insane! Thank you so much! I literally don't know what to say!">>
<<chat "MidnightWhale99" "just keep talking. that's enough 🙂">>
Just keep talking. That's enough. A stranger on the internet just told a voice without a face that existing is sufficient. That the voice alone the manufactured, modulated, pitch-shifted voice is worth ten dollars and a subscription.
I play another match. 6 and 5. Positive K/D. The chat celebrates like I won a championship:
<<chat "stream_viewer_a12" "POSITIVE KD LETS GOOOOO">>
<<chat "stream_viewer_a2" "ELLIE CRACKED">>
<<chat "stream_viewer_a8" "she's already improving we love a growth arc">>
[[Keep playing|day_3_11_kira]]<<nobr>>
<<set $day_step to 11>>
<<set $viewers to 89>>
<<set $followers to 51>>
<<set $donations to 47>>
<<set $money += 27>>
<</nobr>>
Viewers: 72
The stream settles into a rhythm. I talk. They listen. I die in the game. They comfort me. I clutch a round. They explode. The dynamic is identical to what I experienced on Kira's stream yesterday the warmth, the engagement, the feeling of being seen except here it's directed at me. At Ellie. At the voice that is me and isn't me, the name that's mine and isn't mine.
The hour mark hits. I check the dashboard:
Duration: 1 hour 4 minutes
Peak Viewers: 89
Average Viewers: 63
New Followers: 51
Donations: $47.00
Chat Messages: 387
Forty-seven dollars.
The number again. The same number as my bank account. The same cosmic rhyme that the universe keeps writing, as if trying to tell me something $47 to survive, $47 to thrive, the same figure on both sides of the equation, waiting for me to solve for x.
I stare at the dashboard. At the numbers. At the chat, still scrolling, still active, people still talking even during the pause between matches. 89 peak viewers. Fifty-one new followers. In one hour. As Eli, I gained zero followers yesterday and three-fifty in donations. As Ellie, I gained fifty-one followers and forty-seven dollars.
Same person. Same chair. Same desk. Same game. Same skill. Different voice. Different name.
Kira was right. About everything. The system rewards a specific input and I just fed it the correct one and it opened like a door that was never locked just designed for a key I didn't have and now I have the key. It's made of software and lies, but it works.
<<chat "ElliePlayz" "Okay everyone, I think I'm going to wrap up for today! This was SO amazing, like genuinely I cannot believe this happened. I'm going to stream again tonight, same kind of thing, maybe a little later? You guys are the absolute best. Thank you thank thank you. Love you all!">>
<<chat "stream_viewer_a2" "noooo don't go 😭">>
<<chat "ChillVibesOnly" "best new streamer on twitch mark my words">>
<<chat "MidnightWhale99" "tonight. i'll be there.">>
<<chat "stream_viewer_a13" "followed and notis on! see you tonight ellie!! ❤️">>
[[End Stream|day_3_12_kira]]<<nobr>>
<<set $right_sidebar_mode to 0>>
<</nobr>>
I hit End Stream. VoxMorph stops processing. The monitoring feed goes quiet and the room fills with the sound of my real breathing low, male, the sound that doesn't earn $47 in an hour.
I sit in the silence of my apartment. The fridge hums. The ceiling crack watches.
$47. Fifty-one followers. Eighty-nine peak viewers.
I pick up my phone. I want to tell someone. I want to tell Kira you were right, the system is hackable, I hacked it, look at the numbers but the telling would require explaining the hack, and the hack is a voice modulator and a fake name and a lie told to 89 people who think they were watching a girl, and explaining that to my girlfriend of two days feels like detonating the only good thing that's happened to me since I moved into this apartment.
I open Marcus's text thread instead.
[[Ask Marcus|day_3_13_kira]]<<set $hint to "Chat with Marcus">>
<<eli "hypothetical question">>
<<marc "oh no">>
<<eli "if someone made a second streaming account with a different persona would that be weird">>
<<marc "define different persona">>
<<eli "like a different name and voice and... vibe">>
<<marc "are you doing a bit or is this a real question">>
<<eli "real question">>
<<marc "depends. what kind of persona?">>
I stare at the phone. Delete the conversation in my head. I can't tell Marcus either. Marcus would ask questions. Marcus would connect dots. Marcus would say something like "so you're pretending to be a girl" in his flat, direct way that would make the truth sound exactly as absurd as it is.
<<eli "never mind. hypothetical over">>
<<marc "bro">>
<<marc "you know i can see you typing and deleting right">>
<<eli "i'm not typing and deleting">>
<<marc "you just typed and deleted that">>
<<eli "forget it. it was nothing. how's your day">>
<<marc "my day is fine. your day is suspicious. but okay">>
I put the phone down. Open the browser. Clear the VoxMorph tabs. Close OBS. The ElliePlayz dashboard remains on the second monitor $47, 51 followers, 89 peak and I let it sit there because the numbers feel like proof of something and I'm not ready to close the evidence.
It's 1:30 PM. Kira's stream started at 1. I open Twitch. Navigate to KiraByte. She's live 940 viewers, climbing, the familiar pink-and-black layout, the ring light, the bob, the bangs, the glasses. She's playing something casual, talking to chat, being Kira. Being the thing the system rewards. Being the thing I'm pretending to be.
I watch for ten minutes. She laughs at something a viewer says the real laugh, the crinkle-nose one and I feel two things simultaneously: the warm pulse of affection that her laugh always produces in me, and the cold click of understanding that her laugh, her face, her gender, is worth $487 in four hours and my face is worth $3.50 in two.
I close her stream. I can't watch right now. The math is too loud.
[[Think about possibilities|day_3_14_kira]]<<set $hint to "Think about the possibilities">>
<<set $day_step to 14>>
The afternoon opens up, wide and empty. Kira's streaming until 5. She's picking me up at 6. Four and a half hours with nothing to do but think, and thinking is the worst possible activity for a person who just committed his first act of profitable deception.
<<set $day = 3>>
I should eat. I open the freezer. Three microwave burritos left. I heat one rotate at one minute, eat standing up, the same ritual and wash it down with the last Monster in the fridge. The taste is familiar in a way that feels like a handshake from my old life, the life before the red hearts and the voice modulator, the life that was uniformly terrible instead of confusingly split between two kinds of hope.
I sit at the desk. The ElliePlayz dashboard glows on the second monitor. I open the browser.
The thought that arrives is not a thought I planned. It surfaces the way certain thoughts do from below, from the place where calculations run in the background while the conscious mind is busy with other things. The thought is:
What if there was a face?
Not my face. A different face. A face that matched the voice.
I type: "how to look feminine fast"
The rabbit hole opens.
It starts with makeup tutorials. Dozens of them. YouTube is overflowing with videos titled "FEMININE MAKEUP FOR BEGINNERS" and "MTF MAKEUP TRANSFORMATION" and "How to Feminize Your Face in 10 Minutes." I watch three of them in succession women and trans women and drag queens demonstrating contouring, highlighting, the strategic application of color to reshape the way light hits bone. The techniques are impressive but impractical for my purposes: makeup is visible on camera, especially on a webcam with bad resolution, and the time investment is significant. Twenty minutes of contouring before every stream, plus the risk of smudging, sweating, the makeup shifting mid-session.
I want something more permanent. Something that doesn't wash off.
There's the obvious solution. The one any tech-literate person in 2027 would think of first.
AI face-swap. Real-time deepfake filters. The technology exists apps that map a generated face onto yours live, rendering a completely synthetic person over your webcam feed. Half the internet runs on some version of it.
I consider it for exactly twelve minutes.
The problem isn't quality for pre-recorded content, AI faces are nearly flawless. A YouTube video, a TikTok, an edited clip you could run a generated face through post-processing and nobody would ever know. But I'm not making videos. I'm live streaming. Real-time. Two hours of continuous webcam, every frame rendered on the fly, every expression tracked and mapped and composited at 30fps with zero room for error and the errors come. They always come.
There was a streamer IndigoVeil who ran a real-time AI face filter for four months. Premium GPU, calibrated lighting, the best software money could buy. It worked beautifully. Until she sneezed. One involuntary full-body sneeze that the motion-tracking couldn't follow. The AI lost the face for less than a second. One frame of the real face underneath wrong jaw, wrong skin, wrong everything. One viewer screenshotted it. Reddit post. Viral in six hours. Clip channels dissecting it frame by frame. 2,000 viewers became zero overnight. Account deleted within 48 hours.
That's the premium version. I have a 2014 webcam and a thrift-store desk lamp. The composite would bleed at the hairline within minutes. The lip sync would lag on every third sentence. The micro-expressions the wide-eyed gasp, the slow blink, the thinking face would arrive 40 milliseconds behind the voice, and the regulars who watch every stream would clock it in a week.
Pre-made content? AI is perfect for it. Live streaming? It's a time bomb with a sneeze for a trigger and when it detonates one screenshot, one Reddit post, one clip channel there's no recovery. The internet doesn't forgive fake faces. It archives them.
I close the FaceMorph tab. AI is the last resort. The nuclear option I'd only touch if nothing else worked, and even then I'd be building on sand.
The voice modulator is a different story. VoxMorph works it works well enough for now. The pitch shift is clean, the formant adjustment is natural, and through Twitch compression at 128kbps audio nobody can tell the difference between processed and organic. It's reliable in a way that AI face-swap isn't. A voice doesn't sneeze. A voice doesn't glitch at the hairline. The processing is consistent, frame after frame, hour after hour.
But "well enough for now" isn't "permanent." I can hear the seams if I listen for them a faint digital shimmer on certain vowels, a flatness in the laugh that a real feminine voice wouldn't have, the way the software rounds off the edges of my natural register instead of truly reshaping them. Chat doesn't notice. Chat is listening through laptop speakers and earbuds and the general audio soup of a Twitch stream. But someone with good headphones and an ear for audio? A sound engineer? A voice coach? They'd hear the processing. They'd hear the machine inside the girl.
There's the fatigue. Two hours of speaking through VoxMorph strains my throat differently than normal talking I'm pitching my natural voice into a range that the software can work with, staying in a narrow band that processes cleanly, avoiding the low register that makes the algorithm stutter. By the end of a long session my vocal cords ache in a way that feels unsustainable. I can't do this for years. The software is a bridge, not a destination.
RegenaForm's menu listed voice modulation organic, not software. Tier 2. Actual restructuring of the vocal cords and resonance chambers. A voice that's mine, that's feminine, that doesn't need a plugin. That doesn't fatigue. That doesn't shimmer on certain vowels.
But that's later. That's Tier 2. That's thousands of Dollars I don't have yet.
For now, VoxMorph holds. The voice is the most reliable part of the illusion more reliable than the crop-line framing, more reliable than the wig, infinitely more reliable than any AI face would be. It's enough. For now.
The face is the problem. The face needs to be real.
I need something real. Something that IS the face, not something projected onto it. Something a viewer can screenshot and frame-by-frame and zoom into and find nothing wrong because the lashes are actual lashes and the brows are actual brows and every cell is mine.
The search mutates. "How to look feminine without makeup." "Facial feminization non-surgical." "Subtle feminization techniques for streaming." The results shift from YouTube to forums Reddit threads, niche communities, spaces where people discuss passing and presentation and the specific art of looking like someone other than who you were born as.
I read for forty-five minutes. The information is dense, detailed, and organized by the kind of people who have spent years thinking about exactly this problem. Brow shaping. Eyelash extensions. Skincare routines that change the texture and luminosity of skin. Hair real hair, wig options, styling techniques. Each topic is a door, and behind each door is a room full of more doors, and the architecture of the rabbit hole is designed to keep you descending and then on the second page of a Google search for "facial feminization fast results" the ad.
It doesn't look like an ad. It looks like a search result, clean and authoritative, with a thumbnail image of a chrome double helix and text that reads:
RegenaForm Unlock Your True Form DNA-based bioengineering. No scars. Full sensory integration. Consultations available.
I click it.
The website loads and it's beautiful. In the way that a luxury car showroom is beautiful, or a five-star hotel lobby. The design communicates money and competence and the specific brand of confidence that comes from knowing your product works. White space. Clean typography. The chrome double-helix logo rotating slowly in the header. A tagline beneath it: "We don't change you. We unlock you."
I scroll. Before-and-after gallery. Each transformation shown in high resolution, the images so detailed they look medical and so beautiful they look editorial. Faces shifting from one configuration to another masculine to feminine, angular to soft, forgettable to magnetic. The changes range from subtle (a jawline refined, skin cleared) to dramatic (full facial feminization, the bone structure literally reshaped, a different person emerging from beneath the same skin).
Services. Listed in tiers. Tier 1: Facial Feminization. Eyelashes, brow sculpting, nose refinement, jawline contouring, lip enhancement, skin treatments. Tier 2: Voice Modulation (organic not software). Tier 3: Hair. Tier 4: Body contour. Tiers 5 through 8: escalating, invasive, transformative. The prices are in Dollars, a cryptocurrency I've seen in niche forums. The conversion rate to USD is roughly 1:1.
Tier 1 starts at 500 $. Individual features are cheaper. Eyelash enhancement: 200-350 $. Brow sculpting: 300-500 $. The numbers are large for someone with $47 in the bank but small for someone who just earned $47 in an hour.
I read the FAQ.
"Is the process reversible?" "All modifications can be revised or reversed. See our Revision Policy."
"Does it hurt?" "Our DNA-based technology integrates with your own genetic material. Most clients describe the sensation as 'warm' or 'tingling.' No anesthesia required for Tier 1."
"How long does it take?" "Tier 1 procedures range from 20 minutes to 2 hours. Results are immediate."
Immediate. No surgery. No scarring. No downtime. I read the word "immediate" three times and each time it sounds more like a promise and less like a claim.
At the bottom of the FAQ, a button: Book Free Consultation.
I click it before the rational part of my brain can file an objection. The form loads. Name: Ellie. Email: ellieplayz.stream@gmail.com (created on the spot, fingers moving faster than thought). Phone: my real number. Date: today. Time: the dropdown shows 2:30 PM available.
I submit. Confirmation page: "Thank you, Ellie! Your consultation with Dr. Voss is confirmed for 2:30 PM today. 1440 Meridian Ave, Suite 12."
1440 Meridian. Four blocks from my apartment. The clinic that promises to unlock my "true form" is a fifteen-minute walk from the building where I've been slowly decomposing for eight months. The proximity feels like fate or marketing. Probably marketing.
I close the browser. Open it. Close it. Open it one more time, look at the confirmation, and close it for real.
I check the time. 2:14 PM. Forty-six minutes until the consultation.
I put on the hoodie. The sneakers. I look at myself in the phone's front camera the hair (still good from the Marriott shampoo), the grey shirt, the face. The face that earned $3.50. The face that is, in approximately forty-five minutes, going to sit in a clinic and ask how to become a different face.
<<link "Go to the consultation">><<set $hint to "Go to the consultation">><<goto neighbourhood>><</link>>The clinic is not what I expected.
I expected sterile. I expected fluorescent lights and linoleum floors and the antiseptic smell of a dentist's waiting room the aesthetic of medical discomfort, the visual language of "this will hurt but it's necessary." What I get instead is a door at the end of a hallway on the second floor of a building that looks, from the outside, like every other building on Meridian brick, unremarkable, the kind of facade that says "accountant's office" or "insurance broker" or "nothing to see here."
Suite 12. A frosted glass door with the RegenaForm logo etched into it the double helix in chrome, elegant, catching the hallway light like a piece of jewelry. No signage beyond the logo. No description of services. No "ENTER HERE TO HAVE YOUR FACE RESTRUCTURED." Just the helix and the suite number and the quiet confidence of a business that doesn't need to advertise because the people who need it will find it.
I push the door open.
The waiting area is small and immaculate. Hardwood floors, warm-toned, polished to a shine that makes the apartment's hardwood look like plywood. Two low couches in dove grey, the kind with precise right angles and cushions that look like they've never been sat on. A glass coffee table with a single orchid in a white ceramic pot and a stack of magazines that are not magazines they're lookbooks, glossy portfolios of RegenaForm's work, each page a before-and-after that blurs the line between medicine and art. The lighting is recessed, warm, the kind that makes skin look good regardless of what the skin actually looks like. A faint ambient sound not music, not quite white noise, but something between the two, a frequency that says relax on a level your brain processes without your permission and behind the reception desk a girl.
I see her and my brain does something it rarely does it stops. Full halt. No internal monologue, no anxious chatter, no running calculation of my inadequacies. Just: stop. Look. Process.
She's beautiful. Not in the way Kira is beautiful Kira's beauty is specific, angular, made of sharp bobs and wire frames and the intelligence behind her eyes. Lina's beauty is... universal. Impossible to categorize. She could be any ethnicity, all of them, none of them honey-toned skin that glows like it's generating its own light source, large doe-shaped eyes in an amber-gold that I've never seen in a human face outside of colored contacts, soft wavy hair in caramel and brown past her shoulders, full lips in a smile that's warm and practiced and slightly, almost imperceptibly, too perfect. She's wearing a fitted dove-grey dress with the chrome double-helix embroidered on the chest, and everything about her reads as "advertisement." Not in a cheap way. In the way that a luxury car in a showroom window is an advertisement the product is its own pitch.
<<lina "Welcome to RegenaForm! You must be Ellie.">>
Her voice matches. Melodic. Modulated. Every syllable placed like a note in a composition.
<<eli "Uh. Yeah. Hi.">>
<<lina "Wonderful. Dr. Voss is expecting you. Can I get you anything before your consultation? Water, tea, sparkling?">>
<<eli "I'm fine. Thanks.">>
<<lina "Of course. Please have a seat the doctor will be right with you.">>
I sit on the grey couch. It's as uncomfortable as it looks beautiful but rigid, designed for aesthetics rather than human bodies. I pick up one of the lookbooks. The pages are heavy stock, matte finish, each spread showing a transformation: the left page a "before" shot, the right an "after." The changes range from subtle a jawline softened, a nose refined, skin cleared to dramatic. Full facial feminization. Body contour. Results that look less like surgery and more like a person being translated into a different language of themselves.
I'm looking at a spread showing a jaw transformation angular-masculine to soft-feminine, the bone structure literally reshaped when a door opens at the back of the waiting area and a person steps through.
[[Doctor arrives|day_3_16_kira]]<<set $hint to "Meet Doctor Maren Voss">>
<<set $day_step to 16>>
Dr. Maren Voss.
They're and I use "they" because my brain can't settle on a pronoun and neither, it seems, can Dr. Voss's face tall, lean, somewhere in their mid-thirties, with the kind of bone structure that exists in the exact center of a spectrum that most people live at the edges of. Sharp cheekbones but soft mouth. Strong brow ridge but arched, feminine eyebrows. Ash-blonde hair pulled back sleekly from a face that is striking precisely because it refuses to be categorized. They're wearing a tailored white lab coat over a black high-collared shirt, slim black trousers, minimalist white shoes. A thin silver bracelet on the left wrist. The RegenaForm helix pin on the lapel, catching light.
Their eyes are cool grey-green. Steady. The kind of eyes that don't look at you they read you. Like a barcode scanner in a face.
<<dr_maren "Ellie. I'm Dr. Maren Voss. Welcome.">>
The voice is measured, calm, with an accent I can't place something European, maybe Scandinavian, smoothed by years of professional neutrality into a register that gives nothing away.
<<eli "Hi. Thanks for fitting me in today.">>
<<dr_maren "Of course. Shall we?">>
They gesture toward the door they emerged from. I follow them through.
[[Go to the consultation room|day_3_17_kira]]<<set $hint to "The consultation">>
<<set $day_step to 17>>
The consultation room is a continuation of the waiting area's aesthetic warm lighting, wood and glass, the clinical minimized in favor of the comfortable. There's no examination table. Instead, two chairs facing each other across a low table, with a large screen mounted on the wall behind Dr. Maren's chair. It looks more like a design studio than a medical office.
I sit. Dr. Maren sits across from me. They cross one leg over the other an elegant, controlled motion and fold their hands in their lap. The grey-green eyes settle on my face with the attentiveness of someone cataloging its features.
<<dr_maren "So. Tell me what brings you here.">>
I've rehearsed this. On the walk over, in the elevator, in the waiting room. I've assembled a script that sounds reasonable, practical, the kind of thing a person might say without sounding like a person who's pretending to be a woman on the internet for money.
<<eli "I'm a streamer. Online content creator. I'm looking to... upgrade my appearance for camera. Just small things. I want to look a little more polished. Maybe a bit more... feminine? Not not like a full transformation. Just camera-friendly.">>
I hear myself say it and it sounds almost normal. Almost like a reasonable request from a person who works on camera and wants to look better. Dr. Maren's expression doesn't change the same steady, neutral attention, the barcode scanner reading.
<<dr_maren "I see. Can you be more specific about what you'd like to change?">>
<<eli "I'm not sure, honestly. I don't know what's possible. I just know that my face... isn't doing what I need it to do.">>
<<dr_maren "What do you need it to do?">>
<<eli "...make people stop scrolling.">>
Something shifts in Dr. Maren's expression. Not a smile they don't smile, exactly but a softening. A recognition. As if "make people stop scrolling" is a diagnosis they've heard before, a presenting symptom they know how to treat.
<<dr_maren "May I?">>
They gesture toward my face. I nod, unsure what I'm agreeing to. They lean forward and with the precise, impersonal care of a jeweler examining a stone they turn my head gently with two fingers on my chin. Left. Right. Center. Their touch is cool and dry and completely devoid of warmth or hesitation. Professional in the truest sense: my face is an object they're assessing, not a person they're touching.
<<dr_maren "Good bone structure beneath the surface. The jawline has potential for significant feminization with minimal intervention. The brow ridge is low that's actually advantageous. Your skin responds well to treatment. Eyes are proportionally balanced. Nose would benefit from refinement but isn't a priority.">>
They're describing my face the way an architect describes a building they intend to renovate noting the foundation, identifying the load-bearing walls, planning what to preserve and what to strip away.
<<dr_maren "Let me show you something.">>
They turn to the wall-mounted screen. A few taps on a tablet and my face appears captured by a high-resolution camera I didn't notice built into the frame of the screen. The image is sharp, mercilessly detailed. Every pore, every blemish, every asymmetry. My face at a resolution I've never seen it in, exposed under clinical lighting, and looking at it is like hearing a recording of my own voice familiar but wrong, the same and not the same, the private made public.
Dr. Maren touches the screen. A digital overlay appears on my face lines and contours, like an architectural blueprint, mapping the bone structure beneath the skin.
<<dr_maren "Here's what I'm seeing.">>
They draw with their finger. Lines appear.
<<dr_maren "The masculine markers are concentrated here the brow ridge, the jaw angle, the nose width. These are the features that code 'male' to the viewer's eye, usually within the first half-second of seeing a face. Everything else your eye shape, your lip proportions, your cheekbone placement is actually quite neutral. You're closer to the center of the spectrum than you think.">>
<<eli "Closer to the center of what spectrum?">>
<<dr_maren "The gender presentation spectrum. Your face reads male because of four or five specific features. Remove or soften those, and the rest is... ambiguous. Open to interpretation. Camera-friendly, as you put it.">>
They tap the screen again. The overlay shifts the digital lines redraw, and my face changes. Not dramatically. Subtly. The jaw softens. The brow smooths. The lashes lengthen. The skin clears. The face on the screen is still recognizably mine but also recognizably different like a relative I've never met, a cousin who inherited different genes from the same pool.
I stare at it.
<<dr_maren "This is achievable with Tier 1 modifications alone. Facial feminization. Eyelashes, brow sculpting, skin refinement. No structural bone work, no implants, nothing invasive. The procedures are DNA-based we use your own genetic material, so there's no rejection risk, no scarring, full sensory preservation. Recovery time for each feature is six to twelve hours.">>
<<eli "And the cost?">>
<<dr_maren "Depends on the selections. The full Tier 1 menu ranges from 500 to 4,500 Dollars. Individual features are priced separately. We also offer... introductory packages.">>
They say "introductory packages" the way a dealer says "first one's free" casually, offhandedly, as if the generosity is routine and not calculated.
<<dr_maren "For new clients, we offer a complimentary eyelash enhancement our most popular introductory procedure and for streamers specifically, a professional-grade wig from our cosmetics line. No charge. Consider it... a sample.">>
A sample. A taste. The thing that gets you through the door and seated in the chair, the thing that lets you see the results on your own face in your own mirror, the thing that makes the next tier not just possible but inevitable.
I know what this is. I can see the funnel the marketing, the psychology, the escalation ladder. First visit free. First modification free. Then the brow sculpt for 300 $. Then the nose for 500. Then the jaw for 800. Each step a little more, each result a little better, each number on the dashboard a little higher, until you've climbed the ladder so far that looking down would mean seeing a person you no longer recognize as yourself.
I know what this is and I say yes anyway.
<<eli "What would you recommend? For... starting?">>
Dr. Maren's grey-green eyes meet mine. Steady. Reading.
<<dr_maren "The complimentary eyelash enhancement Natural-Long variety. Dense, dark, naturally long. Subtle enough that most people won't identify the change consciously, but the effect on camera is significant. Lashes frame the eyes. Framed eyes hold attention. Attention is the currency you're trading in.">>
<<eli "And beyond that?">>
<<dr_maren "If you'd like to invest in one paid procedure today, I'd recommend the brow sculpt. Feathered soft, natural-looking, a slight feminine arch. It opens the eye area, reduces the masculine coding of the brow ridge, and pairs beautifully with the lash enhancement. Three hundred Dollars.">>
300 $. Which converts to I do the math roughly $300 in real currency. Which I don't have. Which I absolutely don't have. My bank account has $47 plus the $3.50 from yesterday that hasn't cleared yet. I cannot afford a $300 cosmetic procedure. I cannot afford a $30 cosmetic procedure. I cannot afford the coffee Marcus bought me two days ago.
But.
ElliePlayz made $47 in one hour. One stream. If the second stream tonight does even half as well and the numbers suggest it will, given the follower base and the algorithm momentum that's another $25-30. Tomorrow, another stream. Next week, multiple streams. The math isn't theoretical. It's already proven. The system works. The voice works. The money is real.
I can pay for this. Not today. But soon. Very soon.
<<eli "Can I do a payment plan?">>
<<dr_maren "We offer credit through our internal system. Dollars-based. The eyelashes are complimentary today. The brow sculpt 300 $ can be billed to your streaming account with a seven-day payment window.">>
<<eli "My streaming account?">>
<<dr_maren "ElliePlayz, correct?">>
I freeze. I didn't I didn't give them that name. The consultation form said "Ellie." Just Ellie. No channel name, no streaming details. But Dr. Maren says "ElliePlayz" like they've been watching, like they know, like the information arrived through a channel I can't see.
<<eli "How did you ">>
<<dr_maren "We keep our ear to the ground. New streamers with... potential... tend to find their way here. It's not unusual. Many of our most successful clients began exactly where you are.">>
They say it smoothly. Too smoothly. The words are a bridge over a question I should be asking how do you know my stream name? but the bridge is well-built and the far side has a brow sculpt and eyelashes waiting, and I cross it without looking down.
<<eli "Okay. Let's do the eyelashes and the brow sculpt.">>
<<dr_maren "Excellent and the wig our gift to you. We have a range specifically designed for camera use. Natural appearance, adjustable fit, fiber that responds to lighting like real hair. Our coordinator will help you select one after the procedure.">>
They stand. Extend a hand. I shake it their grip is firm, dry, the handshake of someone who shakes hands the way they do everything else: with precision and intent.
<<dr_maren "If you'll follow me.">>
[[Follow Dr. Maren to the procedure room|day_3_18_kira]]<<set $hint to "The procedure">>
<<set $day_step to 18>>
The procedure room is behind another frosted glass door, and it's the first space in the clinic that actually looks medical a reclining chair that splits the difference between dental and spa, adjustable lighting rigs, a tray of instruments I can't identify, and a screen showing my face again, this time with the target areas highlighted. The eyelashes in blue. The brows in green.
I sit in the chair. It reclines smoothly none of the hydraulic wheezing of my desk chair, just a silent, engineered glide backward until I'm staring at the ceiling, which is featureless and white and nothing like the crack in my apartment ceiling, which I find oddly disorienting. My ceilings should have cracks. That's the deal.
<<dr_maren "The eyelash procedure takes approximately twenty minutes. The brow sculpt, thirty. You'll experience mild warmth at the application sites that's the bioactive compound integrating with your follicular DNA. No pain. No downtime. Results are immediate.">>
<<eli "Immediate?">>
<<dr_maren "The modifications grow from your own genetic template. We're not attaching anything we're activating dormant potential in your existing cells. The lashes will be fully extended by the time you leave the chair. The brows will reshape over the course of two to three hours.">>
Activating dormant potential. I wonder if they use that phrase deliberately if it's medical terminology or marketing copy, if there's a difference, if it matters. The idea that my cells contain the blueprint for feminine eyelashes, dormant, waiting to be switched on it's either science or poetry and both are doing something to the inside of my chest.
They apply something to my eyelids. Cool, gel-like, with a faint chemical tang that doesn't smell medical but doesn't smell not medical. The warmth follows gradual, spreading, not unpleasant. Like someone pressing warm fingertips against the skin around my eyes.
<<dr_maren "You can close your eyes. The process works best with the lids relaxed.">>
I close my eyes. The warmth deepens. I can feel something happening not movement, not growth, but a stirring. A cellular-level activity that registers as a hum at the edge of perception, like hearing a sound just below the threshold of hearing. My lashes tingle. The skin around my eyes tightens slightly, then relaxes.
Twenty minutes. I lie there with my eyes closed and I think about Kira.
I think about her sitting in her desk chair yesterday, explaining click-through rates, the afternoon light on her glasses. I think about the pixel-heart tattoo beneath my palm when our fingers interlaced at the izakaya. I think about the kiss the glasses bumping my nose, the seatbelt catching, the lip gloss. I think about the red heart she sent this morning and the one I sent back.
I think about the fact that I'm lying in a chair in a clinic four blocks from my apartment having my eyelashes modified by a doctor with no discernible gender, using money I don't have, earned by pretending to be a woman, hidden from the girlfriend I've had for approximately 36 hours.
The splinter in my chest pushes a little deeper.
<<dr_maren "Eyelashes complete. Opening your eyes now.">>
[[Open eyes after eyelash procedure|day_3_19_kira]]<<set $hint to "Open your eyes">>
I open them. The ceiling is still white. Still crack-free. Dr. Maren holds a mirror up a real mirror, clinical-grade, the kind that shows everything.
<<set $appearance to 3>>
<<set $femininity to 1>>
<<set $playerImage = "images/user/tier_0_1.jpeg">>
<img src="images/user/tier_0_1.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
My eyes look different.
The lashes are they're mine. They look like they grew from my face, because they did, because that's how this technology works. But they're longer. Darker. Denser. A fringe of dark lashes that frames my eyes the way a frame holds a painting, creating a border that draws attention inward, toward the brown irises, toward the look in them, toward me. The effect is subtle and enormous simultaneously if you weren't paying attention you'd miss it, but if you were looking at my face on a stream, on a webcam, in a thumbnail, your eyes would catch on the lashes the way eyes catch on movement. They're an anchor. A reason to look twice.
<<dr_maren "Natural-Long. Dense, dark, no maintenance required. They'll grow at the same rate as your natural lashes and can be trimmed if desired, though I wouldn't recommend it. The length is optimized for camera distance.">>
I stare at my reflection. The face is still mine. Still the pale skin, the dark circles, the acne, the wide-bridge nose, the thin lips. But the eyes are different. The eyes look not feminine, not yet, but interesting. Like something changed in the equation and the result shifted, and the shift is small but visible, like a star moving in the sky.
<<eli "...wow.">>
<<dr_maren "Shall we proceed with the brows?">>
<<eli "Yeah. Yes.">>
The brow procedure is similar a gel application, warmth, the cellular stirring. This time Dr. Maren shapes with their fingers, tracing the new arch with a precision that feels more like sculpture than medicine. They murmur coordinates to themselves angles, millimeters, the geometry of a face being redrawn in real time.
<<dr_maren "Feathered. Soft, natural-looking. The arch opens the eye area and raises the apparent brow line, reducing the visual weight of the brow ridge. The effect is... lightening. The face becomes lighter. More open. More inviting.">>
Thirty minutes. The warmth fades. Dr. Maren holds the mirror up again.
[[See the new brows|day_3_20_kira]]<<set $hint to "See the new brows">>
The brows are they're subtle. The change from my previous brows thick, masculine, low-set, slightly unruly to the Feathered sculpt is like the difference between a rough sketch and a clean line drawing. The new brows are thinner, shaped, with a soft feminine arch that lifts the eye area and creates the impression of more space between the eyes and the hairline. My forehead looks different. Taller. Smoother. The brow ridge, which Dr. Maren identified as a "masculine marker," is visually reduced not gone, but softened, the way turning down the bass changes a song without removing any notes.
Combined with the lashes, the effect is
<<set $appearance to 4>>
<<set $femininity to 2>>
<<set $playerImage = "images/user/tier_0_2.jpeg">>
<img src="images/user/tier_0_2.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
I look at my face in the mirror and I feel a vertigo that has nothing to do with height or motion. The face is mine. I can trace every feature back to the face I've been avoiding in my bathroom mirror for eight months. But the sum is different from the parts. The lashes plus the brows plus the accumulated effect of two small changes equals something new something that lives in the space between what I was and what I might become, and looking at it is like looking through a window into a room I didn't know my house contained.
<<dr_maren "The brows will continue to refine over the next two to three hours as the cells complete their restructuring. By this evening, the arch will be fully defined.">>
<<eli "It looks... I look...">>
<<dr_maren "You look like yourself. Just... more so.">>
They say it with the ghost of a smile the first expression I've seen on their face that isn't clinical neutrality. It's the smile of an artist looking at a work in progress. Satisfaction. Potential recognized.
[[Wig fitting with Lina|day_3_21_kira]]<<set $hint to "Wig fitting with Lina">>
Lina handles the wig fitting. She leads me to a small side room more boutique than clinic, with a lit vanity mirror and a wall of wig forms displaying a dozen styles, each one looking more like real hair than anything I've seen in a store.
<<lina "Dr. Voss mentioned you're streaming voice-only currently? Planning to add a camera element eventually?">>
<<eli "Maybe. I'm not sure yet.">>
<<lina "Well, when you are, this will help.">>
She pulls a wig from the wall medium-length, brownish-auburn, soft waves, the kind of hair that looks like it belongs to a woman who uses conditioner and knows what a hair mask is. She sets it on the counter in front of me.
<<lina "This is our StreamLine series. Designed specifically for camera use the fiber responds to light the way biological hair does, so it doesn't have that wig 'sheen' that cheap synthetics get under LED or ring light. Adjustable cap, invisible lace front, blends with your natural hairline.">>
She helps me put it on. The process is more involved than I expected she tucks my real hair, adjusts the cap, aligns the lace front, uses some kind of adhesive along the edges. Her hands are efficient, impersonal, warm. She smells like vanilla and something clean, like freshly laundered linen.
<<lina "There.">>
[[Look in the mirror with the new wig|day_3_22_kira]]<<set $hint to "Look in the mirror with the new wig">>
<<set $loan to 300>>
She turns me toward the mirror. I don't recognize myself.
<<set $playerImage = "images/user/tier_0_3.jpeg">>
<img src="images/user/tier_0_3.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
That's not that's not accurate. I recognize myself. The eyes are mine. The nose is mine. The mouth is mine. But the frame has changed. The lashes, the brows, the hair three modifications, two of them free and the face in the mirror looks like a cousin. A sister. A version of me from a parallel universe where the genetic dice rolled differently, where the X chromosome doubled, where the person I might have been got to exist instead of the person I am.
The wig falls in soft waves to my shoulders. The brownish-auburn color works with my skin tone the pale complexion that looked sickly with my greasy brown hair looks delicate with this, like the pallor is intentional, porcelain rather than neglected. The lashes frame the eyes. The brows lift the face. The hair completes the composition.
I look androgynous. Not female not yet, not with the jaw and the nose and the flat chest and the Adam's apple but not definitively male either. I look like a question the viewer's brain has to answer, and the answer depends on context. In the right lighting, with the right angle, from the nose down or the eyes up
From the nose up.
An idea forms. Not a full plan a fragment, a shard, the edge of something. Camera from the nose down. The wig. The voice modulator. The lashes and the brows framing the visible portion of the face. Enough to suggest. Enough to imply. Enough to let the viewer's brain answer the question the way it wants to.
<<lina "The wig comes with a care kit storage form, fiber shampoo, a styling guide. It's yours. A welcome gift from RegenaForm.">>
<<eli "Thank you.">>
<<lina "Of course. Dr. Voss wanted me to mention your Dollars credit is active. The brow sculpt balance is due within seven days and if you'd like to explore Tier 1 further... the full menu is available through our app.">>
An app. Of course there's an app. Of course the bioengineering clinic that makes you prettier has a mobile application for browsing the catalog and scheduling procedures and managing your transformation like a subscription service. Of course.
<<lina "Of course. We'll see you soon, Ellie.">>
She says it with the certainty of a person who knows the difference between "goodbye" and "see you soon," who understands that the free eyelashes and the free wig are not charity but investment, and that the investment will pay off because it always does, because the door only opens one way.
[[Take of the wig and Leave Facility|day_3_23_kira]]<<set $hint to "Leave the clinic">>
<<set $playerImage = "images/user/tier_0_2.jpeg">>
<<set $day_step to 23>>
I leave the clinic with a bag containing the wig and the care kit and the receipt for the brow sculpt 300 $, seven-day payment window and I walk four blocks back to my apartment in the January cold with my new lashes catching snowflakes I didn't notice starting and my new brows still subtly reshaping beneath the skin and the wig in a bag that swings from my hand like a prop from a life I'm rehearsing for.
The splinter in my chest is there. I can feel it small, sharp, positioned in the exact place where the warm pulse of Kira's red heart lives. Two sensations occupying the same space: the guilt and the hope, the lie and the love, the secret and the girl who doesn't know it exists.
I check my phone. Two hours until Kira picks me up.
Two hours to hide everything.
<<link "Go Home">><<set $hint to "Go Home and Wait in Bedroom">><<goto neighbourhood>><</link>>I spend the two hours before Kira arrives in a state of controlled panic.
The wig is in the closet, buried beneath the pile of clothes on the floor where the rod fell four months ago. The care kit is shoved behind the mini-fridge. The RegenaForm receipt is deleted from my email and the browser history is cleared and the confirmation page is closed and every digital trace of the afternoon has been scrubbed with the thoroughness of a person who watches too many crime procedurals and not enough relationship advice videos.
The physical traces are harder to hide.
I stand in the bathroom. I look in the mirror. Not the phone camera the actual mirror, the one I've been avoiding for eight months, the one that shows everything without filter or mercy.
The eyelashes are there. Long, dark, dense. They catch the light from the flickering overhead bulb and cast tiny shadows on my cheekbones that weren't there yesterday. The brows are reshaping I can see it happening in real time, the slow migration from thick-masculine to feathered-feminine, the arch lifting by degrees, the hair refining itself from scraggly to sculpted. Dr. Maren said two to three hours. It's been ninety minutes. The transformation is halfway done.
Will she notice?
Of course she'll notice. Kira notices everything. She noticed the shampoo. She noticed when I changed my stream title two months ago. She noticed the brand of energy drink I switched to in September and asked if I was okay because "people only change energy drinks when something's wrong." She is an observation engine disguised as a girl with wire-frame glasses and she will look at my face and she will see the lashes and the brows and she will ask and I will lie.
The plan "new skincare routine" feels paper-thin, a tissue-paper excuse stretched over a truth-shaped hole. But it's what I have and it might work, because the changes are subtle, because the lashes look natural, because the brows are only halfway to their final shape, because Kira has never paid close attention to my brow line (probably I don't actually know what Kira has and hasn't paid attention to, given that she apparently memorized my 3 AM voice and my thumbnail-picking habit from video calls).
I splash water on my face. Pat dry. Look in the mirror one more time.
The face looking back is mine. Different, but mine. The lashes make my eyes look bigger. The partially reshaped brows make my forehead look smoother. The combined effect is what did Dr. Maren say? lighter. The face is lighter. More open. Not feminine, not yet, but softer in a way that's hard to pin down, like someone adjusted the contrast settings on a photograph.
My phone buzzes.
<<kira "leaving in 10! i'm bringing snacks. you better have cleared a space on that couch">>
<<eli "i don't have a couch">>
<<kira "your mattress. you better have cleared a space on your mattress. actually no we're watching at my place. your apartment makes me sad">>
<<eli "it makes me sad too">>
<<kira "then it's settled. my place. Packet misses you">>
<<eli "i met Packet once and he hissed at me">>
<<kira "that's his love language 😤">>
I smile. The muscles ache less today. They're adapting.
[[Kira picks arrive|day_3_25_kira]]<<set $hint to "Go with Kira">>
<<set $locationImage to "images/locations/neighbourhood.jpeg">>
<<set $locationName to "Street">>
She picks me up at 6:07. Seven minutes late because she stopped to buy mochi from her mom's bakery ("Mom asked who I was bringing snacks for and I said 'a friend' and she gave me the look, Eli. THE LOOK. The Japanese-mother-who-knows-everything look.").
I get in the Civic. Cherry blossom. Heater. The warm, enclosed space that smells like her. She's wearing a cream cardigan over a black tank top, her hair freshly washed and slightly fluffier than usual, the bob bouncing at her jawline. The wire-frame glasses are slightly crooked she pushes them up as I close the door.
<<kira "Hi.">>
<<eli "Hi.">>
She leans across the console. I lean to meet her. The kiss is quick a hello kiss, a punctuation mark, a "this is a thing we do now" kiss and her lips are warm and taste like the mochi she was sampling in the car. When she pulls back, she looks at my face.
She looks at my face for three seconds.
My heart rate spikes. Not the warm spike from yesterday's kiss the cold spike, the adrenaline spike, the "she's going to see it" spike that sends electricity through my fingertips and makes my mouth go dry.
<<kira "Did you do something to your face?">>
There it is. The question. The one I prepared for, rehearsed, armed myself against. She asks it lightly not accusatory, not suspicious, just curious, the tone of someone who notices a change in a face they've been studying for eighteen months.
<<eli "New skincare routine.">>
The lie exits my mouth with a smoothness that surprises me. Three words, evenly delivered, the vocal equivalent of a shrug. I even add a self-deprecating half-smile, the kind that says "I know, I know, I'm finally taking care of myself, don't make it a thing."
Kira squints. Her eyes narrow behind the glasses not suspicion, not yet, but the focused attention of a person whose brain just flagged something without quite identifying it. She's looking at my lashes. I can feel her gaze on them, two points of heat on my eyelids.
<<kira "Hmm.">>
One syllable. Noncommittal. She doesn't push. Kira has this gift the same gift Marcus has of letting people keep their mysteries, of filing observations without demanding explanations. She heard my answer. She weighed it. She found it insufficient and she chose to let it go.
For now.
<<kira "Well, it's working. You look good.">>
<<eli "Thanks.">>
<<kira "Like, actually good. Your eyes look... different. Brighter.">>
<<eli "It's the skincare routine.">>
<<kira "What products? I might need to try them.">>
<<eli "Uh. I don't remember the brand. It was at the drugstore.">>
<<kira "You bought skincare products at a drugstore and you don't remember the brand?">>
<<eli "I'm a guy, Kira. We just grab things.">>
She looks at me for one more second. Then she puts the car in drive and pulls away from the curb and the moment passes, and the splinter in my chest pushes a fraction of a millimeter deeper and I think: that was close. That was the first test. There will be more.
[[Arrive at Kira's apartment|day_3_26_kira]]<<set $hint to "Spend time with Kira">>
<<set $locationImage to "images/locations/kira_apartment.jpeg">>
<<set $locationName to "Kira's Apartment">>
Kira's apartment is warm and lit and alive in the way my apartment is cold and dim and dying. Packet the grey tabby, the keyboard sitter, the hisser is on the couch when we walk in. He looks at me with the flat, appraising gaze of an animal that knows things humans don't, and I swear he can see through the eyelashes and the brows and the lie to the person underneath.
<<kira "Packet, be nice. Eli's our guest.">>
Packet does not be nice. Packet stares at me for four seconds, then turns his back and begins washing his paw with the elaborate disinterest of a creature that considers me beneath its notice. I respect this. Packet and I have an understanding: I don't expect affection and he doesn't provide any. It's the most honest relationship in this apartment.
<<kira "Tea?">>
<<eli "Sure.">>
She disappears into the kitchen. I hear the kettle fill, the burner click. I stand in the living room the grey sectional, the coffee table with the manga and the orchid figurine now moved to a small shelf, the framed prints on the walls. Kira's apartment is curated the way her stream is curated every object chosen, every placement intentional, the physical space reflecting the same aesthetic control she applies to her digital one. It's not obsessive. It's just... considered. The apartment of a person who thinks about where things go and why.
My apartment is the apartment of a person who dropped things and left them where they fell.
She returns with two mugs. Tea green, the good kind, not the bag-in-a-cup kind. She hands me one and settles onto the couch, drawing her legs up beneath her, and pats the cushion beside her.
<<kira "Sit. I queued up an anime. Have you seen Frieren?">>
<<eli "No.">>
<<kira "Oh my GOD. Eli. You're going to love it. It's about this elf mage who outlives all her friends and then goes on a journey to understand human emotions and it's beautiful and devastating and the pacing is perfect and I cried four times.">>
<<eli "You're really selling the 'I cried four times' angle.">>
<<kira "Crying is a feature, not a bug.">>
I sit beside her. The couch cushions are firm and supportive everything in Kira's life is firm and supportive, including the couch and the career and the girl herself and I sink into them the way I sink into her company. Packet, having completed his paw-washing, relocates to the arm of the couch with the resigned tolerance of a cat who's accepted that the couch is no longer exclusively his territory.
Kira starts the show. The screen glows. The opening credits play soft music, painted backgrounds, the kind of animation that looks like watercolors in motion. She tucks herself against my side with the natural, practiced motion of someone who's been waiting to do this, and I lift my arm and it goes around her shoulders and her head finds the hollow between my shoulder and my chest and she fits there like the space was designed for her.
Her hair is against my jaw. I can smell her shampoo something floral, different from the cherry blossom of the car, more personal, the scent of her actual head on my actual shoulder. Her glasses press into my collarbone. She adjusts them without looking, one hand reaching up to tilt the frames so they're not digging in, and her fingers brush my neck in the process and the touch sends a ripple down my spine that I absorb without moving.
<<kira "Comfortable?">>
<<eli "Yeah.">>
<<kira "Good. No moving for the next three episodes.">>
<<eli "Three?">>
<<kira "Minimum. Frieren requires commitment.">>
We watch. The anime is she's right, it's beautiful. A story about time and loss and the slow realization that the things you didn't pay attention to were the things that mattered most. An immortal elf looking back at a life she lived alongside mortals and understanding, too late, that the moments she dismissed as trivial were the only ones worth keeping.
I watch it and I feel things. Not the numb, flat nothing that usually occupies the space behind my sternum during screen time, but actual, genuine things sadness and warmth and the ache of recognition, the specific ache of watching a character realize they wasted time and knowing you're doing the same thing. Kira shifts against me, adjusting her position, pressing closer. I hold her tighter. Not dramatically just a fractional increase in the arm around her shoulders, a thumb moving slowly against the fabric of her cardigan. She makes a sound. A small "mmm" of contentment, barely audible, more vibration than voice.
The second episode ends. The third starts. Kira's commentary which was frequent and passionate during the first episode ("LOOK at that background, Eli, LOOK at it") has gotten quieter. Her voice is softer. Her observations are shorter. The gaps between them are longer.
Halfway through the third episode, she stops talking entirely.
I look down. Her eyes are closed. Her breathing has changed slower, deeper, the rhythm of sleep. Her glasses have slipped down her nose. One hand is resting on my chest, the fingers loosely curled, the pixel-heart tattoo visible on her inner wrist. Her lips are slightly parted. There's a strand of hair across her cheek that the breathing moves, gently, back and forth, back and forth.
She's asleep.
Kira Nomura 12,400 followers, 890 average viewers, $487 per session, bisexual, sharp-tongued, wire-framed, the most competent person I've ever met is asleep on my shoulder at 8:45 PM on a Thursday in January, and I am going to sit here without moving for as long as she sleeps because waking her would be a crime.
I sit perfectly still. I breathe shallowly. The anime plays the third episode continues, and I watch it over the top of her head, and the story unfolds, and the elf mage learns something about humans that she should have known before, and Kira sleeps against me with the trusting weight of a person who feels safe.
Packet, who has been observing from the arm of the couch, stands, stretches, and walks across the cushions to settle on Kira's lap. He curls into a circle, tucks his nose into his tail, and begins to purr. The vibration transfers through Kira's body into mine. Two living things, warm and sleeping and touching, and me awake, holding them both, the stillest I've been in months.
I think about the eyelashes. The brows. The wig in my closet. The ElliePlayz dashboard with its $47 and its 51 followers. The RegenaForm receipt I deleted from my email. The lie I told thirty minutes ago in this car "new skincare routine" and the way Kira squinted and said "hmm" and let it go.
The splinter.
I can feel it now, deeper than before, positioned between the warmth of her body and the cold calculation of my afternoon. Two realities coexisting in the same chest: the real and the secret. The girl who fell asleep trusting me and the person I'm becoming without telling her. She's on my shoulder and I have her trust and I'm going to go home tonight and put on a wig and sit in front of a webcam and pretend to be a woman for money.
The anime ends. A fourth episode auto-plays. Kira sleeps through it. Packet purrs. I don't move.
I sit there for forty minutes.
[[Wait till Kira wakes up|day_3_27_kira]]<<set $day_step to 27>>
She wakes at 9:30. The waking is slow a stirring, a shift, a small confused sound as she orients herself. She pushes up from my shoulder, blinks, squints at the screen where a fifth episode has started.
<<kira "Oh my god. How long was I out?">>
<<eli "About forty-five minutes.">>
<<kira "Why didn't you wake me?">>
<<eli "You looked comfortable.">>
<<kira "Eli. You sat still for forty-five minutes?">>
<<eli "My arm is completely numb. I may never use it again.">>
She laughs. Sleepy, rough, the laugh of a person still halfway in a dream. She pushes her glasses up they slipped almost to the tip of her nose during sleep and runs a hand through her hair, which is flattened on the side that was against my shoulder, a lopsided bob that makes her look younger and softer and entirely devastating.
<<kira "You're ridiculous.">>
<<eli "You drooled on my shirt.">>
<<kira "I did NOT ">>
She looks at my shoulder. There's a small damp spot. Her face goes bright red.
<<kira "Oh my god. I'm so sorry.">>
<<eli "It's fine. I've had worse things on this shirt.">>
<<kira "That is NOT reassuring.">>
She swats my arm the dead one, which I can't feel and then leans in and kisses me. Not the hello kiss from the car. A longer one. A thank-you kiss. A "you sat still for forty-five minutes because I was sleeping" kiss. Her lips are dry from sleep and her breath is tea-warm and she tastes like green tea and mochi residue and the specific chemistry of a person who trusts you enough to fall asleep on your body.
<<kira "Thank you for not moving.">>
<<eli "Anytime.">>
<<kira "I mean it. That's... that's a thing. You know? Letting someone sleep. Not everyone does that.">>
<<eli "Your cat helped. He was on your lap. I didn't want to disturb the hierarchy.">>
<<kira "Packet does outrank you. That's true.">>
She stretches. Her cardigan rides up, showing a strip of her stomach the black tank top beneath, the soft skin above the waistband of her jeans. I look and look away and she catches me looking and smiles the teasing grin and I feel the warm pulse in my chest that is Kira, that has always been Kira, that exists in the same space as the splinter but is larger, warmer, more real.
<<kira "It's late. I should let you go home. You have streaming stuff tomorrow, right?">>
<<eli "Yeah. Streaming stuff.">>
<<kira "That's all you ever say. 'Streaming stuff.' One day you're going to tell me what actually happens in those streams.">>
<<eli "Death. Mostly. In-game death and DarkSlayer.">>
<<kira "Your biggest fan.">>
<<eli "My biggest bully.">>
<<kira "Same energy.">>
She walks me to the door. Packet watches from the couch with the impassive gaze of a feline sovereign observing the departure of a foreign dignitary. At the door, Kira leans against the frame the same pose from the photos she posts on socials, casual and composed, the doorframe framing her the way the ring light frames her on stream.
<<kira "Tomorrow?">>
<<eli "Tomorrow.">>
<<kira "I have a stream at noon but I'm free after four. We could do something.">>
<<eli "I'd like that.">>
<<kira "Cool. It's a plan.">>
She reaches up. Her hand small, warm, the pixel-heart tattoo at the wrist touches my face. My cheek. The skin below the new lashes and above the new brows, in the space between the two modifications, the space that's still entirely Eli. Her thumb traces my cheekbone the way her thumb traced the condensation on the beer glass, the way her thumb traced circles on the back of my hand at the izakaya. A slow, deliberate circuit.
<<kira "You really do look different.">>
<<eli "Good different?">>
<<kira "Yeah. Good different. Your eyes are... I don't know. Bigger.">>
<<eli "It's the skincare routine.">>
<<kira "Eli.">>
<<eli "What?">>
She looks at me. The squint again. The focused attention. She's not buying it I can see it in the way her brow furrows (her natural brow, the one that hasn't been sculpted by a clinic four blocks from my apartment), in the way her lips press together the way they do when she's choosing between pushing and letting go.
She lets go.
<<kira "Nothing. Just... you look nice. That's all.">>
<<eli "Thanks, Kira.">>
<<kira "Goodnight, disaster. ❤️">>
<<eli "Goodnight.">>
She kisses me. Goodnight kiss. Soft, brief, certain. Her hand still on my cheek. Then she pulls back and steps inside and the door closes and I stand in the hallway with her fingerprints on my face and her trust in my pocket and the lie between my teeth like a seed I can't swallow and can't spit out.
<<set $hint to "Go Home and Stream">>
[[Go Home|apartment_map]]I get home at 10:15. The apartment. The crack. The hum.
I close the door. Stand in the dark. Don't turn on the light. The January night presses against the window and the building settles and the pipes clank and I stand there in my grey shirt with the drool spot on the shoulder and I feel the two realities pressing against each other inside my chest like tectonic plates.
The warm one: Kira. The couch. The sleeping. The trust. The kiss.
The cold one: ElliePlayz. The dashboard. The $47. The 89 viewers. The clinic. The wig in the closet.
Both real. Both mine. Both impossible to hold simultaneously without something cracking.
I turn on the light. The bulb flickers twice. Everything appears. The mattress, the desk, the monitors, the fridge, the burrito wrappers (two now, a growing collection). The closet with the wig buried in it.
I sit at the desk. Open the closet. Pull the wig out. Set it on the desk beside the monitors.
It sits there brownish-auburn, soft waves, the StreamLine series from RegenaForm, designed for camera use and it looks like a prop. A costume piece. A thing that belongs to someone else, waiting to be put on.
I open OBS. Open VoxMorph. Open the ElliePlayz channel. The dashboard from this afternoon's stream is still visible:
Peak Viewers: 89
Average Viewers: 63
Followers: 51
Donations: $47.00
51 followers. Some of them said they'd be back tonight. MidnightWhale99 said "tonight. I'll be there." ChillVibesOnly said "best new streamer on Twitch." People are waiting. Strangers who've never seen my face are waiting for a voice that doesn't exist to come back.
I put on the wig.
The process takes ten minutes I watched a YouTube tutorial on the walk home, pausing at streetlights, memorizing the steps. Tuck the natural hair. Position the cap. Align the lace front. Secure with adhesive strips. The wig settles onto my head with a weight that's both physical and metaphorical the feeling of putting on a costume, of stepping into a role, of becoming someone who isn't you and is entirely you.
I look at the webcam preview in OBS. The image is
Different. Completely different.
The wig changes everything. The brownish-auburn waves frame the face in a way my greasy brown hair never did soft, warm, feminine. The lashes catch the monitor light and cast those tiny shadows. The brows, now almost fully reshaped, lift the eye area into something open and inviting. The combination wig, lashes, brows doesn't make me look female. Not yet. The jaw is still too angular, the nose too wide, the skin too rough. But from certain angles, in certain light, with certain framing
I adjust the webcam. Tilt it down. Frame the shot from the nose up without nose visibility. eyes, eyelashes, eye brows,forehead and the cascade of wig-hair falling from the top of my head. I angle my desk lamp to the side, creating a warm, directional light that softens the jaw shadow and makes the skin look smoother than it is.
In the preview, from the nose up without nose visibility, in this lighting, with this wig, I look like
I look like a girl.
Not a beautiful girl. Not a convincing girl. But a plausible one. A girl who's shy about showing her face. A girl who streams with the camera low because she's nervous. A girl named Ellie who has a cute voice and 51 followers and whose full face reveal is always "coming eventually."
I turn on VoxMorph. Route the mic through OBS. Test the voice.
<<chat "ElliePlayz" "Hey everyone, welcome back.">>
The voice comes through the monitoring feed feminine, warm, the same voice from this afternoon and combined with the visual of the wig and the chin and the lips in the webcam preview, it's... convincing. Not flawless. Not indistinguishable. But convincing the way a good magic trick is convincing you know it's not real, but if you don't look too hard, the illusion holds.
I check the time. 11:00 PM. Late-night Twitch. The same time slot that worked this afternoon (which was actually early afternoon, different vibe, but the late-night slot is the one the guide recommended for new streamers).
I change the OBS scene. Add the webcam the framing without even nose visibility framing, the warm lighting. The ElliePlayz overlay, the pink-purple gradient, the cursive text. The game capture. Chat.
I hover over "Go Live."
[[Go Live|day_3_29_kira]]<<nobr>>
<<set $right_sidebar_mode to 1>>
<<set $playerImage to "images/user/tier_0_3.jpeg">>
<<set $day_step to 29>>
<<set $viewers to 0>>
<<set $followers to 51>>
<</nobr>>
My phone sits on the desk beside me. The last message on it is from Kira: a red heart emoji, sent as I left her apartment. The heart glows in the notification bar, a small red pulse, and I look at it and I look at the "Go Live" button and the distance between them is the distance between the person Kira thinks I am and the person I'm about to be.
The wig is on. The VoxMorph is calibrated and the webcam this is where the plan lives the webcam is tilted UP.
Not down. Up. Angled so the frame catches from the nose upward. Eyes. Lashes. Brows. Hair. The feminized zone. Everything RegenaForm touched today, everything the software processes, everything the wig transforms it's all above the nose and everything that gives me away the angular jaw, the thin masculine lips, the shadow of the Adam's apple is below it, cropped out, invisible to anyone watching.
I check the OBS preview. The framing is it's startling.
In the small rectangle of the webcam feed, a girl looks back at me. Not a whole girl. A suggestion of one. Large brown eyes framed by dense, dark, dramatically long lashes that fan outward and catch the desk lamp light in tiny bright points along their length. Soft feathered brows arched in a gentle feminine curve above the eyes, creating the open, inviting look that Dr. Maren described as "lighter." and the hair the warm brownish-auburn waves cascading down both sides of the frame, a center part revealing a realistic hairline, the waves catching warm lamp light on the left and cool monitor glow on the right, two-toned and beautiful.
From the nose up, there is nothing masculine in this frame. The eyes could belong to any girl. The lashes are indistinguishable from natural. The brows are delicate and arched. The hair is long and warm and real-looking. The forehead is smooth, the brow ridge softened by the reshaping. A viewer scrolling the browse page would see this thumbnail and their brain would register: female. Pretty. Click.
I angle the desk lamp one more degree to the left. The warm light catches the lashes and they cast those tiny crescent shadows on my cheekbones that I first noticed in Dr. Maren's mirror. The shadows are visible on camera. They read as cheekbone contour. They read as beauty.
I click "Go Live."
[[Go Live|day_3_30_kira]]<<nobr>>
<<set $right_sidebar_mode to 1>>
<<set $playerImage to "images/user/tier_0_3.jpeg">>
<<set $day_step to 30>>
<<set $viewers to 15>>
<<set $followers to 51>>
<<set $donations = 0>>
<<set $money += 0>>
<<set $hint to "Stream as ElliePlayz">>
<</nobr>>
ElliePlayz Live
Category: Just Chatting → Gunmetal Requiem
Viewers: 0
The stream goes live. The webcam activates. In the preview, a pair of large, lash-framed eyes and a cascade of brownish-auburn waves appear beside the game capture window, and the VoxMorph hums softly as it processes my breathing into something softer.
<<eli "Hiii! I'm back! Oh my gosh, hi everyone! I said I'd stream again tonight and here I am! I even have a little bit of camera now I know I know, it's not a full face reveal, but you can see my eyes and my hair! Progress, right? How is everyone?">>
Viewers: 3
Viewers: 8
Viewers: 15
They come back. The people from this afternoon I can see the usernames, ChillVibesOnly and MidnightWhale99 and night_owl_cc, returning like regulars to a bar, settling into the chat with the easy familiarity of people who've found something they want to keep.
<<chat "MidnightWhale99" "SHE'S BACK and we can see her EYES">>
<img src="images/scenes/day_3/day_3_2.png" alt="A screenshot of the stream webcam feed, showing a close-up of Ellie's eyes, framed by long lashes and soft brows, with warm lighting creating tiny shadows on her cheekbones.">
<<chat "ChillVibesOnly" "ellie!! oh my god your EYES. your LASHES. i'm deceased">>
<<chat "night_owl_cc" "wait is that her actual face omgggg those eyelashes are UNREAL">>
<<chat "stream_viewer_b1" "her eyes are so pretty holy shit">>
<<eli "Aw, you guys! You're going to make me blush! I was so nervous to show any of my face, you have no idea.">>
<<chat "MidnightWhale99" "nervous?? you're gorgeous. those eyes could END me">>
<<chat "stream_viewer_b2" "the hair omg. the hair and the eyes together. i'm in love">>
<<chat "ChillVibesOnly" "okay but can we talk about the lashes? are those real??">>
<<eli "Haha, yes they're real! I just... have really long lashes, I guess? Genetics!">>
Genetics. The word comes out smooth, wrapped in Ellie's voice, and the chat scrolls past it without a second thought. Nobody questions it. Why would they? The lashes look natural. They ARE natural grown from my own cells, Dr. Maren's bioactive compound switching on dormant potential. The lie is built from truth, which is the most convincing kind.
[[Play Gunmetal Requiem|day_3_31_kira]]Viewers: 28
<<nobr>>
<<set $day_step to 30>>
<<set $viewers to 28>>
<<set $followers to 52>>
<<set $donations += 0>>
<<set $money += 0>>
<</nobr>>
<<chat "stream_viewer_b3" "new here, followed immediately, those eyes stopped my scroll">>
<<chat "stream_viewer_b4" "same lol i was literally scrolling the browse page and her eyes just grabbed me">>
<<chat "stream_viewer_b5" "the ring of gold around the brown is so pretty omg">>
The ring of gold. They're talking about the color of my irises a detail I've never heard mentioned in my life, a feature of my eyes that no one has ever noticed or commented on in 22 years of having them. As Eli, my eyes are "small dull brown." As Ellie, framed by lashes and arched brows and lit by a warm desk lamp, the same eyes have "a ring of gold around the brown."
Same eyes. Different frame. Different reading.
[[Continue streaming|day_3_32_kira]]<<nobr>>
<<set $day_step to 30>>
<<set $viewers to 42>>
<<set $followers to 54>>
<<set $donations += 5>>
<<set $money += 5>>
<</nobr>>
Viewers: 42
$5.00 from MidnightWhale99: "told you i'd be here. those eyes are everything. the mystery of the lower face just makes it better."
<<eli "MidnightWhale, oh my gosh, thank you so much! Five dollars! You're literally the sweetest and haha, don't worry full face eventually! I'm just still getting confident, you know?">>
<<chat "MidnightWhale99" "take forever. the half face thing is iconic honestly">>
<<chat "stream_viewer_b6" "she's right it IS iconic. like a vtuber but real eyes">>
<<chat "stream_viewer_b7" "the eyes-only thing makes you want to see the rest SO bad">>
<<chat "night_owl_cc" "imagine how pretty the full face is if the EYES look like that">>
I load Gunmetal Requiem. Queue into ranked. The loading screen spins and I glance at the webcam preview again the eyes looking back at me, lash-framed and softly lit, framed by auburn waves. They look like someone else's eyes. They look like a girl's eyes and the part of me that should be horrified by this is quiet, suppressed by the part that's watching the viewer count climb.
[[Play the match|day_3_33_kira]]<<nobr>>
<<set $day_step to 30>>
<<set $viewers to 58>>
<<set $followers to 57>>
<<set $donations += 0>>
<<set $money += 0>>
<</nobr>>
Viewers: 58
The match starts. I play Sentinel same agent, same Silver rank, same person. Round 1: I set up on B-site, place my traps, anchor the position. An enemy peeks my angle. I flick actually flick, a genuine reflex shot that I couldn't replicate if I tried and get the headshot. Clean. Instant.
<<chat "stream_viewer_b8" "WAIT">>
<<chat "stream_viewer_b9" "DID SHE JUST FLICK THAT">>
<<chat "ChillVibesOnly" "ELLIE?? CRACKED??">>
<<chat "night_owl_cc" "that was NASTY oh my god">>
<<eli "Oh my gosh!! Did you see that? I actually hit it! I never hit those!">>
In the webcam preview, my eyes are wide genuine surprise, genuine excitement and the lashes frame the expression perfectly, the wide-eyed look reading as adorable surprise rather than the shocked-face-of-a-guy-who-never-hits-shots that it would read as on EliPlays. Same reaction. Different frame. Different audience response.
<<chat "stream_viewer_b10" "her eyes went SO BIG when she hit that shot lmaooo">>
<<chat "stream_viewer_b11" "the wide eyes + lashes combo im weak 🥺">>
<<chat "MidnightWhale99" "she's cute AND cracked. game over for everyone else on this platform">>
[[Continue the match|day_3_34_kira]]<<nobr>>
<<set $day_step to 30>>
<<set $viewers to 73>>
<<set $followers to 61>>
<<set $donations += 3>>
<<set $money += 3>>
<</nobr>>
$3.00 from stream_viewer_b12: "that flick was cleaner than my entire career"
Viewers: 73
I play through the match. 7 and 5. Positive K/D actually positive, not the 2-and-13 disasters I'm used to on EliPlays. The chat erupts:
<<chat "stream_viewer_b13" "SEVEN AND FIVE??? ELLIE IS ACTUALLY GOOD??">>
<<chat "ChillVibesOnly" "she's been hiding her power level">>
<<eli "You guys, I'm not good! I literally got lucky like three times!">>
<<chat "stream_viewer_b14" "HUMBLE QUEEN">>
<<chat "night_owl_cc" "she's good AND humble we stan">>
<<chat "stream_viewer_b15" "protect ellie at all costs">>
Protect. There it is the word. The instinct. I'm watching it happen in real time: 73 strangers developing the collective impulse to protect a person who doesn't exist. The feminine framing the eyes, the lashes, the voice, the self-deprecating "I'm not good!" triggers something in the audience, some evolutionary wiring that says she is small and humble and talented and she doesn't know it and we must shield her from the world. It's the same gameplay, the same skill level, the same K/D ratio that DarkSlayer would respond to with "lol still silver" but the wrapper has changed, and the wrapper changes everything.
[[Continue the match|day_3_35_kira]]<<nobr>>
<<set $day_step to 30>>
<<set $viewers to 91>>
<<set $followers to 67>>
<<set $donations += 10>>
<<set $money += 10>>
<</nobr>>
Viewers: 91
$10.00 from MidnightWhale99: "you ARE good. you just don't see it yet. we see it."
<<eli "MidnightWhale, ten dollars?? You're insane! You keep donating and I'm going to cry on stream and then my mascara will run and that's the real reason I don't do full face cam!">>
The chat explodes:
<<chat "stream_viewer_b16" "LMAOOO mascara excuse 😂">>
<<chat "ChillVibesOnly" "she's funny too I CAN'T">>
<<chat "night_owl_cc" "ellie crying on stream would break twitch">>
<<chat "stream_viewer_b17" "her eyes are already pretty imagine them with tears. devastating">>
<<chat "MidnightWhale99" "note to self: make ellie cry (happy tears only)">>
I'm riffing. The Ellie voice is flowing now not just the VoxMorph processing but the performance, the personality, the specific combination of shy and funny and self-deprecating that I've been building since the first stream. It's me. It's not me. It's the me that lives underneath the me, the version that has timing and charm and the ability to make a room laugh, the version that Kira described when she said "when we talk in Discord you're so quick and witty and real on stream you get all stiff." This is the not-stiff version. This is the version that exists when the face doesn't match the expectations and the mismatch creates a freedom a persona, a mask, a key that fits a lock I didn't know my personality had.
[[Finish the match|day_3_36_kira]]<<nobr>>
<<set $day_step to 30>>
<<set $viewers to 107>>
<<set $followers to 73>>
<<set $donations += 0>>
<<set $money += 0>>
<</nobr>>
Viewers: 107
Second match. I queue in. During the loading screen, the chat shifts to personal questions the parasocial orbit tightening, the strangers wanting to know the person behind the eyes.
<<chat "stream_viewer_b18" "ellie how old are you?">>
<<eli "I'm 22! Just trying to figure life out, you know?">>
<<chat "stream_viewer_b19" "same 😭">>
<<chat "stream_viewer_b20" "what color are your eyes exactly? they look brown but there's like gold in them">>
<<eli "Haha, they're brown! I think the gold thing might just be the lighting? My desk lamp makes everything look warmer.">>
<<chat "stream_viewer_b21" "no the gold is REAL i can see it. hazel maybe?">>
<<chat "stream_viewer_b22" "eyes-only stream and we're already debating her eye color. this community is down BAD">>
<<chat "MidnightWhale99" "they're amber. trust me. i've been staring.">>
<<chat "night_owl_cc" "midnight you need to go outside">>
<<chat "MidnightWhale99" "outside doesn't have ellie's eyes">>
The chat is developing its own dynamics regulars emerging, inside jokes forming, the social ecosystem of a stream community crystallizing in real time. ChillVibesOnly is the hype person, reacting to everything with capslock enthusiasm. Night_owl_cc is the dry wit, the commenter who punctures the simping with deadpan observations. MidnightWhale99 is... MidnightWhale99. The devoted one. The one who donates, who shows up first, who says things that balance on the knife's edge between sweet and obsessive.
[[Continue the match|day_3_37_kira]]<<nobr>>
<<set $day_step to 37>>
<<set $viewers to 118>>
<<set $followers to 76>>
<<set $donations += 15>>
<<set $money += 15>>
<</nobr>>
Viewers: 118
The match starts. I play well or at least, I play the same way I always play, which is inconsistently, with bursts of competence between stretches of mediocrity. But the chat's reaction transforms the mediocrity into narrative. When I die, it's not failure it's adversity. When I clutch, it's not luck it's a growth arc. The audience is writing a story about me, a story about a shy girl with beautiful eyes who's finding her confidence through gaming, and every round is a chapter.
Round 3: I pull off a 1v2. Not as clean as the flick earlier, but scrappy a trade kill followed by a desperate spray-down that somehow connects.
<<chat "stream_viewer_b23" "1v2!!! ELLIE!!">>
<<chat "ChillVibesOnly" "SHE DID NOT JUST DO THAT">>
<<chat "stream_viewer_b24" "ok she's actually insane">>
<<eli "OH MY GOD! My hands are shaking! Did that actually happen?!">>
In the webcam, my eyes are wide again, bright, the lashes catching desk lamp light and I can see the viewer count spike as the moment gets clipped.
$8.00 from stream_viewer_b25: "that 1v2 was beautiful and so are your eyes"
$5.00 from night_owl_cc: "okay fine i'm simping too. you earned it"
<<eli "Night owl!! Your first donation! Oh my gosh, you don't have to ">>
<<chat "night_owl_cc" "shut up and take my money">>
<<chat "stream_viewer_b26" "night owl has fallen. we've lost another one to the eyes">>
<<chat "MidnightWhale99" "one of us. one of us.">>
[[Continue the match|day_3_38_kira]]<<nobr>>
<<set $day_step to 38>>
<<set $viewers to 134>>
<<set $followers to 81>>
<<set $donations += 15>>
<<set $money += 15>>
<</nobr>>
Viewers: 134
$15.00 from BobaAndChill: "just got here from the browse page. the eyes-only cam is genius and your gameplay is better than most full-face streamers. instant follow."
Fifteen dollars. From a stranger who clicked because the thumbnail my eyes, framed by lashes and auburn waves stopped their scroll. Exactly the way Kira described it. "When a cute face shows up on a thumbnail, people click." Except this isn't my face. Or it is my face, with modifications, seen through a frame that hides the parts that don't perform. It's a curated face. A product face. A face that exists only in the rectangle of the webcam preview, bounded by the crop line that separates who I am from who they think I see.
The stream settles into rhythm. I play, I talk, I react. The eyes do the heavy lifting every expression is amplified by the lashes and the framing. When I'm concentrating, the eyes narrow and the chat says "focus mode activated." When I'm surprised, the eyes widen and the chat says "the wide eyes 🥺." When I laugh and VoxMorph processes the laugh into something higher, lighter, more musical the eyes crinkle and the chat says "her eye smile is the best thing on twitch."
<<chat "stream_viewer_b27" "does anyone else just watch her eyes instead of the gameplay">>
<<chat "stream_viewer_b28" "yes. constantly.">>
<<chat "stream_viewer_b29" "the lashes cast these tiny shadows on her cheeks when she blinks and it's honestly hypnotic">>
<<chat "MidnightWhale99" "i've noticed the shadow thing too. it's the light angle. whoever set up that lighting is a genius">>
I set up the lighting. Twenty minutes ago, in a dark apartment, with a $12 desk lamp from a thrift store. The shadows that MidnightWhale99 is calling genius are an accident the lamp positioned to hide my jaw, the angle coincidentally catching the lashes at the exact distance needed to cast those crescent shadows. Genius. Sure. The genius of a desperate person with a desk lamp and a secret.
[[Continue streaming|day_3_39_kira]]<<nobr>>
<<set $day_step to 38>>
<<set $viewers to 152>>
<<set $followers to 89>>
<<set $donations += 30>>
<<set $money += 30>>
<</nobr>>
Viewers: 152
$20.00 from BigSpender_X: "hottest eyes on twitch. don't @ me."
<<eli "Twenty dollars?! BigSpender, you're living up to your name! Thank you SO much!">>
<<chat "BigSpender_X" "worth every penny. those eyes are premium content">>
<<chat "stream_viewer_b30" "premium content 😂 he's not wrong tho">>
<<chat "stream_viewer_b31" "face reveal is going to break the internet. calling it now.">>
<<chat "stream_viewer_b32" "when do we get to see the full face ellie?? WHEN">>
<<eli "Ahh, you guys keep asking! I PROMISE I'll do a full face reveal eventually. I just want it to be special, you know? Like, I want my setup to be really good and my confidence to be there and I want to do it right.">>
<<chat "stream_viewer_b33" "take your time but know that we are DYING">>
<<chat "MidnightWhale99" "don't rush it. the eyes-only thing is iconic. you're building something special.">>
<<chat "night_owl_cc" "midnight speaking facts for once">>
<<chat "MidnightWhale99" "i always speak facts. especially about ellie">>
The face reveal. They talk about it like it's a season finale an event they're building toward, a promise I made that carries the weight of anticipation and they're right to anticipate it, because the eyes-only framing IS building something. It's building desire. The invisible lower face is a blank canvas that every viewer fills with their own projection they imagine the most beautiful version of what they can't see, because the parts they CAN see (the eyes, the lashes, the hair) set the standard high.
Except the face reveal can't happen. Not like this. The jaw would give it away. The lips. The Adam's apple. The face below the nose is still Eli's face modified at the eye level but fundamentally, structurally masculine from the nose down. A face reveal would end ElliePlayz in the time it takes for one viewer to type "wait is that a dude."
Unless the face changed more.
The thought arrives uninvited, the way the voice modulator idea arrived, the way the RegenaForm consultation arrived knocking at a door I didn't know existed, polite and inevitable. Unless the face changed more. Unless the jaw softened. Unless the lips filled. Unless the nose refined. Unless Tier 1 continued where it left off this morning, pushing the face further from Eli and closer to Ellie, until the crop line could drop lower and lower and the webcam could show more and more and eventually eventually there would be nothing left to hide.
I push the thought away. Not now. Not tonight. Tonight is numbers.
[[Continue streaming|day_3_40_kira]]<<nobr>>
<<set $day_step to 40>>
<<set $viewers to 173>>
<<set $followers to 97>>
<<set $donations += 25>>
<<set $money += 25>>
<</nobr>>
Viewers: 173
Third match. I queue in. The chat has grown large enough that it's self-sustaining conversations happening between viewers that don't involve me, the community building its own culture, its own rhythms.
<<chat "stream_viewer_b34" "what's everyone's rank? i'm gold 2">>
<<chat "stream_viewer_b35" "plat 1 but i play like silver when ellie's stream is on because i can't focus lol">>
<<chat "stream_viewer_b36" "mood">>
<<chat "ChillVibesOnly" "i don't even play gunmetal i just come for the vibes">>
<<chat "stream_viewer_b37" "the vibes ARE the content">>
I play. 8 and 6 my best game in recent memory, a K/D ratio that would be average for a normal player but represents a genuine personal best for me. The chat reacts like I won a world championship:
<<chat "stream_viewer_b38" "EIGHT AND SIX?? SHE'S ASCENDING">>
<<chat "ChillVibesOnly" "POSITIVE KD AGAIN THIS IS NOT A DRILL">>
<<chat "night_owl_cc" "ellie went from 'i'm so bad' to carrying in two days. character arc of the century">>
<<chat "stream_viewer_b39" "the glow up is real. gameplay AND visuals">>
<<eli "You guys are too hype! Eight and six is not carrying, that's just... not feeding!">>
<<chat "MidnightWhale99" "your version of 'not feeding' is our version of 'popping off.' accept it.">>
[[Continue the stream|day_3_41_kira]]<<nobr>>
<<set $day_step to 41>>
<<set $viewers to 227>>
<<set $followers to 121>>
<<set $donations += 35>>
<<set $money += 35>>
<</nobr>>
$10.00 from stream_viewer_b40: "the eyes the gameplay the personality. triple threat."
$5.00 from new_viewer_x1: "stumbled in from browse page. 30 seconds in and already followed. those eyes are magnetic."
$3.00 from stream_viewer_b41: "ellie for streamer of the year"
Viewers: 198
Viewers: 212
Viewers: 227
The number keeps climbing. I watch it in the dashboard on the second monitor the graph line angling upward, steady, relentless, the visual representation of a lie that's working. 227 people are watching a pair of eyes and a voice and a name and they're happy. They're engaged. They're paying.
I play one more match. Fourth of the session. By now the stream has been live for over two hours and I'm starting to feel it not fatigue exactly, but the strain of sustained performance, the effort of maintaining Ellie's voice and Ellie's energy and Ellie's personality while my own personality sits behind it like a stagehand in black. The VoxMorph processes every breath, every pause, every involuntary sound into something feminine, and the effort of speaking naturally while being processed of not thinking about how my voice sounds while a computer thinks about it for me is a cognitive load that accumulates.
But the numbers. The numbers keep me in the chair.
Match 4: 5 and 7. Negative K/D. The worst game of the session. I whiff shots I should hit. I peek angles I should hold. I make the same mistakes EliPlays makes every day the brainless aggression, the panicked peeks, the Silver instincts that no amount of webcam framing can fix.
<<chat "stream_viewer_b42" "rough game 😢">>
<<eli "Ugh, I'm sorry guys. That was terrible. I think I'm getting tired.">>
<<chat "ChillVibesOnly" "you played amazing all night don't apologize for one game!!">>
<<chat "stream_viewer_b43" "she's been live for two hours give her a break">>
<<chat "night_owl_cc" "rest queen. we'll be here tomorrow">>
<<chat "MidnightWhale99" "your worst game is better than most people's best. go sleep.">>
<<chat "stream_viewer_b44" "take care of yourself ellie. stream was incredible tonight.">>
Even the bad performance is met with warmth. Even failure is cushioned. The audience has committed to the narrative Ellie is the underdog, the shy girl getting better, the diamond in the rough and a bad game doesn't break the narrative. It enriches it. It makes the next good game sweeter. It makes the audience feel protective, invested, needed.
On EliPlays, a 5-and-7 game would produce silence. Or DarkSlayer saying "lol trash." Here, it produces twenty messages of encouragement and three people telling me to take care of myself.
Same player. Same game. Same score. Different frame.
[[Continue the stream|day_3_42_kira]]<<nobr>>
<<set $day_step to 41>>
<<set $viewers to 227>>
<<set $followers to 148>>
<<set $donations += 25>>
<<set $money += 25>>
<</nobr>>
$12.00 from MidnightWhale99: "go rest. dream about something good. we'll be here when you wake up. always. 🌙"
Always. He said always. A stranger on the internet just told a pair of eyes and a manufactured voice that he'll be there always. The word lands in my chest beside the splinter and the warmth and the $12 and I don't know which of those things weighs more.
<<eli "Okay everyone, I think I have to call it! This was the most incredible night of my life 227 viewers?? On my SECOND DAY?? I literally cannot process this. You guys are the absolute best community on Twitch and I mean that from the bottom of my heart. I'll be back tomorrow, same time. Thank you, thank you, thank you. Love you all SO much!">>
<<chat "stream_viewer_b45" "LOVE YOU ELLIE">>
<<chat "ChillVibesOnly" "BEST STREAMER ON THE PLATFORM">>
<<chat "night_owl_cc" "goodnight ellie. rest those beautiful eyes.">>
<<chat "MidnightWhale99" "tomorrow. 💜">>
<<chat "stream_viewer_b46" "notis ON. see you tomorrow queen ❤️">>
<<chat "stream_viewer_b47" "the rise of ellie begins. this is day 2 and it already feels historic">>
[[End Stream|day_3_43_kira]]<<set $day_step to 43>>
<<set $playerImage to "images/user/tier_0_2.jpeg">>
I hit End Stream. VoxMorph stops. The monitoring feed goes silent and the room fills with the sound of my real breathing low, male, the sound that doesn't earn $125 in a night.
<<set $right_sidebar_mode to 0>>
The dashboard sits there. The numbers sit there.
Duration: 2 hours 14 minutes
Peak Viewers: 231
Average Viewers: 142
New Followers: 97
Total Followers: 148
Donations: $163.00
Subscribers: 6
Combined ElliePlayz earnings: $210.00 (Session 1: $47 + Session 2: $163)
I close OBS. Close VoxMorph. Take off the wig. Place it on the care form beside the desk. The brownish-auburn waves settle into stillness. Without the wig, my face reappears in the dead webcam preview the face beneath the costume, the person beneath the performance. Pale. Tired. Male. The new lashes look strange without the wig and the framing feminine accessories on a masculine canvas, conspicuous in the wrong context, invisible in the right one. The reshaped brows arch softly over tired eyes that no one is calling amber or golden anymore. Just brown. Just dull. Just Eli.
I check my phone. Two messages.
<<kira "hey, you still up? i can't sleep. keep thinking about you sitting still for 45 minutes so i could nap. that's like the most romantic thing that's ever happened to me and it's about immobility">>
<<kira "anyway goodnight for real this time. dream about something good again 🌙❤️">>
I read the messages. I read them twice. I feel the warmth the Kira warmth, the real warmth, the warmth of a person who thinks about me at midnight and sends red hearts and calls my immobility romantic. She's lying in her apartment right now, Packet probably curled at her feet, the wire-frame glasses on the nightstand, the pixel-heart tattoo on the wrist resting on her pillow, and she's thinking about me. About Eli. The person she kissed in a car. The person who sat still while she slept.
Not about Ellie. She doesn't know about Ellie.
I feel the splinter.
Both at the same time. Both in the same chest. The warmth and the sharp point occupying the same space, coexisting the way two objects can't but two feelings can.
<<eli "goodnight kira. dreaming about something good. ❤️">>
I send the red heart. It costs me nothing to send it. That's the problem it should cost something. It should feel earned or weighted or significant. But the heart emoji is free and the lie is free and the wig cost nothing and the lashes cost nothing and everything that's happening feels free until you look at the receipt and realize the currency isn't money.
It's trust and I'm spending it.
I put the phone down. Lie on the mattress. Grey sheets. Thin comforter. Ceiling crack.
The numbers float in the dark behind my closed eyes:
EliPlays : $3.50. Peak viewers: 5. Followers: 54.
ElliePlayz : $210.00 (combined sessions). Peak viewers: 231. Followers: 148.
The gap. Except now the gap isn't between me and Kira. It's between me and myself. Between the person I am in the morning and the person I become at night. Between the stream nobody watches and the stream everybody wants. Between the red heart I send to a girl who trusts me and the secret I keep in a closet where the rod fell down four months ago and beneath those numbers, another thought the one that arrived during the stream and refused to leave. The face reveal. The crop line. The jaw and the lips and the nose still waiting below the frame, masculine and visible, the border between Ellie's world and Eli's reality. The thought that whispered: unless the face changed more.
RegenaForm's app is on my phone. I didn't open it. I don't open it now.
But I know it's there.
<<set $hint = "Go to Bed">>
[[Go to Bed|apartment_map]]<<set $day_step to 44>>
<<set $day to 3>>
I stare at the crack. It's growing. Everything is growing the crack, the followers, the donations, the lie, the guilt, the thought of what comes next. Everything is growing and nothing is stopping and the door that opened today opens only one way and I'm through it now, standing in a room I can't leave, wearing a face that isn't mine and isn't not-mine, holding a name that is two letters from my own.
Ellie.
Eli.
The same person. Different key.
But the key works. That's the thing my brain keeps circling back to, the fact it can't release, the number it can't stop chewing on. The key works. $210 today. From half a face. From eyes and lashes and brows and hair from the nose up, from the feminized slice, from the fraction I'm willing to show.
Half a face earned $210. Not even half a face, really. A quarter of a face, if you think about it. The upper eye and hair, the part that reads feminine, the part that performs. The part that makes people say "those eyes could END me." The part that makes people click and stay and donate and simper and build a community around a person who doesn't exist.
What would the full face earn?
The math does itself. It runs unbidden, the way the math always runs in my head at this hour not requested, not welcome, just there, a calculator that never sleeps, tabulating in the dark while I stare at the crack. If half the face the pretty half, the modified half, the half that stops scrolls and earns donations and makes strangers say "those eyes could END me" produces $210 in two sessions... what would the whole face produce? The full reveal. The eyes AND the lips AND the jaw AND the chin. The complete Ellie, not the cropped version, not the suggestion, but the person entire.
Double? Triple? The face reveal is the most anticipated event on the channel chat talks about it in stream, the curiosity building like pressure in a sealed container. When it finally happens, the viewer spike alone could push me past 500. Past 1,000. The donations during a face reveal stream would be I can see it, I can see the number, and it's not $210. It's $500. It's $1,000. It's the kind of number that changes a bank account from a countdown to a foundation.
But the full face can't happen yet. The jaw. The lips. The nose. The masculine tells that live below the crop line, waiting to betray me. A few more modifications that's all. Not a full transformation. Not the deep tiers. Just... finishing what I started. Jawline softening. Lip enhancement. Nose refinement. Tier 1 stuff. The same tier I'm already in. Just completing the set. Filling in the gaps between the eyes and the chin until the whole face reads the way the upper half already does.
A few more changes. That's all and it wouldn't hurt anyone, I can always hide it with some minor changes. Without wig all these changes not make much difference. Wig is the one connnecting all nodes into one and make it complete.
That's the part that locks into place like a deadbolt the rationalization that seals the others shut, the capstone on the wall between what I'm doing and what it means. It wouldn't hurt anyone. The viewers are entertained. They're choosing to be here. The donations are voluntary. The parasocial bond is the same bond every streamer has with every audience Kira has it with her chat, every Just Chatting streamer has it, every face on Twitch has it. I'm not scamming anyone. I'm performing. I'm providing a service. The fact that the performer doesn't match the performance is what? Theater. Drag. Character work. The internet runs on personas. Nobody's real name is their username. Nobody's stream personality is their actual personality. I'm just taking it one step further. One step further with bioengineering and voice modulation and a wig.
The money isn't just for me. That's what makes the math noble instead of desperate that's the thread I pull on until the whole rationalization unspools into something that looks almost like virtue.
I could stop being a weight on the people I love.
Marcus. Every coffee he buys me. Every time he covers lunch without mentioning it. Every cheese puff and every "come thru if you want" and every shoulder punch that's really a welfare check. He's been carrying me for two years not financially, not exactly, but emotionally, practically, the way a person carries a friend who's drowning by keeping them near the surface. I've been the friend who can't buy his own coffee. The friend whose bank account is a punchline. The friend who takes and takes and calls it friendship because the alternative is admitting he's a burden.
If ElliePlayz works if the money keeps coming, if the numbers keep growing I can pay Marcus back. Not literally. But I can stop being the friend who needs covering. I can buy my own coffee. I can bring the snacks. I can be the person he doesn't have to worry about at 4 AM when I'm texting about penguin knees, because the penguin-knee texts won't be coming from a place of insomnia-grade despair anymore. They'll be coming from a person who's okay. A person who can afford to be okay.
Kira.
God, Kira.
I could be a real boyfriend to her. Not the $47-in-the-bank, can't-afford-ramen, walks-home-in-crushed-sneakers version. A real one. The kind who takes her to dinner and pays. The kind who buys her flowers or some stupid romantic gesture that she'd pretend to find embarrassing and secretly love. The kind who doesn't flinch when the bill comes. The kind who has a life that runs parallel to hers rather than beneath it two streamers, two careers, two incomes, a relationship between equals instead of a relationship between a person who has everything and a person who has $47.
Kira , Kira is bisexual. She told me that. At the izakaya, over Sapporo and gyoza, she looked me in the eye and said she likes girls. She dated a girl in high school. She dated a girl in college. She's always known she likes girls and the liking was never complicated. The complicated part was liking me a guy and filing it under "complicated" and leaving it there for a year and a half.
So if my face changes... if the features shift further feminine... would she even mind? She likes girls AND she likes me. If I become more girl visually, superficially, on the surface where the streaming economy lives she'd still like me. Maybe she'd like me more. Maybe the version of me that's emerging through the modifications would appeal to both sides of her attraction the side that likes boys and the side that likes girls meeting in the middle, in the space where Eli becomes Ellie becomes something neither and both.
She wouldn't mind. She'd understand. If I told her when I tell her she'd see the math. She'd see that the system she described, the system she identified as the problem, has a solution, and the solution is me changing the input the system rewards. She'd see it because she's smart and pragmatic and because she said the words herself: "The biggest reason is this" and she gestured at her face. At her female face. At the face that earns $487 in four hours.
I'm building that face and when it's done when the full face can survive a reveal, when the crop line drops to zero and there's nothing left to hide I'll tell her. I'll tell her everything. The voice modulator. The ElliePlayz account. The RegenaForm visits. The wig. All of it. She'll understand because she's Kira and she understands systems and she understands me and she's bisexual and the face I'm building is a face she'd find beautiful and the person inside it is the person she already kissed in a parked car.
She'll understand.
She has to.
My mom. My mom who works two jobs in another state and sends money she can't afford through Venmo with texts that say "hope you're eating ok." My mom who hasn't seen my face in eight months because I don't video call her because the face she'd see would tell her everything she's afraid of that her son is drowning, that the money she sends disappears into rent that's too high for a life that's too small, that the streaming career she doesn't understand is producing nothing.
If ElliePlayz works, I can stop taking her money. I can send her money. I can call her and say "I'm okay, Mom, I'm actually okay" and it would be true financially true, measurably true, the kind of true that shows up in a bank account instead of just living in the optimistic lie of "I'm fine."
I could help her. The woman who works two jobs so I can eat microwave burritos in a studio apartment with a ceiling crack. I could help her and that thought that specific thought, the image of sending my mother money instead of receiving it, of being a source instead of a drain makes everything else feel small. The lie feels small. The wig feels small. The voice modulator feels small. Measured against the possibility of calling my mother and telling her that her son is okay, that he figured it out, that the money is coming instead of going measured against that, what's a few facial modifications? What's a fake name on a streaming platform? What's a secret kept from a girlfriend who would understand if I told her?
The brow sculpt cost 300 $. Today I earned 210. That's $210 real dollars two-thirds of the brow sculpt covered in a single day. Tomorrow, another stream. Another $50, $70, $100. By the end of the week, the brow sculpt is paid off. By the end of next week, I can afford the next modification. Nose refinement 500 $. Then lips 400 $. Then jawline 600 to 900 $. Each one dropping the crop line lower. Each one bringing the face reveal closer. Each one feeding the loop that feeds the income that feeds the life that feeds the people I love.
The math works. The money is real. The face is changing. The audience is growing and every step forward is a step toward being the person I want to be not just Ellie, not just Eli, but the person who can afford coffee and dinner and flowers and a phone call to his mother that doesn't end with "I'm fine" when he isn't.
The ceiling crack is still there. Still growing. But it's sharing the ceiling now with numbers that also grow numbers that go up instead of apart, numbers that build instead of break.
I close my eyes. The fridge hums. Kira's red heart glows on the phone screen beside my head. The wig sits on its form in the closet, patient, waiting for tomorrow.
A whole face is coming and when it arrives when Ellie's face is complete and the crop line drops to nothing and the stream goes live with everything visible the number won't be $210.
It'll be enough.
Enough to stop being a weight. Enough to start being a partner. Enough to call my mom.
I sleep and for the first time, I don't dream about the crack splitting wider. I dream about it filling in plaster smoothing over the fault line, the ceiling repairing itself, the apartment becoming a place instead of a sentence.
I dream about sending money instead of spending trust.
I dream about a face that isn't finished yet, but will be. Soon.
[[Sleep|eli_bed]]<<set $day to 3>>
I wake up and the first thing I do is check the dashboard.
Not my phone. Not the time. Not the ceiling crack, which is still there, still growing, still splitting the plaster in its patient, geological way. The dashboard. I roll off the mattress, cross the two steps to the desk in my boxers and the same grey shirt I slept in, jiggle the mouse, and watch the second monitor wake with the ElliePlayz stats from last night still displayed like a stock ticker from a dream I can't believe I had.
Peak Viewers: 89
Average Viewers: 61
New Followers: 47
Donations: $47.00
Chat Messages: 312
It's real. I stare at the numbers the way I used to stare at the ceiling crack with a fixed, trance-like attention that borders on devotion except these numbers don't fill me with dread. They fill me with something else. Something that vibrates in my fingertips and my jawline and the pit of my stomach. Something I haven't felt since I first started streaming eight months ago, back when I still believed the next stream would be the one that changed everything.
Hope. Except this time the hope has evidence.
$47 in one hour. As a voice. As a name. As a pink-and-purple gradient with a cursive font. 47 followers in one session that's 87% of what EliPlays accumulated over eight entire months. In sixty minutes, Ellie eclipsed Eli.
I sit in the desk chair. It sinks its customary inch and a half. The hydraulic wheezes. The apartment is the same cold, dim, the fridge humming, the burrito wrappers breeding on the counter but the numbers on the screen are a window into a different apartment, a different life, a different version of this same morning where the person sitting in this chair isn't calculating how many days until the $47 in his bank account runs out but calculating how quickly the $47 on his dashboard can multiply.
My phone buzzes. I grab it off the floor.
<<kira "hey. hope you got home safe last night.">>
Kira. The message from last night the one I answered with "night kira" and no heart, the bare two words, the closed door. She sent this at 8:15 AM. It's now 9:47. She's been awake for an hour and a half and the first thing she did was check on me.
The warmth is there. The Kira warmth. Even in the standard route, even in the version where I laughed off calling her hot and killed the moment with cowardice, the warmth is there muted, banked, a fire I covered with ashes but didn't extinguish. She still cares. She still sends red hearts. She still asks if I got home safe.
<<eli "yeah got home fine. late night">>
<<kira "streaming?">>
<<eli "yeah. working on some stuff">>
<<kira "the mysterious 'stuff.' one day you'll tell me what that means">>
<<eli "one day">>
<<kira "🙄 anyway. stream at noon if you want to watch. doing a Just Chatting Q&A today">>
<<eli "might tune in">>
<<kira "you better. i'm answering embarrassing questions from chat and i need moral support">>
<<eli "i'll be there">>
<<kira "❤️">>
Red heart. She's still sending them. Even after the laugh. Even after I closed the door. Kira Nomura sends red hearts the way the sun produces light not because it's asked to, not because it's reciprocated, but because that's what it does. It's her nature. The warmth radiates outward regardless of whether it's absorbed.
I don't send one back. I send a thumbs up. The forty-year-old dad emoji. The emotional equivalent of a firm handshake when someone opens their arms for a hug.
I put the phone down. Look at the dashboard. Look at the phone. Dashboard. Phone. Two realities, two screens, two versions of who I am and what I want.
The dashboard wins.
I open the browser. Tab one: the ElliePlayz channel page. 47 followers. The number is small but it's real and it's growing and the growth happened in an hour and the trajectory, if it holds, projects into numbers that make my stomach flip. Tab two: YouTube. The VoxMorph tutorials I bookmarked last night. Tab three, which I open now with the deliberate, focused energy of a person who has identified a problem and is solving it:
Google search: "how to look feminine fast"
[[How to look feminine fast|day_3_2_other]]<<set $hint to "Go down the rabbit hole">>
<<set $day_step to 2>>
The rabbit hole opens.
It starts with makeup tutorials. Dozens of them. YouTube is overflowing with videos titled "FEMININE MAKEUP FOR BEGINNERS" and "MTF MAKEUP TRANSFORMATION" and "How to Feminize Your Face in 10 Minutes." I watch three of them in succession women and trans women and drag queens demonstrating contouring, highlighting, the strategic application of color to reshape the way light hits bone. The techniques are impressive but impractical for my purposes: makeup is visible on camera, especially on a webcam with bad resolution, and the time investment is significant. Twenty minutes of contouring before every stream, plus the risk of smudging, sweating, the makeup shifting mid-session.
I want something more permanent. Something that doesn't wash off.
There's the obvious solution. The one any tech-literate person in 2027 would think of first.
AI face-swap. Real-time deepfake filters. The technology exists apps that map a generated face onto yours live, rendering a completely synthetic person over your webcam feed. Half the internet runs on some version of it.
I consider it for exactly twelve minutes.
The problem isn't quality for pre-recorded content, AI faces are nearly flawless. A YouTube video, a TikTok, an edited clip you could run a generated face through post-processing and nobody would ever know. But I'm not making videos. I'm live streaming. Real-time. Two hours of continuous webcam, every frame rendered on the fly, every expression tracked and mapped and composited at 30fps with zero room for error and the errors come. They always come.
There was a streamer IndigoVeil who ran a real-time AI face filter for four months. Premium GPU, calibrated lighting, the best software money could buy. It worked beautifully. Until she sneezed. One involuntary full-body sneeze that the motion-tracking couldn't follow. The AI lost the face for less than a second. One frame of the real face underneath wrong jaw, wrong skin, wrong everything. One viewer screenshotted it. Reddit post. Viral in six hours. Clip channels dissecting it frame by frame. 2,000 viewers became zero overnight. Account deleted within 48 hours.
That's the premium version. I have a 2014 webcam and a thrift-store desk lamp. The composite would bleed at the hairline within minutes. The lip sync would lag on every third sentence. The micro-expressions the wide-eyed gasp, the slow blink, the thinking face would arrive 40 milliseconds behind the voice, and the regulars who watch every stream would clock it in a week.
Pre-made content? AI is perfect for it. Live streaming? It's a time bomb with a sneeze for a trigger and when it detonates one screenshot, one Reddit post, one clip channel there's no recovery. The internet doesn't forgive fake faces. It archives them.
I close the FaceMorph tab. AI is the last resort. The nuclear option I'd only touch if nothing else worked, and even then I'd be building on sand.
The voice modulator is a different story. VoxMorph works it works well enough for now. The pitch shift is clean, the formant adjustment is natural, and through Twitch compression at 128kbps audio nobody can tell the difference between processed and organic. It's reliable in a way that AI face-swap isn't. A voice doesn't sneeze. A voice doesn't glitch at the hairline. The processing is consistent, frame after frame, hour after hour.
But "well enough for now" isn't "permanent." I can hear the seams if I listen for them a faint digital shimmer on certain vowels, a flatness in the laugh that a real feminine voice wouldn't have, the way the software rounds off the edges of my natural register instead of truly reshaping them. Chat doesn't notice. Chat is listening through laptop speakers and earbuds and the general audio soup of a Twitch stream. But someone with good headphones and an ear for audio? A sound engineer? A voice coach? They'd hear the processing. They'd hear the machine inside the girl.
There's the fatigue. Two hours of speaking through VoxMorph strains my throat differently than normal talking I'm pitching my natural voice into a range that the software can work with, staying in a narrow band that processes cleanly, avoiding the low register that makes the algorithm stutter. By the end of a long session my vocal cords ache in a way that feels unsustainable. I can't do this for years. The software is a bridge, not a destination.
RegenaForm's menu listed voice modulation organic, not software. Tier 2. Actual restructuring of the vocal cords and resonance chambers. A voice that's mine, that's feminine, that doesn't need a plugin. That doesn't fatigue. That doesn't shimmer on certain vowels.
But that's later. That's Tier 2. That's thousands of Dollars I don't have yet.
For now, VoxMorph holds. The voice is the most reliable part of the illusion more reliable than the crop-line framing, more reliable than the wig, infinitely more reliable than any AI face would be. It's enough. For now.
The face is the problem. The face needs to be real.
I need something real. Something that IS the face, not something projected onto it. Something a viewer can screenshot and frame-by-frame and zoom into and find nothing wrong because the lashes are actual lashes and the brows are actual brows and every cell is mine.
The search mutates. "How to look feminine without makeup." "Facial feminization non-surgical." "Subtle feminization techniques for streaming." The results shift from YouTube to forums Reddit threads, niche communities, spaces where people discuss passing and presentation and the specific art of looking like someone other than who you were born as.
I read for forty-five minutes. The information is dense, detailed, and organized by the kind of people who have spent years thinking about exactly this problem. Brow shaping. Eyelash extensions. Skincare routines that change the texture and luminosity of skin. Hair real hair, wig options, styling techniques. Each topic is a door, and behind each door is a room full of more doors, and the architecture of the rabbit hole is designed to keep you descending and then on the second page of a Google search for "facial feminization fast results" the ad.
It doesn't look like an ad. It looks like a search result, clean and authoritative, with a thumbnail image of a chrome double helix and text that reads:
RegenaForm Unlock Your True Form DNA-based bioengineering. No scars. Full sensory integration. Consultations available.
I click it.
The website loads and it's beautiful. In the way that a luxury car showroom is beautiful, or a five-star hotel lobby. The design communicates money and competence and the specific brand of confidence that comes from knowing your product works. White space. Clean typography. The chrome double-helix logo rotating slowly in the header. A tagline beneath it: "We don't change you. We unlock you."
I scroll. Before-and-after gallery. Each transformation shown in high resolution, the images so detailed they look medical and so beautiful they look editorial. Faces shifting from one configuration to another masculine to feminine, angular to soft, forgettable to magnetic. The changes range from subtle (a jawline refined, skin cleared) to dramatic (full facial feminization, the bone structure literally reshaped, a different person emerging from beneath the same skin).
Services. Listed in tiers. Tier 1: Facial Feminization. Eyelashes, brow sculpting, nose refinement, jawline contouring, lip enhancement, skin treatments. Tier 2: Voice Modulation (organic not software). Tier 3: Hair. Tier 4: Body contour. Tiers 5 through 8: escalating, invasive, transformative. The prices are in Dollars, a cryptocurrency I've seen in niche forums. The conversion rate to USD is roughly 1:1.
Tier 1 starts at 500 $. Individual features are cheaper. Eyelash enhancement: 200-350 $. Brow sculpting: 300-500 $. The numbers are large for someone with $47 in the bank but small for someone who just earned $47 in an hour.
I read the FAQ.
"Is the process reversible?" "All modifications can be revised or reversed. See our Revision Policy."
"Does it hurt?" "Our DNA-based technology integrates with your own genetic material. Most clients describe the sensation as 'warm' or 'tingling.' No anesthesia required for Tier 1."
"How long does it take?" "Tier 1 procedures range from 20 minutes to 2 hours. Results are immediate."
Immediate. No surgery. No scarring. No downtime. I read the word "immediate" three times and each time it sounds more like a promise and less like a claim.
At the bottom of the FAQ, a button: Book Free Consultation.
I click it before the rational part of my brain can file an objection. The form loads. Name: Ellie. Email: ellieplayz.stream@gmail.com (created on the spot, fingers moving faster than thought). Phone: my real number. Date: today. Time: the dropdown shows 2:30 PM available.
I submit. Confirmation page: "Thank you, Ellie! Your consultation with Dr. Voss is confirmed for 2:30 PM today. 1440 Meridian Ave, Suite 12."
1440 Meridian. Four blocks from my apartment. The clinic that promises to unlock my "true form" is a fifteen-minute walk from the building where I've been slowly decomposing for eight months. The proximity feels like fate or marketing. Probably marketing.
I close the browser. Open it. Close it. Open it one more time, look at the confirmation, and close it for real.
It's 11:30 AM. Three hours until the consultation.
I should stream. I should open EliPlays and grind ranked and talk to DarkSlayer and earn my $1.75 per hour and maintain the fiction that the first account still matters. But the ElliePlayz dashboard is glowing on the second monitor and the $47 is still there and the idea of going live as Eli right now feels like putting on a costume the wrong costume, the one that doesn't fit, the one the audience doesn't want to see.
I eat a microwave burrito. Rotate at one minute. Chicken and cheese. Warm salt and texture. Monster Energy, the last one. The green can, original flavor. Breakfast of a person whose diet will kill him before the streaming does.
I watch Kira's stream for an hour. She's doing the Q&A she mentioned sitting in front of the ring light, the bob perfect, the glasses catching the LED glow, answering questions from chat with the easy charisma of someone who's done this a thousand times. Her viewer count hovers around 950. The donations scroll. I watch her talk and laugh and perform and I feel the familiar two-part feeling: the warmth (she's incredible, she's magnetic, her laugh does things to my heartbeat) and the math (950 viewers, $12 in donations in the ten minutes I've been watching, $72 an hour, $288 in four hours, and I have $47 in the bank).
She says something that makes me sit up.
A viewer asks: "What advice would you give to a new streamer trying to grow?"
<<kira "Honestly? Be authentic. Find the thing that makes you you and lean into it. The algorithm rewards consistency and personality. Don't try to be someone you're not the audience can tell.">>
Don't try to be someone you're not.
I close her stream. I can't watch right now. The cognitive dissonance is giving me a headache the girl I almost kissed yesterday telling me to be authentic while I'm sitting at a desk with a voice modulator installed and a consultation booked at a bioengineering clinic to make my face look like someone else's.
12:30 PM. Two hours until RegenaForm.
I shower. Use the Marriott shampoo. Not for Kira this time for the consultation. For Dr. Voss, whoever they are. I want to look... presentable. Not feminine, not yet, just like a person who cares about their appearance, who takes this seriously, who isn't walking in off the street in a state of visible desperation.
I put on the grey shirt. Black joggers. The hoodie. The crushed sneakers. I look in the phone camera. The face is the same pale, dark circles, thin lips, greasy hair that the shampoo improved but didn't transform. The face that earned $3.50. The face I'm about to ask a stranger to change.
I leave the apartment at 2:10. The walk takes twelve minutes.
<<link "Go to the consultation">><<set $hint to "Go to the consultation at Regeneform">><<goto neighbourhood>><</link>>Suite 12. Second floor. A frosted glass door with a chrome double helix etched into it, catching the hallway's fluorescent light and turning it into something elegant. No signage. No description. Just the logo and the suite number and the quiet implication that if you're here, you already know what this is.
I push the door open.
The waiting area is designed to make you forget you're in a building on Meridian Ave that also houses an accountant and a bail bondsman. Hardwood floors, polished. Two dove-grey couches with angular precision. A glass coffee table with a single orchid and a stack of lookbooks glossy, heavy-stock portfolios of before-and-after transformations that sit between the orchid and a small bowl of individually wrapped mints like an art exhibition catalog at the world's most unsettling gallery. The lighting is warm, recessed, the kind that makes everyone look better, which is either thoughtful design or a cruel preview of services available and then there's the receptionist.
Lina.
I've seen attractive people before. I live in a city. I browse the internet. I have functioning eyes. But Lina exists at a frequency of beauty that makes the word "attractive" feel like bringing a butter knife to a sword fight. She's standing behind the reception desk in a fitted dove-grey dress with the chrome helix embroidered on the chest, and everything about her the honey-toned skin, the doe-shaped amber-gold eyes, the caramel-highlighted waves, the lips in a permanent, precise smile reads as an answer to a question nobody asked. What does "perfect" look like? This. Apparently.
The thing that gets me the thing that hooks into my brain and won't let go is that I can't tell what she is. Ethnically, genetically, categorically. She could be anything. Everything. The universality of her beauty is its own uncanny valley too balanced, too symmetrical, too carefully composed, like a face designed by a committee whose only mandate was "no flaws."
She's a walking advertisement. RegenaForm's best pitch isn't on the website or in the lookbooks. It's standing behind the desk, smiling, being impossible.
<<lina "Welcome to RegenaForm! You must be Ellie.">>
The voice is melodic, warm, modulated. Every word placed like a brushstroke.
<<eli "Yeah. Hi.">>
My voice sounds like gravel in comparison. Male, flat, the voice that earned $3.50. Standing in front of Lina, I'm acutely aware of every masculine thing about myself the jaw, the Adam's apple, the broad knuckles, the shoes, the posture. I'm a rough sketch standing in front of a finished painting.
<<lina "Wonderful. Dr. Voss will be right with you. Can I get you anything? Water, tea, sparkling?">>
<<eli "No, I'm good. Thanks.">>
<<lina "Of course. Please make yourself comfortable.">>
I sit on the grey couch. It's beautiful and rigid. I pick up a lookbook and flip through it transformation after transformation, each spread a before-and-after that challenges the concept of identity. A jaw goes from square to soft. A brow ridge flattens. Skin clears from acne-scarred to porcelain. Each page is a person becoming a different person, or the same person becoming more of themselves, depending on which story you want to tell.
I'm on a spread showing a full facial feminization a face I would have read as unmistakably male on the left page and unmistakably female on the right when the back door opens.
[[Doctor arrives|day_3_4_other]]<<set $hint to "Meet Doctor Maren Voss">>
Dr. Maren Voss.
Tall. Lean. Mid-thirties. A face that refuses categorization sharp cheekbones and soft lips, strong brow and arched eyebrows, the kind of face that makes your brain try to assign a gender and fail and try again and fail again and eventually give up. Ash-blonde hair pulled sleekly back. Cool grey-green eyes that look at you the way a scanner looks at a barcode not judgmentally, not warmly, just completely. White lab coat. Black high-collared shirt. The RegenaForm helix pin on the lapel.
<<dr_maren "Ellie. I'm Dr. Maren Voss. Please, come in.">>
I follow them through the door. The consultation room is behind it warm lighting, two chairs facing each other across a low table, a large wall-mounted screen. More design studio than medical office. The whole clinic is like this aggressively not-clinical, as if the aesthetic itself is part of the treatment, the first modification being your assumption of what this experience would feel like.
I sit. Dr. Maren sits across from me. The grey-green eyes settle on my face with the attention of someone beginning an inventory.
<<dr_maren "Tell me what brings you here.">>
I've rehearsed this. Multiple versions. The one I deliver is the one that sounds most like a normal person making a normal request:
<<eli "I'm a content creator. Streamer. I want to look better on camera. More... polished. Maybe a little more feminine. Not a full transformation just enough to be camera-friendly.">>
Dr. Maren listens without expression. The neutral attention of a professional who has heard this before this specific request, this specific framing, this specific dance between what the client is saying and what the client means.
<<dr_maren "Camera-friendly. Can you elaborate?">>
<<eli "My face doesn't... it doesn't stop people. When they see my thumbnail, they scroll past. I need a face that makes people click.">>
<<dr_maren "You want a face that performs.">>
<<eli "...yeah. A face that performs.">>
<<dr_maren "May I?">>
They gesture toward my face. I nod. They lean forward and take my chin between two fingers cool, dry, impersonal and turn my head. Left. Right. Center. Up. Down. The examination is brief and thorough, the way a mechanic examines an engine checking components, identifying the parts that work and the parts that need replacing.
<<dr_maren "Interesting bone structure underneath the neglect. The jaw has feminine potential it's not heavily set, just undefined. The brow ridge is moderate. Skin quality is poor but treatable. Eye shape is actually quite good balanced, proportional. The main masculine reads are the brow, the nose, and the skin texture. Everything else is workable.">>
They release my chin. Turn to the wall screen. A tap on a hidden tablet and my face appears captured by a camera I didn't notice, displayed in merciless high resolution under clinical lighting. Every pore. Every blemish. Every asymmetry. I look like an evidence photo of my own mediocrity.
A digital overlay appears architectural lines mapping the bone structure, highlighting the masculine markers in red and the neutral/feminine zones in blue.
<<dr_maren "Here's what I see.">>
They trace the red zones.
<<dr_maren "Brow ridge moderately heavy. Reduces the vertical space of the eye area, codes masculine. Nose wide bridge, rounded tip, unremarkable but distinctly male. Jaw could go either way with treatment. Skin acne, texture issues, dullness. These are the barriers between your current face and a face that... performs.">>
They tap the screen. The overlay shifts. The red zones morph the brow softens, the lashes lengthen, the skin smooths. A predictive rendering of the same face with Tier 1 modifications applied. The face on screen is still mine but also not mine it's the face I'd have if I'd been born with different settings, if the genetic sliders had been positioned two notches to the left on every axis.
<<dr_maren "This is achievable. Tier 1 only. No structural bone work. DNA-based modifications using your own genetic material no rejection, no scarring, full sensory preservation. The technology activates dormant potential in your existing cells. We're not adding anything foreign. We're unlocking what's already there.">>
Unlocking what's already there. The tagline from the website, delivered in person, with the weight of a doctor's authority and the precision of a sales pitch. I can't tell where the medicine ends and the marketing begins. Maybe there's no line.
<<eli "What would you recommend? To start?">>
<<dr_maren "For a first visit, we typically recommend eyelash enhancement it's our most popular introductory procedure and we offer it complimentary for new clients.">>
Free. The first one's free.
<<dr_maren "Natural-Long eyelashes. Dense, dark, naturally long. Subtle enough that casual acquaintances won't identify the change consciously, but the effect on camera is dramatic. Lashes frame the eyes. Framed eyes hold attention.">>
<<eli "And beyond that?">>
<<dr_maren "If you'd like to invest in one paid procedure today, the brow sculpt. Feathered soft, natural-looking, feminine arch. Three hundred Dollars. Opens the eye area, reduces the masculine coding of the brow ridge. Combined with the lashes, the effect is... transformative might be too strong a word. Let's say: significant.">>
300 $. $300. I don't have $300. I have $47 in the bank plus $47 on the ElliePlayz dashboard that hasn't hit my account yet. But the $47 from last night will clear. If I stream tonight which I will, which I'm already planning, the stream already taking shape in the back of my mind the numbers suggest another $40-50 minimum. In two days, the brow sculpt pays for itself.
<<eli "Payment plan?">>
<<dr_maren "We offer credit. Dollars-based. Seven-day payment window. The eyelashes are complimentary. The brow sculpt 300 $ billed to your streaming account.">>
<<eli "My streaming account?">>
<<dr_maren "ElliePlayz.">>
I don't ask how they know. I should ask how they know. A doctor at a clinic I found on Google two hours ago just said my fake streaming account name the one I created last night at midnight, the one with 47 followers, the one that exists in a pocket of the internet so small you'd need a microscope to find it and I should be alarmed by this. I should feel the hair on my neck stand up and the alarm bells ring and the rational part of my brain should be screaming how do they know, who told them, what are they tracking.
But the $47 is on the dashboard and the rendering of my face on the screen looks like a person people would click on and Dr. Maren's grey-green eyes are steady and the word "complimentary" is still hanging in the air like a gift, and I don't ask. I cross the bridge without looking down.
<<eli "How did you ">>
<<dr_maren "We keep our ear to the ground. New streamers with... potential... tend to find their way here. It's not unusual. Many of our most successful clients began exactly where you are.">>
They say it smoothly. Too smoothly. The words are a bridge over a question I should be asking how do you know my stream name? but the bridge is well-built and the far side has a brow sculpt and eyelashes waiting, and I cross it without looking down.
<<eli "Okay. Let's do it. Eyelashes and brow sculpt.">>
<<dr_maren "For streamers, we also include a complimentary professional wig from our StreamLine series. Camera-optimized. Natural appearance. Consider it a welcome gift.">>
Three modifications. Two free. One on credit. The math of the deal is so favorable it should be suspicious, and it is suspicious, and I take it anyway because the rendering on the screen shows a face that could stream without hiding behind a nose-down crop and the numbers say that face would be worth more than $47 an hour.
<<dr_maren "Excellent. Follow me.">>
[[Follow Dr. Maren to the procedure room|day_3_5_other]]<<set $hint to "The procedure">>
The procedure room. Reclining chair. Adjustable lights. A tray of instruments that look less like medical tools and more like the contents of a very expensive artist's kit. The screen on the wall shows my face with the target areas highlighted lashes in blue, brows in green.
I lie back. The chair reclines silently no wheezing, no hydraulic death rattle, just smooth mechanical precision. The ceiling above is white and featureless. No crack. The absence feels wrong, like a face without features.
<<dr_maren "Eyelash enhancement first. Twenty minutes. You'll feel warmth at the application site. Close your eyes.">>
I close them. A cool gel touches my eyelids. Then warmth spreading, gradual, not unpleasant. Like sunlight through a window, concentrated on the tissue around my eyes. I can feel activity not movement, not growth in the way you'd imagine growth, but a stirring. Something cellular being switched on. Dormant potential being activated. The science or the poetry of it I can't tell which and I'm not sure it matters.
Twenty minutes. I lie there with my eyes closed and I think about the numbers.
$47 per hour × 3 hours per day × 7 days = $987 per week.
$987 per week × 4 weeks = $3,948 per month.
Four thousand dollars a month. Streaming as Ellie. That's rent plus groceries plus utilities plus enough left over to start climbing the transformation tiers, to invest back into the face, to make the face better which makes the numbers higher which makes the face better which makes the numbers higher
The loop is already running. I can feel it the feedback circuit, the escalation logic, the same compulsive optimization that Kira described when she talked about her content strategy except pointed inward. At myself. At my face. The product and the marketing are the same thing and the thing they're selling is me and the buyer is the internet and the currency is attention.
<<dr_maren "Eyelashes complete. Open your eyes.">>
[[Open eyes after eyelash procedure|day_3_6_other]]<<set $hint to "Open your eyes">>
I open them. Mirror. My face. The same face, mostly. But the eyes
<<set $appearance to 3>>
<<set $femininity to 1>>
<<set $playerImage = "images/user/tier_0_1.jpeg">>
<img src="images/user/tier_0_1.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
The lashes. Long, dark, dense, fanning out from my eyelids like the bristles of a brush dipped in ink. They catch the clinical light and cast micro-shadows on my cheekbones, tiny half-moons of shade that didn't exist twenty minutes ago. The eyes themselves are the same brown, tired, the dark circles still visible but the framing has changed. The lashes create a border, a declaration, a reason for a viewer's gaze to pause.
<<dr_maren "Natural-Long. Dense, dark. No maintenance. They'll grow at the same rate as your natural lashes. The length is calibrated for standard webcam distance one to three feet.">>
Calibrated. For webcam distance. They've thought about this. They've optimized the lash length for the specific use case of being seen through a camera. The product is designed for the market. The market is me.
<<dr_maren "Now the brows. Thirty minutes. Same process.">>
The brow procedure involves more shaping Dr. Maren's fingers trace the new arch with the precision of someone drawing a line they've drawn a thousand times, mapping the geometry of feminization onto the canvas of my brow ridge. The warmth spreads across my forehead, concentrated at the brow line, and I feel the restructuring the cells shifting, reorganizing, the thick masculine arch thinning and lifting into something feathered and soft.
Thirty minutes. Mirror again.
[[See the new brows|day_3_7_other]]<<set $hint to "See the new brows">>
The brows have changed. Not dramatically not yet. Dr. Maren says they'll continue refining for two to three hours, the full shape emerging gradually. But already the difference is visible. The thick, low-set, slightly unruly brows I've had my whole life are thinner now, with a soft arch where there was none, a curve that lifts the eye area upward and creates the impression of more space, more openness, more approachability. The combination of lashes and brows makes my forehead look different less heavy, less masculine, lighter in the way that Dr. Maren described.
<<set $appearance to 4>>
<<set $femininity to 2>>
<<set $playerImage = "images/user/tier_0_2.jpeg">>
<img src="images/user/tier_0_2.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
I look at my face. The face with the new lashes and the reshaping brows and the same acne and dark circles and thin lips. It's a face in transition not between genders, not yet, but between states. Between the face that earns $3.50 and the face that might earn more. Between EliPlays and ElliePlayz. Between the person I was yesterday and the person I'm deciding to become.
<<dr_maren "The brows will reach their final shape by this evening. By tomorrow, you won't remember what the previous ones looked like.">>
[[Wig fitting with Lina|day_3_8_other]]<<set $hint to "Wig fitting with Lina">>
Lina fits the wig. A side room vanity mirror, lit, a wall of wig forms. She selects one without asking my preference, as if the choice was made before I arrived.
<<lina "StreamLine series. Medium-length, soft waves, warm brunette. The fiber is camera-optimized responds to light the way biological hair does, no synthetic sheen. The cap is adjustable, the lace front invisible.">>
She puts it on me. Tucks my hair. Adjusts the cap. Aligns the lace. Her hands are efficient and warm and smell like vanilla and something that might be fabric softener or might be the ambient scent of someone who was manufactured to be perfect.
<<lina "There.">>
[[Look in the mirror with the new wig|day_3_9_other]]<<set $hint to "Look in the mirror with the new wig">>
<<set $loan to 300>>
She turns me to the mirror. The person looking back at me is
Not me. Except it is me. Every feature, individually, is mine the eyes, the nose, the mouth, the skin. But the sum has changed. The wig warm brunette waves falling to the shoulders, soft and real-looking and catching the vanity light like hair in a shampoo ad reframes the entire face. The lashes anchor the eyes. The reshaping brows lift the forehead. The hair completes the illusion that isn't quite an illusion because it's built from my own cells, my own genetics, my own "dormant potential" switched on by a clinic four blocks from my apartment.
<<set $playerImage = "images/user/tier_0_3.jpeg">>
<img src="images/user/tier_0_3.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
I don't look female. I look... ambiguous. From certain angles, in certain light, the face could go either way. The jaw is still too angular, the Adam's apple still visible, the skin still rough. But from the nose up lashes, brows, hair the read is feminine. From the nose down jaw, throat, stubble shadow the read is male and the nose itself is neutral territory, the DMZ between two interpretations of the same face.
From the nose down. Camera positioned to show from the nose down. Or from the nose up. Different framings for different truths.
From the nose up.
<<lina "The wig comes with a care kit. It's yours our welcome gift. We hope to see you again soon, Ellie.">>
The way she says "soon" has the same certainty as "we'll see you soon" at the end of a first dealer's sample. Not if. When.
<<eli "Thanks.">>
<<lina "Of course. Dr. Voss wanted me to mention your Dollars credit is active. The brow sculpt balance is due within seven days and if you'd like to explore Tier 1 further... the full menu is available through our app.">>
An app. Of course there's an app. Of course the bioengineering clinic that makes you prettier has a mobile application for browsing the catalog and scheduling procedures and managing your transformation like a subscription service. Of course.
<<eli "I'll think about it.">>
<<lina "Of course. We'll see you soon, Ellie.">>
<<lina "Take your time. The door is always open.">>
She says it with the certainty of a person who knows the difference between "goodbye" and "see you soon," who understands that the free eyelashes and the free wig are not charity but investment, and that the investment will pay off because it always does, because the door only opens one way.
[[Take of the wig and Leave Facility|day_3_10_other]]<<set $hint to "Leave the clinic">>
<<set $playerImage = "images/user/tier_0_2.jpeg">>
I leave RegenaForm with a bag containing the wig and the care kit and the knowledge that my face is actively restructuring itself as I walk. The January air hits me cold, clean, the kind that makes your newly enhanced eyelashes feel longer because the cold air moves against them differently. I can feel them. The lashes. A faint awareness of their presence, like wearing new jewelry you haven't adjusted to yet.
<<set $day_step to 10>>
Four blocks home. I walk fast, the bag swinging from my hand, head down, hood up. Nobody looks at me. Nobody has ever looked at me I'm the guy people scroll past, the face that doesn't register and right now the invisibility is a gift because I'm walking home from a clinic that changed my face and I need to know if the changes are visible.
I round the corner of my block and
<<marc "Yo!">>
Marcus. Standing on the sidewalk in front of the laundromat, holding a bag of clean clothes, wearing the oversized charcoal hoodie and basketball shorts despite it being January, because Marcus dresses for the weather he wants, not the weather he has. His beat-up Jordans are untied. The scar on his left eyebrow catches the afternoon light.
<<marc "Where you coming from?">>
My heart rate spikes. The bag from RegenaForm suddenly weighs forty pounds. I shift it behind my leg.
<<eli "Just walking. Needed air.">>
<<marc "You don't go outside.">>
<<eli "I go outside.">>
<<marc "Name the last time.">>
<<eli "...yesterday. Kira and I ">>
<<marc "Before yesterday.">>
<<eli "I went to the convenience store last week.">>
<<marc "For Monster Energy.">>
<<eli "It was outside.">>
He looks at me. The Marcus look direct, unhurried, the brown eyes that hold you and don't let go. He's scanning my face the way he always does, the quick visual check-in that he'd never admit is a welfare assessment but which is, objectively, a welfare assessment. He does it every time he sees me. Every time, for two years, Marcus has looked at my face and read it like a status report.
<<marc "You look different.">>
My stomach drops. The lashes. The brows. He sees them. He
<<marc "You do something with your hair?">>
<<eli "Washed it.">>
<<marc "With what, actual shampoo?">>
<<eli "Hotel shampoo. Marc gave it to me.">>
<<marc "I know. I'm Marc.">>
<<eli "Right. Yeah.">>
He squints at me for another second. Then shrugs.
<<marc "Looks better. You should wash it more than once a year.">>
<<eli "Noted.">>
<<marc "Where you headed?">>
<<eli "Home. Streaming stuff.">>
<<marc "The mysterious streaming stuff.">>
<<eli "It's not mysterious. It's just... stuff.">>
<<marc "You and Kira both say that. 'Stuff.' Like it's classified.">>
<<eli "It's not classified. It's boring.">>
<<marc "Nothing about you is boring, bro. Tragic, maybe. Not boring.">>
He adjusts the laundry bag on his shoulder. The conversation is casual this is how we always talk, in the space between going somewhere and getting there, a running commentary that doesn't ask for depth but allows it. Marcus never forces the serious stuff. He just walks beside it and waits.
<<marc "You talk to Kira today?">>
<<eli "Yeah. Briefly.">>
<<marc "How's that going? After the... thing?">>
The thing. The moment. The "it's hot" and the laugh and the taking it back.
<<eli "Fine. Normal.">>
<<marc "Normal.">>
<<eli "We're friends, Marc.">>
<<marc "Mhm.">>
<<eli "Don't mhm me.">>
<<marc "You called her hot and then said 'just kidding' like someone defusing a bomb they built themselves, and now you're telling me it's 'normal.' That's not normal. That's emotional bomb disposal.">>
<<eli "It was a joke.">>
<<marc "It wasn't.">>
<<eli "Marc ">>
<<marc "I'm just saying. You had the moment. You bailed and now you're doing 'streaming stuff' on a Thursday afternoon instead of talking to her about it.">>
He's right. He's always right. Marcus has this infuriating quality of being correct about emotional situations he's observing from the outside, like a sports commentator who can see plays developing before the players can. He saw the Kira thing coming. He called it and he's watching me fumble the aftermath with the same mixture of affection and exasperation that defines our entire friendship.
<<eli "I'll figure it out.">>
<<marc "You're not going to figure it out. You're going to avoid it until it becomes impossible to avoid and then panic. That's your pattern.">>
<<eli "I don't have a pattern.">>
<<marc "You have the most consistent pattern of anyone I know. Step one: identify problem. Step two: acknowledge problem. Step three: do absolutely nothing about problem until problem becomes crisis. Step four: panic.">>
<<eli "That's... uncomfortably accurate.">>
<<marc "I've had two years of data.">>
We stand there on the sidewalk. The January wind cuts between the buildings. My face is changing beneath the skin the brows still reshaping, the cells still restructuring and Marcus is two feet away and he doesn't see it. He looked at my face, the face he's known for years, and he noticed the hair and nothing else.
The lashes, the brows they're invisible to him. Not invisible objectively they're there, they're physical, they're real but invisible socially. The changes are subtle enough that a person who knows my face reads them as "he washed his hair" rather than "he went to a bioengineering clinic and had his eyelashes modified and his brows restructured."
The test passed. The first test. If Marcus who has two years of data, who does welfare assessments with his eyes, who notices when I text at 4 AM about penguin knees doesn't see it, then nobody will.
<<marc "Alright, I gotta drop this off and get to work. ScreenFixx doesn't fix itself.">>
<<eli "That's actually the business model.">>
<<marc "Ha. See you later and talk to Kira.">>
<<eli "I'll think about it.">>
<<marc "You'll avoid it. But I said my piece.">>
He walks off. The laundry bag bounces against his back. His untied Jordans slap the pavement. I watch him go my best friend, my welfare assessor, the person who tells me truths I don't want to hear and I feel the weight of the bag in my hand. The wig. The care kit. The evidence of a choice he doesn't know about, in a bag he didn't ask about, behind the leg he wasn't looking at.
I walk the last block home.
The apartment. The door. The key. The hallway that smells like cleaning products and someone's dinner. The stairs (elevator still sounds like a submarine, still don't trust it). The door to my unit. The lock. The interior.
Same apartment. Same crack. Same everything.
Except me.
I set the bag on the desk. Open it. The wig sits inside, nestled in tissue paper, the brownish-auburn waves catching the overhead light (flicker, flicker, on) like something alive. I touch it. The fiber is soft softer than my real hair, softer than anything in this apartment, which is a low bar but still.
I place it on the desk beside the monitors. It sits there like a prop waiting for its scene.
<<link "Go Home and Stream">><<set $hint to "Go Home and Stream">><<goto neighbourhood>><</link>><<set $playerImage to "images/user/tier_0_3.jpeg">>
8:00 PM. The apartment is dark except for the monitors. I've spent the last three hours in a state I can only describe as preparation not the productive kind, not the kind that results in a clean desk or an organized scene layout, but the internal kind. The psychological loading screen. The process of deciding to do something you've already decided to do.
The cold one: ElliePlayz. The dashboard. The $47. The 89 viewers. The clinic. The wig in the closet.
Both real. Both mine. Both impossible to hold simultaneously without something cracking.
I turn on the light. The bulb flickers twice. Everything appears. The mattress, the desk, the monitors, the fridge, the burrito wrappers (two now, a growing collection). The closet with the wig buried in it.
I sit at the desk. Open the closet. Pull the wig out. Set it on the desk beside the monitors.
It sits there brownish-auburn, soft waves, the StreamLine series from RegenaForm, designed for camera use and it looks like a prop. A costume piece. A thing that belongs to someone else, waiting to be put on.
I open OBS. Open VoxMorph. Open the ElliePlayz channel. The dashboard from this afternoon's stream is still visible:
Peak Viewers: 89
Average Viewers: 63
Followers: 51
Donations: $47.00
51 followers. Some of them said they'd be back tonight. MidnightWhale99 said "tonight. I'll be there." ChillVibesOnly said "best new streamer on Twitch." People are waiting. Strangers who've never seen my face are waiting for a voice that doesn't exist to come back.
I put on the wig.
The process takes ten minutes I watched a YouTube tutorial on the walk home, pausing at streetlights, memorizing the steps. Tuck the natural hair. Position the cap. Align the lace front. Secure with adhesive strips. The wig settles onto my head with a weight that's both physical and metaphorical the feeling of putting on a costume, of stepping into a role, of becoming someone who isn't you and is entirely you.
I look at the webcam preview in OBS. The image is
Different. Completely different.
The wig changes everything. The brownish-auburn waves frame the face in a way my greasy brown hair never did soft, warm, feminine. The lashes catch the monitor light and cast those tiny shadows. The brows, now almost fully reshaped, lift the eye area into something open and inviting. The combination wig, lashes, brows doesn't make me look female. Not yet. The jaw is still too angular, the nose too wide, the skin too rough. But from certain angles, in certain light, with certain framing
I adjust the webcam. Tilt it down. Frame the shot from the nose above. eyes, eyelashes, eye brows,forehead and the cascade of wig-hair falling from the top of my head. I angle my desk lamp to the side, creating a warm, directional light that softens the jaw shadow and makes the skin look smoother than it is.
In the preview, from the nose up without nose visibility, in this lighting, with this wig, I look like
I look like a girl.
Not a beautiful girl. Not a convincing girl. But a plausible one. A girl who's shy about showing her face. A girl who streams with the camera low because she's nervous. A girl named Ellie who has a cute voice and 51 followers and whose full face reveal is always "coming eventually."
I turn on VoxMorph. Route the mic through OBS. Test the voice.
<<chat "ElliePlayz" "Hey everyone, welcome back.">>
The voice comes through the monitoring feed feminine, warm, the same voice from this afternoon and combined with the visual of the wig and the chin and the lips in the webcam preview, it's... convincing. Not flawless. Not indistinguishable. But convincing the way a good magic trick is convincing you know it's not real, but if you don't look too hard, the illusion holds.
I check the time. 11:00 PM. Late-night Twitch. The same time slot that worked this afternoon (which was actually early afternoon, different vibe, but the late-night slot is the one the guide recommended for new streamers).
I change the OBS scene. Add the webcam the nose-up framing without even nose visibility, the warm lighting. The ElliePlayz overlay, the pink-purple gradient, the cursive text. The game capture. Chat.
I hover over "Go Live."
[[Go Live|day_3_12_other]]<<nobr>>
<<set $right_sidebar_mode to 1>>
<<set $playerImage to "images/user/tier_0_3.jpeg">>
<<set $day_step to 29>>
<<set $viewers to 0>>
<<set $followers to 51>>
<</nobr>>
My phone sits on the desk beside me. The last message on it is from Kira: a red heart emoji, sent as I left her apartment. The heart glows in the notification bar, a small red pulse, and I look at it and I look at the "Go Live" button and the distance between them is the distance between the person Kira thinks I am and the person I'm about to be.
The wig is on. The VoxMorph is calibrated and the webcam this is where the plan lives the webcam is tilted UP.
Not down. Up. Angled so the frame catches from the nose upward without nose visibility. Eyes. Lashes. Brows. Hair. The feminized zone. Everything RegenaForm touched today, everything the software processes, everything the wig transforms it's all above the nose and everything that gives me away the angular jaw, the thin masculine lips, the shadow of the Adam's apple is below it, cropped out, invisible to anyone watching.
I check the OBS preview. The framing is it's startling.
In the small rectangle of the webcam feed, a girl looks back at me. Not a whole girl. A suggestion of one. Large brown eyes framed by dense, dark, dramatically long lashes that fan outward and catch the desk lamp light in tiny bright points along their length. Soft feathered brows arched in a gentle feminine curve above the eyes, creating the open, inviting look that Dr. Maren described as "lighter." and the hair the warm brownish-auburn waves cascading down both sides of the frame, a center part revealing a realistic hairline, the waves catching warm lamp light on the left and cool monitor glow on the right, two-toned and beautiful.
From the nose up point, there is nothing masculine in this frame. The eyes could belong to any girl. The lashes are indistinguishable from natural. The brows are delicate and arched. The hair is long and warm and real-looking. The forehead is smooth, the brow ridge softened by the reshaping. A viewer scrolling the browse page would see this thumbnail and their brain would register: female. Pretty. Click.
I angle the desk lamp one more degree to the left. The warm light catches the lashes and they cast those tiny crescent shadows on my cheekbones that I first noticed in Dr. Maren's mirror. The shadows are visible on camera. They read as cheekbone contour. They read as beauty.
I click "Go Live."
[[Go Live|day_3_13_other]]<<nobr>>
<<set $right_sidebar_mode to 1>>
<<set $playerImage to "images/user/tier_0_3.jpeg">>
<<set $day_step to 30>>
<<set $viewers to 15>>
<<set $followers to 51>>
<<set $hint to "Stream as ElliePlayz">>
<</nobr>>
ElliePlayz Live
Category: Just Chatting → Gunmetal Requiem
Viewers: 0
The stream goes live. The webcam activates. In the preview, a pair of large, lash-framed eyes and a cascade of brownish-auburn waves appear beside the game capture window, and the VoxMorph hums softly as it processes my breathing into something softer.
<<eli "Hiii! I'm back! Oh my gosh, hi everyone! I said I'd stream again tonight and here I am! I even have a little bit of camera now I know I know, it's not a full face reveal, but you can see my eyes and my hair! Progress, right? How is everyone?">>
Viewers: 3
Viewers: 8
Viewers: 15
They come back. The people from this afternoon I can see the usernames, ChillVibesOnly and MidnightWhale99 and night_owl_cc, returning like regulars to a bar, settling into the chat with the easy familiarity of people who've found something they want to keep.
<<chat "MidnightWhale99" "SHE'S BACK and we can see her EYES">>
<img src="images/scenes/day_3/day_3_2.png" alt="A screenshot of the stream webcam feed, showing a close-up of Ellie's eyes, framed by long lashes and soft brows, with warm lighting creating tiny shadows on her cheekbones.">
<<chat "ChillVibesOnly" "ellie!! oh my god your EYES. your LASHES. i'm deceased">>
<<chat "night_owl_cc" "wait is that her actual face omgggg those eyelashes are UNREAL">>
<<chat "stream_viewer_b1" "her eyes are so pretty holy shit">>
<<eli "Aw, you guys! You're going to make me blush! I was so nervous to show any of my face, you have no idea.">>
<<chat "MidnightWhale99" "nervous?? you're gorgeous. those eyes could END me">>
<<chat "stream_viewer_b2" "the hair omg. the hair and the eyes together. i'm in love">>
<<chat "ChillVibesOnly" "okay but can we talk about the lashes? are those real??">>
<<eli "Haha, yes they're real! I just... have really long lashes, I guess? Genetics!">>
Genetics. The word comes out smooth, wrapped in Ellie's voice, and the chat scrolls past it without a second thought. Nobody questions it. Why would they? The lashes look natural. They ARE natural grown from my own cells, Dr. Maren's bioactive compound switching on dormant potential. The lie is built from truth, which is the most convincing kind.
[[Play Gunmetal Requiem|day_3_14_other]]Viewers: 28
<<nobr>>
<<set $day_step to 30>>
<<set $viewers to 28>>
<<set $followers to 52>>
<<set $donations += 0>>
<<set $money += 0>>
<</nobr>>
<<chat "stream_viewer_b3" "new here, followed immediately, those eyes stopped my scroll">>
<<chat "stream_viewer_b4" "same lol i was literally scrolling the browse page and her eyes just grabbed me">>
<<chat "stream_viewer_b5" "the ring of gold around the brown is so pretty omg">>
The ring of gold. They're talking about the color of my irises a detail I've never heard mentioned in my life, a feature of my eyes that no one has ever noticed or commented on in 22 years of having them. As Eli, my eyes are "small dull brown." As Ellie, framed by lashes and arched brows and lit by a warm desk lamp, the same eyes have "a ring of gold around the brown."
Same eyes. Different frame. Different reading.
[[Continue streaming|day_3_15_other]]<<nobr>>
<<set $day_step to 30>>
<<set $viewers to 42>>
<<set $followers to 54>>
<<set $donations += 5>>
<<set $money += 5>>
<</nobr>>
Viewers: 42
$5.00 from MidnightWhale99: "told you i'd be here. those eyes are everything. the mystery of the lower face just makes it better."
<<eli "MidnightWhale, oh my gosh, thank you so much! Five dollars! You're literally the sweetest and haha, don't worry full face eventually! I'm just still getting confident, you know?">>
<<chat "MidnightWhale99" "take forever. the half face thing is iconic honestly">>
<<chat "stream_viewer_b6" "she's right it IS iconic. like a vtuber but real eyes">>
<<chat "stream_viewer_b7" "the eyes-only thing makes you want to see the rest SO bad">>
<<chat "night_owl_cc" "imagine how pretty the full face is if the EYES look like that">>
I load Gunmetal Requiem. Queue into ranked. The loading screen spins and I glance at the webcam preview again the eyes looking back at me, lash-framed and softly lit, framed by auburn waves. They look like someone else's eyes. They look like a girl's eyes and the part of me that should be horrified by this is quiet, suppressed by the part that's watching the viewer count climb.
[[Play the match|day_3_16_other]]<<nobr>>
<<set $day_step to 30>>
<<set $viewers to 58>>
<<set $followers to 57>>
<<set $donations += 0>>
<<set $money += 0>>
<</nobr>>
Viewers: 58
The match starts. I play Sentinel same agent, same Silver rank, same person. Round 1: I set up on B-site, place my traps, anchor the position. An enemy peeks my angle. I flick actually flick, a genuine reflex shot that I couldn't replicate if I tried and get the headshot. Clean. Instant.
<<chat "stream_viewer_b8" "WAIT">>
<<chat "stream_viewer_b9" "DID SHE JUST FLICK THAT">>
<<chat "ChillVibesOnly" "ELLIE?? CRACKED??">>
<<chat "night_owl_cc" "that was NASTY oh my god">>
<<eli "Oh my gosh!! Did you see that? I actually hit it! I never hit those!">>
In the webcam preview, my eyes are wide genuine surprise, genuine excitement and the lashes frame the expression perfectly, the wide-eyed look reading as adorable surprise rather than the shocked-face-of-a-guy-who-never-hits-shots that it would read as on EliPlays. Same reaction. Different frame. Different audience response.
<<chat "stream_viewer_b10" "her eyes went SO BIG when she hit that shot lmaooo">>
<<chat "stream_viewer_b11" "the wide eyes + lashes combo im weak 🥺">>
<<chat "MidnightWhale99" "she's cute AND cracked. game over for everyone else on this platform">>
[[Continue the match|day_3_17_other]]<<nobr>>
<<set $day_step to 30>>
<<set $viewers to 73>>
<<set $followers to 61>>
<<set $donations += 3>>
<<set $money += 3>>
<</nobr>>
$3.00 from stream_viewer_b12: "that flick was cleaner than my entire career"
Viewers: 73
I play through the match. 7 and 5. Positive K/D actually positive, not the 2-and-13 disasters I'm used to on EliPlays. The chat erupts:
<<chat "stream_viewer_b13" "SEVEN AND FIVE??? ELLIE IS ACTUALLY GOOD??">>
<<chat "ChillVibesOnly" "she's been hiding her power level">>
<<eli "You guys, I'm not good! I literally got lucky like three times!">>
<<chat "stream_viewer_b14" "HUMBLE QUEEN">>
<<chat "night_owl_cc" "she's good AND humble we stan">>
<<chat "stream_viewer_b15" "protect ellie at all costs">>
Protect. There it is the word. The instinct. I'm watching it happen in real time: 73 strangers developing the collective impulse to protect a person who doesn't exist. The feminine framing the eyes, the lashes, the voice, the self-deprecating "I'm not good!" triggers something in the audience, some evolutionary wiring that says she is small and humble and talented and she doesn't know it and we must shield her from the world. It's the same gameplay, the same skill level, the same K/D ratio that DarkSlayer would respond to with "lol still silver" but the wrapper has changed, and the wrapper changes everything.
[[Continue the match|day_3_18_other]]<<nobr>>
<<set $day_step to 30>>
<<set $viewers to 91>>
<<set $followers to 67>>
<<set $donations += 10>>
<<set $money += 10>>
<</nobr>>
Viewers: 91
$10.00 from MidnightWhale99: "you ARE good. you just don't see it yet. we see it."
<<eli "MidnightWhale, ten dollars?? You're insane! You keep donating and I'm going to cry on stream and then my mascara will run and that's the real reason I don't do full face cam!">>
The chat explodes:
<<chat "stream_viewer_b16" "LMAOOO mascara excuse 😂">>
<<chat "ChillVibesOnly" "she's funny too I CAN'T">>
<<chat "night_owl_cc" "ellie crying on stream would break twitch">>
<<chat "stream_viewer_b17" "her eyes are already pretty imagine them with tears. devastating">>
<<chat "MidnightWhale99" "note to self: make ellie cry (happy tears only)">>
I'm riffing. The Ellie voice is flowing now not just the VoxMorph processing but the performance, the personality, the specific combination of shy and funny and self-deprecating that I've been building since the first stream. It's me. It's not me. It's the me that lives underneath the me, the version that has timing and charm and the ability to make a room laugh, the version that Kira described when she said "when we talk in Discord you're so quick and witty and real on stream you get all stiff." This is the not-stiff version. This is the version that exists when the face doesn't match the expectations and the mismatch creates a freedom a persona, a mask, a key that fits a lock I didn't know my personality had.
[[Finish the match|day_3_19_other]]<<nobr>>
<<set $day_step to 30>>
<<set $viewers to 107>>
<<set $followers to 73>>
<<set $donations += 0>>
<<set $money += 0>>
<</nobr>>
Viewers: 107
Second match. I queue in. During the loading screen, the chat shifts to personal questions the parasocial orbit tightening, the strangers wanting to know the person behind the eyes.
<<chat "stream_viewer_b18" "ellie how old are you?">>
<<eli "I'm 22! Just trying to figure life out, you know?">>
<<chat "stream_viewer_b19" "same 😭">>
<<chat "stream_viewer_b20" "what color are your eyes exactly? they look brown but there's like gold in them">>
<<eli "Haha, they're brown! I think the gold thing might just be the lighting? My desk lamp makes everything look warmer.">>
<<chat "stream_viewer_b21" "no the gold is REAL i can see it. hazel maybe?">>
<<chat "stream_viewer_b22" "eyes-only stream and we're already debating her eye color. this community is down BAD">>
<<chat "MidnightWhale99" "they're amber. trust me. i've been staring.">>
<<chat "night_owl_cc" "midnight you need to go outside">>
<<chat "MidnightWhale99" "outside doesn't have ellie's eyes">>
The chat is developing its own dynamics regulars emerging, inside jokes forming, the social ecosystem of a stream community crystallizing in real time. ChillVibesOnly is the hype person, reacting to everything with capslock enthusiasm. Night_owl_cc is the dry wit, the commenter who punctures the simping with deadpan observations. MidnightWhale99 is... MidnightWhale99. The devoted one. The one who donates, who shows up first, who says things that balance on the knife's edge between sweet and obsessive.
[[Continue the match|day_3_20_other]]<<nobr>>
<<set $day_step to 37>>
<<set $viewers to 118>>
<<set $followers to 76>>
<<set $donations += 15>>
<<set $money += 15>>
<</nobr>>
Viewers: 118
The match starts. I play well or at least, I play the same way I always play, which is inconsistently, with bursts of competence between stretches of mediocrity. But the chat's reaction transforms the mediocrity into narrative. When I die, it's not failure it's adversity. When I clutch, it's not luck it's a growth arc. The audience is writing a story about me, a story about a shy girl with beautiful eyes who's finding her confidence through gaming, and every round is a chapter.
Round 3: I pull off a 1v2. Not as clean as the flick earlier, but scrappy a trade kill followed by a desperate spray-down that somehow connects.
<<chat "stream_viewer_b23" "1v2!!! ELLIE!!">>
<<chat "ChillVibesOnly" "SHE DID NOT JUST DO THAT">>
<<chat "stream_viewer_b24" "ok she's actually insane">>
<<eli "OH MY GOD! My hands are shaking! Did that actually happen?!">>
In the webcam, my eyes are wide again, bright, the lashes catching desk lamp light and I can see the viewer count spike as the moment gets clipped.
$8.00 from stream_viewer_b25: "that 1v2 was beautiful and so are your eyes"
$5.00 from night_owl_cc: "okay fine i'm simping too. you earned it"
<<eli "Night owl!! Your first donation! Oh my gosh, you don't have to—">>
<<chat "night_owl_cc" "shut up and take my money">>
<<chat "stream_viewer_b26" "night owl has fallen. we've lost another one to the eyes">>
<<chat "MidnightWhale99" "one of us. one of us.">>
[[Continue the match|day_3_21_other]]<<nobr>>
<<set $day_step to 38>>
<<set $viewers to 134>>
<<set $followers to 81>>
<<set $donations += 15>>
<<set $money += 15>>
<</nobr>>
Viewers: 134
$15.00 from BobaAndChill: "just got here from the browse page. the eyes-only cam is genius and your gameplay is better than most full-face streamers. instant follow."
Fifteen dollars. From a stranger who clicked because the thumbnail my eyes, framed by lashes and auburn waves stopped their scroll. Exactly the way Kira described it. "When a cute face shows up on a thumbnail, people click." Except this isn't my face. Or it is my face, with modifications, seen through a frame that hides the parts that don't perform. It's a curated face. A product face. A face that exists only in the rectangle of the webcam preview, bounded by the crop line that separates who I am from who they think I see.
The stream settles into rhythm. I play, I talk, I react. The eyes do the heavy lifting every expression is amplified by the lashes and the framing. When I'm concentrating, the eyes narrow and the chat says "focus mode activated." When I'm surprised, the eyes widen and the chat says "the wide eyes 🥺." When I laugh and VoxMorph processes the laugh into something higher, lighter, more musical the eyes crinkle and the chat says "her eye smile is the best thing on twitch."
<<chat "stream_viewer_b27" "does anyone else just watch her eyes instead of the gameplay">>
<<chat "stream_viewer_b28" "yes. constantly.">>
<<chat "stream_viewer_b29" "the lashes cast these tiny shadows on her cheeks when she blinks and it's honestly hypnotic">>
<<chat "MidnightWhale99" "i've noticed the shadow thing too. it's the light angle. whoever set up that lighting is a genius">>
I set up the lighting. Twenty minutes ago, in a dark apartment, with a $12 desk lamp from a thrift store. The shadows that MidnightWhale99 is calling genius are an accident the lamp positioned to hide my jaw, the angle coincidentally catching the lashes at the exact distance needed to cast those crescent shadows. Genius. Sure. The genius of a desperate person with a desk lamp and a secret.
[[Continue streaming|day_3_22_other]]<<nobr>>
<<set $day_step to 38>>
<<set $viewers to 152>>
<<set $followers to 89>>
<<set $donations += 30>>
<<set $money += 30>>
<</nobr>>
Viewers: 152
$20.00 from BigSpender_X: "hottest eyes on twitch. don't @ me."
<<eli "Twenty dollars?! BigSpender, you're living up to your name! Thank you SO much!">>
<<chat "BigSpender_X" "worth every penny. those eyes are premium content">>
<<chat "stream_viewer_b30" "premium content 😂 he's not wrong tho">>
<<chat "stream_viewer_b31" "face reveal is going to break the internet. calling it now.">>
<<chat "stream_viewer_b32" "when do we get to see the full face ellie?? WHEN">>
<<eli "Ahh, you guys keep asking! I PROMISE I'll do a full face reveal eventually. I just want it to be special, you know? Like, I want my setup to be really good and my confidence to be there and I want to do it right.">>
<<chat "stream_viewer_b33" "take your time but know that we are DYING">>
<<chat "MidnightWhale99" "don't rush it. the eyes-only thing is iconic. you're building something special.">>
<<chat "night_owl_cc" "midnight speaking facts for once">>
<<chat "MidnightWhale99" "i always speak facts. especially about ellie">>
The face reveal. They talk about it like it's a season finale an event they're building toward, a promise I made that carries the weight of anticipation and they're right to anticipate it, because the eyes-only framing IS building something. It's building desire. The invisible lower face is a blank canvas that every viewer fills with their own projection they imagine the most beautiful version of what they can't see, because the parts they CAN see (the eyes, the lashes, the hair) set the standard high.
Except the face reveal can't happen. Not like this. The jaw would give it away. The lips. The Adam's apple. The face below the nose is still Eli's face modified at the eye level but fundamentally, structurally masculine from the nose down. A face reveal would end ElliePlayz in the time it takes for one viewer to type "wait is that a dude."
Unless the face changed more.
The thought arrives uninvited, the way the voice modulator idea arrived, the way the RegenaForm consultation arrived knocking at a door I didn't know existed, polite and inevitable. Unless the face changed more. Unless the jaw softened. Unless the lips filled. Unless the nose refined. Unless Tier 1 continued where it left off this morning, pushing the face further from Eli and closer to Ellie, until the crop line could drop lower and lower and the webcam could show more and more and eventually eventually there would be nothing left to hide.
I push the thought away. Not now. Not tonight. Tonight is numbers.
[[Continue streaming|day_3_23_other]]<<nobr>>
<<set $day_step to 40>>
<<set $viewers to 173>>
<<set $followers to 97>>
<<set $donations += 25>>
<<set $money += 25>>
<</nobr>>
Viewers: 173
Third match. I queue in. The chat has grown large enough that it's self-sustaining conversations happening between viewers that don't involve me, the community building its own culture, its own rhythms.
<<chat "stream_viewer_b34" "what's everyone's rank? i'm gold 2">>
<<chat "stream_viewer_b35" "plat 1 but i play like silver when ellie's stream is on because i can't focus lol">>
<<chat "stream_viewer_b36" "mood">>
<<chat "ChillVibesOnly" "i don't even play gunmetal i just come for the vibes">>
<<chat "stream_viewer_b37" "the vibes ARE the content">>
I play. 8 and 6 my best game in recent memory, a K/D ratio that would be average for a normal player but represents a genuine personal best for me. The chat reacts like I won a world championship:
<<chat "stream_viewer_b38" "EIGHT AND SIX?? SHE'S ASCENDING">>
<<chat "ChillVibesOnly" "POSITIVE KD AGAIN THIS IS NOT A DRILL">>
<<chat "night_owl_cc" "ellie went from 'i'm so bad' to carrying in two days. character arc of the century">>
<<chat "stream_viewer_b39" "the glow up is real. gameplay AND visuals">>
<<eli "You guys are too hype! Eight and six is not carrying, that's just... not feeding!">>
<<chat "MidnightWhale99" "your version of 'not feeding' is our version of 'popping off.' accept it.">>
[[Continue the stream|day_3_25_other]]<<nobr>>
<<set $day_step to 41>>
<<set $viewers to 227>>
<<set $followers to 121>>
<<set $donations += 35>>
<<set $money += 35>>
<</nobr>>
$10.00 from stream_viewer_b40: "the eyes the gameplay the personality. triple threat."
$5.00 from new_viewer_x1: "stumbled in from browse page. 30 seconds in and already followed. those eyes are magnetic."
$3.00 from stream_viewer_b41: "ellie for streamer of the year"
Viewers: 198
Viewers: 212
Viewers: 227
The number keeps climbing. I watch it in the dashboard on the second monitor the graph line angling upward, steady, relentless, the visual representation of a lie that's working. 227 people are watching a pair of eyes and a voice and a name and they're happy. They're engaged. They're paying.
I play one more match. Fourth of the session. By now the stream has been live for over two hours and I'm starting to feel it not fatigue exactly, but the strain of sustained performance, the effort of maintaining Ellie's voice and Ellie's energy and Ellie's personality while my own personality sits behind it like a stagehand in black. The VoxMorph processes every breath, every pause, every involuntary sound into something feminine, and the effort of speaking naturally while being processed of not thinking about how my voice sounds while a computer thinks about it for me is a cognitive load that accumulates.
But the numbers. The numbers keep me in the chair.
Match 4: 5 and 7. Negative K/D. The worst game of the session. I whiff shots I should hit. I peek angles I should hold. I make the same mistakes EliPlays makes every day the brainless aggression, the panicked peeks, the Silver instincts that no amount of webcam framing can fix.
<<chat "stream_viewer_b42" "rough game 😢">>
<<eli "Ugh, I'm sorry guys. That was terrible. I think I'm getting tired.">>
<<chat "ChillVibesOnly" "you played amazing all night don't apologize for one game!!">>
<<chat "stream_viewer_b43" "she's been live for two hours give her a break">>
<<chat "night_owl_cc" "rest queen. we'll be here tomorrow">>
<<chat "MidnightWhale99" "your worst game is better than most people's best. go sleep.">>
<<chat "stream_viewer_b44" "take care of yourself ellie. stream was incredible tonight.">>
Even the bad performance is met with warmth. Even failure is cushioned. The audience has committed to the narrative Ellie is the underdog, the shy girl getting better, the diamond in the rough and a bad game doesn't break the narrative. It enriches it. It makes the next good game sweeter. It makes the audience feel protective, invested, needed.
On EliPlays, a 5-and-7 game would produce silence. Or DarkSlayer saying "lol trash." Here, it produces twenty messages of encouragement and three people telling me to take care of myself.
Same player. Same game. Same score. Different frame.
[[Continue the stream|day_3_26_other]]<<nobr>>
<<set $day_step to 41>>
<<set $viewers to 227>>
<<set $followers to 148>>
<<set $donations += 25>>
<<set $money += 25>>
<</nobr>>
$12.00 from MidnightWhale99: "go rest. dream about something good. we'll be here when you wake up. always. 🌙"
Always. He said always. A stranger on the internet just told a pair of eyes and a manufactured voice that he'll be there always. The word lands in my chest beside the splinter and the warmth and the $12 and I don't know which of those things weighs more.
<<eli "Okay everyone, I think I have to call it! This was the most incredible night of my life 227 viewers?? On my SECOND DAY?? I literally cannot process this. You guys are the absolute best community on Twitch and I mean that from the bottom of my heart. I'll be back tomorrow, same time. Thank you, thank you, thank you. Love you all SO much!">>
<<chat "stream_viewer_b45" "LOVE YOU ELLIE">>
<<chat "ChillVibesOnly" "BEST STREAMER ON THE PLATFORM">>
<<chat "night_owl_cc" "goodnight ellie. rest those beautiful eyes.">>
<<chat "MidnightWhale99" "tomorrow. 💜">>
<<chat "stream_viewer_b46" "notis ON. see you tomorrow queen ❤️">>
<<chat "stream_viewer_b47" "the rise of ellie begins. this is day 2 and it already feels historic">>
[[End Stream|day_3_27_other]]<<set $day_step to 43>>
<<set $playerImage to "images/user/tier_0_2.jpeg">>
I hit End Stream. VoxMorph stops. The monitoring feed goes silent and the room fills with the sound of my real breathing low, male, the sound that doesn't earn $125 in a night.
<<set $right_sidebar_mode to 0>>
The dashboard sits there. The numbers sit there.
Duration: 2 hours 14 minutes
Peak Viewers: 231
Average Viewers: 142
New Followers: 97
Total Followers: 148
Donations: $163.00
Subscribers: 6
Combined ElliePlayz earnings: $210.00 (Session 1: $47 + Session 2: $163)
I close OBS. Close VoxMorph. Take off the wig. Place it on the care form beside the desk. The brownish-auburn waves settle into stillness. Without the wig, my face reappears in the dead webcam preview the face beneath the costume, the person beneath the performance. Pale. Tired. Male. The new lashes look strange without the wig and the framing feminine accessories on a masculine canvas, conspicuous in the wrong context, invisible in the right one. The reshaped brows arch softly over tired eyes that no one is calling amber or golden anymore. Just brown. Just dull. Just Eli.
I check my phone. Two messages.
<<kira "hey hope you're doing ok. you seemed quiet today. eat something real tonight, not a burrito. i worry about you. ❤️">>
<<marc "yo we still on for rift walkers this weekend? also you left your controller charger at my place">>
I read Kira's message twice. The red heart. She's still sending them even after I laughed off the moment, even after I closed the door, even after the "it's hot" died in the emergency chuckle and neither of us has mentioned it since. She still worries. She still checks. The warmth is there, banked and patient, the warmth of a person who decided to care about me and hasn't uncared yet.
I don't send a heart back. I send what I always send.
<<eli "ate something. thanks kira. night">>
Bare. Two sentences and a period. The emotional equivalent of a nod across a room.
<<eli "yeah this weekend works. i'll grab the charger">>
I put the phone down. Lie on the mattress. Grey sheets. Thin comforter. Ceiling crack.
The apartment is quiet in a way that Kira's apartment never is no cat purring on an armrest, no hum of a full-sized refrigerator with actual food in it, no residual warmth of another person's presence in the cushions. Just the mini-fridge. Just the pipes. Just the sound of a building settling into its own decay and a person settling into his.
The numbers float in the dark behind my closed eyes:
EliPlays : $3.50. Peak viewers: 5. Followers: 54.
ElliePlayz : $210.00 (combined sessions). Peak viewers: 231. Followers: 148.
The gap. The gap isn't between me and Kira anymore. It isn't between me and the female streamers on the browse page. It's between me and myself. Between the person I am in the morning and the person I become at night. Between the stream nobody watches and the stream everybody wants. Between the name in the Discord message Eli and the name on the dashboard Ellie and beneath those numbers, another thought the one that arrived during the stream and refused to leave. The face reveal. The crop line. The jaw and the lips and the nose still waiting below the frame, masculine and visible, the border between Ellie's world and Eli's reality. The thought that whispered: unless the face changed more.
RegenaForm's app is on my phone. I didn't open it. I don't open it now.
But I know it's there.
[[Stare at the ceiling crack|day_3_28_other]]<<set $day_step to 28>>
<<set $day to 3>>
I stare at the crack. It's growing. Everything is growing the crack, the followers, the donations, the lie, the guilt, the thought of what comes next. Everything is growing and nothing is stopping and the door that opened today opens only one way and I'm through it now, standing in a room I can't leave, wearing a face that isn't mine and isn't not-mine, holding a name that is two letters from my own.
Ellie.
Eli.
The same person. Different key.
But the key works. That's the thing my brain keeps circling back to, the fact it can't release, the number it can't stop chewing on. The key works. $210 today. From half a face. From eyes and lashes and brows and hair from the nose up, from the feminized slice, from the fraction I'm willing to show.
Half a face earned $210. Not even half a face, really. A quarter of a face, if you think about it. The eyes and hair, the part that reads feminine, the part that performs. The part that makes people say "those eyes could END me." The part that makes people click and stay and donate and simper and build a community around a person who doesn't exist.
What would the full face earn?
The math does itself. It runs unbidden, the way the math always runs in my head at this hour not requested, not welcome, just there, a calculator that never sleeps, tabulating in the dark while I stare at the crack. If half the face the pretty half, the modified half, the half that stops scrolls and earns donations and makes strangers say "those eyes could END me" produces $210 in two sessions... what would the whole face produce? The full reveal. The eyes AND the lips AND the jaw AND the chin. The complete Ellie, not the cropped version, not the suggestion, but the person entire.
Double? Triple? The face reveal is the most anticipated event on the channel chat talks about it in stream, the curiosity building like pressure in a sealed container. When it finally happens, the viewer spike alone could push me past 500. Past 1,000. The donations during a face reveal stream would be I can see it, I can see the number, and it's not $210. It's $500. It's $1,000. It's the kind of number that changes a bank account from a countdown to a foundation.
But the full face can't happen yet. The jaw. The lips. The nose. The masculine tells that live below the crop line, waiting to betray me. A few more modifications that's all. Not a full transformation. Not the deep tiers. Just... finishing what I started. Jawline softening. Lip enhancement. Nose refinement. Tier 1 stuff. The same tier I'm already in. Just completing the set. Filling in the gaps between the eyes and the chin until the whole face reads the way the upper half already does.
A few more changes. That's all. A few more changes to show the full face and it wouldn't hurt anyone, I can always hide it with some minor changes. Without wig all these changes not make much difference. Wig is the one connnecting all nodes into one and make it complete.
That's the part that locks into place like a deadbolt the rationalization that seals the others shut, the capstone on the wall between what I'm doing and what it means. It wouldn't hurt anyone. The viewers are entertained. They're choosing to be here. The donations are voluntary. The parasocial bond is the same bond every streamer has with every audience Kira has it with her chat, every Just Chatting streamer has it, every face on Twitch has it. I'm not scamming anyone. I'm performing. I'm providing a service. The fact that the performer doesn't match the performance is what? Theater. Drag. Character work. The internet runs on personas. Nobody's real name is their username. Nobody's stream personality is their actual personality. I'm just taking it one step further. One step further with bioengineering and voice modulation and a wig.
A few more changes to the face won't hurt a single soul on this earth. The viewers get their content. The algorithm gets its engagement. RegenaForm gets its StreamCoin and I get a life and the money the money isn't just for me. That's what makes the math noble instead of desperate. That's the thread I pull on until the whole rationalization unspools into something that looks almost like virtue.
I could stop being a weight.
Marcus. Every coffee he buys me without mentioning it. Every time he covers lunch and changes the subject before I can offer to split. Every cheese puff and every "come thru if u want" and every shoulder punch that's really a welfare check disguised as friendship. He's been carrying me for two years not financially, not exactly, but emotionally, practically, the way a person carries a friend who's drowning by keeping them near the surface without ever acknowledging the water. I've been the friend who can't buy his own coffee. The friend whose bank account is a punchline. The friend who takes and takes and calls it friendship because the alternative is admitting he's a burden.
$210 in one day. If this continues if the numbers hold, if the growth sustains I can pay Marcus back. Not literally. He'd never accept money and he'd be insulted if I offered. But I can stop being the friend who needs covering. I can buy my own coffee. I can bring the snacks to his apartment instead of eating his. I can show up with a Tupperware of something that isn't a microwave burrito and say "I made this" and he'd look at me sideways and say "since when do you cook" and I'd say "since I could afford groceries" and neither of us would need to acknowledge what changed because the change would be visible in the Tupperware and the groceries and the fact that I'm standing in his kitchen with food I bought with money I earned.
Kira. The friend who buys me ramen and drives me places and sends red hearts I don't return. The friend who told me the truth about the system and then watched me fail to use the information. Except I am using it now. She just doesn't know.
If ElliePlayz works, I could tell her. Maybe. Eventually. I can picture the conversation sitting in her apartment, Packet on the armrest judging us both, and me saying: "Remember when you told me the system rewards a specific input? I found a way to change the input." nd she'd look at me with those analytical eyes, the ones that see everything, and she'd understand. Because Kira understands systems. She identified the problem. She'd respect the solution, even if the solution is unconventional, even if it involves a wig and a voice modulator and a clinic four blocks from my apartment.
She'd understand. She might even be impressed. The pragmatist in her the part that writes essays about parasocial economics for fun would see the elegance of it. The same system that punished Eli rewards Ellie. Same person. Different packaging. Market arbitrage.
Marc would understand too. Eventually. Once there's something to show once the numbers are undeniable, once the income is real and sustained, once I'm not presenting a theory but a result. Marc doesn't care about methods. He cares about outcomes. He cares about whether I'm okay. If the outcome of a wig and some facial modifications and a fake name is that I'm okay actually, financially, measurably okay he'd nod and say "wild" and ask if I'd eaten today and the conversation would move on because that's what Marcus does. He absorbs. He adjusts. He carries on.
I'll tell them both. When the time is right. When the face is further along. When the numbers are big enough that the confession comes with evidence attached.
My mom.
God. My mom.
My mom who works two jobs in another state one at a grocery store, one doing night cleaning at an office building and sends money she can't afford through Venmo every other month with texts that say "hope you're eating ok." Four words. The maximum emotional bandwidth of a woman who loves her son but doesn't know how to say it and doesn't have the energy to learn because both of her energies the first shift and the second shift are spent by the time she gets home to an apartment that's probably not much bigger than mine.
She sends me $1500 every two months. $1500 she earns standing on her feet for eight hours scanning groceries and then standing on her feet for four more hours pushing a vacuum through cubicle farms. $1500 that crosses the distance between her state and mine and lands in my Venmo like a care package from a war zone, except the war zone is just America and the casualties are just dignity.
$210. I earned $210 today. In one day. Sitting in a chair. Talking into a camera. Playing a video game.
My mother earns that in two months of supplemental labor on top of two jobs.
If ElliePlayz works if the money continues, if the growth holds I can stop taking her money. I can send her money. I can open Venmo and reverse the arrow and type "hope YOU'RE eating ok" and attach a number that's big enough to matter and she'd see it on her phone between shifts and she might cry or she might just nod the way she nods at things she doesn't fully understand but recognizes as good.
I could call her. Pick up the phone and video call and when she sees my face whatever face it is by then, whatever configuration the modifications have produced she'd see a person who's okay. Not the gaunt, pale, acne-marked, dark-circled face she's afraid to see. A face that has color. That has rest. That has the specific luminosity of a person who isn't drowning anymore.
She doesn't need to know how the money was earned. She doesn't need to know about Ellie or RegenaForm or the voice modulator. She just needs to know her son is okay. If the path to okay runs through a wig and a webcam and a name that's two letters different from his own that's a path. That's more path than he's had in eight months. That's more path than the ceiling crack and the microwave burritos and the $12.50 monthly income offered.
The brow sculpt cost $300. Today I earned $210. Two-thirds of the cost covered in a single day. Tomorrow, another stream. Another $100, $150, $200. By the end of the week, the brow sculpt is paid off. By the end of next week, I can afford the next modification.
Nose refinement $500. Then lips $400. Then jawline $600 to $900. Each one dropping the crop line lower. Each one bringing the face reveal closer. Each one feeding the loop that feeds the income that feeds the life that feeds the people who've been feeding me.
The math works. The money is real. The face is changing. The audience is growing.
A few more changes. A few more trips to Suite 12. A few more sessions in the chair with the cool gel and the warmth and the cells restructuring beneath the skin.
It won't hurt anyone. The viewers get entertainment. RegenaForm gets paid. Marc gets a friend who can buy coffee. Kira gets a friend who figured it out. Mom gets a son who's okay and I get a life.
The ceiling crack is still there. Still growing. But it's sharing the ceiling now with numbers that also grow numbers that go up instead of apart, numbers that build instead of break.
I close my eyes. The fridge hums. The wig sits on its form in the closet, patient, waiting for tomorrow. The RegenaForm app glows on my phone beside the mattress, a small teal icon, the double helix in miniature, a door in my pocket that opens with a tap.
A whole face is coming. When it arrives when Ellie's face is complete and the crop line drops to nothing and the stream goes live with everything visible the number won't be $210.
It'll be enough.
Enough to stop being a weight. Enough to buy coffee. Enough to bring snacks. Enough to call my mom.
I sleep and for the first time, I don't dream about the crack splitting wider. I dream about it filling in plaster smoothing over the fault line, the ceiling repairing itself, the apartment becoming a place instead of a sentence.
I dream about sending money instead of spending trust.
I dream about a face that isn't finished yet, but will be. Soon.
[[Sleep|eli_bed]]<<nobr>>
<<set $day = 4>>
<<set $day_step to 1>>
<<set $hint to "Wake up">>
<<set $locationName to "Eli's Apartment - Bed">>
<<set $playerImage to "images/user/tier_0_2.jpeg">>
<</nobr>>
I wake up at 8:30 AM.
Eight. Thirty. Not because of an alarm I didn't set one. My body just... decided to be awake. At a reasonable hour. Like a functional person. Like someone whose circadian rhythm is being rewired by something stronger than Monster Energy and despair by money, by momentum, by the gravitational pull of a dashboard that said $210 yesterday and might say more today.
I lie on the mattress for sixty seconds. The ceiling crack is there. The fridge hums. Everything is the same and nothing is the same. The apartment hasn't changed but the person in it has not physically (not yet, not beyond the lashes and the brows), but the internal architecture has shifted. There's a structure now. A plan. A reason to get out of bed at 8:30 instead of 11:47.
Phone. Two messages already.
<<kira "good morning!! ☀️ i was thinking do you want to go somewhere today? like actually outside? there's this thai place near the art district that's supposed to be amazing. my treat! (don't argue) tonight maybe?">>
<<kira "also packet knocked my mug off the nightstand this morning so that's how MY day started 😤">>
I smile. The muscles are adapting. Day three of regular smiling and the face is starting to remember the shape.
<<eli "morning. thai sounds great. tonight works. tell packet he owes you a mug">>
<<kira "he owes me three mugs and a phone charger he chewed through. he's a menace and i love him">>
<<kira "pick you up at 6? 🍜">>
<<eli "perfect">>
<<kira "❤️">>
<<eli "❤️">>
Red hearts. Automatic now. The protocol running smooth.
Second message thread Marcus.
<<marc "yo can i come thru this afternoon? screenfixx gave me the day off because the owner is 'restructuring' which means he's firing someone and doesn't want witnesses">>
<<marc "i'll bring the leftover curry">>
<<eli "yeah come by whenever. door's open">>
<<marc "bet. 2ish?">>
<<eli "works">>
Marc at 2. Kira at 6. ElliePlayz stream before those. The day has structure. The day has appointments. Three days ago my schedule was: wake up, stream to nobody, eat a burrito, stream to nobody again, stare at the ceiling. Now I have a social calendar. The ceiling crack looks up at me like it doesn't recognize me either.
I shower. Marriott shampoo the bottle is running low, I'll need to buy actual shampoo soon, which is a sentence I never expected to think. The hot water takes its eight minutes but I wait because I'm learning that waiting for things you want is a skill and the hot water is practice. I put on the grey shirt. Black joggers. The uniform. But cleaner today I actually did laundry yesterday between the RegenaForm visit and Kira picking me up, a single load at the basement machines, quarters fed through the hole in my hoodie pocket.
9:15 AM. Five hours before Marc arrives. Its too early for stream. Time to study new thing.
[[Time to Study|day_4_2_kira]]<<set $day_step to 2>>
I open YouTube. Not the gaming videos, not the patch notes, not the growth-tip compilations I've been watching for eight months like a medical student who only reads the textbook and never practices on a patient. Today I'm watching something different.
I type: "female streamer tips engagement techniques"
The results cascade. Dozens of videos, hundreds. An entire industry of content about how women stream the techniques, the mannerisms, the specific vocabulary of feminine online performance. I've watched female streamers before (I've watched Kira), but I've always watched as a viewer, passively, absorbing the content without analyzing the craft. Today I'm watching as a student. Today I'm taking notes.
The first video is by a streamer coach a woman in her thirties with a ring light and a whiteboard, breaking down "high-engagement feminine streaming techniques." I pull the desk chair in. I lean forward. I watch.
<<chat "youtube_coach" "The number one thing that separates high-engagement female streamers from low-engagement ones isn't looks it's eye contact. Your eyes are your primary tool. When you're talking to chat, look directly into the camera lens, not at the chat window. The viewer needs to feel like you're looking at THEM. Personally. Make eye contact for two to three seconds, then glance away naturally. It creates intimacy.">>
Eye contact. I've been looking at my second monitor at the chat when I talk to viewers. That means on camera I'm looking to the side. Not at them. The webcam lens is on top of the main monitor. I need to look at the lens. At the camera. At them.
I practice. I look at the webcam the old 2014 brick clipped to the monitor and I say, in my real voice:
<<eli "Hey, welcome to the stream.">>
Then I do it again, looking at the webcam lens:
<<eli "Hey, welcome to the stream.">>
The difference is invisible to me but I know from the video that on the other end on the viewer's screen the second version feels like I'm talking to them specifically. Like I see them. The camera lens is the viewer's eyes and I need to treat it that way.
Next video. A compilation of "top female streamer techniques" with annotations.
The video breaks down specific behaviors I've seen Kira do a thousand times but never consciously identified:
The reaction gasp. When something surprising happens a donation, a play, a funny chat message the streamer gasps softly, eyes widening, hand coming to mouth or chest. The gasp is slightly exaggerated but not fake. It's the amplification of a genuine reaction, dialed up 20% for camera. The wide eyes make the lashes more visible. The hand gesture draws attention to the face. The gasp itself, in a feminine voice, triggers a protective/delighted response in the audience.
I practice the gasp. Without VoxMorph it sounds ridiculous a grown man going "oh!" at his desk at 9 AM. But the facial expression the wide eyes, the slight parting of the lips I practice that in the phone camera. With the lashes and the brows and the right framing, the wide-eyed gasp looks... convincing. The lashes amplify the eye-widening. The brows lift the expression into something open and genuine.
The lean-in. When reading a chat message or donation, the streamer leans slightly toward the camera maybe two inches, just enough to fill more of the frame. The lean creates the impression of closeness, of the streamer being drawn toward the viewer. Combined with eye contact at the lens, it produces a micro-moment of artificial intimacy that the viewer's brain registers as real.
The hair touch. Unconscious-seeming gestures with the hair tucking a strand behind the ear, running fingers through the length, letting the hair fall forward and then sweeping it back. These gestures are hypnotic on camera, especially with long, well-lit hair. They draw the eye. They read as feminine. They fill the micro-pauses between sentences with visual content that keeps the viewer watching.
I don't have real long hair I have a wig. But the wig is designed for camera. The fibers respond to touch. I put the wig on, sit at the desk, and practice: a slow tuck of the hair behind where my ear would be (hidden by the hair), a sweep of the waves over one shoulder, a casual run of fingers through the length. In the phone camera, from the nose up, the gestures look natural. The wig moves like real hair. The brownish-auburn waves catch the desk lamp light as they shift.
The eye actions. The video calls them "eye acting" specific expressions performed with the eyes that communicate emotion to the camera. A slow blink for emphasis. A look up-and-to-the-side when thinking (the "cute thinking face"). A narrowing of the eyes when concentrating that reads as focused and competent. A widening when excited that makes the viewer feel the excitement vicariously. The key, the video emphasizes, is that the lashes amplify everything every blink, every widening, every narrowing because the lashes are the frame and the frame determines how the picture reads.
I practice eye actions for twenty minutes. Slow blink the lashes sweep down and up, visible even on the phone camera, a deliberate flutter that reads as either thoughtful or flirtatious depending on context. Thinking look eyes up and to the right, the brows lifting slightly, the arched feminine shape creating an expression that's readable as "adorable concentration." Excitement eyes wide, lashes fanning, brows up, the full feminine eye area opening like a flower.
Twenty minutes of practicing expressions in front of a phone camera in a studio apartment at 9:30 in the morning. This is what my life has become. And the terrifying part is that it's working.
The voice modulation within modulation. The video discusses vocal techniques not software, but performance. Pitch variation. Rising intonation at the end of sentences ("I'm so excited?") that reads as enthusiastic and inviting. Dropping to a lower register for emphasis or intimacy. The strategic deployment of giggling not fake laughter, but the amplification of genuine amusement into something lighter, higher, more musical. The "cute sneeze" making involuntary sounds sound adorable rather than jarring.
I can layer these techniques on top of VoxMorph. The software handles the base frequency the pitch, the formant, the breathiness. But within that processed voice, I can add the performance: the rising intonation, the giggle, the gasp, the soft "oh!" that the first video described. The software is the instrument. The technique is the music.
I watch three more videos. One about "donation bait" phrases and behaviors that increase the likelihood of donations (expressing genuine surprise and gratitude, reading donor names aloud with warmth, creating callback jokes with regular donors). One about "chat management" how to make viewers feel individually seen in a fast-scrolling chat (calling out specific usernames, referencing previous interactions, remembering personal details that regulars share). One about "the parasocial sweet spot" close enough that viewers feel a personal connection, distant enough that the connection feels aspirational rather than attainable.
By 10:30 I've watched six videos and taken mental notes on thirty-seven specific techniques that I intend to deploy on today's stream. The knowledge sits in my head like ammunition loaded, ready, each technique a bullet designed to hit the specific target of audience engagement.
I am engineering a person. Not just a face, not just a voice, but a complete performed identity the eye contact, the gasp, the hair touch, the vocal modulation, the lean-in, the parasocial calibration. Ellie isn't a mask I'm wearing. She's a machine I'm building. Every component tested. Every gesture optimized. Every behavior designed for a specific output: attention. Money. Growth.
The thought should bother me. It doesn't. The $210 from yesterday doesn't allow it to bother me.
<<set $hint = "Stream">>
[[Stream Time|apartment_map]]<<nobr>>
<<set $day_step to 3>>
<<set $playerImage to "images/user/tier_0_3.jpeg">>
<<set $day_step to 3>>
<<set $viewers to 0>>
<<set $followers to 0>>
<<set $donations += 0>>
<<set $money += 0>>
<</nobr>>
10:45 AM. Stream time.
I set up. Wig on the practiced application getting faster, four minutes now instead of ten. VoxMorph calibrated. OBS open. Webcam tilted up, framing from the nose upward. Desk lamp angled from the left. I check the preview eyes, lashes, brows, hair. The feminized zone. The zone that earned $210.
But today is different. Today I have techniques.
I adjust my chair so I'm sitting slightly forward the lean-in as default posture. I position my hands where they can reach the wig hair naturally. I locate the webcam lens the exact point I need to look at to create eye contact and I mark it mentally. Not the chat window. Not the game. The lens. The viewer's eyes.
ElliePlayz Live
Category: Just Chatting → Gunmetal Requiem
Viewers: 0
I click "Go Live." Look at the lens. Right at it. Right at them.
[[Go Live|day_4_4_kira]]<<eli "Hiii everyone! Good morning! Oh my gosh, I'm actually streaming in the morning for once look at me being responsible!">>
<<nobr>>
<<set $day_step to 3>>
<<set $viewers to 19>>
<<set $followers += 3>>
<<set $donations += 0>>
<<set $money += 0>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
I do the wide-eyed expression. The lashes fan. I sweep the hair over one shoulder with my left hand, the auburn waves catching the desk lamp light. In the preview, the gesture looks effortless, natural, the kind of thing a girl does without thinking. It took me twenty minutes of practice.
Viewers: 8
Viewers: 19
The regulars arrive. Notification squad. The names I'm starting to memorize the people who have, in the span of two days, become my audience.
<<chat "MidnightWhale99" "MORNING ELLIE?? she's a morning person now??">>
<<chat "ChillVibesOnly" "good morning queen!! you look extra pretty today?? is that possible??">>
I look at the lens. Direct eye contact. Two seconds. Then I glance down at the chat naturally.
<<eli "Aww, ChillVibes! You're going to make me blush before the stream even starts!">>
I do the slight gasp eyes widening, hand to chest. In the preview, the lashes catch the light during the widening, the crescent shadows dancing on my cheekbones.
<<chat "stream_viewer_c1" "wait did she just do the eye thing">>
<<chat "stream_viewer_c2" "THE EYE THING. the wide eyes. im dead">>
<<chat "night_owl_cc" "she looked directly at me through the camera and i felt it in my soul">>
The eye contact is working. The direct-to-lens technique from the video the viewers feel seen. They feel like Ellie is looking at them personally. The comments reflect it immediately: "she looked directly at me." Because I did. I looked at the lens. At the camera. At the portal between my apartment and their screen. And they felt it.
[[Load Game|day_4_5_kira]]<<nobr>>
<<set $day_step to 3>>
<<set $viewers to 47>>
<<set $followers += 4>>
<<set $donations += 15>>
<<set $money += 15>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 47
I load Gunmetal Requiem. Queue into ranked. While the match loads, I do the hair touch fingers running through the wig waves, the hair falling forward over one shoulder, then swept back. The gesture fills the loading-screen dead time with visual content. Three people comment on it.
<<chat "stream_viewer_c2" "the hair flip omg">>
<<chat "stream_viewer_c4" "she does this thing with her hair and i just 🥺">>
<<chat "MidnightWhale99" "the hair + the eyes + the morning light. premium content.">>
$5.00 from MidnightWhale99: "morning donation to start your day right. those eyes deserve breakfast."
<<eli "MidnightWhale!! You're here in the morning too?? Do you ever sleep??">>
I do the thinking expression eyes up and to the right, brows lifting, the "cute thinking face" from the video. I let it hold for a beat before looking back at the lens.
<<chat "MidnightWhale99" "sleep is for people who don't have ellie's morning stream to watch">>
<<chat "stream_viewer_c5" "she just did the thinking face. the THINKING FACE. the brows.">>
<<chat "stream_viewer_c6" "her eyebrows are actually works of art?? like the arch??">>
[[Round 1|day_4_6_kira]]<<nobr>>
<<set $day_step to 3>>
<<set $viewers to 73>>
<<set $followers += 15>>
<<set $donations += 25>>
<<set $money += 25>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 73
The match starts. I play same agent, same Silver rank but the between-round commentary is different today. I'm deploying the techniques: eye contact during kills ("look at the lens when you clutch let them see the excitement in your eyes directly"), the reaction gasp when I get a surprise kill ("gasp oh my gosh did I just "), the hair touch during loading screens, the vocal variation dropping Ellie's voice lower when I'm concentrating, raising it when excited, the giggle when something funny happens in chat.
Round 2: I clutch a 1v2. The moment I get the second kill, I look directly at the lens wide eyes, lashes fanning, the genuine surprise amplified 20% for camera and I let the excitement hit my voice:
<<eli "NO WAY! Did you guys SEE that?! A 1v2! I actually did it!">>
The hair falls forward during the celebration. I sweep it back. The gesture is timed perfectly probably by accident, but the effect is cinematic.
<<chat "stream_viewer_c7" "THE EYES DURING THE CLUTCH">>
<<chat "stream_viewer_c8" "she looked RIGHT AT US when she got the kill im literally shaking">>
<<chat "ChillVibesOnly" "the eye contact + the hair flip + the voice going high. CONTENT.">>
<<chat "stream_viewer_c9" "this is the best streamer on twitch and i will fight anyone who disagrees">>
$10.00 from stream_viewer_c10: "that clutch plus the eye contact. you're built different ellie."
[[Round 2|day_4_7_kira]]<<nobr>>
<<set $day_step to 3>>
<<set $viewers to 112>>
<<set $followers += 12>>
<<set $donations += 18>>
<<set $money += 18>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 112
<img src="images/scenes/day_4/day_4_1.png" alt="Streaming Dashboard" class="dashboard-image">
The techniques are compounding. Each one amplifies the others the eye contact makes the gasp feel personal, the gasp makes the hair touch feel like a release of tension, the hair touch draws attention back to the eyes for the next eye contact. It's a cycle. A loop. Each behavior feeding the next, the audience's attention spiraling tighter around the performed version of me that lives in the webcam frame.
[[Round 3|day_4_8_kira]]<<nobr>>
<<set $day_step to 3>>
<<set $viewers to 203>>
<<set $followers += 19>>
<<set $donations += 40>>
<<set $money += 40>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
The stream runs hot. Hotter than any session so far. The viewer count climbs steadily 112, 145, 178, 203. The donations don't trickle anymore. They flow:
$5.00 from night_owl_cc: "morning crew ellie hits different. the eye contact thing you're doing today is ILLEGAL."
$8.00 from new_viewer_d1: "browsed in, your eyes stopped my scroll, your personality made me stay. followed."
$15.00 from BigSpender_X: "those eyes + that laugh. i'm bringing my whole paycheck next time."
$3.00 from stream_viewer_c11: "the way she sweeps her hair back after a clutch should be studied in a lab"
$20.00 from MidnightWhale99: "morning, afternoon, night doesn't matter. i'm here. the eyes are everything."
I play five matches. Go positive in four of them the confidence from the viewer response is leaking into my gameplay, the opposite of what happens on EliPlays where DarkSlayer's mockery makes me play worse. Here, the encouragement makes me play better. The cycle again: good gameplay → chat celebrates → confidence rises → better gameplay → more celebration. The positive feedback loop that Kira described as the thing that separated growing streamers from stagnant ones not skill, not content, but momentum.
<<chat "stream_viewer_c1" "face reveal when?? we're DYING">>
<<chat "stream_viewer_c1" "yeah ellie when do we get the full face??">>
<<chat "stream_viewer_c1" "i bet she's gorgeous. the eyes are already a 10">>
<<eli "Ahh, you guys! I'm still not ready! I promise it's coming though. Soon. I just want to get everything perfect first, you know?">>
I look at the lens when I say "soon." Direct eye contact. A slow blink the lashes sweeping down and up. The word "soon" delivered with the weight of a promise and the intimacy of eye contact. The chat reacts like I proposed.
<<chat "MidnightWhale99" "the way she said 'soon' while looking at the camera. i need a moment.">>
<<chat "stream_viewer_c1" "she blinked slowly while saying soon. that's a power move.">>
<<chat "ChillVibesOnly" "SOON. she said SOON. i'm marking my calendar">>
[[Round 6|day_4_9_kira]]<<nobr>>
<<set $day_step to 3>>
<<set $viewers to 312>>
<<set $followers += 23>>
<<set $donations += 66>>
<<set $money += 66>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 267
Viewers: 289
Viewers: 312
The stream hits two hours. The dashboard is a document from a different life:
$5.00 from stream_viewer_c16: "best morning of my life and i haven't even gotten out of bed"
$12.00 from WhaleWatcher_7: "new here. subscribed. those eyes are an investment."
$7.00 from stream_viewer_c17: "the way she touches her hair should be its own stream category"
I'm getting tired. The performance strain is real two hours of sustained eye contact and vocal modulation and practiced gestures and VoxMorph processing and Silver-ranked gameplay simultaneously. The cognitive load is immense. But the numbers keep me going the way caffeine keeps a driver awake not sustainably, not healthily, but effectively.
One more match. The fifth. I play it well 9 and 4, my best K/D ever. The chat loses its collective mind. The peak viewer count spikes during the final round:
[[Round 8|day_4_10_kira]]<<nobr>>
<<set $day_step to 10>>
<<set $viewers to 324>>
<<set $followers += 12>>
<<set $donations += 13>>
<<set $money += 13>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 324
<<chat "stream_viewer_c1" "NINE AND FOUR?? NINE AND FOUR?? ELLIE??">>
<<chat "ChillVibesOnly" "SHE'S ASCENDING INTO A HIGHER RANK IN REAL TIME">>
<<chat "night_owl_cc" "the glow up is gameplay AND visuals and i'm here for ALL of it">>
<<chat "MidnightWhale99" "324 viewers. 4th time streaming. we're watching history.">>
I end the stream with the full technique stack: direct eye contact at the lens, the slow blink, the hair sweep, the slightly lowered voice for intimacy.
<<eli "Okay everyone, I have to go I have plans today and I can't be late. But this morning was INCREDIBLE. 324 viewers?? I literally cannot. You guys are my everything. I'll be back tonight. Same time. Same eyes.">>
I wink at the camera. One eye closing, the lashes visible against the cheek. It's a move I practiced for thirty seconds this morning and it lands like a bomb.
<<chat "stream_viewer_c1" "SHE WINKED">>
<<chat "stream_viewer_c1" "THE WINK. I'M NOT OKAY.">>
<<chat "MidnightWhale99" "same eyes. she said same eyes. i'm ruined.">>
<<chat "ChillVibesOnly" "BEST STREAMER ON THE PLATFORM CONFIRMED">>
I hit End Stream.
[[End Stream|day_4_11_kira]]<<nobr>>
<<set $day_step to 11>>
<<set $viewers to 0>>
<<set $followers += 0>>
<<set $donations += 0>>
<<set $money += 0>>
<<set $right_sidebar_mode to 0>>
<<set $playerImage = "images/user/tier_0_2.jpeg">>
<</nobr>>
Duration: 2 hours 8 minutes
Peak Viewers: 324
Average Viewers: 198
New Followers: 70
Total Followers: 218
Donations: $177.00
Subscribers: 9
$177. In a morning stream. The number on the dashboard is larger than my weekly rent payment used to seem.
I close OBS. Close VoxMorph. Take off the wig. The face in the dead webcam preview returns Eli, pale, tired, the lashes and brows looking orphaned without their frame. The person the 324 viewers don't know exists.
Marc is coming at 2. I have two hours.
I eat a microwave burrito. Rotate at one minute. But this time, while the microwave hums, I open the RegenaForm app on my phone. I don't select anything. I just... browse. The Tier 1 menu. The options I haven't purchased yet. Nose 500 $. Lips 400 $. Jawline 600 $. Cheekbones 400 $. The crop line, dropping lower with each purchase. The face reveal, getting closer with each modification.
I close the app. Eat the burrito. It tastes the same as every burrito warm salt and texture but today it tastes like fuel rather than defeat.
[[Marc's Visit|day_4_12_kira]]<<set $day_step = 12>>
<<set $hint = "Hangout with Marc">>
Marc arrives at 2:07, because Marc has never been on time for anything in his life and the seven-minute margin is actually an improvement over his usual fifteen.
The knock is his two quick raps followed by a pause followed by one more, a rhythm he's been using since high school that he swears is from a song but can never remember which one. I open the door.
He's standing in the hallway in the oversized charcoal hoodie and basketball shorts in January, as always, because Marcus exists in a personal climate zone that the rest of the planet hasn't agreed to holding a Tupperware container of leftover curry in one hand and his phone in the other.
<<marc "Yo.">>
<<eli "Hey.">>
He walks in. Steps over the Monster can I still haven't picked up from two days ago. Scans the apartment the way he always does the quick, unconscious welfare assessment, the brown eyes cataloging the state of things. Mattress: unmade but not disaster-level. Desk: monitors off, nothing alarming visible. Kitchen: burrito wrapper (only one today). Closet: door closed.
The closet door is closed. I closed it specifically before he arrived. The wig is inside, on its care form, buried beneath the clothing pile. The RegenaForm bag is behind the mini-fridge. The VoxMorph is minimized on my desktop but the monitors are off. The evidence is hidden. The apartment presents as the same shitty apartment Marc has been visiting for two years.
He drops the curry on the counter. Turns to me.
<<marc "You look...">>
My stomach drops. The lashes. The brows. He's going to see them. He looked at my face yesterday on the street and clocked the washed hair and nothing else, but that was thirty seconds in passing. Now he's in my apartment, under the overhead light (flicker, flicker, on), three feet away, doing the full Marcus scan
<<marc "...rested. You actually sleeping?">>
<<eli "Yeah. Been sleeping better.">>
<<marc "Huh. The Kira effect.">>
<<eli "What?">>
<<marc "Getting some action fixes your circadian rhythm. It's science.">>
<<eli "I'm not getting action.">>
<<marc "You kissed a girl in a car two days ago. That's action.">>
<<eli "Kissing isn't action.">>
<<marc "For you it is. You peaked.">>
He grins. The easy Marcus grin, the one that communicates affection through insult. He opens the Tupperware the curry is rice and chicken in a jarred sauce, Marcus's signature dish, the culinary equivalent of a B-minus but compared to my diet it's a Michelin star and puts it on the hot plate.
<<marc "You eat today?">>
<<eli "I had a burrito.">>
<<marc "Before noon?">>
<<eli "...ten-ish.">>
<<marc "He's eating before noon AND sleeping. The transformation is real.">>
The word "transformation" lands in my chest like a stone thrown through a window. He means it casually the transformation of my habits, my mood, the Kira effect but the word has a second meaning that he doesn't know about, a meaning that's sitting on a care form in my closet and running as a software plugin on my desktop and reshaping the bone structure above my eyes right now, still, the brows still settling into their final arch seventy-two hours after Dr. Maren's cool gel.
<<eli "Yeah. Feeling better.">>
<<marc "Good. You look it.">>
He doesn't specify what "it" looks like. He doesn't say "your eyelashes are longer" or "your eyebrows are different" or "there's something about your face that's changed." He just says I look better and means it generally less tired, less grey, less like a person watching themselves decay in real time. The specific changes the lashes, the brows are invisible to him. Absorbed into the general impression of "Eli's doing better." The modifications are too subtle for a person who isn't looking for them, and Marcus isn't looking because Marcus doesn't care what faces look like. He cares what people feel like. And I feel better. So I look better. QED.
The test passes again. Day two of walking around in a modified face and nobody in my real life has noticed.
We eat the curry standing at the counter because I don't have a dining table, or a dining anything. The curry is good warm, slightly too salty, the jarred sauce doing most of the work while the rice does the rest. Marcus eats with the focused efficiency of a person who views food as fuel, same as me, except his fuel is home-cooked and mine comes from a freezer.
<<marc "So. Kira.">>
<<eli "What about Kira.">>
<<marc "You seeing her today?">>
<<eli "She's picking me up at 6. Thai food.">>
<<marc "Thai food. That's a step up from ramen.">>
<<eli "She's paying.">>
<<marc "She always pays.">>
<<eli "Marc ">>
<<marc "I'm not judging. She can afford it. I'm just saying you should be able to treat her sometimes. That's boyfriend stuff.">>
Boyfriend. He said boyfriend. The word is it's new. Kira and I haven't used it. We've been together for two days, which feels like either a week or a century depending on which metric you use, and the label hasn't been applied. But Marcus applies it the way Marcus applies everything directly, without ceremony, as though the thing he's naming has been obvious to everyone except the person he's naming it to.
<<eli "I'm not her boyfriend.">>
<<marc "You kissed her. Twice. She drives you places. She buys you food. She texts you good morning with heart emojis. That's a boyfriend, Eli.">>
<<eli "We haven't talked about it.">>
<<marc "You don't have to talk about it for it to be real.">>
He rinses his Tupperware in the sink an act of domestic competence that I watch with the admiration of someone who doesn't own dish soap. Then he heads to the couch. The mattress. He sits on the mattress because I don't have a couch, and the mattress groans beneath him.
<<marc "Rift Walkers?">>
<<eli "Yeah.">>
I grab the controllers from the desk. Hand Marcus the good one not the sticky one, because I only have one controller at home and it's the good one and Marcus brought it over months ago and forgot to take it back. I plug in the second one, the cheap replacement I bought at a thrift store for $8, and sit beside him on the mattress.
The PS4 (not a PS5, the PS4, the one Marcus gave me when he upgraded, the hand-me-down that represents approximately 40% of my net worth) boots up. Rift Walkers loads. The dungeon generates.
[[Play Rift Walkers|day_4_12.1_other]]We play.
The rhythm is the same. The same yelling, the same panic, the same call-and-response that strips the layers of bullshit away and leaves two friends in a room killing digital monsters.
<<eli "LEFT SIDE, LEFT SIDE ">>
<<marc "I SEE HIM, I'm out of charges ">>
<<eli "USE THE SWORD">>
<<marc "The sword does twelve damage, bro. He has four hundred health.">>
<<eli "Use it REPEATEDLY">>
<<marc "That's not a strategy, that's optimism.">>
We die on Floor 16. Our personal best. The death is spectacular a chain reaction that starts when I step on a trap and ends when the boss does a room-wide attack that kills us both in the same frame. Marcus stares at the death screen for three seconds.
<<marc "Floor 16.">>
<<eli "Floor 16.">>
<<marc "Tied the record.">>
<<eli "Tied it.">>
<<marc "Next time we break it.">>
<<eli "Next time.">>
We run it again. Die on Floor 12. Again. Floor 9. The game is a meditation, a shared focus that requires enough attention to prevent thinking about anything else. For two hours, I'm not Ellie. I'm not ElliePlayz. I'm not a person with a wig in the closet and a voice modulator on the desktop and $177 on a dashboard that belongs to someone who doesn't exist. I'm Eli. I'm Marcus's friend. I'm a person sitting on a mattress eating leftover curry and dying on Floor 12 of a roguelike and arguing about sword damage.
Marcus is the anchor. He's always been the anchor the fixed point that doesn't move while everything else shifts. He doesn't know about ElliePlayz. He doesn't know about RegenaForm. He doesn't know that the face he's sitting beside has been modified, that the brows have been sculpted, that the lashes are engineered. He sees what he's always seen: his friend. Looking better. Sleeping more. The Kira effect.
Between runs, during loading screens, he talks.
<<marc "So ScreenFixx is probably letting someone go.">>
<<eli "Who?">>
<<marc "Probably Devon. He dropped another phone last week. In the sink this time.">>
<<eli "How do you drop a phone in the sink?">>
<<marc "He was washing his hands and the phone was in his shirt pocket and he leaned over the sink and ">>
<<eli "Gravity.">>
<<marc "Gravity. The customer's face was incredible. Like watching someone's soul leave their body in real time.">>
<<eli "At least it wasn't the toilet this time.">>
<<marc "The toilet was Tyler. Tyler got fired. Devon is the sink guy. Keep your ScreenFixx lore straight.">>
We laugh. Real laughs. Not performed, not processed, not amplified for camera. Just two people on a mattress, laughing about a man who dropped a phone in a sink. The sound of my real laugh my actual voice, my actual frequency fills the apartment and it sounds different than it used to. Lighter. Less strained. Still male, still Eli, but the undertone of desperation that used to sit beneath every sound I made is... quieter. Not gone. But quieter.
<<marc "You seem good.">>
He says it during a loading screen, not looking at me, the casual observation delivered to the TV.
<<eli "I am good.">>
<<marc "Like actually good. Not the 'it's fine' good.">>
<<eli "Yeah. Actually good.">>
<<marc "The Kira thing?">>
<<eli "Partly.">>
<<marc "What's the other part?">>
I look at the loading screen. The dungeon generating. The randomized corridors and rooms and monsters assembling themselves from code, a world being built in real time from a set of rules and a random seed.
<<eli "I think... I'm figuring some stuff out. Career stuff.">>
<<marc "Streaming stuff?">>
<<eli "Yeah.">>
<<marc "Good stuff?">>
<<eli "I think so. It's early. But the numbers are... better.">>
<<marc "On EliPlays?">>
A beat. A half-second pause that Marcus might not notice and might notice because Marcus notices things when they matter even if he doesn't notice things when they don't.
<<eli "Just... streaming in general. Trying some new approaches.">>
<<marc "Cool. About time.">>
He doesn't push. Marcus has the gift. The question was asked, the answer was given incomplete, evasive, wrapped in vagueness and Marcus accepts it the way he accepts everything I offer: with trust. He trusts me. The way Kira trusts me. The way the 324 viewers trust Ellie. Trust flowing in from every direction, and me spending it in a closet.
The loading screen ends. The dungeon generates. We play. We die. We play again.
At 4:30, Marcus stands. Stretches. The spine-crack that sounds medically concerning.
<<marc "I gotta bounce. Meeting some guys from the shop for pickup at the gym.">>
<<eli "Basketball?">>
<<marc "Yeah. You should come sometime.">>
<<eli "I would literally die.">>
<<marc "You'd last at least ten minutes.">>
<<eli "Generous.">>
He picks up his hoodie from where he draped it over the desk chair. I hold my breath for a half-second the hoodie was two feet from the monitors, two feet from the OBS icon on the desktop, two feet from the corner of the screen where VoxMorph's taskbar icon sits. But the monitors are off. Everything is invisible.
<<marc "Have fun with Kira tonight.">>
<<eli "I will.">>
<<marc "Wear the grey shirt.">>
<<eli "I'm already wearing the grey shirt.">>
<<marc "Wear it again. It's working.">>
<<eli "Clothing advice from a man in basketball shorts in January.">>
<<marc "These shorts are a lifestyle choice. Your shirt is a survival strategy.">>
He heads for the door. Stops. Turns. The look the Marcus look, the direct one, the one that holds you.
<<marc "I'm glad you're figuring stuff out, Eli. Whatever it is. You deserve to figure stuff out.">>
<<eli "Thanks, Marc.">>
<<marc "And if you need to talk about whatever the 'new approaches' are I'm here. No judgment.">>
<<eli "I know.">>
<<marc "Alright. Later.">>
<<eli "Later.">>
The door closes. His footsteps in the hallway. The stairwell door. Then silence.
I stand in the apartment. The curry smell lingers. The mattress has a Marcus-shaped depression. The controller he used is warm from his hands.
No judgment. He said no judgment. He offered, the way he always offers, the open door that I keep not walking through. He'd understand. If I told him Marcus, I made a second account and I'm streaming as a girl and I went to a clinic that modified my face and I'm earning $177 a morning he'd listen. He'd process. He'd probably say something like "that's wild" and then ask if I'd eaten today.
But I can't tell him. Not yet. Not when the money is still proving itself. Not when the face is still half-finished. Not when the story doesn't have an ending yet just a beginning and a middle and a dashboard that keeps climbing.
I close the door. It's 4:45. Kira picks me up at 6.
An hour and fifteen minutes to shower, change, and stop being Ellie's creator long enough to be Eli's self. Kira's Eli. The version of me that sits still while she sleeps and sends red hearts without hesitation and doesn't have a wig in the closet.
That version. The real one. Or the other real one. I'm losing track of which is which.
<<set $hint = "Go Outside to meet Kira">>
[[Wait till Kira Comes|apartment_map]]She picks me up at 6:03. Three minutes late. Cherry blossom. Heater. The warm enclosure that has become, in four days, the most reliable geography of my happiness.
<<kira "Hi!">>
She says it the same way every time bright, singular, loaded with a warmth that makes the word sound like it weighs more than two letters. I lean across the console and she meets me halfway and the kiss is quick and easy, a hello that's becoming a habit, her lips warm and slightly glossy from the chapstick-that's-actually-lip-gloss and mine dry and cold from the January walk to the curb.
<<eli "Hey.">>
<<kira "You smell like curry.">>
<<eli "Marc came over. He brought leftovers.">>
<<kira "Aw, Marc. How is he?">>
<<eli "He's Marc. Someone at his job dropped a phone in a sink.">>
<<kira "Was it the toilet guy?">>
<<eli "Different guy. Sink is a different guy. The toilet guy got fired.">>
<<kira "ScreenFixx lore is getting complicated.">>
<<eli "Marcus keeps a mental database. He's the historian.">>
She laughs. Pulls into traffic. Her hand finds mine across the console before we've gone two blocks the interlacing of fingers that's already becoming automatic, the geometry of small and large and warm and cold that fits without effort. I feel the pixel-heart tattoo against my palm. My thumb traces the edge of it through the skin, the faintest ridge of ink.
[[Go Inside|day_4_14_kira]]<<set $day_step to 14>>
<<set $hint = "Check the Menu and Order Food">>
The Thai place is called Lotus Room. Cheap. Small. Twelve tables, half of them empty on a Thursday evening. Red and gold decor that's trying hard and mostly succeeding. The smell of lemongrass and chili and coconut hits us at the door and Kira makes a sound a small "mmm" of anticipation that I file away in the archive alongside every other sound she makes, the encyclopedia of Kira growing by the hour.
<<set $locationName to "Lotus Room">>
<img src="images/locations/lotus_room.jpeg" alt="Lotus Room Interior" class="scene-image">
<<set $locationImage to "images/locations/lotus_room.jpeg">>
We sit at a table by the wall. The lighting is warm red-tinted pendant lamps and Kira glows in it. The black turtleneck again (or a similar one), the wire-frame glasses catching the red lamplight, the bob tucked behind one ear on the left side the way she does when she's relaxed. She's beautiful in this light. She's beautiful in every light but in red light she looks like a painting, warm tones on warm skin, the sharpness of her features softened into something that makes my chest ache.
<<kira "I'm getting the pad thai. You?">>
I scan the menu. The prices are reasonable $12-16 for mains. I can afford this. I have $177 on the ElliePlayz dashboard from this morning alone, plus the $210 from yesterday, plus the miscellaneous EliPlays income that's too small to mention. I can afford a $14 green curry. I can afford it easily.
But I can't tell her that. The money doesn't exist in the Eli timeline. In the timeline Kira knows about the one where I have $47 in the bank and my last stream earned $3.50 I can't afford anything. The dashboard that says $318 in two days belongs to someone she doesn't know about. Someone named Ellie.
<<eli "Green curry.">>
<<kira "Spice level?">>
<<eli "Medium?">>
<<kira "Coward. I'm going extra hot.">>
<<eli "Your funeral.">>
<<kira "My taste buds, my rules.">>
She orders. In her minimal Thai two words, pointing at the menu, a smile at the server that probably earns better service than fluent Thai would. The food comes fast. The pad thai is piled high with bean sprouts and crushed peanuts and a lime wedge. My green curry is a pool of emerald coconut milk with vegetables and chicken, steam rising.
We eat. We talk. The conversation flows the way it always does spiraling, touching, releasing and I realize, sitting across from her in the red light, that this is what a date feels like. Not the coffee shop with Marcus buying. Not the ramen where Kira framed it as "celebrating." This is a date. She's my... whatever we are. Girlfriend. The word Marcus used. The word that fits even if we haven't said it.
<<kira "Can I ask you something?">>
<<eli "Always.">>
<<kira "Are you happy?">>
The question is simple and impossible. Am I happy. The word contains multitudes. Am I happy that Kira is sitting across from me looking like a painting? Yes. Am I happy that $318 appeared in my life in two days? Yes. Am I happy that I'm lying to the person asking the question? No. Am I happy? The answer is yes and no and both and neither and the fact that I have to calculate it means the answer is complicated in a way that "happy" isn't designed to be.
<<eli "Yeah. I think I am.">>
<<kira "You THINK you are?">>
<<eli "I'm not used to it. I'm still calibrating.">>
<<kira "Calibrating happiness. That's the most Eli answer possible.">>
<<eli "What's the most Kira answer?">>
<<kira "The most Kira answer is: same. I'm calibrating too.">>
She reaches across the table. Her hand small, warm, the pixel-heart tattoo finds mine beside the green curry. Our fingers interlace on the tablecloth. Her thumb traces circles on the back of my hand, the now-familiar gesture, the circuit she draws on every surface when she's feeling something she hasn't named.
<<kira "This is nice. Just this. Eating food and holding hands and not thinking about stream schedules.">>
<<eli "You think about stream schedules on dates?">>
<<kira "I think about stream schedules in the shower, Eli. I'm a content creator. My brain doesn't have an off switch.">>
<<eli "I know the feeling.">>
More than she knows. We finish dinner. She reaches for the check.
<<eli "I can ">>
<<kira "Eli.">>
<<eli "Let me at least ">>
<<kira "I've got it. Don't make it weird.">>
She pays. The card taps. The receipt prints. And I sit there with $318 on a dashboard she doesn't know about and I let her pay for my dinner and the splinter pushes a millimeter deeper. After the next modification, I think. After the nose. After the face is more complete. I'll tell her then. I'll show her the numbers and she'll understand and then I can pay for everything. I can pay for every dinner from now until we're old.
Soon. Just not yet.
<<set $hint = "Go Back to Kira's Apartment">>
[[Go Back to Kira's Apartment|neighbourhood]]Back at Kira's apartment. The Civic parks. We take the elevator. She unlocks 3C. Packet is on the couch, occupying the center cushion with the territorial confidence of a cat who has never been told no. He looks at me. I look at him. The détente continues.
<<kira "Tea?">>
<<eli "Sure.">>
She disappears into the kitchen. I sit on the couch Packet grudgingly relocates to the armrest with the displeased fluidity of a liquid poured from one container into another and I look around the apartment. The same curated space. The same intentional warmth. Kira's setup is visible across the room the dual monitors dark, the ring light off, the keyboard's RGB underglow faintly pulsing in standby mode like a sleeping heartbeat. The chibi figurine on the shelf. The acoustic foam. Everything in its place.
She returns with two mugs. Green tea. She hands me one and sits beside me close, closer than necessary, the couch offering plenty of space and Kira choosing to use none of it. Her thigh presses against mine. Her shoulder finds the hollow of my arm.
<<kira "What do you want to watch?">>
<<eli "You pick.">>
<<kira "Frieren? We left off at episode four.">>
<<eli "The one where you fell asleep.">>
<<kira "I did NOT fall okay, I fell asleep. But only because you were so comfortable.">>
<<eli "I'm a mattress with a pulse.">>
<<kira "The most romantic pulse-mattress I've ever slept on.">>
She queues the episode. The TV lights up painted backgrounds, soft music, the elf mage and her journey. Kira tucks her feet under her and leans into me and my arm goes around her shoulders the way it did two days ago, the position already memorized by my body, muscle memory forming for a gesture I've performed exactly twice.
We watch. She doesn't fall asleep this time she's more awake, more present, commenting on the show, her voice soft and close. I can feel her breathing against my side, the steady rise and fall of her ribcage.
The episode reaches an emotional scene the elf realizing she missed something important about a person she lost and Kira shifts. She turns her face toward me. I look down. She's close closer than the car, closer than the izakaya her face tilted up, the glasses at an angle, the brown eyes looking directly into mine from four inches away.
She kisses me.
Not the hello kiss. Not the goodbye kiss. This is a different kiss slower, deeper, her hand coming up to the back of my neck, fingers in the short hair at my nape, pulling me down toward her. Her lips part against mine and the kiss opens and I taste green tea and something underneath that's just her, the specific chemistry of Kira's mouth, and my brain stutters and restarts in a different mode.
<img src="images/scenes/day_4/day_4_2.jpeg" alt="Kira's Apartment" class="scene-image">
I kiss her back. My hand finds her waist the side of her body, the curve between ribcage and hip, felt through the black turtleneck, small and warm and real. She makes a sound against my mouth. A small sound. Not a word something pre-verbal, something the body produces when it stops consulting the brain. "Mmnh." A vibration against my lips.
The kiss deepens. Her hand tightens at my nape. My hand on her waist pulls her closer not dramatically, not aggressively, just a half-inch of reduced distance that she fills by pressing her whole side against me. The couch cushions shift. Packet, sensing that his territory is being used for purposes he doesn't approve of, leaps from the armrest and stalks toward the bedroom with the disgusted dignity of a cat who has standards.
<img src="images/scenes/day_4/day_4_3.jpeg" alt="Kira's Apartment" class="scene-image">
When the kiss breaks when we pull apart for air, both breathing slightly harder, faces flushed she stays close. Her forehead against mine. The wire-frame glasses bumping my brow bone. Her eyes, from this distance, are blurred too close to focus, a wash of brown and warmth.
<<kira "Hi.">>
<<eli "Hi.">>
<<kira "Your eyes look different up close.">>
The sentence lands like a cold stone in warm water. My body goes still a micro-freeze that I force myself to override, to smooth over, to bury beneath the warm fog of the kiss and the closeness and her forehead on mine.
<<eli "Different how?">>
<<kira "I don't know. Bigger? Your lashes are really long. Have they always been this long?">>
She's looking. From four inches away, with her analytical eyes, the eyes that notice brand changes in energy drinks and remember 3 AM voices. She's looking at my lashes the engineered lashes, the RegenaForm lashes, the lashes that are longer and darker and denser than anything that was there four days ago.
<<eli "I think it's just... the lighting in here. Your lamp does something.">>
<<kira "Hmm.">>
The "hmm" again. The same one from the car two days ago. The syllable that means I don't believe you but I'm choosing not to press. She files it. I can almost see the filing the mental folder labeled "Things About Eli's Face" getting a new entry.
I redirect. The only move.
<<eli "You look different up close too.">>
<<kira "How?">>
<<eli "More freckle. You have a freckle near your left eyebrow.">>
<<kira "I've always had that!">>
<<eli "I've never been close enough to see it.">>
<<kira "You've been close enough for two days. You're just not observant.">>
<<eli "I'm observant about other things.">>
<<kira "Like what?">>
<<eli "Like the way you make a sound when you kiss me. A little 'mmnh.'">>
Her face goes red. The flush starts at the neck and climbs past her jaw to her cheeks and the tips of her ears, visible even in the warm lamp light.
<<kira "I do NOT make a sound.">>
<<eli "You absolutely do. It's ">>
<<kira "Eli.">>
<<eli "It's incredibly cute.">>
<<kira "STOP.">>
She shoves my shoulder. I catch her hand. She lets me. We're holding hands on the couch and her face is red and mine is probably red too and the TV is still playing the anime neither of us is watching.
<<kira "You can't just notice things like that and SAY them.">>
<<eli "Why not?">>
<<kira "Because I've been trying to be COOL about this and you keep making it impossible.">>
<<eli "You're the coolest person I know.">>
<<kira "I drooled on your shirt last time.">>
<<eli "Coolly.">>
She laughs. The real laugh. And then she kisses me again.
[[Continue Kissing|day_4_16_kira]]<<set $day_step to 16>>
<<set $hint = "Enjoy the Moment with Kira">>
The second round of kissing is longer. Less tentative. We shift on the couch until she's half-turned toward me, her legs across my lap, my arm around her back. The position is closer than anything we've done her weight on me, her body against mine, the full surface area of contact that two people can achieve while technically sitting on a couch.
<img src="images/scenes/day_4/day_4_4.jpeg" alt="Kira's Apartment" class="scene-image">
She kisses my jaw. My neck. The spot below my ear. Her lips are warm and her breath is hot and each point of contact sends a signal through my nervous system that is rapidly becoming difficult to manage. I'm hyper-aware of every place her body touches mine her thigh across my lap, her hip against my side, her chest pressed against my arm.
Her chest.
I feel it through the turtleneck and through my grey shirt the soft, specific pressure of her breasts against my arm. Soft round press can't ignore. The shape of them felt through two layers of fabric, warm, the kind of pressure that registers in a part of the brain that doesn't process words. She probably doesn't notice the contact it's incidental, a consequence of the position, the geometry of two bodies close together. But I notice it. I notice it the way a person standing in a river notices the current.
The kissing continues. Her hand is on my chest, fingers curled into the fabric of my shirt. My hand is on her back, the warmth of her spine through the turtleneck. We're breathing harder. The TV plays unnoticed. The apartment is warm and close and the only sounds are us the small wet sounds of mouths meeting and separating, the fabric shifting, the breathing and then slowly, inevitably, with the reliability of a physical law I get hard.
It's not subtle. It's not a slight stirring that could be ignored or attributed to a fold in the joggers. It's a full, insistent, undeniable erection that happens because a beautiful girl is on my lap and kissing my neck and her breast is against my arm and my body has made a decision that my brain did not approve.
I feel it. She has to feel it her thigh is across my lap, the contact is direct, the evidence is pressing against her through two layers of fabric and there is no amount of subtle repositioning that will hide what's happening in my joggers.
I freeze. Not completely the kiss doesn't stop but internally I lock up, the panic arriving late to a party the body started without permission. Do I acknowledge it? Shift? Pull back? The etiquette of involuntary erections during early-relationship couch makeouts is not covered in any guide I've ever read.
Kira doesn't freeze. She doesn't pull back. She doesn't say anything. What she does is nothing. She continues kissing my jaw, her hand still on my chest, her thigh still across my lap, and she adjusts her position by approximately one inch in a direction that is not away from the situation. The adjustment is so small it might be unconscious. It might not be. She shifts and the pressure changes and I feel the contact through the fabric and my brain produces a sound that is fortunately not processed by VoxMorph because it's just me on a couch and not Ellie on a stream.
She knows. She has to know. And she's choosing not to make it a thing.
The kissing slows. Naturally, organically, the way a wave recedes not because it's forced back but because it reaches its natural shore. She pulls back. Lays her head on my shoulder. My arm stays around her. Her legs stay across my lap. The erection persists, insistent and embarrassing, and she rests against me as though it isn't there, granting me the dignity of pretending physics isn't happening.
<<kira "This is nice.">>
<<eli "Yeah.">>
<<kira "You seem happy today. Like really happy. Not calibrating-happy. Actually happy.">>
<<eli "I am happy.">>
<<kira "Why?">>
<<eli "I'm with you.">>
<img src="images/scenes/day_4/day_4_5.jpeg" alt="Kira's Apartment" class="scene-image">
It comes out simple and true and the simplicity of it surprises me because the real answer is more complicated I'm happy because I earned $177 this morning and $210 yesterday and the numbers are climbing and the face is changing and the future is opening but the simple answer is also true. I'm with her. And being with her produces a specific happiness that the dashboard can't replicate. The money makes me hopeful. Kira makes me happy. They're different things and right now, on this couch, with her weight against me and her warmth in my arm, the difference matters.
<<kira "I'm happy too. For the record.">>
She nestles closer. Her breathing slows. The anime plays.
<<set $hint = "Relax and Enjoy Kira's Company">>
[[Stay on the Couch|day_4_17_kira]]Twenty minutes later, Kira stands. Stretches. Her turtleneck rides up, showing that strip of stomach above the waistband smooth, fair skin, the small architecture of her navel and I look and look away and she catches me looking and does the teasing grin.
<<kira "I'm going to shower. You stay. I'll make us dinner after.">>
<<eli "You're making dinner?">>
<<kira "I can cook, Eli. Not everyone lives on microwave burritos.">>
<<eli "What are you making?">>
<<kira "Rice and egg. The Japanese way. It's comfort food.">>
She disappears into the bathroom. The shower starts I can hear the water through the door, the different sound a good shower makes compared to my apartment's dispirited drizzle. This is a real showerhead. Real water pressure. Real hot water that arrives on demand instead of after an eight-minute geological negotiation.
I sit on the couch. Packet has returned, sensing the romantic energy has dissipated, and has reclaimed the opposite cushion. He stares at me. I stare at him. The erection has subsided, finally, the body accepting that the immediate stimulus has moved to another room, though the memory of the pressure her thigh, her chest, the contact lingers in my nervous system like the echo of a bell.
I check my phone. Nothing urgent. The ElliePlayz dashboard on my phone browser still shows the morning numbers: $177. I close it. Open Kira's chat instead.
The shower stops. Minutes pass. Sounds of moving around. Then the bathroom door opens.
Kira walks out in a bathrobe.
Not a towel a short cotton bathrobe, white, belted loosely at the waist, ending mid-thigh. Her legs are bare below it smooth, fair skin from mid-thigh to bare feet on the hardwood. Her hair is wet, the bob darkened and slightly longer when heavy with water, the bangs plastered to her forehead. She's not wearing her glasses the wire frames left in the bathroom, her face naked without them, the eyes larger and softer and more vulnerable without the barrier. Steam follows her from the bathroom. She smells like body wash something floral and clean, the personal scent of her skin amplified by hot water.
<img src="images/scenes/day_4/day_4_6.jpeg" alt="Kira's Apartment" class="scene-image">
She walks to the kitchen. Casually. Like this is normal. Like walking past her boyfriend of three days in a short bathrobe with wet hair and no glasses is an unremarkable Tuesday evening event.
<<kira "Rice'll be ready in twenty. You want soy sauce or ponzu?">>
My mouth is dry. My brain is offline. I'm sitting on a couch looking at Kira Nomura in a bathrobe and the signal traveling from my eyes to my speech center has encountered a critical error.
<<eli "Uh.">>
<<kira "Soy sauce or ponzu. It's not a hard question.">>
<<eli "Soy sauce.">>
<<kira "Good choice.">>
<img src="images/scenes/day_4/day_4_7.jpeg" alt="Kira's Apartment" class="scene-image">
She moves through the kitchen with the easy confidence of a person who is comfortable in her own space and her own body. She opens the rice cooker. Steam rises. She cracks eggs into a bowl and whisks with chopsticks. The bathrobe shifts as she moves not revealing anything explicit, but the fabric drapes and moves and suggests, the outline of her body visible through the thin cotton, the line of her waist and the curve of her hip and the shape of her breasts under the loosely belted robe.
I'm hard again. Immediately. Completely. The same insistent, undeniable, physics-defying erection that will not be reasoned with. I'm sitting on her couch with a throw pillow in my lap placed there with the casual desperation of a person pretending to be comfortable and Kira is making rice in a bathrobe and I am going to die on this couch.
She turns. Holds out a bowl rice topped with a raw egg, soy sauce drizzled in a spiral, sesame seeds, a strip of nori. Simple. Beautiful. The food of a person who knows how to feed another person.
<<kira "Tamago kake gohan. My grandma's version.">>
She sits beside me. Cross-legged on the couch, the robe riding up on her thighs, the hem barely covering what it needs to cover. She mixes her egg into the rice with chopsticks, the steam curling, and she eats with the same focused precision she brings to everything neat, efficient, the chopsticks moving quickly.
<<eli "This is really good.">>
<<kira "It's rice and egg, Eli.">>
<<eli "It's the best rice and egg I've ever had.">>
<<kira "You've been eating burritos for eight months. A saltine cracker would be the best thing you've ever had.">>
<<eli "Don't disrespect the saltine. Or the tamago. Both are sacred.">>
She kicks me lightly with her bare foot. Her toes against my ankle. I feel the contact like a bolt and the throw pillow in my lap becomes more necessary.
We eat. She tells me about her stream today good numbers, the Q&A format working, her viewers sending increasingly specific questions ("someone asked my blood type. My BLOOD TYPE, Eli. For compatibility purposes."). I listen and respond and the conversation is normal, easy, the surface calm of a person whose subsurface is a catastrophe of arousal and guilt and the specific cognitive dissonance of eating comfort food made by a girl he's lying to.
After dinner, she puts the bowls in the sink. Returns. Sits close. The bathrobe has loosened slightly the neckline wider than it was, showing more of her collarbone, the upper curve of her chest visible where the robe doesn't quite close. She either doesn't notice or doesn't mind.
<img src="images/scenes/day_4/day_4_8.jpeg" alt="Kira's Apartment" class="scene-image">
I look. I try not to look. I look again. The skin of her upper chest is smooth and fair and slightly flushed from the hot shower and I'm going to need the throw pillow permanently surgically attached to my lap if this continues.
<<kira "I should probably get dressed before I freeze.">>
<<eli "You look I mean. Yeah. It's cold.">>
She gives me the teasing grin. The one where the left side pulls up higher. She knows exactly what she's doing. She has to know. Kira doesn't do anything without intention.
She goes to the bedroom. Returns in sweats and an oversized T-shirt the uniform of a person who has decided the seduction portion of the evening is complete and the comfort portion has begun. The glasses are back on. The hair is drying, the bob returning to its natural shape. She looks like Kira again sharp, comfortable, the girl with the stream and the cat and the pixel-heart tattoo.
We kiss goodnight at the door. A long one. Her hands on my chest, mine on her waist, the contact that I'm learning the geography of the specific width of her ribcage under my palms, the heat of her skin through the t-shirt, the way she rises slightly on her toes because I'm taller and she's not wearing the platform sneakers.
<<kira "Goodnight, disaster.">>
<<eli "Goodnight.">>
<<kira "Stream tomorrow?">>
<<eli "Always.">>
<<kira "Same. Noon. Watch if you want.">>
<<eli "I'll be there.">>
<<kira "❤️">>
She says it out loud. Not a text, not an emoji the word "heart" replaced by the look in her eyes, the squeeze of her hands, the last press of her lips against mine. Then the door closes and I'm in the hallway and the cold returns.
I walk home. Fifteen minutes. January. The cold is clarifying it strips the arousal back to baseline, the frigid air doing what the throw pillow couldn't. By the time I reach my building, my body has calmed but my brain hasn't. The images persist: the bathrobe, the wet hair, the collarbone, the shape of her breasts through the cotton, her thigh across my lap, the pressure, the "mmnh" against my lips.
<<set $hint = "Go Home and Stream">>
<<set $day_step to 17>>
[[Go Home and Stream|neighbourhood]]<<set $day_step to 18>>
<<set $playerImage to "images/user/tier_0_3.jpeg">>
11:00 PM. The apartment. The desk. The ritual.
Wig on. VoxMorph calibrated. Webcam tilted up eyes, lashes, brows, hair. Desk lamp angled. OBS scene loaded. The preview shows Ellie's eyes looking back at me from the small rectangle, waiting for the permission to exist.
My body still carries traces of the evening the warmth of Kira's couch in my joints, the phantom pressure of her thigh across my lap, the taste of soy sauce and green tea. The sensory memory of her in the bathrobe persists like a watermark on my awareness, visible through everything I layer on top of it. I can still smell the floral body wash. I can still feel the cotton.
I push it down. Compartmentalize. The evening was Eli. The night is Ellie. Different drawer. Different key.
ElliePlayz Live
Category: Just Chatting → Gunmetal Requiem
Viewers: 0
Click. Go Live. Look at the lens.
[[Go Live|day_4_19_kira]]<<nobr>>
<<set $day_step to 19>>
<<set $viewers to 34>>
<<set $followers += 3>>
<<set $donations += 0>>
<<set $money += 0>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
<<eli "Hiii! Okay, late night crew, I'm back! I know I streamed this morning too but I couldn't stay away I missed you guys! How is everyone tonight?">>
The wide eyes. The hair sweep. The techniques from this morning, deployed again but smoother now, less conscious, the practiced gestures beginning to settle into habit. The eye contact at the lens. The lean-in. The gasp when the first viewer arrives.
Viewers: 6
Viewers: 18
Viewers: 34
The notification squad returns. By now the pattern is established ElliePlayz streams, the regulars arrive, the chat fills, the numbers climb. The late-night slot is different from the morning darker energy, slower chat, more intimate. The viewers at 11 PM are different people than the viewers at 10 AM. Lonelier. Quieter. More willing to stay. More willing to pay.
<<chat "MidnightWhale99" "twice in one day. we're blessed.">>
<<chat "night_owl_cc" "morning ellie was top tier but night ellie hits different">>
<<chat "stream_viewer_d1" "the vibes at this hour are immaculate">>
<<eli "Night streams are my favorite honestly. Everything feels more... real? Like the pressure is off. It's just us.">>
I say "just us" while looking at the lens. Direct eye contact. The slow blink. The word "us" lands in the chat like a stone in still water ripples moving outward, each viewer reading "us" as "her and me" rather than "her and 34 people."
<<chat "MidnightWhale99" "just us. i felt that.">>
<<chat "stream_viewer_d3" "the way she said 'just us' looking directly at the camera. i'm not okay.">>
[[Start Playing|day_4_20_kira]]<<nobr>>
<<set $day_step to 19>>
<<set $viewers to 57>>
<<set $followers += 7>>
<<set $donations += 21>>
<<set $money += 21>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 57
I play Gunmetal Requiem. The gameplay is... better tonight. Not dramatically I'm still Silver, still inconsistent but there's something in my hands that wasn't there before. Confidence? Calm? The residual endorphins from Kira's couch? Whatever it is, my aim is steadier, my decisions are cleaner, and by the end of the first match I've gone 10 and 5 my best K/D ratio ever.
<<chat "stream_viewer_d3" "TEN AND FIVE??">>
<<chat "ChillVibesOnly" "DOUBLE DIGITS. DOUBLE. DIGITS.">>
<<chat "night_owl_cc" "morning ellie: 9 and 4. night ellie: 10 and 5. she's ascending.">>
<<eli "You guys, I don't know what's happening! I'm never this good! Something about tonight just feels right.">>
Something about tonight. The warmth still in my body. The memory of being held and holding. The specific calm of a person who was, three hours ago, kissing a girl on a couch while an anime played. That calm translates. It smooths the edges that make me panic-peek and rush shots. It grounds my crosshair.
Kira makes me a better gamer. Not through coaching. Through peace.
[[Continue Playing|day_4_21_kira]]<<nobr>>
<<set $day_step to 19>>
<<set $viewers to 124>>
<<set $followers += 8>>
<<set $donations += 33>>
<<set $money += 33>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 89
$8.00 from stream_viewer_d4: "night ellie is a different breed. those eyes in the dark lighting are something else."
The night lighting IS different. The desk lamp is the only source no daylight from the window, no ambient room light. Just the warm gold cone from the lamp and the cool blue-white of the monitors. The combination makes my eyes Ellie's eyes look deeper, more dramatic. The lashes cast longer shadows in the angled light. The brows arch more visibly against the contrast. The late-night aesthetic is, accidentally, better than the morning one.
Viewers: 124
The stream finds its rhythm. Matches blend together 7 and 6, 8 and 4, 6 and 7. The chat flows. Donations arrive at a steady pace, the late-night viewers more generous per capita than the morning crowd, each one accompanied by a message that ranges from sweet to uncomfortably devoted:
$5.00 from stream_viewer_d5: "can't sleep. your stream is better than ambien."
$10.00 from MidnightWhale99: "two streams today. two donations. this is my subscription to happiness."
$7.00 from night_owl_cc: "i'm supposed to be studying for an exam. worth it."
$20.00 from new_viewer_d6: "just discovered this channel. the eyes-only cam, the voice, the gameplay following immediately. see you tomorrow."
$15.00 from BigSpender_X: "night ellie's eyes hit different. the shadows from the lamp. premium content."
<<eli "BigSpender, FIFTEEN? You're going to make me cry and I already told you mascara situation!">>
The callback. The mascara joke from last night, referenced tonight. The chat remembers. They respond to the continuity the feeling that this is a living story they're part of, a narrative that remembers its own details, a community with inside jokes that date back 48 hours but feel like years.
<<chat "stream_viewer_d3" "the mascara lore continues 😂">>
<<chat "MidnightWhale99" "mascara reveal before face reveal">>
<<chat "ChillVibesOnly" "both. both is good.">>
[[Continue Playing|day_4_22_kira]]<<nobr>>
<<set $day_step to 19>>
<<set $viewers to 213>>
<<set $followers += 21>>
<<set $donations += 45>>
<<set $money += 45>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 178
Viewers: 213
The second hour. I'm tired genuinely tired, the double-stream day catching up, the VoxMorph processing straining my voice and my concentration. But the numbers are climbing and the donations are flowing and the chat is warm and each time I think about ending the stream, another notification pops, another dollar drops, another stranger says something that makes Ellie feel real and Eli feel further away.
<<chat "stream_viewer_d8" "face reveal when ellie? 🥺">>
<<eli "Soooon! I promise! I'm getting closer. Just need a little more time.">>
I look at the lens when I say it. The eye contact. The slow blink. "A little more time." The words mean something different to me than they mean to the chat. The chat hears: she's building confidence. I hear: the nose isn't done yet. The lips aren't done. The jaw isn't done. The face beneath the crop line needs more work before the line can drop.
A little more time. A few more modifications. A few more trips to Suite 12.
[[Continue Playing|day_4_23_kira]]<<nobr>>
<<set $day_step to 19>>
<<set $viewers to 301>>
<<set $followers += 12>>
<<set $donations += 32>>
<<set $money += 32>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 267
Viewers: 301
$25.00 from MidnightWhale99: "300 viewers. ellie, you're not just a streamer. you're a phenomenon. don't forget us when you're famous."
Three hundred. The number breaks a barrier that EliPlays never even approached. Three hundred people, simultaneously, watching a pair of eyes and a voice and believing.
I play one more match. 7 and 7. Even. The chat calls it a "boss battle" because the opponent was Platinum and I held my own. The hype carries the stream to its peak:
[[Continue Playing|day_4_24_kira]]<<nobr>>
<<set $day_step to 24>>
<<set $viewers to 339>>
<<set $followers += 16>>
<<set $donations += 55>>
<<set $money += 55>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 339
<<eli "339?? THREE HUNDRED AND THIRTY NINE?? I literally cannot. I can't. You guys this is the best night of my life. I have to end the stream before I actually cry on camera and nobody wants that.">>
<<chat "stream_viewer_d9" "WE WANT THAT">>
<<chat "MidnightWhale99" "happy tears are always welcome">>
<<chat "night_owl_cc" "goodnight ellie. rest those eyes. they've earned it.">>
<<eli "Goodnight everyone. Same eyes tomorrow. I love you all. For real.">>
[[End Stream|day_4_25_kira]]<<nobr>>
<<set $right_sidebar_mode to 0>>
<</nobr>>
The wink. The lash-visible wink that worked this morning. It works again. The chat detonates. I hit End Stream before the dopamine wears off.
Duration: 1 hour 47 minutes
Peak Viewers: 339
Average Viewers: 206
New Followers: 34
Total Followers: 252
Donations: $186.00
Subscribers: 11
$186. In under two hours. At night. After already earning $177 this morning.
Day total (ElliePlayz): $363.00
I close OBS. Close VoxMorph. Take off the wig. The face returns. Eli. The person the numbers don't belong to. The person the viewers don't know about.
I open the RegenaForm app.
Not browsing this time. Calculating. The Tier 1 menu loads every option, every price, every feature I haven't purchased yet. I scroll through them with the focused attention of a person planning a renovation, which is exactly what this is.
Current modifications:
- Eyelashes Natural-Long (1.8a): FREE ✓
- Brow Sculpt Feathered (1.7a): 300 $ (on credit, due in 5 days) ✓
- Wig StreamLine: FREE ✓
Next target:
- Nose Slope (1.5a): 500 $
The nose. The next piece. The slope nose would narrow the bridge, refine the tip, bring the nose from "slightly large and asymmetric" to "feminine and clean." It's the next step down from the eyes the feature that sits between the visible zone and the hidden zone, the bridge between the face the viewers see and the face they don't.
With the nose done, the crop line could drop another inch. Show the nose. Show the bridge. Show more of the face while still hiding the jaw and lips. Incremental reveal. Each modification purchasing another inch of visibility. Each inch earning more.
The math:
Day 1 earnings (ElliePlayz): $210
Day 2 earnings (ElliePlayz): $363
Total ElliePlayz earnings: $504
Brow sculpt debt: 300 $ (due in 5 days)
$504 - $300 = $204 remaining after debt
Nose Slope: 500 $
$204 short of nose cost: need $296 more
At current rate ($363/day average of Day 4): one more day of streaming covers the nose with surplus.
One day. One more day of being Ellie and the nose is paid for. And after the nose, the next feature lips? Jawline? Cheekbones? Each one has a cost and each cost has a timeline and the timeline is measured in streams and the streams are measured in dollars and the dollars are real and the face is changing and the math works.
It all works. The system that Kira identified the system that rewards a specific input is producing exactly the output the math predicted. The loop is running. The escalation is functioning. The door opened and behind it is money and behind the money is a face and behind the face is a life.
I scroll the app further. Past Tier 1. Into the overview.
Tier 1 Facial Feminization: 500-4,500 $ total (partially complete)
Tier 2 Voice Modulation (organic): 1,200-3,500 $
Tier 3 Hair Redesign: 800-3,500 $
Tier 4 Body Contour: 3,000-8,000 $
The numbers are large. The tiers stretch upward like floors in a building, each one more expensive than the last, each one further from the starting point. But the starting point was $0 and $47 in the bank and now it's $504 in four days and the trajectory isn't slowing down, it's accelerating. Each modification improves the stream. Each improved stream generates more money. Each dollar funds the next modification. The loop is the product. The escalation is the business model.
I close the app.
I should tell Kira. Soon. Maybe after the nose. Once the face is one step further, once the investment is more concrete, once the numbers are undeniable then I'll tell her. I'll sit her down and show her the dashboard and explain the logic: you told me the system rewards a specific input. I changed the input. Look at what happened.
She'll understand. She's Kira. She's pragmatic. She identified the problem.
And she's bisexual. The thought returns the same rationalization from last night, polished smoother with repetition. She likes girls AND she likes me. A few feminine features on her boyfriend wouldn't repel her. It might attract her. The modified face the lashes, the brows, eventually the nose and the lips wouldn't push her away. It would add a dimension. Both sides of her attraction converging on the same person. She said it herself: "I like the way women look. I like softness." And I'm building softness onto a frame she already likes.
She won't mind. A bit of feminine on her boyfriend. She might even find it beautiful. She sees beauty in unusual places in penguin anatomy facts at 4 AM, in a guy who sits still for 45 minutes so she can nap. She'd see beauty in this too.
I'll tell her. After the nose. After one more step.
The RegenaForm app glows on my phone. I set it beside the mattress, screen down.
[[Go to Sleep|day_4_26_kira]]<<nobr>>
<<set $day_step to 26>>
<<set $day to 4>>
<<set $playerImage to "images/user/tier_0_2.jpeg">>
<<set $route = "kira">><</nobr>>
I lie on the mattress. Grey sheets. Thin comforter. The apartment is dark except for the second monitor's standby glow and the green LED of the router. The ceiling crack is up there, invisible. The numbers float behind my closed eyes: $363 today. $504 total. 339 peak. 252 followers. The nose is $500 and I'll have it by tomorrow night.
But the numbers fade. The dashboard recedes. And what replaces it, in the dark, on the mattress, is not money.
It's Kira.
The bathrobe.
The image arrives fully formed, preserved in high resolution by a brain that recorded every detail with the obsessive fidelity of a webcam running at 60fps. The white cotton loosely belted. The wet hair dark and heavy against her bare neck. The collarbone exposed where the neckline fell open. The smooth skin of her upper chest, flushed from the shower. The line where the robe ended at mid-thigh and her bare legs began. The way she walked to the kitchen casual, unhurried, the movement shifting the cotton against her body, the fabric draping and suggesting the topography beneath.
<img src="images/scenes/day_4/day_4_9.jpeg" alt="Kira's Apartment" class="scene-image">
The couch. Her thigh across my lap. The kiss that deepened. The "mmnh" against my lips the involuntary sound, the vibration, the signal from her body that her brain didn't approve. Her chest pressed against my arm through the turtleneck. The shape of her. The specific, imagined-in-detail shape that I felt through two layers of fabric and am now reconstructing in the dark with the focus of an artist working from memory.
<img src="images/scenes/day_4/day_4_10.jpeg" alt="Kira's Apartment" class="scene-image">
Her breasts. I felt them. Not directly through cloth, through cotton, through the incidental geometry of two bodies pressed close on a couch but I felt them. Small. Firm. The size of I don't even know the system. Cup sizes. Letters on a scale I've never had reason to learn. B? C? Bigger? She's petite 5'3", slim frame so they're proportional, which means they could be anything. They felt like enough. They felt like the word "enough" was invented specifically for the thing I felt pressed against my arm.
My hand moves.
Not toward the phone. Not toward the RegenaForm app. Downward. Under the comforter. Under the waistband of the joggers I haven't changed out of. The movement is automatic, the body making decisions the brain already made ten minutes ago in the dark while thinking about cotton robes and collarbone and the sound she makes when she kisses me.
<img src="images/scenes/day_4/day_4_11.jpeg" alt="Kira's Apartment" class="scene-image">
I think about Kira. Not the stream version of her not KiraByte with the ring light and the 1,100 viewers. The real one. The one who walks out of a bathroom in a robe like it's nothing. The one who puts her legs in my lap and doesn't flinch when my body responds. The one who looks at me from four inches away and says "your lashes are really long" with the analytical attention of a person who sees everything and the warmth of a person who likes what she sees.
<img src="images/scenes/day_4/day_4_12.jpeg" alt="Kira's Apartment" class="scene-image">
I think about kissing her. The specific kiss not the hello or the goodbye but the long one, the one on the couch, her hand on my nape, pulling me down. The way her lips opened against mine and the taste of green tea. The sound. The "mmnh." The vibration transferred from her mouth to mine.
<img src="images/scenes/day_4/day_4_13.jpeg" alt="Kira's Apartment" class="scene-image">
I think about her chest. The pressure through the fabric. I try to imagine what they look like without the fabric and I can't, not precisely, because I haven't seen them, but I can approximate. The shape suggested by the bathrobe. The size suggested by the contact. Small but present. Rounded. The skin the same smooth fair tone as her collarbone, as her bare legs, as the skin above the turtleneck that I've been studying for days. I imagine touching them. My hand the hand with bitten thumbnails on her breast. The softness. The weight. The way she might react the gasp, maybe, the gasp I've seen her do on stream when something surprises her, except this would be a different gasp. A private one. The one that lives behind the "mmnh."
<img src="images/scenes/day_4/day_4_14.jpeg" alt="Kira's Apartment" class="scene-image">
I think about her lying beside me instead of in her own apartment. On this mattress. On these grey sheets. Her wet hair on my pillow. The bathrobe open. Her eyes without glasses, large and brown and looking up at me the way she looked from four inches away but closer, impossibly close, the closest two people can be.
<img src="images/scenes/day_4/day_4_16.jpeg" alt="Kira's Apartment" class="scene-image">
My hand moves. The rhythm is simple. The images are specific. The ceiling crack is invisible above me and the fridge hums its one note and the apartment is dark and I am alone with the memory of a girl who trusts me and the fantasy of a girl I haven't earned and the physical release building in my body the way the viewer count builds during a stream slowly, then faster, then the peak.
<img src="images/scenes/day_4/day_4_17.jpeg" alt="Kira's Apartment" class="scene-image">
I think about her saying my name. Not "disaster." Not "Eli." Just the sound of her voice the real one, not the stream one saying something soft into the dark space between us. A word. A sound. The "mmnh" expanding into something more.
The peak arrives. The body tenses, arches slightly against the mattress, and then releases a shudder that moves through me like a wave, carrying with it the tension of the day, the double stream, the performance, the arousal that's been building since the couch, since the bathrobe, since the wet hair and the bare legs and the way she didn't flinch.
<img src="images/scenes/day_4/day_4_15.jpeg" alt="Kira's Apartment" class="scene-image">
I lie still. Breathing. The ceiling is dark. The release drains everything the sexual tension, yes, but also some of the cognitive tension, the spin-cycle of numbers and plans and rationalizations that's been running since I woke up at 8:30. For a few seconds my brain is quiet. Not calculating. Not planning. Just present. A body on a mattress. A person who touched himself thinking about a girl who kissed him.
Normal. Pathetically, beautifully normal.
I clean up with a tissue from the box beside the mattress (the one purchase I made that qualifies as forward-thinking). Settle back. Pull the comforter up.
The numbers try to return. The $363. The nose at $500. The math, the timeline, the RegenaForm app on the phone beside my head. They try to fill the post-orgasmic quiet with their insistent logic.
I let them. For a minute. The nose after tomorrow's streams, I'll have enough. I'll book the appointment. Walk four blocks. Sit in the chair. Feel the warmth. Walk out with a face that's one step closer to the face reveal, one step closer to telling Kira, one step closer to the life where the numbers support the person instead of replacing him.
But then the numbers fade and what's left is Kira. Her face. Her real face, not the calculated value of it, not the stream metrics, not the bisexuality rationalization. Just her. The freckle near her left eyebrow. The glasses she takes off when she's close. The sound she makes when she kisses me.
Tomorrow I'll modify my nose. Tomorrow I'll stream and earn and grow. Tomorrow the face will change again and the numbers will climb and the loop will continue.
But right now, in the dark, on the grey sheets, in the seconds before sleep right now I'm just a boy who touched himself thinking about a girl who fell asleep on his shoulder once and walked out of a bathroom in a robe and didn't care that he saw her like that.
That's enough. For right now. That's enough.
<<set $hint to "Wake up">>
[[Sleep|eli_bed]]<<set $day_step to 1>>
<<set $day to 4>>
I wake up at 8:30 AM and the first thing I think about is not the ceiling crack.
It's the number. $210. Yesterday's total. The number that sat behind my eyelids while I slept and was still there when they opened, glowing in the dark of my skull like a dashboard that never powers down. $210. From a face that's half-finished and a voice that's borrowed and a name that's two letters from my own. The number is a seed. The question is what it grows into.
Phone. Two messages.
<<kira "morning! hope you slept. i have a stream at noon but i'm free after 4 want to grab food later? my treat as always lol. we could check out that new thai place near the art district">>
<<marc "yo can i come thru this afternoon? screenfixx gave me the day off. owner is 'restructuring' aka firing devon probably. i'll bring curry">>
Kira and Marcus. Both reaching out before 9 AM. Both checking on me in their respective frequencies Kira with heart emojis and dinner invitations, Marcus with leftover curry and air quotes around corporate euphemisms. Two people who care about a person they think they know.
<<eli "thai sounds great. pick me up at 6?">>
<<kira "yay! see you then ☀️">>
<<eli "yeah come by whenever. door's open">>
<<marc "bet. 2ish">>
Marc at 2. Kira at 6. The day has structure. Three days ago my schedule was: wake up, stream to nobody, eat a burrito, stare at the ceiling. Now I have a social calendar and a secret and $210 on a dashboard. The ceiling crack looks down at me and I look up at it and neither of us recognizes the other.
I shower. Marriott shampoo running low. I'll need to buy actual shampoo soon. I put on the grey shirt. Black joggers. The uniform of a person whose wardrobe hasn't caught up with his income.
9:15 AM. Three hours before Marc. Time to study.
[[Time to Study|day_4_2_other]]<<set $day_step to 2>>
I open YouTube. Not the gaming videos, not the patch notes, not the growth-tip compilations I've been watching for eight months like a medical student who only reads the textbook and never practices on a patient. Today I'm watching something different.
I type: "female streamer tips engagement techniques"
The results cascade. Dozens of videos, hundreds. An entire industry of content about how women stream the techniques, the mannerisms, the specific vocabulary of feminine online performance. I've watched female streamers before (I've watched Kira), but I've always watched as a viewer, passively, absorbing the content without analyzing the craft. Today I'm watching as a student. Today I'm taking notes.
The first video is by a streamer coach a woman in her thirties with a ring light and a whiteboard, breaking down "high-engagement feminine streaming techniques." I pull the desk chair in. I lean forward. I watch.
<<chat "youtube_coach" "The number one thing that separates high-engagement female streamers from low-engagement ones isn't looks it's eye contact. Your eyes are your primary tool. When you're talking to chat, look directly into the camera lens, not at the chat window. The viewer needs to feel like you're looking at THEM. Personally. Make eye contact for two to three seconds, then glance away naturally. It creates intimacy.">>
Eye contact. I've been looking at my second monitor at the chat when I talk to viewers. That means on camera I'm looking to the side. Not at them. The webcam lens is on top of the main monitor. I need to look at the lens. At the camera. At them.
I practice. I look at the webcam the old 2014 brick clipped to the monitor and I say, in my real voice:
<<eli "Hey, welcome to the stream.">>
Then I do it again, looking at the webcam lens:
<<eli "Hey, welcome to the stream.">>
The difference is invisible to me but I know from the video that on the other end on the viewer's screen the second version feels like I'm talking to them specifically. Like I see them. The camera lens is the viewer's eyes and I need to treat it that way.
Next video. A compilation of "top female streamer techniques" with annotations.
The video breaks down specific behaviors I've seen Kira do a thousand times but never consciously identified:
The reaction gasp. When something surprising happens a donation, a play, a funny chat message the streamer gasps softly, eyes widening, hand coming to mouth or chest. The gasp is slightly exaggerated but not fake. It's the amplification of a genuine reaction, dialed up 20% for camera. The wide eyes make the lashes more visible. The hand gesture draws attention to the face. The gasp itself, in a feminine voice, triggers a protective/delighted response in the audience.
I practice the gasp. Without VoxMorph it sounds ridiculous a grown man going "oh!" at his desk at 9 AM. But the facial expression the wide eyes, the slight parting of the lips I practice that in the phone camera. With the lashes and the brows and the right framing, the wide-eyed gasp looks... convincing. The lashes amplify the eye-widening. The brows lift the expression into something open and genuine.
The lean-in. When reading a chat message or donation, the streamer leans slightly toward the camera maybe two inches, just enough to fill more of the frame. The lean creates the impression of closeness, of the streamer being drawn toward the viewer. Combined with eye contact at the lens, it produces a micro-moment of artificial intimacy that the viewer's brain registers as real.
The hair touch. Unconscious-seeming gestures with the hair tucking a strand behind the ear, running fingers through the length, letting the hair fall forward and then sweeping it back. These gestures are hypnotic on camera, especially with long, well-lit hair. They draw the eye. They read as feminine. They fill the micro-pauses between sentences with visual content that keeps the viewer watching.
I don't have real long hair I have a wig. But the wig is designed for camera. The fibers respond to touch. I put the wig on, sit at the desk, and practice: a slow tuck of the hair behind where my ear would be (hidden by the hair), a sweep of the waves over one shoulder, a casual run of fingers through the length. In the phone camera, from the nose up, the gestures look natural. The wig moves like real hair. The brownish-auburn waves catch the desk lamp light as they shift.
The eye actions. The video calls them "eye acting" specific expressions performed with the eyes that communicate emotion to the camera. A slow blink for emphasis. A look up-and-to-the-side when thinking (the "cute thinking face"). A narrowing of the eyes when concentrating that reads as focused and competent. A widening when excited that makes the viewer feel the excitement vicariously. The key, the video emphasizes, is that the lashes amplify everything every blink, every widening, every narrowing because the lashes are the frame and the frame determines how the picture reads.
I practice eye actions for twenty minutes. Slow blink the lashes sweep down and up, visible even on the phone camera, a deliberate flutter that reads as either thoughtful or flirtatious depending on context. Thinking look eyes up and to the right, the brows lifting slightly, the arched feminine shape creating an expression that's readable as "adorable concentration." Excitement eyes wide, lashes fanning, brows up, the full feminine eye area opening like a flower.
Twenty minutes of practicing expressions in front of a phone camera in a studio apartment at 9:30 in the morning. This is what my life has become. And the terrifying part is that it's working.
The voice modulation within modulation. The video discusses vocal techniques not software, but performance. Pitch variation. Rising intonation at the end of sentences ("I'm so excited?") that reads as enthusiastic and inviting. Dropping to a lower register for emphasis or intimacy. The strategic deployment of giggling not fake laughter, but the amplification of genuine amusement into something lighter, higher, more musical. The "cute sneeze" making involuntary sounds sound adorable rather than jarring.
I can layer these techniques on top of VoxMorph. The software handles the base frequency the pitch, the formant, the breathiness. But within that processed voice, I can add the performance: the rising intonation, the giggle, the gasp, the soft "oh!" that the first video described. The software is the instrument. The technique is the music.
I watch three more videos. One about "donation bait" phrases and behaviors that increase the likelihood of donations (expressing genuine surprise and gratitude, reading donor names aloud with warmth, creating callback jokes with regular donors). One about "chat management" how to make viewers feel individually seen in a fast-scrolling chat (calling out specific usernames, referencing previous interactions, remembering personal details that regulars share). One about "the parasocial sweet spot" close enough that viewers feel a personal connection, distant enough that the connection feels aspirational rather than attainable.
By 10:30 I've watched six videos and taken mental notes on thirty-seven specific techniques that I intend to deploy on today's stream. The knowledge sits in my head like ammunition loaded, ready, each technique a bullet designed to hit the specific target of audience engagement.
I am engineering a person. Not just a face, not just a voice, but a complete performed identity the eye contact, the gasp, the hair touch, the vocal modulation, the lean-in, the parasocial calibration. Ellie isn't a mask I'm wearing. She's a machine I'm building. Every component tested. Every gesture optimized. Every behavior designed for a specific output: attention. Money. Growth.
The thought should bother me. It doesn't. The $210 from yesterday doesn't allow it to bother me.
[[Stream Time|day_4_3_other]]<<nobr>>
<<set $day_step to 3>>
<<set $playerImage to "images/user/tier_0_3.jpeg">>
<<set $day_step to 3>>
<<set $viewers to 0>>
<<set $followers to 0>>
<<set $donations += 0>>
<<set $money += 0>>
<</nobr>>
10:45 AM. Stream time.
I set up. Wig on the practiced application getting faster, four minutes now instead of ten. VoxMorph calibrated. OBS open. Webcam tilted up, framing from the nose upward. Desk lamp angled from the left. I check the preview eyes, lashes, brows, hair. The feminized zone. The zone that earned $210.
But today is different. Today I have techniques.
I adjust my chair so I'm sitting slightly forward the lean-in as default posture. I position my hands where they can reach the wig hair naturally. I locate the webcam lens the exact point I need to look at to create eye contact and I mark it mentally. Not the chat window. Not the game. The lens. The viewer's eyes.
ElliePlayz Live
Category: Just Chatting → Gunmetal Requiem
Viewers: 0
I click "Go Live." Look at the lens. Right at it. Right at them.
[[Go Live|day_4_4_other]]<<eli "Hiii everyone! Good morning! Oh my gosh, I'm actually streaming in the morning for once look at me being responsible!">>
<<nobr>>
<<set $day_step to 3>>
<<set $viewers to 19>>
<<set $followers += 3>>
<<set $donations += 0>>
<<set $money += 0>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
I do the wide-eyed expression. The lashes fan. I sweep the hair over one shoulder with my left hand, the auburn waves catching the desk lamp light. In the preview, the gesture looks effortless, natural, the kind of thing a girl does without thinking. It took me twenty minutes of practice.
Viewers: 8
Viewers: 19
The regulars arrive. Notification squad. The names I'm starting to memorize the people who have, in the span of two days, become my audience.
<<chat "MidnightWhale99" "MORNING ELLIE?? she's a morning person now??">>
<<chat "ChillVibesOnly" "good morning queen!! you look extra pretty today?? is that possible??">>
I look at the lens. Direct eye contact. Two seconds. Then I glance down at the chat naturally.
<<eli "Aww, ChillVibes! You're going to make me blush before the stream even starts!">>
I do the slight gasp eyes widening, hand to chest. In the preview, the lashes catch the light during the widening, the crescent shadows dancing on my cheekbones.
<<chat "stream_viewer_c1" "wait did she just do the eye thing">>
<<chat "stream_viewer_c2" "THE EYE THING. the wide eyes. im dead">>
<<chat "night_owl_cc" "she looked directly at me through the camera and i felt it in my soul">>
The eye contact is working. The direct-to-lens technique from the video the viewers feel seen. They feel like Ellie is looking at them personally. The comments reflect it immediately: "she looked directly at me." Because I did. I looked at the lens. At the camera. At the portal between my apartment and their screen. And they felt it.
[[Load Game|day_4_5_other]]<<nobr>>
<<set $day_step to 3>>
<<set $viewers to 47>>
<<set $followers += 4>>
<<set $donations += 15>>
<<set $money += 15>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 47
I load Gunmetal Requiem. Queue into ranked. While the match loads, I do the hair touch fingers running through the wig waves, the hair falling forward over one shoulder, then swept back. The gesture fills the loading-screen dead time with visual content. Three people comment on it.
<<chat "stream_viewer_c2" "the hair flip omg">>
<<chat "stream_viewer_c4" "she does this thing with her hair and i just 🥺">>
<<chat "MidnightWhale99" "the hair + the eyes + the morning light. premium content.">>
$5.00 from MidnightWhale99: "morning donation to start your day right. those eyes deserve breakfast."
<<eli "MidnightWhale!! You're here in the morning too?? Do you ever sleep??">>
I do the thinking expression eyes up and to the right, brows lifting, the "cute thinking face" from the video. I let it hold for a beat before looking back at the lens.
<<chat "MidnightWhale99" "sleep is for people who don't have ellie's morning stream to watch">>
<<chat "stream_viewer_c5" "she just did the thinking face. the THINKING FACE. the brows.">>
<<chat "stream_viewer_c6" "her eyebrows are actually works of art?? like the arch??">>
[[Round 1|day_4_6_other]]<<nobr>>
<<set $day_step to 3>>
<<set $viewers to 73>>
<<set $followers += 15>>
<<set $donations += 25>>
<<set $money += 25>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 73
The match starts. I play same agent, same Silver rank but the between-round commentary is different today. I'm deploying the techniques: eye contact during kills ("look at the lens when you clutch let them see the excitement in your eyes directly"), the reaction gasp when I get a surprise kill ("gasp oh my gosh did I just "), the hair touch during loading screens, the vocal variation dropping Ellie's voice lower when I'm concentrating, raising it when excited, the giggle when something funny happens in chat.
Round 2: I clutch a 1v2. The moment I get the second kill, I look directly at the lens wide eyes, lashes fanning, the genuine surprise amplified 20% for camera and I let the excitement hit my voice:
<<eli "NO WAY! Did you guys SEE that?! A 1v2! I actually did it!">>
The hair falls forward during the celebration. I sweep it back. The gesture is timed perfectly probably by accident, but the effect is cinematic.
<<chat "stream_viewer_c7" "THE EYES DURING THE CLUTCH">>
<<chat "stream_viewer_c8" "she looked RIGHT AT US when she got the kill im literally shaking">>
<<chat "ChillVibesOnly" "the eye contact + the hair flip + the voice going high. CONTENT.">>
<<chat "stream_viewer_c9" "this is the best streamer on twitch and i will fight anyone who disagrees">>
$10.00 from stream_viewer_c10: "that clutch plus the eye contact. you're built different ellie."
[[Round 2|day_4_7_other]]<<nobr>>
<<set $day_step to 3>>
<<set $viewers to 112>>
<<set $followers += 12>>
<<set $donations += 18>>
<<set $money += 18>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 112
<img src="images/scenes/day_4/day_4_1.png" alt="Streaming Dashboard" class="dashboard-image">
The techniques are compounding. Each one amplifies the others the eye contact makes the gasp feel personal, the gasp makes the hair touch feel like a release of tension, the hair touch draws attention back to the eyes for the next eye contact. It's a cycle. A loop. Each behavior feeding the next, the audience's attention spiraling tighter around the performed version of me that lives in the webcam frame.
[[Round 3|day_4_8_other]]<<nobr>>
<<set $day_step to 3>>
<<set $viewers to 203>>
<<set $followers += 19>>
<<set $donations += 40>>
<<set $money += 40>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
The stream runs hot. Hotter than any session so far. The viewer count climbs steadily 112, 145, 178, 203. The donations don't trickle anymore. They flow:
$5.00 from night_owl_cc: "morning crew ellie hits different. the eye contact thing you're doing today is ILLEGAL."
$8.00 from new_viewer_d1: "browsed in, your eyes stopped my scroll, your personality made me stay. followed."
$15.00 from BigSpender_X: "those eyes + that laugh. i'm bringing my whole paycheck next time."
$3.00 from stream_viewer_c11: "the way she sweeps her hair back after a clutch should be studied in a lab"
$20.00 from MidnightWhale99: "morning, afternoon, night doesn't matter. i'm here. the eyes are everything."
I play five matches. Go positive in four of them the confidence from the viewer response is leaking into my gameplay, the opposite of what happens on EliPlays where DarkSlayer's mockery makes me play worse. Here, the encouragement makes me play better. The cycle again: good gameplay → chat celebrates → confidence rises → better gameplay → more celebration. The positive feedback loop that Kira described as the thing that separated growing streamers from stagnant ones not skill, not content, but momentum.
<<chat "stream_viewer_c1" "face reveal when?? we're DYING">>
<<chat "stream_viewer_c1" "yeah ellie when do we get the full face??">>
<<chat "stream_viewer_c1" "i bet she's gorgeous. the eyes are already a 10">>
<<eli "Ahh, you guys! I'm still not ready! I promise it's coming though. Soon. I just want to get everything perfect first, you know?">>
I look at the lens when I say "soon." Direct eye contact. A slow blink the lashes sweeping down and up. The word "soon" delivered with the weight of a promise and the intimacy of eye contact. The chat reacts like I proposed.
<<chat "MidnightWhale99" "the way she said 'soon' while looking at the camera. i need a moment.">>
<<chat "stream_viewer_c1" "she blinked slowly while saying soon. that's a power move.">>
<<chat "ChillVibesOnly" "SOON. she said SOON. i'm marking my calendar">>
[[Round 6|day_4_9_other]]<<nobr>>
<<set $day_step to 3>>
<<set $viewers to 312>>
<<set $followers += 23>>
<<set $donations += 66>>
<<set $money += 66>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 267
Viewers: 289
Viewers: 312
The stream hits two hours. The dashboard is a document from a different life:
$5.00 from stream_viewer_c16: "best morning of my life and i haven't even gotten out of bed"
$12.00 from WhaleWatcher_7: "new here. subscribed. those eyes are an investment."
$7.00 from stream_viewer_c17: "the way she touches her hair should be its own stream category"
I'm getting tired. The performance strain is real two hours of sustained eye contact and vocal modulation and practiced gestures and VoxMorph processing and Silver-ranked gameplay simultaneously. The cognitive load is immense. But the numbers keep me going the way caffeine keeps a driver awake not sustainably, not healthily, but effectively.
One more match. The fifth. I play it well 9 and 4, my best K/D ever. The chat loses its collective mind. The peak viewer count spikes during the final round:
[[Round 8|day_4_10_other]]<<nobr>>
<<set $day_step to 10>>
<<set $viewers to 324>>
<<set $followers += 12>>
<<set $donations += 13>>
<<set $money += 13>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 324
<<chat "stream_viewer_c1" "NINE AND FOUR?? NINE AND FOUR?? ELLIE??">>
<<chat "ChillVibesOnly" "SHE'S ASCENDING INTO A HIGHER RANK IN REAL TIME">>
<<chat "night_owl_cc" "the glow up is gameplay AND visuals and i'm here for ALL of it">>
<<chat "MidnightWhale99" "324 viewers. 4th time streaming. we're watching history.">>
I end the stream with the full technique stack: direct eye contact at the lens, the slow blink, the hair sweep, the slightly lowered voice for intimacy.
<<eli "Okay everyone, I have to go I have plans today and I can't be late. But this morning was INCREDIBLE. 324 viewers?? I literally cannot. You guys are my everything. I'll be back tonight. Same time. Same eyes.">>
I wink at the camera. One eye closing, the lashes visible against the cheek. It's a move I practiced for thirty seconds this morning and it lands like a bomb.
<<chat "stream_viewer_c1" "SHE WINKED">>
<<chat "stream_viewer_c1" "THE WINK. I'M NOT OKAY.">>
<<chat "MidnightWhale99" "same eyes. she said same eyes. i'm ruined.">>
<<chat "ChillVibesOnly" "BEST STREAMER ON THE PLATFORM CONFIRMED">>
I hit End Stream.
[[End Stream|day_4_11_other]]<<nobr>>
<<set $day_step to 11>>
<<set $viewers to 0>>
<<set $followers += 0>>
<<set $donations += 0>>
<<set $money += 0>>
<<set $right_sidebar_mode to 0>>
<<set $playerImage = "images/user/tier_0_2.jpeg">>
<<set $hint = "Hang out with Marc">>
<</nobr>>
Duration: 2 hours 8 minutes
Peak Viewers: 324
Average Viewers: 198
New Followers: 70
Total Followers: 218
Donations: $177.00
Subscribers: 9
$177. In a morning stream. The number on the dashboard is larger than my weekly rent payment used to seem.
I close OBS. Close VoxMorph. Take off the wig. The face in the dead webcam preview returns Eli, pale, tired, the lashes and brows looking orphaned without their frame. The person the 324 viewers don't know exists.
Marc is coming at 2. I have two hours.
I eat a microwave burrito. Rotate at one minute. But this time, while the microwave hums, I open the RegenaForm app on my phone. I don't select anything. I just... browse. The Tier 1 menu. The options I haven't purchased yet. Nose 500 $. Lips 400 $. Jawline 600 $. Cheekbones 400 $. The crop line, dropping lower with each purchase. The face reveal, getting closer with each modification.
I close the app. Eat the burrito. It tastes the same as every burrito warm salt and texture but today it tastes like fuel rather than defeat.
[[Marc's Visit|day_4_12_other]]Marc arrives at 2:12 PM. Twelve minutes late. The Marcus standard.
Two quick knocks, a pause, one more. The rhythm he's been using since high school. I open the door.
Charcoal hoodie. Basketball shorts. January. A Tupperware of leftover curry in one hand, phone in the other. The scar on his left eyebrow catching the hallway light.
<<marc "Yo.">>
<<eli "Hey.">>
He walks in. Steps over the Monster can I still haven't picked up. The apartment welfare scan mattress, desk, kitchen, closet door. The closet door is closed. The wig is inside. The RegenaForm bag is behind the mini-fridge. The monitors are off. Everything is where it needs to be, which is to say hidden.
He drops the curry on the counter. Turns. Looks at me. The Marcus scan the direct brown eyes cataloging the state of things.
<<marc "You look rested.">>
<<eli "Sleeping better.">>
<<marc "Since when?">>
<<eli "Couple days.">>
<<marc "Huh. You do something different? New vitamins or whatever?">>
The lashes. The brows. The two modifications sitting on my face in plain sight. I feel my pulse spike.
<<eli "Just... sleeping more. Eating slightly better.">>
<<marc "Slightly better than burritos isn't a high bar.">>
<<eli "It's the bar I have.">>
He accepts it. The way Marcus accepts things with a nod and a subject change, the gift of not pushing. He doesn't see the lashes because he's not looking for them. He doesn't see the brows because the change is incremental and his reference frame is "Eli always looks like shit" and today I look like slightly less shit and the delta isn't suspicious enough to investigate.
The curry goes on the hot plate. We eat standing at the counter the same ritual, the same geography, two men in a studio apartment eating reheated chicken and rice.
<<marc "Devon's definitely getting fired.">>
<<eli "The sink guy?">>
<<marc "He dropped a customer's AirPods yesterday. Down the actual drain. The customer watched it happen. Watched his AirPods disappear into the plumbing.">>
<<eli "How do you drop AirPods down a drain?">>
<<marc "Devon finds a way. Devon could drop the sun if you gave him five minutes.">>
<<eli "At least it wasn't a phone this time.">>
<<marc "The bar for Devon keeps lowering and he keeps finding ways to go under it.">>
We move to the mattress. I grab the controllers the good one for Marcus, the thrift-store replacement for me. The PS4 boots. Rift Walkers loads.
[[Play Rift Walkers|day_4_13_other]]<<set $day_step to 13>>
We play. The rhythm is the same the yelling, the panic, the call-and-response that strips the layers away.
<<eli "HEAL ME ">>
<<marc "I literally have no charges left. Dodge.">>
<<eli "Dodge WHAT? He's got ">>
<<marc "Six arms, yeah, I remember. Dodge the arms.">>
<<eli "That's not a strategy!">>
<<marc "Neither is dying!">>
Floor 16. Tied the record. The death is spectacular a trap chain reaction into a boss attack that wipes us both in the same frame.
<<marc "Floor 16.">>
<<eli "Tied it.">>
<<marc "We break it next time.">>
We run it three more times. Floor 12. Floor 9. Floor 14. The game is meditation for two hours, I'm not Ellie. I'm not ElliePlayz. I'm not a voice modulator or a wig or a dashboard. I'm Eli. Marcus's friend. A person on a mattress dying on Floor 12.
Marcus is the anchor. The fixed point. The person who doesn't know and doesn't need to know and whose not-knowing is the last clean surface in a life that's getting complicated.
Between runs, during loading screens:
<<marc "How's the streaming stuff going?">>
<<eli "Better. Trying some new approaches.">>
<<marc "New approaches like what?">>
<<eli "Content strategy. Timing. Presentation stuff.">>
<<marc "On EliPlays?">>
The half-second pause. The gap where the truth lives.
<<eli "Just... streaming in general.">>
<<marc "Cool. Whatever works.">>
He doesn't push. The gift.
<<marc "You seeing Kira today?">>
<<eli "She's picking me up at 6. Thai food.">>
<<marc "Thai food with Kira. You should make a move.">>
<<eli "Marc.">>
<<marc "I'm just saying. She clearly likes you. The heart emojis. The ramen. She drives you places.">>
<<eli "She's my friend.">>
<<marc "She's your friend who wants to be more than your friend and you're too busy being an idiot to notice.">>
<<eli "I'm not being an ">>
<<marc "You called her hot and then said 'kidding.' That's idiot behavior. Textbook.">>
<<eli "Can we play the game?">>
<<marc "I can play the game and tell you the truth simultaneously. Multitasking.">>
<<eli "Your multitasking sucks. You walked into a trap while lecturing me.">>
<<marc "The trap was a metaphor.">>
<<eli "The trap killed your character.">>
<<marc "My character died for a cause.">>
I throw a cheese puff at his head. He catches it in his mouth. Neither of us says anything.
At 4:30, Marcus stands. Stretches. Spine-crack.
<<marc "Gotta bounce. Pickup game at the gym.">>
<<eli "Have fun.">>
<<marc "Have fun with Kira. And Eli ">>
<<eli "Don't.">>
<<marc "Make. A. Move.">>
<<eli "Goodbye, Marcus.">>
<<marc "I'm just saying ">>
<<eli "GOODBYE.">>
He grins. Picks up his hoodie. Heads for the door.
<<marc "Whatever the new streaming approaches are glad they're working. You seem different.">>
<<eli "Different how?">>
<<marc "Less like you're waiting for something to happen. More like something already did.">>
He leaves. The door closes. The apartment settles.
Something already did. He said it casually but the words have weight the weight of observation from a person who's been watching me for two years. Something already did happen. Several somethings. A voice modulator. A wig. A clinic. $387 in four days. A face that's changing. A person that's splitting. Marcus can feel the shift without seeing the cause, the way you feel an earthquake before the shaking starts a change in pressure, a vibration too low to hear.
4:45 PM. Kira at 6. An hour and fifteen minutes. I shower. Grey shirt. The uniform.
<<set $hint = "Go Outside to meet Kira">>
[[Wait till Kira Comes|apartment_map]]She picks me up at 6:04. Cherry blossom. Heater. The geography of warmth that I've learned to associate with her presence even though her presence is just friendship just the warmth of a person who shows up when they say they will and doesn't make you explain why you needed them to.
<<kira "Hey!">>
<<eli "Hey.">>
She's wearing an olive jacket over a black turtleneck, the wire-frame glasses slightly crooked, one hoop earring catching the dashboard light. She looks good. She always looks good. I notice this the way I've always noticed it distantly, appreciatively, the way you notice a sunset without expecting it to notice you back. She pulls into traffic.
<<kira "How was your day?">>
<<eli "Marc came over. We played Rift Walkers. Tied Floor 16.">>
<<kira "Is that good?">>
<<eli "It's our personal best. We've been stuck at 16 for months.">>
<<kira "Congratulations on your matching record of mediocrity.">>
<<eli "That's almost exactly what Marc said.">>
<<kira "Great minds.">>
She glances at me. The quick look the friend-check, the Kira version of Marcus's welfare scan. Except this time the glance holds. A half-second longer than normal. She's looking at my face. Studying it the way she studies analytics with the focused attention of a person whose brain doesn't accept data without processing it first.
<<kira "Eli.">>
<<eli "Yeah?">>
<<kira "Your face looks different.">>
The sentence lands like a dropped glass sharp, sudden, the pieces scattering. I keep my expression neutral through sheer force of will and eight months of practice at hiding emotional responses from webcams.
<<eli "Different how?">>
<<kira "I don't know. Something around your eyes. They look... bigger? More open? And your eyebrows are ">>
She pauses. Tilts her head. The analytical gaze intensifying.
<<kira "Did you reshape your eyebrows?">>
The question is so specific, so precise, so exactly correct that my blood temperature drops three degrees. She's not guessing. She's observing. Kira Nomura the girl who notices energy drink brand changes and remembers 3 AM voice frequencies is looking at my brow arch and identifying the modification with the accuracy of a person who has looked at enough faces on enough screens to know what a natural brow looks like and what a sculpted one looks like.
<<eli "I, uh I tried one of those eyebrow grooming kits? From the drugstore. YouTube tutorial.">>
<<kira "An eyebrow grooming kit.">>
<<eli "Yeah. For, like, shaping. It was a video about looking better on camera. For streaming.">>
<<kira "You shaped your eyebrows. For streaming.">>
<<eli "Is that weird?">>
She looks at me for two more seconds. I can see her brain working the analytical engine processing the data, comparing the input (his eyebrows are visibly different) against the explanation (drugstore grooming kit + YouTube tutorial), testing the plausibility.
<<kira "...it's not weird. Lots of streamers groom. Male streamers too. It's just ">>
<<eli "Just what?">>
<<kira "You never cared about that stuff before. The skincare routine, the hair washing, now eyebrow shaping. It's like someone flipped a switch.">>
<<eli "Maybe someone did.">>
<<kira "What does that mean?">>
<<eli "It means I'm trying harder. Is that allowed?">>
She's quiet for a moment. The blinker clicks as she turns onto the main road. The sound is mechanical, rhythmic, indifferent to the conversation happening over it.
<<kira "Of course it's allowed. I'm glad you're trying. You look good, Eli. The eyebrows actually look really nice.">>
<<eli "Yeah?">>
<<kira "Yeah. They open up your eyes. Your eyes look bigger with the arch. It's a good shape for your face.">>
She says it analytically the streamer in her assessing a visual change the way she'd assess a new overlay or a lighting setup. But underneath the analysis there's something else. Something that sounds almost like surprise, or recognition, or the specific feeling of watching a person you've been silently wishing would try harder actually start trying.
<<kira "Just... don't overdo it, okay? The 'you' version of better is good. You don't need to be someone else.">>
The sentence hits the center of my chest and detonates. You don't need to be someone else. Said by a person who doesn't know that I've been being someone else for 324 viewers and $177 and a wig in a closet. The irony is a blade so sharp I don't feel the cut until later.
<<eli "I won't overdo it.">>
<<kira "Promise?">>
<<eli "Promise.">>
She nods. Accepts it. Moves on. The drive continues through the January evening, the city transitioning from the grey daytime palette to the amber-lit nighttime version, streetlamps flickering on one by one like neurons firing in a waking brain.
<<kira "Oh I forgot to tell you. I hit 13,000 followers today.">>
<<eli "That's amazing, Kira.">>
<<kira "It's weird, honestly. Like, I remember when hitting 500 felt like a miracle. Now 13,000 feels like math. Like it's just the number that comes after 12,900. The excitement scales down as the numbers scale up.">>
<<eli "Hedonic adaptation.">>
<<kira "Look at you using psychology terms.">>
<<eli "I read it on a Reddit thread about streamer burnout.">>
<<kira "The fact that you're reading about streamer burnout is either promising or concerning and I can't tell which.">>
<<eli "Both.">>
She laughs. The real one the crinkle-nose, glasses-slip burst that she tries to suppress and fails. The laugh that I filed in the Kira Archive months ago under "favorite sounds." It fills the car the way the cherry blossom fills the air pervasive, warm, belonging to this specific space and this specific person.
<<kira "At least you're self-aware about it.">>
[[Go Inside|day_4_15_other]]<<set $day_step to 14>>
<<set $hint = "Check the Menu and Order Food">>
The Thai place is called Lotus Room. Small, warm, red and gold decor, twelve tables. The smell of lemongrass and chili and coconut milk. We sit near the window not a corner booth, not the intimate geography of a date, just a table for two by the glass where the street is visible outside and the restaurant is visible to anyone walking past.
<<set $locationName to "Lotus Room">>
<img src="images/locations/lotus_room.jpeg" alt="Lotus Room Interior" class="scene-image">
<<set $locationImage to "images/locations/lotus_room.jpeg">>
Friends at dinner. That's what this is.
<<kira "I'm getting pad thai. You?">>
<<eli "Green curry.">>
<<kira "Spice level?">>
<<eli "Medium.">>
<<kira "Coward.">>
<<eli "I prefer 'tactically cautious.'">>
<<kira "You prefer wrong.">>
She orders. In her minimal Thai two words and a point and a smile that probably earns us better service than fluency would. The food comes fast. The pad thai is a generous tangle of noodles and bean sprouts and crushed peanuts with a lime wedge perched on the rim. My green curry is a pool of emerald coconut milk, steam rising like a signal.
We eat. The conversation spirals. She tells me about the brand deal she's been negotiating a skincare company that wants her to say "this product changed my skin" and she's been pushing back because her skin hasn't changed.
<<kira "I told them I'd say 'I've been using this product' which is technically true because they sent me samples. But I won't say it changed my skin because it didn't change my skin. It's moisturizer. It moisturized.">>
<<eli "The integrity of moisturizer advertising.">>
<<kira "Don't laugh! This is real! If I lie about a moisturizer, my audience loses trust. And trust is ">>
<<eli "The most valuable currency.">>
<<kira "Exactly.">>
Trust is the most valuable currency. She says it like a mantra, like a first principle, like the bedrock of everything she's built. 13,000 followers built on the foundation of a person who won't lie about moisturizer. And I'm sitting across from her with engineered eyelashes and sculpted eyebrows and a wig in a closet and a voice modulator on my desktop and a fake name on a streaming account that's earned more in four days than her integrity has earned her this week.
The green curry is good. Rich, coconut-heavy, the kind of warmth that starts in the mouth and spreads to the chest. I eat and I listen and I talk and I'm present genuinely present, the real Eli, the version Kira says is better in person and the evening is settling into the comfortable rhythm that makes Kira's company feel like coming home to a home I never had.
Then the door opens.
The restaurant door. The front entrance, fifteen feet from our table. It opens and cold January air pushes in for a moment and a person steps through and the door closes and the warmth returns and nothing has changed except that I can't look away.
She's tall. Taller than Kira. 5'8", maybe 5'9", and the heeled boots add two inches beyond that, putting her at a height that commands attention the way a tall building commands a skyline. She's wearing a fitted dark dress black, simple, ending above the knee with a leather jacket over it, the collar turned up, the look of a person who dressed for an evening rather than a Thursday. Her hair is long. Past the shoulders. Dark brown with a slight wave, the kind of wave that could be natural or could be a curling iron and looks expensive either way, the kind of hair that moves when she moves, that catches the restaurant's red-gold light and absorbs it and gives it back warmer.
Her face is I don't have the vocabulary. Or rather, I have too much vocabulary now, three days of YouTube tutorials and RegenaForm catalogs having given me a lexicon for beauty that I never wanted and can't unlearn. Her cheekbones are high and defined "High & Defined" from the Tier 1 menu, the option that "creates shadows that photograph beautifully." Her lips are full with a pronounced upper-lip shape "Cupid's Bow," the RegenaForm option that costs 450 $. Her eyes are large, dark, framed by lashes that are either genetic miracles or the product of a clinic not unlike the one four blocks from my apartment. The whole composition face, hair, body, posture is a catalog of the specific elements I've been studying and optimizing and performing, assembled on a real person with the coherence that my Ellie avatar is still trying to achieve.
She walks to a table across the room. Alone. Waiting for someone. She sits, crosses her legs the movement drawing a line that my eyes follow involuntarily, from the ankle up the calf to the knee to the thigh where the dress hem rides up an inch and the skin above it is smooth and bare and she pulls out her phone and the light from the screen illuminates her face from below, blue-white on the cheekbones and the lip contour and the column of her throat.
I'm watching the way I watch a stream. With the analytical focus I've developed over three days of studying feminine presentation. But beneath the analysis beneath the clinical observation of "those cheekbones, that lip shape, that lash density" there's the other thing. The older thing. The thing that isn't analytical at all. The thing that makes my chest warm and my hands still and my brain stop producing useful thoughts.
She's beautiful. Not the way Kira is beautiful specific, angular, the beauty of intelligence and wire frames and sharp bobs. This woman is beautiful the way a landscape is beautiful. Broad. Undeniable. The kind of beauty that doesn't require context or personality or a 45-minute couch conversation to appreciate. The kind that stops scrolls and fills thumbnails and earns $487 in four hours and the kind that I am, in the secret hours of my life, trying to build on my own face.
Three seconds. Maybe four. That's how long I look at her before
<<kira "Eli?">>
<<eli "Hmm?">>
<<kira "I was talking about the brand deal. The response rate they're asking for.">>
<<eli "Right. Sorry. What response rate?">>
<<kira "I switched topics thirty seconds ago. I was asking about your stream schedule.">>
<<eli "Sorry. I just ">>
<<kira "You're staring at that woman.">>
The sentence arrives flat. Not angry Kira doesn't do angry the way other people do angry. She does controlled. She does precise. She does the specific vocal compression of a person who is holding something at arm's length and examining it before deciding whether to let it in.
<<eli "I wasn't ">>
<<kira "You were. It's fine. She's pretty.">>
The words "she's pretty" come out the way a scientist names a species accurately, neutrally, with the implicit acknowledgment that accuracy and neutrality aren't the same as indifference.
<<eli "I wasn't staring. I just ">>
<<kira "Eli. I have eyes. I saw where yours went.">>
I have eyes. The phrase carries more weight than its three words. I have eyes too. As in: I see what you see. As in: I see the kind of beauty that catches your attention and it's the kind I'm not. As in: you told me I was hot in my apartment and then you laughed and said "kidding" and now you're staring at a woman in a fitted dress and the differential between that stare and the laugh is an equation I can solve and the solution is that you were kidding, you were always kidding, and the heart emojis I send every day are letters to a mailbox that nobody checks.
She doesn't say any of this. She says:
<<kira "Can we get the check?">>
<<eli "We literally just got our food.">>
<<kira "I'm not that hungry.">>
Her plate is half-full. The pad thai she ordered with the enthusiasm of a person looking forward to noodles is sitting there, cooling, abandoned. She doesn't look at it. She doesn't look at me. She looks at her phone, opens the payment app, and flags the server with a raised hand that's steady and professional and completely devoid of the warmth that was in it ten minutes ago.
<<eli "Kira, come on. I wasn't ">>
<<kira "It's fine. I have an early stream tomorrow. I should probably get home.">>
The lie is obvious and they both know it. Her stream isn't until noon. She told me in the car. "Early stream" is code for "I want to leave" and I can see the code and she knows I can see the code and neither of us acknowledges the encryption.
She pays. Card tap. The server brings the receipt. Kira signs it with the quick, clean signature of a person who wants to be anywhere but here. She stands. Puts on the olive jacket. Doesn't look at me while she does it.
I glance involuntarily, reflexively, the way a person scratches an itch at the stranger's table as we pass it. The woman is still there. Still alone. Still beautiful in the way that has nothing to do with me and everything to do with the algorithm that lives in the back of every human skull, the one that says look at that before the conscious mind can intervene.
Kira sees me glance. Her jaw tightens. The small muscles along the hinge visible beneath the skin. She walks faster toward the door.
<<set $hint = "Go Back to Kira's Apartment">>
[[Go Back to Kira's Apartment|day_4_16_other]]The car ride home is a study in silence as architecture.
Cherry blossom. Heater. The same warm enclosure. But the warmth is wrong the temperature is fine but the emotional temperature has dropped to something approaching the January outside. Kira drives with both hands on the wheel, ten and two, eyes on the road, the posture of a person who is concentrating on driving because concentrating on driving means she doesn't have to concentrate on anything else.
I sit in the passenger seat and I look out the window and I count the streetlamps one, two, three because counting is something to do that isn't talking and isn't thinking and isn't feeling the specific kind of shame that comes from hurting someone without meaning to.
Four blocks. Five. Six. The city scrolls past, amber-lit, indifferent to the atmosphere inside the Civic.
At block seven, Kira speaks.
<<kira "Can I ask you something?">>
<<eli "Yeah.">>
<<kira "When you said 'it's hot' in my apartment the click-through rate thing and then you laughed and said you were kidding.">>
The air in the car changes. Thickens. The cherry blossom scent intensifies the way scents do in small spaces when the oxygen gets heavier.
<<eli "...yeah?">>
<<kira "Were you kidding?">>
The question has been sitting in her chest for two days. I can hear it in the way she asks it not casually, not spontaneously, but with the deliberate cadence of a person who has practiced this sentence the way she practiced streaming, the way she practices everything, in the shower, alone, refining the words until they're precise enough to say out loud.
<<eli "Kira...">>
<<kira "Because from where I'm sitting and I'm sitting right here, Eli, in this car that I drive to pick you up because I want to, not because I have to from where I'm sitting, you said I was hot and then you took it back. And now tonight you're staring at a stranger who's hot and you're NOT taking it back. And I'm trying to figure out what I'm supposed to do with that difference.">>
The words land like stones in water. Each one accurate. Each one earned. The argument is constructed with the same analytical precision she brings to stream strategy and brand deals and the parasocial sweet spot logical, evidence-based, airtight.
<<eli "I wasn't ">>
<<kira "You were. You looked at her the way people look at my stream thumbnail. The scroll-stopping look. I know what it looks like, Eli. I see it in my analytics every day.">>
She's comparing my stare to a click-through rate. She's quantifying my attention the way she quantifies viewer engagement. The streaming vocabulary has invaded her emotional life and it's devastatingly effective because the metaphor is perfect I looked at the stranger the way the algorithm wants people to look at faces. The scroll-stopping look. And I didn't give it to Kira.
<<eli "That's not fair.">>
<<kira "What's not fair is sending someone heart emojis every night and then not sending them back. What's not fair is driving thirty minutes in January to pick someone up for dinner and watching them stare at someone else over the pad thai. What's not fair is asking someone if they were kidding and knowing they're going to dodge the question because they've been dodging everything since Tuesday.">>
She says it all in one breath. One long, measured, perfectly constructed breath that doesn't break and doesn't waver and doesn't crack. The emotional equivalent of her stream voice controlled, professional, the performance of composure over a substrate of something raw.
Then she stops. Breathes. Her hands tighten on the wheel.
<<kira "I'm sorry. That was a lot.">>
<<eli "No. You're right.">>
<<kira "I'm not trying to be right. I'm trying to understand.">>
<<eli "I know.">>
<<kira "So help me understand.">>
I look at her. In the dashboard light, her face is half-illuminated the wire-frame glasses catching green from the instruments, the jaw set, the lips pressed together. She looks tired. Not the physical tired I see in my own mirror the tired of a person who has been carrying a feeling for a year and a half and the weight is showing.
<<eli "I wasn't kidding.">>
The words come out before the defense mechanism can catch them. Four words. Bare. No laugh. No hedge. No "haha just playing."
Kira's hands shift on the wheel. A micro-adjustment. She doesn't look at me.
<<eli "I wasn't kidding and I'm scared and I don't know what to do about any of it.">>
<<kira "Scared of what?">>
<<eli "Of everything. Of you. Of being the guy who can't buy coffee trying to date the girl with 13,000 followers. Of ruining the only good friendship I have because I can't keep my mouth shut about click-through rates.">>
<<kira "Eli ">>
<<eli "I'm scared that if we try this if we cross that line and it doesn't work, I don't just lose a girlfriend. I lose the person who tells me to eat real food and drives me to Thai restaurants and sends heart emojis I don't deserve.">>
The car slows. She's pulling up to my building. The curb. The same curb. The building with the broken elevator and the ceiling crack and the wig in the closet.
She puts the car in park. Doesn't turn off the engine. The heater hums. The cherry blossom hangs in the air. She looks at the windshield. Not at me. At the glass.
<<kira "You're an idiot.">>
<<eli "I know.">>
<<kira "A genuine, certified, clinical idiot.">>
<<eli "I know.">>
<<kira "The heart emojis aren't because I feel sorry for you. They're because I like you. I've liked you since the first time we played together. I've been not-subtle about it for a year and a half.">>
<<eli "I know.">>
<<kira "You KNOW?">>
<<eli "Marcus told me.">>
<<kira "MARCUS? Marcus who's never met me? Marcus TOLD you?">>
<<eli "He's very perceptive.">>
<<kira "He's very I'm going to murder him.">>
<<eli "He means well.">>
<<kira "Eli. Look at me.">>
I look at her. She's turned in the driver's seat, her body angled toward me, the seatbelt cutting across the olive jacket. Her eyes behind the glasses are bright not tears, not yet, but the pre-tear brightness, the surface tension of emotion held just barely intact.
<<kira "I need you to figure this out. I can't wait forever. I'm not going to sit in this car sending heart emojis into a void while you stare at other women. That's not a thing I'm willing to do.">>
<<eli "I know.">>
<<kira "Stop saying 'I know.' Say something real.">>
<<eli "I like you, Kira. I've liked you for a long time and I was too scared to say it and I'm still too scared and I don't know how to not be scared.">>
She looks at me. Three seconds. The dashboard hums. The cherry blossom hangs. The January cold presses against the windows from outside, wanting in.
<<kira "That's a start.">>
<<eli "Yeah?">>
<<kira "A really bad, emotionally stunted, pathologically avoidant start. But a start.">>
<<eli "So... what now?">>
<<kira "Now you go inside. And you think about what you want. And you text me tomorrow. Not a thumbs-up. Not a 'night kira' with no emoji. An actual text. With actual words. About actual feelings. Can you do that?">>
<<eli "I can try.">>
<<kira "Try harder than you tried with the click-through rates.">>
<<eli "...fair.">>
She doesn't lean across the console. Doesn't kiss me. But she reaches out and her hand small, warm, the pixel-heart tattoo at the wrist squeezes mine on the center console. One squeeze. Firm. A punctuation mark that says this isn't over but it isn't resolved either and you have homework.
<<kira "Goodnight, Eli.">>
Not "disaster." Not the nickname. Just my name. The real one. Said with a weight that names carry when they're being used seriously.
<<eli "Goodnight, Kira.">>
I get out. Close the door. The Civic idles at the curb. She doesn't pull away immediately she waits until I'm at the building door, until I've hip-checked it open and stepped into the hallway, and then I hear the engine rev gently and the tires roll and the car pulls away and the cold fills the space where the cherry blossom was.
I stand in the hallway. The fluorescent light flickers overhead. The elevator makes its submarine sound behind the closed doors. The stairs stretch upward to the second floor, to the apartment, to the mattress and the desk and the fridge and the crack and the wig in the closet.
She said figure it out. She said text her tomorrow with actual words about actual feelings. She gave me homework.
The problem is that the feelings I have are real and the life I'm living is fake and the gap between those two things is the same gap that lives between EliPlays and ElliePlayz measurable, growing, and funded by a secret that gets more expensive to confess with every passing day.
I take the stairs. Open the apartment. Stand in the dark.
[[Go to the Bedroom|day_4_17_other]]The wig is in the closet. The VoxMorph is on the desktop. The dashboard has $177 from this morning and the night stream hasn't happened yet and the nose costs $500 and Kira just told me she likes me and I told her I like her back and neither of us kissed because we're both too scared and too smart and too aware that the timing is wrong in a way that neither of us can fully articulate.
I close the door. The night has just begun.
10:30 PM. The apartment. The ritual.
The evening sits in my chest like swallowed glass Kira's voice saying "I need you to figure this out" and "I can't wait forever" and "text me tomorrow with actual words about actual feelings." The homework. The assignment I have no idea how to complete because the actual feelings include things like "I'm pretending to be a woman on the internet" and "I went to a bioengineering clinic and had my face modified" and "I've earned more money in four days as a fake girl than you earn in a week as a real one" and none of those qualify as the kind of actual feelings she's looking for.
I push it down. The way I push everything down. The apartment is cold and the fridge hums and the closet is closed and inside it the wig waits on its form like a costume between acts.
Wig on. Four minutes now. The routine getting faster. VoxMorph calibrated. Webcam tilted up. Desk lamp angled.
I check the OBS preview. Ellie's eyes look back at me. Large, lash-framed, brow-arched. The eyes that earned $177 this morning. The eyes that 324 people called beautiful. The eyes that are, right now, the eyes of a person whose best friend just told him to figure out his feelings and whose response is to put on a wig and stream for strangers.
The stream doesn't care about Kira's homework. The stream wants Ellie. And Ellie whatever Ellie is, whoever Ellie is doesn't have relationship problems. Ellie has viewers and donations and a community that says "you're safe here" and means it in the uncomplicated way that only strangers can mean things, because strangers don't know enough to be hurt by the truth.
ElliePlayz Live
Category: Just Chatting → Gunmetal Requiem
Viewers: 0
Click. Go Live. Look at the lens. Become her.
<<set $hint to "Go Live and Start Streaming">>
[[Go Live|day_4_18_other]]<<set $playerImage to "images/user/tier_0_3.jpeg">>
<<nobr>>
<<set $day_step to 18>>
<<set $viewers to 38>>
<<set $followers += 3>>
<<set $donations += 12>>
<<set $money += 12>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
<<eli "Hiii! Late night crew, I'm back! I missed you guys so much. Something about the night streams just feels... I don't know, cozy? Like it's just us and the game and the vibes.">>
The "just us" at the lens. Direct eye contact. Two seconds. The slow blink. The hair sweep. Each technique deployed with the precision of a person who studied thirty-seven methods this morning and is now executing them on muscle memory while his emotional core runs a completely separate process labeled "WHAT THE FUCK DO I TEXT KIRA TOMORROW."
Viewers: 6
Viewers: 19
Viewers: 38
The regulars arrive. The notification squad. The names I'm starting to know better than some of the people in my actual life.
<<chat "MidnightWhale99" "NIGHT ELLIE. the best ellie.">>
<<chat "night_owl_cc" "twice in one day. we are truly blessed.">>
<<chat "ChillVibesOnly" "THE QUEEN GRACES US AGAIN">>
<<eli "You guys are too sweet. I actually had kind of a weird evening and honestly? Streaming is making me feel so much better.">>
I didn't plan to say it. It just came out. The truth dressed as performance. The "weird evening" is real. The comfort from streaming is real. The fact that I'm more relaxed talking to 38 strangers than I was sitting across from the person I care about most that's real too, and the implications of that reality are something I'll deal with later, or never.
<<chat "stream_viewer_d1" "weird evening?? who do i need to fight">>
<<chat "MidnightWhale99" "whoever made ellie's evening weird is now on the list">>
<<chat "night_owl_cc" "THE LIST. midnight keeps a list apparently.">>
<<chat "stream_viewer_d2" "we will protect you ellie. this is a safe zone.">>
<<chat "ChillVibesOnly" "safe zone ACTIVATED. no weird evenings allowed in this chat.">>
The protection instinct. The warmth. The collective decision of 38 strangers to care about a pair of eyes and a voice. The parasocial bond functioning exactly as designed, providing exactly the emotional support that I need, delivered by exactly the wrong people for exactly the wrong reasons.
But the warmth is real. Even if the girl it's directed at isn't.
[[Start Playing Gunmetal Requiem|day_4_19_other]]<<nobr>>
<<set $day_step to 19>>
<<set $viewers to 67>>
<<set $followers += 7>>
<<set $donations += 29>>
<<set $money += 29>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 67
I load Gunmetal Requiem. The gameplay tonight is different. Not the angry aggression I expected. Something sharper. Colder. The evening with Kira didn't produce rage it produced focus. The kind of focus that comes from compartmentalization, the brain boxing one thing to make room for another. Kira is boxed. The feelings are boxed. The homework is boxed. What's left is the aim and the crosshair and the game and the voice and the eyes.
First match: 11 and 4. My best K/D ever. The same number as the last time I played angry, except tonight it's not anger it's absence. The emotional vacant lot where Kira's homework is parked, producing nothing but a clean headspace that translates into clean gameplay.
<<chat "stream_viewer_d3" "ELEVEN AND FOUR">>
<<chat "ChillVibesOnly" "SHE'S CRACKED TONIGHT">>
<<chat "night_owl_cc" "weird evening ellie is DIFFERENT. she's in the ZONE.">>
<<chat "MidnightWhale99" "those eyes tonight. locked in. fierce. beautiful.">>
$10.00 from MidnightWhale99: "whatever happened tonight turned you into a monster. those eyes are LETHAL."
<<eli "MidnightWhale!! Ten dollars! You're going to make me cry and we've discussed the mascara situation!">>
The callback. The community laugh. The inside joke that's four days old and feels like four years.
<<chat "stream_viewer_d4" "MASCARA LORE CONTINUES">>
<<chat "night_owl_cc" "the mascara cinematic universe expands">>
[[Continue Playing|day_4_20_other]]<<nobr>>
<<set $day_step to 20>>
<<set $viewers to 112>>
<<set $followers += 9>>
<<set $donations += 32>>
<<set $money += 32>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 112
Second match. 9 and 5. The focus holds. I'm playing the best Gunmetal Requiem of my life and the reason is that my emotional processor is offline, rerouted to a background task labeled "KIRA," leaving the gameplay processor with full access to the CPU. This is what dissociation looks like when it's profitable.
$8.00 from stream_viewer_d5: "the intensity in her eyes tonight. she's not playing the game, she's punishing it."
$5.00 from night_owl_cc: "note to self: give ellie a weird evening before every stream. she becomes unstoppable."
<<eli "You guys are terrible enablers and I love you for it.">>
I do the thinking face eyes up and to the right, brows lifting, the "cute contemplation" that the YouTube video taught me. Hold it for a beat. Then back to the lens.
<<chat "stream_viewer_d6" "THE THINKING FACE. god.">>
<<chat "stream_viewer_d7" "she did the brow thing again. the arch when she thinks. it's devastating.">>
<<chat "MidnightWhale99" "the eyebrow arch should be classified as a weapon">>
[[Continue Playing|day_4_21_other]]<<nobr>>
<<set $day_step to 21>>
<<set $viewers to 178>>
<<set $followers += 6>>
<<set $donations += 39>>
<<set $money += 39>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 178
The stream runs. Third match 8 and 6. Fourth match 7 and 7. The consistency is new I'm not spiking and crashing like I usually do, not alternating between miracle clutches and embarrassing feeds. I'm steady. Solid. The boring kind of good that produces wins over time rather than highlights.
Chat starts requesting the crop line drop:
<<chat "stream_viewer_d8" "ellie can we PLEASE get one more inch of face??">>
<<chat "stream_viewer_d9" "just the nose! show us the nose at least!">>
<<chat "stream_viewer_d10" "or the lips!! one more inch!!">>
<<chat "ChillVibesOnly" "the people are BEGGING">>
<<eli "Ahh, you guys! I KNOW. I promise it's coming. I'm working on it. Like, actively working on it. Just give me a tiny bit more time? Soon. I really mean it this time.">>
I look at the lens when I say "soon." The slow blink. The lashes sweep down and up. The word "soon" delivered with the weight of a promise I intend to keep because the nose appointment is tomorrow and the crop line WILL drop and the promise IS real even if everything around it isn't.
<<chat "MidnightWhale99" "she said 'actively working on it.' that's different. that's not 'eventually.' that's 'soon.'">>
<<chat "stream_viewer_d11" "ACTIVELY WORKING ON IT. she's PREPARING something.">>
<<chat "stream_viewer_d12" "the face reveal is going to be an EVENT. i need to clear my schedule.">>
<<chat "night_owl_cc" "clearing my schedule for a streamer's face reveal. this is what my life has become.">>
[[Continue Playing|day_4_22_other]]<<nobr>>
<<set $day_step to 22>>
<<set $viewers to 245>>
<<set $followers += 9>>
<<set $donations += 33>>
<<set $money += 33>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 245
$15.00 from BigSpender_X: "those eyes in the lamp light tonight. different energy. whatever happened, it's working."
$12.00 from WhaleWatcher_7: "subscribed. the eyes, the gameplay, the personality. triple threat."
$7.00 from stream_viewer_d13: "i come here every night now. this is my home."
"This is my home." A stranger just called my stream their home. My stream the one built on a wig and a voice modulator and engineered eyelashes is someone's home. The sentence hits differently than a donation amount. It's not money. It's something heavier. Something that I'm going to have to think about when the stream ends and the wig comes off and Eli sits in the dark and realizes that Ellie's home was built on land that doesn't belong to her.
[[Continue Playing|day_4_23_other]]<<nobr>>
<<set $day_step to 19>>
<<set $viewers to 339>>
<<set $followers += 12>>
<<set $donations += 41>>
<<set $money += 41>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
Viewers: 289
Viewers: 318
Fifth match. The last of the night. I push for it one more, one more, the numbers are climbing and the dopamine is flowing and the homework is boxed and the evening is boxed and everything that hurts is in a box and the boxes are sealed and the stream is the only room that isn't full of boxes.
9 and 3. Nine kills, three deaths. The best single-match performance of my entire streaming career. The last kill is a clutch a 1v3, the kind that shouldn't work, the kind that requires three consecutive headshots at angles that a Silver player has no business hitting. But I hit them. One, two, three. The kill feed scrolls. The round ends.
<<chat "stream_viewer_d14" "1v3. SHE JUST 1v3'd.">>
<<chat "ChillVibesOnly" "NINE AND THREE. NINE. AND. THREE.">>
<<chat "MidnightWhale99" "i am watching the birth of a legend in real time.">>
<<chat "night_owl_cc" "she went from 'i'm so bad' on day one to THIS. character development.">>
Viewers: 339
The peak. I end it here. The wink. The lashes against the cheek. "Same eyes tomorrow."
<<eli "Okay everyone. I have to go. 339 viewers tonight I literally cannot believe this is my life. You guys are everything. Same eyes tomorrow. And about that face reveal? Soon. Real soon. I mean it.">>
<<chat "stream_viewer_d15" "REAL SOON. SHE SAID REAL SOON.">>
<<chat "MidnightWhale99" "tomorrow. i'll be here. always. 🌙">>
<<chat "ChillVibesOnly" "BEST STREAMER ON THE PLATFORM CONFIRMED FOREVER">>
End Stream.
[[End the stream|day_4_24_other]]Duration: 1 hour 51 minutes
Peak Viewers: 339
Average Viewers: 213
New Followers: 34
Total Followers: 252
Donations: $186.00
Subscribers: 12
$186. Combined with morning: $363. Day 4 total.
ElliePlayz Total Earnings to Date: $573
I close OBS. Close VoxMorph. Take off the wig. Place it on the form. Eli returns in the dead preview pale, tired, male, the lashes and brows orphaned without their context.
I open the RegenaForm app.
Current modifications:
- Eyelashes Natural-Long (1.8a): FREE ✓
- Brow Sculpt Feathered (1.7a): 300 $ (credit, due in 4 days) ✓
- Wig StreamLine: FREE ✓
Next target:
- Nose Slope (1.5a): 500 $
The math:
Total earned: $573
Brow sculpt debt: -$300
Net after debt: $273
Nose cost: $500
Shortfall: $227
Tomorrow's projected earnings (conservative estimate based on Day 4): ~$350
After tomorrow: $273 + $350 = $623
Minus nose: $623 - $500 = $123 surplus
One day. Tomorrow's streams cover the debt AND the nose with money left over. By tomorrow night I could walk into RegenaForm, sit in the chair, feel the warmth, and walk out with a nose that lets the crop line drop another inch.
And after the nose:
Lips Natural-Full (1.2a): 400 $ → 1.5 days of streaming
Jawline Soft (1.1a): 600 $ → 2 days of streaming
Cheekbones Soft & Full (1.6a): 400 $ → 1.5 days
Skin treatment Blemish Purge + Glow: 500 $ → 1.5 days
Total remaining Tier 1: ~1,900 $ → approximately one week of streaming at current rate.
One week. Seven days. And then the full face is done. The crop line drops to zero. The face reveal happens. The numbers explode. The $339-peak becomes $500-peak becomes $1,000-peak.
I should tell people. The thought arrives the way it arrives every night "should" dressed in inevitability, a task on a to-do list that keeps getting pushed to tomorrow's column.
Kira. The homework. "Text me tomorrow with actual words about actual feelings." She wants to know what I feel. What I feel is: I like you. I'm scared. I'm also pretending to be a woman and making more money than either of us expected and I have a wig in my closet and my face is being rebuilt by a clinic with a chrome helix logo and I don't know how to put any of that in a text message between heart emojis.
Marcus. "No judgment." He offered. He always offers. The open door I keep walking past.
After the nose. After one more modification. Once the investment is deeper, the numbers are bigger, the story has an ending instead of just a middle. Then I'll tell them. Both of them. Everything.
After the nose. Always after the next thing.
I close the app. Put the phone down. Lie on the mattress. Grey sheets. Thin comforter. Ceiling crack.
[[Lie on the mattress|day_4_25_other]]<<nobr>>
<<set $day_step to 25>>
<<set $day to 4>>
<<set $playerImage to "images/user/tier_0_2.jpeg">>
<<set $route = "other">>
<</nobr>>
The apartment is dark. The fridge hums its one note. The numbers float behind my closed eyes $573, $363 today, the nose tomorrow, the lips next week, the jaw the week after.
But the numbers fade. They always fade in the dark, when the dashboard is off and the wig is in the closet and the performance has ended and I'm just a person on a mattress in a room that smells like microwave burritos and loneliness.
Kira surfaces first. Her face in the dashboard light. "I need you to figure this out." The brightness in her eyes that wasn't tears. The squeeze of her hand on the console. One squeeze. Firm. The punctuation mark that said this isn't over but you have homework.
I think about her and the thinking is complicated and soft and tangled and it doesn't produce the thing I expected it to produce. I like her. I told her I like her. In the car, bare words, no laugh. "I wasn't kidding." Three words that cost me more than any donation I've ever received. And she didn't kiss me and I didn't kiss her and we both sat there in the cherry blossom and the heater and the weird new territory of two people who've admitted something and don't know what to do with the admission.
She's filed under "tomorrow." Under "the text." Under "actual words about actual feelings." I'll deal with it. I have to deal with it. She said she can't wait forever and she meant it.
But tonight right now, in the dark, in the post-stream quiet Kira recedes. Not because I push her away but because the body has its own agenda and the body's agenda is not complicated feelings about a girl with wire-frame glasses.
The body's agenda is the stranger.
She surfaces. The way she surfaced at the restaurant without warning, fully formed, occupying space I didn't allocate. The woman in the dark dress. The one who walked through a door and stopped my scroll. The one Kira caught me looking at. The one who ended the evening.
I didn't see her leave the restaurant. I don't know her name or her voice or a single fact about her interior life. She's a surface. A collection of observations I made in three seconds and twelve minutes of peripheral awareness: the hair, the cheekbones, the lips, the way she crossed her legs, the line the movement drew, the fitted dress and what the fitting revealed.
The body doesn't care about names or voices or interior lives. The body cataloged the surface and filed it and now, in the dark, it retrieves the file.
Her chest. The shape under the dark fabric. Round, prominent, sitting high on her frame. The fitted dress was precise enough to communicate volume without exposing it the architecture of suggestion, the way a good thumbnail shows enough to make you click and hides enough to make you stay. I try to estimate size the way I tried at the restaurant, running the letters through my head like a combination lock I don't have the code for. B? That seems too small for the way the fabric contoured. C? Closer. The shape was I'm constructing this from a three-second glance and the construction is probably wrong, probably exaggerated by desire and darkness and the specific unreliability of memory filtered through arousal but the shape was full. Round. The kind that moved independently of the body when she walked, that had their own physics, that the dress accommodated rather than contained.
C cup. Maybe D. I genuinely don't know. The system the letters, the sizing, the hierarchy from A to G+ that the RegenaForm catalog laid out with prices and shape options and sensitivity levels is a language I've seen written but never spoken. I know theoretically that B is "modest" and C is "noticeable" and D is "attention-grabbing" because I read those exact words in a lookbook in a waiting room two days ago. But mapping the theoretical to the physical matching the letter to the body I saw for three seconds across a restaurant is beyond my capacity.
What I know: they were there. They were visible. They occupied space in the dress and space in my brain and they're occupying space now, in the dark, on the mattress, in the private theater of a person who is alone with his own body and the memory of someone else's.
My hand moves. The familiar route. Under the comforter. Under the waistband. The body knows what it wants and the mind has already ceded control the executive function went offline somewhere between "the way she crossed her legs" and "C cup maybe D" and what remains is the animal, the organism, the simple machinery of a young man alone at midnight.
I think about the stranger. The specifics. The hair against her neck. The cheekbones in the red-gold restaurant light. The leather jacket and the way she shrugged it off one shoulder when she sat down did she? I might be inventing that. The memory is degrading, filling in details it didn't capture, the imagination supplementing the observation, and the result is a woman who is half-real and half-constructed, a composite of what I saw and what I wanted to see.
The dress coming off. My brain draws the scene without permission the zipper, the fabric sliding, the body beneath. The skin smooth. The waist narrow. The hips I remember the hips, the way the fabric clung at the hip and fell to the thigh the hips flaring from the waist. And the breasts. Freed from the fitted fabric. The shape I couldn't name by letter, full and round, the kind of softness that yields beneath the hand, warm and heavy and
I imagine touching them. My hand this hand, the one moving beneath the comforter on her breast. The give. The weight. The texture of skin I've never touched, the specific sensation that exists only in the gap between imagination and experience. The nipple a detail my three-second glance absolutely did not capture but my brain provides anyway, a point of texture, a response to touch, the body inventing what the eyes didn't see.
<img src="images/scenes/day_4/day_4_14.jpeg" alt="Kira's Apartment" class="scene-image">
The rhythm is steady. The images are specific enough to function. The apartment is dark and the fridge hums and the ceiling crack is up there and I am a 22-year-old man on a floor mattress constructing a sexual fantasy from a three-second glance at a woman in a Thai restaurant whose name I don't know and whose body I'm imagining with a confidence that is not warranted by the data.
<img src="images/scenes/day_4/day_4_16.jpeg" alt="Kira's Apartment" class="scene-image">
B. C. D. The letters float like answers to a question I never learned to ask. The RegenaForm catalog Tier 5, Breasts, A through G+ is a menu I've seen but never ordered from, a section of the body-modification buffet that I told myself was irrelevant because I'm only doing Tier 1, only the face, only the crop line, only the minimum necessary to
<img src="images/scenes/day_4/day_4_17.jpeg" alt="Kira's Apartment" class="scene-image">
The thought dissolves. The peak arrives. The body arches, tenses, releases a shudder that carries the evening with it, the dinner and the staring and the car ride and the homework and the stranger and the letters and the dark. For three seconds the brain is empty. Clean. A white room with nothing in it.
<img src="images/scenes/day_4/day_4_15.jpeg" alt="Kira's Apartment" class="scene-image">
Then the white room refills. Kira first. Then the nose. Then the numbers. Then the guilt.
I clean up. Tissue. Settle back. Pull the comforter to my chin.
The homework. Kira's text. Tomorrow. Actual words about actual feelings. I need to figure out what to say to a girl I like while concealing from her the fact that I'm becoming a different girl for money. The Venn diagram of "actual feelings" and "things I can safely reveal" has a very small overlap and it lives in the exact center of the word "scared."
I'm scared, Kira. I like you and I'm scared. That's actual. That's real. That's the text and the nose. Tomorrow. RegenaForm. 500 $. The chair, the gel, the warmth. One more modification. One more step. The crop line drops an inch. The face reveal gets closer. The numbers get bigger. The secret gets deeper. The homework gets harder.
I set the phone beside the mattress. The RegenaForm app icon glows teal. Kira's message thread shows her last text: "Goodnight, Eli." My name. Not "disaster." The weight of being addressed by the real thing.
Tomorrow I modify my nose. Tomorrow I text Kira actual words. Tomorrow I stream and earn and grow and lie.
Tomorrow is a lot of things.
I close my eyes. The fridge hums. The crack grows. The numbers grow. The distance between who I am and who I'm becoming grows.
I sleep. And I don't dream about the stranger or the nose or the crop line.
I dream about a girl with wire-frame glasses saying "I can't wait forever" and a door that's closing in slow motion and my feet won't move and the gap between the door and the frame is the exact width of a text message I haven't written yet.
/* End of v0.0.2/v0.0.3 (In v0.0.3 there is no update in this route, but the branch ends here to keep the file size manageable and the story moving at a good pace. The next update will be v0.0.4, which will start a new branch and introduce new scenes and developments.)
<<set $hint = "v0.0.2/v0.0.3 End of current Story Branch">> */
[[Sleep|eli_bed]]<<nobr>>
<<set $day = 5>>
<<set $day_step to 1>>
<<set $locationName to "Eli's Apartment - Bed">>
<<set $playerImage to "images/user/tier_0_2.jpeg">>
<</nobr>>
I wake up hard. Not emotionally physically. The biological alarm, the morning condition, the body continuing arguments the brain settled hours ago. I'm lying on the grey sheets with the comforter tangled around one leg and the other leg bare and cold and there's a situation in my joggers that has nothing to do with hydration and everything to do with the images my brain ran on loop between 1 AM and whenever sleep finally caught me.
The bathrobe. The collarbone. The thigh across my lap. The "mmnh."
My hand is already halfway to the waistband before the conscious mind boots up and files an objection not a moral one, the body doesn't accept those before 9 AM, but a practical one: the phone is buzzing. Has been buzzing. The vibration is what woke me, not the daylight or the alarm or the crack in the ceiling, but the persistent rattle of a device against hardwood, repeating and repeating like a heart with a message.
I grab the phone. 9:14 AM. Four notifications. Two from Kira, one from Marcus, one from the RegenaForm app.
Kira first. Always Kira first.
<<kira "good morning!! ☀️ i had the WEIRDEST dream about packet last night. he was hosting a cooking show?? and his signature dish was just a bowl of kibble with a garnish. like a single parsley leaf on top. 5 star kibble.">>
<<kira "also i was thinking... do you want to come over tonight? i'll cook something real. not tamago kake gohan real, like actual food real. i bought groceries yesterday like a functioning adult 🎉">>
I read both messages twice. The first one makes me smile the cat dream, the parsley garnish, the way she texts like she's narrating her own life and every moment is worth documenting. The second one makes something in my chest shift not the splinter, not the guilt, something warmer and more dangerous. She wants to cook for me. Not order takeout, not pick up ramen, not hand me a bowl of rice and egg actually cook. The progression from "my treat" to "I'll cook" is a trajectory I can chart and the trajectory points toward a word I haven't used yet, a word that starts with "home" and ends with "made" and means someone thought about you before you arrived.
<<eli "morning. packet should pursue his culinary dreams. tonight sounds great, what time?">>
<<kira "6ish? also bring your appetite. i'm making gyudon and i made WAY too much rice">>
<<eli "i'll bring my appetite. it's the only thing i own in abundance">>
<<kira "😂 see you tonight disaster ❤️">>
<<eli "❤️">>
Red heart. Automatic. The reflex of a person who learned to stop hesitating four days ago in an izakaya when their fingers interlaced over untouched yakitori.
Marcus.
<<marc "yo did you see the new rift walkers update?? floor 17 boss is apparently insane. we need to run it this weekend">>
<<eli "yeah im down. saturday?">>
<<marc "bet. also how's kira">>
<<eli "she's good. seeing her tonight">>
<<marc "my man. bring flowers">>
<<eli "with what money?">>
<<marc "you said the streaming numbers were better. invest in romance">>
He doesn't know how right he is. The money IS better. The money is $504 better over four days, earned by a face and a voice that belong to someone he doesn't know about. I could buy flowers. I could buy flowers and dinner and a new shirt and still have enough to pay the brow sculpt debt and fund the nose and the number would keep climbing because the loop keeps running because Ellie keeps performing and the audience keeps paying and the face keeps changing.
I put the phone down. The fourth notification RegenaForm glows in the bar. I tap it.
Appointment Available: Tier 1 - Nose Refinement (Slope). Today, 2:00 PM. Suite 12. Book now?
The app knows. It always knows. The algorithm that governs my feed, my browse page, my streaming career it extends to the clinic too. RegenaForm's system saw my earnings, calculated the timeline, identified the exact moment I could afford the next modification, and pushed the notification. The door doesn't just open one way. The door has a concierge.
I tap "Book."
Confirmed: 2:00 PM. Dr. Voss. Suite 12. Estimated procedure time: 45 minutes. Recovery: 2–3 hours for full refinement.
The nose. Today. By tonight, when I sit across from Kira with her gyudon and her groceries and her functioning-adult energy, my nose will be different. Narrower. Straighter. The bridge refined, the tip softened, the wide asymmetric thing I've been avoiding in mirrors for 22 years replaced by something that reads as feminine or at least neutral, something that can survive below the crop line, something that earns its place in the frame.
I should tell her. Today. Tonight. Before the nose heals into the face and the face becomes the lie and the lie becomes the architecture of everything we're building. I should sit in her apartment and say: Kira, I need to tell you something and then I should tell her everything. The voice modulator. The ElliePlayz account. The lashes and the brows and the wig and the $504 and the fact that every night after she sends me a red heart I put on a costume and pretend to be a girl for money.
The thought lands in my chest and stays there, heavier than the splinter, closer to the surface. Today. I should tell her today.
After the nose.
No. Not after. Today. With the nose. All of it.
The rationalizations line up like always after the next thing, always after the next thing but something is different this morning. Something that started on Kira's couch with her thigh across my lap and the "mmnh" against my lips and the look in her eyes from four inches away, glasses off, seeing everything. She sees everything. She noticed the lashes. She noticed the brows. She said "hmm" and let it go twice, filed it twice, and the file is getting thicker and the "hmm" is getting louder and she deserves to hear the truth from me before she figures it out on her own.
Today. Tonight. At her apartment. Over gyudon. I'll tell her.
I actually mean it this time. The resolution has a weight to it that the previous versions the "after the nose" and "after the lips" and "when the numbers are undeniable" never had. Those were postponements dressed as plans. This is a plan dressed as terror.
I swing my legs off the mattress. The hardwood is cold. The fridge hums. The ceiling crack is up there, doing its geological thing. But the morning feels different charged, accelerating, the hours between now and 6 PM containing a stream and a clinic visit and a confession that will either bring Kira closer or blow everything apart.
Both are possible. Both are terrifying. Only one includes gyudon. I get up.
[[Get ready|day_5_2_kira]]<<set $day_step to 2>>
Shower. Hot water I wait the full eight minutes now without resentment, the patience of a person who has learned that the things worth having require the standing still. The Marriott shampoo is gone. Finished. Used up over five days of a hygiene revolution that began with a girl noticing my hair and ends with me standing in a shower holding an empty travel bottle and realizing I need to buy actual shampoo like an actual person.
I used the last of it yesterday. Today my hair gets bar soap. The downgrade is immediate and visible the hair that was soft and light reverts to its heavier, duller baseline, not greasy (I've been washing daily now, a streak that would've been unthinkable a week ago) but lacking the luster that the hotel product gave it. I make a mental note: buy shampoo. With money. Money I earned. The thought is still novel enough to produce a small, warm detonation in my chest.
I brush my teeth. Stand in front of the mirror. The mirror I avoided for eight months, the mirror that showed nothing, the mirror I've been using daily for three days now because the face in it has started to become someone worth examining.
The lashes. Still there. Still long and dark and dense, catching the flickering bathroom light in tiny bright points. The brows. Fully settled now the feathered arch complete, lifting the eye area into the open, lighter expression Dr. Maren promised. The skin is still rough, still acne-marked along the jawline, still pale in the way that reads as neglect rather than porcelain. The nose is still the original wide bridge, rounded tip, slightly asymmetric. The feature that sits at the center of the face like a declaration of everything I haven't changed yet.
By 3 PM, the nose will be different. By 7 PM, Kira will know why.
I put on the grey shirt. The black joggers laundered, actually laundered, folded roughly and placed in the closet where the rod fell. The hoodie. The crushed sneakers. The uniform of a person in transition between the life he had and the life he's building, wearing the old wardrobe until the new income authorizes an upgrade.
9:55 AM. Morning stream first. Then RegenaForm. Then Kira. The day has three acts and I know exactly how each one starts but only the first two have scripts.
<<set $hint to "Stream as ElliePlayz.">>
[[Stream|apartment_map]]<<nobr>>
<<set $day_step to 3>>
<<set $playerImage to "images/user/tier_0_3.jpeg">>
<<set $viewers to 0>>
<<set $followers to 252>>
<<set $donations to 0>>
<<set $money += 0>>
<<set $right_sidebar_mode to 1>>
<<set $hint to "Stream as ElliePlayz">>
<</nobr>>
10:15 AM. The ritual. But not as Eli anymore...
Wig on. Three and a half minutes now the muscle memory solidifying, each step automatic. Tuck, position, align, secure. The brownish-auburn waves settle into place and the person in the phone camera shifts from Eli to the suggestion of someone else. VoxMorph calibrated I've been tweaking the settings since yesterday, dialing the breathiness back to 32% because 35% was too airy for morning streams when viewers want energy, not ASMR. OBS loaded. Webcam tilted up eyes, lashes, brows, hair. The feminized zone. The desk lamp angled from the left, warm gold pooling on the cheekbones.
I check the OBS preview. Ellie's eyes look back at me. Large. Framed. The lashes casting their crescent shadows. The brows arched in the soft feathered shape that chat has started calling "the arch." This is the face that earned $504. This is the last time this face streams without the nose.
By tonight, the preview will show something different. Something closer to complete.
ElliePlayz - Live
Category: Just Chatting → Gunmetal Requiem
Viewers: 0
I look at the lens. Click "Go Live."
[[Go Live|day_5_4_kira]]<<nobr>>
<<set $day_step to 4>>
<<set $viewers to 22>>
<<set $followers += 5>>
<<set $donations += 0>>
<<set $money += 0>>
<<set $right_sidebar_mode to 1>>
<</nobr>>
<<chat "ElliePlayz" "Good morning, everyone! Happy Friday! Oh my gosh, it's actually a beautiful day look at me being positive before noon. Who even am I? How is everyone?">>
The wide eyes at the lens. The hair sweep left hand, brownish-auburn waves over the right shoulder, the lamp light catching the shift. The lean-in, two inches closer to the camera, filling the frame.
Viewers: 6
Viewers: 14
Viewers: 22
The notification squad assembles. The names I know now the people whose rhythms I've memorized the way I memorized Kira's stream schedule. MidnightWhale99, always first. ChillVibesOnly, always hyped. Night_owl_cc, always dry.
<<chat "MidnightWhale99" "morning ellie!! she's a morning person now and i'm here for the full transformation">>
<<chat "ChillVibesOnly" "GOOD MORNING QUEEN THE SUN IS OUT BECAUSE YOU'RE STREAMING">>
<<chat "night_owl_cc" "it's 10am and i'm already simping. this is my life now.">>
<<chat "ElliePlayz" "MidnightWhale! You're always the first one here. Do you have notifications tattooed on your retinas?">>
<<chat "MidnightWhale99" "for you? basically yes.">>
<<chat "stream_viewer_e1" "the banter between ellie and midnight is elite content">>
I do the thinking face eyes up and to the right, brows lifting into the arch, the "adorable concentration" expression that took twenty minutes to practice and now arrives on command. Let it hold for two beats. Back to the lens.
<<chat "ElliePlayz" "Okay so I have a little announcement! Not a face reveal don't get excited but I've been working on something and I think you guys are going to notice a change in the next stream or two. That's all I'm going to say. Consider it a teaser.">>
<<chat "stream_viewer_e2" "A TEASER??? WHAT CHANGE">>
<<chat "ChillVibesOnly" "SHE'S TEASING US. THE QUEEN IS TEASING.">>
<<chat "MidnightWhale99" "whatever it is i'm already obsessed">>
<<chat "night_owl_cc" "ellie dropping lore. this is getting good.">>
<<chat "stream_viewer_e3" "is it a face reveal?? please tell me it's more face">>
<<chat "ElliePlayz" "I said it's NOT a face reveal! But... maybe a little more face? We'll see. I want it to be perfect.">>
<<chat "stream_viewer_e4" "MORE FACE. SHE SAID MORE FACE.">>
<<chat "MidnightWhale99" "take my money in advance. whatever more face costs, i'm pre-paying.">>
$10.00 from MidnightWhale99: "pre-payment for more face. use it wisely. 🌙"
<<chat "ElliePlayz" "TEN DOLLARS for a teaser?! MidnightWhale, you're insane and I love you for it. I promise it'll be worth the wait.">>
I do the gasp eyes wide, hand to chest, the lashes fanning. In the preview, the crescent shadows dance. The gesture is second nature now, a reflex rather than a performance, the practiced thing becoming the real thing through sheer repetition.
[[Load Gunmetal Requiem|day_5_5_kira]]<<nobr>>
<<set $day_step to 5>>
<<set $viewers to 68>>
<<set $followers += 11>>
<<set $donations += 25>>
<<set $money += 25>>
<</nobr>>
Viewers: 68
I load Gunmetal. Queue ranked. The loading screen spins and I fill it with the hair touch fingers through the waves, the sweep, the tuck behind the invisible ear. Three people comment. The hair touch is becoming a meme in chat a recurring visual that viewers associate specifically with ElliePlayz, a trademark gesture, the kind of micro-brand that the YouTube coach called "signature behavior."
The match starts. I play well better than I should, better than Silver, the aim steady and the decisions clean. The Kira effect, still lingering. The peace she left in my nervous system, smoothing the edges. 8 and 4. The chat celebrates.
<<chat "stream_viewer_e5" "EIGHT AND FOUR first match of the day she's LOCKED IN">>
<<chat "ChillVibesOnly" "morning ellie is cracked ellie confirmed">>
$5.00 from stream_viewer_e6: "8-4 in the first match. those eyes are AWAKE today."
$8.00 from BobaAndChill: "vibes are immaculate. eyes are immaculate. friday ellie is a mood."
More donations trickle through the hour. $3 here, $7 there. The economy of attention functioning as designed. I play four matches 8-4, 6-7, 9-5, 7-6. The consistency is holding, the skill stabilized at a level that's respectable without being suspicious. Silver players don't consistently go 9-5. But Ellie's 9-5 reads as "she's improving!" rather than "this person might be smurfing."
The second hour. Chat starts the conversation I expected.
<<chat "stream_viewer_e7" "okay but when is the more face happening?? you can't just tease us and leave">>
<<chat "stream_viewer_e8" "face reveal donation goal?? 👀">>
<<chat "MidnightWhale99" "don't rush her. the build-up is part of the art.">>
<<chat "stream_viewer_e9" "midnight is right but also i'm DYING to see more">>
<<chat "night_owl_cc" "what if we pooled donations for a reveal. like specifically the.">>
<<chat "stream_viewer_e10" "REVEAL FUND">>
<<chat "ChillVibesOnly" "i'm contributing to the reveal fund immediately">>
$5.00 from night_owl_cc: "official contribution to the reveal fund. let's make this happen chat."
$5.00 from stream_viewer_e10: "reveal fund +1"
$10.00 from stream_viewer_e11: "i will pay REAL money to see this woman's face. this is where my life is."
<<chat "ElliePlayz" "You guys are RIDICULOUS. A reveal fund?? I'm okay you know what? You might get your face sooner than you think. That's all I'm saying. No promises. But... sooner.">>
<<chat "stream_viewer_e12" "SHE SAID SOONER">>
<<chat "MidnightWhale99" "the face is coming. i can feel it. 🌙">>
The irony is exquisite and painful in equal measure. They're paying for a face reveal. I'm using their money to fund the face that will be revealed. The viewers are literally financing their own surprise. The loop is eating its own tail, the ouroboros of content and commerce, the snake swallowing and sustaining itself simultaneously.
[[Continue stream|day_5_6_kira]]<<nobr>>
<<set $day_step to 6>>
<<set $viewers to 287>>
<<set $followers = 300>>
<<set $donations += 95>>
<<set $money += 95>>
<</nobr>>
Viewers: 287
The stream runs for two hours and twelve minutes. I deploy every technique the eye contact, the gasp, the hair touch, the lean-in, the vocal variation, the callback jokes, the parasocial calibration. The wink at the end. "Same eyes tomorrow. Maybe same eyes plus a surprise."
<<chat "ElliePlayz" "Okay everyone, I have to go! Plans today. But tonight tonight I might have something special. Stay tuned. Notifications ON. I love you guys so much it's genuinely concerning. Bye!!">>
<<chat "MidnightWhale99" "tonight. always tonight. 🌙">>
<<chat "ChillVibesOnly" "NOTIFICATIONS: ON. LIFE: ON HOLD. ELLIE: MY EVERYTHING.">>
<<chat "night_owl_cc" "she said surprise. i'm clearing my schedule.">>
I hit End Stream. The wink. The lashes against the cheek.
[[End Stream|day_5_7_kira]]<<nobr>>
<<set $right_sidebar_mode to 0>>
<<set $playerImage to "images/user/tier_0_2.jpeg">>
<<set $day_step to 7>>
<</nobr>>
Duration: 2 hours 12 minutes
Peak Viewers: 287
Average Viewers: 184
New Followers: 48
Total Followers: 300
Donations: $220.00
Subscribers: 14
Three hundred followers. The number has a roundness to it, a completeness, a milestone that would have seemed impossible four days ago when EliPlays had 54 and a troll and a dream that smelled like microwave burritos. Three hundred people following a pair of eyes and a voice and a name. Three hundred people who will be notified tonight when those eyes return with a nose beneath them.
$220 this morning. Total ElliePlayz earnings: $876.
The brow sculpt debt is $300. The nose is $500. $876 covers both with $76 surplus, which means I'm still short if I pay both today. But the morning stream just earned $220 and tonight's stream will earn at least that much if the pattern holds. The math is tight but it works.
I close OBS. Take off the wig. Eli returns in the dead preview. Pale. Male. The lashes and brows that look strange without their context, feminine accessories on a masculine frame, like finding a tiara on a construction worker.
11:30 AM. Two and a half hours until RegenaForm.
I pick up the phone. Call Marcus.
<<set $hint to "Call Marcus">>
[[Call Marcus|day_5_8_kira]]<<set $day_step to 8>>
<<set $hint to "Call Marcus">>
The phone rings twice. Marcus picks up with the sound of something metallic in the background the phone repair shop, machines and screwdrivers and the ambient buzz of cracked screens being resurrected.
<<marc "Yo. I'm at work.">>
<<eli "Can you talk?">>
<<marc "Devon just dropped a customer's watch into a cleaning solution that was definitely not for watches, so yeah, there's a distraction. What's up?">>
<<eli "You know how you said the streaming stuff was going better?">>
<<marc "Yeah.">>
<<eli "It's going a lot better.">>
<<marc "Define a lot.">>
<<eli "Like... actually making money. Real money. Not three-fifty money.">>
A pause. I can hear Marcus processing the recalibration of expectations, the mental shift from "Eli's delusional hobby" to "Eli's delusional hobby might be working."
<<marc "How much real money are we talking?">>
<<eli "Enough to buy lunch. Real lunch. For myself.">>
<<marc "Bro.">>
<<eli "I know.">>
<<marc "You haven't bought your own lunch since... have you ever bought your own lunch?">>
<<eli "I bought a gas station sandwich in September. But this would be actual food. From a place with tables.">>
<<marc "I'm proud of you and also deeply suspicious. What changed?">>
<<eli "New approaches. Like I said. Content strategy. Timing.">>
I hear him deciding whether to push. The pause that means Marcus is weighing curiosity against respect, the internal calculation he runs every time I offer an incomplete answer. He's gotten three of these now "streaming stuff," "new approaches," "content strategy" and each one is a brick in a wall he can see me building.
<<marc "Okay. I'm glad, man. You deserve a win.">>
<<eli "Thanks, Marc.">>
<<marc "Saturday still on for Rift Walkers?">>
<<eli "Hundred percent. Floor 17.">>
<<marc "Floor 17. We're coming for it.">>
<<eli "Also Marc?">>
<<marc "Yeah?">>
<<eli "Thanks. For everything. The curry and the cheese puffs and the coffee and the... all of it.">>
He's quiet for a second. Marcus is never quiet for a second unless something landed.
<<marc "Bro. You good?">>
<<eli "I'm good. I just wanted to say it.">>
<<marc "...you're freaking me out a little. But okay. Love you too, weirdo. Gotta go, Devon's crying.">>
<<eli "Is the watch okay?">>
<<marc "The watch is dead. The customer is outside. Devon is barricaded in the back room. Tuesday energy on a Friday.">>
<<eli "Good luck.">>
<<marc "Luck isn't enough. I need a new coworker.">>
He hangs up. The apartment is quiet. The call sits in my chest the way Marcus always sits in my chest steady, warm, the ballast that keeps me upright when everything else tips. I said thank you. Out loud. On the phone. Like a person who has the emotional vocabulary for gratitude, which I didn't a week ago, which I'm building alongside the face and the follower count and the shampoo habit.
I put the phone down.
<<set $hint to "Order brunch">>
[[Order food|day_5_9_kira]]<<set $day_step to 9>>
<<set $locationName to "Eli's Apartment">>
Brunch. Real brunch. Not a microwave burrito actual food, ordered with actual money, delivered to my actual door by an actual human being on an actual bicycle.
I open a delivery app. The interface is familiar I've scrolled through it before, hundreds of times, the way you scroll through a luxury car website when you ride the bus. Browsing as fantasy. Prices that existed in a currency I didn't have, menus that described a life I wasn't living.
Today the prices look different. Today they look like numbers instead of barriers.
I order from a place called Morning Glory a breakfast spot six blocks away that I've walked past a hundred times and never entered. An egg sandwich with avocado and pickled onion on a brioche bun. A side of seasoned potatoes. A coffee real coffee, not Monster Energy, not the cheap grounds I heat on the hot plate, but a latte. Oat milk. Large.
The total is $23.47 with delivery and tip.
Twenty-three dollars. That's roughly eleven minutes of streaming as Ellie, based on yesterday's per-hour rate. Eleven minutes of performing to fund one meal. The math makes the meal feel earned in a way that Marcus's bought coffees and Kira's treated ramen never did. Not because their generosity was wrong because this is mine. My money. My meal. My eleven minutes of a manufactured voice turned into avocado and pickled onion and oat milk.
The food arrives twenty-two minutes later. A knock on the door. A paper bag. The delivery person doesn't look at my face nobody ever looks at my face and I take the bag and close the door and stand in my apartment holding the first meal I've bought for myself in longer than I can calculate.
I sit at the desk. Unwrap the sandwich. The brioche is golden and slightly warm and the avocado is ripe and the egg yolk is just runny enough to pool in the bottom of the wrapper when I bite and the pickled onion gives it a sharpness that cuts through the richness. The potatoes are crispy and seasoned with something herbal that I can't identify because my palate has been calibrated by eight months of microwave burritos and the subtlety of actual seasoning is a language I'm relearning.
The latte is good. Genuinely good. The oat milk froths into a texture that's smooth and sweet and I drink it slowly, sitting at my desk, looking at the morning's dashboard $220, 300 followers and the meal tastes like proof. Proof that the numbers translate. Proof that the voice and the name and the wig and the lashes convert into something tangible, something I can hold, something warm in my hands that isn't a Monster Energy can.
I eat everything. Every potato. Every drop of yolk. I drain the latte and set the cup beside the monitor and look at it the empty paper cup with the Morning Glory logo, a sun rising over a coffee bean and I feel full. Not just physically. Full in the way that a person feels full when they've done something for themselves without asking permission or assistance or apologizing for the cost.
$23.47 well spent. The best eleven minutes of streaming I've ever invested.
<<set $money -= 23.47>>
12:45 PM. Appointment at 2:00. Time to get ready.
I shower again bar soap this time, no shampoo, but the hair is clean enough from this morning. Grey shirt. Joggers. Hoodie. Sneakers. The uniform. But the person wearing it has a latte in his bloodstream instead of Monster Energy and the difference is chemical and philosophical and visible in the way I stand, slightly straighter, slightly less like a question mark with shoes.
<<set $hint to "Go to RegenaForm">>
[[Go to RegenaForm|neighbourhood]]<<nobr>>
<<set $day_step to 10>>
<<set $locationName to "RegenaForm Clinic">>
<</nobr>>
The walk to Suite 12 takes twelve minutes. Four blocks. Same route as two days ago past the laundromat, past the corner store, past the bail bondsman who shares a building with the clinic that's rebuilding my face. January is holding, the cold stubborn and dry, but I barely feel it. The hoodie does its thing. The sneakers crunch on sidewalk salt. I walk with purpose not the shuffling, head-down, hood-up gait of the old Eli, the one who moved through the world like he was apologizing for occupying space. I walk like a person with a 2 PM appointment and $876 in earnings and a plan.
The frosted glass door. The chrome helix. Suite 12.
Lina is behind the desk. Same dove-grey dress, same amber-gold eyes, same smile that's warm and practiced and exists in the exact center of the uncanny valley between genuine and manufactured. She looks up when I enter and the smile deepens by a fraction recognition, the specific warmth reserved for returning clients.
<<lina "Ellie! Welcome back. We've been expecting you.">>
<<eli "Hey, Lina.">>
<<lina "Dr. Voss is prepping for your procedure. Can I get you anything while you wait? We have a new green tea matcha, very smooth.">>
<<eli "Sure. Thanks.">>
She pours the tea from a ceramic pot into a cup that probably costs more than my desk chair. I take it and sit on the grey couch still rigid, still beautiful, still uncomfortable in the way luxury furniture often is and sip. The matcha is good. Everything in this clinic is good. That's the trap and the treatment simultaneously.
<<eli "Also I want to settle the brow sculpt balance. The three hundred.">>
<<lina "Of course.">>
She pulls up my account on the tablet behind the desk. Taps. The interface glows my profile, my procedures, my balance. $300 outstanding. Due in two days.
<<eli "Can I pay that now? and put the nose on the same credit arrangement?">>
<<lina "Absolutely. The brow sculpt balance three hundred cleared today. The nose refinement Slope, five hundred would be on a seven-day credit window, same terms. Does that work?">>
<<set $money -= 300>>
<<eli "That works.">>
<<set $loan to 0>>
She processes the payment. $300 deducted from my streaming payout. The debt that's been sitting on my chest like a second splinter dissolves. Paid. Cleared. My first real financial obligation met with money I earned, not money Marcus lent or Kira treated or my mother Venmo'd. Mine.
<<lina "The nose procedure is confirmed at five hundred. Seven-day window. You'll have that covered in no time at the rate you're going.">>
She says it like she knows my rate. She probably does. RegenaForm knows everything the earnings, the growth trajectory, the exact moment I could afford each tier. The concierge at the door.
<<lina "Dr. Voss is ready for you.">>
[[Go to the procedure room|day_5_11_kira]]<<nobr>>
<<set $day_step to 11>>
<<set $hint to "The nose procedure">><</nobr>>
The procedure room. Same reclining chair. Same adjustable lights. Same tray of instruments I can't identify. Dr. Maren is standing beside the chair, the lab coat crisp, the helix pin catching the overhead light, the grey-green eyes already on my face when I walk in. Reading. Always reading.
<<dr_maren "Ellie. Good to see you again. How have the lashes and brows settled?">>
<<eli "Perfect. They're yeah. They're great.">>
<<dr_maren "I can see. The brows have reached their full arch. Excellent integration. Your cells respond well to the treatment.">>
They gesture toward the chair. I sit. Recline. The ceiling is white and crackless and wrong.
<<dr_maren "Today we're addressing the nose. Slope refinement narrowing the bridge, softening the tip, correcting the asymmetry. The procedure takes approximately forty minutes. Same process as before bioactive compound, your own DNA template, the cells restructuring in real time. You'll feel warmth at the application site. Full refinement completes in two to three hours.">>
<<eli "And the result?">>
<<dr_maren "Your nose is currently one of the primary masculine tells on your face. The wide bridge, the rounded tip these read as male to the observer's eye, usually in the first half-second. The Slope refinement narrows the bridge by approximately three millimeters per side, straightens the profile line, and softens the tip from rounded to gently angled. The result will read as neutral to feminine depending on context. On camera, with the framing you've been using, it will integrate seamlessly with the lash and brow work.">>
They tap the wall screen. My face appears again high resolution, merciless, the clinical lighting finding every flaw. But the face looks different than it did two days ago. The lashes frame the eyes. The brows lift the forehead. The modifications I've already made create a foundation that makes the remaining masculine features nose, jaw, lips stand out more by contrast. The face is a renovation half-complete, the beautiful new paint on the upper walls making the scuffed floors more visible.
The digital overlay activates. The nose morphs the bridge narrowing, the tip refining, the asymmetry correcting. The change is subtle and seismic. The face on screen with the modified nose looks not just different but resolved as if the nose was the missing puzzle piece, the bridge between the feminized upper face and the still-masculine lower face. With the nose done, the crop line can drop. The webcam can show eyes plus nose. The viewers will see a face that's two-thirds feminine and the remaining third jaw, lips will be the next project.
<<dr_maren "Shall we begin?">>
<<eli "Yeah. Let's go.">>
They apply the compound. Cool gel on the bridge of my nose, across the tip, along the sides where the nostrils meet the cheek. Then warmth deeper than the lashes, deeper than the brows. The nose has more structure, more cartilage, more architecture to reshape. The warmth penetrates into the bone, into the bridge, into the places where the face's infrastructure lives.
I close my eyes. Forty minutes.
I think about Kira. About tonight. About the gyudon and the apartment and the truth I'm going to tell her. I rehearse the words in my head the way she rehearsed her confession in the shower practicing, refining, trying to find the sequence that explains without excusing, that confesses without begging, that tells the truth without losing the person I'm telling it to.
Kira, I need to tell you something.
Too ominous. She'd panic.
Kira, you know how you said the system can be hacked?
Better. Starts with her. Starts with the shared knowledge.
I found a way. The voice modulator. A new account. A different name and it worked Kira, it worked so fast it scared me and then I came here to this clinic and they changed my face. Not all of it. The lashes and the brows you noticed and now the nose. Today. Right now, while you're buying groceries for gyudon, someone is reshaping my nose four blocks from my apartment because the streaming economy pays for a face I'm building instead of the one I was born with.
Too long. Too much at once. She'd overload.
Kira, I'm Ellie.
Three words. Nuclear. But accurate.
The warmth continues. I feel the reshaping not pain, not exactly, but the awareness of change. The cartilage shifting. The bridge narrowing millimeter by millimeter. The tip losing its roundness, gaining an angle, softening from something that reads as male into something that reads as a question the viewer answers with "female" because the lashes and brows and hair have already primed the answer.
<<dr_maren "The structural work is complete. Opening your eyes.">>
[[See the new nose|day_5_12_kira]]<<nobr>>
<<set $day_step to 12>>
<<set $hint to "See the new nose">>
<<set $appearance to 6>>
<<set $femininity to 4>>
<<set $confidence to 4>>
<<set $loan to 500>>
<<set $playerImage = "images/user/tier_1_4.jpeg">><</nobr>>
I open my eyes. Dr. Maren holds the mirror.
The nose is different. Immediately, visibly, undeniably different. The wide bridge that dominated the center of my face for twenty-two years has narrowed. The rounded tip that gave the whole feature its blunt, masculine quality has refined into a gentle downward slope the kind of nose that doesn't demand attention but directs it, a feature that serves the face rather than occupying it. The asymmetry is gone. The bridge runs straight, the profile clean, the nostrils proportional and tucked.
Combined with the lashes and the brows, the effect is
I stare at my reflection. The face in the mirror is crossing a line. The upper two-thirds forehead, brows, eyes, nose now read as feminine. Not ambiguously, not questionably, but actually, measurably feminine. A stranger seeing this face from the forehead to the upper lip would identify it as female. The bone structure, the brow arch, the lash density, the refined nose they compose an image that the viewer's brain categorizes without hesitation.
The lower third the jaw, the lips, the chin is still Eli. Still masculine. The flat undefined jawline, the thin pale lips, the shadow of stubble that no amount of bioactive compound has addressed yet. The face is a painting completed from the top down, the artist's brush stopping mid-canvas, the upper half gallery-ready and the lower half still in sketch.
But from the nose up. In the webcam frame. With the wig.
<<dr_maren "The Slope refinement. The bridge will continue settling for two to three hours you'll notice the definition sharpen over the afternoon. By this evening, the nose will be at its final state. Take care not to press or impact the bridge during the settling period.">>
<<eli "It's it looks ">>
<<dr_maren "Like you. Just more so.">>
The same line from last time. The same gentle insistence that they're not changing me, not creating someone new, just "unlocking" what was always there. The marketing and the medicine, indistinguishable, a double helix of sell and heal.
<<eli "Can I see it with the wig?">>
<<dr_maren "Of course. Lina?">>
[[Wig fitting room|day_5_13_kira]]<<nobr>>
<<set $day_step to 13>>
<<set $playerImage = "images/user/tier_1_5.jpeg">><</nobr>>
Lina leads me to the fitting room. The lit vanity mirror. The wig forms on the wall. She selects my StreamLine wig the brownish-auburn waves, the one I've been wearing for three days, the one that lives on a care form in my closet beneath the pile of clothes where the rod fell.
She puts it on me. The practiced routine tuck, position, align, secure. Her vanilla-and-linen hands adjusting the lace front with impersonal precision.
<<lina "There.">>
I look in the mirror.
The person looking back at me is not Eli. The person looking back at me is not quite Ellie either not the full Ellie, not the face reveal Ellie, not the version the viewers are building in their imaginations from a pair of eyes and a voice. But the person in the mirror is closer to Ellie than Eli has ever been.
The wig frames the face. The lashes anchor the eyes. The brows arch softly and now the nose the Slope nose, narrow and straight and gently angled sits at the center of the composition like a keystone, the element that connects the feminized eyes to the still-masculine mouth and makes the upper face read as coherent. Complete. A girl's eyes above a girl's nose above a jawline that still needs work but can be hidden, cropped, managed.
From the eyes to the nose. The crop line drops. The webcam can show more. Tonight, the viewers will see Ellie's eyes AND Ellie's nose and the face that emerges will be real not AI, not a filter, not a projection. Real lashes, real brows, real nose, real skin. The lie built entirely from truth.
I stare for ten seconds. Fifteen. Lina waits, patient, the smile holding.
<<lina "The refinement suits you. The proportions are harmonizing beautifully.">>
<<eli "Thank you.">>
<<lina "Dr. Voss wanted me to mention the next logical step in the Tier 1 progression would be lip enhancement. Natural-Full. Four hundred Dollars. But there's no rush. The nose alone will make a significant difference to your framing.">>
The upsell. Always the upsell. The next step mentioned casually, a seed planted in the fertile soil of visible progress. But I barely hear it. I'm looking at the mirror and the mirror is showing me a version of myself that I I don't know what I feel. The feeling doesn't have a name. It's not pride, not exactly. Not disgust, not exactly. It's something in between, something new, the specific emotion of watching your own face become someone else's and recognizing both versions as yourself.
I take off the wig. Hand it to Lina. The face returns to Eli but a different Eli than five days ago. An Eli with long lashes and arched brows and a straight, narrow nose that doesn't match the jawline or the lips but does match the direction. The direction is feminine. The direction is Ellie. The direction is money.
<<eli "Thanks, Lina. I'll think about the lips.">>
<<lina "Of course. We're always here.">>
She says "always" the same way MidnightWhale99 says "always." The certainty of a system that knows you'll return because the loop requires it.
I leave the clinic. The January air hits the new nose the cold felt differently on the narrowed bridge, the sensation of air moving through refined nostrils, the physical novelty of a feature I've had my entire life suddenly being different. I touch it, gently, the way you touch something expensive. The bridge is smooth. Straight. Narrow. The tip is softer than the original, gently angled instead of rounded. It feels like someone else's nose on my face.
It feels like Ellie's nose on Eli's face.
Four blocks home. I walk with the hood up, not because I'm hiding but because the nose needs to settle and the cold isn't helping. In my pocket, the phone buzzes.
<<kira "groceries acquired! i bought SO much rice. we're going to be eating rice for a week. what time are you coming?">>
<<eli "6ish. also i'm bringing something">>
<<kira "bringing what??">>
<<eli "you'll see">>
<<kira "eli. what are you bringing.">>
<<eli "trust the process">>
<<kira "you sound like a life coach and it's scaring me 😂">>
<<kira "see you at 6 disaster ❤️">>
<<eli "❤️">>
The red heart. Sent with the knowledge that in approximately four hours I'm going to tell her everything. The heart might be the last one I send from the simple side of the truth. The next one if there is a next one will be sent by a person she knows fully instead of a person she knows partially.
The thought terrifies me. The thought also feels, for the first time, like the right thing.
<<set $hint to "Go home and prepare for tonight (Bedroom)">>
<<link "Go Home">>
<<set $playerImage = "images/user/tier_1_4.jpeg">>
<<goto "neighbourhood">><</link>><<nobr>>
<<set $day_step to 14>>
<<set $hint to "Prepare for Kira">>
<<set $locationName to "Eli's Apartment">>
<<set $locationImage to "images/locations/eli_apartment.jpeg">>
<</nobr>>
4:30 PM. Two hours and counting.
The nose has settled. I can feel it or rather, I can feel the absence of what was there before. The wide bridge, the asymmetric roundness, the thing I avoided looking at for twenty-two years. Gone. Replaced by something narrow and straight and gently angled, something that sits on my face like it was always supposed to be there, like the original was the rough draft and this is the published version.
I stand in the bathroom mirror. The overhead light flickers its death rattle. In the bad lighting, in the yellow-white strobing of a bulb that should have been replaced months ago, my face looks assembled. The lashes, the brows, the nose. Three modifications, three steps down a road that stretches further than I can see. The upper face is Ellie's. The lower face is Eli's. The nose bridges the two like a hyphen between names.
I'm going to tell her.
The resolution hasn't faded. It hardened over the afternoon, calcifying from intention into commitment the way the nose calcified from gel to cartilage. I rehearsed the words while the food digested and the nose settled and the clock ticked toward 6 PM. Different versions. Different openings. Different strategies for saying the same unsayable thing.
I settle on honesty. Not the crafted kind not the "Kira, you said systems can be hacked" kind that uses her own logic as a shield. Raw honesty. The kind that doesn't have a strategy. The kind that stands in the open and waits to be shot at.
But first: the something I'm bringing.
I put on my shoes and walk four blocks in the opposite direction from RegenaForm, to the row of shops near the main road. A convenience store. A dry cleaner. A florist.
A florist.
Marcus said bring flowers. Marcus who's never been on time for anything in his life but who has never been wrong about a single emotional observation he's made about me in two years.
The florist is small, wedged between a nail salon and a cell phone accessories shop. The inside smells like earth and water and something sweet that I can't identify. There are arrangements in buckets roses, lilies, sunflowers, things with names I don't know. The woman behind the counter looks at me with the patient tolerance of a person who has seen every kind of clueless man walk through that door.
<<eli "I need flowers. For a for someone.">>
The woman nods. Doesn't ask who. Probably doesn't need to.
I scan the buckets. Roses feel too heavy too much symbolism, too much pressure, too many romantic comedies stacking meaning onto a flower that just wants to be a flower. Sunflowers feel too casual. Lilies feel like a funeral.
There's a bucket of small flowers I don't recognize delicate, white and pale pink, clustered on thin stems. They look like the kind of thing you'd see in a field in a Studio Ghibli movie. Simple. Unpretentious. Beautiful without trying.
<<eli "What are those?">>
The woman looks. "Sweet pea. They mean gratitude. Also 'thank you for a lovely time.'"
Gratitude. Thank you for a lovely time. For picking me up in a Honda Civic that smells like cherry blossom. For buying me ramen and saying "you have me" across a table. For falling asleep on my shoulder and not caring that I couldn't move for forty-five minutes. For being honest about the system and kind about the gap and patient with the coward who laughed off calling you hot and then, four days later, didn't.
<<eli "Those. Please.">>
<<set $money -= 14>>
She wraps them in brown paper. Ties them with twine. $14. I pay with money that Ellie earned and Eli is spending and the loop completes another revolution.
I walk back to the apartment. Shower, quick. Bar soap. The grey shirt but I also have a clean black t-shirt, the one that's "least stained," and tonight I choose the black. Not the grey. Something slightly closer to intention. I push the hair back from my forehead the hair that's clean but missing the Marriott luster and look in the mirror.
The face. The new face, the half-finished renovation. The lashes and brows and nose that read feminine from above and the jaw and lips that read masculine from below. In the bathroom light it's a face in transition and in the right context, with the right framing, the transition could go either direction.
Kira is going to see this face. Up close. Four inches away, the distance she studies things from, the distance where the freckle near her eyebrow becomes visible and the world narrows to two faces and the space between them.
She's going to see the nose.
She'll notice. She always notices and this time, when she says "hmm" or "did you do something?" I'm not going to say skincare routine. I'm not going to say grooming kit. I'm not going to lie.
I grab the flowers. The keys. The hoodie. The crushed sneakers that have walked me to a clinic and back three times now, four blocks each way, the distance between the person I was and the person I'm becoming measured in city blocks and StreamCoin.
6:00 PM. I text Kira.
<<eli "on my way. buzzing in 15">>
<<kira "door's open! also packet is judging the gyudon. he keeps sniffing the pot and looking at me like i've betrayed him by not making it cat-flavored">>
<<eli "cat-flavored gyudon is a niche market">>
<<kira "don't give him ideas 😤">>
I walk. Fifteen minutes. The January evening is settling, the grey-blue dusk thickening into dark, the streetlamps flickering on one by one. The flowers in my hand feel conspicuous a man with sweet peas in brown paper walking through a cold city toward a girl's apartment. A man with a new nose and a secret and a bundle of gratitude-flowers and a speech he hasn't finished rehearsing.
<<set $hint to "Go to Kira's apartment">>
[[Go to Kira's Apartment|neighbourhood]]<<nobr>>
<<set $day_step to 15>>
<<set $locationName to "Kira's Apartment">>
<<set $locationImage to "images/locations/kira_apartment.jpeg">>
<</nobr>>
The elevator. Third floor. 3C. The door is unlocked, like she said. I push it open.
The apartment smells like home. Not my home a real home. Soy sauce and mirin and simmering onion and something sweet from the rice cooker. Kira is at the stove, her back to me, stirring a pot. She's wearing an oversized cream sweater and black leggings and her hair is clipped up with a claw clip, the bob lifted off her neck, the back of her neck bare and pale and I file the image. Kira Facts, Volume 83: the back of her neck when the hair is up.
<img src="images/scenes/day_5/day_5_1.jpeg" alt="Kira's Apartment" class="scene-image">
Packet is on the counter beside the stove, sitting upright, watching the pot with the unwavering focus of a cat who believes his involvement is required for the meal to succeed.
<<kira "Hey! Come in, close the door, it's are those flowers?">>
She turns from the stove. Spatula in hand. Steam rising behind her. Her eyes land on the brown paper bundle in my hand and something happens to her face a softening, a widening, the specific expression of a person receiving something they didn't expect from someone they didn't expect it from.
<<eli "Sweet peas. They mean gratitude.">>
<<kira "You bought me flowers.">>
<<eli "The lady at the shop said they mean 'thank you for a lovely time.'">>
<<kira "Eli.">>
<<eli "What?">>
<<kira "You bought me flowers.">>
She says it twice because once wasn't enough to process it. The spatula drips onto the floor. Packet eyes the drip with interest. She doesn't notice. She's looking at the flowers and then at me and then at the flowers and the expression on her face is I don't have the word for it. Joy isn't big enough. Surprise isn't accurate enough. It's the face of a person who has been sending red hearts into an inbox for a year and a half and just received one back in botanical form.
She crosses the kitchen in four steps and wraps her arms around me flowers crushed between us, the brown paper crinkling, the sweet peas pressed against my chest and her chest simultaneously. She's small. Her head is against my collarbone. I can feel her breathing speed up and then deliberately slow, the self-regulation of a person who is having an emotion and choosing to feel it rather than perform it.
<<kira "Thank you.">>
<<eli "Thank you. For everything.">>
<<kira "Don't make me cry before the gyudon is done. It'll get salty.">>
She pulls back. Takes the flowers. Finds a glass from the kitchen cabinet she doesn't have a vase, because who has a vase at twenty-one and fills it with water and puts the sweet peas in and sets them on the counter beside the stove. They look correct there. Small and delicate in a glass next to a pot of simmering beef and onion.
She turns back to me. Pushes the glasses up. Looks at my face.
Three seconds.
<<kira "Eli.">>
<<eli "Yeah?">>
<<kira "Your nose.">>
Not "did you do something?" Not "you look different." Direct. Specific. The analytical engine identifying the modification with the precision of a person who has been studying faces on screens for two years and knows when bone structure changes.
My heart hammers. The moment is here. The moment I've been rehearsing since the procedure chair, since the latte, since the walk through the January evening with gratitude-flowers in my hand.
<<eli "Yeah. My nose.">>
<<kira "It's different.">>
<<eli "Yeah.">>
<<kira "That's not a skincare routine.">>
<<eli "No. It's not.">>
She looks at me. The glasses catching the kitchen light. The steam from the pot curling behind her. Packet on the counter, observing. The sweet peas in their glass. The gyudon bubbling softly on the stove. The whole apartment holding its breath.
<<eli "Can we sit down? I need to tell you something.">>
[[Sit down|day_5_16_kira]]<<set $day_step to 16>>
She turns the stove to low. Wipes her hands on a dish towel. Follows me to the couch. We sit not touching, a foot of space between us, the geography of a conversation that needs room.
Packet leaps from the counter and settles on the armrest. Observing. The feline witness to whatever happens next.
<<kira "Okay. Talk.">>
She says it the way she says things when she's decided to listen jaw set, eyes steady, the streamer mask gone, just Kira, just the person underneath. I've seen this expression twice before: once when she told me the truth about the streaming economy, and once when she said "I've liked you since the first time we played together." The expression that means the guard is down and the brain is open and whatever I say next will be received by the full, unfiltered weight of her attention.
I take a breath. The rehearsed versions evaporate. The crafted openings dissolve. What's left is the raw thing, the unshaped truth, and I open my mouth and let it out the way you let out a breath you've been holding too long.
<<eli "You told me the system rewards a specific input. Female. Cute. On camera. You told me in this apartment, sitting in that chair, with the ring light off and the afternoon light on your glasses. You said if you were a guy with the same personality and the same humor you'd be me. You said the biggest reason is your face.">>
<<kira "I remember.">>
<<eli "I hacked it.">>
Silence. Her eyes on mine. Not blinking. Not pushing her glasses up. Not fidgeting.
<<eli "I made a second account. ElliePlayz. I installed a voice modulator software that makes my voice sound female. I went live as a girl. Voice only at first. No face, no cam, just the voice and a pink background and a name that's two letters from mine.">>
<<kira "When?">>
<<eli "Three days ago. The day after you told me the truth.">>
<<kira "Three days.">>
<<eli "I made forty-seven dollars in the first hour. The same number as my bank balance. Like the universe was rhyming.">>
She's still. The stillness of a person who is processing, who is running the information through every filter she has the pragmatist, the streamer, the girlfriend, the person who said "trust is the most valuable currency" over pad thai.
<<eli "Then I went to a clinic. RegenaForm. Four blocks from my apartment. They do they modify your face. With your own DNA. No surgery, no scars. The eyelashes you noticed those are from them. The brows and today this afternoon, three hours ago the nose.">>
I gesture at my face. At the evidence. The lashes she said "hmm" about. The brows she squinted at. The nose she identified in three seconds.
<<eli "I've been streaming with a wig and the voice modulator and the face modifications and I've earned five hundred and four dollars in four days. Eight hundred and seventy-six after this morning. More than EliPlays earned in eight months.">>
The numbers hang in the air between us. $876. The gap between what I am and what the system rewards, measured in dollars and closed by deception.
<<kira "The 'streaming stuff.'">>
<<eli "The streaming stuff.">>
<<kira "The 'new approaches.'">>
<<eli "The new approaches.">>
She nods. Slow. Once. The nod of a person who is clicking puzzle pieces into a frame she suspected but didn't fully see.
<<kira "The skincare routine.">>
<<eli "Not a skincare routine.">>
<<kira "I knew it wasn't a skincare routine. The first time. In the car. I knew.">>
<<eli "I know you knew.">>
<<kira "And the brows. The 'drugstore grooming kit.'">>
<<eli "RegenaForm. Three hundred dollars. I just paid it off today.">>
She takes her glasses off. Holds them in both hands, the way she does when she's closest to being undefended. The brown eyes, unframed. Looking at me the way she looked at me before the first kiss focused, terrified, committed. Except this time the terrified part is mine.
<<kira "Eli.">>
<<eli "Yeah?">>
<<kira "Are you okay?">>
Not "how could you." Not "you lied to me." Not "you're pretending to be a woman for money." The first thing she asks is if I'm okay. The question of a person whose instinct, even in the face of a confession that implicates her trust, is to check the person confessing.
<<eli "I don't know. I think so. The money is real. The numbers work. But the the lying. To you. Every time you noticed something and I made up an excuse. Every red heart I sent from a phone that had a wig in the closet and a voice modulator on the desktop. That part is not okay.">>
<<kira "No. That part is not okay.">>
She says it without anger. With the flat, clean clarity of a person naming a fact. The sky is blue. Water is wet. Lying to your girlfriend about restructuring your face is not okay.
<<eli "I was going to tell you after the nose. That was the plan. 'After the nose.' But the plan before that was 'after the brows' and before that was 'after the first stream.' It was always 'after the next thing.' The postponement was the pattern.">>
<<kira "But you're telling me now.">>
<<eli "I'm telling you now.">>
<<kira "Before the next thing.">>
<<eli "Before the next thing.">>
She puts the glasses back on. The gesture is deliberate the reframing, the refocusing, the return to clarity. She looks at me with the glasses on and the expression behind them is not what I expected.
She's not angry. She's not disgusted. She's not crying. She's thinking. The analytical engine is running, processing the data, sorting the inputs. The pragmatist is doing what the pragmatist does: assessing the situation before reacting to it.
<<kira "Show me.">>
<<eli "Show you what?">>
<<kira "The dashboard. ElliePlayz. Show me the numbers.">>
[[Show the dashboard|day_5_17_kira]]<<set $day_step to 17>>
I pull out my phone. Open the browser. Navigate to the ElliePlayz dashboard.
Total Followers: 300
Total Earnings: $876
Peak Viewers: 339
Subscribers: 14
She takes the phone. Scrolls through the stats the way she scrolls through her own dashboard analytically, methodically, the numbers telling a story she reads fluently. I watch her eyes move across the screen the same eyes that read $487 on her own dashboard five days ago and told me the truth about the system.
<<kira "Three hundred followers in four days.">>
<<eli "Yeah.">>
<<kira "Eight hundred seventy-six dollars.">>
<<eli "Yeah.">>
<<kira "Three hundred and thirty-nine peak.">>
She hands the phone back. Sits back on the couch. Pulls her knees up, wraps her arms around them the self-contained posture of a person who is processing something large and needs to physically hold herself together while she does it.
<<kira "You proved my theory.">>
<<eli "Your theory proved itself. I just provided the data.">>
<<kira "Same voice. Same skill. Same person. Different input.">>
<<eli "Different input.">>
She's quiet for thirty seconds. The gyudon bubbles on low. Packet purrs on the armrest. The sweet peas stand in their water glass, pale and delicate, the gratitude-flowers watching.
<<kira "I'm not going to blame you.">>
<<eli "You could.">>
<<kira "I could. But I'm the one who told you the system was broken. I'm the one who showed you my dashboard and said 'the biggest reason is this' and pointed at my face. I gave you the diagnosis. I can't be surprised you found the prescription.">>
<<eli "That doesn't make the lying okay.">>
<<kira "No. It doesn't. The lying was shitty. Don't do it again.">>
She says "don't do it again" the way she sets boundaries on stream once, firmly, and then the topic is closed. A rule established. A line drawn. Not negotiable.
<<eli "I won't.">>
<<kira "I mean it, Eli. No more 'skincare routine.' No more 'grooming kit.' If you're modifying your face, I want to know. If you're streaming as Ellie, I want to know. I don't have to understand it. I don't have to like it. But I need to know.">>
<<eli "Okay.">>
<<kira "Okay.">>
She unfolds from the knee-wrapped posture. Her legs come down. She shifts on the couch, the space between us narrowing from a foot to six inches. Her hand finds my knee. Rests there. The pixel-heart tattoo visible at her wrist.
<<kira "I'm not going to tell you to stop.">>
<<eli "You're not?">>
<<kira "It's your face. It's your career. If this is what you want if this is the thing that gets you out of the ceiling crack and the microwave burritos and the four viewers and DarkSlayer then this is what you want. I'm okay with you, Eli. Or Ellie. Or whatever combination you end up being.">>
<<eli "You mean that?">>
<<kira "I'm bisexual. I literally told you I like softness. If your face gets softer, I'm not going to suddenly find you unattractive. That's not how this works for me.">>
She pushes her glasses up. The nervous gesture. But when her hand comes down, it finds my face instead of her lap. Her fingertips on my cheek. Her thumb tracing the line of the new nose the bridge, the slope, the refined tip. She traces it slowly, the way she traces condensation on beer glasses and circles on the back of my hand. Learning the new geography.
<<kira "It's a nice nose.">>
<<eli "Yeah?">>
<<kira "It suits your eyes. The proportions work.">>
<<eli "That's what Dr. Maren said. 'The proportions are harmonizing.'">>
<<kira "Dr. Maren sounds like an architect.">>
<<eli "They kind of are.">>
Her thumb moves from the nose to the brow. Traces the arch. The feathered shape that opens my eye area. Then down to the lashes her fingertip touching them gently, feeling their length, the dense dark fringe that Dr. Maren's bioactive compound grew from dormant cells.
<<kira "The lashes are incredible. I was so jealous when I first noticed them. I thought you just had secret amazing lashes and I'd never paid attention.">>
<<eli "They're mine. Technically. Grown from my own DNA.">>
<<kira "Science is wild.">>
<<eli "Yeah.">>
She drops her hand. But the space between us has closed further. Her knee is touching mine. Her body is angled toward me on the couch, the same orientation as the izakaya, the same orientation as the car before the first kiss, the geometry of a person who has turned toward someone and chosen to keep facing them.
<<kira "But Eli listen. I need to say something and I need you to actually hear it.">>
<<eli "I'm listening.">>
<<kira "You don't need to do this for money. You don't need to change your face to pay for brunch. I can make money for us. I make enough. You know I make enough.">>
<<eli "Kira ">>
<<kira "Let me finish. I'm not saying your streaming as Ellie is wrong. I'm saying the reason matters. If you're doing this because you want to because something about it feels right, because the performance gives you something, because Ellie is a part of you that wants to exist that's one thing. But if you're doing it purely because you can't afford to eat and you think this is the only way? That's a different thing and I need you to be honest about which one it is.">>
I sit with the question. It lands in the center of my chest and sits there, heavy and warm, demanding an answer I haven't given myself yet. Why am I doing this? The money is the obvious answer. The $876. The brunch. The paid-off debt. The nose. The loop. But beneath the money there's something else something that surfaced when I first heard Ellie's voice come through the speakers and it sounded not just female but viable. Not just different but better. Not better as in superior to Eli. Better as in more effective at existing in the world.
<<eli "Both. It's both. I need the money. I'm not going to pretend I don't need the money I have a ceiling crack and a mattress on the floor and I've been eating burritos for eight months. The money matters. But it's also... I don't know how to say this.">>
<<kira "Try.">>
<<eli "When I'm Ellie, people listen. Not because I'm a girl because I'm a girl who's funny and shy and trying. The same trying I do as Eli. But as Eli, nobody sees it. As Ellie, the trying is visible. The trying gets rewarded and being rewarded for trying instead of punished for failing that does something to a person. It changes the trying itself.">>
<<kira "It makes you try harder.">>
<<eli "It makes me try like I believe it might work.">>
She's quiet. Her hand on my knee. The gyudon on low. The apartment warm and steady around us.
<<kira "Okay.">>
<<eli "Okay?">>
<<kira "Okay. I hear you. I don't fully understand it. I might not fully understand it for a while. But I hear you and I'm not going anywhere.">>
<<eli "You're not?">>
<<kira "Eli. I kissed you in a parked car. I fell asleep on your shoulder for forty-five minutes. I walked out of a bathroom in a bathrobe because I wanted you to look at me. I'm not going anywhere because you changed your nose.">>
<<eli "What about the voice? The wig? The fake name?">>
<<kira "We'll figure it out. Together. But no more lies. That's the deal. No more lies and we figure it out together.">>
<<eli "Deal.">>
<<kira "Now come eat gyudon before Packet does.">>
[[Eat gyudon|day_5_18_kira]]<<set $day_step to 18>>
The gyudon is perfect.
Not in the restaurant sense not the precise, Instagram-plated, seventeen-dollar bowl of curated ingredients. Perfect in the Kira sense. A generous mound of white rice in a ceramic bowl, topped with thinly sliced beef that's been simmered in soy sauce and mirin and dashi until it's soft and sweet and falling apart, ribbons of caramelized onion tangled through the meat, a soft-poached egg nestled on top with the yolk trembling when the bowl moves. She sprinkles togarashi over mine "you said medium spice, I'm upgrading you to brave" and benishoga on hers, the pink pickled ginger bright against the dark sauce.
We eat at her small kitchen table. Across from each other. The sweet peas between us in their water glass, pale pink and white against the brown paper that Kira carefully folded and tucked beneath the arrangement like a nest. Packet sits on the fourth chair the chair that doesn't have a person watching both bowls with the patience of an apex predator waiting for the herd to sleep.
The food is warm and deep. The beef melts. The egg yolk runs into the rice when I break it and the golden stream mixes with the soy-dark sauce and creates something that tastes like being cared for. I eat slowly. Not because the food deserves it it does, but that's not why. I eat slowly because the confession has lifted something from my chest and the lifting has made room for other sensations taste, warmth, the presence of a person across a table who knows the truth and is still here.
<<kira "Is it okay? I think I over-simmered the onions.">>
<<eli "The onions are perfect.">>
<<kira "They're mushy.">>
<<eli "Mushy is a texture choice.">>
<<kira "Mushy is what happens when you get distracted reading about parasocial economics while the stove is on.">>
<<eli "You were reading about parasocial economics while cooking?">>
<<kira "It was a really good article! and the onions suffered for it.">>
<<eli "The onions died doing what they loved.">>
She kicks me under the table. The bare-foot kick, the one from the ramen shop, the touch disguised as violence. Her toes connect with my ankle and stay, pressing warmly, the point of contact that means I'm here, I'm touching you, the food is mushy and the truth is out and I'm still here.
We eat. We talk. Not about Ellie. Not about RegenaForm or voice modulators or dashboards. About her mom's bakery and the mochi she sent. About Marcus and Devon and the AirPods that went down the drain. About Frieren we're three episodes behind and she insists we catch up this weekend. About Packet, who has abandoned his chair and relocated to Kira's lap, where he curls into a circle and purrs with the smug satisfaction of a cat who has claimed the warmest surface in the room.
The conversation spirals the way it always does with Kira touching and releasing, each topic orbiting the last. But underneath the spiral, there's a new current. A steadiness. The absence of the splinter not gone entirely, not dissolved, but repositioned. The guilt has shifted from "I'm hiding this" to "I told the truth and the truth didn't destroy us." The splinter is still there. But it's been relocated from the center of my chest to somewhere further out, toward the edges, where it hurts less and matters less and might, eventually, dissolve entirely.
The bowls empty. She refuses to let me wash them "you brought flowers, Eli, that's enough contribution for one evening" and I sit on the couch while she rinses the dishes and I watch her from behind the way I watched her in the kitchen earlier. The claw clip. The bare neck. The sweater sleeves pushed to the elbows, her forearms visible, the pixel-heart tattoo vivid against the soap foam.
She dries her hands. Comes to the couch. Sits close. Her thigh against mine. Her shoulder against my arm. The position that's becoming a template, the default geometry of two people who have decided to occupy the same space.
<<kira "Hey.">>
<<eli "Hey.">>
<<kira "Can I look at it? The nose? Up close?">>
<<eli "Yeah.">>
She takes her glasses off. Leans in. Her face comes close four inches, three, the distance where the world becomes two faces and the space between them. Her eyes move over my nose with the careful attention of a person examining a painting in a gallery. The bridge. The slope. The tip. She reaches up and traces it again her fingertip following the line Dr. Maren drew, the straight profile that replaced the crooked one.
<<kira "It's really well done. The bridge is so straight and the way it connects to your brow line the whole upper face flows now. Before there was this break, like the nose was a different face from the eyes. Now it's one thing.">>
<<eli "You sound like Dr. Maren.">>
<<kira "Maybe I should've been a facial architect.">>
Her finger traces from the nose tip to my upper lip. Stops there. The boundary. The line where the modifications end and Eli begins. She looks at my lips the thin, pale lips that are still the originals, the feature that lives below the crop line, below the wig frame, below the zone that's been feminized.
<<kira "These are still you.">>
<<eli "These are still me.">>
<<kira "Good.">>
She kisses me.
Not the hello kiss. Not the goodnight kiss. Not the post-Frieren couch kiss or the izakaya car kiss. A new kiss. A kiss that exists on the other side of the truth, in the territory where she knows everything and has chosen to stay. Her lips on mine on the lips that are still Eli's, the original equipment, the unmodified feature and the contact is soft and slow and deliberate. She tastes like soy sauce and mirin and the specific warmth of a person who cooked you dinner and heard your confession and stayed.
I kiss her back. My hand finds her waist the curve beneath the sweater, the architecture I've been mapping in stolen moments. Her hand finds the back of my neck, fingers in the short hair at my nape, pulling gently, the gesture that means deeper. The kiss deepens.
The "mmnh." The sound she makes. The vibration against my lips, the involuntary music, the signal from the body that the brain didn't approve. I feel it and I'm alive in a way that has nothing to do with viewer counts or dashboards or the loop. I'm alive because a girl who knows the worst thing about me is kissing me like it doesn't matter.
The kiss lengthens. Her body shifts on the couch closer, angling toward me, her knee coming up across my thigh, her weight redistributing from beside me to half-on-top-of-me. The sweater rides up at the back and my hand follows the exposed skin warm, smooth, the curve of her lower back, the ridge of her spine beneath my fingertips.
She makes another sound. Not the "mmnh" something deeper, something that starts in her chest and travels through the kiss into mine. Her fingers tighten at my nape. Her hips shift.
My body responds. Immediately. The same physics from last night the same insistent, undeniable pressure, the body's argument that the brain has no jurisdiction over. She's close enough to feel it. She's positioned in a way that means she has to feel it her thigh across my lap, the contact point where biology announces itself without consulting propriety.
She doesn't move away.
She breaks the kiss. Forehead against mine. Breathing harder. The glasses are somewhere on the couch cushion, on the floor, departed from her face during the shift in geometry. Her eyes are large and close and brown and looking directly into mine.
<<kira "Hi.">>
<<eli "Hi.">>
<<kira "Is that are you ">>
<<eli "Yeah. Sorry. I can't ">>
<<kira "Don't apologize.">>
Her hand moves. From my nape, down my chest, across my stomach following the centerline, the specific geography of intention. Slow. Deliberate. Each inch of descent a question she's asking with her fingers instead of her voice.
Her hand reaches the waistband of my joggers. Stops. Her fingertips rest against the elastic, the boundary between above and below, the line that no one has crossed on me before not Kira, not anyone, not ever.
<<kira "Is this okay?">>
<<eli "Yeah.">>
<<kira "Are you sure?">>
<<eli "I'm very, very sure.">>
Her fingers slide beneath the elastic. The contact is warm and direct and the rest of the world falls away the apartment, the couch, the cat, the flowers, the ceiling, the city, the platform, the algorithm, the $876, the nose, the truth, all of it, everything, gone. Reduced to one point of contact. One hand. One person who decided to touch me in a way that says I see all of you and I choose this.
Her fingers wrap around me. Warm. Small. The pixel-heart tattoo at her wrist disappearing beneath the fabric. She moves and the movement is slow at first, exploratory, learning the shape and the weight and the specific feedback of a body she hasn't touched before. Her grip adjusts tighter, then softer, finding the pressure that makes my breath catch.
<<eli "Kira ">>
<<kira "Shh. Let me.">>
She lets her. Her hand moves with a rhythm that builds from tentative to confident, the same way she builds a stream reading the audience, adjusting the approach, finding the cadence that produces the maximum response. Except the audience is me and the response is physical and she's reading it through the pulse she can feel in her palm and the sounds I'm making into the space between her neck and her shoulder.
I bury my face against her. She smells like shampoo and soy sauce and the floral body wash from last night's bathrobe appearance and underneath it all the specific scent of Kira's skin, warm and close, the scent I've been cataloging for eighteen months and am now experiencing at a resolution I never had access to.
The pace increases. Her wrist rotates slightly a variation, an experiment, the response to a sound I make that she decides to chase. My hips move against her hand and the movement is involuntary, the body operating independently of the brain, the simple mechanics of a person receiving pleasure from another person for the first time in his life.
The build is fast. Embarrassingly fast. Months of burritos and solitude and a ceiling crack and then five days of kissing and bathrobe images and the "mmnh" and her hand, her actual hand, and the combination of novelty and longing and the specific tenderness of her touch creates a velocity that my body has no interest in managing.
<<eli "Kira, I'm I'm going to ">>
<<kira "I know.">>
She doesn't slow down. She tightens. The movement becomes precise, focused, the final twenty seconds of attention that pushes everything over the edge.
I come. Into her hand, my face pressed against her neck, a sound leaving my mouth that I've never heard myself make raw, involuntary, stripped of every performance and every persona. Not Eli's sound. Not Ellie's sound. Just the sound a body makes when another body gives it what it's been needing.
The wave rolls through and subsides. My breathing is ragged. My hands are gripping her sweater at the back, the fabric bunched in my fists. I'm trembling the whole body, a fine vibration, the aftershock of something seismic happening in a small apartment on a Friday night in January.
She holds still. Her hand still, gentle now, not moving, just holding. She presses her lips to my temple.
<<kira "Hey. You okay?">>
<<eli "I'm yeah. I'm... that was ">>
<<kira "Was it okay?">>
<<eli "Kira. That was the single greatest experience of my entire existence. Including the 1v3 clutch AND the ramen.">>
She laughs against my temple. The real one. The crinkle-nose one. The vibration of it goes through my skull and settles somewhere deep.
She pulls her hand free. Carefully. Reaches for the tissue box on the coffee table the tissue box she has because she's a functional human being with a functional apartment and cleans up. Gently. Practically. The combination of tenderness and pragmatism that is so specifically Kira that I want to archive the moment in every sensory format available.
<<kira "How do you feel?">>
<<eli "Like a person who just experienced something they're going to think about every single day for the rest of their life.">>
<<kira "Oh my god, stop.">>
<<eli "I'm serious. You can't just do that to a person and expect them to form normal sentences afterward.">>
She settles against my side. My arm goes around her. The position. The template. Her head on my shoulder, glasses back on (retrieved from the couch cushion), Packet reclaiming the opposite armrest with the air of a cat who waited politely until the humans were done being disgusting.
<<kira "Your nose really is pretty.">>
<<eli "You want to talk about my nose right now?">>
<<kira "I'm admiring my boyfriend's new nose after giving him a handjob on my couch. This is multitasking.">>
<<eli "You said boyfriend.">>
<<kira "I did.">>
<<eli "That's the first time you've said it.">>
<<kira "It's the first time you've deserved it. Telling the truth earns titles.">>
Her finger traces the new nose again. Bridge to tip. The line Dr. Maren drew, now Kira's route.
<<kira "The nose and the brows and the lashes. They're beautiful, Eli. Really. The work is incredible. But ">>
<<eli "But?">>
<<kira "Don't do anything you don't want. For streaming. For money. For me. If you're changing your face because it makes you feel something good because looking in the mirror and seeing this nose makes you feel more like yourself, whoever that self is that's one thing. But if you're doing it purely because chat asked for a face reveal and the donations scale with the modifications? That's a hamster wheel and hamster wheels don't have exits.">>
<<eli "I hear you.">>
<<kira "I'm bisexual. You becoming more feminine doesn't change what I feel. But not everyone in your life is bisexual. Marcus isn't. Your mom isn't. People will notice. People will talk and at some point the changes become harder to explain with 'grooming kit from the drugstore.'">>
<<eli "I know.">>
<<kira "So promise me. No modifications you don't genuinely want. No changes for the algorithm. Only changes for you.">>
<<eli "I promise.">>
She tilts her head up from my shoulder. Kisses me. Slow. Tasting like soy sauce and trust. The kind of kiss that isn't leading anywhere the kind that's a conclusion instead of an introduction. A seal on a deal. A signature on a contract neither of us wrote but both of us just signed.
<<kira "Goodnight, disaster. Go home and stream.">>
<<eli "How do you know I'm streaming tonight?">>
<<kira "Because I know you and Ellie has a nose to show off.">>
She grins. The teasing one. The asymmetric one. My favorite.
<<eli "You're not weirded out by that? The Ellie thing?">>
<<kira "I am a little weirded out. But I'm also a streamer. I put on a persona every time I go live. The difference between KiraByte and Kira is real. The difference between ElliePlayz and Eli is just... bigger and newer and involves a wig.">>
<<eli "And a voice modulator.">>
<<kira "And a voice modulator. Which, by the way, I want to hear sometime.">>
<<eli "You want to hear Ellie's voice?">>
<<kira "I want to hear all of you. Including the parts you built.">>
The sentence lands in my chest and stays. All of you. Including the parts you built. Said by a person who means it. Said by a person who builds herself on stream every day and understands that the built thing can be as real as the raw thing, that the persona and the person aren't enemies but layers, that identity isn't a single note but a chord.
I stand. She walks me to the door. Packet watches from the couch, tail flicking once.
The doorway kiss. Long. Her hands on my chest, mine on her waist, the tiptoe, the rise, the warm press of her lips against mine. The taste of gyudon and the scent of cherry blossom from the air freshener in her car that has somehow permeated her entire life.
<<kira "Text me after the stream?">>
<<eli "Always.">>
<<kira "❤️">>
She says it out loud again. The word-as-emoji. The sound of a heart rendered in her voice, breathy and warm and aimed at me like a flashlight in a dark room.
<<eli "❤️">>
I say it back. Out loud. The first time I've spoken the symbol instead of typed it. The word feels different when your mouth makes it physical, real, a sound that requires breath and intention and the specific vulnerability of saying "heart" to a person's face.
She smiles. The real one. Sunrise.
The door closes. The hallway. The elevator that sounds like a submarine. The cold.
I walk home. Fifteen minutes. January. But the cold is different tonight it's the cold of a person walking TOWARD something instead of away from everything. The cold of a person with sweet-pea gratitude and a new nose and a cleared debt and a girlfriend who gave him a handjob after hearing the worst thing about him and called him "boyfriend" for the first time.
The cold is just cold. The rest is warm.
<<set $hint to "Go home and stream">>
[[Go Home|neighbourhood]]<<nobr>>
<<set $day_step to 19>>
<<set $locationName to "Eli's Apartment">>
<<set $locationImage to "images/locations/eli_apartment.jpeg">>
<<set $playerImage to "images/user/tier_1_5.jpeg">>
<<set $hint to "Stream as ElliePlayz">>
<</nobr>>
10:47 PM. The apartment. The desk. The ritual.
Except the ritual is different tonight.
I stand in the bathroom and look in the mirror the real mirror, the one I avoided for eight months and have been using daily for five. The face looking back has three modifications. Lashes: long, dark, dense. Brows: feathered, arched, feminine. Nose: Slope. Narrow bridge. Straight profile. Soft tip. The upper two-thirds of the face that reads as girl.
The lower third jaw, lips, chin is still Eli. Still unchanged. Still the sketch beneath the finished painting.
But tonight, for the first time, the webcam is going to show the nose.
I sit at the desk. Wig on three minutes flat, the muscle memory hardened into autopilot. VoxMorph calibrated. OBS open. The webcam framing this is the change. I tilt the camera down. Not much. An inch. Maybe an inch and a half. Enough to bring the nose into frame.
Eyes. Lashes. Brows. Nose. Hair.
The crop line drops. The preview shows more face than any stream before. The nose sits in the frame like a bridge between the eyes the viewers know and the lips they don't, a new feature anchoring the composition, connecting the feminized upper face to the mystery below.
I angle the desk lamp. The warm gold catches the bridge of the new nose the straight, narrow bridge, the subtle highlight that Dr. Maren's refinement created. The slope catches light differently than the original where the old nose absorbed light bluntly, the new one channels it, the planes of the refined cartilage creating shadows and highlights that photograph like an editorial.
I check the OBS preview one more time. The face in the rectangle is more. More than the eyes-only streams. More than the suggestion. The nose gives the face dimensionality, turns the flat mask of eyes-and-hair into something three-dimensional, something that approaches a person rather than a crop of one.
She looks real. Ellie looks real.
ElliePlayz - Live
Category: Just Chatting → Gunmetal Requiem
Viewers: 0
I look at the lens. Click "Go Live."
[[Go Live|day_5_20_kira]]<<nobr>>
<<set $right_sidebar_mode to 1>>
<<set $day_step to 20>>
<<set $viewers to 18>>
<<set $followers += 4>>
<<set $donations += 0>>
<<set $money += 0>>
<</nobr>>
<<chat "ElliePlayz" "Hiii! Okay, late night crew, I promised you a surprise and I am a woman of my word. Look. LOOK. Notice anything different?">>
I lean into the lens. Let the face fill the frame. Eyes, lashes, brows, hair and the nose. The new nose, sitting in the center of the webcam feed, visible for the first time, catching the desk lamp light on its straight bridge.
Viewers: 4
Viewers: 11
Viewers: 18
The regulars arrive. The notification squad. MidnightWhale99, first as always.
<<chat "MidnightWhale99" "I'M HERE I'M HERE WHAT'S THE SURPRISE">>
<<chat "MidnightWhale99" "WAIT">>
<<chat "MidnightWhale99" "WAIT WAIT WAIT">>
<<chat "MidnightWhale99" "THE NOSE. WE CAN SEE THE NOSE.">>
<<chat "ChillVibesOnly" "OH MY GOD">>
<<chat "ChillVibesOnly" "THE NOSE REVEAL IS HAPPENING">>
<<chat "night_owl_cc" "she dropped the crop line. i repeat. the crop line has DROPPED.">>
<<chat "stream_viewer_f1" "HER NOSE IS SO PRETTY WHAT THE FUCK">>
<<chat "stream_viewer_f2" "the nose + the eyes + the brows + the hair. i'm looking at a complete human face almost.">>
<<chat "stream_viewer_f3" "ALMOST. we need LIPS. we need JAW. but the nose is SERVING.">>
<<chat "MidnightWhale99" "the face fund WORKED. chat we did it. our investment paid off.">>
I do the gasp. Eyes wide, hand to chest, the lashes fanning but now the gasp includes the nose, the whole upper face reacting, the expression expanding beyond the eyes-only frame into something fuller, something that reads as a person rather than a crop.
<<chat "ElliePlayz" "You guys!!! I can't believe you're freaking out over a NOSE! It's just a nose!">>
<<chat "night_owl_cc" "it's not JUST a nose. it's THE nose. the nose we've been imagining. and it's better than we imagined.">>
<<chat "stream_viewer_f4" "the slope. the bridge. it's literally perfect.">>
<<chat "stream_viewer_f5" "okay but her face shape is becoming clearer and she is GORGEOUS">>
<<chat "MidnightWhale99" "i said the eyes could end me. the eyes + nose can BURY me.">>
$15.00 from MidnightWhale99: "the nose reveal. worth every penny of the face fund. every single cent. you're breathtaking. 🌙"
$10.00 from ChillVibesOnly: "NOSE TAX PAID. now show us the lips next pleeease"
$8.00 from night_owl_cc: "i can't believe i'm paying money because a woman showed her nose on the internet. this is peak internet."
<<chat "ElliePlayz" "THIRTY-THREE DOLLARS for a nose?! You guys are absolutely insane and I love every single one of you. Thank you so much!!">>
I do the hair touch the sweep, the tuck, the fingers through the waves. But now the gesture includes the nose in frame, the movement drawing a line from hair to eyes to nose and back, the full upper-face composition moving as a unit. The visual is different. Richer. More compelling.
[[Play Gunmetal Requiem|day_5_21_kira]]<<nobr>>
<<set $day_step to 21>>
<<set $viewers to 89>>
<<set $followers += 14>>
<<set $donations += 35>>
<<set $money += 35>>
<</nobr>>
Viewers: 89
I load Gunmetal. Queue ranked. The gameplay tonight is steady not the dissociation-focus of last night, not the anxiety-drive of the early streams, but something calmer. Something rooted. The Kira effect, amplified. She knows. She knows everything and she stayed. The knowledge sits in my nervous system like a stabilizer, smoothing the aim, steadying the crosshair.
First match: 9 and 5. The second-best single-match K/D of my career.
<<chat "stream_viewer_f6" "NINE AND FIVE?? THE NOSE GAVE HER POWERS">>
<<chat "ChillVibesOnly" "nose buff confirmed. patch notes: added nose, +50% aim">>
<<chat "stream_viewer_f7" "i'm convinced the nose is the source of her power">>
<<chat "MidnightWhale99" "the nose changed the meta. literally.">>
<<chat "ElliePlayz" "The nose didn't change my aim! I've always been... okay, I've always been inconsistent. But tonight feels different. Good different.">>
I say "good different" looking at the lens. The phrase Kira used when she first noticed the changes. "Good different." The words carrying a private meaning that the chat will never know the meaning of a girl who looked at a modified face and said it suited her, the meaning of a hand that reached across a couch and didn't stop.
[[Continue streaming|day_5_22_kira]]<<nobr>>
<<set $day_step to 22>>
<<set $viewers to 198>>
<<set $followers += 23>>
<<set $donations += 62>>
<<set $money += 62>>
<</nobr>>
Viewers: 198
The second hour. The nose-reveal energy sustains. Chat is animated the regulars are celebrating like it's a holiday, the new viewers are clicking in because the thumbnail has changed. The browse-page thumbnail now shows more face, more features, more of Ellie, and the click-through rate has visibly improved. New names appear in chat every few minutes.
$12.00 from stream_viewer_f8: "found you on the browse page. the eyes and nose stopped my scroll. following immediately."
$5.00 from stream_viewer_f9: "the half-face mystery thing is GENIUS marketing. show more soon please"
$20.00 from BigSpender_X: "the nose completes the upper composition. whoever does your lighting is a genius. premium content."
$8.00 from stream_viewer_f10: "first time here. her voice + her face + her gameplay = triple threat. where has this channel been"
The donations accumulate. The night-time generosity I've come to expect from the post-midnight viewers lonelier, quieter, more willing to pay for the feeling of being seen by a pair of eyes on a screen. Except now the eyes have a nose beneath them and the face is approaching something that reads as whole, as real, as a person they could imagine meeting.
<<chat "stream_viewer_f11" "when do we get lips? i need the lips.">>
<<chat "stream_viewer_f12" "LIPS AND JAW PLEASE. complete the face.">>
<<chat "stream_viewer_f13" "face reveal arc is the best arc on twitch">>
<<chat "MidnightWhale99" "patience. the face reveal is being built like a cathedral. stone by stone.">>
<<chat "night_owl_cc" "midnight with the cathedral metaphor. surprisingly poetic.">>
<<chat "MidnightWhale99" "ellie inspires poetry.">>
<<chat "ElliePlayz" "A cathedral?? MidnightWhale you're too much. I promise the face reveal is getting closer. Every stream, a little more. You guys are literally watching me become myself in real time.">>
Become myself. I say it and the words taste different than I expected. Not like a lie. Not entirely like the truth either. Something in between a statement that lives in the space where Eli and Ellie overlap, the space where the performance becomes the person and the person becomes the performance, the space that Kira identified when she said "the difference between KiraByte and Kira is real."
Becoming myself. Whichever self that turns out to be.
[[Continue streaming|day_5_23_kira]]<<nobr>>
<<set $day_step to 23>>
<<set $viewers to 347>>
<<set $followers += 29>>
<<set $donations += 55>>
<<set $money += 55>>
<</nobr>>
Viewers: 289
Viewers: 321
Viewers: 347
A new peak. The nose reveal driving the numbers past the previous ceiling. The viewers have come for the event the crop-line drop, the new feature, the next chapter in the face reveal arc that chat is narrating with the enthusiasm of sportscasters covering a championship.
I play three more matches. 8-6. 7-7. 10-4 the best single match of my career, the first double-digit kill game, and the chat loses its collective mind.
<<chat "stream_viewer_f14" "TEN AND FOUR">>
<<chat "ChillVibesOnly" "DOUBLE DIGITS. THIS IS NOT A DRILL. THE NOSE BUFF IS REAL.">>
<<chat "night_owl_cc" "she hit double digit kills the same night she showed the nose. the narrative writes itself.">>
<<chat "MidnightWhale99" "347 viewers. nose reveal night. 10-4 K/D. this is the stream that gets clipped.">>
$25.00 from WhaleWatcher_7: "nose reveal night is historic. investing in this channel's future."
<<chat "ElliePlayz" "347 viewers?? On NOSE REVEAL NIGHT?? I literally can't. You guys made tonight so special. I love you all and I'm going to go before I actually start crying because the mascara situation is NOT resolved.">>
<<chat "stream_viewer_f15" "MASCARA LORE CONTINUES INTO THE NOSE ERA">>
<<chat "MidnightWhale99" "the mascara cinematic universe expands again.">>
<<chat "night_owl_cc" "goodnight ellie. the nose was worth the wait.">>
<<chat "ChillVibesOnly" "WHEN LIPS??? WHEN FULL FACE??? WE NEED A ROADMAP">>
<<chat "ElliePlayz" "Soon, ChillVibes! Soon! I'm working on it. The cathedral is being built! Goodnight everyone. Same eyes, same nose, tomorrow and maybe... maybe more. We'll see. Love you!!">>
The wink. The lash-visible wink. But now the wink includes the nose in frame the eye closing, the lash against the cheek, the nose visible in profile during the wink, the full upper-face composition moving as one. The effect is more impactful than the eyes-only wink. More personal. More real.
<<chat "stream_viewer_f16" "THE WINK WITH THE NOSE IN FRAME. I NEED MEDICAL ATTENTION.">>
<<chat "MidnightWhale99" "tomorrow. always tomorrow. 🌙">>
I hit End Stream.
[[End Stream|day_5_24_kira]]<<nobr>>
<<set $right_sidebar_mode to 0>>
<<set $playerImage to "images/user/tier_0_2.jpeg">>
<<set $day_step to 24>>
<</nobr>>
Duration: 2 hours 19 minutes
Peak Viewers: 347
Average Viewers: 221
New Followers: 70
Total Followers: 370
Donations: $252.00
Subscribers: 18
$252 tonight. $220 this morning. Day 5 total (ElliePlayz): $472.
Grand total ElliePlayz earnings: $1,196.
I close OBS. Close VoxMorph. Take off the wig. The face returns to Eli but a different Eli than yesterday, a different Eli than last week. An Eli with lashes and brows and a straight nose that doesn't match the jaw or the lips but doesn't need to because the jaw and the lips aren't on camera and the person who matters most already knows.
Kira knows.
The thought settles into my chest and the place where the splinter lived is not empty. Not healed. But quieter. The splinter didn't vanish when I told the truth. It relocated. From "I'm hiding this from the person I love" to "the person I love knows and she stayed." The guilt is smaller now. The warmth is bigger. The ratio has shifted.
I check my phone.
<<kira "how did the nose stream go?">>
<<eli "347 peak. 252 in donations. they called it nose reveal night">>
<<kira "NOSE REVEAL NIGHT 😂 that's iconic">>
<<eli "midnight whale said the face is being built like a cathedral">>
<<kira "...that's actually kind of beautiful?">>
<<eli "he's growing on me. in a parasocial way.">>
<<kira "be careful with that. parasocial affection scales fast.">>
<<eli "speaking from experience?">>
<<kira "speaking from 13,000 followers and a viewer who asked my blood type for 'compatibility purposes'">>
<<eli "fair">>
<<kira "how do you feel? about tonight. about all of it.">>
<<eli "lighter. like something that was sitting on my chest moved.">>
<<kira "the splinter?">>
<<eli "you felt it?">>
<<kira "eli. i felt it every time you said 'skincare routine' and your eyes went somewhere else. i didn't know what it was. but i felt it.">>
<<eli "i'm sorry">>
<<kira "i know. we talked about it. no more sorry. just no more lies.">>
<<eli "no more lies">>
<<kira "good. now go to bed. you earned it. the nose. the stream. the flowers. the... other thing.">>
<<eli "the other thing">>
<<kira "you know what i mean 😏">>
<<eli "the handjob, kira. you can say handjob.">>
<<kira "I KNOW I CAN SAY IT. i'm being coy!">>
<<eli "coy doesn't suit you">>
<<kira "nothing about me is coy and we both know it">>
<<eli "that's true. you attacked me on your couch">>
<<kira "ATTACKED?? you were CLEARLY into it">>
<<eli "i was very clearly into it. that is the most accurate thing you've ever said.">>
<<kira "😏❤️">>
<<eli "❤️">>
<<kira "goodnight disaster. dream about something good.">>
<<eli "i will.">>
I put the phone down. Lie on the mattress. Grey sheets. Thin comforter. Ceiling crack.
<<set $hint to "Go to Sleep">>
[[Go to Bed|apartment_map]]<<set $day_step to 25>>
The numbers float behind my closed eyes. $472 today. $1,196 total. 370 followers. 347 peak. The face fund. The cathedral metaphor. The wink with the nose in frame.
But the numbers share the ceiling tonight with other images. Better images.
Kira's face when she saw the flowers. The softening. The widening. The arms around me with the brown paper crinkling between our chests.
Her hand on my face. Tracing the nose. The bridge, the slope, the tip. Learning the new geography with the careful attention of a cartographer mapping undiscovered territory.
The kiss. The taste of soy sauce and trust.
Her hand. Moving down. The waistband. The question "is this okay?" asked with her fingers on the elastic and her eyes on mine and the answer in my voice before the word formed.
I think about her hand. The small, warm grip. The pixel-heart tattoo disappearing beneath the fabric. The pressure and the rhythm and the way she adjusted reading me, the way she reads chat, the way she reads everything, with attention and care and the specific intelligence of a person who wants to get it right.
My hand moves. Under the comforter. Under the waistband. Not toward her toward the memory of her. The phantom grip. The echo of a touch that happened three hours ago on a couch four blocks away.
I close my eyes. I'm not imagining a fantasy this time. I'm replaying reality. The actual memory. The feel of her hand. The warmth. The "mmnh" she made against my temple. The way she said "let me" like it was a gift she was giving and receiving simultaneously.
The pressure against my palm. The specific curl of her fingers. Small over large. The pixel-heart tattoo that I couldn't see but knew was there, pressed against me in the dark beneath the elastic, an invisible tattoo touching an invisible place, two hidden things meeting in the space between fabric and skin.
Her voice. "How do you feel?" Asked afterward, gentle, the analytical engine softened into something purely warm. Not assessing. Not processing. Just asking. Just a girl who wanted to know if she'd made someone happy.
I come. Quieter than last time alone, but deeper the release carrying less tension because there's less tension to carry. The splinter is smaller. The secret is shared. The hand that touched me tonight was real and the person attached to it knows the truth and stayed and called me boyfriend for the first time.
I clean up. Tissue. Pull the comforter to my chin.
The ceiling crack is up there. Still growing. But the growth is slower in the dark, or maybe I'm slower to notice it, or maybe the ceiling has other things to report tonight the $1,196, the 370 followers, the flowers in a water glass in an apartment four blocks away, the taste of gyudon, the sound she made when she saw the sweet peas.
I think about tomorrow. The morning stream. Ellie with the nose. The numbers climbing. The face fund viewers celebrating their investment. The cathedral, stone by stone.
I think about Kira. The deal we made. No more lies. No modifications I don't want. Only changes for me. The promise sitting alongside the truth, the two of them sharing a shelf that's finally large enough for both.
I think about the latte this morning. The first meal I bought myself. The oat milk. The brioche. The $23.47 that tasted like earning instead of surviving.
Sleep comes easier tonight. Not because the problems are solved the jaw is still masculine, the lips are still thin, the voice is still software, the wig is still necessary, the loop is still running. The problems are all still here. But the person carrying them isn't carrying them alone anymore.
Kira knows. Kira stays. Kira said "boyfriend."
That's enough. For tonight. That's enough.
I sleep and I dream about a girl with wire-frame glasses tracing a nose that wasn't there yesterday, saying "it suits you" in a voice that sounds like home, in an apartment that smells like soy sauce and sweet peas and the specific warmth of a person who chose to stay.
End of v0.0.4
<<set $hint = "v0.0.3/v0.0.4 End of current Story Branch">>
[[Sleep|apartment_map]]<<nobr>>
<<set $day = 5>>
<<set $day_step to 1>>
<<set $hint to "Wake up">>
<<set $locationName to "Eli's Apartment - Bed">>
<<set $playerImage to "images/user/tier_0_2.jpeg">>
<</nobr>>
I wake up with two things on my mind and one of them is the stranger's body. The other is Kira's homework.
Both have been running in parallel since the moment I closed my eyes the stranger occupying the lizard brain, the homework occupying the human one, and neither yielding territory. I'm lying on the grey sheets with the comforter tangled around one leg and the room is cold and the fridge hums and the ceiling crack is up there doing its geological thing and my body is announcing, with the blunt enthusiasm of a morning erection, that last night's session at midnight was insufficient to fully process the data the restaurant provided.
The stranger. The dark dress. The cheekbones in the red-gold light. The legs crossing, the fabric riding up an inch, the line my eyes followed from ankle to thigh. The breasts I couldn't name by letter but spent approximately ten minutes trying to classify using a catalog I read in a clinic waiting room. C cup. Maybe D. The question mark that became the rhythm that became the release that became the sleep that became this morning, where the question mark is back and the body wants to run the calculation again.
I don't. Not because of restraint because the phone is buzzing. 9:22 AM. Three notifications. Kira first. Always Kira first. The gravity of her is constant even when the orbit is wrong.
<<kira "morning. did you sleep?">>
<<kira "also, the homework is not optional. actual words. actual feelings. whenever you're ready. no rush but also don't take six months.">>
Two messages. The first one checking on me because she can't stop checking on me, because the caretaking is hardwired, because even after I stared at another woman over her pad thai she wakes up and asks if I slept. The second one reminding me the clock is running. No rush but also don't take six months. Kira's version of patience: infinite in theory, practical in execution.
I stare at the messages. The cursor blinks in the reply field. Actual words about actual feelings. She wants to know what I want. She wants me to figure it out and tell her and stop hiding behind "kidding" and thumbs-up emojis and the protective cowardice that has defined every emotional decision I've made for the past year and a half.
What do I want?
I want her. That part is simple, settled, has been settled since the first Discord call when her laugh did something to my circulatory system. I want Kira Nomura and her wire-frame glasses and her pixel-heart tattoo and her sharp bob and her "good boy" with the smirk emoji and her refusal to lie about moisturizer.
But I also want the $573 on the ElliePlayz dashboard and the 252 followers and the 339 peak viewers and the nose appointment at RegenaForm and the feeling of being seen being watched, being valued, being paid to exist that Ellie provides and Eli doesn't.
I want Kira and I want Ellie's life and the two wants exist in the same chest and one of them requires honesty and the other requires lies and I haven't figured out how to hold both without one crushing the other.
The homework. I'll do it. Today. After the nose. After the stream. After the next thing. Always after the next thing. I type a reply.
<<eli "i slept. working on the homework. give me today.">>
<<kira "today works. take the time you need. but eli don't just tell me what you think i want to hear. tell me the real thing.">>
<<eli "i will">>
<<kira "okay ❤️">>
Red heart. She's still sending them. The consistency of her affection is its own kind of cruelty not intentional, not malicious, just the quiet devastation of being loved by someone you're lying to.
I don't send one back. I send a period. A single dot. The smallest possible response that still registers as a response. She'll read it as hesitation. She'll be right.
Second notification. Marcus.
<<marc "yo. day off today. screenfixx is closed because the owner is 'conducting an internal review' which means devon finally broke something unfixable. want me to come thru later?">>
<<eli "yeah come by around 5? i have stuff this afternoon but evening works">>
<<marc "bet. i'll bring food. you still eating burritos?">>
<<eli "actually i was thinking i'd pick up food this time">>
<<marc "...you're buying food?">>
<<eli "is that so hard to believe">>
<<marc "eli. you haven't bought food since the obama administration">>
<<eli "things change">>
<<marc "apparently. what changed?">>
<<eli "the streaming stuff. i told you. numbers are better.">>
<<marc "the mysterious streaming stuff. one day you'll tell me what that actually means">>
<<eli "one day">>
<<marc "mhm. see you at 5. and if you're buying food, get something with vegetables. you have scurvy energy.">>
Marcus at 5. That gives me the morning for streaming, the early afternoon for RegenaForm, the late afternoon to prepare. The day has structure. Three acts: the stream, the nose, the friend and underneath all three acts, running like a bass line, the homework.
Third notification. RegenaForm.
Appointment Available: Tier 1 Nose Refinement (Slope). Today, 2:00 PM. Suite 12. Book now?
The app knows. It always knows. It tracked my earnings, calculated the timeline, identified the exact day I could afford the next modification, and pushed the notification with the precision of a dealer who knows your schedule.
I tap "Book."
Confirmed: 2:00 PM. Dr. Voss. Suite 12. Estimated procedure time: 45 minutes.
The nose. Today. By tonight by 5 PM, when Marcus shows up with his direct eyes and his welfare scans my nose will be different. Narrower. Straighter. Feminine where it was blunt. The bridge that sat at the center of my face like a declaration of masculinity, replaced by something that the algorithm would categorize differently. Something that earns its place in the frame.
I sit up. The grey sheets fall away. The apartment is the same cold, dim, the crack, the fridge, the burrito wrappers I still haven't thrown away. But the person in it is becoming someone the apartment doesn't recognize. The apartment was designed for a man with $47 in the bank who ate frozen burritos and avoided mirrors. The person sitting on this mattress has $573 on a dashboard and a 2 PM appointment to reshape his face and a girl waiting for a text message that might change everything.
I get up.
[[Shower|day_5_2_other]]<<set $day_step to 2>>
Shower. Hot water the eight-minute wait, now routine. The Marriott shampoo is gone. Used up. The hair gets bar soap clean but lacking the hotel luster. I make a mental note: buy shampoo. Real shampoo. With money I earned. The novelty of planned purchases still hasn't worn off.
I brush my teeth. Mirror. The face lashes, brows, the old nose for a few more hours. The upper face that reads feminine. The lower face that reads Eli. The nose sitting between them like an undecided voter, about to be swayed.
Black t-shirt today. Not the grey. The grey is Marcus's recommendation for impressing Kira and tonight is Marcus, not Kira, so the wardrobe reverts to the other option. Same joggers. Same hoodie. Same crushed sneakers.
9:55 AM. Stream first. Then nose. Then Marcus. Then homework.
The day is a checklist and I'm already running behind on the item that matters most.
<<set $hint to "Stream as ElliePlayz">>
[[Stream|apartment_map]]<<nobr>>
<<set $day_step to 3>>
<<set $playerImage to "images/user/tier_0_3.jpeg">>
<<set $viewers to 0>>
<<set $followers to 252>>
<<set $donations to 0>>
<<set $money += 0>>
<<set $right_sidebar_mode to 1>>
<<set $hint to "Stream as ElliePlayz">>
<</nobr>>
10:15 AM. The ritual.
Wig on. Three and a half minutes the fingers know the route now. Tuck, position, align, secure. The brownish-auburn waves fall into place and the phone camera shows someone else. VoxMorph calibrated breathiness at 32% for the morning energy, pitch dialed back one notch from yesterday because the early-hour voice needs warmth, not helium. OBS loaded. Webcam tilted up eyes, lashes, brows, hair. The feminized zone. The desk lamp angled from the left, warm gold on the cheekbones.
The OBS preview. Ellie's eyes. The last stream with this nose the old nose, the wide one, hidden beneath the crop line. By tonight, the preview will show something new.
ElliePlayz Live
Category: Just Chatting → Gunmetal Requiem
Viewers: 0
I look at the lens. Click "Go Live."
[[Go Live|day_5_4_other]]<<nobr>>
<<set $day_step to 4>>
<<set $viewers to 24>>
<<set $followers += 4>>
<<set $donations += 0>>
<<set $money += 0>>
<</nobr>>
<<chat "ElliePlayz" "Good morning, everyone! Happy Friday! I'm actually awake before noon for the third day in a row which basically makes me a changed person. How is everyone?">>
Wide eyes at the lens. Hair sweep. Lean-in. The techniques deployed on autopilot now, the practiced gestures settling into genuine habit, the muscle memory doing what the conscious mind no longer needs to direct.
Viewers: 8
Viewers: 16
Viewers: 24
The notification squad assembles. The names that have become more familiar than some of my actual neighbors.
<<chat "MidnightWhale99" "MORNING ELLIE. the consistent queen. third day in a row.">>
<<chat "ChillVibesOnly" "GOOD MORNING GOOD MORNING the sun is shining because ellie is live">>
<<chat "night_owl_cc" "i rearranged my sleep schedule for morning ellie. this is either dedication or a problem.">>
<<chat "ElliePlayz" "Night owl, that's so sweet! But also please sleep at normal hours, your health matters more than my stream!">>
<<chat "night_owl_cc" "my health can't do the eye thing. your stream can.">>
<<chat "MidnightWhale99" "priorities: 1. ellie's stream 2. everything else">>
I do the thinking face. Eyes up and to the right, brows arching into the "adorable concentration" expression. Hold two beats. Back to lens.
<<chat "ElliePlayz" "Okay so... I have something to tell you guys. It's not a face reveal. Don't freak out. But there might be a change coming. Soon. Like... really soon. Like possibly tonight soon.">>
<<chat "stream_viewer_e1" "TONIGHT??? WHAT CHANGE">>
<<chat "ChillVibesOnly" "SHE'S TEASING. THE TEASE QUEEN STRIKES.">>
<<chat "MidnightWhale99" "whatever it is. whenever it is. i'm here.">>
<<chat "night_owl_cc" "is it more face? please say it's more face.">>
<<chat "ElliePlayz" "It MIGHT be more face. That's all I'm saying. Consider it... a preview of a preview.">>
<<chat "stream_viewer_e2" "MORE FACE TONIGHT. i need to clear my entire evening.">>
<<chat "stream_viewer_e3" "nose reveal?? NOSE REVEAL??">>
<<chat "MidnightWhale99" "the nose. it's the nose. i can feel it.">>
$10.00 from MidnightWhale99: "investing early. whatever the reveal is, this is a down payment. 🌙"
$5.00 from night_owl_cc: "contributing to the 'more face' fund. nose reveal or bust."
$5.00 from stream_viewer_e3: "NOSE FUND ACTIVATED"
<<chat "ElliePlayz" "TWENTY DOLLARS before I've even loaded a game?! You guys are going to bankrupt yourselves and I'm going to feel terrible about it. But also thank you SO much!">>
The gasp eyes wide, hand to chest, lashes fanning. The crescent shadows dance. The gesture lands every time, a reliable trigger for the protective-delight response that the YouTube coach described. The audience sees a girl surprised by kindness and the surprise generates more kindness and the kindness generates more surprise and the loop eats its own tail.
[[Load Gunmetal|day_5_5_other]]<<nobr>>
<<set $day_step to 5>>
<<set $viewers to 71>>
<<set $followers += 12>>
<<set $donations += 28>>
<<set $money += 28>>
<</nobr>>
Viewers: 71
Gunmetal Requiem. Ranked. The loading screen fill it with the hair touch, the sweep, the tuck. Three comments. The hair touch is a meme now. An ElliePlayz signature.
The match starts. I play steady, consistent, the focus that comes from compartmentalization. Kira's homework boxed. The stranger boxed. The confession boxed. The nose boxed. Everything that hurts or complicates or requires emotional processing locked away in containers, leaving the gameplay processor with full access.
8 and 5. Positive K/D. Chat celebrates.
<<chat "stream_viewer_e4" "EIGHT AND FIVE morning ellie is cracked ellie">>
<<chat "ChillVibesOnly" "she's LOCKED IN today. the focus.">>
$7.00 from BobaAndChill: "friday morning vibes. the eyes are awake. the gameplay is clean. premium content."
$5.00 from stream_viewer_e5: "how is she getting better every stream? the improvement arc is real."
More matches. 7-6. 9-4. 6-7. The aim fluctuates but stays positive overall, the skill plateau that the audience reads as a growth arc because the framing converts mediocrity into narrative.
The second hour. Chat circles back to the tease.
<<chat "stream_viewer_e6" "okay but WHEN tonight? what time is the surprise?">>
<<chat "stream_viewer_e7" "face reveal donation goal when?? i will THROW money">>
<<chat "MidnightWhale99" "don't rush the art. the build-up is what makes it special.">>
<<chat "night_owl_cc" "midnight preaching patience. character development.">>
<<chat "stream_viewer_e8" "but what if the reveal happens and i'm asleep?? i need a TIME.">>
<<chat "ElliePlayz" "Okay okay tonight's stream will probably start around 10:30 or 11 and there MIGHT be a visual change. I'm not confirming anything. But notifications ON, okay? You don't want to miss this.">>
<<chat "stream_viewer_e9" "NOTIFICATIONS ON. SLEEP CANCELLED. PRIORITIES ESTABLISHED.">>
<<chat "MidnightWhale99" "10:30. i'll be here at 10:25. with money.">>
[[End morning stream|day_5_6_other]]<<nobr>>
<<set $day_step to 6>>
<<set $viewers to 274>>
<<set $followers += 34>>
<<set $donations += 88>>
<<set $money += 88>>
<<set $right_sidebar_mode to 0>>
<<set $playerImage to "images/user/tier_0_2.jpeg">>
<</nobr>>
I stream for two hours and eight minutes. Deploy every technique. The wink at the end. "Same eyes tomorrow. Maybe same eyes plus a surprise tonight."
Duration: 2 hours 8 minutes
Peak Viewers: 274
Average Viewers: 179
New Followers: 50
Total Followers: 302
Donations: $211.00
Subscribers: 14
Three hundred and two followers. $211 this morning. Grand total ElliePlayz: $784.
I close OBS. Take off the wig. Eli returns. Pale. Male. The lashes and brows stranded without their frame.
12:30 PM. Ninety minutes until RegenaForm. Time to eat like a person.
<<set $hint to "Order food and prepare">>
[[Order food|day_5_7_other]]<<set $day_step to 7>>
<<set $hint to "Call Marcus and order food">>
I call Marcus. The phone rings three times longer than usual. He picks up with the ambient noise of somewhere that isn't his apartment. Wind. Traffic. The outdoor soundscape of a man in basketball shorts in January.
<<marc "Yo. Walking back from the gym.">>
<<eli "In January. In basketball shorts.">>
<<marc "Temperature is a construct. What's up?">>
<<eli "Still good for five?">>
<<marc "Yeah. I was going to grab that curry from the Thai place but you said you're buying, so...">>
<<eli "I'm buying. I'll have food when you get here.">>
<<marc "You're buying food. With money. That you earned.">>
<<eli "Don't make it weird.">>
<<marc "It IS weird. You haven't bought food since actually, have you ever bought food? For another person? Voluntarily?">>
<<eli "I bought Marcus Delano a bag of cheese puffs in tenth grade.">>
<<marc "That was with your mom's money.">>
<<eli "Still counts.">>
<<marc "It does not count. Okay, five o'clock. I'm bringing the good controller.">>
<<eli "You're bringing the good controller to MY apartment?">>
<<marc "The good controller goes where the good food is. New policy.">>
<<eli "Fair. Also Marc?">>
<<marc "Yeah?">>
<<eli "Thanks for coming over. I know you have other stuff you could be doing.">>
There's a pause. The kind Marcus gives when something lands that he wasn't expecting. The wind blows through the phone.
<<marc "Bro. Are you dying?">>
<<eli "What? No.">>
<<marc "You're thanking me. Unprompted. That's either personal growth or a terminal diagnosis.">>
<<eli "It's personal growth.">>
<<marc "Huh. The streaming stuff is really working.">>
<<eli "It's really working.">>
<<marc "Good. See you at five. Buy vegetables.">>
He hangs up. The apartment settles into the silence after a phone call the specific quiet that comes from a voice departing, the air rearranging itself around the absence.
I open a delivery app.
[[Order brunch|day_5_8_other]]<<set $day_step to 8>>
Brunch. Real brunch. The first meal I've purchased with my own money in I genuinely cannot calculate how long. Months. The math of poverty isn't tracked in purchases made but in purchases not made, and the column of not-made stretches back to the beginning.
I order from a place called Morning Glory. Egg sandwich avocado, pickled onion, brioche bun. Seasoned potatoes. A latte, oat milk, large. The total is $23.47 with delivery and tip.
$23.47. Approximately twelve minutes of streaming as Ellie. Twelve minutes of a manufactured voice converted into avocado and a bun that's still warm when it arrives and a latte that froths correctly because the place has an actual espresso machine and not a hot plate.
The knock. The paper bag. The delivery person who doesn't look at my face. I take the bag and close the door and stand in my apartment holding food I bought and the holding itself is the meal the sustenance isn't the calories but the agency, the proof that the numbers on the dashboard translate into something I can taste.
I sit at the desk. Unwrap. Bite. The brioche yields. The yolk pools. The pickled onion is sharp and bright and the avocado is ripe actually ripe, not the chalky underripe or the brown overripe that I used to get from the convenience store on the rare occasions I attempted fresh produce. This is the avocado of a person who can afford to pick the right one.
The latte is good. The oat milk froths into something sweet and smooth and I drink it at the desk watching the morning dashboard $211, 302 followers and the coffee tastes like proof. Like the first line on a receipt that reads EARNED instead of RECEIVED.
I eat everything. The potatoes. The yolk. The foam at the bottom of the latte cup. I set the empty cup beside the monitor. The Morning Glory logo a sun rising over a coffee bean sits there like a trophy. The first of its kind.
$23.47 well spent. The best twelve minutes of streaming I've ever converted.
1:15 PM. Forty-five minutes until RegenaForm.
I shower quick, bar soap, the hair clean enough from this morning. Black t-shirt. Joggers. Hoodie. The uniform that hasn't caught up with the income.
<<set $hint to "Go to RegenaForm">>
[[Go to RegenaForm|neighbourhood]]<<nobr>>
<<set $day_step to 9>>
<<set $locationName to "RegenaForm Clinic">>
<<set $locationImage to "images/locations/regenaform_reception_lobby.jpeg">>
<</nobr>>
Four blocks. Twelve minutes. The route I've memorized past the laundromat, the corner store, the bail bondsman, the door at the end of the second-floor hallway with the chrome helix etched in frosted glass.
The waiting area. The orchid. The rigid couches. Lina behind the desk, amber-gold eyes, the smile that deepens fractionally for returning clients.
<<lina "Ellie! Welcome back.">>
<<eli "Hey, Lina. Its Eli actually.">>
<<lina "Dr. Voss is prepping. The usual? Matcha?">>
The usual. I have a "usual" at a bioengineering clinic. Four days ago I didn't have a usual anywhere. Now I have a usual at a place that restructures faces using DNA compounds and serves matcha in cups that cost more than my desk chair.
<<eli "Sure. Thanks. Also I want to settle the brow sculpt balance. The three hundred.">>
<<lina "Of course.">>
She pulls up my profile on the tablet. The interface clean, clinical, my face in the corner, the procedure history, the outstanding balance.
<<eli "Pay the three hundred now and put the nose Slope on a new seven-day credit.">>
<<lina "Wonderful. Brow sculpt cleared. Nose refinement five hundred on seven-day terms. Done.">>
$300 gone. The debt that's been sitting on my chest dissolves. Paid with money I earned. My money. Ellie's money. The distinction blurs and I let it blur because the feeling of paying a debt of watching a number go from $300 to $0 by my own hand transcends the identity question. Eli or Ellie, the debt is paid. The person who pays it is the person who earned it and they're the same person and the debt is gone.
<<lina "Dr. Voss is ready.">>
[[Procedure room|day_5_10_other]]<<set $day_step to 10>>
<<set $hint to "The nose procedure">>
The procedure room. The reclining chair. Dr. Maren standing beside it, lab coat pressed, helix pin catching light, the grey-green eyes already inventorying my face as I walk in.
<<dr_maren "Ellie. The lashes and brows have integrated beautifully. Excellent cellular response.">>
<<eli "Thanks. They feel like mine now.">>
<<dr_maren "They are yours. That's the point. Today the nose. Slope refinement. We'll narrow the bridge by approximately three millimeters per side, straighten the profile, soften the tip from rounded to gently angled. Forty minutes. Same process. You'll feel warmth.">>
<<eli "After?">>
<<dr_maren "The nose is one of the primary masculine tells. With the Slope done, the upper two-thirds of your face will read as convincingly feminine in most contexts. On camera, with your current framing, the nose will integrate with the lash and brow work to create a cohesive upper-face composition. The crop line drops. More face. More engagement.">>
More face. More engagement. The doctor speaks in the same vocabulary as the YouTube streamer coaches, the same language as the Twitch algorithm, the clinical and the commercial indistinguishable. Medicine and marketing, the double helix.
I sit. Recline. The crackless white ceiling.
<<dr_maren "Close your eyes.">>
The compound. Cool gel on the bridge, across the tip, along the sides. Then warmth deeper than before, penetrating the cartilage, the architecture of the nose restructuring millimeter by millimeter. I feel it. Not pain but change. The awareness of something shifting beneath the skin, the cells receiving new instructions, dormant potential switching on.
Forty minutes. I lie there and I think.
I think about Kira. The homework. The text I haven't written. "Actual words about actual feelings." The Venn diagram of what I feel and what I can safely reveal the tiny overlap in the center where "I like you" and "I'm scared" intersect. I could write that. I could send that. Three sentences. I like you. I'm scared. I don't know how to be both the person you want and the person I'm becoming.
Except the third sentence opens a door I'm not ready to walk through. The person I'm becoming. She'd ask what that means and the answer is: I'm lying on a table in a clinic having my nose reshaped because I stream as a woman and the money requires a face that matches the voice. That's the actual feeling. That's the real thing under the real thing and I can't text that between heart emojis.
I think about Marcus. Coming over at five. The direct brown eyes that do welfare assessments. He didn't notice the lashes or the brows attributed everything to "the Marriott shampoo." But the nose is different. The nose is structural. The bridge narrowing, the tip refining these are changes that alter the center of the face, the feature that anchors everything else. If he looks at me the way he looks at me the Marcus scan, the two-year dataset of my face will the nose register?
Maybe not. Marcus doesn't study faces. Marcus studies feelings. He'll look at me and see "Eli seems better" and the nose will dissolve into the general impression the way the lashes did, the way the brows did, the specific absorbed into the general.
Maybe.
<<dr_maren "Structural work complete. Opening your eyes.">>
[[See the new nose|day_5_11_other]]<<nobr>>
<<set $day_step to 11>>
<<set $appearance to 6>>
<<set $femininity to 4>>
<<set $playerImage = "images/user/tier_1_4.jpeg">><</nobr>>
Mirror. The nose.
Different. The word lands first, before analysis, before the brain breaks the change into components. Different. The bridge has narrowed the wide, masculine spread that dominated the center of my face for twenty-two years has contracted, drawing the lines of the nose inward, creating a profile that runs straight instead of bulging. The tip has softened the rounded, blunt thing that gave the whole feature its masculine stamp has refined into a gentle downward angle, a slope that Dr. Maren's catalog named and the bioactive compound delivered. The asymmetry is gone. Left and right match. The nose is, for the first time in my life, symmetrical.
Combined with the lashes and the brows, the upper face is crossing a line. Not approaching it, not nearing it, crossing it. The forehead-to-upper-lip region reads as female. Not ambiguously. Not "could go either way." Female. A stranger seeing this portion of my face would classify it without hesitation, without second thought, the way the brain classifies faces in half a second based on the aggregate of features.
The lower third jaw, lips, chin remains Eli. The unchanged territory. The sketch beneath the painting. The masculine frame that the crop line hides and the wig can't reach.
But on camera. In the webcam frame. With the wig.
<<dr_maren "The refinement will continue settling for two to three hours. By this evening, full definition. Avoid impact to the bridge during the settling period.">>
<<eli "Can I see it with the wig?">>
<<dr_maren "Of course. Lina?">>
[[Wig room|day_5_12_other]]<<nobr>>
<<set $day_step to 12>>
<<set $playerImage = "images/user/tier_1_5.jpeg">><</nobr>>
The fitting room. Lina. The wig my StreamLine, the brownish-auburn waves, the camera-optimized fiber. She puts it on. Tuck, position, align. The practiced hands, the vanilla-and-linen scent.
<<lina "There.">>
Mirror.
The face in the glass is closer to Ellie than it's ever been. The wig frames the composition warm waves falling past the shoulders, catching the vanity light. The lashes anchor the eyes. The brows arch and now the nose the Slope, narrow and straight and gently angled sits at the center like a keystone, the piece that makes the arch hold, the element that transforms a collection of modifications into a coherent face.
From the eyes to the nose. Two-thirds feminine. The crop line can drop. Tonight, the webcam shows Ellie's eyes AND Ellie's nose and the image that emerges will be close enough to a real girl's face that the viewer's brain won't question it. Won't hesitate. Won't scroll past.
I stare at the mirror for fifteen seconds. The face stares back. It's beautiful in a way that my face has never been not the word I'd use for the old Eli, not the word anyone would use, but the face in the mirror with the wig and the lashes and the brows and the nose is approaching something that the word "beautiful" is willing to live near. Pretty, maybe. Striking, in certain light. Camera-ready, definitely.
I take off the wig. Hand it to Lina. Eli returns but a different Eli. An Eli with a straight nose that doesn't belong to the jawline it sits above. A face in two languages.
<<lina "The next logical step would be lip enhancement. Natural-Full. Four hundred. But no rush.">>
The upsell. The seed. I barely hear it. I'm looking at the mirror and thinking about Marcus at five o'clock the direct eyes, the scan, the question that may or may not come.
<<eli "Thanks, Lina. I'll think about it.">>
<<lina "We're always here.">>
Always. The certainty of a system that knows I'll return.
I leave. Four blocks. January air on the new nose the sensation different, the cold meeting a different architecture, the narrowed bridge and the refined tip registering temperature in a way the old nose didn't. Everything feels more precise. More defined. Like the nose is receiving higher-resolution data from the air.
3:15 PM. Hour and forty-five until Marcus.
Time to buy food. Real food. For two people.
<<set $hint to "Buy food for Marcus visit">>
<<link "Buy food and go home">>
<<set $playerImage = "images/user/tier_1_4.jpeg">>
<<goto "neighbourhood">><</link>><<set $day_step to 13>>
<<set $locationName to "Eli's Apartment">>
I stop at the Korean place on the corner the one I've walked past hundreds of times, the one with the handwritten menu in the window that I used to read the way you read real estate listings in a neighborhood you can't afford. Today I walk in. The bell chimes. The woman behind the counter looks at me and doesn't recognize me as the guy who walks past because I've never been the guy who walks in.
I order. Bulgogi with rice, two portions. Kimchi pancake. Japchae. A side of pickled radish. Two cans of that Korean barley tea I've seen Marcus drink.
The total is $38.20. I pay without flinching. Thirty-eight dollars. Approximately eighteen minutes of Ellie's voice. Eighteen minutes to feed two people something that isn't frozen or microwaved or consumed standing over a counter in the dark.
I carry the bags home. Two bags, heavy, the plastic handles cutting into my fingers. The weight feels good. Substantial. The weight of food you bought for a friend with money you earned from a face you're building.
The apartment. I set the bags on the counter. The Korean food sits beside the burrito wrappers the old diet and the new one, side by side, the before-and-after of a kitchen that's learning what real food looks like.
I throw away the burrito wrappers. Both of them. The wrapper from yesterday AND the one from three days ago. The ones I've been stepping over. I pick them up and put them in the trash and the counter looks different without them cleaner, emptier, more like a place where food is prepared rather than endured.
I also throw away the empty Monster cans. Two of them, one on the floor by the desk and one on the counter. Into the trash. The apartment doesn't transform it's still 280 square feet of managed decline but the decluttering removes a layer of debris that was making the decline look managed by nobody.
4:45 PM. Marcus in fifteen minutes. The nose has settled further I check the phone camera. The bridge is sharper now, the definition increasing as Dr. Maren promised. The straight line. The soft slope. The face in the camera is the face Marcus is about to see and the face Marcus is about to see has changed since he last looked at it and the question is whether Marcus looks at faces or feelings and the answer has always been feelings but the nose is in the center of the face and the center is hard to miss.
I sit on the mattress. Wait. The Korean food cooling on the counter, the barley tea sweating in its cans, the apartment slightly cleaner than it's been in months, and a face slightly less Eli than it was yesterday.
<<set $hint to "Wait for Marcus">>
[[Wait for Marcus|day_5_14_other]]<<set $day_step to 14>>
<<set $hint to "Marcus arrives">>
Two knocks. Pause. One more. The Marcus rhythm. I open the door. He's standing in the hallway charcoal hoodie, basketball shorts, the beat-up Jordans with the untied laces, a plastic bag in one hand. The scar on his eyebrow catches the hallway fluorescent.
<<marc "I brought the good controller.">>
<<eli "And?">>
<<marc "And cheese puffs. The good controller needs cheese puffs. It's a package deal.">>
He walks in. The scan the quick, automatic, Marcus-does-it-every-time scan. Mattress: made. Sort of. The sheets are pulled up, which is new. Desk: monitors off, nothing visible. Kitchen: no burrito wrappers. Korean food containers on the counter. His eyebrows lift.
<<marc "...is that bulgogi?">>
<<eli "Japchae and kimchi pancake.">>
<<marc "You bought Korean food.">>
<<eli "I bought Korean food.">>
<<marc "From the place on the corner.">>
<<eli "The place on the corner.">>
He sets the cheese puffs on the counter beside the bulgogi. The two items sit side by side the currency of the old friendship and the currency of the new income. He looks at the food and then at me and the look holds for a beat longer than the usual scan.
<<marc "Alright, who are you and what have you done with Eli Vance?">>
<<eli "I told you. The streaming stuff is working.">>
<<marc "The streaming stuff bought a forty-dollar Korean dinner.">>
<<eli "Thirty-eight twenty.">>
<<marc "The specificity of that number tells me you've been doing math about it.">>
<<eli "I've been doing math about everything lately.">>
He nods. Doesn't push. Opens the bulgogi container. The smell fills the apartment soy sauce and sesame and grilled beef and caramelized onion, a scent so far removed from the microwave-burrito baseline that it might as well be from a different country, which technically it is.
<<marc "This smells incredible. Also your apartment is cleaner.">>
<<eli "I threw away the burrito wrappers.">>
<<marc "Both of them?">>
<<eli "Both.">>
<<marc "The Monster cans?">>
<<eli "Gone.">>
<<marc "Eli. You cleaned and bought food. In the same day.">>
<<eli "Don't make it a whole thing.">>
<<marc "It IS a whole thing. Two weeks ago you were eating frozen burritos in the dark and now there's japchae on the counter and the floor is visible. That's a whole thing.">>
He looks at me again. The second look. This one is different from the entrance scan it's focused, deliberate, the Marcus look that I've seen a hundred times and that means something's registering. His brown eyes move across my face. Forehead. Eyes. Nose. Jaw. Back to the eyes. Back to the nose.
<<marc "You look different.">>
The sentence. The same sentence he said on the sidewalk two days ago. But this time it carries a different weight because this time the different is more different the nose has been in the settling process for three hours and the definition has sharpened and the bridge is noticeably narrower and the face he's looking at is the face of a person who went to a clinic this afternoon and had the center of his face restructured.
<<eli "Do I?">>
<<marc "Your face looks... I don't know. Sharper? Something around the middle.">>
My pulse spikes. Around the middle. He's looking at the nose. He doesn't know that he's looking at a nose that was reshaped three hours ago by a DNA-based bioengineering compound in a clinic four blocks away, but his eyes are finding it, the way his eyes always find the thing that's changed, the welfare assessment running its diagnostics and flagging an anomaly.
<<eli "I've been sleeping better. Eating better. Probably just looks different because I'm not running on Monster Energy and despair.">>
<<marc "Hmm.">>
One syllable. Not Kira's "hmm" Kira's "hmm" is analytical, a filing system at work. Marcus's "hmm" is more like a parking space he's putting the observation somewhere temporarily, not investigating it, not pressing it, just acknowledging that something registered and choosing to circle back or not.
He chooses not.
<<marc "Well, whatever it is, keep doing it. You look healthy. I haven't been able to say that in a while.">>
<<eli "Thanks, Marc.">>
<<marc "Don't thank me. Feed me. Where are the plates?">>
<<eli "I don't have plates.">>
<<marc "...you don't have plates.">>
<<eli "I have a bowl. One bowl.">>
<<marc "Eli.">>
<<eli "Paper towels.">>
<<marc "We're eating bulgogi off paper towels.">>
<<eli "Welcome to my home.">>
[[Eat and play|day_5_15_other]]<<set $day_step to 15>>
We eat off paper towels and the one bowl (Marcus gets the bowl because he's a guest and because the bulgogi in a bowl is an experience he deserves and I deserve paper towels because I'm a person who doesn't own plates). The food is good the kind of good that announces itself with the first bite and doesn't need to prove anything after. The beef is tender. The japchae is sweet and savory and slippery in a way that makes eating it with fingers a gamble. The kimchi pancake is crispy at the edges and soft in the center and Marcus eats three-quarters of it before I get to my second piece, which is fair because he's 6'1" and I'm a person who's been eating frozen food for eight months and doesn't have the stomach capacity for real portions yet.
<<marc "This is really good.">>
<<eli "Yeah?">>
<<marc "Yeah, man. Like actually good. Not 'good for a person who eats burritos' good. Actually good.">>
<<eli "I'm upgrading.">>
<<marc "To what?">>
<<eli "To a person who eats food that isn't cylindrical.">>
<<marc "Bold move. Next you'll buy furniture.">>
<<eli "Let's not get ahead of ourselves.">>
We clean up paper towels into the trash, the one bowl rinsed (I rinse it; Marcus watches me rinse it with the expression of a nature documentarian observing a rare behavior in the wild). The barley tea is cold and clean and Marcus drinks his in four swallows and crushes the can on the counter because Marcus treats all beverages like challenges.
We move to the mattress. The PS4 boots. Rift Walkers loads. Marcus has the good controller the one he brought, the one that responds correctly, the one that doesn't have a sticky R2. I have the thrift-store replacement. The hierarchy is established.
<<marc "Floor 17 tonight.">>
<<eli "Floor 17.">>
<<marc "We've been saying that for months.">>
<<eli "Tonight it happens.">>
<<marc "Your confidence is new and suspicious.">>
<<eli "Everything about me is new and suspicious.">>
He laughs. The dungeon generates. We play.
The rhythm is the same. The yelling. The panic. The teamwork that functions through insults.
<<eli "BEHIND YOU ">>
<<marc "I know! I hear him!">>
<<eli "You don't hear him, you're DYING ">>
<<marc "I'm not dying I'm strategically retreating ">>
<<eli "INTO A WALL?">>
<<marc "The wall was strategically placed!">>
We die on Floor 14. Run it again. Floor 16. The record, tied again. The Floor 16 boss with six arms does its chain attack and Marcus dodges five of them and the sixth catches his ankle and the ragdoll physics send his character cartwheeling across the arena and I try to revive him and the boss turns and one-shots me while I'm in the revive animation.
<<marc "Floor 16. Again.">>
<<eli "We're cursed.">>
<<marc "We're not cursed. We're bad.">>
<<eli "We're consistently bad. That's a kind of skill.">>
<<marc "The skill of reliable mediocrity.">>
We run it a third time. Floor 11. Worse. The game doesn't care about our ambitions. The game is a system that rewards specific inputs skill, timing, coordination and our inputs are inconsistent in a way that no amount of enthusiasm can fix.
I think about the other system. The one that rewards Ellie's inputs. That system responds to different variables face, voice, performance and those variables I can control, optimize, purchase. The streaming system is hackable. Rift Walkers isn't.
Between runs, during the loading screen, the conversation shifts.
<<marc "So for real though. The money thing. How much are we talking?">>
He says it casually, the way he says all the important things dropped into the loading-screen silence like a coin into a well, the depth measured by how long the silence lasts before the splash.
<<eli "What do you mean?">>
<<marc "The streaming. You bought a forty-dollar dinner. You're talking about buying furniture. How much money are you actually making?">>
<<eli "I told you. The numbers are better.">>
<<marc "'Better' is a word. I'm asking for a number.">>
I look at the loading screen. The dungeon generating. The corridors and rooms assembling from code, random and procedural, a world being built from rules.
<<eli "A few hundred. This week.">>
<<marc "A few hundred.">>
<<eli "Yeah.">>
<<marc "In a week.">>
<<eli "In a week. From streaming.">>
<<marc "On EliPlays.">>
The question is specific. The question names the account. The pause before my answer is a half-second too long and Marcus may or may not notice because the loading screen ends and the dungeon generates and the moment passes into the noise of gameplay.
<<eli "From streaming in general. I've been trying different platforms, different approaches.">>
<<marc "Different approaches.">>
<<eli "Yeah. Format stuff. Content strategy.">>
<<marc "A few hundred from content strategy.">>
<<eli "Marc, can we just play?">>
He looks at me. The look. Not hostile, not suspicious in the aggressive sense, but attentive in the Marcus sense the sense that says I see the outline of a thing you're not showing me and I'm deciding whether to draw the rest of it or wait for you to fill it in.
<<marc "Okay. But Eli whatever the 'different approaches' are, just... be careful. A few hundred a week is good money. Good money from the internet has a way of coming with conditions.">>
<<eli "What does that mean?">>
<<marc "It means the internet pays for things and the things it pays for aren't always the things you want to sell.">>
The sentence lands like a dropped weight. He doesn't know about Ellie. He doesn't know about the voice modulator or the wig or the clinic. But Marcus has the instinct of a person who's watched people sell pieces of themselves at ScreenFixx, the boss who sold his integrity for a franchise fee; in the neighborhood, the guys who sold their time for gig apps that paid less than minimum wage and called it "flexibility." Marcus knows what it looks like when a person starts converting parts of their life into revenue and the conversion rate favors the buyer.
<<eli "I'm being careful.">>
<<marc "Good.">>
He turns back to the screen. The dungeon waits. We play.
Floor 12. Floor 9. Floor 15. Close but not close enough.
<<marc "One more run?">>
<<eli "One more.">>
Floor 17.
The number appears on screen and we both go quiet. The walls of the seventeenth floor are different darker, the ambient sound lower, the monster types new. We've never been here. In two years of playing this game, in dozens of sessions on my mattress and his couch and the floor of his apartment, we've never seen Floor 17.
<<marc "Bro.">>
<<eli "I see it.">>
<<marc "Floor 17.">>
<<eli "New record.">>
We play the floor in near-silence, the banter suspended, the stakes too high for jokes. I play support healer class, hanging back, keeping Marcus alive while he draws aggro. The synergy works. For four minutes, we function like a team that actually communicates, the button presses synchronized, the timing aligned.
The Floor 17 boss appears. It has eight arms. Two more than the Floor 16 boss.
<<marc "Eight arms.">>
<<eli "I see the eight arms.">>
<<marc "That's two more arms than our nemesis.">>
<<eli "Marc, focus.">>
We fight. We actually fight well Marcus dodging, me healing, the boss losing health in increments, the bar dropping from full to three-quarters to half. We're going to do it. We're actually going to beat Floor 17.
The boss does an attack we've never seen. A ground slam that sends a shockwave through the entire arena. Marcus jumps it. I don't.
My character dies. Marcus is alone. Boss at 30% health. One player. Eight arms.
He lasts forty-seven seconds. Gets the boss to 12%. Then an arm catches him mid-dodge and the ragdoll sends him into a wall and the health bar empties.
FLOOR 17 FAILED
<<marc "Twelve percent.">>
<<eli "Twelve percent.">>
<<marc "We got the boss to twelve percent.">>
<<eli "New record. Floor 17. Boss at 12%.">>
<<marc "Next time.">>
<<eli "Next time.">>
He says it with the conviction of a man who has been saying "next time" for two years and who will keep saying it because the saying is the point. The game is the excuse. The sitting beside each other on a mattress in a studio apartment is the game.
[[Marcus leaves|day_5_16_other]]<<set $day_step to 16>>
8:30 PM. Marcus stands. Stretches. The spine-crack. The sound that makes me wince every time.
<<marc "Gotta go. Early shift tomorrow the owner's having Devon 'shadow' me, which means I do two people's jobs while Devon watches and drops things.">>
<<eli "Good luck.">>
<<marc "Luck doesn't cover Devon. I need insurance.">>
He picks up the good controller. Tucks it into the hoodie pocket. Marcus carries the good controller the way a knight carries a sword personally, everywhere, never entrusted to lesser hands.
At the door, he stops. Turns.
<<marc "The food was good, Eli.">>
<<eli "Thanks.">>
<<marc "No. Like the gesture. Buying food. Having it here when I arrived. That's... that's not something you used to do.">>
<<eli "I know.">>
<<marc "Whatever's changing whatever the 'approaches' are I'm glad. You seem better. Like, actually better. Not the 'I'm fine' better. Real better.">>
<<eli "I am better.">>
<<marc "Good.">>
A beat. The hallway behind him, fluorescent, institutional. The elevator making its submarine groan behind the closed doors.
<<marc "Eli? The Kira thing. The homework. Have you texted her?">>
<<eli "Not yet.">>
<<marc "Not yet.">>
<<eli "I'm working on it.">>
<<marc "You've been working on it for five days.">>
<<eli "Some homework takes longer.">>
<<marc "Some homework takes longer because the student is avoiding it.">>
<<eli "Marc ">>
<<marc "Text her. Tonight. Before you stream or do whatever else you do at midnight. Text her something real. She deserves real.">>
<<eli "I know.">>
<<marc "Do you? Because you keep saying 'I know' and she keeps waiting and the gap between those two things is getting wider.">>
He says it without anger. With the flat, caring precision of a person who loves his friend and is watching his friend do the thing his friend always does identify the problem, acknowledge the problem, do nothing about the problem until the problem becomes a crisis.
<<marc "Later.">>
<<eli "Later.">>
The door closes. Footsteps. Stairwell. Gone.
The apartment settles. The bulgogi smell lingers. The cheese puffs sit unopened on the counter Marcus forgot them, or left them deliberately, the distinction irrelevant because the result is the same: a bag of cheese puffs as a standing invitation to continue being friends.
I sit at the desk. The monitors are dark. The closet is closed, the wig inside. The VoxMorph icon is in the taskbar, minimized. The dual reality Eli's apartment, Ellie's tools sharing the same 280 square feet.
Marcus said text her. Tonight.
I pick up the phone. Open Kira's thread.
<<kira "morning. did you sleep?">>
<<kira "also: the homework is not optional. actual words. actual feelings. whenever you're ready.">>
The messages from this morning. My replies minimal, evasive, the emotional equivalent of putting a "back in 5 minutes" sign on a door that's been closed for years.
I type. Delete. Type. Delete. The cursor blinks.
<<eli "hey. it's me. the homework.">>
<<eli "i like you. you know that. i said it in the car and i meant it and i haven't unsaid it and i won't.">>
<<eli "i'm scared of a lot of things right now. some of them i can't explain yet. not because i don't want to but because i don't have the words shaped right. i'm working on it.">>
<<eli "the part i can explain: you matter to me. more than the streaming stuff. more than the numbers. more than anything that's changing. you're the fixed point.">>
<<eli "that's the real thing. that's the actual feeling. i'm sorry it took five days.">>
I read it. Five messages. Real words. Actual feelings. Not all of them not the Ellie part, not the clinic part, not the voice modulator or the wig. But the Kira part. The part about her. The part that's true regardless of everything else.
I send it. Five messages in rapid succession, the way you jump off a diving board all at once, no pausing on individual rungs.
Three minutes pass. The longest three minutes of my life, longer than the RegenaForm procedures, longer than the loading screens, longer than the forty-five seconds Marcus survived alone against the Floor 17 boss.
<<kira "eli.">>
<<kira "that wasn't so hard, was it?">>
<<kira "thank you. for the real thing.">>
<<kira "i like you too. i've liked you since before you knew how to say it. you're infuriating and you're worth the wait.">>
<<kira "the parts you can't explain yet i'll be here when you can. no rush. but no more thumbs-up emojis. that's the deal. ❤️">>
Red heart. The real one.
I send one back. For the first time since Day 1.
<<eli "❤️">>
It costs me something to send it. Not money something else. Something in the economy of honesty, where every red heart I send while hiding a secret is a debt that accrues interest. But the heart is real even if the context is incomplete. I love her. That's not a lie. Everything around it might be, but the heart itself is genuine.
I put the phone down. The homework is done. Incomplete the other half of the truth still boxed, still sealed, still waiting for a day I keep pushing forward. But the Kira part is submitted and she accepted it.
9:30 PM. Stream time.
<<set $hint to "Stream as ElliePlayz">>
[[Prepare to stream|apartment_map]]<<nobr>>
<<set $day_step to 17>>
<<set $locationName to "Eli's Apartment">>
<<set $playerImage to "images/user/tier_1_5.jpeg">>
<<set $hint to "Prepare to stream">>
<</nobr>>
10:15 PM. The apartment. The ritual but tonight the ritual has a new step.
I stand in front of the bathroom mirror. The nose has settled fully. The bridge is sharp now defined, narrow, running straight from the brow line to the tip in a clean profile that catches the overhead light (flicker, flicker, on) and channels it the way a finished surface channels light. The tip is soft. Angled. The Slope. The feature that Dr. Maren described as "the primary masculine tell" is gone, replaced by something that tells a different story.
I go to the desk. Wig on. Three minutes. VoxMorph calibrated. OBS loaded.
Now the change. I tilt the webcam down. Not much an inch, maybe an inch and a half. The preview frame that has shown eyes-and-hair for three days now drops to include the nose. The new nose. The straight bridge and the soft tip and the proportion that Dr. Maren called "harmonizing."
Eyes. Lashes. Brows. Nose. Hair.
The crop line has fallen. The preview shows more of Ellie than any stream before the upper two-thirds of a face that reads as feminine without question, without hesitation, without the half-second of gender-classification that the brain runs on every new face. The viewer seeing this thumbnail will think "girl" before they think anything else.
I angle the desk lamp. The warm gold catches the new nose the bridge creating a clean line of highlight, the slope casting a soft shadow on the upper lip area, the geometry of the modification designed for exactly this: being seen on camera.
I check the preview one final time. The face in the rectangle is closer. Closer to Ellie than it's ever been. Closer to the face reveal. Closer to the destination that the viewers have been building in their imaginations and that I've been building in a clinic four blocks away.
She looks real.
ElliePlayz Live
Category: Just Chatting → Gunmetal Requiem
Viewers: 0
I look at the lens. Click "Go Live."
[[Go Live|day_5_18_other]]<<nobr>>
<<set $right_sidebar_mode to 1>>
<<set $day_step to 18>>
<<set $viewers to 21>>
<<set $followers += 5>>
<<set $donations += 0>>
<<set $money += 0>>
<</nobr>>
<<chat "ElliePlayz" "Hiii! Late night crew! Okay I promised a surprise and I DELIVER. Look at me. LOOK. Tell me what you see.">>
I lean into the lens. Let the face fill the frame the full upper-face composition, eyes to hairline, and now the nose sitting in the center like a new arrival at a party everyone was waiting for.
Viewers: 6
Viewers: 14
Viewers: 21
The notification squad. MidnightWhale99, there at 10:25 as promised. ChillVibesOnly. Night_owl_cc. The regulars returning to find the thing they were told to expect.
<<chat "MidnightWhale99" "I'M HERE I SET AN ALARM">>
<<chat "MidnightWhale99" "WAIT">>
<<chat "MidnightWhale99" "THE CROP LINE DROPPED">>
<<chat "MidnightWhale99" "THE NOSE. WE SEE THE NOSE.">>
<<chat "ChillVibesOnly" "OH MY GOD OH MY GOD OH MY GOD">>
<<chat "night_owl_cc" "ladies and gentlemen. the nose has landed.">>
<<chat "stream_viewer_f1" "HER NOSE. HER ACTUAL NOSE. IT'S PERFECT.">>
<<chat "stream_viewer_f2" "the slope??? the bridge??? i'm DECEASED">>
<<chat "stream_viewer_f3" "eyes + nose together is a completely different level of pretty">>
<<chat "MidnightWhale99" "the nose fund was the best investment i ever made.">>
$15.00 from MidnightWhale99: "nose reveal night. the cathedral gains a new stone. you're breathtaking. 🌙"
$10.00 from ChillVibesOnly: "NOSE TAX. GLADLY PAID. now when do we get lips??"
$8.00 from night_owl_cc: "i paid money to see a woman's nose on the internet. no regrets."
<<chat "ElliePlayz" "THIRTY-THREE DOLLARS for a NOSE?! You guys are insane! I can't okay I literally might cry but the mascara situation has NOT been resolved so I'm holding it together!">>
<<chat "stream_viewer_f4" "MASCARA LORE EXTENDS INTO THE NOSE ERA">>
<<chat "night_owl_cc" "the mascara cinematic universe grows">>
I do the gasp eyes wide, hand to chest but now the gasp includes the nose, the whole upper face reacting as a composition, the expression fuller and more dimensional than the eyes-only version. The nose crinkles slightly during the wide-eye reaction and the crinkle reads as cute, as human, as real in a way that eyes alone couldn't communicate.
<<chat "stream_viewer_f5" "SHE DID THE NOSE CRINKLE. THE NOSE CRINKLE.">>
<<chat "MidnightWhale99" "the crinkle. new signature move. devastating.">>
[[Play Gunmetal|day_5_19_other]]<<nobr>>
<<set $day_step to 19>>
<<set $viewers to 94>>
<<set $followers += 16>>
<<set $donations += 37>>
<<set $money += 37>>
<</nobr>>
Viewers: 94
I load Gunmetal Requiem. Ranked. The gameplay tonight carries residual energy from the Rift Walkers session with Marcus the coordination sharpened, the reflexes primed, the muscle memory of two hours of dungeon-running translating into cleaner aim and faster reactions.
First match: 10 and 5. Double digits. The second time I've hit ten kills and the chat reacts like a championship.
<<chat "stream_viewer_f6" "TEN AND FIVE. NOSE BUFF CONFIRMED.">>
<<chat "ChillVibesOnly" "the nose gave her POWERS">>
<<chat "stream_viewer_f7" "ellie before nose: good. ellie after nose: CRACKED.">>
<<chat "MidnightWhale99" "the nose was a power-up. the game recognizes it.">>
$5.00 from stream_viewer_f8: "the improvement arc is REAL. 10-5 with the nose reveal? cinema."
Second match. 8 and 6. Positive again. The consistency is becoming a pattern five consecutive positive-K/D streams, the growth curve that chat narrates as "ascending" and that I know is just the stabilization of a nervous system that's been running on better food and less cortisol and the quiet warmth of people who pay attention to me.
<<chat "ElliePlayz" "Eight and six! Not as spicy as the ten-five but I'll take it. Consistency is queen, right?">>
<<chat "stream_viewer_f9" "consistency IS queen. just like you.">>
<<chat "night_owl_cc" "she said 'consistency is queen.' self-aware legend.">>
The hour passes. Donations accumulate. New viewers click in the thumbnail has changed, the nose in the preview altering the browse-page calculus, the face-shaped thing on the screen now close enough to a face that the scroll-stop instinct fires faster. The click-through rate is visibly improved. New names appear in chat at a faster rate than any previous stream, then forty-seven minutes in a new name.
<<chat "sophie1234" "first time here. the half-face thing is interesting.">>
[[Sophie appears|day_5_20_other]]<<nobr>>
<<set $day_step to 20>>
<<set $viewers to 143>>
<<set $followers += 11>>
<<set $donations += 18>>
<<set $money += 18>>
<</nobr>>
Viewers: 143
The message sits in the scrolling chat for three seconds before I notice it. Not because of its content "the half-face thing is interesting" is a neutral observation, a first-time viewer's assessment, neither praise nor criticism. I notice it because of the tone. The chat has been running at full hype capslock declarations, emojis, the collective effervescence of nose-reveal night and this message is lowercase, punctuated, measured. A sentence instead of an exclamation. It reads like an adult in a room full of teenagers. Like someone who scrolled in and is watching rather than participating.
<<chat "ElliePlayz" "Sophie! Welcome! Glad you think it's interesting, haha. Yeah I'm still building up the confidence for a full face reveal but we're getting there!">>
<<chat "sophie1234" "no rush. the mystery is the product.">>
The mystery is the product. Six words that hit differently than "WHEN FACE REVEAL" or "SHOW US THE LIPS." Six words that suggest a viewer who understands the mechanics not just the content but the strategy behind the content. The crop line isn't an accident. The partial reveal isn't shyness. It's a product. It's designed and sophie1234 sees the design.
<<chat "MidnightWhale99" "sophie spitting facts. the mystery IS the product.">>
<<chat "night_owl_cc" "okay sophie is smart. welcome to the cult.">>
<<chat "sophie1234" "not a cult. just quality content.">>
<<chat "stream_viewer_f10" "sophie with the composure. we don't get a lot of composure in here.">>
<<chat "ElliePlayz" "Sophie's bringing the sophistication our chat desperately needs. Welcome aboard!">>
<<chat "sophie1234" "your brow shape is exceptional, by the way. natural or sculpted?">>
The question freezes my blood. Two seconds. Three. The chat scrolls past it most viewers don't notice specific questions in a fast-moving chat but I see it. "Natural or sculpted?" A question about my brows. The same brows that RegenaForm shaped three days ago. The same brows that Marcus attributed to "the Marriott shampoo" and Kira identified as a "drugstore grooming kit." and this stranger, on her first visit, in her first five minutes, is asking whether they're natural or sculpted.
<<chat "ElliePlayz" "Aw, thank you Sophie! They're natural! I just have... good brow genes, I guess?">>
<<chat "sophie1234" "lucky. they frame your eyes beautifully. the arch complements the lash density. very cohesive.">>
Very cohesive. She's describing the face the way Dr. Maren describes it. "Cohesive." The vocabulary of someone who understands facial composition who sees the lashes and the brows and the nose not as individual features but as a system, a design, elements in a composition that either harmonize or don't. Sophie sees them harmonizing. Sophie sees the design.
<<chat "night_owl_cc" "sophie just did a face analysis in chat. i think she's a dermatologist.">>
<<chat "sophie1234" "not a dermatologist. just observant.">>
<<chat "MidnightWhale99" "observant sophie. watching the watcher.">>
<<chat "sophie1234" "everyone watches. i just pay attention to different things.">>
The sentence lingers. I pay attention to different things. The chat moves on a kill in the game, a donation, a meme but the sentence stays in my peripheral awareness the way the stranger stayed at the restaurant. A presence that occupies more mental space than its duration warrants.
sophie1234 doesn't donate. Doesn't subscribe. Doesn't use emojis or capslock or exclamation marks. She watches for the remaining hour of the stream, commenting occasionally short, precise, observational. She notes the gameplay improvement ("your crosshair discipline has tightened since the start of the stream"). She notes the lighting ("the warm lamp creates contouring shadows on the nose bridge intentional?"). She notes the voice ("your vocal register drops when you concentrate the shift is interesting").
Each observation is accurate. Each observation sees something the other viewers don't. The other viewers see a cute girl playing a game. sophie1234 sees a performance being constructed from components. She sees the engineering.
It's the first time anyone has looked at Ellie and seen the machine beneath the girl.
[[Continue streaming|day_5_21_other]]<<nobr>>
<<set $day_step to 21>>
<<set $viewers to 231>>
<<set $followers += 24>>
<<set $donations += 51>>
<<set $money += 51>>
<</nobr>>
Viewers: 231
The second hour. The nose reveal energy sustains. I play three more matches 8-4, 7-7, 9-5. The consistency. The chat narrating the growth arc. MidnightWhale99 documenting every kill. ChillVibesOnly providing the capslock commentary track. Night_owl_cc offering the dry counterpoint and sophie1234. Quiet. Watching. Occasionally surfacing with a sentence that cuts through the noise like a knife through cake clean, precise, gone before the crumbs settle.
<<chat "sophie1234" "you could drop the crop line another half inch. the jawline shadow from the lamp angle would create an additional contour line.">>
She's giving me framing advice. Specific, technical, accurate framing advice. She's telling me to show more face and she's explaining the lighting geometry that would make it work. The jawline shadow I hadn't considered it. The lamp angle that currently hides the masculine jaw could, at a slightly lower crop, create a shadow that suggests femininity without revealing the actual bone structure.
<<chat "ElliePlayz" "Sophie! That's actually genius. Are you a photographer or something?">>
<<chat "sophie1234" "or something.">>
<<chat "night_owl_cc" "sophie is either a photographer, a spy, or a very observant serial killer.">>
<<chat "sophie1234" "none of the above. just someone who understands what makes people look.">>
Someone who understands what makes people look. I file the sentence. I file sophie1234. The name, the tone, the precision. Something about this viewer is different from the others not the devotion of MidnightWhale99 or the enthusiasm of ChillVibesOnly, but something quieter. More knowing. The attention of a person who sees through the performance to the structure beneath it and finds the structure more interesting than the show.
$12.00 from stream_viewer_f11: "nose reveal night lives up to the hype. following forever."
$20.00 from WhaleWatcher_7: "investing in the cathedral. stone by stone."
$7.00 from stream_viewer_f12: "the fact that she hit 9-5 on nose night. the protagonist energy.">>
[[End stream|day_5_22_other]]<<nobr>>
<<set $day_step to 22>>
<<set $viewers to 358>>
<<set $followers += 31>>
<<set $donations += 58>>
<<set $money += 58>>
<</nobr>>
Viewers: 358
A new peak. The nose did what the nose was supposed to do drop the crop line, expand the face, increase the engagement. The algorithm rewarding the new input. The system responding to the additional data point more face, more features, more Ellie with more viewers, more clicks, more money.
I end it. The wink the eye closing, the lash against the cheek, and now the nose visible in the wink's profile, the full upper-face composition moving as one gesture.
<<chat "ElliePlayz" "358 viewers on nose reveal night! I'm literally going to implode. Thank you, thank you, thank you. Same eyes, same nose, tomorrow and soon... more. The cathedral is under construction. I love you all. Goodnight!">>
<<chat "MidnightWhale99" "tomorrow. always. 🌙">>
<<chat "ChillVibesOnly" "NOTIFICATIONS ON. LIFE ON HOLD. ELLIE FOREVER.">>
<<chat "night_owl_cc" "goodnight ellie. the nose was worth everything.">>
<<chat "sophie1234" "goodnight. well played tonight. in every sense.">>
Well played. In every sense. The last message before I end the stream and the message sits in the chat log like a footnote with more weight than the text it annotates. Well played the game, the performance, the reveal, the construction. Sophie saw it all. Sophie said it with four words and a period.
I hit End Stream.
[[Dashboard|day_5_23_other]]<<nobr>>
<<set $right_sidebar_mode to 0>>
<<set $playerImage to "images/user/tier_0_2.jpeg">>
<<set $day_step to 23>>
<</nobr>>
Duration: 2 hours 24 minutes
Peak Viewers: 358
Average Viewers: 226
New Followers: 87
Total Followers: 389
Donations: $264.00
Subscribers: 19
$264 tonight. $211 this morning. Day 5 total (ElliePlayz): $475.
Grand total ElliePlayz earnings: $1,048.
Over a thousand dollars. In five days. From a voice modulator and a wig and a face being rebuilt one feature at a time in a clinic four blocks from a studio apartment with a crack in the ceiling. A thousand dollars that EliPlays with its 54 followers and its DarkSlayer and its eight months of $3.50 sessions wouldn't earn in a year.
I close OBS. Close VoxMorph. Take off the wig. Eli returns. The lashes and brows and nose orphaned, stranded on a masculine frame, the jewelry without the outfit.
I open the RegenaForm app. Browse. The Tier 1 menu.
Nose Slope: $500 (on credit, due in 6 days) ✓
Next: Lips Natural-Full: $400
Then: Jawline Soft: $600
Then: Cheekbones Soft & Full: $400
Then: Skin treatment Blemish Purge + Glow: $500
Total remaining Tier 1: ~$1,900. At current rate ($475/day): approximately four days.
Four days. Four days of streaming and the face is done. The crop line drops to zero. The face reveal happens. The cathedral is complete.
Sophie's comment returns: "you could drop the crop line another half inch." She's right. The next modification lips would let the line drop again. Each feature purchased is an inch of visibility. Each inch is an increment of trust from an audience that's building Ellie in their imaginations while I'm building her in a clinic.
I close the app.
I check my phone. One new message.
<<kira "sweet dreams eli. i meant what i said. i'll be here when you're ready for the rest. no rush. ❤️">>
The red heart. The promise. The patience that has no deadline but isn't infinite. She'll be here. She said she'll be here and the "rest" she's waiting for the parts I can't explain yet, the other half of the actual feelings grows larger every day that I don't explain it. Every modification. Every stream. Every dollar. The "rest" accumulates interest the way the RegenaForm credit does, compounding in the dark.
<<eli "sweet dreams kira. thank you for being here. ❤️">>
Sent. Genuine. Incomplete.
<<set $hint to "Go to bed">>
[[Go to bed|apartment_map]]<<set $day_step to 24>>
The apartment is dark. The fridge hums. The ceiling crack is up there growing, always growing, but sharing the ceiling now with a number that passed four digits today and keeps climbing.
I lie on the mattress. Grey sheets. Thin comforter. The phone beside my head, Kira's red heart glowing in the notification bar, the RegenaForm app icon teal and patient beside it.
The numbers fade first. They always fade. The dashboard recedes, the followers count dissolving, the $1,048 becoming abstract in the way money becomes abstract when the screen is off and the body is horizontal and the brain shifts from calculating to wandering.
Kira fades second. Not completely she doesn't fade completely, she never does but the warmth of her settles into the background, the ambient temperature rather than the active flame. The homework is done. The red heart is sent. She said she'll wait. The Kira file closes partially, not locked, just resting.
What remains, in the dark, on the mattress, is the stranger.
She's been waiting. Behind the numbers and behind Kira and behind the nose and behind the stream and behind sophie1234's precise observations and behind the Floor 17 boss with eight arms and behind the bulgogi and behind everything that happened today the stranger has been waiting in the room the body reserves for things the mind won't schedule.
The restaurant. The dark dress. The long hair catching red-gold light. The cheekbones that the RegenaForm catalog taught me to name "High & Defined," the option that photographs beautifully. The lips "Cupid's Bow," 450 dollars. The legs crossing, the fabric riding up, the line from ankle to thigh.
She's a composite now. The memory has degraded further another day of distance between the observation and the recall, another layer of imagination deposited over the original impression. The stranger I saw for three seconds is becoming the stranger I'm building in my head, detail by invented detail, the way I'm building Ellie feature by feature. Both are constructions. Both are real in the way that constructed things can be real functional, inhabitable, responsive to attention.
My hand moves. The familiar route. Under the comforter. Under the waistband.
The stranger's body. Reconstructed from fragments and filled in with desire. The breasts I couldn't classify C, D, the letters that floated last night and float again tonight, the alphabet of a body I'm learning in theory while constructing another body in practice. The waist. The hips. The dress sliding off a shoulder, the leather jacket already gone, the skin beneath smooth and warm in the imagination, the specific warmth of a body that exists only in the gap between what I saw and what I want.
The letters haunt me differently tonight. B. C. D. They're not just the stranger's measurements anymore they're entries in a catalog I've read, options in a system I'm navigating, prices in a tier I told myself was irrelevant. Tier 5. Breasts. A through G+. The page I scrolled past in the RegenaForm app because it doesn't apply, because I'm only doing Tier 1, because the face is the project and the body is someone else's territory.
But the letters know my name. The letters have been sitting in my peripheral vision since I first opened the lookbook in the waiting room, since Dr. Maren's digital overlay showed a face that could be anything, since Lina's impossible body demonstrated what "anything" looks like when it's fully assembled.
The rhythm is steady. The images cycle the stranger's body, the letter-classification game, the dress coming off, the skin, the shape I can't name with confidence. C. Maybe D. The question that has no answer because the data is insufficient and the imagination is too generous and the body doesn't care about accuracy, only function.
The peak. The arch. The release a shudder that carries less weight than last night's version because the emotional load is lighter (Kira texted back, Marcus came over, the nose is done, the homework is submitted) but the physical load is the same, the same wave, the same white room for three seconds, the same emptying.
Then the refilling. The white room restocks.
Sophie1234. "The mystery is the product." "Natural or sculpted?" "Well played. In every sense."
The sentences sit in the post-orgasmic quiet with a clarity they didn't have during the stream. Sophie saw the construction. Sophie identified the brow sculpting in her first five minutes. Sophie gave framing advice that was technically correct. Sophie said "goodnight" with a period and a precision that matched Dr. Maren's clinical attention.
Who is sophie1234?
The question joins the others the stranger's cup size, the homework's other half, the nose credit due in six days, the lips at $400, the jawline at $600. Questions without answers, accumulating in the dark, each one a weight on a mattress that's already holding a person who weighs more than he used to because the person he's becoming has more pieces.
I clean up. Tissue. Pull the comforter to my chin. The phone glows beside my head Kira's red heart, the RegenaForm icon, the ElliePlayz dashboard in the browser tab I never close.
Tomorrow. Morning stream. Ellie with the nose. The numbers climbing. The crop line holding. The face reveal getting closer. The lips next, maybe. The jawline after that. The cathedral, stone by stone and sophie1234. Watching. Paying attention to different things.
I close my eyes. The fridge hums. The crack grows. The face grows. The audience grows. The secret grows.
I sleep and I dream about two faces the stranger's and Ellie's merging and separating and merging again in a mirror that shows both at once, and a voice in the dream that says "natural or sculpted?" and I can't tell which face the question is for.
/* [[Sleep|eli_bed]] */
End of v0.0.4
<<set $hint = "v0.0.4 End of current Story Branch">>
[[Sleep|apartment_map]]<<nobr>>
<<set $locationName to "Eli's Apartment - Bed">>
<<set $right_sidebar_mode to 0>>
<<set $locationImage to "images/locations/eli_bed.jpeg">>
<img src="images/locations/eli_bed.jpeg" alt="Eli's Bed" style="width:100%; height:auto;">
<<if $day == 1 and $day_step == 0>>
<<set $hint = "Wake Up">>
[[Wake Up|day_1_1]]
<<elseif $day == 1 and $day_step == 14>>
<<goto "day_1_15">>
<<elseif $day == 1 and $day_step == 15>>
[[Wake Up|day_2_1]]
<<elseif $day ==2 and $day_step == 31>>
<<goto "day_2_32_kira">>
<<elseif $day == 2 and $day_step == 32>>
<<set $hint = "Wake up">>
[[Wake Up|day_3_1_kira]]
<<elseif $day == 2 and $day_step == 34>>
<<set $hint = "Wake up">>
[[Wake Up|day_3_1_other]]
<<elseif $day == 3 and $day_step == 43>>
[[Sleep|day_3_44_kira]]
<<elseif $day == 3 and $day_step == 44>>
[[Wake Up|day_4_1_kira]]
<<elseif $day == 3 and $day_step == 23>>
[[Wait|day_3_24_kira]]
<<elseif $day == 3 and $day_step == 28>>
[[Wake Up|day_4_1_other]]
<<else>>
<<if $route == "kira">>
<<if $day == 4 and $day_step == 26>>
[[Wake Up|day_5_1_kira]]
<<elseif $day == 5 and $day_step == 13>>
[[Prepare for Kira|day_5_14_kira]]
<<elseif $day == 5 and $day_step == 24>>
[[Try to Sleep|day_5_25_kira]]
<</if>>
<<elseif $route == "other">>
<<if $day == 4 and $day_step == 25>>
[[Wake Up|day_5_1_other]]
<<elseif $day == 5 and $day_step == 12>>
[[Spend Time|day_5_13_other]]
<<elseif $day == 5 and $day_step == 23>>
[[Try to Sleep|day_5_24_other]]
<</if>>
<</if>>
<</if>>
[[Masturbate|mastruebate_bed]] | [[Rest|bed_rest]] | [[Sleep|bed_sleep]] | [[← Floor Plan|apartment_map]]
<</nobr>><<set $rand to random(1, 15)>>
<<if $rand is 1>>
<<goto masturbation_bed_1>>
<<elseif $rand is 2>>
<<goto masturbation_bed_2>>
<<elseif $rand is 3>>
<<goto masturbation_bed_3>>
<<elseif $rand is 4>>
<<goto masturbation_bed_4>>
<<elseif $rand is 5>>
<<goto masturbation_bed_5>>
<<elseif $rand is 6>>
<<goto masturbation_bed_6>>
<<elseif $rand is 7>>
<<goto masturbation_bed_7>>
<<elseif $rand is 8>>
<<goto masturbation_bed_8>>
<<elseif $rand is 9>>
<<goto masturbation_bed_9>>
<<elseif $rand is 10>>
<<goto masturbation_bed_10>>
<<elseif $rand is 11>>
<<goto masturbation_bed_11>>
<<elseif $rand is 12>>
<<goto masturbation_bed_12>>
<<elseif $rand is 13>>
<<goto masturbation_bed_13>>
<<elseif $rand is 14>>
<<goto masturbation_bed_14>>
<<else>>
<<goto masturbation_bed_15>>
<</if>><<set $rand to random(1, 6)>>
<<if $rand is 1>>
<<goto bed_rest_1>>
<<elseif $rand is 2>>
<<goto bed_rest_2>>
<<elseif $rand is 3>>
<<goto bed_rest_3>>
<<elseif $rand is 4>>
<<goto bed_rest_4>>
<<elseif $rand is 5>>
<<goto bed_rest_5>>
<<else>>
<<goto bed_rest_6>>
<</if>><img src="images/locations/eli_bed.jpeg" alt="Eli's Bed" style="width:100%; height:auto;">
I lie on my back, staring at the ceiling. No phone. No music. Just the low hum of the building and the faint sound of traffic somewhere outside. My body sinks into the mattress slowly, tension I didn't know I was holding easing out of my shoulders.
<<eli "...just needed a minute.">>
I don't sleep. Just exist for a while. It helps more than it should.
[[← Bed|eli_bed]]<img src="images/locations/eli_bed.jpeg" alt="Eli's Bed" style="width:100%; height:auto;">
I roll onto my side and pull the blanket up without bothering to get under it properly. The room is dim, quiet. My eyes drift half-closed. Thoughts float in scattered, weightless, not really landing on anything.
<<eli "...brain's just... going.">>
A loose, directionless kind of rest. Not sleep, not awake. Something in between.
[[← Bed|eli_bed]]<img src="images/locations/eli_bed.jpeg" alt="Eli's Bed" style="width:100%; height:auto;">
I sit up against the headboard, knees pulled up, and just... breathe. The apartment is still. The kind of quiet that feels thick, like it has weight. My chest is tight in a way I can't explain. I let it be tight. Don't push it.
<<eli "...it'll pass.">>
Eventually my shoulders drop. Eventually my jaw unclenches. It takes longer than it should.
[[← Bed|eli_bed]]<img src="images/locations/eli_bed.jpeg" alt="Eli's Bed" style="width:100%; height:auto;">
Face down. Arms under the pillow. The mattress is warm from earlier and I sink into it without thinking. Everything muffles the sound, the light, the low-grade noise in my head.
<<eli "...yeah.">>
It's not even tiredness. Just the need to press myself against something solid for a while.
[[← Bed|eli_bed]]<img src="images/locations/eli_bed.jpeg" alt="Eli's Bed" style="width:100%; height:auto;">
I lie on my back and let my mind wander. Think about nothing in particular a conversation from three days ago, the way the light looked this morning, something I can't quite place. The ceiling stays the same.
<<eli "...I need to get out more.">>
The thought surfaces and sinks again. I don't move.
[[← Bed|eli_bed]]<img src="images/locations/eli_bed.jpeg" alt="Eli's Bed" style="width:100%; height:auto;">
I grab my phone, scroll for a few minutes, then set it down screen-first without really reading anything. The room is dim. I close my eyes just to rest them. The sounds of the building settle around me a pipe somewhere, a door two floors up.
<<eli "...just five minutes.">>
My breathing slows on its own. Five minutes turns into fifteen.
[[← Bed|eli_bed]]<<set $rand to random(1, 5)>>
<<if $rand is 1>>
<<goto bed_dream_1>>
<<elseif $rand is 2>>
<<goto bed_dream_2>>
<<elseif $rand is 3>>
<<goto bed_dream_3>>
<<elseif $rand is 4>>
<<goto bed_dream_4>>
<<else>>
<<goto bed_nodream>>
<</if>><img src="images/locations/eli_bed.jpeg" alt="Eli's Bed" style="width:100%; height:auto;">
I'm out fast. Deeper than usual.
The dream is a hallway I've never been in. Long, low-lit, doors on both sides. I'm looking for something I don't know what and the floor keeps shifting slightly underfoot. Someone is walking ahead of me. I can't see their face but I know I know them. I keep calling out but no sound comes. They turn a corner. Gone.
I wake up with that specific hollow feeling of something lost that never existed.
<<eli "...what was that.">>
The room is dark. I check the time. More time has passed than it felt like.
[[← Bed|eli_bed]]<img src="images/locations/eli_bed.jpeg" alt="Eli's Bed" style="width:100%; height:auto;">
The dream is bright, which feels wrong. Outside somewhere a street, maybe, or a park. Everything is slightly too saturated, the sky an impossible flat blue. There's someone beside me. A girl. I can't quite look at her directly, the way you sometimes can't in dreams. But she's there. We're walking. It feels easy. Normal.
I don't want it to end and that's probably what wakes me up.
<<eli "...hm.">>
I lie there for a moment, not moving, trying to hold onto the edges of it. They dissolve anyway.
[[← Bed|eli_bed]]<img src="images/locations/eli_bed.jpeg" alt="Eli's Bed" style="width:100%; height:auto;">
The dream doesn't make sense even inside it. I'm in this apartment but it's bigger, the rooms keep adding. There's a stream playing somewhere my setup but not my setup. Chat is moving but I can't read any of it. The numbers keep climbing and then resetting. I'm trying to say something into the mic but I've forgotten what.
I wake up mildly anxious and immediately annoyed about it.
<<eli "...great. Even in my sleep.">>
I pull the blanket up and stare at the ceiling until the feeling passes.
[[← Bed|eli_bed]]<img src="images/locations/eli_bed.jpeg" alt="Eli's Bed" style="width:100%; height:auto;">
It starts familiar my old place, the one before this one. The layout's wrong but the feeling is right, that specific low-ceilinged quiet. Someone else is there, moving around in the other room. I don't go in. I just stand in the hallway listening to them exist.
It doesn't feel sad until I wake up.
<<eli "...okay.">>
I sit on the edge of the bed for a moment. Let the dream finish settling. Then I get up.
[[← Bed|eli_bed]]<img src="images/locations/eli_bed.jpeg" alt="Eli's Bed" style="width:100%; height:auto;">
I'm out the moment my head hits the pillow. No transition. No awareness of falling asleep. Just nothing the clean, flat dark of a dreamless sleep.
I wake up disoriented, unsure for a second where I am. Then the room assembles itself. Ceiling. Walls. The same place.
<<eli "...didn't even feel like time passed.">>
Heavy and rested in equal measure. I lie there blinking until I feel real again.
[[← Bed|eli_bed]]<<set $locationName to "Eli's Apartment - Closet">>
<<set $right_sidebar_mode to 0>>
<<set $locationImage to "images/locations/eli_closet.jpeg">>
<img src="images/locations/eli_closet.jpeg" alt="Eli's Closet" style="width:100%; height:auto;">
[[Change Clothes|closet_change]] | [[← Floor Plan|apartment_map]]<<set $rand to random(1, 5)>>
<<if $rand is 1>>
<<goto closet_outfit_1>>
<<elseif $rand is 2>>
<<goto closet_outfit_2>>
<<elseif $rand is 3>>
<<goto closet_outfit_3>>
<<elseif $rand is 4>>
<<goto closet_outfit_4>>
<<else>>
<<goto closet_outfit_5>>
<</if>><img src="images/locations/eli_closet.jpeg" alt="Eli's Closet" style="width:100%; height:auto;">
I pull out the grey hoodie. It's the one I always go back to slightly worn at the cuffs, a small bleach stain near the pocket that I stopped noticing a long time ago. Dark jeans. The same ones as yesterday, probably.
<<eli "...this works.">>
I pull it on. Nothing fits great. Nothing needs to.
[[← Closet|eli_closet]]<img src="images/locations/eli_closet.jpeg" alt="Eli's Closet" style="width:100%; height:auto;">
There's one clean black t-shirt left. Slightly wrinkled from the drawer but not bad enough to care about. I pair it with sweatpants and call it done.
<<eli "Clean enough.">>
I check myself in the closet mirror for exactly one second. Fine.
[[← Closet|eli_closet]]<img src="images/locations/eli_closet.jpeg" alt="Eli's Closet" style="width:100%; height:auto;">
The navy crewneck I almost never wear. I grab it anyway it's near the front, which means everything else is either dirty or buried. Worn jeans, the ones with the frayed left knee.
<<eli "...this'll do.">>
A little more put-together than usual. Barely.
[[← Closet|eli_closet]]<img src="images/locations/eli_closet.jpeg" alt="Eli's Closet" style="width:100%; height:auto;">
Nothing looks clean. I sniff a shirt a plain white one, slightly creased. It passes. I pull it on over boxers and reach for the joggers crumpled on the closet floor.
<<eli "It's fine, nobody's coming over.">>
Good enough for staying in.
[[← Closet|eli_closet]]<img src="images/locations/eli_closet.jpeg" alt="Eli's Closet" style="width:100%; height:auto;">
I dig toward the back and find the olive green jacket I forgot I owned. Throw it over a plain tee. It actually fits okay. Better than okay. I leave the jeans from this morning on they're still clean enough.
<<eli "...not bad.">>
I almost look like I have somewhere to be.
[[← Closet|eli_closet]]<<nobr>>
<<set $locationImage to "images/locations/eli_apartment.jpeg">>
<<set $locationName to "Eli's Apartment">>
<<set $right_sidebar_mode to 0>>
<img src="images/locations/eli_apartment.jpeg" alt="Eli's Apartment" class="location-image">
/* <br><br> */
<<=$day>>.<=$day_step>>
<<if $day == 3 and $day_step == 23>>
<<goto "day_3_24_kira">>
<<else>>
/* <<goto "apartment_map">> */
<</if>>
[[← District Map|neighbourhood]]
<</nobr>><<nobr>>
<style>
.apt-map-outer {
max-width: 100%;
overflow-x: auto;
background: #0b0b14;
border: 1.5px solid #e84393;
border-radius: 12px;
padding: 8px;
box-sizing: border-box;
position: relative;
}
.apt-map-header {
font-family: monospace;
text-align: center;
color: #a0305a;
letter-spacing: 0.18em;
font-size: 0.85em;
padding: 6px 0 10px 0;
text-transform: uppercase;
}
.apt-map {
width: 100%;
height: auto;
display: block;
}
.aml {
cursor: pointer;
}
.aml .amb {
transition: opacity 0.15s, stroke 0.15s, stroke-width 0.15s;
stroke: transparent;
stroke-width: 0;
}
.aml:hover .amb {
stroke: rgba(232, 67, 147, 0.55);
stroke-width: 2.5;
opacity: 0.88;
}
.aml-blocked {
cursor: not-allowed !important;
}
.aml-blocked .amb {
filter: brightness(0.25) saturate(0.1) !important;
opacity: 0.5;
}
.aml-blocked:hover .amb {
filter: brightness(0.3) saturate(0.15) !important;
opacity: 0.55;
}
#apt-tooltip {
position: fixed;
bottom: 24px;
left: 50%;
transform: translateX(-50%);
background: rgba(10, 10, 15, 0.94);
color: #fd79a8;
font-family: monospace;
font-size: 0.72rem;
font-weight: bold;
letter-spacing: 0.14em;
text-transform: uppercase;
padding: 5px 16px;
border-radius: 999px;
border: 1px solid rgba(232, 67, 147, 0.35);
box-shadow: 0 0 14px rgba(232, 67, 147, 0.2);
pointer-events: none;
white-space: nowrap;
opacity: 0;
transition: opacity 0.15s ease;
z-index: 9000;
}
#apt-tooltip.visible { opacity: 1; }
#apt-blocked-flash {
position: fixed;
top: 50%;
left: 50%;
max-width: min(300px, 88vw);
box-sizing: border-box;
transform: translate(-50%, -50%) scale(0.9);
background: rgba(10, 10, 15, 0.96);
border: 1px solid rgba(239, 68, 68, 0.4);
color: #fca5a5;
font-family: monospace;
font-size: 0.78rem;
font-weight: bold;
letter-spacing: 0.08em;
text-align: center;
word-break: break-word;
padding: 12px 20px;
border-radius: 10px;
pointer-events: none;
opacity: 0;
transition: opacity 0.2s ease, transform 0.2s ease;
z-index: 9999;
box-shadow: 0 0 20px rgba(239, 68, 68, 0.2);
}
#apt-blocked-flash.visible {
opacity: 1;
transform: translate(-50%, -50%) scale(1);
}
/* Mobile room list - hidden on desktop */
.apt-mobile-legend { display: none; }
@media (max-width: 900px) {
.apt-mobile-legend {
display: block;
margin-top: 10px;
}
.aml-title {
font-family: monospace;
font-size: 0.68rem;
color: #5d5875;
letter-spacing: 0.12em;
text-transform: uppercase;
margin-bottom: 8px;
}
.aml-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 6px;
}
.aml-item {
display: block;
padding: 7px 8px;
border-radius: 7px;
border: 1px solid var(--c);
color: var(--c);
font-family: monospace;
font-size: 0.7rem;
font-weight: bold;
letter-spacing: 0.03em;
cursor: pointer;
text-align: center;
user-select: none;
-webkit-tap-highlight-color: transparent;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
box-sizing: border-box;
opacity: 0.75;
}
.aml-item:active { opacity: 1; }
.aml-item-blocked {
--c: #3a3a4a !important;
cursor: not-allowed !important;
opacity: 0.3;
}
}
</style>
<div class="apt-map-outer" id="apt-map-container">
<div class="apt-map-header">◉ ELI'S APARTMENT - FLOOR PLAN</div>
<svg class="apt-map" viewBox="0 0 660 520" xmlns="http://www.w3.org/2000/svg" id="apt-svg">
<defs>
<!-- Pink glow filter for desk area -->
<filter id="agp" x="-30%" y="-30%" width="160%" height="160%">
<feFlood flood-color="#e84393" flood-opacity="0.45" result="color"/>
<feComposite in="color" in2="SourceGraphic" operator="in" result="shadow"/>
<feGaussianBlur in="shadow" stdDeviation="5" result="blur"/>
<feMerge>
<feMergeNode in="blur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<!-- Teal glow filter for bathroom -->
<filter id="agt" x="-30%" y="-30%" width="160%" height="160%">
<feFlood flood-color="#2dd4bf" flood-opacity="0.45" result="color"/>
<feComposite in="color" in2="SourceGraphic" operator="in" result="shadow"/>
<feGaussianBlur in="shadow" stdDeviation="4" result="blur"/>
<feMerge>
<feMergeNode in="blur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<!-- Subtle pink glow for monitor screens -->
<filter id="agp-soft" x="-50%" y="-50%" width="200%" height="200%">
<feFlood flood-color="#e84393" flood-opacity="0.6" result="color"/>
<feComposite in="color" in2="SourceGraphic" operator="in" result="shadow"/>
<feGaussianBlur in="shadow" stdDeviation="3" result="blur"/>
<feMerge>
<feMergeNode in="blur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
<!-- ============================================================ -->
<!-- APARTMENT BACKGROUND -->
<!-- ============================================================ -->
<rect x="0" y="0" width="660" height="520" fill="#0b0b14"/>
<!-- ============================================================ -->
<!-- OUTER WALLS -->
<!-- ============================================================ -->
<!-- Top wall -->
<rect x="0" y="0" width="660" height="4" fill="#1a1a2e"/>
<!-- Left wall -->
<rect x="0" y="0" width="4" height="520" fill="#1a1a2e"/>
<!-- Right wall -->
<rect x="656" y="0" width="4" height="520" fill="#1a1a2e"/>
<!-- Bottom wall left segment (before door gap x=190) -->
<rect x="0" y="514" width="190" height="6" fill="#1a1a2e"/>
<!-- Bottom wall right segment (after door gap x=400) -->
<rect x="400" y="514" width="260" height="6" fill="#1a1a2e"/>
<!-- Door arc at bottom (entrance) -->
<path d="M 190 514 Q 295 460 400 514" fill="none" stroke="#e84393" stroke-width="1" stroke-dasharray="5,3" opacity="0.5"/>
<!-- Door frame lines -->
<line x1="190" y1="510" x2="190" y2="520" stroke="#e84393" stroke-width="1.5" opacity="0.6"/>
<line x1="400" y1="510" x2="400" y2="520" stroke="#e84393" stroke-width="1.5" opacity="0.6"/>
<!-- EXIT label -->
<text x="295" y="519" font-family="monospace" font-size="7" fill="#e84393" text-anchor="middle" letter-spacing="2" opacity="0.7">EXIT</text>
<!-- ============================================================ -->
<!-- HORIZONTAL WALL: y=58..66 (top room divider / balcony border) -->
<!-- ============================================================ -->
<!-- Left segment: x=0..270 -->
<rect x="0" y="58" width="270" height="8" fill="#1a1a2e"/>
<!-- Right segment: x=390..660 -->
<rect x="390" y="58" width="270" height="8" fill="#1a1a2e"/>
<!-- Balcony door frame lines -->
<line x1="270" y1="55" x2="270" y2="69" stroke="#e84393" stroke-width="1.5" opacity="0.5"/>
<line x1="390" y1="55" x2="390" y2="69" stroke="#e84393" stroke-width="1.5" opacity="0.5"/>
<!-- Balcony door arc -->
<path d="M 270 66 Q 330 90 390 66" fill="none" stroke="#555577" stroke-width="1" stroke-dasharray="4,3" opacity="0.4"/>
<!-- ============================================================ -->
<!-- HORIZONTAL WALL: y=188..196 (top rooms / main room divider) -->
<!-- ============================================================ -->
<!-- Left segment: x=0..80 (before kitchen door) -->
<rect x="0" y="188" width="80" height="8" fill="#1a1a2e"/>
<!-- Middle segment: x=150..380 (between kitchen door and bathroom door) -->
<rect x="150" y="188" width="230" height="8" fill="#1a1a2e"/>
<!-- Right segment: x=450..660 (after bathroom door) -->
<rect x="450" y="188" width="210" height="8" fill="#1a1a2e"/>
<!-- Kitchen door frame -->
<line x1="80" y1="185" x2="80" y2="199" stroke="#c0a060" stroke-width="1.5" opacity="0.6"/>
<line x1="150" y1="185" x2="150" y2="199" stroke="#c0a060" stroke-width="1.5" opacity="0.6"/>
<!-- Bathroom door frame -->
<line x1="380" y1="185" x2="380" y2="199" stroke="#2dd4bf" stroke-width="1.5" opacity="0.5"/>
<line x1="450" y1="185" x2="450" y2="199" stroke="#2dd4bf" stroke-width="1.5" opacity="0.5"/>
<!-- Door arcs -->
<path d="M 80 196 Q 115 175 150 196" fill="none" stroke="#c0a060" stroke-width="1" stroke-dasharray="4,3" opacity="0.4"/>
<path d="M 380 196 Q 415 175 450 196" fill="none" stroke="#2dd4bf" stroke-width="1" stroke-dasharray="4,3" opacity="0.4"/>
<!-- ============================================================ -->
<!-- VERTICAL WALL: x=236..242 (kitchen / closet) -->
<!-- ============================================================ -->
<rect x="236" y="66" width="6" height="122" fill="#1a1a2e"/>
<!-- ============================================================ -->
<!-- VERTICAL WALL: x=358..364 (closet / bathroom) -->
<!-- ============================================================ -->
<rect x="358" y="66" width="6" height="122" fill="#1a1a2e"/>
<!-- ============================================================ -->
<!-- VERTICAL WALL: x=336..344 (bed area / desk area) -->
<!-- ============================================================ -->
<rect x="336" y="196" width="8" height="322" fill="#1a1a2e"/>
<!-- ============================================================ -->
<!-- BALCONY (y=0..58, full width) - BLOCKED -->
<!-- ============================================================ -->
<g class="aml" data-loc="eli_balcony">
<rect class="amb" x="4" y="4" width="652" height="54" fill="#090f09" rx="2"/>
<!-- Balcony railing lines -->
<line x1="12" y1="12" x2="648" y2="12" stroke="#1a2a1a" stroke-width="1.5"/>
<line x1="12" y1="50" x2="648" y2="50" stroke="#1a2a1a" stroke-width="1.5"/>
<!-- Vertical railing bars -->
<line x1="40" y1="12" x2="40" y2="50" stroke="#162016" stroke-width="1"/>
<line x1="80" y1="12" x2="80" y2="50" stroke="#162016" stroke-width="1"/>
<line x1="120" y1="12" x2="120" y2="50" stroke="#162016" stroke-width="1"/>
<line x1="160" y1="12" x2="160" y2="50" stroke="#162016" stroke-width="1"/>
<line x1="200" y1="12" x2="200" y2="50" stroke="#162016" stroke-width="1"/>
<line x1="240" y1="12" x2="240" y2="50" stroke="#162016" stroke-width="1"/>
<line x1="420" y1="12" x2="420" y2="50" stroke="#162016" stroke-width="1"/>
<line x1="460" y1="12" x2="460" y2="50" stroke="#162016" stroke-width="1"/>
<line x1="500" y1="12" x2="500" y2="50" stroke="#162016" stroke-width="1"/>
<line x1="540" y1="12" x2="540" y2="50" stroke="#162016" stroke-width="1"/>
<line x1="580" y1="12" x2="580" y2="50" stroke="#162016" stroke-width="1"/>
<line x1="620" y1="12" x2="620" y2="50" stroke="#162016" stroke-width="1"/>
<!-- Dead plant on balcony -->
<ellipse cx="60" cy="38" rx="10" ry="6" fill="#1a1a0a" stroke="#2a2a10" stroke-width="1"/>
<line x1="60" y1="32" x2="58" y2="20" stroke="#1a1a0a" stroke-width="1.5"/>
<line x1="60" y1="28" x2="55" y2="24" stroke="#1a1a0a" stroke-width="1"/>
<!-- Locked padlock icon -->
<rect x="316" y="20" width="18" height="14" fill="#1a1a2e" stroke="#3a3a5a" stroke-width="1" rx="2"/>
<path d="M 319 20 Q 319 14 325 14 Q 331 14 331 20" fill="none" stroke="#3a3a5a" stroke-width="1.5"/>
<circle cx="325" cy="27" r="2.5" fill="#3a3a5a"/>
<!-- BALCONY label -->
<text x="330" y="44" font-family="monospace" font-size="8" fill="#2a3a2a" text-anchor="middle" letter-spacing="2">BALCONY</text>
<text x="330" y="54" font-family="monospace" font-size="6" fill="#2a3a2a" text-anchor="middle" letter-spacing="1" opacity="0.6">- LOCKED -</text>
</g>
<!-- ============================================================ -->
<!-- KITCHEN (x=2..236, y=66..188) -->
<!-- ============================================================ -->
<g class="aml" data-loc="eli_kitchen" onclick="SugarCube.Engine.play('eli_kitchen')">
<rect class="amb" x="4" y="66" width="232" height="122" fill="#0e1008"/>
<!-- Counter strip along top wall -->
<rect x="10" y="72" width="218" height="22" fill="#1a1008" stroke="#5a3a18" stroke-width="1" rx="1"/>
<!-- Mini-fridge on counter -->
<rect x="14" y="74" width="24" height="18" fill="#161210" stroke="#3a2a18" stroke-width="1" rx="1"/>
<rect x="16" y="76" width="20" height="14" fill="#121010" stroke="#2a1a10" stroke-width="0.5" rx="1"/>
<line x1="26" y1="76" x2="26" y2="90" stroke="#2a1a10" stroke-width="0.5"/>
<!-- Microwave -->
<rect x="46" y="75" width="40" height="16" fill="#161210" stroke="#3a2a18" stroke-width="1" rx="1"/>
<rect x="48" y="77" width="28" height="12" fill="#0e0e0e" stroke="#2a2a18" stroke-width="0.5" rx="0.5"/>
<rect x="78" y="77" width="6" height="12" fill="#1a1410" stroke="#2a2010" stroke-width="0.5" rx="0.5"/>
<!-- Hot plate -->
<rect x="96" y="76" width="28" height="14" fill="#1a1010" stroke="#3a2010" stroke-width="1" rx="1"/>
<circle cx="104" cy="83" r="4" fill="none" stroke="#2a1808" stroke-width="1.5"/>
<circle cx="116" cy="83" r="4" fill="none" stroke="#2a1808" stroke-width="1.5"/>
<!-- Sink -->
<rect x="152" y="75" width="32" height="14" fill="#0e1414" stroke="#2a3a3a" stroke-width="1" rx="1"/>
<ellipse cx="168" cy="82" rx="11" ry="5" fill="#0a1010" stroke="#1a2a2a" stroke-width="1"/>
<circle cx="168" cy="82" r="2" fill="#0e1414" stroke="#1a3030" stroke-width="0.5"/>
<!-- Ramen cups below counter -->
<rect x="30" y="104" width="18" height="20" fill="#1a1208" stroke="#3a2a10" stroke-width="1" rx="2"/>
<rect x="52" y="104" width="18" height="20" fill="#1a1208" stroke="#3a2a10" stroke-width="1" rx="2"/>
<rect x="74" y="104" width="18" height="20" fill="#1a1208" stroke="#3a2a10" stroke-width="1" rx="2"/>
<!-- Ramen cup labels (tiny lines) -->
<line x1="33" y1="112" x2="45" y2="112" stroke="#2a1a08" stroke-width="1"/>
<line x1="55" y1="112" x2="67" y2="112" stroke="#2a1a08" stroke-width="1"/>
<line x1="77" y1="112" x2="89" y2="112" stroke="#2a1a08" stroke-width="1"/>
<!-- Monster cans (green) -->
<rect x="116" y="104" width="12" height="22" fill="#0a1a08" stroke="#1a4a0a" stroke-width="1" rx="1"/>
<rect x="132" y="104" width="12" height="22" fill="#0a1a08" stroke="#1a4a0a" stroke-width="1" rx="1"/>
<!-- Monster can logo lines -->
<path d="M 118 112 L 122 108 L 124 112 L 128 108" fill="none" stroke="#1a5a0a" stroke-width="1"/>
<path d="M 134 112 L 138 108 L 140 112 L 144 108" fill="none" stroke="#1a5a0a" stroke-width="1"/>
<!-- Small kitchen table -->
<rect x="30" y="140" width="80" height="40" fill="#160e08" stroke="#2a1a10" stroke-width="1" rx="2"/>
<!-- Bowl on table -->
<ellipse cx="60" cy="157" rx="12" ry="7" fill="#0e0e0a" stroke="#2a2010" stroke-width="1"/>
<!-- Empty pizza box in corner -->
<rect x="150" y="138" width="68" height="44" fill="#1a1008" stroke="#2a1a08" stroke-width="1" rx="1"/>
<line x1="184" y1="138" x2="184" y2="182" stroke="#2a1a08" stroke-width="0.5"/>
<line x1="150" y1="160" x2="218" y2="160" stroke="#2a1a08" stroke-width="0.5"/>
<!-- KITCHEN label -->
<text x="119" y="183" font-family="monospace" font-size="8" fill="#6a4020" text-anchor="middle" letter-spacing="2">KITCHEN</text>
</g>
<!-- ============================================================ -->
<!-- CLOSET (x=242..358, y=66..188) -->
<!-- ============================================================ -->
<g class="aml" data-loc="eli_closet" onclick="SugarCube.Engine.play('eli_closet')">
<rect class="amb" x="242" y="66" width="116" height="122" fill="#0c0c14"/>
<!-- Hanging rod -->
<line x1="248" y1="90" x2="356" y2="90" stroke="#2a2a3a" stroke-width="2.5"/>
<!-- Hanging clothes (4 items) - top-down view of hangers + clothing shapes -->
<!-- Hanger 1 -->
<line x1="262" y1="90" x2="262" y2="94" stroke="#3a3a5a" stroke-width="1"/>
<path d="M 252 94 Q 262 91 272 94 L 270 130 Q 262 133 254 130 Z" fill="#1a1830" stroke="#2a2840" stroke-width="0.5" opacity="0.9"/>
<!-- Hanger 2 -->
<line x1="285" y1="90" x2="285" y2="94" stroke="#3a3a5a" stroke-width="1"/>
<path d="M 275 94 Q 285 91 295 94 L 293 125 Q 285 128 277 125 Z" fill="#201a14" stroke="#302810" stroke-width="0.5" opacity="0.9"/>
<!-- Hanger 3 -->
<line x1="308" y1="90" x2="308" y2="94" stroke="#3a3a5a" stroke-width="1"/>
<path d="M 298 94 Q 308 91 318 94 L 316 128 Q 308 131 300 128 Z" fill="#14201a" stroke="#1a2a20" stroke-width="0.5" opacity="0.9"/>
<!-- Hanger 4 -->
<line x1="331" y1="90" x2="331" y2="94" stroke="#3a3a5a" stroke-width="1"/>
<path d="M 321 94 Q 331 91 341 94 L 339 122 Q 331 125 323 122 Z" fill="#201418" stroke="#2a1a20" stroke-width="0.5" opacity="0.9"/>
<!-- Clothes pile on floor -->
<ellipse cx="270" cy="158" rx="18" ry="9" fill="#18161e" stroke="#2a2430" stroke-width="1" opacity="0.9"/>
<ellipse cx="318" cy="162" rx="14" ry="7" fill="#1a1410" stroke="#2a1e14" stroke-width="1" opacity="0.8"/>
<ellipse cx="295" cy="170" rx="20" ry="8" fill="#16141c" stroke="#221e28" stroke-width="1" opacity="0.85"/>
<!-- Shoe box on floor -->
<rect x="248" y="142" width="30" height="20" fill="#161010" stroke="#2a1818" stroke-width="1" rx="1"/>
<!-- CLOSET label -->
<text x="300" y="183" font-family="monospace" font-size="8" fill="#3a3a56" text-anchor="middle" letter-spacing="2">CLOSET</text>
</g>
<!-- ============================================================ -->
<!-- BATHROOM (x=364..658, y=66..188) - teal filter -->
<!-- ============================================================ -->
<g class="aml" data-loc="eli_bathroom" onclick="SugarCube.Engine.play('eli_bathroom')" filter="url(#agt)">
<rect class="amb" x="364" y="66" width="292" height="122" fill="#0a1416"/>
<!-- Shower stall (top-right corner) -->
<rect x="530" y="70" width="122" height="112" fill="#0a1a1e" stroke="#2dd4bf" stroke-width="1" rx="2" opacity="0.9"/>
<!-- Shower floor drain -->
<circle cx="591" cy="126" r="8" fill="#091214" stroke="#1a3030" stroke-width="1"/>
<circle cx="591" cy="126" r="4" fill="none" stroke="#1a3030" stroke-width="1"/>
<!-- Showerhead (top-down: small circle on wall) -->
<circle cx="645" cy="78" r="7" fill="#1a2a2a" stroke="#2dd4bf" stroke-width="1.5"/>
<circle cx="645" cy="78" r="4" fill="#0e1a1a" stroke="#1a3030" stroke-width="0.5"/>
<!-- Water stream lines (dashed) -->
<line x1="638" y1="86" x2="580" y2="120" stroke="#1a3838" stroke-width="1" stroke-dasharray="3,3" opacity="0.6"/>
<line x1="642" y1="88" x2="584" y2="122" stroke="#1a3838" stroke-width="1" stroke-dasharray="3,3" opacity="0.4"/>
<!-- Shower shelf -->
<rect x="534" y="72" width="36" height="14" fill="#0e1a1e" stroke="#1a3030" stroke-width="0.5" rx="1"/>
<!-- Shampoo bottles on shelf -->
<rect x="537" y="74" width="6" height="10" fill="#0a2020" stroke="#1a4040" stroke-width="0.5" rx="1"/>
<rect x="546" y="74" width="6" height="10" fill="#0a1a20" stroke="#1a3a4a" stroke-width="0.5" rx="1"/>
<rect x="555" y="74" width="6" height="10" fill="#1a0a20" stroke="#3a1a40" stroke-width="0.5" rx="1"/>
<!-- Toilet (left side) -->
<rect x="372" y="74" width="38" height="52" fill="#0e1a1e" stroke="#2dd4bf" stroke-width="1" rx="3"/>
<!-- Toilet tank -->
<rect x="374" y="76" width="34" height="18" fill="#0a1414" stroke="#1a2a2a" stroke-width="0.5" rx="2"/>
<!-- Toilet seat oval -->
<ellipse cx="391" cy="110" rx="15" ry="12" fill="#0a1010" stroke="#2dd4bf" stroke-width="1" opacity="0.8"/>
<ellipse cx="391" cy="110" rx="10" ry="8" fill="#091010" stroke="#1a2828" stroke-width="0.5"/>
<!-- Sink (center) -->
<rect x="424" y="76" width="40" height="38" fill="#0e1a1e" stroke="#2dd4bf" stroke-width="1" rx="3"/>
<!-- Sink basin ellipse -->
<ellipse cx="444" cy="95" rx="14" ry="12" fill="#091212" stroke="#1a3030" stroke-width="1"/>
<!-- Drain -->
<circle cx="444" cy="98" r="3" fill="#060e0e" stroke="#1a2828" stroke-width="1"/>
<!-- Faucet tap (small circle/rect) -->
<rect x="440" y="77" width="8" height="6" fill="#1a2a2a" stroke="#2dd4bf" stroke-width="0.5" rx="1"/>
<!-- Mirror on wall above sink (top-down: thin rect against top wall) -->
<rect x="420" y="68" width="48" height="6" fill="#121a1e" stroke="#1a3a3a" stroke-width="0.5" rx="1"/>
<!-- Towel bar on wall -->
<line x1="480" y1="70" x2="520" y2="70" stroke="#1a3a3a" stroke-width="2"/>
<!-- Towel -->
<rect x="485" y="68" width="30" height="8" fill="#0a2020" stroke="#1a3838" stroke-width="0.5" rx="1" opacity="0.8"/>
<!-- BATHROOM label -->
<text x="447" y="183" font-family="monospace" font-size="8" fill="#2a6060" text-anchor="middle" letter-spacing="2">BATHROOM</text>
</g>
<!-- ============================================================ -->
<!-- BED AREA (x=2..336, y=196..518) -->
<!-- ============================================================ -->
<g class="aml" data-loc="eli_bed" onclick="SugarCube.Engine.play('eli_bed')">
<rect class="amb" x="4" y="196" width="332" height="322" fill="#0d0b14"/>
<!-- Window on left wall -->
<rect x="4" y="295" width="8" height="100" fill="#1a2a3a" stroke="#2a3a4a" stroke-width="0.5" rx="1"/>
<!-- Blind lines in window -->
<line x1="5" y1="305" x2="11" y2="305" stroke="#1e3040" stroke-width="1"/>
<line x1="5" y1="315" x2="11" y2="315" stroke="#1e3040" stroke-width="1"/>
<line x1="5" y1="325" x2="11" y2="325" stroke="#1e3040" stroke-width="1"/>
<line x1="5" y1="335" x2="11" y2="335" stroke="#1e3040" stroke-width="1"/>
<line x1="5" y1="345" x2="11" y2="345" stroke="#1e3040" stroke-width="1"/>
<line x1="5" y1="355" x2="11" y2="355" stroke="#1e3040" stroke-width="1"/>
<line x1="5" y1="365" x2="11" y2="365" stroke="#1e3040" stroke-width="1"/>
<line x1="5" y1="375" x2="11" y2="375" stroke="#1e3040" stroke-width="1"/>
<line x1="5" y1="385" x2="11" y2="385" stroke="#1e3040" stroke-width="1"/>
<!-- Ceiling crack (decorative dashed line) -->
<path d="M 100 196 Q 180 210 240 218 Q 270 222 300 230" fill="none" stroke="#252535" stroke-width="1" stroke-dasharray="5,4"/>
<!-- Mattress (against left side) -->
<rect x="18" y="245" width="210" height="155" fill="#141020" stroke="#2a2038" stroke-width="1.5" rx="4"/>
<!-- Mattress texture lines -->
<line x1="22" y1="260" x2="224" y2="260" stroke="#1a1828" stroke-width="0.5" stroke-dasharray="8,6"/>
<line x1="22" y1="280" x2="224" y2="280" stroke="#1a1828" stroke-width="0.5" stroke-dasharray="8,6"/>
<!-- Pillow -->
<rect x="26" y="253" width="85" height="38" fill="#1a1830" stroke="#2a2840" stroke-width="1" rx="3"/>
<!-- Pillow crease -->
<line x1="68" y1="255" x2="68" y2="289" stroke="#151525" stroke-width="0.5"/>
<!-- Bunched comforter / sheets (irregular path over lower mattress) -->
<path d="M 20 310 Q 60 305 100 312 Q 140 318 180 308 Q 210 302 224 310 L 224 396 Q 190 400 150 394 Q 100 390 60 398 Q 30 402 20 396 Z" fill="#181428" stroke="#221c34" stroke-width="1" opacity="0.95"/>
<!-- Sheet fold lines -->
<path d="M 30 330 Q 80 324 130 332 Q 170 338 220 328" fill="none" stroke="#201830" stroke-width="1" opacity="0.6"/>
<path d="M 30 360 Q 90 354 140 362 Q 190 368 222 358" fill="none" stroke="#201830" stroke-width="1" opacity="0.5"/>
<!-- Anime poster on wall -->
<rect x="278" y="210" width="38" height="54" fill="#14101e" stroke="#3a1a5a" stroke-width="1.5" rx="1"/>
<rect x="281" y="213" width="32" height="48" fill="#100e1a" stroke="#2a1440" stroke-width="0.5" rx="1"/>
<!-- Poster figure (abstract silhouette) -->
<ellipse cx="297" cy="224" rx="6" ry="7" fill="#1e1430" stroke="#3a2060" stroke-width="0.5"/>
<path d="M 291 231 Q 285 245 287 255 L 307 255 Q 309 245 303 231 Z" fill="#1a1228" stroke="#2e1a48" stroke-width="0.5"/>
<!-- Poster Japanese text hint (tiny lines) -->
<line x1="306" y1="218" x2="312" y2="218" stroke="#3a2060" stroke-width="1"/>
<line x1="306" y1="222" x2="312" y2="222" stroke="#3a2060" stroke-width="1"/>
<line x1="306" y1="226" x2="312" y2="226" stroke="#3a2060" stroke-width="1"/>
<!-- Clothes pile near right wall -->
<ellipse cx="290" cy="440" rx="26" ry="14" fill="#18141e" stroke="#241c2a" stroke-width="1" opacity="0.9"/>
<ellipse cx="275" cy="450" rx="18" ry="9" fill="#1a1018" stroke="#261820" stroke-width="1" opacity="0.8"/>
<!-- Folding chair with clothes -->
<rect x="240" y="415" width="34" height="34" fill="#0e0e18" stroke="#1e1e28" stroke-width="1" rx="2"/>
<!-- Chair legs -->
<line x1="244" y1="449" x2="244" y2="460" stroke="#1a1a28" stroke-width="1.5"/>
<line x1="270" y1="449" x2="270" y2="460" stroke="#1a1a28" stroke-width="1.5"/>
<!-- Clothes draped on chair -->
<path d="M 238 420 Q 230 430 232 445 Q 238 448 244 440" fill="#201620" stroke="#2a1e28" stroke-width="0.5" opacity="0.7"/>
<path d="M 276 420 Q 284 430 282 445 Q 276 448 270 440" fill="#161620" stroke="#1e1e28" stroke-width="0.5" opacity="0.7"/>
<!-- Sneakers near bottom door area -->
<rect x="60" y="490" width="28" height="14" fill="#161618" stroke="#282828" stroke-width="1" rx="3"/>
<rect x="94" y="492" width="28" height="14" fill="#161618" stroke="#282828" stroke-width="1" rx="3"/>
<!-- Shoe sole details -->
<line x1="64" y1="500" x2="84" y2="500" stroke="#201e20" stroke-width="0.5"/>
<line x1="98" y1="502" x2="118" y2="502" stroke="#201e20" stroke-width="0.5"/>
<!-- Bedside small shelf/box -->
<rect x="232" y="248" width="32" height="24" fill="#0e0c18" stroke="#1e1c28" stroke-width="1" rx="1"/>
<!-- Phone on shelf (glowing screen) -->
<rect x="235" y="251" width="12" height="18" fill="#0a0a20" stroke="#1a1a40" stroke-width="0.5" rx="1"/>
<rect x="236" y="252" width="10" height="16" fill="#060820" opacity="0.8"/>
<!-- Water glass -->
<ellipse cx="257" cy="265" rx="4" ry="2.5" fill="#0e1820" stroke="#1a2a30" stroke-width="0.5"/>
<rect x="253" y="255" width="8" height="10" fill="none" stroke="#1a2a30" stroke-width="0.5" rx="1"/>
<!-- BED AREA label -->
<text x="170" y="510" font-family="monospace" font-size="9" fill="#4a3a60" text-anchor="middle" letter-spacing="2">BED AREA</text>
</g>
<!-- ============================================================ -->
<!-- DESK / PC AREA (x=344..658, y=196..518) - pink glow filter -->
<!-- ============================================================ -->
<g class="aml" data-loc="eli_desk" onclick="SugarCube.Engine.play('eli_desk')" filter="url(#agp)">
<rect class="amb" x="344" y="196" width="314" height="322" fill="#100a12"/>
<!-- Desk surface -->
<rect x="370" y="222" width="240" height="58" fill="#1e1010" stroke="#e84393" stroke-width="1.5" rx="2"/>
<!-- Cardboard shim under leg -->
<rect x="370" y="278" width="6" height="3" fill="#1a1008" stroke="#2a1a08" stroke-width="0.5"/>
<!-- Monitor 1 base/stand (top-down view) -->
<rect x="376" y="208" width="108" height="16" fill="#0a0a14" stroke="#e84393" stroke-width="1" rx="1"/>
<!-- Monitor 1 screen surface -->
<rect x="378" y="210" width="104" height="12" fill="#0a1020" rx="0.5"/>
<!-- Screen glow on monitor 1 -->
<rect x="379" y="211" width="102" height="10" fill="#0c1228" opacity="0.8"/>
<!-- "GAME LOBBY" text on screen -->
<text x="420" y="219" font-family="monospace" font-size="4" fill="#4060a0" text-anchor="middle" letter-spacing="0.5">GAME LOBBY</text>
<!-- "viewers: 8" subtext -->
<text x="460" y="219" font-family="monospace" font-size="3.5" fill="#2a4060" text-anchor="middle">viewers: 8</text>
<!-- Webcam on top of monitor 1 -->
<rect x="420" y="206" width="10" height="5" fill="#0e0e1a" stroke="#2a2a3a" stroke-width="0.5" rx="1"/>
<circle cx="425" cy="208" r="2" fill="#060606" stroke="#1a1a2a" stroke-width="0.5"/>
<!-- Monitor 2 (secondary, smaller) -->
<rect x="494" y="210" width="80" height="14" fill="#0a0a14" stroke="#6a2a60" stroke-width="1" rx="1"/>
<rect x="496" y="212" width="76" height="10" fill="#0c0a18" rx="0.5"/>
<!-- Dead pixel cluster on monitor 2 (top-right corner) -->
<rect x="568" y="212" width="5" height="5" fill="#2a0a2a" rx="0.5"/>
<!-- Microphone stand (vertical line + capsule) -->
<line x1="462" y1="222" x2="462" y2="212" stroke="#2a2a3a" stroke-width="1.5"/>
<rect x="458" y="208" width="8" height="5" fill="#1a1a2a" stroke="#3a3a4a" stroke-width="0.5" rx="1"/>
<!-- Mic pop filter -->
<circle cx="462" cy="205" r="5" fill="none" stroke="#2a2a3a" stroke-width="0.5" stroke-dasharray="1,1"/>
<!-- Mousepad -->
<rect x="376" y="268" width="65" height="44" fill="#141010" stroke="#2a1a18" stroke-width="1" rx="1"/>
<!-- Mouse -->
<rect x="390" y="272" width="20" height="26" fill="#1a1818" stroke="#2a2020" stroke-width="1" rx="2"/>
<!-- Mouse scroll wheel -->
<rect x="397" y="276" width="6" height="8" fill="#141212" stroke="#222020" stroke-width="0.5" rx="1"/>
<!-- Mouse click line -->
<line x1="400" y1="272" x2="400" y2="283" stroke="#201a18" stroke-width="0.5"/>
<!-- Ring stains on desk surface (2x coffee mug circles) -->
<circle cx="460" cy="250" r="9" fill="none" stroke="#1a1010" stroke-width="1.5"/>
<circle cx="480" cy="258" r="8" fill="none" stroke="#1a1010" stroke-width="1.5"/>
<!-- Monster cans on desk right side -->
<rect x="570" y="234" width="12" height="22" fill="#0a1a08" stroke="#1a4a0a" stroke-width="1" rx="1"/>
<rect x="586" y="234" width="12" height="22" fill="#0a1a08" stroke="#1a4a0a" stroke-width="1" rx="1"/>
<rect x="602" y="234" width="12" height="22" fill="#0a1a08" stroke="#1a4a0a" stroke-width="1" rx="1"/>
<!-- Monster can M logos (tiny) -->
<path d="M 572 243 L 575 239 L 577 243 L 580 239" fill="none" stroke="#1a5a0a" stroke-width="0.8"/>
<path d="M 588 243 L 591 239 L 593 243 L 596 239" fill="none" stroke="#1a5a0a" stroke-width="0.8"/>
<!-- Crumpled burrito wrapper (small rotated rect) -->
<rect x="543" y="255" width="22" height="12" fill="#1a1208" stroke="#2a1e10" stroke-width="0.5" rx="2" transform="rotate(-18, 554, 261)"/>
<!-- Foil texture on wrapper -->
<line x1="546" y1="258" x2="562" y2="262" stroke="#242010" stroke-width="0.5" transform="rotate(-18, 554, 261)"/>
<!-- Chair body (ellipse) -->
<ellipse cx="480" cy="355" rx="38" ry="34" fill="#0e0e18" stroke="#2a1a2a" stroke-width="1.5"/>
<!-- Chair back (rect above ellipse center) -->
<rect x="452" y="318" width="56" height="18" fill="#0c0c16" stroke="#201620" stroke-width="1" rx="2"/>
<!-- Chair wheels (3 small circles) -->
<circle cx="448" cy="370" r="4" fill="#0a0a12" stroke="#1a1a22" stroke-width="1"/>
<circle cx="512" cy="370" r="4" fill="#0a0a12" stroke="#1a1a22" stroke-width="1"/>
<circle cx="480" cy="388" r="4" fill="#0a0a12" stroke="#1a1a22" stroke-width="1"/>
<!-- Hoodie hanging off left chair back -->
<path d="M 452 322 Q 440 330 438 345 Q 436 358 444 362" fill="#181430" stroke="#201c38" stroke-width="0.5" opacity="0.8"/>
<path d="M 452 328 Q 442 336 440 350" fill="#181430" stroke="#201c38" stroke-width="0.5" opacity="0.6"/>
<!-- Hoodie hanging off right chair back -->
<path d="M 508 322 Q 520 330 522 345 Q 524 358 516 362" fill="#14141e" stroke="#1c1c28" stroke-width="0.5" opacity="0.8"/>
<!-- Cable trail from desk down to floor -->
<path d="M 376 280 Q 360 310 358 350 Q 356 390 365 420" fill="none" stroke="#1a1a2a" stroke-width="1.5" stroke-dasharray="4,3" opacity="0.6"/>
<path d="M 610 280 Q 630 310 638 350 Q 642 390 636 430" fill="none" stroke="#1a1a2a" stroke-width="1" stroke-dasharray="4,3" opacity="0.4"/>
<!-- Power strip on floor -->
<rect x="350" y="295" width="42" height="10" fill="#0e0e18" stroke="#2a2a38" stroke-width="1" rx="1"/>
<circle cx="358" cy="300" r="2" fill="#060614" stroke="#1a1a2a" stroke-width="0.5"/>
<circle cx="366" cy="300" r="2" fill="#060614" stroke="#1a1a2a" stroke-width="0.5"/>
<circle cx="374" cy="300" r="2" fill="#060614" stroke="#1a1a2a" stroke-width="0.5"/>
<circle cx="382" cy="300" r="2" fill="#060614" stroke="#1a1a2a" stroke-width="0.5"/>
<!-- Mini trash can -->
<rect x="600" y="420" width="32" height="34" fill="#0e0c14" stroke="#1e1a24" stroke-width="1" rx="2"/>
<rect x="598" y="418" width="36" height="6" fill="#141018" stroke="#201c28" stroke-width="0.5" rx="1"/>
<!-- Trash contents peeking out -->
<path d="M 606 418 Q 616 412 624 418" fill="none" stroke="#1a1a28" stroke-width="1" opacity="0.6"/>
<!-- Mini-fridge under desk -->
<rect x="610" y="280" width="40" height="46" fill="#0e0c10" stroke="#2a1a2a" stroke-width="1" rx="1"/>
<line x1="610" y1="303" x2="650" y2="303" stroke="#1a1420" stroke-width="0.5"/>
<!-- Fridge handle -->
<rect x="628" y="285" width="4" height="14" fill="#1a1420" stroke="#221a28" stroke-width="0.5" rx="1"/>
<!-- STREAMING DESK label -->
<text x="502" y="505" font-family="monospace" font-size="9" fill="#8a1a4a" text-anchor="middle" letter-spacing="2">STREAMING DESK</text>
<text x="502" y="516" font-family="monospace" font-size="7" fill="#5a1030" text-anchor="middle" letter-spacing="1.5">★ ELI'S SETUP</text>
</g>
<!-- ============================================================ -->
<!-- OUTER DECORATION -->
<!-- ============================================================ -->
<!-- Outer border glow rect -->
<rect x="0" y="0" width="660" height="520" fill="none" stroke="#e84393" stroke-width="1.5" rx="4" opacity="0.3"/>
<!-- ============================================================ -->
<!-- COMPASS ROSE (bottom-right corner) -->
<!-- ============================================================ -->
<g transform="translate(628, 478)">
<!-- Compass circle -->
<circle cx="0" cy="0" r="14" fill="#0c0c1a" stroke="#2a2a4a" stroke-width="1"/>
<!-- N arrow -->
<polygon points="0,-12 -4,-4 0,-6 4,-4" fill="#e84393" opacity="0.8"/>
<!-- S arrow -->
<polygon points="0,12 -4,4 0,6 4,4" fill="#2a2a4a" opacity="0.8"/>
<!-- E/W ticks -->
<line x1="-12" y1="0" x2="-8" y2="0" stroke="#2a2a4a" stroke-width="1"/>
<line x1="8" y1="0" x2="12" y2="0" stroke="#2a2a4a" stroke-width="1"/>
<!-- N label -->
<text x="0" y="-14" font-family="monospace" font-size="5" fill="#e84393" text-anchor="middle" opacity="0.8">N</text>
</g>
<!-- ============================================================ -->
<!-- ROOM LABELS OVERLAY (dim grid labels at wall intersections) -->
<!-- ============================================================ -->
<!-- Scale indicator -->
<line x1="14" y1="508" x2="64" y2="508" stroke="#2a2a4a" stroke-width="1"/>
<line x1="14" y1="505" x2="14" y2="511" stroke="#2a2a4a" stroke-width="1"/>
<line x1="64" y1="505" x2="64" y2="511" stroke="#2a2a4a" stroke-width="1"/>
<text x="39" y="517" font-family="monospace" font-size="5" fill="#2a2a4a" text-anchor="middle">≈ 5m</text>
</svg>
<div id="apt-tooltip"></div>
</div>
<div id="apt-blocked-flash">⚠ AREA LOCKED</div>
<br>
[[Go Back to District Map|neighbourhood]] | [[Go Outside|outside]]
<</nobr>>
<<script>>
(function() {
var LABELS = {
'eli_bed': "Bed Area",
'eli_desk': "Streaming Desk",
'eli_kitchen': "Kitchen",
'eli_bathroom': "Bathroom",
'eli_closet': "Closet",
'eli_balcony': "Balcony"
};
var OPEN = {
'eli_bed': true,
'eli_desk': true,
'eli_kitchen': true,
'eli_bathroom': true,
'eli_closet': true
// eli_balcony is NOT in OPEN = blocked
};
var svg = document.getElementById('apt-svg');
var tooltip = document.getElementById('apt-tooltip');
var flash = document.getElementById('apt-blocked-flash');
var flashTimer = null;
if (!svg) return;
// Mark blocked mobile legend items
document.querySelectorAll('.aml-item').forEach(function(el) {
var match = (el.getAttribute('onclick') || '').match(/play\('([^']+)'\)/);
if (match && !OPEN[match[1]]) {
el.removeAttribute('onclick');
el.classList.add('aml-item-blocked');
el.addEventListener('click', function() {
if (flash) {
flash.classList.add('visible');
if (flashTimer) clearTimeout(flashTimer);
flashTimer = setTimeout(function() { flash.classList.remove('visible'); }, 1800);
}
});
}
});
// Tag groups, handle blocked state
var groups = svg.querySelectorAll('.aml');
groups.forEach(function(g) {
var loc = g.getAttribute('data-loc');
if (!loc) return;
if (!OPEN[loc]) {
g.classList.add('aml-blocked');
g.removeAttribute('onclick');
g.addEventListener('click', function(e) {
e.stopPropagation();
if (flash) {
flash.classList.add('visible');
if (flashTimer) clearTimeout(flashTimer);
flashTimer = setTimeout(function() {
flash.classList.remove('visible');
}, 1800);
}
});
}
});
// Tooltip delegation
svg.addEventListener('mouseover', function(e) {
var g = e.target.closest('.aml');
if (!g) return;
var loc = g.getAttribute('data-loc');
if (!loc || !LABELS[loc]) return;
var label = LABELS[loc];
if (!OPEN[loc]) label = label + ' [LOCKED]';
tooltip.textContent = label;
tooltip.classList.add('visible');
});
svg.addEventListener('mouseout', function(e) {
var g = e.target.closest('.aml');
if (!g) return;
setTimeout(function() {
tooltip.classList.remove('visible');
}, 150);
});
})();
<</script>>
<div class="apt-mobile-legend">
<div class="aml-title">◉ ROOMS</div>
<div class="aml-grid">
<span class="aml-item" style="--c:#e84393" onclick="SugarCube.Engine.play('eli_bed')">🛏 Bed Area</span>
<span class="aml-item" style="--c:#e84393" onclick="SugarCube.Engine.play('eli_desk')">💻 Streaming Desk</span>
<span class="aml-item" style="--c:#e84393" onclick="SugarCube.Engine.play('eli_kitchen')">🍳 Kitchen</span>
<span class="aml-item" style="--c:#2dd4bf" onclick="SugarCube.Engine.play('eli_bathroom')">🚿 Bathroom</span>
<span class="aml-item" style="--c:#a855f7" onclick="SugarCube.Engine.play('eli_closet')">👗 Closet</span>
<span class="aml-item" style="--c:#3a3a4a" onclick="SugarCube.Engine.play('eli_balcony')">🔒 Balcony</span>
</div>
</div><<set $locationName to "Eli's Apartment - Balcony">>
<<set $right_sidebar_mode to 0>>
[[← Floor Plan|apartment_map]]<<nobr>>
<<set $locationImage to "images/locations/eli_desk.jpeg">>
<<set $locationName to "Eli's Desk">>
<<set $right_sidebar_mode to 1>>
<img src="images/locations/eli_desk.jpeg" alt="Eli's Desk" class="location-image">
<<if $day == 1 and $day_step == 1>>
[[Stream|day_1_2]] |
<<elseif $day == 1 and $day_step == 9>>
[[Stream|day_1_10]] |
<<elseif $day == 2 and $day_step == 2>>
[[Stream|day_2_3]] |
<<elseif $day == 2 and $day_step == 21>>
[[Stream|day_2_22_other]] |
<<elseif $day == 3 and $day_step == 27>>
[[Stream|day_3_28_kira]] |
<<elseif $day == 3 and $day_step == 10>>
[[Stream|day_3_11_other]] |
<<elseif $day == 4 and $day_step == 2>>
[[Stream|day_4_3_kira]]
<<elseif $day == 4 and $day_step == 17>>
[[Stream|day_4_18_kira]]
<<else>>
<<if $route is "kira">>
<<if $day == 5 and $day_step == 2>>
[[Stream|day_5_3_kira]]
<<elseif $day == 5 and $day_step == 18>>
[[Stream|day_5_19_kira]]
<</if>>
<<elseif $route is "other">>
<<if $day == 5 and $day_step == 2>>
[[Stream|day_5_3_other]]
<<elseif $day == 5 and $day_step == 16>>
[[Stream|day_5_17_other]]
<</if>>
<</if>>
<</if>>
[[Listen to Music|desk_music]] | [[Watch Movie|desk_movie]] | [[← Back to Apartment|apartment_map]]
<</nobr>><<set $rand to random(1, 6)>>
<<if $rand is 1>>
<<goto desk_music_1>>
<<elseif $rand is 2>>
<<goto desk_music_2>>
<<elseif $rand is 3>>
<<goto desk_music_3>>
<<elseif $rand is 4>>
<<goto desk_music_4>>
<<elseif $rand is 5>>
<<goto desk_music_5>>
<<else>>
<<goto desk_music_6>>
<</if>><img src="images/locations/eli_desk.jpeg" alt="Eli's Desk" class="location-image">
I pull up a playlist I haven't touched in a while. Something slow, low-fi, the kind of stuff that fills a room without demanding attention. I lean back in the chair and let it run. The monitor glows in front of me, idle.
<<eli "...forgot I had this.">>
It's good. I don't do anything else. I just let it play.
[[← Desk|eli_desk]]<img src="images/locations/eli_desk.jpeg" alt="Eli's Desk" class="location-image">
Something faster this time. I queue up a track I've been coming back to lately the kind with a beat that hits somewhere behind the sternum. I turn it up louder than I should.
<<eli "Yeah, that's the one.">>
I sit there nodding to it like an idiot in an empty room. Don't care.
[[← Desk|eli_desk]]<img src="images/locations/eli_desk.jpeg" alt="Eli's Desk" class="location-image">
I put on an album I used to listen to a lot years ago, different apartment, different headspace. It sounds the same as it did then, which is strange, because I don't.
<<eli "...takes me back.">>
I sit through most of it without touching anything. Some songs still hit exactly the same.
[[← Desk|eli_desk]]<img src="images/locations/eli_desk.jpeg" alt="Eli's Desk" class="location-image">
I shuffle something and whatever comes up is loud, aggressive, exactly wrong for the mood I was in going in. I almost skip it. Then I don't. I let it ride.
<<eli "Okay. Okay, fine.">>
By the second track I'm into it. Energy I didn't know I needed.
[[← Desk|eli_desk]]<img src="images/locations/eli_desk.jpeg" alt="Eli's Desk" class="location-image">
Ambient stuff. No real structure, just texture layered tones that hum and shift without going anywhere. The room feels different with it on. Bigger, somehow.
<<eli "...this is actually nice.">>
I close my eyes for a minute. Just listen. Doesn't fix anything but makes the air feel less heavy.
[[← Desk|eli_desk]]<img src="images/locations/eli_desk.jpeg" alt="Eli's Desk" class="location-image">
I can't decide what I want to hear so I just let autoplay do it. Five songs in, something I've never heard before comes on and I actually sit up to check what it is.
<<eli "...who is this.">>
I replay it twice. Add it to a playlist I'll probably never finish building.
[[← Desk|eli_desk]]<<set $rand to random(1, 6)>>
<<if $rand is 1>>
<<goto desk_movie_1>>
<<elseif $rand is 2>>
<<goto desk_movie_2>>
<<elseif $rand is 3>>
<<goto desk_movie_3>>
<<elseif $rand is 4>>
<<goto desk_movie_4>>
<<elseif $rand is 5>>
<<goto desk_movie_5>>
<<else>>
<<goto desk_movie_6>>
<</if>><img src="images/locations/eli_desk.jpeg" alt="Eli's Desk" class="location-image">
I scroll through the library for too long, can't pick anything, and end up rewatching something I've already seen three times. I know how it ends. I watch it anyway.
<<eli "Still good.">>
There's something comfortable about a movie when you already know it. No tension. Just the familiar shape of it.
[[← Desk|eli_desk]]<img src="images/locations/eli_desk.jpeg" alt="Eli's Desk" class="location-image">
I put on something I saved months ago and forgot about. Thirty minutes in, I'm actually into it leaning forward slightly, drink untouched. It's good in that way that sneaks up on you.
<<eli "Okay, this one's actually solid.">>
I make a note to finish it later. I probably won't, but I mean it right now.
[[← Desk|eli_desk]]<img src="images/locations/eli_desk.jpeg" alt="Eli's Desk" class="location-image">
Action. Something dumb and loud and entirely without pretension. Explosions, one-liners, a plot that exists mostly as scaffolding for action sequences. I eat it up.
<<eli "Sometimes this is exactly what you need.">>
I'm grinning at the screen like an idiot by the end of the first act. No regrets.
[[← Desk|eli_desk]]<img src="images/locations/eli_desk.jpeg" alt="Eli's Desk" class="location-image">
A horror one. I've been putting it off the kind with a good reputation and a slow build. It starts quiet, almost dull. Twenty minutes in the atmosphere has already gotten under my skin. I turn the room lights up slightly without admitting why.
<<eli "...okay it's a little tense.">>
I finish it. Sleep will be slightly worse tonight. Worth it.
[[← Desk|eli_desk]]<img src="images/locations/eli_desk.jpeg" alt="Eli's Desk" class="location-image">
I start a movie and fall asleep forty minutes in. I wake up with the credits rolling and absolutely no memory of what happened after the first act. I sit there trying to reconstruct the plot from the bits I caught.
<<eli "...I have no idea what just happened.">>
I close the tab. Maybe I'll rewatch it when I'm actually awake.
[[← Desk|eli_desk]]<img src="images/locations/eli_desk.jpeg" alt="Eli's Desk" class="location-image">
Something older a film I saw once as a kid and remembered wrong. It's quieter than I remember. Slower. Less about plot, more about just watching people exist on screen. I'm not sure I get all of it.
<<eli "...I feel like I was supposed to understand more of that.">>
I sit with it for a minute after it ends. Something about it sticks.
[[← Desk|eli_desk]]<<set $locationName to "Eli's Apartment - Kitchen">>
<<set $right_sidebar_mode to 0>>
<<set $locationImage to "images/locations/eli_kitchen.jpeg">>
<img src="images/locations/eli_kitchen.jpeg" alt="Eli's Kitchen" style="width:100%; height:auto;">
[[Eat|kitchen_eat]] | [[Drink|kitchen_drink]] | [[← Floor Plan|apartment_map]]<<set $rand to random(1, 8)>>
<<if $rand is 1>>
<<goto kitchen_eat_1>>
<<elseif $rand is 2>>
<<goto kitchen_eat_2>>
<<elseif $rand is 3>>
<<goto kitchen_eat_3>>
<<elseif $rand is 4>>
<<goto kitchen_eat_4>>
<<elseif $rand is 5>>
<<goto kitchen_eat_5>>
<<elseif $rand is 6>>
<<goto kitchen_eat_6>>
<<elseif $rand is 7>>
<<goto kitchen_eat_7>>
<<else>>
<<goto kitchen_eat_8>>
<</if>><img src="images/locations/eli_kitchen.jpeg" alt="Eli's Kitchen" style="width:100%; height:auto;">
Instant ramen. The staple. I rip the foil packet open, dump the noodle block into a pot, and stare at it while the water heats. The seasoning smells like salt and something vaguely chickeny. It's fine. It always is.
<<eli "...good enough.">>
I eat standing at the counter, bowl in hand, not bothering with a table.
[[← Kitchen|eli_kitchen]]<img src="images/locations/eli_kitchen.jpeg" alt="Eli's Kitchen" style="width:100%; height:auto;">
There's half a pizza left in the box on the counter. Cold. I don't bother microwaving it. The cheese is rubbery, the crust a little stale. It's still fine. Maybe better cold.
<<eli "Yeah, this works.">>
Three slices down before I realize I wasn't even that hungry.
[[← Kitchen|eli_kitchen]]<img src="images/locations/eli_kitchen.jpeg" alt="Eli's Kitchen" style="width:100%; height:auto;">
Cereal. I pour too much into the bowl, add the milk, and watch it all turn slightly soggy while I stand there spacing out. It's one of those generic brands. Tastes exactly like the name-brand version.
<<eli "Close enough.">>
I finish it. Rinse the bowl. Leave it in the sink.
[[← Kitchen|eli_kitchen]]<img src="images/locations/eli_kitchen.jpeg" alt="Eli's Kitchen" style="width:100%; height:auto;">
Two slices of bread into the toaster. I wait. The smell of toast fills the kitchen warm, familiar, nothing. I spread peanut butter on while it's still hot, letting it melt slightly into the surface.
<<eli "...decent.">>
Simple. Quiet. Gets the job done.
[[← Kitchen|eli_kitchen]]<img src="images/locations/eli_kitchen.jpeg" alt="Eli's Kitchen" style="width:100%; height:auto;">
I crack two eggs into the pan. They spit and sizzle in the butter. I keep the heat low, let the whites set slowly. Add salt. A little black pepper. Slide them onto a plate without breaking the yolks.
<<eli "Not bad.">>
One of the few things I can actually cook. I eat slowly this time.
[[← Kitchen|eli_kitchen]]<img src="images/locations/eli_kitchen.jpeg" alt="Eli's Kitchen" style="width:100%; height:auto;">
Canned soup. I pop the lid, pour it into a pot, and turn the burner on low. The kitchen fills with that thin, salty steam. It takes four minutes. I eat it straight from the pot, leaning against the counter.
<<eli "...gets the job done.">>
Warm. That's about all it has going for it.
[[← Kitchen|eli_kitchen]]<img src="images/locations/eli_kitchen.jpeg" alt="Eli's Kitchen" style="width:100%; height:auto;">
There's a protein bar at the back of the cabinet. I find it buried behind a can of something I don't remember buying. Peanut butter flavor. Slightly past its best-by date but still fine.
<<eli "This counts as eating.">>
I unwrap it and eat it in three bites. Functional.
[[← Kitchen|eli_kitchen]]<img src="images/locations/eli_kitchen.jpeg" alt="Eli's Kitchen" style="width:100%; height:auto;">
Microwave burrito, still in the wrapper. I poke the holes in the plastic, slide it in, set it for two minutes. It comes out unevenly heated one end almost too hot, the other still slightly cold in the middle.
<<eli "Good enough.">>
I eat it anyway. Standing up. Staring at nothing.
[[← Kitchen|eli_kitchen]]<<set $rand to random(1, 6)>>
<<if $rand is 1>>
<<goto kitchen_drink_1>>
<<elseif $rand is 2>>
<<goto kitchen_drink_2>>
<<elseif $rand is 3>>
<<goto kitchen_drink_3>>
<<elseif $rand is 4>>
<<goto kitchen_drink_4>>
<<elseif $rand is 5>>
<<goto kitchen_drink_5>>
<<else>>
<<goto kitchen_drink_6>>
<</if>><img src="images/locations/eli_kitchen.jpeg" alt="Eli's Kitchen" style="width:100%; height:auto;">
Coffee. I measure it out by eye probably too much and wait while the machine runs. The smell hits the kitchen fast, thick and dark. I take the mug before it's fully done brewing, impatient.
<<eli "...there it is.">>
First sip is too hot. I drink it anyway.
[[← Kitchen|eli_kitchen]]<img src="images/locations/eli_kitchen.jpeg" alt="Eli's Kitchen" style="width:100%; height:auto;">
Just water. I fill a glass from the tap, drink the whole thing in one go standing at the sink. Cold enough to feel it going down. Simple. I didn't realize I was that thirsty.
<<eli "...needed that.">>
I refill it. Drink half. Leave the rest on the counter.
[[← Kitchen|eli_kitchen]]<img src="images/locations/eli_kitchen.jpeg" alt="Eli's Kitchen" style="width:100%; height:auto;">
There's an energy drink in the back of the fridge. One of the tall ones. I crack it open and the hiss fills the quiet kitchen. Cold, sharp, chemical sweetness that somehow works.
<<eli "Let's go.">>
Half gone before I put it down. The familiar buzz starts settling in behind my eyes.
[[← Kitchen|eli_kitchen]]<img src="images/locations/eli_kitchen.jpeg" alt="Eli's Kitchen" style="width:100%; height:auto;">
A beer. I grab one from the bottom shelf of the fridge, twist the cap off, and take a slow sip. Cold, slightly bitter, the kind of flat comfort that doesn't ask anything of you.
<<eli "...yeah.">>
I lean against the counter and drink it slowly. No reason to rush.
[[← Kitchen|eli_kitchen]]<img src="images/locations/eli_kitchen.jpeg" alt="Eli's Kitchen" style="width:100%; height:auto;">
There's a carton of orange juice that's maybe three days old. I shake it, sniff the cap. Still fine. I pour a glass and drink it standing at the counter, the tartness cutting through the morning fog.
<<eli "...not bad.">>
Probably the healthiest thing I'll do today.
[[← Kitchen|eli_kitchen]]<img src="images/locations/eli_kitchen.jpeg" alt="Eli's Kitchen" style="width:100%; height:auto;">
Milk, straight from the carton. I check the date first still good. I drink it cold, leaning against the open fridge door, the cool air spilling out around me.
<<eli "Classic.">>
I put the carton back and close the fridge. Simple and oddly satisfying.
[[← Kitchen|eli_kitchen]]<<set $locationName to "Eli's Apartment - Bathroom">>
<<set $right_sidebar_mode to 0>>
<<set $locationImage to "images/locations/eli_bathroom.jpeg">>
<img src="images/locations/eli_bathroom.jpeg" alt="Eli's Bathroom" style="width:100%; height:auto;">
[[Masturbate|mastruebate_washroom]] | [[← Floor Plan|apartment_map]]<<set $rand to random(1, 15)>>
<<if $rand is 1>>
<<goto masturbation_washroom_1>>
<<elseif $rand is 2>>
<<goto masturbation_washroom_2>>
<<elseif $rand is 3>>
<<goto masturbation_washroom_3>>
<<elseif $rand is 4>>
<<goto masturbation_washroom_4>>
<<elseif $rand is 5>>
<<goto masturbation_washroom_5>>
<<elseif $rand is 6>>
<<goto masturbation_washroom_6>>
<<elseif $rand is 7>>
<<goto masturbation_washroom_7>>
<<elseif $rand is 8>>
<<goto masturbation_washroom_8>>
<<elseif $rand is 9>>
<<goto masturbation_washroom_9>>
<<elseif $rand is 10>>
<<goto masturbation_washroom_10>>
<<elseif $rand is 11>>
<<goto masturbation_washroom_11>>
<<elseif $rand is 12>>
<<goto masturbation_washroom_12>>
<<elseif $rand is 13>>
<<goto masturbation_washroom_13>>
<<elseif $rand is 14>>
<<goto masturbation_washroom_14>>
<<else>>
<<goto masturbation_washroom_15>>
<</if>><img src="images/daily_life/masturbation/washroom/1/1.jpeg" alt="Dream Girls" class="scene-image">
The bathroom feels colder tonight. The tile under my feet leeches heat, grounding me in a way that makes everything sharper. The mirror is fogged slightly from earlier, streaked and uneven. The air smells like damp towel and soap residue. I stand there a moment, breathing slow, then my hand drifts down, almost automatic, gripping myself loosely at first.
<<eli "…just… start…">>
<img src="images/daily_life/masturbation/washroom/starting.jpeg" alt="Kira's Apartment" class="scene-image">
It's the girl from the train platform. Tall, dark-skinned, long braids pulled over one shoulder. She stood perfectly still while everyone else moved around her, headphones in, completely locked into her own world. Now she's here, leaning against the wall beside the sink, watching me without expression.
<img src="images/daily_life/masturbation/washroom/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes begin slow, deliberate, feeling myself harden fully in my hand. She doesn't react at first, just studies me, head tilted slightly. I imagine stepping closer, pulling her jacket open. Underneath, a fitted top that clings to her chest. I lift it in my head her breasts firm, high, dark nipples already tight.
<img src="images/daily_life/masturbation/washroom/1/2.jpeg" alt="Dream Girls" class="scene-image">
<<eli "Mm…">>
My grip tightens.
<img src="images/daily_life/masturbation/washroom/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
She steps forward now, finally engaging, her hand brushing mine, then wrapping over it. Her grip is strong, controlled, guiding the pace faster.
<<eli "fuck… yeah…">>
<img src="images/daily_life/masturbation/washroom/1/3.jpeg" alt="Dream Girls" class="scene-image">
The sound builds wet, rhythmic, echoing faintly off the tile. She presses me back against the sink, her body solid against mine, heat imagined but intense.
<img src="images/daily_life/masturbation/washroom/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
I imagine her turning, bracing against the mirror, her hips pushing back slightly. Her pants slide down in my head, revealing smooth, strong thighs, her ass firm, defined. That image locks in. My strokes speed up, rougher, chasing the edge.
<<eli "don't stop ">>
<img src="images/daily_life/masturbation/washroom/1/4.jpeg" alt="Dream Girls" class="scene-image">
She doesn't. She just lets me use the moment.
<img src="images/daily_life/masturbation/washroom/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "Ah fuck !">>
I cum hard, body jerking, thick pulses spilling into my hand, some hitting the sink. My grip tightens as I ride it out, breath breaking.
<img src="images/daily_life/masturbation/washroom/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
I grab toilet paper, wiping my hand and the sink, breathing still uneven, the hum of the light settling back in.
[[Finish It|eli_bathroom]]<img src="images/daily_life/masturbation/washroom/2/1.jpeg" alt="Dream Girls" class="scene-image">
The room smells heavier tonight like something's been sitting too long. The air feels thick. I'm sitting on the closed toilet lid, leaning forward, elbows on my knees. My hand wraps around myself slowly. Already hard.
<img src="images/daily_life/masturbation/washroom/starting.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "…yeah… slow…">>
It's the girl from the late-night convenience aisle. Short, pale, dyed silver hair, oversized hoodie hanging off her frame. She moved lazily, like she didn't care who saw her. Now she's here, standing between my legs, looking down at me.
<img src="images/daily_life/masturbation/washroom/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes stay slow, controlled, dragging it out. She watches, then reaches down, her fingers brushing mine, testing the motion. I imagine pulling her hoodie up. Underneath nothing. Her body is slim, delicate, her chest small, soft, nipples pale and sensitive.
<img src="images/daily_life/masturbation/washroom/2/2.jpeg" alt="Dream Girls" class="scene-image">
<<eli "Mm…">>
<img src="images/daily_life/masturbation/washroom/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
She steps closer, her thighs brushing mine, her hand now fully wrapping around me, her grip light but intentional.
<<eli "fuck…">>
<img src="images/daily_life/masturbation/washroom/2/3.jpeg" alt="Dream Girls" class="scene-image">
She climbs onto my lap in my head, her weight settling, her body warm, close. Her breath brushes my neck, soft, uneven. My strokes deepen, still slow but heavier.
<img src="images/daily_life/masturbation/washroom/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
I imagine guiding her hips, her body moving with mine, small, controlled motions. The closeness builds the tension slowly, tightly. My breathing thickens.
<<eli "Ah…">>
<img src="images/daily_life/masturbation/washroom/2/4.jpeg" alt="Dream Girls" class="scene-image">
She presses closer, chest against mine, her arms around my shoulders. That closeness, That's what pushes it over.
<img src="images/daily_life/masturbation/washroom/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "Mm fuck ">>
I cum slower, longer, body tensing as thick pulses spill into my hand, drawn out, heavier. The image lingers a second longer than usual. Then fades.
<img src="images/daily_life/masturbation/washroom/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
I wipe my hand slowly, breathing steadying, the bathroom returning to its dull, quiet state.
[[Finish It|eli_bathroom]]<img src="images/daily_life/masturbation/washroom/3/1.jpeg" alt="Dream Girls" class="scene-image">
No light this time. Just darkness and the faint glow from outside bleeding through the window. I'm standing by the sink, barely able to see anything. My hand moves fast immediately. No buildup.
<img src="images/daily_life/masturbation/washroom/starting.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "…fuck… need it…">>
It's the girl from the crosswalk earlier tight athletic wear, headphones in, running past without slowing. Strong legs, focused expression. Now she's here, sharp and clear in my head.
<img src="images/daily_life/masturbation/washroom/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes are already fast, rough, chasing that immediate pressure. She's in front of me instantly, no hesitation. She grabs me in my head, her grip firm, almost rough.
<img src="images/daily_life/masturbation/washroom/3/2.jpeg" alt="Dream Girls" class="scene-image">
<<eli "Ah shit ">>
<img src="images/daily_life/masturbation/washroom/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
My hand tightens to match, movements getting more aggressive, more urgent. She presses me back against the sink, her body solid, controlled. Her top comes off in one motion, her chest firm, compact, nipples tight.
<<eli "yeah fuck ">>
<img src="images/daily_life/masturbation/washroom/3/3.jpeg" alt="Dream Girls" class="scene-image">
<img src="images/daily_life/masturbation/washroom/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
Everything moves fast her body, my hand, the rhythm snapping into something uncontrolled. The sound fills the small space, messy, overwhelming. My breathing breaks. The tension spikes instantly. No control.
<img src="images/daily_life/masturbation/washroom/3/4.jpeg" alt="Dream Girls" class="scene-image">
<img src="images/daily_life/masturbation/washroom/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "Ah fuck !">>
I cum hard, abrupt, body jerking sharply, thick pulses spilling into my hand, messy, uncontrolled. I keep going a second too long, hissing at the sensitivity. Then stop.
<img src="images/daily_life/masturbation/washroom/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
I clean up quickly in the dark, breathing heavy, the silence rushing back in like nothing happened.
[[Finish It|eli_bathroom]]<img src="images/daily_life/masturbation/washroom/4/1.jpeg" alt="Dream Girls" class="scene-image">
The air feels stale again, heavier than it should be. The faint smell of mildew lingers near the shower curtain, mixing with soap and something sour underneath. I lean against the sink, head slightly lowered, not looking at the mirror. My hand moves down slowly, wrapping around myself, already responding, already hard.
<img src="images/daily_life/masturbation/washroom/starting.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "…yeah… just… quick…">>
It's the girl from the vending machine downstairs. Curly hair tied up messily, hoodie sleeves pushed to her elbows, chewing gum like she didn't care who was watching. She glanced at me once brief, unreadable. Now she's here, leaning against the door, arms crossed, watching.
<img src="images/daily_life/masturbation/washroom/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes start slow, controlled, dragging up and down, feeling the weight in my hand. She uncrosses her arms, pushing off the door, stepping closer with that same casual energy. I imagine pulling her hoodie up, exposing her stomach first soft, slightly toned then higher, revealing her chest. Her breasts are medium, natural, with a slight bounce as she moves, nipples tightening under the cold air.
<img src="images/daily_life/masturbation/washroom/4/2.jpeg" alt="Dream Girls" class="scene-image">
<<eli "Mm…">>
<img src="images/daily_life/masturbation/washroom/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
She reaches down, brushing my hand aside just enough to wrap her fingers around me. Her grip is playful at first, then firmer, setting a rhythm.
<<eli "fuck… yeah…">>
<img src="images/daily_life/masturbation/washroom/4/3.jpeg" alt="Dream Girls" class="scene-image">
The sound builds wet, steady, echoing lightly. She steps closer, her thigh pressing between my legs, forcing my hips to shift. That pressure, It sharpens everything.
<img src="images/daily_life/masturbation/washroom/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
I imagine her turning around, pressing her hands against the sink, looking back at me over her shoulder. Her shorts slide down, revealing her hips, her ass soft but defined. My strokes speed up, rougher, chasing the image.
<<eli "don't stop ">>
<img src="images/daily_life/masturbation/washroom/4/4.jpeg" alt="Dream Girls" class="scene-image">
She doesn't. She just lets me lose control.
<img src="images/daily_life/masturbation/washroom/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "Ah fuck !">>
I cum hard, body tensing, thick pulses spilling into my hand, some hitting the sink edge. My grip tightens, dragging it out. The image drops instantly.
<img src="images/daily_life/masturbation/washroom/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
I wipe my hand, breathing uneven, the hum of the light filling the silence again.
[[Finish It|eli_bathroom]]<img src="images/daily_life/masturbation/washroom/5/1.jpeg" alt="Dream Girls" class="scene-image">
The bathroom is dim tonight, just the mirror light on. It casts uneven shadows, making everything feel quieter, more contained. The air smells faintly like cleaner and damp tile. I sit on the edge of the tub, legs slightly apart, leaning forward. My hand wraps around myself slowly. Already hard.
<img src="images/daily_life/masturbation/washroom/starting.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "…slow… yeah…">>
It's the girl from the thrift store. Short, thick braids, oversized flannel, soft smile she gave someone else not me. That detail sticks. Now she's here, standing between my legs, looking down with that same softness.
<img src="images/daily_life/masturbation/washroom/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes stay slow, controlled. She reaches down carefully, her fingers brushing mine before resting over them, not taking over, just guiding. I imagine pulling her flannel open. Underneath, a simple tank top stretched over her chest. I lift it in my head her breasts full, soft, settling naturally, nipples dark and responsive.
<img src="images/daily_life/masturbation/washroom/5/2.jpeg" alt="Dream Girls" class="scene-image">
<<eli "Mm…">>
<img src="images/daily_life/masturbation/washroom/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
She steps closer, her body pressing lightly against mine, her warmth imagined but steady. Her hand tightens slightly, syncing with my rhythm.
<<eli "fuck…">>
<img src="images/daily_life/masturbation/washroom/5/3.jpeg" alt="Dream Girls" class="scene-image">
She climbs onto my lap slowly, careful movements, her thighs wrapping around me. Her chest presses against mine, soft, grounding. My strokes deepen, still slow but heavier.
<img src="images/daily_life/masturbation/washroom/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
I imagine her moving gently, small motions, controlled, staying close. Her breath brushes my neck, soft, steady. The buildup is slow. Heavy. My breathing thickens.
<<eli "Ah…">>
<img src="images/daily_life/masturbation/washroom/5/4.jpeg" alt="Dream Girls" class="scene-image">
That closeness, That's what breaks it.
<img src="images/daily_life/masturbation/washroom/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "Mm fuck ">>
I cum slower, longer, body tensing as thick pulses spill into my hand, drawn out. She lingers for a second longer. Then fades.
<img src="images/daily_life/masturbation/washroom/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
I clean up slowly, sitting there a moment before moving.
[[Finish It|eli_bathroom]]<img src="images/daily_life/masturbation/washroom/6/1.jpeg" alt="Dream Girls" class="scene-image">
The light is off again. Only the faint glow from outside outlines the sink and mirror. The room smells stale, unmoving. I stand there, already reaching down, gripping myself tight from the start. No hesitation.
<img src="images/daily_life/masturbation/washroom/starting.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "…fuck…">>
It's the girl from the sidewalk earlier tight dress, fast walk, didn't even slow down when she passed me. Sharp features, confident stride. Now she's here, clear, immediate.
<img src="images/daily_life/masturbation/washroom/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes are fast right away, rough, chasing that immediate pressure. She steps in close, no distance, her presence overwhelming the space. She grabs me in my head, firm, direct.
<img src="images/daily_life/masturbation/washroom/6/2.jpeg" alt="Dream Girls" class="scene-image">
<<eli "Ah shit ">>
<img src="images/daily_life/masturbation/washroom/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
My grip tightens to match, movements getting harsher, more urgent. She presses me back into the sink, her body solid against mine. Her dress comes off in one motion, her body revealed sharp curves, defined, deliberate.
<<eli "yeah fuck ">>
<img src="images/daily_life/masturbation/washroom/6/3.jpeg" alt="Dream Girls" class="scene-image">
<img src="images/daily_life/masturbation/washroom/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
Everything moves fast. No pacing, no control. My hand works frantically, the sound filling the small space. My breathing breaks. The tension spikes instantly.
<img src="images/daily_life/masturbation/washroom/6/4.jpeg" alt="Dream Girls" class="scene-image">
<img src="images/daily_life/masturbation/washroom/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "Ah fuck !">>
I cum hard, abrupt, body jerking sharply, thick pulses spilling into my hand, messy, uncontrolled. I keep going briefly, overstimulated. Then stop.
<img src="images/daily_life/masturbation/washroom/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
I wipe off quickly in the dark, breathing heavy, the silence swallowing everything again.
[[Finish It|eli_bathroom]]<img src="images/daily_life/masturbation/washroom/7/1.jpeg" alt="Dream Girls" class="scene-image">
The bathroom smells stale again, like damp air that never really leaves. The overhead light buzzes faintly, flickering once before settling. I lean against the sink, palms resting on the cold porcelain for a second before one hand drops. I'm already hard. My fingers wrap around myself slowly, testing the pressure.
<img src="images/daily_life/masturbation/washroom/starting.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "…yeah… just… go…">>
It's the girl from the elevator lobby earlier tonight. Tall, olive skin, long straight dark hair tucked behind one ear. She wore a fitted blazer, sharp, clean, everything about her put together in a way that made me feel out of place just standing near her. Now she's here, standing across from me in the cramped bathroom, looking like she doesn't belong in this space at all.
<img src="images/daily_life/masturbation/washroom/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes start slow, controlled. She doesn't move at first, just watching, her expression unreadable. Then she steps closer, heels clicking softly against tile in my head. I imagine unbuttoning her blazer, sliding it off her shoulders. Underneath, a tight blouse, slightly sheer. I pull it open her chest revealed, breasts firm, structured, nipples pressing faintly against the fabric before it disappears.
<img src="images/daily_life/masturbation/washroom/7/2.jpeg" alt="Dream Girls" class="scene-image">
<<eli "Mm…">>
<img src="images/daily_life/masturbation/washroom/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
She reaches down, her hand cool, precise, wrapping around mine and tightening the motion. Her grip is controlled, almost clinical, setting a pace that's deliberate and unhurried.
<<eli "fuck… yeah…">>
<img src="images/daily_life/masturbation/washroom/7/3.jpeg" alt="Dream Girls" class="scene-image">
The rhythm builds, steady and firm. She presses closer, her body aligned with mine, her presence overwhelming in the small space. I imagine turning her, pressing her against the mirror, her reflection sharp, composed even as I pull her skirt up, exposing smooth thighs, toned and controlled.
<img src="images/daily_life/masturbation/washroom/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes get faster, rougher, losing that controlled pace she set. The sound grows louder, bouncing off tile.
<<eli "don't don't stop ">>
<img src="images/daily_life/masturbation/washroom/7/4.jpeg" alt="Dream Girls" class="scene-image">
She doesn't. She just lets me lose it.
<img src="images/daily_life/masturbation/washroom/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "Ah fuck !">>
I cum hard, body tensing sharply, thick pulses spilling into my hand, some hitting the sink edge. My grip tightens, dragging it out. The image vanishes instantly.
<img src="images/daily_life/masturbation/washroom/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
I wipe my hand, breathing uneven, the hum returning like nothing happened.
[[Finish It|eli_bathroom]]<img src="images/daily_life/masturbation/washroom/8/1.jpeg" alt="Dream Girls" class="scene-image">
The light is off again. Only the faint blue glow from outside outlines the sink and tub. The air smells damp, heavier near the floor. I'm sitting on the edge of the tub, leaning forward slightly, already reaching down. My hand grips me firmly. Already fully hard.
<img src="images/daily_life/masturbation/washroom/starting.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "…fuck… needed this…">>
It's the girl from the night bus. Messy ponytail, oversized jacket, tired eyes. She leaned against the window, half-asleep, completely unaware of anyone else around her. That quiet, That isolation, It sticks. Now she's here, standing between my legs, looking just as tired, just as distant.
<img src="images/daily_life/masturbation/washroom/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes start slow, almost matching that energy. She reaches down lazily, her hand brushing mine, then wrapping loosely around me. Her grip is softer than usual. Loose. Unbothered.
<<eli "…yeah…">>
I imagine pulling her jacket off. Underneath, a thin shirt clinging to her chest. I lift it slowly her breasts soft, slightly heavy, natural, her nipples responding slowly.
<img src="images/daily_life/masturbation/washroom/8/2.jpeg" alt="Dream Girls" class="scene-image">
<<eli "Mm…">>
<img src="images/daily_life/masturbation/washroom/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
She steps closer, her body pressing lightly against mine, not urgent, not demanding. Her hand tightens slightly, syncing with my pace. My strokes deepen, still slow but heavier. I imagine guiding her onto my lap, her weight settling, her arms loosely around my shoulders, her head resting near mine.
<img src="images/daily_life/masturbation/washroom/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
She moves slowly, barely lifting, just grinding gently, her body staying close, almost lazy in its rhythm. That softness, That lack of urgency, It builds something deeper. My breathing thickens.
<img src="images/daily_life/masturbation/washroom/8/3.jpeg" alt="Dream Girls" class="scene-image">
<<eli "Ah…">>
<<eli "don't stop…">>
<img src="images/daily_life/masturbation/washroom/8/4.jpeg" alt="Dream Girls" class="scene-image">
She doesn't. She just keeps going.
<img src="images/daily_life/masturbation/washroom/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "Mm fuck ">>
I cum slower, longer, body tensing, thick pulses spilling into my hand, drawn out and heavy. She fades quietly.
<img src="images/daily_life/masturbation/washroom/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
I sit there a second longer before cleaning up, breathing steadying slowly.
[[Finish It|eli_bathroom]]<img src="images/daily_life/masturbation/washroom/9/1.jpeg" alt="Dream Girls" class="scene-image">
The overhead light is harsh again, making everything look sharper, uglier. The mirror catches part of my face, but I don't look up. My hand moves immediately. Fast. No buildup.
<img src="images/daily_life/masturbation/washroom/starting.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "…fuck…">>
It's the girl from the crosswalk different from before. This one had headphones, bright dyed pink hair, oversized hoodie, short shorts. She moved fast, weaving through people like she didn't care about anyone else. Now she's here, loud even in silence.
<img src="images/daily_life/masturbation/washroom/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes are already quick, rough. She steps in close immediately, no distance, no hesitation. She grabs me in my head, firm, aggressive.
<img src="images/daily_life/masturbation/washroom/9/2.jpeg" alt="Dream Girls" class="scene-image">
<<eli "Ah shit ">>
<img src="images/daily_life/masturbation/washroom/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
My grip tightens to match, movements getting harsher, faster. She presses me back into the sink, her body energetic, restless. Her hoodie comes off fast, revealing a slim, tight body, small chest, nipples already stiff.
<<eli "yeah fuck ">>
<img src="images/daily_life/masturbation/washroom/9/3.jpeg" alt="Dream Girls" class="scene-image">
<img src="images/daily_life/masturbation/washroom/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
Everything accelerates. Her movements are quick, erratic, matching the pace of my hand. The sound fills the bathroom, sharp, messy. My breathing breaks. No control.
<img src="images/daily_life/masturbation/washroom/9/4.jpeg" alt="Dream Girls" class="scene-image">
<img src="images/daily_life/masturbation/washroom/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "Ah fuck !">>
I cum hard, abrupt, body jerking sharply, thick pulses spilling into my hand, messy and fast. I keep going briefly, overstimulated. Then stop.
<img src="images/daily_life/masturbation/washroom/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
I wipe off quickly, breathing heavy, the harsh light still buzzing above me.
[[Finish It|eli_bathroom]]<img src="images/daily_life/masturbation/washroom/10/1.jpeg" alt="Dream Girls" class="scene-image">
The air feels heavier than usual, like it hasn't moved in hours. The sink smells faintly metallic, mixed with the usual damp soap scent. I lean forward, both hands braced on the porcelain for a second before one drops. I'm already hard. My fingers wrap around myself, slow at first, testing the pressure.
<img src="images/daily_life/masturbation/washroom/starting.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "…yeah…">>
It's the girl from the campus café short, curly brown hair, round face, soft eyes. She laughed too loud at something her friend said, head tilted back, completely unaware of anything else. That openness, That ease, Now she's here, standing close, looking at me like she actually sees me.
<img src="images/daily_life/masturbation/washroom/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes stay slow, controlled. She steps closer, her hand reaching out, resting lightly over mine, not stopping, just feeling. I imagine pushing her cardigan off, revealing a loose shirt underneath. I lift it in my head her chest soft, fuller, her breasts resting naturally, nipples already tightening.
<img src="images/daily_life/masturbation/washroom/10/2.jpeg" alt="Dream Girls" class="scene-image">
<<eli "Mm…">>
<img src="images/daily_life/masturbation/washroom/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
She smiles faintly, stepping closer, her body pressing into mine, warm, grounding. Her hand tightens slightly, guiding the motion.
<<eli "fuck… yeah…">>
<img src="images/daily_life/masturbation/washroom/10/3.jpeg" alt="Dream Girls" class="scene-image">
My strokes deepen, still slow but heavier. I imagine pulling her onto the counter, her legs wrapping loosely around me, her arms resting on my shoulders.
<img src="images/daily_life/masturbation/washroom/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
She moves gently, small motions, her chest pressed against mine, her breath warm, steady. That closeness builds slowly. Tighter.
<<eli "Ah…">>
<<eli "stay…">>
<img src="images/daily_life/masturbation/washroom/10/4.jpeg" alt="Dream Girls" class="scene-image">
She does. That's what breaks it.
<img src="images/daily_life/masturbation/washroom/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "Mm fuck ">>
I cum slower, longer, body tensing, thick pulses spilling into my hand, drawn out. She fades softly.
<img src="images/daily_life/masturbation/washroom/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
I wipe my hand, breathing steadying, the quiet settling back in.
[[Finish It|eli_bathroom]]<img src="images/daily_life/masturbation/washroom/11/1.jpeg" alt="Dream Girls" class="scene-image">
The light flickers again. The buzzing is louder tonight, cutting through everything. The mirror reflects just enough of me that I turn slightly away. My hand moves fast this time. Already tight. Already urgent.
<img src="images/daily_life/masturbation/washroom/starting.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "…fuck…">>
It's the girl from the street corner tight leather jacket, sharp eyeliner, cigarette between her fingers. She looked straight through me when I passed. That dismissal, It sticks. Now she's here, leaning against the wall, watching with that same cold look.
<img src="images/daily_life/masturbation/washroom/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes are already quick, rough. She pushes off the wall, stepping in close, no hesitation. She grabs me in my head, firm, direct.
<img src="images/daily_life/masturbation/washroom/11/2.jpeg" alt="Dream Girls" class="scene-image">
<<eli "Ah shit ">>
<img src="images/daily_life/masturbation/washroom/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
My grip tightens to match, movements harsher, faster. She presses me back into the sink, her body sharp, controlled. Her jacket comes off, then her shirt her body lean, defined, breasts smaller but firm, nipples tight.
<<eli "yeah fuck ">>
<img src="images/daily_life/masturbation/washroom/11/3.jpeg" alt="Dream Girls" class="scene-image">
<img src="images/daily_life/masturbation/washroom/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
Everything speeds up. No pacing. My hand moves frantically, the sound filling the bathroom. My breathing breaks. The tension spikes instantly.
<<eli "don't stop ">>
<img src="images/daily_life/masturbation/washroom/11/4.jpeg" alt="Dream Girls" class="scene-image">
She doesn't. She just watches.
<img src="images/daily_life/masturbation/washroom/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "Ah fuck !">>
I cum hard, abrupt, body jerking sharply, thick pulses spilling into my hand, messy, uncontrolled. I keep going briefly, overstimulated. Then stop.
<img src="images/daily_life/masturbation/washroom/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
I wipe off quickly, breath uneven, the buzzing light still cutting through the silence.
[[Finish It|eli_bathroom]]<img src="images/daily_life/masturbation/washroom/12/1.jpeg" alt="Dream Girls" class="scene-image">
The bathroom is dim again, just the mirror light casting a soft glow. The air smells faintly cleaner tonight, but underneath it's still the same. I sit on the closed toilet lid, shoulders slouched, head low. My hand wraps around myself slowly. Already hard.
<img src="images/daily_life/masturbation/washroom/starting.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "…last one… yeah…">>
It's the girl from the laundromat different from before. Older than me, maybe late twenties. Dark hair tied loosely, sleeves rolled up, focused on folding clothes. That quiet focus, That steadiness, Now she's here, standing in front of me, calm, present.
<img src="images/daily_life/masturbation/washroom/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes are slow, steady. She steps closer, her hand resting over mine, not taking control, just guiding. I imagine pulling her shirt up her body fuller, softer, her breasts heavier, settling naturally, nipples darker, more pronounced.
<img src="images/daily_life/masturbation/washroom/12/2.jpeg" alt="Dream Girls" class="scene-image">
<<eli "Mm…">>
<img src="images/daily_life/masturbation/washroom/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
She steps between my legs, her body warm, close. Her hand tightens slightly, syncing with my rhythm.
<<eli "fuck…">>
<img src="images/daily_life/masturbation/washroom/12/3.jpeg" alt="Dream Girls" class="scene-image">
I imagine her sitting on my lap, her weight settling fully, her arms resting loosely around my shoulders.
<img src="images/daily_life/masturbation/washroom/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
She moves slowly, controlled, staying close, her chest pressed against mine. Her breath is steady, grounding. The buildup is slow. Deep.
<<eli "Ah…">>
<<eli "stay…">>
<img src="images/daily_life/masturbation/washroom/12/4.jpeg" alt="Dream Girls" class="scene-image">
She does and that's enough.
<img src="images/daily_life/masturbation/washroom/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "Mm fuck ">>
I cum slower, longer, body tensing, thick pulses spilling into my hand, drawn out and heavy. She fades gradually.
<img src="images/daily_life/masturbation/washroom/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
I clean up slowly, sitting there a moment after, the room quiet again.
[[Finish It|eli_bathroom]]<img src="images/daily_life/masturbation/washroom/13/1.jpeg" alt="Dream Girls" class="scene-image">
The light hums overhead, steady but irritating, like it's pressing into the silence. The air smells faintly of toothpaste and damp tile. I lean back against the sink, shoulders slightly hunched, eyes unfocused. My hand moves down without thinking. Already hard. My fingers wrap around myself, slow, testing.
<img src="images/daily_life/masturbation/washroom/starting.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "…yeah… just…">>
It's the girl from the food truck line. Dark hair in a loose bun, tank top sticking slightly to her skin from the heat, a faint sheen of sweat along her collarbone. She wiped her neck with the back of her hand, casual, unbothered. That small detail sticks. Now she's here, standing close, that same heat carried into the tight bathroom space.
<img src="images/daily_life/masturbation/washroom/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes start slow, controlled. She steps closer, her fingers brushing my wrist before settling over my hand, guiding the rhythm slightly faster. I imagine lifting her tank top, exposing her chest her breasts soft but lifted, a natural weight, nipples tightening quickly.
<img src="images/daily_life/masturbation/washroom/13/2.jpeg" alt="Dream Girls" class="scene-image">
<<eli "Mm…">>
<img src="images/daily_life/masturbation/washroom/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
She presses closer, her body warm, slightly damp in my head, her breath heavier, matching the imagined heat. Her grip tightens, syncing with my pace.
<<eli "fuck… yeah…">>
<img src="images/daily_life/masturbation/washroom/13/3.jpeg" alt="Dream Girls" class="scene-image">
My strokes deepen, heavier now. I imagine her turning, leaning against the sink, her back arching slightly, her hips pressing back.
<img src="images/daily_life/masturbation/washroom/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
The rhythm builds, faster, rougher. The sound fills the bathroom, echoing softly. My breathing gets uneven.
<<eli "don't stop ">>
<img src="images/daily_life/masturbation/washroom/13/4.jpeg" alt="Dream Girls" class="scene-image">
She doesn't. She just lets it happen.
<img src="images/daily_life/masturbation/washroom/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "Ah fuck !">>
I cum hard, body tensing, thick pulses spilling into my hand, some hitting the sink edge. My grip tightens as I ride it out. The image drops instantly.
<img src="images/daily_life/masturbation/washroom/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
I wipe my hand quickly, breathing uneven, the hum filling the space again.
[[Finish It|eli_bathroom]]<img src="images/daily_life/masturbation/washroom/14/1.jpeg" alt="Dream Girls" class="scene-image">
The bathroom is dim, just the mirror light on. Shadows sit heavy in the corners. The air smells faintly cleaner, but underneath it's the same stale weight. I sit on the edge of the tub, leaning forward slightly. My hand wraps around myself slowly. Already hard.
<img src="images/daily_life/masturbation/washroom/starting.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "…slow… yeah…">>
It's the girl from the art store. Paint-stained fingers, loose sweater slipping constantly as she reached for supplies. She looked distracted, absorbed in her own world. That quiet focus sticks. Now she's here, standing between my legs, watching with that same distant calm.
<img src="images/daily_life/masturbation/washroom/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes stay slow, controlled. She reaches down gently, her hand resting over mine, not taking over, just guiding. I imagine pulling her sweater up her body soft, slightly marked with faint smudges of paint, her breasts natural, relaxed, nipples slowly tightening.
<img src="images/daily_life/masturbation/washroom/14/2.jpeg" alt="Dream Girls" class="scene-image">
<<eli "Mm…">>
<img src="images/daily_life/masturbation/washroom/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
She steps closer, her body pressing lightly against mine, grounding, calm. Her hand tightens slightly, syncing with my rhythm.
<<eli "fuck…">>
<img src="images/daily_life/masturbation/washroom/14/3.jpeg" alt="Dream Girls" class="scene-image">
I imagine pulling her onto my lap, her weight settling, her arms resting loosely around me.
<img src="images/daily_life/masturbation/washroom/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
She moves slowly, barely lifting, just shifting her hips gently, staying close, her breath steady. The buildup stretches longer. Deeper.
<<eli "Ah…">>
<<eli "stay…">>
<img src="images/daily_life/masturbation/washroom/14/4.jpeg" alt="Dream Girls" class="scene-image">
She does. That stillness, That closeness, It pushes it over.
<img src="images/daily_life/masturbation/washroom/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "Mm fuck ">>
I cum slower, longer, body tightening, thick pulses spilling into my hand, drawn out. She fades softly.
<img src="images/daily_life/masturbation/washroom/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
I clean up slowly, sitting there a moment longer before moving.
[[Finish It|eli_bathroom]]<img src="images/daily_life/masturbation/washroom/15/1.jpeg" alt="Dream Girls" class="scene-image">
The light is off again. Only faint streetlight outlines the sink. The room smells stale, unmoving. I'm already moving. Hand tight. Fast.
<img src="images/daily_life/masturbation/washroom/starting.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "…fuck…">>
It's the girl from the hallway outside earlier tight athletic shorts, cropped hoodie, keys in her hand. She walked past fast, barely glancing. That quick presence sticks. Now she's here, immediate, sharp.
<img src="images/daily_life/masturbation/washroom/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes are already rough, fast. She steps in close instantly, no hesitation, her presence filling the space. She grabs me in my head, firm, aggressive.
<img src="images/daily_life/masturbation/washroom/15/2.jpeg" alt="Dream Girls" class="scene-image">
<<eli "Ah shit ">>
<img src="images/daily_life/masturbation/washroom/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
My grip tightens to match, movements harsher, faster. She presses me back into the sink, her body tight, controlled. Her hoodie comes off fast, revealing a toned, compact body, small chest, nipples tight.
<<eli "yeah fuck ">>
<img src="images/daily_life/masturbation/washroom/15/3.jpeg" alt="Dream Girls" class="scene-image">
<img src="images/daily_life/masturbation/washroom/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
Everything accelerates. No pacing. My hand works frantically, the sound filling the small space. My breathing breaks. The tension spikes instantly.
<img src="images/daily_life/masturbation/washroom/15/4.jpeg" alt="Dream Girls" class="scene-image">
<img src="images/daily_life/masturbation/washroom/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "Ah fuck !">>
I cum hard, abrupt, body jerking sharply, thick pulses spilling into my hand, messy and fast. I keep going briefly, overstimulated. Then stop.
<img src="images/daily_life/masturbation/washroom/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
I wipe off quickly in the dark, breathing heavy, the silence swallowing everything again.
[[Finish It|eli_bathroom]]<img src="images/daily_life/masturbation/bed/1/1.jpeg" alt="dream girl" class="scene-image">
The room is dark except for the faint glow of the monitor left on sleep mode. It pulses softly, casting a dull blue light across the ceiling. The air smells stale fabric, sweat, and the lingering sweetness of an empty energy drink can nearby.
<img src="images/daily_life/masturbation/bed/starting.jpeg" alt="Kira's Apartment" class="scene-image">
I’m on my back, one arm under my head, the other already slipping under the blanket. My hand wraps around myself slowly. Already hard.
<<eli "…yeah…">>
<img src="images/daily_life/masturbation/bed/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
It’s the girl from the gas station earlier. Blonde, messy ponytail, oversized hoodie barely covering her shorts. She leaned on the counter, chewing gum, eyes half-lidded like she was bored of everything. Now she’s here, sitting on my bed, looking down at me with that same detached expression. My strokes start slow, dragging up and down, feeling the weight build in my hand. She leans forward, pushing her hoodie up slightly, revealing her stomach first flat, soft, a faint line down the center. Then higher, exposing her chest small, perky, her nipples already tightening in the cool air.
<img src="images/daily_life/masturbation/bed/1/2.jpeg" alt="dream girl" class="scene-image">
<<eli "Mm…">>
<img src="images/daily_life/masturbation/bed/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
My grip tightens.
<<eli "fuck… yeah…">>
She shifts, crawling over me, her knees pressing into the mattress on either side of my hips. I can feel the dip of the bed, the imagined weight settling over me. My strokes deepen, slower but heavier. She leans down, her chest brushing against mine, her breath warm against my neck. Her hand slides down, covering mine, guiding the motion slightly faster. That overlap, It hits something immediate.
<img src="images/daily_life/masturbation/bed/1/3.jpeg" alt="dream girl" class="scene-image">
<<eli "Ah…">>
<img src="images/daily_life/masturbation/bed/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
My hips push up into my hand. She lifts slightly in my head, guiding me between her legs, her body lowering slowly, her face tightening just a little. That image, It locks in. My strokes speed up, rougher, chasing it.
<<eli "don’t stop ">>
<img src="images/daily_life/masturbation/bed/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
She doesn’t. She just keeps moving, steady, controlled. That’s enough.
<img src="images/daily_life/masturbation/bed/1/4.jpeg" alt="dream girl" class="scene-image">
<<eli "Ah fuck !">>
I cum hard, body tensing sharply, thick pulses spilling into my hand, my grip tightening as I ride it out. The image disappears fast.
<img src="images/daily_life/masturbation/bed/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
Just the ceiling again. The dim blue glow. I reach for tissues without looking.
[[Finish It|eli_bed]]<img src="images/daily_life/masturbation/bed/2/1.jpeg" alt="dream girl" class="scene-image">
The sheets feel rough tonight. Twisted around my legs, slightly damp from sweat. The room smells heavier than usual, like the air hasn’t moved in hours.
<img src="images/daily_life/masturbation/bed/starting.jpeg" alt="Kira's Apartment" class="scene-image">
I’m on my side, facing the wall. Already thinking. Already hard. My hand slips down slowly, wrapping around myself, strokes starting gentle.
<<eli "…slow… yeah…">>
<img src="images/daily_life/masturbation/bed/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
It’s the girl from the bookstore café. Long dark hair, glasses slipping slightly down her nose, oversized sweater sleeves covering her hands. She moved quietly, carefully, like she didn’t want to take up space. That softness lingers. Now she’s here, lying behind me, her body pressed lightly along my back. My strokes stay slow, controlled. Her arm slides over me, her hand finding mine, fingers threading between mine as she guides the motion gently. Her touch is soft. Careful. That contrast makes me shiver.
<img src="images/daily_life/masturbation/bed/2/2.jpeg" alt="dream girl" class="scene-image">
<<eli "Mm…">>
<img src="images/daily_life/masturbation/bed/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
I imagine turning to face her, her eyes meeting mine briefly before dropping. She pulls her sweater up slowly, revealing her chest soft, natural, her breasts slightly uneven in a way that feels real. My grip tightens slightly.
<<eli "fuck…">>
<img src="images/daily_life/masturbation/bed/2/3.jpeg" alt="dream girl" class="scene-image">
She shifts over me, straddling my hips carefully, her movements hesitant but willing. Her hands rest on my chest, steadying herself. My strokes deepen, still slow but heavier. She lowers herself gradually, her face tightening slightly, a quiet breath escaping her. That restraint, That quiet reaction, It builds something tighter. My breathing thickens.
<<eli "Ah…">>
<img src="images/daily_life/masturbation/bed/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
She moves gently, small motions, staying close, her chest brushing mine with every shift.
<<eli "don’t stop…">>
<img src="images/daily_life/masturbation/bed/2/4.jpeg" alt="dream girl" class="scene-image">
She doesn’t. She just keeps that same slow rhythm.
<img src="images/daily_life/masturbation/bed/the-peak.jpeg" alt="Kira’s Apartment" class="scene-image">
That’s what breaks it.
<<eli "Mm fuck ">>
I cum slower this time, longer pulses, my body tensing but not jerking, my hand tightening as I ride it out. She fades softly. Leaving just the wall.
<img src="images/daily_life/masturbation/bed/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
The still air. I wipe my hand slowly, not moving much.
[[Finish It|eli_bed]]<img src="images/daily_life/masturbation/bed/3/1.jpeg" alt="dream girl" class="scene-image">
I don’t even lie down properly this time.
<img src="images/daily_life/masturbation/bed/starting.jpeg" alt="Kira's Apartment" class="scene-image">
Just half on the mattress, one leg hanging off, hoodie still on, room dim and quiet. The faint hum of electronics fills the background. My hand is already moving. Fast. Tight.
<<eli "…fuck…">>
<img src="images/daily_life/masturbation/bed/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
It’s the girl from the street corner earlier. Tight dress, sharp features, confident stride. She didn’t slow down when she passed me, didn’t even glance. That confidence, That distance, Now she’s here, standing over me, looking down like she’s in control. My strokes are already rough, chasing that immediate pressure. She climbs onto the bed, straddling me instantly, no hesitation, her body pressing down hard.
<img src="images/daily_life/masturbation/bed/3/2.jpeg" alt="dream girl" class="scene-image">
<<eli "Ah shit ">>
<img src="images/daily_life/masturbation/bed/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
My grip tightens, movements getting harsher, faster. She grabs my wrist in my head, forcing the pace even harder.
<<eli "yeah fuck ">>
<img src="images/daily_life/masturbation/bed/3/3.jpeg" alt="dream girl" class="scene-image">
She leans forward, her chest pressing into mine, her breath hot, intense. Her movements are fast, aggressive, no softness, no buildup. Everything accelerates. My breathing breaks. The sound fills the room wet, messy, desperate.
<<eli "I’m gonna fuck ">>
<img src="images/daily_life/masturbation/bed/in-motion.jpeg" alt="Kira’s Apartment" class="scene-image">
She doesn’t slow down. That pressure, That intensity, It snaps everything at once.
<<eli "AH !">>
<img src="images/daily_life/masturbation/bed/3/4.jpeg" alt="dream girl" class="scene-image">
<img src="images/daily_life/masturbation/bed/the-peak.jpeg" alt="Kira’s Apartment" class="scene-image">
I cum hard, abrupt, body jerking sharply, thick pulses spilling into my hand, messy, uncontrolled. I keep going briefly, overstimulated, hissing under my breath. Then stop. The room goes quiet again. Just the hum.
<img src="images/daily_life/masturbation/bed/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
Just the dim light. I wipe my hand quickly, tossing the tissue aside, lying there without moving.
[[Finish It|eli_bed]]<img src="images/daily_life/masturbation/bed/4/1.jpeg" alt="dream girl" class="scene-image">
The room is dim, lit only by the faint glow of the monitor. It flickers slightly, casting uneven shadows across the ceiling. The sheets are tangled around my legs, rough against my skin, the air thick with that same stale mix of fabric and sweat.
<img src="images/daily_life/masturbation/bed/starting.jpeg" alt="Kira's Apartment" class="scene-image">
I lie flat this time, staring up. Already thinking. Already hard. My hand slides under the blanket, wrapping around myself slowly.
<<eli "…yeah… just…">>
<img src="images/daily_life/masturbation/bed/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
It’s the girl from the corner store earlier tonight. Light brown skin, long braids tied back loosely, oversized t-shirt hanging off one shoulder. She laughed at something on her phone, completely in her own world. That moment sticks.
Now she’s here, standing at the edge of my bed, looking down at me with a faint, distracted smile. My strokes start slow, dragging out the feeling. She steps closer, lifting the shirt slightly in my head, exposing her stomach first soft, warm-looking then higher, revealing her chest. Her breasts are medium, natural, a slight weight to them, nipples tightening quickly.
<img src="images/daily_life/masturbation/bed/4/2.jpeg" alt="dream girl" class="scene-image">
<<eli "Mm…">>
<img src="images/daily_life/masturbation/bed/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
My grip tightens.
<<eli "fuck… yeah…">>
<img src="images/daily_life/masturbation/bed/4/3.jpeg" alt="dream girl" class="scene-image">
She climbs onto the bed, knees pressing into the mattress, settling over me. I feel the imagined dip, the weight. My strokes deepen, still slow but heavier. She leans forward, her chest brushing mine, her breath warm, steady. Her hand slides down, covering mine, guiding the pace. That shared motion, It pushes me further.
<<eli "Ah…">>
<img src="images/daily_life/masturbation/bed/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
I imagine her lowering herself onto me slowly, her face tightening just slightly, her body adjusting. That image locks in. My strokes speed up, rougher.
<<eli "don’t stop ">>
<img src="images/daily_life/masturbation/bed/4/4.jpeg" alt="dream girl" class="scene-image">
<img src="images/daily_life/masturbation/bed/the-peak.jpeg" alt="Kira’s Apartment" class="scene-image">
She doesn’t. She just keeps moving, steady, controlled. That’s enough.
<<eli "Ah fuck !">>
I cum hard, body tensing sharply, thick pulses spilling into my hand, my grip tightening as I ride it out. She’s gone immediately after. Just the ceiling again.
<img src="images/daily_life/masturbation/bed/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
The dim light. I reach for tissues blindly.
[[Finish It|eli_bed]]<img src="images/daily_life/masturbation/bed/5/1.jpeg" alt="dream girl" class="scene-image">
I’m on my side again, facing the wall, blanket half off. The air feels colder tonight, brushing against my skin, making everything more sensitive.
<img src="images/daily_life/masturbation/bed/starting.jpeg" alt="Kira's Apartment" class="scene-image">
I don’t move much. Just reach down. Grip. Slow strokes.
<<eli "…slow… yeah…">>
<img src="images/daily_life/masturbation/bed/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
It’s the girl from the campus hallway. Short, curly hair, oversized hoodie, headphones around her neck. She looked tired, but focused, like she had somewhere to be. That quiet determination sticks. Now she’s here, lying behind me, her body pressed lightly along mine. My strokes stay slow, controlled. Her arm slides over me, her hand finding mine, guiding it gently, her touch soft but intentional.
<img src="images/daily_life/masturbation/bed/5/2.jpeg" alt="dream girl" class="scene-image">
<<eli "Mm…">>
<img src="images/daily_life/masturbation/bed/semi-hard.jpeg" alt="Kira’s Apartment" class="scene-image">
I shift slightly, turning onto my back, bringing her with me in my head. She hovers above me now, her hoodie slipping off her shoulders. Underneath, a simple tank top. I lift it in my head her chest revealed, small but soft, natural, her nipples reacting slowly. My grip tightens slightly.
<<eli "fuck…">>
<img src="images/daily_life/masturbation/bed/5/3.jpeg" alt="dream girl" class="scene-image">
<img src="images/daily_life/masturbation/bed/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
She lowers herself carefully, her body warm, close, her hands resting lightly on my chest. Her movements are slow, almost hesitant. My strokes deepen, still controlled. She moves gently, small motions, staying close, her breath brushing my neck. That softness, That restraint, It builds something tighter. My breathing thickens.
<<eli "Ah…">>
<<eli "don’t stop…">>
<img src="images/daily_life/masturbation/bed/5/4.jpeg" alt="dream girl" class="scene-image">
<img src="images/daily_life/masturbation/bed/the-peak.jpeg" alt="Kira’s Apartment" class="scene-image">
She doesn’t. She just keeps that same slow rhythm and that’s what pushes it over.
<<eli "Mm fuck ">>
I cum slower, longer, body tightening, thick pulses spilling into my hand, drawn out. She fades softly.
<img src="images/daily_life/masturbation/bed/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
Leaving just the quiet room. I wipe my hand slowly, barely moving.
[[Finish It|eli_bed]]<img src="images/daily_life/masturbation/bed/6/1.jpeg" alt="dream girl" class="scene-image">
I’m sitting up this time, back against the wall, legs stretched out, sheets bunched around my waist. The room smells stale, unmoving, like it’s been sealed shut.
<img src="images/daily_life/masturbation/bed/starting.jpeg" alt="Kira's Apartment" class="scene-image">
My hand is already moving. Fast. Tight.
<<eli "…fuck…">>
<img src="images/daily_life/masturbation/bed/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
It’s the girl from the late-night street tight crop top, low-rise jeans, confident walk. She moved like she owned the space, like nothing around her mattered. That confidence. That distance. Now she’s here, climbing onto the bed without hesitation, straddling my lap instantly. My strokes are already rough, chasing that pressure.
<img src="images/daily_life/masturbation/bed/6/2.jpeg" alt="dream girl" class="scene-image">
<<eli "Ah shit ">>
<img src="images/daily_life/masturbation/bed/semi-hard.jpeg" alt="Kira’s Apartment" class="scene-image">
She grabs my wrist in my head, forcing the pace harder, faster.
<<eli "yeah fuck ">>
<img src="images/daily_life/masturbation/bed/6/3.jpeg" alt="dream girl" class="scene-image">
<img src="images/daily_life/masturbation/bed/in-motion.jpeg" alt="Kira’s Apartment" class="scene-image">
Her body presses down against me, her movements aggressive, immediate, no buildup. Her chest brushes mine, firm, controlled. Everything accelerates. My breathing breaks. The sound fills the room wet, messy, desperate.
<<eli "I’m gonna ">>
<img src="images/daily_life/masturbation/bed/6/4.jpeg" alt="dream girl" class="scene-image">
<img src="images/daily_life/masturbation/bed/the-peak.jpeg" alt="Kira’s Apartment" class="scene-image">
She doesn’t slow. That pressure snaps everything at once.
<<eli "AH fuck !">>
I cum hard, abrupt, body jerking sharply, thick pulses spilling into my hand, messy, uncontrolled. I keep going briefly, overstimulated, hissing under my breath. Then stop.
<img src="images/daily_life/masturbation/bed/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
The room goes quiet again. Just the faint hum. Just the dim light. I wipe my hand quickly, tossing the tissue aside, leaning back without moving.
[[Finish It|eli_bed]]<img src="images/daily_life/masturbation/bed/7/1.jpeg" alt="dream girl" class="scene-image">
The air is thick tonight. No window open. The smell of old fabric, sweat, and something faintly metallic from the radiator.
<img src="images/daily_life/masturbation/bed/starting.jpeg" alt="Kira's Apartment" class="scene-image">
I’m on my back again, hoodie half-zipped, one hand already slipping down like muscle memory. I don’t even hesitate. It’s her.
The girl from Kira’s stream chat the one who had her camera on during that collab. Latina, maybe. Long dark curls, thick, spilling over her shoulders. She laughed loud, head thrown back, mouth wide, unapologetic. I remember her top. Low cut. Too low. My hand wraps around myself, already hard, thumb pressing into the tip.
<<eli "fuck… yeah…">>
<img src="images/daily_life/masturbation/bed/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
I imagine her in my room. Not shy. Never shy. She’s standing at the foot of my mattress, already pulling her shirt up, no buildup, no hesitation. Her stomach is soft not flat, not perfect real. A slight curve. A faint line down the middle. Her breasts spill free. Heavy. Full.
<img src="images/daily_life/masturbation/bed/7/2.jpeg" alt="dream girl" class="scene-image">
<img src="images/daily_life/masturbation/bed/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
The kind that *move* when she breathes. My grip tightens instantly, strokes starting faster this time. She notices. Of course she does. Grins.
<img src="images/daily_life/masturbation/bed/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
Bites her lip, but it’s not nervous it’s playful, like she’s enjoying watching me lose it.
She climbs onto the bed, knees pressing into the mattress, making it dip under her weight. Then she straddles me. Her thighs are thick, warm, pressing into my sides. I can almost feel the heat.
<<eli "Ah ">>
<img src="images/daily_life/masturbation/bed/7/3.jpeg" alt="dream girl" class="scene-image">
My hand speeds up, wet sounds starting to build already. She leans forward, letting her breasts hang just above my face. I imagine reaching up, grabbing them fingers sinking into the soft weight, thumbs pressing into her nipples. She gasps loud, unfiltered.
<<eli "Mm yeah, like that ">>
My breath stutters.
<<eli "shit… don’t don’t stop…">>
<img src="images/daily_life/masturbation/bed/7/4.jpeg" alt="dream girl" class="scene-image">
I’m pumping faster now, hips starting to move with my hand, chasing that pressure. She grinds down against me. No clothes between us now. I imagine her pussy thick lips, already slick, glistening. When she moves, it leaves a faint wet trail against my stomach.
<<eli "Fuck ">>
<img src="images/daily_life/masturbation/bed/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
My body reacts instantly. She reaches down, wraps her hand over mine. Guides it. Faster. Harder. Her nails dig slightly into my wrist. She leans close, her breath hot against my ear.
<<eli "Cum for me.">>
That’s it. Everything tightens at once. My strokes turn frantic, sloppy, desperate.
<<eli "ah fuck !">>
I cum hard, body jerking as it hits, thick pulses spilling over my hand, my stomach. I keep going through it, hand squeezing, dragging every last bit out. She laughs in my head. Low. Satisfied and then she’s gone. Just the smell again.
<img src="images/daily_life/masturbation/bed/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
The quiet. I wipe my hand slowly, breathing still uneven.
[[Finish It|eli_bed]]<img src="images/daily_life/masturbation/bed/8/1.jpeg" alt="dream girl" class="scene-image">
I shouldn’t be awake.
<img src="images/daily_life/masturbation/bed/starting.jpeg" alt="Kira's Apartment" class="scene-image">
But I am. Blanket half off, cold air brushing against my skin. The room smells faintly like rain from earlier, mixed with stale dust. This one creeps in slower. Not loud. Not bold. The girl from the laundromat.
She didn’t say anything. Just sat there, headphones in, watching her clothes spin. Asian, maybe Korean. Straight black hair, long, tucked behind one ear. Oversized hoodie, sleeves covering her hands. Quiet. That’s what stuck. My hand slides down, slower this time. I take my time wrapping my fingers around myself, already hard but not rushing it.
<<eli "…yeah… slow…">>
<img src="images/daily_life/masturbation/bed/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
In my head, she’s sitting next to me now. Close. Close enough that our thighs touch. She looks over. Doesn’t smile. Just watches. Then she reaches out. Her hand is small compared to mine. Warm. Soft.
<img src="images/daily_life/masturbation/bed/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
She touches me through my sweatpants first, hesitant, like she’s testing something. I exhale slowly, my own hand joining hers now, pushing inside, gripping fully. We move together. Slow strokes. Deliberate.
The room in my head is quieter than usual. No rush. No noise. Just breathing. She pulls her hoodie off. Underneath nothing. Her body is slim, delicate. Small breasts, barely more than a handful, soft, pale. Her nipples are light, almost blending into her skin until they stiffen. I imagine leaning in, taking one into my mouth.
<img src="images/daily_life/masturbation/bed/8/2.jpeg" alt="dream girl" class="scene-image">
<<eli "Mm…">>
<img src="images/daily_life/masturbation/bed/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes get slightly faster, reacting to that image. She inhales sharply. Her hand tightens on me. She shifts, climbing onto my lap, slow, careful movements. Her thighs press together around me. I can feel the heat building.
<<eli "fuck… you’re… so warm…">>
<img src="images/daily_life/masturbation/bed/8/3.jpeg" alt="dream girl" class="scene-image">
<img src="images/daily_life/masturbation/bed/the-peak.jpeg" alt="Kira’s Apartment" class="scene-image">
She looks down between us. Then lifts slightly. Guides me. Her pussy is tight visibly so in my head barely parted, already wet but not dripping, just enough. She lowers herself. Slow. Careful. Her face tightens, eyes closing, lips parting as a soft "nn " escapes.
That restraint, That quiet reaction, It makes my chest tighten. My hand matches it, slow strokes turning deeper, more deliberate, dragging every sensation out.
She starts moving. Small motions. Grinding more than bouncing. My breathing gets heavier. The tension builds slower, tighter, coiling in my stomach.
<<eli "don’t… stop… please…">>
<img src="images/daily_life/masturbation/bed/8/4.jpeg" alt="dream girl" class="scene-image">
She doesn’t. She just keeps going. Steady. Consistent. That’s what breaks me. The slow buildup snaps all at once.
<<eli "Ah !">>
I cum harder than expected, body tensing sharply, thick pulses spilling into my hand. My strokes stutter but don’t stop, riding it out fully. She exhales softly in my head.
<img src="images/daily_life/masturbation/bed/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
Then fades. The quiet lingers longer this time.
[[Finish It|eli_bed]]<img src="images/daily_life/masturbation/bed/9/1.jpeg" alt="dream girl" class="scene-image">
This one hits fast.
<img src="images/daily_life/masturbation/bed/starting.jpeg" alt="Kira's Apartment" class="scene-image">
No buildup. The girl from the gym window across the street. I’ve only seen her twice. Tall. Blonde. Athletic. Tight sports bra, compressing her chest but not enough to hide the shape. Sweat on her skin, catching the light. My hand is already moving before I even settle into the bed. Fast. Rough.
<<eli "shit yeah ">>
<img src="images/daily_life/masturbation/bed/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
I imagine her dominating the space immediately. She’s not waiting. She’s already on top of me, pinning my wrists down against the mattress. Her body is solid defined shoulders, toned arms, thighs strong around my hips. Her chest presses down against me, firm, compressed but still soft underneath. I buck up instinctively.
<img src="images/daily_life/masturbation/bed/9/2.jpeg" alt="dream girl" class="scene-image">
<<eli "Ah fuck ">>
<img src="images/daily_life/masturbation/bed/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
My hand matches that energy, fast strokes, tight grip, already messy with pre-cum. She smirks down at me. Confident. In control. She lets go of one wrist, reaching down, grabbing me roughly. The sudden pressure, It makes me gasp.
<<eli "too tight fuck ">>
<img src="images/daily_life/masturbation/bed/9/3.jpeg" alt="dream girl" class="scene-image">
<img src="images/daily_life/masturbation/bed/in-motion.jpeg" alt="Kira’s Apartment" class="scene-image">
She doesn’t ease up. She strokes me hard, fast, almost aggressive, her grip unrelenting. Then she shifts. Lifts herself and drops down onto me. No slow build. Just impact. I imagine the tightness strong, controlled, squeezing me immediately. My entire body reacts.
<<eli "Fuck !">>
<img src="images/daily_life/masturbation/bed/9/4.jpeg" alt="dream girl" class="scene-image">
<img src="images/daily_life/masturbation/bed/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
My hand speeds up even more, almost losing rhythm from how fast I’m going. She rides me hard. Not graceful. Not soft. Just raw motion up, down, fast, her muscles flexing with every movement. Her breasts bounce under the sports bra, restrained but still moving. Her breathing is loud. Sharp.
<<eli "Yeah take it ">>
That tone, That command, It pushes me right to the edge.
<<eli "I’m gonna fuck ">>
She leans down, gripping my jaw, forcing me to look at her.
<<eli "Do it.">>
That’s it. Everything snaps.
<<eli "AH !">>
I cum hard, almost instantly, my body locking up as thick pulses spill into my hand, my grip tightening painfully as I ride it out. My hips jerk up involuntarily. She keeps going in my head, riding through it, not stopping. That overstimulation, It drags out the orgasm longer.
<img src="images/daily_life/masturbation/bed/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
Then, Nothing. She’s gone. I’m left panting in the dark, hand sticky, chest heaving. I wipe off quickly this time, almost annoyed at how intense that one was.
[[Finish It|eli_bed]]<img src="images/daily_life/masturbation/bed/10/1.jpeg" alt="dream girl" class="scene-image">
The room is quiet in that heavy way that makes every small movement louder. The faint glow from the monitor stretches across the ceiling, flickering just enough to keep my eyes from settling. The sheets are twisted around my legs, slightly damp, clinging in places where the air feels too still.
<img src="images/daily_life/masturbation/bed/starting.jpeg" alt="Kira's Apartment" class="scene-image">
I lie on my back, one arm resting over my stomach, the other already slipping lower. My hand wraps around myself slowly, testing the pressure, feeling the familiar weight already there.
<<eli "…yeah…">>
<img src="images/daily_life/masturbation/bed/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
It’s the girl from the pharmacy line earlier. Different from before this time clearer, sharper. Her hair pulled back tight, a few strands loose around her face. She wore a fitted top that hugged her chest just enough to make it hard not to notice. Now she’s here, standing beside the bed, looking down at me like she’s deciding something. My strokes stay slow, deliberate, dragging the sensation out. I imagine reaching up, pulling her closer, her body shifting as she lets herself be guided. Her shirt lifts in my head, revealing her chest her breasts firm, slightly lifted, her nipples tightening almost immediately. I exhale through my nose, the tension building steadily as my grip tightens.
<img src="images/daily_life/masturbation/bed/10/2.jpeg" alt="dream girl" class="scene-image">
<<eli "fuck… yeah…">>
<img src="images/daily_life/masturbation/bed/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
She climbs onto the bed, one knee on either side of my hips, settling over me with a controlled, balanced weight. I can almost feel the mattress dip, the pressure of her presence. My strokes deepen, slower but heavier, matching the imagined movement of her body as she leans forward. Her chest brushes mine, her breath warm against my neck, steady and close. Her hand slides down, covering mine, guiding the rhythm just slightly faster, just enough to push it forward.
<<eli "Mm…">>
<img src="images/daily_life/masturbation/bed/10/3.jpeg" alt="dream girl" class="scene-image">
<img src="images/daily_life/masturbation/bed/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
I imagine her lowering herself onto me slowly, her face tightening just a little, her body adjusting inch by inch. That moment stretches, lingers. My strokes pick up, rougher now, chasing that image.
<<eli "don’t stop…">>
<img src="images/daily_life/masturbation/bed/10/4.jpeg" alt="dream girl" class="scene-image">
She doesn’t. She keeps that same pace, steady, controlled. That consistency tightens everything at once.
<<eli "Ah fuck ">>
<img src="images/daily_life/masturbation/bed/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
I cum hard, body tensing sharply, thick pulses spilling into my hand, my grip tightening as I ride through it, dragging it out as long as I can. Then it fades. She’s gone.
<img src="images/daily_life/masturbation/bed/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
Just the ceiling again. The faint glow. I reach for tissues without looking, breathing still uneven.
[[Finish It|eli_bed]]<img src="images/daily_life/masturbation/bed/11/1.jpeg" alt="dream girl" class="scene-image">
I’m on my side again, facing the wall, blanket half off, one leg tangled in the sheets. The air feels cooler tonight, brushing against my skin, making everything more sensitive, more immediate.
<img src="images/daily_life/masturbation/bed/starting.jpeg" alt="Kira's Apartment" class="scene-image">
I don’t think about it much. My hand just moves. Wraps. Starts slow.
<<eli "…slow… yeah…">>
<img src="images/daily_life/masturbation/bed/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
It’s the girl from the laundromat earlier. Not the same one as before this one had long straight hair, tied loosely, and wore a fitted tank top that clung slightly when she bent down to grab clothes from the dryer. That small detail, That movement, It sticks. Now she’s here, lying behind me, her body pressed lightly along mine, her warmth imagined but steady. My strokes stay slow, controlled, dragging each motion out. Her arm slides over me, her hand finding mine, fingers resting lightly as if testing the rhythm before guiding it. Her touch is soft. Unhurried.
<img src="images/daily_life/masturbation/bed/11/2.jpeg" alt="dream girl" class="scene-image">
<<eli "Mm…">>
<img src="images/daily_life/masturbation/bed/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
I shift slightly, turning onto my back, bringing her with me in my head. She moves over me, her tank top slipping up as she adjusts, exposing her chest soft, natural, her breasts settling with a slight weight, her nipples responding gradually. My grip tightens.
<<eli "fuck…">>
<img src="images/daily_life/masturbation/bed/11/3.jpeg" alt="dream girl" class="scene-image">
She lowers herself carefully, her hands resting on my chest, her movements slow, almost cautious. Her body stays close, her breath brushing my neck, steady and quiet. My strokes deepen, still controlled but heavier now, syncing with the imagined rhythm of her body. The buildup stretches longer. Tighter. My breathing thickens.
<<eli "Ah…">>
<img src="images/daily_life/masturbation/bed/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "don’t stop…">>
<img src="images/daily_life/masturbation/bed/11/4.jpeg" alt="dream girl" class="scene-image">
She doesn’t. She keeps that same slow, steady motion and that’s what breaks it.
<<eli "Mm fuck ">>
<img src="images/daily_life/masturbation/bed/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
I cum slower this time, longer pulses, my body tightening as it releases, my hand gripping harder, riding it out fully. She fades gradually. Leaving just the still wall.
<img src="images/daily_life/masturbation/bed/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
The quiet. I wipe my hand slowly, not moving much after.
[[Finish It|eli_bed]]<img src="images/daily_life/masturbation/bed/12/1.jpeg" alt="dream girl" class="scene-image">
I’m half-sitting, half-lying, back against the wall, hoodie still on, sheets bunched around my waist. The room smells stale, familiar, unchanged.
<img src="images/daily_life/masturbation/bed/starting.jpeg" alt="Kira's Apartment" class="scene-image">
My hand is already moving. Fast. Tight. No buildup.
<<eli "…fuck…">>
<img src="images/daily_life/masturbation/bed/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
It’s the girl from the parking garage earlier. Dark hair, tight leggings, cropped jacket. She moved quickly, confidently, like she knew exactly where she was going and didn’t care about anything else. That energy, That focus, Now she’s here, immediate, climbing onto the bed without hesitation, straddling me in one motion. My strokes are already rough, chasing that pressure.
<img src="images/daily_life/masturbation/bed/12/2.jpeg" alt="dream girl" class="scene-image">
<<eli "Ah shit ">>
<img src="images/daily_life/masturbation/bed/semi-hard.jpeg" alt="Kira’s Apartment" class="scene-image">
She grabs my wrist in my head, forcing the pace faster, harder.
<<eli "yeah fuck ">>
<img src="images/daily_life/masturbation/bed/12/3.jpeg" alt="dream girl" class="scene-image">
Her body presses down against me, her movements sharp, controlled, aggressive. No softness. No buildup. Everything accelerates. My breathing breaks, uneven, desperate. The sound fills the room, loud in the quiet.
<<eli "I’m gonna ">>
<img src="images/daily_life/masturbation/bed/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
She doesn’t slow. That intensity spikes everything at once.
<<eli "AH fuck !">>
<img src="images/daily_life/masturbation/bed/12/4.jpeg" alt="dream girl" class="scene-image">
<img src="images/daily_life/masturbation/bed/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
I cum hard, abrupt, body jerking sharply, thick pulses spilling into my hand, messy and uncontrolled. I keep going for a second too long, hissing at the sensitivity. Then stop. The room goes still again.
<img src="images/daily_life/masturbation/bed/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
Just the faint hum. Just the dim light. I wipe my hand quickly, tossing the tissue aside, staying there without moving.
[[Finish It|eli_bed]]<img src="images/daily_life/masturbation/bed/13/1.jpeg" alt="dream girl" class="scene-image">
The room feels heavier tonight, like the air has settled into the sheets and never left. The faint glow from the monitor barely reaches the bed, leaving most of the room in shadow. The fabric under me is warm, slightly damp, clinging where it shouldn’t.
<img src="images/daily_life/masturbation/bed/starting.jpeg" alt="Kira's Apartment" class="scene-image">
I lie flat, staring up, not really seeing anything. My hand drifts down slowly, wrapping around myself with a familiar ease, already hard, already waiting.
<<eli "…yeah…">>
<img src="images/daily_life/masturbation/bed/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
It’s the girl from the bus earlier. Long auburn hair, tied loosely, strands falling along her neck as she leaned against the window. She didn’t move much, just watched the reflection instead of the street.
That stillness sticks. Now she’s here, sitting beside me on the mattress, quiet, watching in the same way. My strokes start slow, deliberate, dragging each movement out. She shifts closer, her thigh brushing against mine, the contact imagined but sharp enough to make my breath catch. I imagine reaching up, pulling her closer, her body giving easily. Her shirt lifts in my head her chest revealed, soft, slightly heavy, her nipples tightening gradually.
<img src="images/daily_life/masturbation/bed/13/2.jpeg" alt="dream girl" class="scene-image">
<<eli "Mm…">>
<img src="images/daily_life/masturbation/bed/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
My grip tightens.
<<eli "fuck… yeah…">>
<img src="images/daily_life/masturbation/bed/13/3.jpeg" alt="dream girl" class="scene-image">
She moves over me slowly, one leg on either side, settling her weight carefully. The mattress dips, subtle but noticeable. My strokes deepen, still slow but heavier now, matching the imagined motion as she leans forward. Her chest presses against mine, warm, grounding, her breath steady against my skin.
Her hand slides down, covering mine, guiding it just slightly faster, just enough to push the tension forward. I imagine her lowering herself slowly, inch by inch, her face tightening faintly, her body adjusting. That moment stretches. Holds.
<img src="images/daily_life/masturbation/bed/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
My strokes pick up, rougher, chasing it.
<<eli "don’t stop…">>
<img src="images/daily_life/masturbation/bed/13/4.jpeg" alt="dream girl" class="scene-image">
She doesn’t. She keeps that same controlled rhythm and that’s what breaks it.
<<eli "Ah fuck ">>
<img src="images/daily_life/masturbation/bed/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
I cum hard, body tightening sharply, thick pulses spilling into my hand, my grip tightening as I ride through it. She disappears instantly after. Just the ceiling again. The dim glow.
<img src="images/daily_life/masturbation/bed/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
I reach for tissues without looking.
[[Finish It|eli_bed]]<img src="images/daily_life/masturbation/bed/14/1.jpeg" alt="dream girl" class="scene-image">
I’m on my stomach this time, face turned into the pillow, breathing in that stale, washed-out smell that never really leaves. The blanket is twisted under my hips, rough against my skin.
<img src="images/daily_life/masturbation/bed/starting.jpeg" alt="Kira's Apartment" class="scene-image">
My hand slips underneath me, gripping myself, already hard, already sensitive.
<<eli "…slow… yeah…">>
<img src="images/daily_life/masturbation/bed/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
It’s the girl from the grocery aisle. Dark curly hair, loose t-shirt tied at the waist, exposing a small strip of her stomach when she reached up for something on the shelf. That small glimpse, That movement, It lingers. Now she’s here, lying along my back, her body pressed lightly against mine, her warmth imagined but steady. My strokes stay slow, controlled, dragging out the sensation. Her hand slides along my side, then down, resting over mine, guiding it gently. Her touch is soft. Unhurried.
<img src="images/daily_life/masturbation/bed/14/2.jpeg" alt="dream girl" class="scene-image">
<<eli "Mm…">>
<img src="images/daily_life/masturbation/bed/semi-hard.jpeg" alt="Kira's Apartment" class="scene-image">
I imagine shifting, rolling onto my back, bringing her with me. She moves easily, straddling my hips, her shirt riding up as she settles. I lift it in my head her chest soft, fuller, her breasts resting naturally, her nipples tightening slowly. My grip tightens slightly.
<<eli "fuck…">>
<img src="images/daily_life/masturbation/bed/14/3.jpeg" alt="dream girl" class="scene-image">
<img src="images/daily_life/masturbation/bed/in-motion.jpeg" alt="Kira's Apartment" class="scene-image">
She leans forward, her chest pressing into mine, her breath brushing my neck. Her movements are slow, careful, staying close. My strokes deepen, still controlled but heavier now, syncing with the imagined rhythm. The buildup stretches longer. Tighter. My breathing thickens.
<<eli "Ah…">>
<img src="images/daily_life/masturbation/bed/the-peak.jpeg" alt="Kira's Apartment" class="scene-image">
<<eli "don’t stop…">>
<img src="images/daily_life/masturbation/bed/14/4.jpeg" alt="dream girl" class="scene-image">
She doesn’t. She just keeps that same slow, steady motion and that’s what pushes it over.
<<eli "Mm fuck ">>
I cum slower, longer, body tightening, thick pulses spilling into my hand, drawn out, heavier. She fades softly. Leaving just the pillow.
<img src="images/daily_life/masturbation/bed/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
The still air. I wipe my hand slowly, barely moving.
[[Finish It|eli_bed]]<img src="images/daily_life/masturbation/bed/15/1.jpeg" alt="dream girl" class="scene-image">
I’m sitting up again, back against the wall, legs stretched out, sheets bunched around my waist. The room smells stale, unmoving, like it hasn’t changed in days.
<img src="images/daily_life/masturbation/bed/starting.jpeg" alt="Kira's Apartment" class="scene-image">
My hand is already moving. Fast. Tight. No buildup.
<<eli "…fuck…">>
<img src="images/daily_life/masturbation/bed/beginning.jpeg" alt="Kira's Apartment" class="scene-image">
It’s the girl from the late-night sidewalk. Tight jeans, cropped jacket, sharp features, walking fast like she had somewhere better to be. That confidence, That distance, Now she’s here, immediate, climbing onto the bed without hesitation, straddling me instantly. My strokes are already rough, chasing that pressure.
<img src="images/daily_life/masturbation/bed/15/2.jpeg" alt="dream girl" class="scene-image">
<<eli "Ah shit ">>
<img src="images/daily_life/masturbation/bed/semi-hard.jpeg" alt="Kira’s Apartment" class="scene-image">
She grabs my wrist in my head, forcing the pace harder, faster.
<<eli "yeah fuck ">>
<img src="images/daily_life/masturbation/bed/15/3.jpeg" alt="dream girl" class="scene-image">
Her body presses down against me, her movements sharp, aggressive, no softness, no buildup. Everything accelerates.
<img src="images/daily_life/masturbation/bed/in-motion.jpeg" alt="Kira’s Apartment" class="scene-image">
My breathing breaks, uneven, desperate. The sound fills the room, loud in the quiet.
<<eli "I’m gonna ">>
<img src="images/daily_life/masturbation/bed/15/4.jpeg" alt="dream girl" class="scene-image">
<img src="images/daily_life/masturbation/bed/the-peak.jpeg" alt="Kira’s Apartment" class="scene-image">
She doesn’t slow. That intensity spikes everything at once.
<<eli "AH fuck !">>
I cum hard, abrupt, body jerking sharply, thick pulses spilling into my hand, messy and uncontrolled. I keep going a second too long, hissing at the sensitivity. Then stop.
<img src="images/daily_life/masturbation/bed/wiping-with-tissue.jpeg" alt="Kira's Apartment" class="scene-image">
The room goes still again. Just the faint hum. Just the dim light. I wipe my hand quickly, tossing the tissue aside, staying there without moving.
[[Finish It|eli_bed]]<<set $locationName to "Coffee Shop">>
<<set $right_sidebar_mode to 0>>
<<set $locationImage to "images/locations/coffee_shop.jpeg">>
<img src="images/locations/coffee_shop.jpeg" alt="Coffee Shop" style="width:100%; height:auto;">
<<if $day == 1 and $day_step == 8>>
<<goto "day_1_9">>
<<else>>
<</if>>
[[Buy a Coffee|coffee_shop_menu]] | [[← District Map|neighbourhood]]<<nobr>>
<img src="images/locations/coffee_shop.jpeg" alt="Coffee Shop" style="width:100%; height:auto;">
<br>
The menu board is chalked up above the counter. A few options, nothing fancy. I check my wallet.
<br>
''You have: $<<print $money>>''
<br><br>
<<if $money >= 3>>[[Espresso - $3|coffee_buy_espresso]]<<else>><span style="opacity:0.4">Espresso - $3 (can't afford)</span><</if>>
|
<<if $money >= 4>>[[Americano - $4|coffee_buy_americano]]<<else>><span style="opacity:0.4">Americano - $4 (can't afford)</span><</if>>
|
<<if $money >= 5>>[[Latte - $5|coffee_buy_latte]]<<else>><span style="opacity:0.4">Latte - $5 (can't afford)</span><</if>>
<br><br>
<<if $money >= 5>>[[Cappuccino - $5|coffee_buy_cappuccino]]<<else>><span style="opacity:0.4">Cappuccino - $5 (can't afford)</span><</if>>
|
<<if $money >= 6>>[[Cold Brew - $6|coffee_buy_coldbrew]]<<else>><span style="opacity:0.4">Cold Brew - $6 (can't afford)</span><</if>>
|
<<if $money >= 6>>[[Caramel Macchiato - $6|coffee_buy_macchiato]]<<else>><span style="opacity:0.4">Caramel Macchiato - $6 (can't afford)</span><</if>>
<</nobr>>
<br>
[[← Leave|coffee_shop]]<<set $money to $money - 3>>
<img src="images/locations/coffee_shop.jpeg" alt="Coffee Shop" style="width:100%; height:auto;">
Small cup. Dark. The barista slides it across the counter without a word. I take it to a corner seat and drink it in three slow sips. Bitter, strong, over in under a minute.
<<eli "...exactly what I needed.">>
The caffeine hits clean. Sharp edges. I sit with the empty cup for a second before getting up.
''Remaining: $<<print $money>>''
[[← Coffee Shop|coffee_shop]]<<set $money to $money - 4>>
<img src="images/locations/coffee_shop.jpeg" alt="Coffee Shop" style="width:100%; height:auto;">
Espresso diluted with hot water - sounds wrong, tastes right. I wrap both hands around the paper cup and find a seat near the window. The shop is quiet. A few people on laptops, one couple talking low.
<<eli "...nice in here.">>
I drink it slowly. Let the room stay around me for a bit.
''Remaining: $<<print $money>>''
[[← Coffee Shop|coffee_shop]]<<set $money to $money - 5>>
<img src="images/locations/coffee_shop.jpeg" alt="Coffee Shop" style="width:100%; height:auto;">
Smooth, milky, the coffee flavor softened just enough. The barista does a small leaf pattern in the foam that I didn't ask for but immediately appreciate. I take a picture. Delete it.
<<eli "...don't be that guy.">>
I drink it slowly anyway. It's good. One of the better ones.
''Remaining: $<<print $money>>''
[[← Coffee Shop|coffee_shop]]<<set $money to $money - 5>>
<img src="images/locations/coffee_shop.jpeg" alt="Coffee Shop" style="width:100%; height:auto;">
More foam than I expected, in a good way. The first sip is all texture - that thick, airy layer before the coffee underneath. I sit with it by the window and watch the street for a while.
<<eli "Yeah, this is the move.">>
Nothing productive happens. That's fine.
''Remaining: $<<print $money>>''
[[← Coffee Shop|coffee_shop]]<<set $money to $money - 6>>
<img src="images/locations/coffee_shop.jpeg" alt="Coffee Shop" style="width:100%; height:auto;">
It comes in a tall glass over ice, dark and thick. No milk, no sugar. I take a sip and the cold hits first, then the coffee - deep, smooth, concentrated. It's the kind that doesn't feel like it's doing anything until suddenly it is.
<<eli "...okay, that's dangerous.">>
I finish it faster than I meant to. Feel it kick in before I'm even out the door.
''Remaining: $<<print $money>>''
[[← Coffee Shop|coffee_shop]]<<set $money to $money - 6>>
<img src="images/locations/coffee_shop.jpeg" alt="Coffee Shop" style="width:100%; height:auto;">
Sweet, layered, the caramel drizzled down the inside of the cup. It's probably too sweet but I ordered it anyway. The barista reads my energy correctly and doesn't comment.
<<eli "Worth it.">>
I drink it slowly, feeling vaguely indulgent. The kind of thing you buy when you want something that feels like a treat.
''Remaining: $<<print $money>>''
[[← Coffee Shop|coffee_shop]]<<set $locationName to "Kira's Apartment">>
<<set $right_sidebar_mode to 0>>
<<set $locationImage to "images/locations/kira_apartment.jpeg">>
<img src="images/locations/kira_apartment.jpeg" alt="Kira's Apartment" style="width:100%; height:auto;">
<<if $day == 2 and $day_step == 13>>
<<goto "day_2_14">>
<<elseif $day == 4 and $day_step == 14>>
<<goto "day_4_15_kira">>
<<elseif $day == 5 and $day_step == 14>>
<<goto "day_5_15_kira">>
<<else>>
<</if>>
[[Chat with Kira|chat_kira]] | [[← District Map|neighbourhood]]<<if !$kira_arc>>
<<set $rand to random(1, 15)>>
<<if $rand is 1>>
<<goto chat_kira_norm_1>>
<<elseif $rand is 2>>
<<goto chat_kira_norm_2>>
<<elseif $rand is 3>>
<<goto chat_kira_norm_3>>
<<elseif $rand is 4>>
<<goto chat_kira_norm_4>>
<<elseif $rand is 5>>
<<goto chat_kira_norm_5>>
<<elseif $rand is 6>>
<<goto chat_kira_norm_6>>
<<elseif $rand is 7>>
<<goto chat_kira_norm_7>>
<<elseif $rand is 8>>
<<goto chat_kira_norm_8>>
<<elseif $rand is 9>>
<<goto chat_kira_norm_9>>
<<elseif $rand is 10>>
<<goto chat_kira_norm_10>>
<<elseif $rand is 11>>
<<goto chat_kira_norm_11>>
<<elseif $rand is 12>>
<<goto chat_kira_norm_12>>
<<elseif $rand is 13>>
<<goto chat_kira_norm_13>>
<<elseif $rand is 14>>
<<goto chat_kira_norm_14>>
<<else>>
<<goto chat_kira_norm_15>>
<</if>>
<<else>>
<<set $rand to random(1, 15)>>
<<if $rand is 1>>
<<goto chat_kira_rom_1>>
<<elseif $rand is 2>>
<<goto chat_kira_rom_2>>
<<elseif $rand is 3>>
<<goto chat_kira_rom_3>>
<<elseif $rand is 4>>
<<goto chat_kira_rom_4>>
<<elseif $rand is 5>>
<<goto chat_kira_rom_5>>
<<elseif $rand is 6>>
<<goto chat_kira_rom_6>>
<<elseif $rand is 7>>
<<goto chat_kira_rom_7>>
<<elseif $rand is 8>>
<<goto chat_kira_rom_8>>
<<elseif $rand is 9>>
<<goto chat_kira_rom_9>>
<<elseif $rand is 10>>
<<goto chat_kira_rom_10>>
<<elseif $rand is 11>>
<<goto chat_kira_rom_11>>
<<elseif $rand is 12>>
<<goto chat_kira_rom_12>>
<<elseif $rand is 13>>
<<goto chat_kira_rom_13>>
<<elseif $rand is 14>>
<<goto chat_kira_rom_14>>
<<else>>
<<goto chat_kira_rom_15>>
<</if>>
<</if>>Rain clings to Eli’s hoodie, darkening the fabric as I stand outside Kira’s apartment door. When it opens, a soft wave of vanilla and coffee drifts out, warm and clean. Kira stands there small frame, oversized band tee slipping off one shoulder, glasses slightly fogged from the humidity.
<<kira "oh hey, you’re soaked. come in, idiot. welcome.">>
<<eli "yeah… rain picked up halfway.">>
I step inside, careful not to drip too much.
<<kira "you look like a drowned NPC.">>
<<eli "accurate.">>
She grabs a towel from the back of a chair and tosses it at him.
<<kira "dry off before you ruin my floor aesthetic.">>
<<eli "you have an aesthetic?">>
<<kira "rude. yes.">>
I wipes my hair, glancing around clean setup, soft lighting, everything intentional. her place feels… put together. like a different world.
<<eli "your setup’s still insane.">>
<<kira "it pays for itself. literally.">>
She sits at her desk, spinning slightly.
<<kira "you stream today?">>
<<eli "yeah. same numbers.">>
<<kira "consistency’s not bad.">>
<<eli "doesn’t feel good either.">>
She shrugs lightly.
<<kira "feelings are optional. metrics aren’t.">>
A small pause.
<<eli "i should head before i drip everywhere.">>
<<kira "yeah, go home and change. text me when you’re not a puddle.">>
<<eli "will do. bye.">>
[[Leave|neighbourhood]]The rain is lighter this time, but Eli’s still damp when Kira opens the door, already holding a mug.
<<kira "welcome back, rain magnet.">>
<<eli "i swear it wasn’t raining earlier.">>
<<kira "it sensed you.">>
I step in, shoes squeaking faintly. The apartment smells like green tea and something sweet.
<<eli "that smells good.">>
<<kira "tea. want some?">>
<<eli "sure.">>
She hands him a mug without ceremony.
<<kira "careful, it’s hot.">>
<<eli "thanks.">>
I take a sip, shoulders relaxing slightly. warm… didn’t realize how cold i was.
<<kira "you look less dead today.">>
<<eli "that’s progress.">>
<<kira "low bar, but we take it.">>
She leans against the desk.
<<kira "what’d you stream?">>
<<eli "same game.">>
<<kira "you ever get bored of it?">>
<<eli "yeah. but switching feels worse.">>
Kira nods knowingly.
<<kira "audience inertia. annoying but real.">>
A beat.
<<eli "i’ll head before i finish all your tea.">>
<<kira "you barely drank any. but okay. later, eli.">>
<<eli "later.">>
[[Leave|neighbourhood]]Thunder rumbles faintly outside as I knocks. Kira opens quickly this time, eyebrows raised.
<<kira "okay, wow you’re really wet. welcome.">>
<<eli "it got worse.">>
Water drips from my sleeves onto the floor.
<<kira "hold on stay there.">>
She disappears and comes back with a larger towel.
<<kira "here. emergency protocol.">>
<<eli "you have protocols?">>
<<kira "for you? yeah.">>
I dries off awkwardly. The room smells like fabric softener and faint perfume.
<<eli "sorry. didn’t mean to show up like this.">>
<<kira "you always show up like this. it’s your brand now.">>
I look exhausted… more than usual.
<<kira "you okay?">>
<<eli "just tired. streamed longer than usual.">>
<<kira "any payoff?">>
<<eli "not really.">>
She hums softly.
<<kira "it stacks eventually. just… slow.">>
<<eli "yeah.">>
A quiet moment.
<<eli "i should go before i flood your place.">>
<<kira "yeah, go dry off properly. later.">>
<<eli "bye.">>
[[Leave|neighbourhood]]The rain has slowed to a drizzle, but Eli’s hoodie is still damp when Kira opens the door, mid-typing on her phone.
<<kira "welcome. you’re less soaked today, congrats.">>
<<eli "improvement.">>
I step inside, shaking my sleeves slightly. The apartment smells like coffee and something toasted.
<<eli "you just wake up?">>
<<kira "nah, just ended stream.">>
<<eli "how’d it go?">>
<<kira "good. normal numbers.">>
She sets her phone down.
<<kira "you?">>
<<eli "earlier stream. same as always.">>
<<kira "mm.">>
She studies him briefly.
<<kira "you’re stuck in your own head again.">>
<<eli "when am i not?">>
<<kira "fair.">>
I'm spiraling quietly… doesn’t even notice.
<<kira "try something small tomorrow. don’t overhaul everything.">>
<<eli "like what?">>
<<kira "different title. different energy. tiny shifts.">>
I nods faintly.
<<eli "i can try that.">>
I step back toward the door.
<<eli "i’ll head. didn’t mean to interrupt.">>
<<kira "you didn’t. text me later.">>
<<eli "yeah. later.">>
[[Leave|neighbourhood]]Rain taps lightly as I arrives again, damp but not drenched. Kira opens the door with a small smile, headset resting around her neck.
<<kira "welcome. look at you only mildly soggy.">>
<<eli "i’m evolving.">>
<<kira "finally.">>
I step in, the room carrying a soft lavender scent.
<<eli "your place always smells good.">>
<<kira "i put effort into not living like a cave.">>
<<eli "couldn’t be me.">>
She laughs quietly, setting her headset aside.
<<kira "stream went okay today.">>
<<eli "nice.">>
<<kira "what about you?">>
<<eli "same numbers… but chat was a bit more active.">>
Kira nods.
<<kira "that’s something. engagement matters more than raw count.">>
<<eli "yeah… it felt different.">>
maybe… something’s shifting? She leans back slightly.
<<kira "see? tiny changes.">>
<<eli "maybe you’re right.">>
A comfortable pause.
<<eli "i’m gonna head before i get used to this place.">>
<<kira "dangerous idea. later, eli.">>
<<eli "later. good night.">>
[[Leave|neighbourhood]]Rain hits harder tonight, loud against the windows as I stands outside Kira’s door, hoodie clinging to my arms. She opens it almost immediately, eyes widening slightly.
<<kira "jesus you look like you lost a fight with a river. welcome.">>
<<eli "it escalated fast.">>
Water drips onto the entry floor as I step in.
<<kira "stop don’t move. you’re leaking.">>
She grabs a towel quickly, pressing it into my hands.
<<kira "damage control. go.">>
<<eli "yes, ma’am.">>
The room smells like fresh coffee and warm electronics. her place always feels… alive.
<<eli "you streaming?">>
<<kira "just ended. good session.">>
<<eli "nice.">>
She watches him dry off, head tilting slightly.
<<kira "you look worse than usual.">>
<<eli "thanks.">>
<<kira "i mean it. like… drained.">>
I shrugs.
<<eli "long stream. tried pushing hours.">>
<<kira "don’t burn out chasing numbers. not worth it.">>
A quiet beat.
<<eli "yeah…">>
I step back toward the door.
<<eli "i’ll head. before i leave a trail behind me.">>
<<kira "good call. later, eli.">>
<<eli "later.">>
[[Leave|neighbourhood]]The rain is lighter, more of a mist, but Eli’s still damp when Kira opens the door, a soft glow from her monitors behind her.
<<kira "welcome. you’re like… 60% wet today. improvement.">>
<<eli "i’ll take it.">>
I step in, shoes quiet against the floor. The room smells like vanilla and something baked.
<<eli "did you make something?">>
<<kira "store-bought. don’t get excited.">>
<<eli "still counts.">>
She gestures toward the counter.
<<kira "help yourself if you want.">>
<<eli "i might.">>
feels weird being offered things like this. She leans back in her chair.
<<kira "you change anything on stream today?">>
<<eli "title. like you said.">>
<<kira "and?">>
<<eli "slightly better click-in… i think.">>
Kira nods once.
<<kira "see? small shifts.">>
<<eli "still feels… fragile.">>
<<kira "it always is.">>
A pause.
<<eli "i’ll head. don’t wanna linger.">>
<<kira "you’re fine, but okay. later.">>
<<eli "bye.">>
[[Leave|neighbourhood]]Thunder rolls faintly as I knocks, rain trailing down my sleeves. Kira opens slower this time, mid-sip from a bottle.
<<kira "welcome. wow you really commit to the soaked look.">>
<<eli "it’s consistent branding.">>
<<kira "respect.">>
I step inside, shaking my arms slightly. The air smells like citrus cleaner and faint perfume.
<<eli "you just cleaned?">>
<<kira "yeah. needed a reset.">>
<<eli "looks good.">>
She nods, setting the bottle down.
<<kira "how was today?">>
<<eli "quiet. but… less dead.">>
<<kira "that’s progress.">>
I'm noticing it now… good.
<<eli "i clipped a moment that actually felt… decent.">>
<<kira "post it. don’t overthink.">>
<<eli "i will.">>
A small silence.
<<kira "you’re doing more lately.">>
<<eli "trying to.">>
I shifts my weight.
<<eli "i’ll head. before the rain gets worse again.">>
<<kira "yeah, go. don’t catch something.">>
<<eli "later.">>
[[Leave|neighbourhood]]The rain is steady but calm, I only slightly damp this time. Kira opens the door with her glasses pushed up, hair slightly messy.
<<kira "welcome. wow you’re almost dry. character development.">>
<<eli "huge arc.">>
I step inside, more relaxed than usual. The room smells like tea and something floral.
<<eli "you just start stream?">>
<<kira "nah, prepping.">>
<<eli "ah.">>
She gestures vaguely to her setup.
<<kira "testing audio, lighting… same routine.">>
<<eli "yours looks so… intentional.">>
<<kira "because it is.">>
I notices details more now… interesting.
<<eli "mine’s just… there.">>
<<kira "then improve one thing. not everything.">>
<<eli "yeah… maybe lighting.">>
<<kira "good start.">>
A beat.
<<eli "i won’t keep you. you’re about to go live.">>
<<kira "yeah. thanks. later, eli.">>
<<eli "good luck. bye.">>
[[Leave|neighbourhood]]Rain taps softly as I arrives, hoodie damp at the edges. Kira opens the door with a small nod, calm as always.
<<kira "welcome. you’re early.">>
<<eli "yeah… didn’t feel like staying in.">>
I step in, quieter than usual. The apartment smells like coffee and lavender.
<<kira "fair.">>
She studies him briefly.
<<kira "you okay?">>
<<eli "just… restless.">>
<<kira "mm.">>
I'm shifting… something’s building.
<<eli "stream was fine. nothing crazy.">>
<<kira "fine is good.">>
<<eli "doesn’t feel good.">>
She leans slightly against the desk.
<<kira "it won’t, for a while.">>
<<eli "yeah.">>
A quiet settles between them.
<<kira "keep going anyway.">>
<<eli "i will.">>
I turns toward the door.
<<eli "i’ll head. didn’t mean to just… show up.">>
<<kira "you’re allowed to show up. just don’t drip everywhere next time.">>
<<eli "no promises. later.">>
[[Leave|neighbourhood]]Rain streaks down the hallway window as I stands outside Kira’s door, hoodie damp and clinging. She opens it with a slight squint, one earbud still in.
<<kira "welcome. you’re back on your soaked arc, i see.">>
<<eli "yeah… regression.">>
I step inside, water faintly dotting the floor. The apartment smells like mint and warm electronics.
<<kira "you always show up mid-weather event.">>
<<eli "it times itself.">>
<<kira "sure it does.">>
She pulls the earbud out, tossing it onto the desk.
<<kira "you eat today?">>
<<eli "uh… yeah. kinda.">>
<<kira "that’s not convincing.">>
I forgets basic stuff when I'm in it…
<<eli "i had something. i think.">>
<<kira "amazing. thriving.">>
A small pause.
<<eli "stream was… okay.">>
<<kira "define okay.">>
<<eli "not worse.">>
She nods.
<<kira "we take neutral.">>
I shifts toward the door.
<<eli "i’ll head before i leave puddles again.">>
<<kira "good plan. go dry off. later.">>
<<eli "later.">>
[[Leave|neighbourhood]]The rain is softer tonight, more of a steady whisper. I knocks once before Kira opens, already holding a blanket.
<<kira "welcome. you look cold.">>
<<eli "a little.">>
She hands him the blanket without ceremony.
<<kira "temporary fix.">>
<<eli "thanks.">>
I wraps it loosely around my shoulders. The room smells like chamomile tea. warm… quiet… different from mine.
<<eli "you always this prepared?">>
<<kira "only when it’s obvious.">>
She sits cross-legged on her chair.
<<kira "stream today?">>
<<eli "yeah. tried talking more.">>
<<kira "and?">>
<<eli "felt weird. but chat responded a bit.">>
Kira nods.
<<kira "lean into that. even if it’s awkward.">>
<<eli "yeah…">>
I adjusts the blanket slightly.
<<eli "i’ll head. before i get too comfortable.">>
<<kira "give that back first.">>
<<eli "right.">>
I hands it over.
<<eli "later.">>
<<kira "later, eli.">>
[[Leave|neighbourhood]]Rain taps lightly as I arrives, hoodie damp at the edges. Kira opens the door while typing on her keyboard, barely glancing up at first.
<<kira "welcome. close the door, you’re letting the cold in.">>
<<eli "yes, boss.">>
I step inside, shutting it behind him. The room smells like something sweet maybe candles.
<<eli "new setup tweak?">>
<<kira "yeah. lighting adjustment.">>
<<eli "looks better.">>
She nods, still focused.
<<kira "it’s all incremental.">>
<<eli "seems to be the theme.">>
I'm starting to get it… slowly. She finally looks at him.
<<kira "you try anything new today?">>
<<eli "changed my intro.">>
<<kira "how’d it feel?">>
<<eli "less robotic… i think.">>
Kira gives a small approving nod.
<<kira "good. that matters more than you think.">>
A beat.
<<eli "i’ll head. don’t wanna distract you.">>
<<kira "you’re fine, but yeah i’m mid-setup. later.">>
<<eli "bye.">>
[[Leave|neighbourhood]]Thunder rolls faintly as I shows up again, damp and slightly out of breath. Kira opens the door with a raised brow.
<<kira "welcome. you ran here?">>
<<eli "kinda. didn’t want to get more soaked.">>
<<kira "mission failed.">>
I step inside, catching my breath. The apartment smells like coffee and something toasted again.
<<eli "you always have coffee?">>
<<kira "always. survival tool.">>
She hands him a cup without asking.
<<kira "careful.">>
<<eli "thanks.">>
I takes a sip, exhaling slowly. okay… that helps.
<<kira "you look less… stuck today.">>
<<eli "yeah. maybe.">>
<<kira "something change?">>
<<eli "not really. just… kept going.">>
She nods.
<<kira "that’s usually it.">>
A small pause.
<<eli "i’ll go. before i cool off too much.">>
<<kira "yeah, don’t freeze. later.">>
<<eli "later.">>
[[Leave|neighbourhood]]Rain is barely there now, just a soft drizzle. Eli’s only slightly damp when Kira opens the door, arms folded.
<<kira "welcome. wow you’re basically dry. impressive.">>
<<eli "finally adapted.">>
I step in, more relaxed than usual. The room smells like lavender again, faint and calm.
<<eli "your place always feels… steady.">>
<<kira "that’s intentional.">>
<<eli "yeah… i can tell.">>
She watches him for a second.
<<kira "you seem different today.">>
<<eli "i hit like… 20 viewers for a bit.">>
<<kira "hey that’s real progress.">>
there it is… small, but real.
<<eli "it dropped again but… still.">>
<<kira "doesn’t matter. it happened.">>
I nods, a faint shift in my posture.
<<eli "yeah.">>
A quiet moment passes.
<<eli "i’ll head. don’t wanna overstay.">>
<<kira "you’re fine, but go ride that momentum.">>
<<eli "i will. later.">>
[[Leave|neighbourhood]]Rain falls in a soft, steady curtain outside as I reaches Kira’s door, hoodie damp but not soaked. When she opens it, she pauses for half a second longer than usual, eyes scanning him.
<<kira "…wow. you’re actually not drenched. welcome.">>
<<eli "i’m improving. slowly.">>
I step in. The apartment smells like vanilla and fresh coffee, warm and grounding. Kira lingers near the door a moment, arms loosely crossed, a faint smile tugging at her lips. I looks… different today. lighter. it suits him.
<<kira "you look less miserable. should i be concerned?">>
<<eli "maybe it’s a phase.">>
<<kira "shame. i was starting to like it.">>
I lets out a quiet huff of a laugh, setting my bag down.
<<eli "harsh.">>
<<kira "honest.">>
She moves back toward her desk but slower than usual, glancing at him again.
<<kira "how’d stream go?">>
<<eli "hit twenty again… for a bit.">>
<<kira "again? okay, that’s not luck anymore.">>
I doesn’t even realize how big that is to him yet.
<<eli "it didn’t stick though.">>
<<kira "it doesn’t have to yet. it’s movement.">>
A quiet settles but not awkward. Just… full. Kira leans against the edge of her desk, tilting her head.
<<kira "come here for a second.">>
<<eli "what?">>
<<kira "just come here.">>
I hesitates, then steps closer. She reaches up, brushing a damp strand of hair off my forehead with surprising gentleness.
<<kira "you always show up looking like this.">>
I freezes slightly. what is this…
<<eli "like what?">>
<<kira "like you ran through a storm to get here.">>
Her hand lingers a second too long before dropping. A beat.
<<eli "i… should go.">>
<<kira "yeah. before i start charging you for floor damage.">>
I nods, stepping back.
<<eli "later.">>
<<kira "later, eli.">>
[[Leave|neighbourhood]]The rain is heavier tonight. I knocks, and Kira opens quickly, already holding a towel.
<<kira "welcome. yeah, no this is bad. get in.">>
<<eli "i tried.">>
She pulls him inside by the sleeve without thinking. The apartment smells like lavender and tea.
<<kira "you’re freezing.">>
<<eli "i’m fine.">>
<<kira "you’re not fine.">>
She presses the towel into my hands, then without asking grabs my wrist briefly, tugging him toward the couch.
<<kira "sit.">>
I does, a little stunned. since when is she this… close? Kira disappears for a second, then comes back with a blanket, draping it over my shoulders.
<<kira "there. slightly less tragic.">>
<<eli "thanks…">>
She doesn’t move away immediately just stands there, looking down at him, expression softer than usual.
<<kira "you always come here when it rains.">>
<<eli "i didn’t notice that.">>
<<kira "i did.">>
A small silence. She sits beside him this time, closer than usual shoulders nearly touching.
<<kira "stream?">>
<<eli "good… actually.">>
<<kira "see?">>
Her shoulder brushes my lightly. Neither moves away. okay… this is new.
<<eli "yeah… it felt different.">>
<<kira "you felt different.">>
I glances at her.
<<eli "what does that mean?">>
<<kira "it means you weren’t trying so hard to be someone else.">>
A beat. Her hand briefly adjusts the blanket on my shoulder fingers grazing my neck for a second longer than necessary.
<<kira "you should head before you fall asleep here.">>
<<eli "…yeah. probably.">>
I stands slowly.
<<eli "later.">>
<<kira "later, eli.">>
[[Leave|neighbourhood]]Light rain taps against the windows. I is only slightly damp when Kira opens the door but this time, she smiles immediately.
<<kira "welcome. look at you almost functional.">>
<<eli "don’t push it.">>
I step in. The room smells like something sweet candles, maybe. Kira closes the door behind him, closer than usual.
<<kira "you’ve been coming by a lot.">>
<<eli "is that… bad?">>
<<kira "no. just noticeable.">>
and i don’t mind. that’s the weird part. They move toward the couch this time instead of the desk.
<<kira "sit. you’re less likely to drip everywhere now.">>
<<eli "high praise.">>
They sit closer than before.
<<kira "how was today?">>
<<eli "good. chat was… active. like actually talking.">>
<<kira "told you. energy matters.">>
She leans back slightly, turning her head toward him.
<<kira "you smile more when you talk about it now.">>
<<eli "do i?">>
<<kira "yeah. it’s… nice.">>
I looks away, a little embarrassed. why does that hit harder than it should… A quiet moment passes. Then, Kira nudges him lightly with her shoulder.
<<kira "relax. you look like you’re about to glitch.">>
<<eli "i might be.">>
She laughs softly. Then, without overthinking it, she leans in and presses a quick, light kiss to my cheek. It’s brief almost casual but deliberate. I freezes.
<<eli "…">>
Kira leans back like nothing happened.
<<kira "there. positive reinforcement.">>
A beat.
<<eli "that’s… new.">>
<<kira "get used to it.">>
Silence lingers, charged but not overwhelming.
<<eli "i should go.">>
<<kira "yeah… before i make it weirder.">>
I stands, still processing.
<<eli "later.">>
<<kira "later, eli.">>
[[Leave|neighbourhood]]Rain again lighter this time. I arrives, slightly damp, and Kira opens the door already smiling.
<<kira "welcome back. starting to think you like the rain.">>
<<eli "maybe i just like your place.">>
The words slip out before I can stop them. A small pause. Kira’s smile shifts subtle, but warmer.
<<kira "…good answer.">>
I step in. The room smells like coffee and something floral. They don’t bother with small talk this time just drift toward the couch.
<<kira "you hit twenty again?">>
<<eli "yeah. and held it longer.">>
<<kira "see? that’s growth.">>
She sits close closer than before. Their knees brush. I'm not pulling away anymore…
<<eli "it actually felt… good. like i wasn’t forcing it.">>
<<kira "because you weren’t.">>
She turns slightly toward him.
<<kira "you’re better when you’re just… you.">>
I meets her gaze for a second, then looks down.
<<eli "still figuring that out.">>
Kira reaches out, lightly catching my hand fingers warm against my. I doesn’t pull away. A quiet moment stretches. Then she leans in again this time slower, giving him time to react and presses a soft kiss to my lips. Short. Gentle. Testing. When she pulls back, her voice is quieter.
<<kira "that okay?">>
<<eli "…yeah.">>
yeah… more than okay. They sit there for a second longer. Then I exhales.
<<eli "i should go before i stop thinking entirely.">>
<<kira "probably smart.">>
She lets go of my hand reluctantly.
<<kira "later, eli.">>
<<eli "later.">>
[[Leave|neighbourhood]]Rain hums softly outside, almost background noise now. I arrives barely damp, and Kira opens the door immediately, like she was expecting him.
<<kira "welcome. you’re basically dry. i’m proud.">>
<<eli "i’ve adapted.">>
I step in. The apartment smells like lavender and warm light. This time, there’s no hesitation they move naturally toward the couch.
<<kira "you streamed already?">>
<<eli "yeah. best one so far.">>
<<kira "numbers?">>
<<eli "peaked at twenty-five.">>
Kira’s eyes light up.
<<kira "that’s big, eli.">>
<<eli "it felt big.">>
She shifts closer, clearly excited.
<<kira "see? i told you.">>
Without thinking, she leans into him slightly shoulder against my, head brushing my upper arm. I doesn’t move away. I stayed…
<<eli "yeah… you were right.">>
<<kira "i usually am.">>
I laughs quietly. A comfortable silence settles closer now, warmer. Kira tilts her head up toward him.
<<kira "you’re different lately.">>
<<eli "better or worse?">>
<<kira "better. easier to be around.">>
She shifts, curling slightly into my side casual, but intentional. I hesitates… then relaxes into it. Her hand lightly grips my sleeve.
<<kira "don’t disappear on me when things start working.">>
<<eli "i won’t.">>
…i don’t want to. She looks up at him again then leans in, kissing him softly, longer this time. Not rushed. Not testing. Just… certain. When she pulls back, she stays close.
<<kira "good.">>
A quiet beat. Then I slowly pulls back, standing.
<<eli "i should go… before i forget i have a life outside this room.">>
<<kira "barely. but yeah.">>
She smiles faintly.
<<kira "later, eli.">>
<<eli "later, kira.">>
[[Leave|neighbourhood]]Rain clings lightly to Eli’s hoodie as I arrives, barely damp now. Kira opens the door almost immediately, like she’s been listening for him.
<<kira "welcome. you’re early.">>
<<eli "yeah… didn’t feel like staying home.">>
I step in. The apartment smells like soft lavender and warm tea, the lighting dimmer than usual cozier. Kira closes the door behind him, a little closer than necessary.
<<kira "good. i was getting bored.">>
<<eli "i exist to entertain, apparently.">>
<<kira "you’re getting better at it.">>
and not just on stream. They drift toward the couch without thinking.
<<kira "how’d it go today?">>
<<eli "held twenty for like… half an hour.">>
<<kira "that’s huge.">>
She turns toward him, fully now, knees brushing my.
<<kira "you realize that, right?">>
<<eli "i’m trying to.">>
A quiet settles. Kira studies my face longer than usual.
<<kira "you look different when you’re not doubting everything.">>
<<eli "i still am. just… less loud about it.">>
She smiles faintly.
<<kira "i like this version better.">>
Her hand finds my sleeve again, fingers curling lightly. I doesn’t pull away. Instead, I shifts closer. Their shoulders press together then stay there. I'm choosing this now. Kira leans her head gently against my shoulder, exhaling softly.
<<kira "you’re warm.">>
<<eli "you’re cold.">>
<<kira "rude.">>
I lets out a quiet laugh. A moment passes comfortable, grounded. Then she tilts her head up, brushing a slow, soft kiss against my jaw this time, lingering just a second longer. I inhales slightly.
<<eli "…okay.">>
<<kira "still okay?">>
<<eli "yeah.">>
She smiles against my shoulder. After a while, I shifts, reluctantly pulling back.
<<eli "i should go.">>
<<kira "you always do that right when it gets good.">>
<<eli "timing’s my thing.">>
She rolls her eyes, but her hand lingers on my sleeve.
<<kira "later, eli.">>
<<eli "later.">>
[[Leave|neighbourhood]]Rain hums softly outside. I arrives almost dry, and Kira opens the door with a small, knowing smile.
<<kira "welcome. look at you functional human.">>
<<eli "don’t jinx it.">>
I step in. The room smells like coffee and something faintly sweet. Kira closes the door, then leans back against it for a second, watching him. I'm not hesitating anymore… interesting.
<<kira "you’ve been coming here a lot.">>
<<eli "yeah… is that a problem?">>
<<kira "no. just… noticeable.">>
She pushes off the door and walks past him close enough that her shoulder brushes my. They settle onto the couch again.
<<kira "stream?">>
<<eli "good. hit twenty-five again.">>
<<kira "consistent now. that’s what matters.">>
She turns toward him, closer than before no gap now.
<<kira "you’re building something.">>
<<eli "slowly.">>
<<kira "slow is fine.">>
A quiet moment stretches. Her hand slides over my, fingers threading lightly this time more deliberate. I looks at their hands… then at her. She doesn’t look away. if I pulls back, i stop… if I doesn’t, I doesn’t. Instead, my grip tightens slightly. Kira’s expression softens.
<<kira "okay…">>
She leans in again this time the kiss is softer but longer, her other hand coming up briefly to rest against my shoulder. Not rushed. Not uncertain anymore. When she pulls back, she stays close foreheads nearly touching.
<<eli "this is… becoming a thing.">>
<<kira "yeah. it is.">>
A small, quiet smile from her.
<<kira "you okay with that?">>
<<eli "…yeah.">>
I exhales.
<<eli "i should go before i forget how to function.">>
<<kira "you barely function anyway.">>
<<eli "fair.">>
They separate slowly.
<<kira "later, eli.">>
<<eli "later.">>
[[Leave|neighbourhood]]Rain taps lightly, almost background noise now. I arrives dry enough that Kira raises an eyebrow when she opens the door.
<<kira "welcome. no rain damage? i’m disappointed.">>
<<eli "i’ve evolved past that.">>
I step in. The apartment smells like lavender again, soft and calming. Kira doesn’t move away this time she just reaches out, tugging lightly at my sleeve as I passes.
<<kira "come here.">>
I stops. Turns. She steps closer no hesitation and wraps her arms loosely around him. A quiet, casual hug… but it lingers. I stiffens for half a second… then relaxes into it. oh… this is new.
<<eli "…hi.">>
<<kira "hi.">>
She exhales softly against my shoulder.
<<kira "you feel less… tense lately.">>
<<eli "i think i am.">>
They stay like that a moment longer before separating though not fully. They move to the couch, closer than ever now.
<<kira "stream?">>
<<eli "good. chat was actually… fun.">>
<<kira "see?">>
She curls slightly toward him again, knee pressed against my.
<<kira "you’re starting to enjoy it.">>
<<eli "yeah… i think so.">>
Her fingers trace lightly along my sleeve, absent-minded. I'm not pulling away… good.
<<kira "i like seeing that.">>
She leans in again kissing him softly, then again, a little slower this time. Not just a moment something that lingers, builds slightly. I responds this time, leaning into it instead of freezing. When they pull back, both quieter.
<<eli "…okay.">>
<<kira "still okay?">>
<<eli "yeah. more than okay.">>
A small smile from her.
<<eli "i should go. before i just stay here.">>
<<kira "tempting. but yeah.">>
She lets him stand, but her hand trails off my sleeve slowly.
<<kira "later, eli.">>
<<eli "later.">>
[[Leave|neighbourhood]]The rain is barely there now just a soft drizzle. I arrives dry, and Kira opens the door already smiling like she expected him.
<<kira "welcome. look at you completely dry. i don’t recognize you.">>
<<eli "new era.">>
I step in. The apartment smells warm coffee, lavender, something faintly sweet. This time, there’s no pause. Kira steps forward immediately, sliding her arms around him again easier now, familiar. I returns it without hesitation. yeah… this feels normal now.
<<eli "hi.">>
<<kira "hi.">>
They separate just enough to look at each other.
<<kira "you did well today.">>
<<eli "how do you know?">>
<<kira "i checked.">>
I blinks.
<<eli "you watched?">>
<<kira "a little. don’t make it a thing.">>
of course i watched. They move to the couch, sitting close hips touching now.
<<kira "you were… different. more confident.">>
<<eli "felt different.">>
She turns toward him fully.
<<kira "it shows.">>
Her hand lifts, brushing lightly along my jaw this time. No hesitation. She leans in kissing him again, deeper than before, slower, more certain. I leans into it, hand resting lightly against her side without thinking. When they pull apart, neither moves far.
<<eli "…this is definitely a thing.">>
<<kira "yeah. no take-backs now.">>
A soft laugh escapes him.
<<eli "not planning to.">>
A quiet settles comfortable, full. Then, reluctantly, I shifts.
<<eli "i should go… keep momentum going.">>
<<kira "yeah. don’t disappear.">>
<<eli "i won’t.">>
She gives him one last quick kiss short, almost teasing.
<<kira "good. later, eli.">>
<<eli "later, kira.">>
[[Leave|neighbourhood]]A soft drizzle lingers outside, barely enough to matter anymore. I arrives dry, and when Kira opens the door, she doesn’t even comment on it this time just steps aside, already smiling.
<<kira "welcome. you’re getting predictable.">>
<<eli "i’ll try to be more chaotic.">>
<<kira "please don’t.">>
I step in. The apartment smells like coffee and vanilla, low music humming faintly in the background. Kira closes the door, then immediately reaches for him fingers catching my sleeve, pulling him closer without hesitation.
<<kira "come here.">>
I does. Her arms slide around him, natural now, practiced. I returns it easily, one hand settling lightly at her back. yeah… this is normal now.
<<eli "hi.">>
<<kira "hi.">>
She tilts her head slightly, brushing a soft kiss against my lips quick, but familiar. They separate just enough to breathe.
<<kira "you streamed already?">>
<<eli "yeah. hit thirty for a bit.">>
Her eyes light up instantly.
<<kira "thirty? eli ">>
<<eli "it dropped but… still.">>
She grins, genuinely excited.
<<kira "that’s not small. that’s real.">>
I'm climbing… and I still doesn’t see how far I'm come. They move to the couch, close as always.
<<kira "how’d it feel?">>
<<eli "less stressful. like… i wasn’t chasing it.">>
<<kira "good. because that’s when it grows.">>
Her hand rests on my arm, thumb brushing lightly back and forth.
<<kira "i’m proud of you.">>
I pauses at that. …no one says that.
<<eli "thanks.">>
A quiet moment. She leans in again, kissing him slower this time lingering, intentional. When she pulls back, she stays close.
<<eli "i should go… keep it going.">>
<<kira "yeah. don’t lose momentum.">>
She squeezes my arm once.
<<kira "later, eli.">>
<<eli "later.">>
[[Leave|neighbourhood]]Rain taps softly as I arrives, hoodie dry again. Kira opens the door already mid-smile.
<<kira "welcome. you’re early again.">>
<<eli "yeah… wanted to come by before streaming.">>
She steps aside, letting him in. The apartment smells like lavender and fresh tea.
<<kira "pre-stream ritual now?">>
<<eli "maybe.">>
She watches him for a second. I comes here before going live… that’s new.
<<kira "i don’t hate that.">>
They move toward the couch.
<<kira "nervous?">>
<<eli "a little. numbers have been… better.">>
<<kira "good. that means you care.">>
She shifts closer, knee brushing my.
<<kira "just don’t let it mess with your head.">>
<<eli "trying not to.">>
Her hand slides into my again, fingers interlacing naturally now.
<<kira "you’ll be fine.">>
She leans in, kissing him softly short, grounding.
<<kira "there. confidence buff.">>
<<eli "that’s helpful, actually.">>
She smirks.
<<kira "i know.">>
A quiet moment passes.
<<eli "i should go start.">>
<<kira "yeah. go. i might lurk.">>
<<eli "don’t tell me that.">>
<<kira "too late.">>
I stands.
<<eli "later.">>
<<kira "later, eli.">>
[[Leave|neighbourhood]]Rain hums softly. I arrives just after streaming, energy still lingering in my posture. Kira opens the door and immediately notices.
<<kira "welcome… okay, yeah you had a good stream.">>
<<eli "is it that obvious?">>
<<kira "you’re not slouching.">>
I laughs quietly, stepping in. The room smells like coffee and something sweet again.
<<eli "hit thirty-five.">>
<<kira "okay yeah, that’s real growth.">>
She steps closer, hands landing lightly on my arms.
<<kira "how’d it feel?">>
<<eli "good. like… i was actually in it.">>
I'm finally enjoying it. She smiles, softer than usual.
<<kira "i like this version of you.">>
Her thumbs brush lightly along my sleeves. Then she leans in kissing him deeper this time, more energy behind it, matching my mood. I responds immediately, more confident now, hand resting at her waist. When they pull apart, both slightly breathless.
<<eli "…yeah, okay.">>
<<kira "yeah.">>
They drift to the couch, still close.
<<kira "don’t let this get to your head.">>
<<eli "i won’t.">>
<<kira "good. stay like this.">>
A quiet settles.
<<eli "i should go. keep the routine.">>
<<kira "yeah. consistency.">>
She brushes her fingers along my jaw briefly.
<<kira "later, eli.">>
<<eli "later.">>
[[Leave|neighbourhood]]Light rain outside. I arrives mid-evening, not wet at all. Kira opens the door and just looks at him for a second.
<<kira "welcome. you didn’t even try to get wet this time.">>
<<eli "i’m breaking the pattern.">>
<<kira "bold.">>
I step in. The apartment smells calm lavender, soft lighting. This time, she doesn’t wait just steps forward and wraps her arms around him immediately. I hugs her back without hesitation. yeah… this is automatic now.
<<eli "hi.">>
<<kira "hi.">>
They linger a little longer than before. When they separate, she keeps one hand on my arm.
<<kira "how was today?">>
<<eli "steady. didn’t spike, didn’t drop.">>
<<kira "that’s good. stability matters.">>
They move to the couch, settling close.
<<kira "you’re building something real now.">>
<<eli "feels like it.">>
She leans into him slightly, resting her head against my shoulder again.
<<kira "don’t rush it.">>
<<eli "i won’t.">>
A quiet, warm moment. Then she tilts up, kissing him slowly longer, more relaxed than before. I leans into it, hand resting against her side again. When they pull back, she stays close.
<<kira "you’re getting used to this.">>
<<eli "yeah… i am.">>
I exhales softly.
<<eli "i should go.">>
<<kira "you always say that.">>
<<eli "i always mean it.">>
She smiles faintly.
<<kira "later, eli.">>
<<eli "later.">>
[[Leave|neighbourhood]]Rain taps steadily. I arrives just before night, hoodie slightly damp at the edges. Kira opens the door with a soft look.
<<kira "welcome. little bit of rain damage today.">>
<<eli "just a little.">>
I step in. The room smells like tea and something warm. She closes the door, then reaches up, brushing a damp strand of hair from my forehead again like before, but more familiar now.
<<kira "you never fully escape it.">>
<<eli "keeps me consistent.">>
She smiles slightly. They move inside, but she doesn’t let go immediately her hand trailing down to my wrist.
<<kira "stream?">>
<<eli "good. consistent again.">>
<<kira "i watched a bit.">>
I glances at her.
<<eli "you always say not to make it a thing.">>
<<kira "and yet.">>
of course i watch. They sit close.
<<kira "you’re more confident on camera than you are here sometimes.">>
<<eli "that’s… probably true.">>
She leans closer.
<<kira "we’ll fix that.">>
A soft kiss then another, slightly deeper. Her hand rests lightly against my chest now, grounding. I leans into it fully. When they part, she stays close.
<<eli "…yeah, okay.">>
<<kira "yeah.">>
A quiet moment.
<<eli "i should go.">>
<<kira "yeah… you should.">>
She gives him one last quick kiss.
<<kira "later, eli.">>
<<eli "later.">>
[[Leave|neighbourhood]]The rain is almost gone now just a faint drizzle. I arrives dry, and Kira opens the door with an easy, familiar smile.
<<kira "welcome. no rain, no chaos. weird.">>
<<eli "i know. feels off.">>
I step in. The apartment smells like coffee and calm. This time, neither hesitates. They meet in the middle hugging naturally, like it’s routine now. I rests my chin briefly against her head. when did this become… normal?
<<eli "hi.">>
<<kira "hi.">>
They separate just enough.
<<kira "how’d it go?">>
<<eli "forty. peak.">>
She blinks then breaks into a real smile.
<<kira "eli that’s huge.">>
<<eli "yeah… it felt huge.">>
She grabs my hand, pulling him toward the couch.
<<kira "tell me everything.">>
I sits, closer than ever, energy still there.
<<eli "chat was active, people stayed… it felt real.">>
<<kira "because it is.">>
She leans into him again, clearly proud.
<<kira "you did that.">>
A quiet moment. Then she kisses him slow, deep, no hesitation now. I responds immediately, hand steady at her side. When they pull back, she rests her forehead briefly against my.
<<kira "don’t lose this.">>
<<eli "i won’t.">>
I exhales.
<<eli "i should go… keep building.">>
<<kira "yeah. go.">>
She squeezes my hand.
<<kira "later, eli.">>
<<eli "later, kira.">>
[[Leave|neighbourhood]]<<set $locationName to "Marc's Apartment">>
<<set $right_sidebar_mode to 0>>
<<set $locationImage to "images/locations/marc_apartment.jpeg">>
<img src="images/locations/marc_apartment.jpeg" alt="Marc's Apartment" class="location-image">
<<if $day == 1 and $day_step == 5.1>>
<<goto "day_1_6">>
<<else>>
<</if>>
[[Chat with Marc|chat_marc]] | [[← District Map|neighbourhood]]<<set $rand to random(1, 15)>>
<<if $rand is 1>>
<<goto chat_marc_1>>
<<elseif $rand is 2>>
<<goto chat_marc_2>>
<<elseif $rand is 3>>
<<goto chat_marc_3>>
<<elseif $rand is 4>>
<<goto chat_marc_4>>
<<elseif $rand is 5>>
<<goto chat_marc_5>>
<<elseif $rand is 6>>
<<goto chat_marc_6>>
<<elseif $rand is 7>>
<<goto chat_marc_7>>
<<elseif $rand is 8>>
<<goto chat_marc_8>>
<<elseif $rand is 9>>
<<goto chat_marc_9>>
<<elseif $rand is 10>>
<<goto chat_marc_10>>
<<elseif $rand is 11>>
<<goto chat_marc_11>>
<<elseif $rand is 12>>
<<goto chat_marc_12>>
<<elseif $rand is 13>>
<<goto chat_marc_13>>
<<elseif $rand is 14>>
<<goto chat_marc_14>>
<<else>>
<<goto chat_marc_15>>
<</if>>The door creaks open before I even knocks, Marc already there, a half-eaten sandwich in hand. The room smells like toasted bread and cheap cologne.
<<marc "yo, you made it. welcome to the palace.">>
<<eli "palace? this place has one chair.">>
<<marc "it’s a good chair.">>
<<eli "it’s missing fabric.">>
<<marc "adds character. sit down.">>
I steps in, nudging aside a shoe with my foot.
<<eli "you always leave your door unlocked?">>
<<marc "only when i expect losers to show up.">>
<<eli "nice. real warm welcome.">>
<<marc "i said welcome, didn’t i?">>
Marc tosses the sandwich wrapper away.
<<marc "you eat yet?">>
<<eli "define eat.">>
<<marc "ramen doesn’t count.">>
<<eli "then no.">>
Marc shakes his head, amused.
<<marc "man’s running on sodium and regret.">>
<<eli "it’s efficient.">>
We settle in, the TV flickering on.
<<eli "you ever think about upgrading anything in here?">>
<<marc "nah. works fine. like me.">>
<<eli "that explains a lot.">>
A beat of quiet.
<<eli "alright… i’m gonna head before i get too comfortable.">>
<<marc "later, man. don’t steal anything on your way out.">>
<<eli "no promises. see you.">>
[[Leave|neighbourhood]]Rain taps softly against the window as I knocks this time. Marc opens slower, hair slightly damp, hoodie darker at the shoulders.
<<marc "yo. welcome back to the same place.">>
<<eli "wow, you redecorated.">>
<<marc "don’t mock the vision.">>
I steps in, shaking a bit of rain from my sleeves.
<<eli "it smells like wet dog in here.">>
<<marc "i don’t even have a dog.">>
<<eli "exactly. concerning.">>
Marc grabs a towel, tosses it at him.
<<marc "dry off before you mildew.">>
<<eli "too late.">>
We both glance at the TV, already paused on a game.
<<marc "you streaming tonight?">>
<<eli "yeah. probably dead again.">>
<<marc "you say that every time.">>
<<eli "because it’s true every time.">>
Marc shrugs, unconcerned.
<<marc "still better than doing nothing.">>
<<eli "this is nothing. just louder.">>
A quiet beat.
<<marc "you overthink it.">>
<<eli "i don’t think enough, actually. that’s the issue.">>
Rain gets heavier outside.
<<eli "anyway… i should bounce before it floods.">>
<<marc "later. try not to dissolve out there.">>
<<eli "i’ll do my best. good night.">>
[[Leave|neighbourhood]]Marc opens the door mid-yawn, stretching as I walks in. The apartment smells like instant noodles and something faintly burnt.
<<marc "yo… welcome. ignore the smell.">>
<<eli "what did you do?">>
<<marc "experiment. didn’t work.">>
I eyes the kitchen corner.
<<eli "you almost set this place on fire again?">>
<<marc "almost doesn’t count.">>
<<eli "it absolutely counts.">>
Marc drops onto the couch.
<<marc "you look worse than usual.">>
<<eli "thanks.">>
<<marc "no, like… extra tired.">>
<<eli "yeah. stayed up editing clips.">>
Marc raises a brow.
<<marc "you hate editing.">>
<<eli "i hate everything. might as well try.">>
maybe something sticks… anything. Marc tosses him a drink.
<<marc "you’re trying. that’s new.">>
<<eli "don’t get used to it.">>
We sit in silence for a moment.
<<marc "clips might help though.">>
<<eli "yeah. or they disappear like everything else.">>
Marc shrugs.
<<marc "then you make more.">>
I exhales.
<<eli "i’ll see.">>
He stands after a bit.
<<eli "alright… i’m out. before i inhale whatever that smell is.">>
<<marc "later. i’ll perfect it next time.">>
<<eli "please don’t. bye.">>
[[Leave|neighbourhood]]Music hums faintly from inside when Marc opens the door, nodding to the beat.
<<marc "yo, welcome. you hear this track?">>
<<eli "it’s… loud.">>
<<marc "that’s the point.">>
I steps in, glancing at Marc’s phone on the counter.
<<eli "since when are you into music like this?">>
<<marc "since five minutes ago.">>
<<eli "trendsetter.">>
Marc laughs, turning it down slightly.
<<marc "you look like you lost a fight with sleep.">>
<<eli "sleep started it.">>
<<marc "and won. clearly.">>
I drops into the chair.
<<eli "i tried streaming earlier. ended early.">>
<<marc "why?">>
<<eli "just… didn’t feel like talking.">>
Marc leans against the wall.
<<marc "you don’t always have to force it.">>
<<eli "kinda do. that’s the job.">>
if i stop, it’s over. Marc watches him for a second.
<<marc "still… take a day sometimes.">>
<<eli "can’t afford days.">>
A pause.
<<marc "fair.">>
I stands, rubbing my neck.
<<eli "i’m gonna head. get something done maybe.">>
<<marc "later, man. try not to spiral.">>
<<eli "no promises. see you.">>
[[Leave|neighbourhood]]The door swings open fast this time, Marc already mid-laugh at something on his phone.
<<marc "yo! welcome, you gotta see this ">>
<<eli "if it’s another broken phone video, no.">>
<<marc "it’s funny, trust.">>
I walks in anyway, dropping my bag near the wall.
<<eli "your definition of funny is questionable.">>
<<marc "your existence is questionable.">>
<<eli "fair.">>
Marc shoves the phone in his face anyway.
<<marc "look.">>
<<eli "…okay that’s actually kind of good.">>
Marc grins, victorious.
<<marc "i know. i have taste.">>
<<eli "rare moment.">>
We drift toward the TV.
<<marc "you hitting stream later?">>
<<eli "yeah. same as always.">>
<<marc "you ever think about switching it up?">>
<<eli "like what?">>
<<marc "idk. different game. different vibe.">>
I shrugs.
<<eli "doesn’t matter. nobody’s watching either way.">>
unless something changes… Marc nudges him lightly.
<<marc "someone’s watching. i tune in sometimes.">>
<<eli "you leave after five minutes.">>
<<marc "i got attention issues. not your fault.">>
I cracks a small smile.
<<eli "sure.">>
I grab my bag again.
<<eli "alright, i’m out. gotta go pretend to be entertaining.">>
<<marc "you got this. later, man.">>
<<eli "later.">>
[[Leave|neighbourhood]]The door is closed this time. I knocks twice, softer than usual. A shuffle inside, then Marc opens it with a confused squint.
<<marc "you knock now? who are you. welcome, i guess.">>
<<eli "trying something new. growth.">>
<<marc "hate it already.">>
I steps in, the room carrying a faint lemon cleaner smell for once.
<<eli "wait… did you clean?">>
<<marc "don’t make it weird.">>
<<eli "it’s already weird.">>
Marc shrugs it off, grabbing a controller.
<<marc "slow day at work. got bored.">>
<<eli "you got bored and chose cleaning?">>
<<marc "don’t spread that around.">>
I runs a hand along the table, checking for dust.
<<eli "this is suspicious.">>
<<marc "man’s investigating like a detective.">>
he looks less dead today… huh.
<<eli "my place still looks like a crime scene.">>
<<marc "yeah, consistent branding.">>
A pause.
<<eli "maybe i should clean.">>
<<marc "don’t rush into big life changes.">>
I snorts.
<<eli "alright… i’m heading out before i adopt your habits.">>
<<marc "later. don’t clean too much, wouldn’t recognize you.">>
<<eli "yeah. bye.">>
[[Leave|neighbourhood]]Marc opens the door with a headset around his neck, mid-chew, crumbs on his hoodie.
<<marc "yo, welcome. caught me mid-snack.">>
<<eli "you’re always mid-snack.">>
<<marc "it’s a lifestyle.">>
I steps inside, the sharp smell of chips and artificial cheese filling the air.
<<eli "you ever eat real food?">>
<<marc "this is real. it exists.">>
<<eli "barely.">>
Marc tosses him the bag anyway.
<<marc "you want some or you judging from a distance?">>
<<eli "both.">>
We sit.
<<marc "you look like you’ve been staring at a screen for ten hours.">>
<<eli "twelve, actually.">>
<<marc "that’s not better.">>
he’s pushing himself harder lately… weird.
<<eli "i was tweaking stream stuff. overlays, titles…">>
<<marc "any difference?">>
<<eli "no.">>
Marc nods like he expected that.
<<marc "still worth trying.">>
<<eli "yeah… i guess.">>
I stands after a moment.
<<eli "i’m gonna dip. eyes are fried.">>
<<marc "later. blink occasionally, yeah?">>
<<eli "no promises. see you.">>
[[Leave|neighbourhood]]The TV is already blasting when I walks in unannounced, Marc not even turning at first.
<<marc "door’s open, welcome.">>
<<eli "you just let anyone walk in?">>
<<marc "only you. mistake, probably.">>
I closes the door behind him, bass from the game vibrating faintly through the floor.
<<eli "what are you playing?">>
<<marc "something i’m actually good at.">>
<<eli "so not what i play.">>
Marc smirks, eyes still on screen.
<<marc "exactly.">>
I leans against the wall.
<<eli "i tried a new game yesterday.">>
<<marc "and?">>
<<eli "same viewers. less fun.">>
Marc finally glances over.
<<marc "then don’t force it.">>
<<eli "kinda have to experiment.">>
everything feels like throwing darts blind. Marc pauses the game.
<<marc "or you just get better at the one you like.">>
<<eli "that takes time.">>
<<marc "you got time.">>
I exhales.
<<eli "do i?">>
A beat.
<<eli "anyway… i’ll head. didn’t mean to interrupt.">>
<<marc "you didn’t. later, man.">>
<<eli "later.">>
[[Leave|neighbourhood]]Marc opens the door slower this time, phone pressed to his ear.
<<marc " yeah, i’ll fix it tomorrow. hold on yo, welcome, come in.">>
<<eli "busy man.">>
I slips inside quietly, the room smelling like coffee and something burnt. Marc finishes the call quickly.
<<marc "sorry. work stuff.">>
<<eli "you sound important.">>
<<marc "i’m not. they just break things a lot.">>
I sits, watching him.
<<eli "must be nice being needed.">>
<<marc "you’re needed.">>
<<eli "by who?">>
Marc shrugs.
<<marc "me, sometimes.">>
he says stuff like that so casually… I looks away.
<<eli "yeah.">>
A short silence.
<<marc "you good?">>
<<eli "just tired. same as always.">>
Marc nods, not pushing.
<<marc "stay a bit if you want.">>
<<eli "nah… i should go.">>
He stands.
<<eli "later, man.">>
<<marc "later. text me.">>
<<eli "yeah.">>
[[Leave|neighbourhood]]The door opens to loud laughter Marc watching something on his phone, barely holding it together.
<<marc "yo welcome hold on this is killing me ">>
<<eli "you good?">>
Marc waves him in, still laughing.
<<marc "nah, just dumb video. come here.">>
<<eli "if it’s not funny i’m leaving immediately.">>
I watches, arms crossed… then cracks a small laugh.
<<eli "okay… that’s decent.">>
<<marc "i told you.">>
The room smells like soda and something sugary.
<<eli "you ever drink water?">>
<<marc "overrated.">>
<<eli "your organs hate you.">>
Marc shrugs, unbothered.
<<marc "they’ll adapt.">>
We sit for a second.
<<marc "you seem lighter today.">>
<<eli "yeah… maybe.">>
or just pretending better.
<<marc "something happen?">>
<<eli "nah. just… normal day.">>
Marc nods.
<<marc "i’ll take that.">>
I grabs my bag again.
<<eli "i’m heading out before i get stuck here.">>
<<marc "later, man.">>
<<eli "later. good night.">>
[[Leave|neighbourhood]]Marc opens the door slower than usual, one eyebrow raised like I showing up was mildly unexpected. The room behind him smells like burnt popcorn and something metallic.
<<marc "yo… welcome. you look like you walked here in slow motion.">>
<<eli "felt like it.">>
<<marc "rough day?">>
<<eli "just… long.">>
I steps inside, dragging my feet slightly across the floor.
<<eli "what’s that smell?">>
<<marc "popcorn. failed attempt.">>
<<eli "how do you fail popcorn?">>
<<marc "talent.">>
Marc nudges a scorched bowl off the counter.
<<marc "you stream today?">>
<<eli "yeah. nothing special.">>
<<marc "same crowd?">>
<<eli "same silence.">>
why do i keep expecting different. Marc leans back against the wall.
<<marc "you still showed up.">>
<<eli "doesn’t feel like it counts.">>
<<marc "it does. you just don’t like the result.">>
I exhales, staring at the floor.
<<eli "maybe.">>
A pause settles.
<<eli "i’m gonna head. before i start overthinking in here too.">>
<<marc "later, man. try not to spiral on the walk back.">>
<<eli "no guarantees. bye.">>
[[Leave|neighbourhood]]The door swings open fast, Marc holding a screwdriver, fingers smudged with grease. The air smells sharp plastic and heat.
<<marc "yo, welcome. don’t touch anything, it might bite.">>
<<eli "comforting.">>
I steps in carefully, eyeing the half-open device on the table.
<<eli "what are you fixing now?">>
<<marc "someone’s phone. they dropped it in water.">>
<<eli "and you agreed to fix that?">>
<<marc "i like challenges.">>
Marc gestures vaguely.
<<marc "sit somewhere safe.">>
<<eli "define safe.">>
<<marc "not near me.">>
I sits anyway.
<<eli "you ever mess one up?">>
<<marc "all the time. they just don’t come back.">>
<<eli "that’s… not reassuring.">>
Marc smirks.
<<marc "it works out.">>
he always acts like nothing matters… must be nice.
<<eli "i wish my stuff was fixable like that.">>
<<marc "it is. just takes longer.">>
I shakes my head slightly.
<<eli "yeah… maybe.">>
He stands after a moment.
<<eli "i’ll let you get back to breaking things.">>
<<marc "later. try not to break yourself on the way home.">>
<<eli "i’ll try. see you.">>
[[Leave|neighbourhood]]Marc opens the door with music faintly playing behind him, something low and rhythmic. The room smells like takeout spices and grease lingering in the air.
<<marc "yo, welcome. you just missed food.">>
<<eli "of course i did.">>
<<marc "timing’s a skill.">>
I steps in, glancing at the empty containers.
<<eli "you didn’t save anything?">>
<<marc "i considered it. briefly.">>
<<eli "wow. generous.">>
Marc tosses a bottle of soda my way.
<<marc "liquid dinner.">>
<<eli "perfect.">>
We settle in.
<<marc "you look distracted.">>
<<eli "just thinking.">>
<<marc "dangerous.">>
<<eli "yeah.">>
can’t turn it off lately. Marc leans forward slightly.
<<marc "about what?">>
<<eli "stuff. stream. life. same loop.">>
Marc nods slowly.
<<marc "you’ll break out of it eventually.">>
<<eli "feels like i’m stuck.">>
<<marc "you’re not. just… paused.">>
I lets out a quiet breath.
<<eli "hope you’re right.">>
He stands.
<<eli "i’m gonna go. before i overstay.">>
<<marc "later, man.">>
<<eli "later.">>
[[Leave|neighbourhood]]The door opens to near silence this time no TV, no music. Just the faint hum of electronics and a clean, neutral smell.
<<marc "yo. welcome.">>
<<eli "why is it so quiet?">>
<<marc "felt like it.">>
I steps in cautiously, like the silence might break.
<<eli "this is unsettling.">>
<<marc "you need noise all the time?">>
<<eli "kinda.">>
Marc shrugs, sitting down.
<<marc "try it. it’s not bad.">>
<<eli "it’s loud in my head.">>
Marc glances at him briefly.
<<marc "yeah… fair.">>
he’s thinking too much again. I leans against the wall.
<<eli "stream chat fills the silence, at least.">>
<<marc "even when it’s dead?">>
<<eli "especially then.">>
A beat passes.
<<marc "you don’t have to fill every gap.">>
<<eli "feels like i do.">>
Marc doesn’t argue.
<<marc "sit for a minute anyway.">>
We sit in quiet. After a while
<<eli "i’m gonna head.">>
<<marc "later.">>
<<eli "later.">>
[[Leave|neighbourhood]]Marc opens the door mid-stretch, cracking his neck slightly. The room smells like laundry detergent for once fresh, almost unfamiliar.
<<marc "yo, welcome.">>
<<eli "why does it smell… good in here?">>
<<marc "did laundry. don’t make it a thing.">>
I steps in, sniffing the air like I didn’t trust it.
<<eli "this is weird.">>
<<marc "you’re weird.">>
Marc tosses a clean hoodie onto the chair.
<<marc "you should try it sometime.">>
<<eli "don’t start.">>
We both sit.
<<marc "you stream earlier?">>
<<eli "yeah. same outcome.">>
<<marc "consistent, at least.">>
<<eli "consistently bad.">>
Marc nudges him lightly.
<<marc "consistency’s step one.">>
<<eli "what’s step two?">>
<<marc "not quitting.">>
I says it like it’s simple. I stares at the floor.
<<eli "yeah…">>
I stands after a moment.
<<eli "i’ll head out.">>
<<marc "later, man.">>
<<eli "later. good night.">>
[[Leave|neighbourhood]]<<nobr>>
<<set $right_sidebar_mode to 0>>
<<set $locationName to "East Side District">>
<<set $locationImage to "images/locations/neighbourhood.jpeg">>
<style>
.map-outer {
max-width: 100%;
overflow-x: auto;
background: #0b0b14;
border: 1.5px solid #e84393;
border-radius: 12px;
padding: 8px;
box-sizing: border-box;
position: relative;
}
#map-tooltip {
position: absolute;
bottom: 16px;
left: 50%;
transform: translateX(-50%);
background: rgba(10, 10, 15, 0.94);
color: #fd79a8;
font-family: monospace;
font-size: 0.72rem;
font-weight: bold;
letter-spacing: 0.14em;
text-transform: uppercase;
padding: 5px 16px;
border-radius: 999px;
border: 1px solid rgba(232, 67, 147, 0.35);
box-shadow: 0 0 14px rgba(232, 67, 147, 0.2);
pointer-events: none;
white-space: nowrap;
opacity: 0;
transition: opacity 0.15s ease;
z-index: 10;
}
#map-tooltip.visible { opacity: 1; }
/* Blocked SVG buildings */
.ml-blocked { cursor: not-allowed !important; }
.ml-blocked .mb {
filter: brightness(0.25) saturate(0.1) !important;
opacity: 0.5;
}
.ml-blocked:hover .mb {
filter: brightness(0.3) saturate(0.15) !important;
opacity: 0.55;
}
/* Access blocked flash */
#map-blocked-flash {
position: fixed;
top: 50%;
left: 50%;
max-width: min(300px, 88vw);
box-sizing: border-box;
transform: translate(-50%, -50%) scale(0.9);
background: rgba(10, 10, 15, 0.96);
border: 1px solid rgba(239, 68, 68, 0.4);
color: #fca5a5;
font-family: monospace;
font-size: 0.78rem;
font-weight: bold;
letter-spacing: 0.08em;
text-align: center;
word-break: break-word;
padding: 12px 20px;
border-radius: 10px;
pointer-events: none;
opacity: 0;
transition: opacity 0.2s ease, transform 0.2s ease;
z-index: 9999;
box-shadow: 0 0 20px rgba(239, 68, 68, 0.2);
}
#map-blocked-flash.visible {
opacity: 1;
transform: translate(-50%, -50%) scale(1);
}
/* Mobile location list - hidden on desktop */
.map-mobile-legend { display: none; }
@media (max-width: 900px) {
.map-mobile-legend {
display: block;
margin-top: 10px;
}
.mml-title {
font-family: monospace;
font-size: 0.68rem;
letter-spacing: 0.2em;
color: #4a4a6a;
text-align: center;
margin-bottom: 8px;
}
.mml-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 6px;
}
.mml-item {
display: block;
padding: 7px 8px;
border-radius: 7px;
border: 1px solid var(--c);
color: var(--c);
font-family: monospace;
font-size: 0.7rem;
font-weight: bold;
letter-spacing: 0.03em;
cursor: pointer;
text-align: center;
user-select: none;
-webkit-tap-highlight-color: transparent;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
box-sizing: border-box;
opacity: 0.75;
}
.mml-item:active { opacity: 1; }
.mml-blocked {
--c: #3a3a4a !important;
cursor: not-allowed !important;
opacity: 0.3;
}
}
.city-map {
width: 100%;
height: auto;
display: block;
}
.ml {
cursor: pointer;
}
.ml .mb {
transition: opacity 0.15s;
}
.ml:hover .mb {
opacity: 0.75;
}
.ml-hi:hover .mb {
filter: brightness(1.2);
}
.map-header {
font-family: monospace;
text-align: center;
color: #a0305a;
letter-spacing: 0.18em;
font-size: 0.85em;
padding: 6px 0 10px 0;
text-transform: uppercase;
}
</style>
<div class="map-outer">
<div class="map-header">◉ EAST SIDE DISTRICT - INTERACTIVE MAP</div>
<svg class="city-map" viewBox="0 0 800 580" xmlns="http://www.w3.org/2000/svg">
<defs>
<!-- Pink glow filter -->
<filter id="gp" x="-30%" y="-30%" width="160%" height="160%">
<feFlood flood-color="#e84393" flood-opacity="0.55" result="color"/>
<feComposite in="color" in2="SourceGraphic" operator="in" result="shadow"/>
<feGaussianBlur in="shadow" stdDeviation="4" result="blur"/>
<feMerge>
<feMergeNode in="blur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<!-- Blue glow filter -->
<filter id="gb" x="-30%" y="-30%" width="160%" height="160%">
<feFlood flood-color="#60a5fa" flood-opacity="0.55" result="color"/>
<feComposite in="color" in2="SourceGraphic" operator="in" result="shadow"/>
<feGaussianBlur in="shadow" stdDeviation="4" result="blur"/>
<feMerge>
<feMergeNode in="blur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<!-- Amber glow filter -->
<filter id="ga" x="-30%" y="-30%" width="160%" height="160%">
<feFlood flood-color="#f59e0b" flood-opacity="0.55" result="color"/>
<feComposite in="color" in2="SourceGraphic" operator="in" result="shadow"/>
<feGaussianBlur in="shadow" stdDeviation="4" result="blur"/>
<feMerge>
<feMergeNode in="blur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<!-- Teal glow filter -->
<filter id="gt" x="-30%" y="-30%" width="160%" height="160%">
<feFlood flood-color="#2dd4bf" flood-opacity="0.55" result="color"/>
<feComposite in="color" in2="SourceGraphic" operator="in" result="shadow"/>
<feGaussianBlur in="shadow" stdDeviation="4" result="blur"/>
<feMerge>
<feMergeNode in="blur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
<!-- Tree pattern for park -->
<pattern id="trees" x="0" y="0" width="28" height="28" patternUnits="userSpaceOnUse">
<rect width="28" height="28" fill="#0d1f0d"/>
<circle cx="8" cy="8" r="5" fill="#1a3a1a"/>
<circle cx="20" cy="20" r="5" fill="#1a3a1a"/>
<circle cx="20" cy="8" r="3.5" fill="#1e421e"/>
<circle cx="8" cy="20" r="3.5" fill="#1e421e"/>
</pattern>
</defs>
<!-- ============================================================ -->
<!-- BACKGROUND -->
<!-- ============================================================ -->
<rect x="0" y="0" width="800" height="580" fill="#0b0b14"/>
<!-- ============================================================ -->
<!-- RIVER (bottom) -->
<!-- ============================================================ -->
<rect x="0" y="476" width="800" height="104" fill="#09131e"/>
<!-- River shimmer lines -->
<line x1="20" y1="494" x2="200" y2="494" stroke="#0d2030" stroke-width="2"/>
<line x1="60" y1="510" x2="280" y2="510" stroke="#0d2030" stroke-width="2"/>
<line x1="30" y1="526" x2="190" y2="526" stroke="#0d2030" stroke-width="2"/>
<line x1="300" y1="500" x2="500" y2="500" stroke="#0d2030" stroke-width="2"/>
<line x1="350" y1="518" x2="560" y2="518" stroke="#0d2030" stroke-width="2"/>
<line x1="600" y1="492" x2="780" y2="492" stroke="#0d2030" stroke-width="2"/>
<line x1="620" y1="512" x2="790" y2="512" stroke="#0d2030" stroke-width="2"/>
<line x1="580" y1="530" x2="760" y2="530" stroke="#0d2030" stroke-width="2"/>
<!-- River label -->
<text x="400" y="540" font-family="monospace" font-size="13" fill="#1e4a6a" text-anchor="middle" letter-spacing="3" font-weight="bold">CLEARWATER RIVER</text>
<!-- ============================================================ -->
<!-- ROAD GRID -->
<!-- H roads: y=108 h=14 (row 1/2 border), y=228 (row 2/3), y=348 (row 3/4), y=460 (row 4/river) -->
<!-- V roads: x=138 w=14, x=268, x=398, x=518, x=638 -->
<!-- ============================================================ -->
<!-- Horizontal roads -->
<rect x="0" y="108" width="800" height="14" fill="#1a1a2e"/>
<line x1="0" y1="115" x2="800" y2="115" stroke="#2a2a4a" stroke-width="1.5" stroke-dasharray="18,10"/>
<rect x="0" y="228" width="800" height="14" fill="#1a1a2e"/>
<line x1="0" y1="235" x2="800" y2="235" stroke="#2a2a4a" stroke-width="1.5" stroke-dasharray="18,10"/>
<rect x="0" y="348" width="800" height="14" fill="#1a1a2e"/>
<line x1="0" y1="355" x2="800" y2="355" stroke="#2a2a4a" stroke-width="1.5" stroke-dasharray="18,10"/>
<rect x="0" y="460" width="800" height="14" fill="#1a1a2e"/>
<line x1="0" y1="467" x2="800" y2="467" stroke="#2a2a4a" stroke-width="1.5" stroke-dasharray="18,10"/>
<!-- Vertical roads -->
<rect x="138" y="0" width="14" height="476" fill="#1a1a2e"/>
<line x1="145" y1="0" x2="145" y2="476" stroke="#2a2a4a" stroke-width="1.5" stroke-dasharray="18,10"/>
<rect x="268" y="0" width="14" height="476" fill="#1a1a2e"/>
<line x1="275" y1="0" x2="275" y2="476" stroke="#2a2a4a" stroke-width="1.5" stroke-dasharray="18,10"/>
<rect x="398" y="0" width="14" height="476" fill="#1a1a2e"/>
<line x1="405" y1="0" x2="405" y2="476" stroke="#2a2a4a" stroke-width="1.5" stroke-dasharray="18,10"/>
<rect x="518" y="0" width="14" height="476" fill="#1a1a2e"/>
<line x1="525" y1="0" x2="525" y2="476" stroke="#2a2a4a" stroke-width="1.5" stroke-dasharray="18,10"/>
<rect x="638" y="0" width="14" height="476" fill="#1a1a2e"/>
<line x1="645" y1="0" x2="645" y2="476" stroke="#2a2a4a" stroke-width="1.5" stroke-dasharray="18,10"/>
<!-- Street name labels on roads -->
<!-- Horizontal road labels -->
<text x="4" y="120" font-family="monospace" font-size="7" fill="#3a3a60" letter-spacing="1">MAPLE AVE</text>
<text x="4" y="240" font-family="monospace" font-size="7" fill="#3a3a60" letter-spacing="1">CEDAR ST</text>
<text x="4" y="360" font-family="monospace" font-size="7" fill="#3a3a60" letter-spacing="1">ELM BLVD</text>
<text x="4" y="472" font-family="monospace" font-size="7" fill="#3a3a60" letter-spacing="1">RIVER RD</text>
<!-- Vertical road labels (rotated) -->
<text x="145" y="60" font-family="monospace" font-size="7" fill="#3a3a60" text-anchor="middle" transform="rotate(-90 145 60)">1ST ST</text>
<text x="275" y="60" font-family="monospace" font-size="7" fill="#3a3a60" text-anchor="middle" transform="rotate(-90 275 60)">2ND ST</text>
<text x="405" y="60" font-family="monospace" font-size="7" fill="#3a3a60" text-anchor="middle" transform="rotate(-90 405 60)">MAIN ST</text>
<text x="525" y="60" font-family="monospace" font-size="7" fill="#3a3a60" text-anchor="middle" transform="rotate(-90 525 60)">4TH AVE</text>
<text x="645" y="60" font-family="monospace" font-size="7" fill="#3a3a60" text-anchor="middle" transform="rotate(-90 645 60)">PARK DR</text>
<!-- ============================================================ -->
<!-- BRIDGES OVER RIVER -->
<!-- ============================================================ -->
<!-- Bridge at 2nd St (x=268-282) -->
<rect x="264" y="460" width="22" height="120" fill="#1e1e30"/>
<line x1="264" y1="464" x2="264" y2="576" stroke="#2a2a4a" stroke-width="2"/>
<line x1="286" y1="464" x2="286" y2="576" stroke="#2a2a4a" stroke-width="2"/>
<line x1="264" y1="480" x2="286" y2="480" stroke="#2a2a4a" stroke-width="1"/>
<line x1="264" y1="496" x2="286" y2="496" stroke="#2a2a4a" stroke-width="1"/>
<line x1="264" y1="512" x2="286" y2="512" stroke="#2a2a4a" stroke-width="1"/>
<line x1="264" y1="528" x2="286" y2="528" stroke="#2a2a4a" stroke-width="1"/>
<line x1="264" y1="544" x2="286" y2="544" stroke="#2a2a4a" stroke-width="1"/>
<line x1="264" y1="560" x2="286" y2="560" stroke="#2a2a4a" stroke-width="1"/>
<!-- Bridge at Main St (x=398-412) -->
<rect x="394" y="460" width="22" height="120" fill="#1e1e30"/>
<line x1="394" y1="464" x2="394" y2="576" stroke="#2a2a4a" stroke-width="2"/>
<line x1="416" y1="464" x2="416" y2="576" stroke="#2a2a4a" stroke-width="2"/>
<line x1="394" y1="480" x2="416" y2="480" stroke="#2a2a4a" stroke-width="1"/>
<line x1="394" y1="496" x2="416" y2="496" stroke="#2a2a4a" stroke-width="1"/>
<line x1="394" y1="512" x2="416" y2="512" stroke="#2a2a4a" stroke-width="1"/>
<line x1="394" y1="528" x2="416" y2="528" stroke="#2a2a4a" stroke-width="1"/>
<line x1="394" y1="544" x2="416" y2="544" stroke="#2a2a4a" stroke-width="1"/>
<line x1="394" y1="560" x2="416" y2="560" stroke="#2a2a4a" stroke-width="1"/>
<!-- ============================================================ -->
<!-- PARK - Col F (x=652-792, rows 2-4, y=122-474) -->
<!-- ============================================================ -->
<rect x="652" y="8" width="140" height="100" fill="url(#trees)" stroke="#1e3a1e" stroke-width="1"/>
<rect x="652" y="122" width="140" height="106" fill="url(#trees)" stroke="#1e3a1e" stroke-width="1"/>
<rect x="652" y="242" width="140" height="106" fill="url(#trees)" stroke="#1e3a1e" stroke-width="1"/>
<rect x="652" y="362" width="140" height="98" fill="url(#trees)" stroke="#1e3a1e" stroke-width="1"/>
<!-- Park paths -->
<line x1="722" y1="122" x2="722" y2="460" stroke="#1a2e1a" stroke-width="4"/>
<line x1="652" y1="290" x2="792" y2="290" stroke="#1a2e1a" stroke-width="4"/>
<!-- Fountain circle (center of park rows 2-3) -->
<circle cx="722" cy="240" r="16" fill="#0d1f0d" stroke="#2a5a2a" stroke-width="2"/>
<circle cx="722" cy="240" r="9" fill="#0d2020" stroke="#1e4a4a" stroke-width="1.5"/>
<circle cx="722" cy="240" r="3" fill="#1e3a3a"/>
<!-- Benches -->
<rect x="700" y="264" width="10" height="4" fill="#1a3020" stroke="#2a4a2a" stroke-width="1"/>
<rect x="732" y="264" width="10" height="4" fill="#1a3020" stroke="#2a4a2a" stroke-width="1"/>
<rect x="700" y="216" width="10" height="4" fill="#1a3020" stroke="#2a4a2a" stroke-width="1"/>
<rect x="732" y="216" width="10" height="4" fill="#1a3020" stroke="#2a4a2a" stroke-width="1"/>
<!-- Park labels -->
<text x="722" y="178" font-family="monospace" font-size="9" fill="#2a6a2a" text-anchor="middle" letter-spacing="1">EASTSIDE</text>
<text x="722" y="191" font-family="monospace" font-size="9" fill="#2a6a2a" text-anchor="middle" letter-spacing="1">PARK</text>
<!-- Park clickable area -->
<g class="ml ml-hi" onclick="SugarCube.Engine.play('park')">
<rect class="mb" x="652" y="122" width="140" height="338" fill="transparent" stroke="none"/>
</g>
<!-- ============================================================ -->
<!-- ROW 1 BUILDINGS (y=8 to y=100) -->
<!-- ============================================================ -->
<!-- Col A: ELI'S APARTMENT -->
<g class="ml ml-hi" onclick="SugarCube.Engine.play('apartment_map')">
<rect class="mb" x="8" y="8" width="122" height="100" fill="#1e0d1a" stroke="#e84393" stroke-width="1.5" rx="3" filter="url(#gp)"/>
<!-- Windows -->
<rect x="18" y="20" width="14" height="12" fill="#3a1a2a" stroke="#e84393" stroke-width="0.5" rx="1"/>
<rect x="38" y="20" width="14" height="12" fill="#3a1a2a" stroke="#e84393" stroke-width="0.5" rx="1"/>
<rect x="58" y="20" width="14" height="12" fill="#5a1a3a" stroke="#e84393" stroke-width="0.5" rx="1"/>
<rect x="78" y="20" width="14" height="12" fill="#3a1a2a" stroke="#e84393" stroke-width="0.5" rx="1"/>
<rect x="98" y="20" width="14" height="12" fill="#3a1a2a" stroke="#e84393" stroke-width="0.5" rx="1"/>
<rect x="18" y="40" width="14" height="12" fill="#3a1a2a" stroke="#e84393" stroke-width="0.5" rx="1"/>
<rect x="38" y="40" width="14" height="12" fill="#5a1a3a" stroke="#e84393" stroke-width="0.5" rx="1"/>
<rect x="58" y="40" width="14" height="12" fill="#3a1a2a" stroke="#e84393" stroke-width="0.5" rx="1"/>
<rect x="78" y="40" width="14" height="12" fill="#3a1a2a" stroke="#e84393" stroke-width="0.5" rx="1"/>
<rect x="98" y="40" width="14" height="12" fill="#5a1a3a" stroke="#e84393" stroke-width="0.5" rx="1"/>
<rect x="18" y="60" width="14" height="12" fill="#5a1a3a" stroke="#e84393" stroke-width="0.5" rx="1"/>
<rect x="38" y="60" width="14" height="12" fill="#3a1a2a" stroke="#e84393" stroke-width="0.5" rx="1"/>
<rect x="58" y="60" width="14" height="12" fill="#3a1a2a" stroke="#e84393" stroke-width="0.5" rx="1"/>
<rect x="78" y="60" width="14" height="12" fill="#5a1a3a" stroke="#e84393" stroke-width="0.5" rx="1"/>
<rect x="98" y="60" width="14" height="12" fill="#3a1a2a" stroke="#e84393" stroke-width="0.5" rx="1"/>
<text x="69" y="86" font-family="monospace" font-size="7.5" fill="#e84393" text-anchor="middle" font-weight="bold">ELI'S APARTMENT</text>
<text x="69" y="97" font-family="monospace" font-size="6.5" fill="#e84393" text-anchor="middle">★ HOME</text>
</g>
<!-- Col B: COFFEE SHOP -->
<g class="ml ml-hi" onclick="SugarCube.Engine.play('coffee_shop')">
<rect class="mb" x="154" y="8" width="106" height="100" fill="#1a100a" stroke="#a0522d" stroke-width="1.5" rx="3"/>
<rect x="164" y="18" width="12" height="10" fill="#2a1808" stroke="#a0522d" stroke-width="0.5" rx="1"/>
<rect x="182" y="18" width="12" height="10" fill="#2a1808" stroke="#a0522d" stroke-width="0.5" rx="1"/>
<rect x="200" y="18" width="12" height="10" fill="#2a1808" stroke="#a0522d" stroke-width="0.5" rx="1"/>
<rect x="218" y="18" width="12" height="10" fill="#2a1808" stroke="#a0522d" stroke-width="0.5" rx="1"/>
<rect x="164" y="36" width="12" height="10" fill="#3a2010" stroke="#a0522d" stroke-width="0.5" rx="1"/>
<rect x="182" y="36" width="12" height="10" fill="#2a1808" stroke="#a0522d" stroke-width="0.5" rx="1"/>
<rect x="200" y="36" width="12" height="10" fill="#2a1808" stroke="#a0522d" stroke-width="0.5" rx="1"/>
<rect x="218" y="36" width="12" height="10" fill="#3a2010" stroke="#a0522d" stroke-width="0.5" rx="1"/>
<text x="207" y="62" font-family="monospace" font-size="14" fill="#a0522d" text-anchor="middle">☕</text>
<text x="207" y="80" font-family="monospace" font-size="7.5" fill="#a0522d" text-anchor="middle" font-weight="bold">COFFEE SHOP</text>
<text x="207" y="92" font-family="monospace" font-size="6.5" fill="#7a3a1a" text-anchor="middle">OPEN 24H</text>
</g>
<!-- Col C: KIRA'S APARTMENT -->
<g class="ml ml-hi" onclick="SugarCube.Engine.play('kira_apartment')">
<rect class="mb" x="284" y="8" width="106" height="100" fill="#130e1e" stroke="#a855f7" stroke-width="1.5" rx="3" filter="url(#gb)"/>
<!-- Windows -->
<rect x="294" y="20" width="12" height="10" fill="#1e1030" stroke="#a855f7" stroke-width="0.5" rx="1"/>
<rect x="312" y="20" width="12" height="10" fill="#2e1848" stroke="#a855f7" stroke-width="0.5" rx="1"/>
<rect x="330" y="20" width="12" height="10" fill="#1e1030" stroke="#a855f7" stroke-width="0.5" rx="1"/>
<rect x="348" y="20" width="12" height="10" fill="#1e1030" stroke="#a855f7" stroke-width="0.5" rx="1"/>
<rect x="366" y="20" width="12" height="10" fill="#2e1848" stroke="#a855f7" stroke-width="0.5" rx="1"/>
<rect x="294" y="38" width="12" height="10" fill="#2e1848" stroke="#a855f7" stroke-width="0.5" rx="1"/>
<rect x="312" y="38" width="12" height="10" fill="#1e1030" stroke="#a855f7" stroke-width="0.5" rx="1"/>
<rect x="330" y="38" width="12" height="10" fill="#1e1030" stroke="#a855f7" stroke-width="0.5" rx="1"/>
<rect x="348" y="38" width="12" height="10" fill="#2e1848" stroke="#a855f7" stroke-width="0.5" rx="1"/>
<rect x="366" y="38" width="12" height="10" fill="#1e1030" stroke="#a855f7" stroke-width="0.5" rx="1"/>
<rect x="294" y="56" width="12" height="10" fill="#1e1030" stroke="#a855f7" stroke-width="0.5" rx="1"/>
<rect x="312" y="56" width="12" height="10" fill="#2e1848" stroke="#a855f7" stroke-width="0.5" rx="1"/>
<rect x="330" y="56" width="12" height="10" fill="#1e1030" stroke="#a855f7" stroke-width="0.5" rx="1"/>
<rect x="348" y="56" width="12" height="10" fill="#1e1030" stroke="#a855f7" stroke-width="0.5" rx="1"/>
<rect x="366" y="56" width="12" height="10" fill="#2e1848" stroke="#a855f7" stroke-width="0.5" rx="1"/>
<text x="337" y="82" font-family="monospace" font-size="7.5" fill="#a855f7" text-anchor="middle" font-weight="bold">KIRA'S APARTMENT</text>
<text x="337" y="93" font-family="monospace" font-size="6.5" fill="#a855f7" text-anchor="middle">★ KIRA</text>
</g>
<!-- Col D unnamed (x=414 to 510) -->
<rect x="414" y="8" width="50" height="46" fill="#14141e" stroke="#222236" stroke-width="1" rx="2"/>
<rect x="470" y="8" width="40" height="46" fill="#14141e" stroke="#222236" stroke-width="1" rx="2"/>
<rect x="414" y="62" width="96" height="46" fill="#14141e" stroke="#222236" stroke-width="1" rx="2"/>
<!-- Col E unnamed (x=534 to 630) -->
<rect x="534" y="8" width="96" height="46" fill="#14141e" stroke="#222236" stroke-width="1" rx="2"/>
<rect x="534" y="62" width="44" height="46" fill="#14141e" stroke="#222236" stroke-width="1" rx="2"/>
<rect x="584" y="62" width="46" height="46" fill="#14141e" stroke="#222236" stroke-width="1" rx="2"/>
<!-- ============================================================ -->
<!-- ROW 2 BUILDINGS (y=122 to y=214) -->
<!-- ============================================================ -->
<!-- Col A: MARC'S APARTMENT -->
<g class="ml ml-hi" onclick="SugarCube.Engine.play('marc_apartment')">
<rect class="mb" x="8" y="122" width="122" height="92" fill="#0e1320" stroke="#60a5fa" stroke-width="1.5" rx="3" filter="url(#gb)"/>
<!-- Windows -->
<rect x="18" y="132" width="14" height="11" fill="#0e1a2e" stroke="#60a5fa" stroke-width="0.5" rx="1"/>
<rect x="38" y="132" width="14" height="11" fill="#1a2a48" stroke="#60a5fa" stroke-width="0.5" rx="1"/>
<rect x="58" y="132" width="14" height="11" fill="#0e1a2e" stroke="#60a5fa" stroke-width="0.5" rx="1"/>
<rect x="78" y="132" width="14" height="11" fill="#0e1a2e" stroke="#60a5fa" stroke-width="0.5" rx="1"/>
<rect x="98" y="132" width="14" height="11" fill="#1a2a48" stroke="#60a5fa" stroke-width="0.5" rx="1"/>
<rect x="18" y="151" width="14" height="11" fill="#1a2a48" stroke="#60a5fa" stroke-width="0.5" rx="1"/>
<rect x="38" y="151" width="14" height="11" fill="#0e1a2e" stroke="#60a5fa" stroke-width="0.5" rx="1"/>
<rect x="58" y="151" width="14" height="11" fill="#1a2a48" stroke="#60a5fa" stroke-width="0.5" rx="1"/>
<rect x="78" y="151" width="14" height="11" fill="#0e1a2e" stroke="#60a5fa" stroke-width="0.5" rx="1"/>
<rect x="98" y="151" width="14" height="11" fill="#0e1a2e" stroke="#60a5fa" stroke-width="0.5" rx="1"/>
<rect x="18" y="170" width="14" height="11" fill="#0e1a2e" stroke="#60a5fa" stroke-width="0.5" rx="1"/>
<rect x="38" y="170" width="14" height="11" fill="#1a2a48" stroke="#60a5fa" stroke-width="0.5" rx="1"/>
<rect x="58" y="170" width="14" height="11" fill="#0e1a2e" stroke="#60a5fa" stroke-width="0.5" rx="1"/>
<rect x="78" y="170" width="14" height="11" fill="#1a2a48" stroke="#60a5fa" stroke-width="0.5" rx="1"/>
<rect x="98" y="170" width="14" height="11" fill="#0e1a2e" stroke="#60a5fa" stroke-width="0.5" rx="1"/>
<text x="69" y="198" font-family="monospace" font-size="7.5" fill="#60a5fa" text-anchor="middle" font-weight="bold">MARC'S APARTMENT</text>
<text x="69" y="209" font-family="monospace" font-size="6.5" fill="#60a5fa" text-anchor="middle">★ MARC</text>
</g>
<!-- Col B: RESTAURANT -->
<g class="ml ml-hi" onclick="SugarCube.Engine.play('restaurant')">
<rect class="mb" x="154" y="122" width="106" height="92" fill="#1a0f08" stroke="#c2791e" stroke-width="1.5" rx="3"/>
<rect x="164" y="132" width="12" height="10" fill="#2a1808" stroke="#c2791e" stroke-width="0.5" rx="1"/>
<rect x="182" y="132" width="12" height="10" fill="#2a1808" stroke="#c2791e" stroke-width="0.5" rx="1"/>
<rect x="200" y="132" width="12" height="10" fill="#3a2010" stroke="#c2791e" stroke-width="0.5" rx="1"/>
<rect x="218" y="132" width="12" height="10" fill="#2a1808" stroke="#c2791e" stroke-width="0.5" rx="1"/>
<rect x="164" y="150" width="12" height="10" fill="#3a2010" stroke="#c2791e" stroke-width="0.5" rx="1"/>
<rect x="182" y="150" width="12" height="10" fill="#2a1808" stroke="#c2791e" stroke-width="0.5" rx="1"/>
<rect x="200" y="150" width="12" height="10" fill="#2a1808" stroke="#c2791e" stroke-width="0.5" rx="1"/>
<rect x="218" y="150" width="12" height="10" fill="#3a2010" stroke="#c2791e" stroke-width="0.5" rx="1"/>
<text x="207" y="175" font-family="monospace" font-size="9" fill="#c2791e" text-anchor="middle" font-weight="bold">RESTAURANT</text>
<text x="207" y="188" font-family="monospace" font-size="7" fill="#8a4a10" text-anchor="middle">EAST SIDE DINER</text>
<text x="207" y="203" font-family="monospace" font-size="7" fill="#8a4a10" text-anchor="middle">★ OPEN LATE</text>
</g>
<!-- Col C: SALON -->
<g class="ml ml-hi" onclick="SugarCube.Engine.play('salon')">
<rect class="mb" x="284" y="122" width="106" height="92" fill="#180e1e" stroke="#9333ea" stroke-width="1.5" rx="3"/>
<rect x="294" y="132" width="12" height="10" fill="#220e30" stroke="#9333ea" stroke-width="0.5" rx="1"/>
<rect x="312" y="132" width="12" height="10" fill="#220e30" stroke="#9333ea" stroke-width="0.5" rx="1"/>
<rect x="330" y="132" width="12" height="10" fill="#2e1240" stroke="#9333ea" stroke-width="0.5" rx="1"/>
<rect x="348" y="132" width="12" height="10" fill="#220e30" stroke="#9333ea" stroke-width="0.5" rx="1"/>
<rect x="366" y="132" width="12" height="10" fill="#220e30" stroke="#9333ea" stroke-width="0.5" rx="1"/>
<rect x="294" y="150" width="12" height="10" fill="#2e1240" stroke="#9333ea" stroke-width="0.5" rx="1"/>
<rect x="312" y="150" width="12" height="10" fill="#220e30" stroke="#9333ea" stroke-width="0.5" rx="1"/>
<rect x="330" y="150" width="12" height="10" fill="#220e30" stroke="#9333ea" stroke-width="0.5" rx="1"/>
<rect x="348" y="150" width="12" height="10" fill="#2e1240" stroke="#9333ea" stroke-width="0.5" rx="1"/>
<rect x="366" y="150" width="12" height="10" fill="#220e30" stroke="#9333ea" stroke-width="0.5" rx="1"/>
<text x="337" y="174" font-family="monospace" font-size="13" fill="#9333ea" text-anchor="middle">✂</text>
<text x="337" y="192" font-family="monospace" font-size="8" fill="#9333ea" text-anchor="middle" font-weight="bold">SALON</text>
<text x="337" y="204" font-family="monospace" font-size="6.5" fill="#6a22a0" text-anchor="middle">STYLE + BEAUTY</text>
</g>
<!-- Col D: REGENAFORM CLINIC -->
<g class="ml ml-hi" onclick="SugarCube.Engine.play('regenaform')">
<rect class="mb" x="414" y="122" width="96" height="92" fill="#0d1a1a" stroke="#2dd4bf" stroke-width="1.5" rx="3" filter="url(#gt)"/>
<!-- Clinical detail lines -->
<line x1="424" y1="134" x2="500" y2="134" stroke="#1a4a44" stroke-width="1"/>
<line x1="424" y1="138" x2="500" y2="138" stroke="#1a4a44" stroke-width="0.5"/>
<line x1="424" y1="144" x2="490" y2="144" stroke="#1a4a44" stroke-width="1"/>
<!-- Hex logo -->
<polygon points="462,154 470,158 470,166 462,170 454,166 454,158" fill="#0d2a28" stroke="#2dd4bf" stroke-width="1.5"/>
<text x="462" y="166" font-family="monospace" font-size="7" fill="#2dd4bf" text-anchor="middle">⬡</text>
<text x="462" y="182" font-family="monospace" font-size="8.5" fill="#2dd4bf" text-anchor="middle" font-weight="bold">REGENAFORM</text>
<text x="462" y="193" font-family="monospace" font-size="6.5" fill="#1a9a8a" text-anchor="middle">⬡ CLINIC</text>
<text x="462" y="205" font-family="monospace" font-size="6" fill="#137a6a" text-anchor="middle">We unlock you.</text>
</g>
<!-- Col E: GYM (top half) + LAUNDROMAT (bottom half) -->
<g class="ml ml-hi" onclick="SugarCube.Engine.play('gym')">
<rect class="mb" x="534" y="122" width="96" height="44" fill="#0e1a0e" stroke="#22a022" stroke-width="1.5" rx="3"/>
<text x="582" y="140" font-family="monospace" font-size="8" fill="#22a022" text-anchor="middle" font-weight="bold">GYM</text>
<text x="582" y="153" font-family="monospace" font-size="6.5" fill="#166016" text-anchor="middle">IRON DISTRICT</text>
</g>
<g class="ml ml-hi" onclick="SugarCube.Engine.play('laundromat')">
<rect class="mb" x="534" y="170" width="96" height="44" fill="#0e0e1a" stroke="#6060c0" stroke-width="1.5" rx="3"/>
<text x="582" y="188" font-family="monospace" font-size="8" fill="#6060c0" text-anchor="middle" font-weight="bold">LAUNDROMAT</text>
<text x="582" y="201" font-family="monospace" font-size="6.5" fill="#3a3a8a" text-anchor="middle">24H WASH</text>
</g>
<!-- ============================================================ -->
<!-- ROW 3 BUILDINGS (y=242 to y=342) -->
<!-- ============================================================ -->
<!-- Col A left half: PAWN SHOP -->
<g class="ml ml-hi" onclick="SugarCube.Engine.play('pawn_shop')">
<rect class="mb" x="8" y="242" width="56" height="100" fill="#121210" stroke="#3a3830" stroke-width="1.5" rx="3"/>
<rect x="14" y="252" width="10" height="8" fill="#1a1a14" stroke="#3a3830" stroke-width="0.5" rx="1"/>
<rect x="30" y="252" width="10" height="8" fill="#1a1a14" stroke="#3a3830" stroke-width="0.5" rx="1"/>
<rect x="46" y="252" width="10" height="8" fill="#1a1a14" stroke="#3a3830" stroke-width="0.5" rx="1"/>
<text x="36" y="280" font-family="monospace" font-size="7.5" fill="#6a6050" text-anchor="middle" font-weight="bold">PAWN</text>
<text x="36" y="292" font-family="monospace" font-size="7.5" fill="#6a6050" text-anchor="middle">SHOP</text>
<text x="36" y="328" font-family="monospace" font-size="10" fill="#5a5040" text-anchor="middle">$</text>
</g>
<!-- Col A right half: DARK ALLEY -->
<g class="ml ml-hi" onclick="SugarCube.Engine.play('dark_alley')">
<rect class="mb" x="70" y="242" width="60" height="100" fill="#0a0a0e" stroke="#18181e" stroke-width="1.5" rx="3"/>
<text x="100" y="290" font-family="monospace" font-size="7" fill="#2a2a36" text-anchor="middle" font-weight="bold">DARK</text>
<text x="100" y="302" font-family="monospace" font-size="7" fill="#2a2a36" text-anchor="middle">ALLEY</text>
</g>
<!-- Col B+C: EAST SIDE MALL (drawn after roads to cover internal road) -->
<g class="ml ml-hi" onclick="SugarCube.Engine.play('mall')">
<!-- Left wing (Col B) -->
<rect class="mb" x="154" y="242" width="106" height="100" fill="#1a1408" stroke="#d97706" stroke-width="2" rx="3" filter="url(#ga)"/>
<!-- Right wing (Col C) -->
<rect class="mb" x="284" y="242" width="106" height="100" fill="#1a1408" stroke="#d97706" stroke-width="2" rx="3" filter="url(#ga)"/>
<!-- Connector rect over the internal road (Col B/C separator) -->
<rect x="254" y="254" width="36" height="76" fill="#1a1408" stroke="none"/>
<rect x="254" y="242" width="36" height="100" fill="#1a1408" stroke="none"/>
<!-- Mall windows left wing -->
<rect x="164" y="252" width="12" height="10" fill="#2a1e08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<rect x="182" y="252" width="12" height="10" fill="#2a1e08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<rect x="200" y="252" width="12" height="10" fill="#3a2a08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<rect x="218" y="252" width="12" height="10" fill="#2a1e08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<rect x="164" y="270" width="12" height="10" fill="#3a2a08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<rect x="182" y="270" width="12" height="10" fill="#2a1e08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<rect x="200" y="270" width="12" height="10" fill="#2a1e08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<rect x="218" y="270" width="12" height="10" fill="#3a2a08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<!-- Mall windows right wing -->
<rect x="294" y="252" width="12" height="10" fill="#2a1e08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<rect x="312" y="252" width="12" height="10" fill="#3a2a08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<rect x="330" y="252" width="12" height="10" fill="#2a1e08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<rect x="348" y="252" width="12" height="10" fill="#2a1e08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<rect x="366" y="252" width="12" height="10" fill="#3a2a08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<rect x="294" y="270" width="12" height="10" fill="#3a2a08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<rect x="312" y="270" width="12" height="10" fill="#2a1e08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<rect x="330" y="270" width="12" height="10" fill="#2a1e08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<rect x="348" y="270" width="12" height="10" fill="#3a2a08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<rect x="366" y="270" width="12" height="10" fill="#2a1e08" stroke="#d97706" stroke-width="0.5" rx="1"/>
<!-- Mall label centered across both wings -->
<text x="222" y="305" font-family="monospace" font-size="10" fill="#d97706" text-anchor="middle" font-weight="bold">EAST SIDE MALL</text>
<text x="222" y="319" font-family="monospace" font-size="8" fill="#d97706" text-anchor="middle">★</text>
<text x="316" y="305" font-family="monospace" font-size="10" fill="#d97706" text-anchor="middle" font-weight="bold">EAST SIDE MALL</text>
<text x="316" y="319" font-family="monospace" font-size="8" fill="#d97706" text-anchor="middle">★</text>
</g>
<!-- Col D: ADULT STORE -->
<g class="ml ml-hi" onclick="SugarCube.Engine.play('sex_toy_shop')">
<rect class="mb" x="414" y="242" width="96" height="100" fill="#1a0d10" stroke="#9f1239" stroke-width="1.5" rx="3"/>
<rect x="424" y="252" width="12" height="10" fill="#220a12" stroke="#9f1239" stroke-width="0.5" rx="1"/>
<rect x="442" y="252" width="12" height="10" fill="#220a12" stroke="#9f1239" stroke-width="0.5" rx="1"/>
<rect x="460" y="252" width="12" height="10" fill="#2e0e18" stroke="#9f1239" stroke-width="0.5" rx="1"/>
<rect x="478" y="252" width="12" height="10" fill="#220a12" stroke="#9f1239" stroke-width="0.5" rx="1"/>
<rect x="424" y="270" width="12" height="10" fill="#2e0e18" stroke="#9f1239" stroke-width="0.5" rx="1"/>
<rect x="442" y="270" width="12" height="10" fill="#220a12" stroke="#9f1239" stroke-width="0.5" rx="1"/>
<rect x="460" y="270" width="12" height="10" fill="#220a12" stroke="#9f1239" stroke-width="0.5" rx="1"/>
<rect x="478" y="270" width="12" height="10" fill="#2e0e18" stroke="#9f1239" stroke-width="0.5" rx="1"/>
<text x="462" y="300" font-family="monospace" font-size="9" fill="#9f1239" text-anchor="middle" font-weight="bold">♦ ADULT</text>
<text x="462" y="313" font-family="monospace" font-size="9" fill="#9f1239" text-anchor="middle" font-weight="bold">STORE</text>
<text x="462" y="330" font-family="monospace" font-size="6.5" fill="#6a0a20" text-anchor="middle">18+ ONLY</text>
</g>
<!-- Col E: LIQUOR STORE (top) + unnamed (bottom) -->
<g class="ml ml-hi" onclick="SugarCube.Engine.play('liquor_store')">
<rect class="mb" x="534" y="242" width="96" height="48" fill="#10100a" stroke="#6a6a1a" stroke-width="1.5" rx="3"/>
<text x="582" y="262" font-family="monospace" font-size="8" fill="#8a8a20" text-anchor="middle" font-weight="bold">LIQUOR STORE</text>
<text x="582" y="275" font-family="monospace" font-size="6.5" fill="#6a6a1a" text-anchor="middle">SPIRITS & MORE</text>
</g>
<rect x="534" y="294" width="96" height="48" fill="#14141e" stroke="#222236" stroke-width="1" rx="2"/>
<!-- ============================================================ -->
<!-- ROW 4 BUILDINGS (y=362 to y=452) -->
<!-- ============================================================ -->
<!-- Col A: PHARMACY -->
<g class="ml ml-hi" onclick="SugarCube.Engine.play('pharmacy')">
<rect class="mb" x="8" y="362" width="122" height="90" fill="#0e1414" stroke="#2a7a5a" stroke-width="1.5" rx="3"/>
<rect x="18" y="372" width="12" height="10" fill="#0e1a14" stroke="#2a7a5a" stroke-width="0.5" rx="1"/>
<rect x="36" y="372" width="12" height="10" fill="#0e1a14" stroke="#2a7a5a" stroke-width="0.5" rx="1"/>
<rect x="54" y="372" width="12" height="10" fill="#0e1a14" stroke="#2a7a5a" stroke-width="0.5" rx="1"/>
<rect x="72" y="372" width="12" height="10" fill="#0e1a14" stroke="#2a7a5a" stroke-width="0.5" rx="1"/>
<rect x="90" y="372" width="12" height="10" fill="#0e1a14" stroke="#2a7a5a" stroke-width="0.5" rx="1"/>
<rect x="108" y="372" width="12" height="10" fill="#0e1a14" stroke="#2a7a5a" stroke-width="0.5" rx="1"/>
<rect x="18" y="390" width="12" height="10" fill="#0e1a14" stroke="#2a7a5a" stroke-width="0.5" rx="1"/>
<rect x="36" y="390" width="12" height="10" fill="#0e1a14" stroke="#2a7a5a" stroke-width="0.5" rx="1"/>
<rect x="54" y="390" width="12" height="10" fill="#0e1a14" stroke="#2a7a5a" stroke-width="0.5" rx="1"/>
<rect x="72" y="390" width="12" height="10" fill="#0e1a14" stroke="#2a7a5a" stroke-width="0.5" rx="1"/>
<rect x="90" y="390" width="12" height="10" fill="#0e1a14" stroke="#2a7a5a" stroke-width="0.5" rx="1"/>
<rect x="108" y="390" width="12" height="10" fill="#0e1a14" stroke="#2a7a5a" stroke-width="0.5" rx="1"/>
<text x="69" y="420" font-family="monospace" font-size="12" fill="#2a9a6a" text-anchor="middle">✚</text>
<text x="69" y="436" font-family="monospace" font-size="8" fill="#2a7a5a" text-anchor="middle" font-weight="bold">PHARMACY</text>
<text x="69" y="447" font-family="monospace" font-size="6.5" fill="#1a5a3a" text-anchor="middle">RX AVAILABLE</text>
</g>
<!-- Col B: CONVENIENCE STORE (top) + unnamed (bottom) -->
<g class="ml ml-hi" onclick="SugarCube.Engine.play('convenience_store')">
<rect class="mb" x="154" y="362" width="106" height="44" fill="#0e1010" stroke="#3a6a6a" stroke-width="1.5" rx="3"/>
<text x="207" y="381" font-family="monospace" font-size="7.5" fill="#3a8a8a" text-anchor="middle" font-weight="bold">CONVENIENCE</text>
<text x="207" y="394" font-family="monospace" font-size="7.5" fill="#3a8a8a" text-anchor="middle">STORE</text>
</g>
<rect x="154" y="410" width="106" height="42" fill="#14141e" stroke="#222236" stroke-width="1" rx="2"/>
<!-- Col C unnamed -->
<rect x="284" y="362" width="50" height="42" fill="#14141e" stroke="#222236" stroke-width="1" rx="2"/>
<rect x="340" y="362" width="50" height="42" fill="#14141e" stroke="#222236" stroke-width="1" rx="2"/>
<rect x="284" y="410" width="106" height="42" fill="#14141e" stroke="#222236" stroke-width="1" rx="2"/>
<!-- Col D unnamed -->
<rect x="414" y="362" width="44" height="42" fill="#14141e" stroke="#222236" stroke-width="1" rx="2"/>
<rect x="464" y="362" width="46" height="42" fill="#14141e" stroke="#222236" stroke-width="1" rx="2"/>
<rect x="414" y="410" width="96" height="42" fill="#14141e" stroke="#222236" stroke-width="1" rx="2"/>
<!-- Col E unnamed -->
<rect x="534" y="362" width="96" height="42" fill="#14141e" stroke="#222236" stroke-width="1" rx="2"/>
<rect x="534" y="410" width="44" height="42" fill="#14141e" stroke="#222236" stroke-width="1" rx="2"/>
<rect x="584" y="410" width="46" height="42" fill="#14141e" stroke="#222236" stroke-width="1" rx="2"/>
<!-- ============================================================ -->
<!-- LEGEND BOX (bottom-left of SVG) -->
<!-- ============================================================ -->
<rect x="10" y="490" width="170" height="82" fill="#0e0e18" stroke="#2a2a40" stroke-width="1" rx="4"/>
<text x="95" y="505" font-family="monospace" font-size="8" fill="#4a4a70" text-anchor="middle" letter-spacing="2">LEGEND</text>
<!-- Key Location -->
<rect x="18" y="511" width="10" height="10" fill="#1e0d1a" stroke="#e84393" stroke-width="1" rx="1"/>
<text x="34" y="520" font-family="monospace" font-size="7.5" fill="#8a8aaa">Key Location</text>
<!-- Visitable -->
<rect x="18" y="527" width="10" height="10" fill="#0e1320" stroke="#60a5fa" stroke-width="1" rx="1"/>
<text x="34" y="536" font-family="monospace" font-size="7.5" fill="#8a8aaa">Visitable</text>
<!-- Park -->
<rect x="18" y="543" width="10" height="10" fill="#1a3a1a" stroke="#2a6a2a" stroke-width="1" rx="1"/>
<text x="34" y="552" font-family="monospace" font-size="7.5" fill="#8a8aaa">Park</text>
<!-- River -->
<rect x="18" y="559" width="10" height="10" fill="#09131e" stroke="#1e4a6a" stroke-width="1" rx="1"/>
<text x="34" y="568" font-family="monospace" font-size="7.5" fill="#8a8aaa">River</text>
<!-- ============================================================ -->
<!-- COMPASS ROSE (bottom-right of SVG) -->
<!-- ============================================================ -->
<g transform="translate(750, 530)">
<!-- Compass background -->
<circle cx="0" cy="0" r="26" fill="#0e0e18" stroke="#2a2a40" stroke-width="1"/>
<!-- North arrow (pink) -->
<polygon points="0,-20 4,-8 0,-12 -4,-8" fill="#e84393"/>
<!-- South arrow (dim) -->
<polygon points="0,20 4,8 0,12 -4,8" fill="#2a2a40"/>
<!-- East arrow (dim) -->
<polygon points="20,0 8,-4 12,0 8,4" fill="#2a2a40"/>
<!-- West arrow (dim) -->
<polygon points="-20,0 -8,-4 -12,0 -8,4" fill="#2a2a40"/>
<!-- Center dot -->
<circle cx="0" cy="0" r="3" fill="#1a1a2e" stroke="#3a3a5a" stroke-width="1"/>
<!-- Cardinal labels -->
<text x="0" y="-24" font-family="monospace" font-size="8" fill="#e84393" text-anchor="middle" font-weight="bold">N</text>
<text x="0" y="34" font-family="monospace" font-size="8" fill="#4a4a70" text-anchor="middle">S</text>
<text x="30" y="4" font-family="monospace" font-size="8" fill="#4a4a70" text-anchor="middle">E</text>
<text x="-30" y="4" font-family="monospace" font-size="8" fill="#4a4a70" text-anchor="middle">W</text>
</g>
</svg>
<div id="map-tooltip"></div>
</div>
<div id="map-blocked-flash">🔒 ACCESS BLOCKED - Coming Soon</div>
<<script>>
setTimeout(function () {
var LABELS = {
'apartment_map': "Eli's Apartment",
'kira_apartment': "Kira's Apartment",
'marc_apartment': "Marc's Apartment",
'coffee_shop': "Coffee Shop",
'regenaform': "RegenaForm Clinic",
'mall': "East Side Mall",
'restaurant': "Restaurant",
'salon': "Salon",
'gym': "Gym",
'laundromat': "Laundromat",
'pawn_shop': "Pawn Shop",
'dark_alley': "Dark Alley",
'sex_toy_shop': "Adult Store",
'liquor_store': "Liquor Store",
'pharmacy': "Pharmacy",
'convenience_store': "Convenience Store",
'park': "Eastside Park"
};
/* Passages that are fully implemented */
var OPEN = {
'apartment_map': true,
'kira_apartment': true,
'marc_apartment': true,
'coffee_shop': true,
'regenaform': true
};
var svg = document.querySelector('.city-map');
var tooltip = document.getElementById('map-tooltip');
var flash = document.getElementById('map-blocked-flash');
if (!svg || !tooltip) return;
var hideTimer = null;
var flashTimer = null;
function showFlash() {
if (!flash) return;
clearTimeout(flashTimer);
flash.classList.add('visible');
flashTimer = setTimeout(function () { flash.classList.remove('visible'); }, 1800);
}
/* First pass: tag every .ml group with data-loc, then block if needed */
svg.querySelectorAll('.ml').forEach(function (g) {
var match = (g.getAttribute('onclick') || '').match(/play\('([^']+)'\)/);
if (!match) return;
var passage = match[1];
g.setAttribute('data-loc', passage);
if (!OPEN[passage]) {
g.removeAttribute('onclick');
g.classList.add('ml-blocked');
}
});
/* Mark blocked mobile legend items */
document.querySelectorAll('.mml-item').forEach(function (el) {
var match = (el.getAttribute('onclick') || '').match(/play\('([^']+)'\)/);
if (match && !OPEN[match[1]]) {
el.removeAttribute('onclick');
el.classList.add('mml-blocked');
el.addEventListener('click', showFlash);
}
});
/* Hover tooltip - reads data-loc set above */
svg.addEventListener('mouseover', function (e) {
var g = e.target.closest('.ml');
if (!g) return;
var passage = g.getAttribute('data-loc');
if (!passage) return;
clearTimeout(hideTimer);
var label = LABELS[passage] || passage.replace(/_/g, ' ');
if (!OPEN[passage]) label = '🔒 ' + label;
tooltip.textContent = '▶ ' + label;
tooltip.classList.add('visible');
});
svg.addEventListener('mouseout', function (e) {
if (e.relatedTarget && e.relatedTarget.closest && e.relatedTarget.closest('.ml')) return;
hideTimer = setTimeout(function () { tooltip.classList.remove('visible'); }, 150);
});
/* Click on blocked SVG building → flash */
svg.addEventListener('click', function (e) {
if (e.target.closest('.ml-blocked')) showFlash();
});
}, 0);
<</script>>
<div class="map-mobile-legend">
<div class="mml-title">◉ LOCATIONS</div>
<div class="mml-grid">
<span class="mml-item" style="--c:#e84393" onclick="SugarCube.Engine.play('apartment_map')">★ Eli's Apartment</span>
<span class="mml-item" style="--c:#a855f7" onclick="SugarCube.Engine.play('kira_apartment')">★ Kira's Apartment</span>
<span class="mml-item" style="--c:#60a5fa" onclick="SugarCube.Engine.play('marc_apartment')">★ Marc's Apartment</span>
<span class="mml-item" style="--c:#d97706" onclick="SugarCube.Engine.play('mall')">★ East Side Mall</span>
<span class="mml-item" style="--c:#2dd4bf" onclick="SugarCube.Engine.play('regenaform')">✦ RegenaForm Clinic</span>
<span class="mml-item" style="--c:#a0522d" onclick="SugarCube.Engine.play('coffee_shop')">☕ Coffee Shop</span>
<span class="mml-item" style="--c:#c2791e" onclick="SugarCube.Engine.play('restaurant')">🍴 Restaurant</span>
<span class="mml-item" style="--c:#9333ea" onclick="SugarCube.Engine.play('salon')">✂ Salon</span>
<span class="mml-item" style="--c:#22a022" onclick="SugarCube.Engine.play('gym')">◈ Gym</span>
<span class="mml-item" style="--c:#6060c0" onclick="SugarCube.Engine.play('laundromat')">⌀ Laundromat</span>
<span class="mml-item" style="--c:#2a9a6a" onclick="SugarCube.Engine.play('pharmacy')">✚ Pharmacy</span>
<span class="mml-item" style="--c:#3a8a8a" onclick="SugarCube.Engine.play('convenience_store')">◻ Convenience Store</span>
<span class="mml-item" style="--c:#8a8a20" onclick="SugarCube.Engine.play('liquor_store')">◈ Liquor Store</span>
<span class="mml-item" style="--c:#9f1239" onclick="SugarCube.Engine.play('sex_toy_shop')">♦ Adult Store</span>
<span class="mml-item" style="--c:#6a6050" onclick="SugarCube.Engine.play('pawn_shop')">$ Pawn Shop</span>
<span class="mml-item" style="--c:#4a4a5a" onclick="SugarCube.Engine.play('dark_alley')">▲ Dark Alley</span>
<span class="mml-item" style="--c:#2a6a2a" onclick="SugarCube.Engine.play('park')">🌳 Eastside Park</span>
</div>
</div>
<</nobr>><<set $locationName to "East Side Mall">>
<<set $right_sidebar_mode to 0>>
[[← District Map|neighbourhood]]<<set $locationName to "Salon">>
<<set $right_sidebar_mode to 0>>
[[← District Map|neighbourhood]]<<set $locationName to "Restaurant">>
<<set $right_sidebar_mode to 0>>
[[← District Map|neighbourhood]]<<set $locationName to "Adult Store">>
<<set $right_sidebar_mode to 0>>
[[← District Map|neighbourhood]]<<set $locationName to "Eastside Park">>
<<set $right_sidebar_mode to 0>>
[[← District Map|neighbourhood]]<<set $locationName to "Dark Alley">>
<<set $right_sidebar_mode to 0>>
[[← District Map|neighbourhood]]<<set $locationName to "Pawn Shop">>
<<set $right_sidebar_mode to 0>>
[[← District Map|neighbourhood]]<<set $locationName to "Gym">>
<<set $right_sidebar_mode to 0>>
[[← District Map|neighbourhood]]<<set $locationName to "Laundromat">>
<<set $right_sidebar_mode to 0>>
[[← District Map|neighbourhood]]<<set $locationName to "Liquor Store">>
<<set $right_sidebar_mode to 0>>
[[← District Map|neighbourhood]]<<set $locationName to "Convenience Store">>
<<set $right_sidebar_mode to 0>>
[[← District Map|neighbourhood]]<<set $locationName to "Pharmacy">>
<<set $right_sidebar_mode to 0>>
[[← District Map|neighbourhood]]<<set $locationName to "Eli's Apartment - Outside">>
<<set $right_sidebar_mode to 0>>
<<set $locationImage to "images/locations/neighbourhood.jpeg">>
<img src="images/locations/neighbourhood.jpeg" alt="Eli's neighbourhood" style="width:100%; height:auto;">
<<if $day == 4 and $day_step == 12>>
<<goto "day_4_13_kira">>
<<elseif $day == 4 and $day_step == 13>>
<<goto "day_4_14_other">>
<<else>>
<</if>>
[[← Floor Plan|apartment_map]] | [[District Map|neighbourhood]]<<set $locationName to "Regenaform Clinic">>
<<set $right_sidebar_mode to 0>>
<<set $locationImage to "images/locations/regenaform_street_entrance.jpeg">>
<img src="images/locations/regenaform_street_entrance.jpeg" alt="Regenaform Clinic" style="width:100%; height:auto;">
<<if $day == 3 and $day_step == 14>>
<<goto "day_3_15_kira">>
<<elseif $day == 3 and $day_step == 2>>
<<goto "day_3_3_other">>
<<elseif $day == 5 and $day_step == 9>>
<<goto "day_5_10_kira">>
<<elseif $day == 5 and $day_step == 8>>
<<goto "day_5_9_other">>
<<else>>
<<goto "regenaform_map">>
<</if>>
[[← District Map|neighbourhood]]<<set $locationName to "RegenaForm - Street Entrance">>
<<set $right_sidebar_mode to 0>>
<<set $locationImage to "images/locations/regenaform_street_entrance.jpeg">>
<img src="images/locations/regenaform_street_entrance.jpeg" alt="RegenaForm Street Entrance" style="width:100%; height:auto;">
[[← Floor Plan|regenaform_map]]<<set $locationName to "RegenaForm - Approach Hallway">>
<<set $right_sidebar_mode to 0>>
<<set $locationImage to "images/locations/regenaform_approach_hallway.jpeg">>
<img src="images/locations/regenaform_approach_hallway.jpeg" alt="RegenaForm Approach Hallway" style="width:100%; height:auto;">
[[← Floor Plan|regenaform_map]]<<set $locationName to "RegenaForm - Reception Lobby">>
<<set $right_sidebar_mode to 0>>
<<set $locationImage to "images/locations/regenaform_reception_lobby.jpeg">>
<img src="images/locations/regenaform_reception_lobby.jpeg" alt="RegenaForm Reception Lobby" style="width:100%; height:auto;">
[[← Floor Plan|regenaform_map]]<<set $locationName to "RegenaForm - Consultation Room">>
<<set $right_sidebar_mode to 0>>
<<set $locationImage to "images/locations/regenaform_consultation_room.jpeg">>
<img src="images/locations/regenaform_consultation_room.jpeg" alt="RegenaForm Consultation Room" style="width:100%; height:auto;">
[[← Floor Plan|regenaform_map]]<<set $locationName to "RegenaForm - Wig Fitting Suite">>
<<set $right_sidebar_mode to 0>>
<<set $locationImage to "images/locations/regenaform_wig_fitting_suite.jpeg">>
<img src="images/locations/regenaform_wig_fitting_suite.jpeg" alt="RegenaForm Wig Fitting Suite" style="width:100%; height:auto;">
[[← Floor Plan|regenaform_map]]<<set $locationName to "RegenaForm - Client Corridor">>
<<set $right_sidebar_mode to 0>>
<<set $locationImage to "images/locations/regenaform_client_corridor.jpeg">>
<img src="images/locations/regenaform_client_corridor.jpeg" alt="RegenaForm Client Corridor" style="width:100%; height:auto;">
[[← Floor Plan|regenaform_map]]<<set $locationName to "RegenaForm - Suite 1 (Tier 1)">>
<<set $right_sidebar_mode to 0>>
<<set $locationImage to "images/locations/regenaform_procedure_tier1.jpeg">>
<img src="images/locations/regenaform_procedure_tier1.jpeg" alt="RegenaForm Procedure Tier 1" style="width:100%; height:auto;">
[[← Floor Plan|regenaform_map]]<<nobr>>
<style>
.rfm-outer {
max-width: 100%;
overflow-x: auto;
background: #08080f;
border: 1.5px solid #2dd4bf;
border-radius: 12px;
padding: 8px;
box-sizing: border-box;
position: relative;
}
.rfm-header {
font-family: monospace;
text-align: center;
color: #1a5050;
letter-spacing: 0.18em;
font-size: 0.85em;
padding: 6px 0 10px;
text-transform: uppercase;
}
.rfm-map { width: 100%; height: auto; display: block; }
.rml { cursor: pointer; }
.rml .rmb {
transition: opacity 0.15s, stroke 0.15s, stroke-width 0.15s;
stroke: transparent;
stroke-width: 0;
}
.rml:hover .rmb {
stroke: rgba(45, 212, 191, 0.55);
stroke-width: 2.5;
opacity: 0.88;
}
.rml-blocked { cursor: not-allowed !important; }
.rml-blocked .rmb {
filter: brightness(0.25) saturate(0.1) !important;
opacity: 0.5;
}
.rml-blocked:hover .rmb {
filter: brightness(0.3) saturate(0.15) !important;
opacity: 0.55;
}
#rfm-tooltip {
position: fixed;
bottom: 24px;
left: 50%;
transform: translateX(-50%);
background: rgba(10, 10, 15, 0.94);
color: #2dd4bf;
font-family: monospace;
font-size: 0.72rem;
font-weight: bold;
letter-spacing: 0.14em;
text-transform: uppercase;
padding: 5px 16px;
border-radius: 999px;
border: 1px solid rgba(45, 212, 191, 0.35);
box-shadow: 0 0 14px rgba(45, 212, 191, 0.2);
pointer-events: none;
white-space: nowrap;
opacity: 0;
transition: opacity 0.15s ease;
z-index: 9000;
}
#rfm-tooltip.visible { opacity: 1; }
#rfm-blocked-flash {
position: fixed;
top: 50%;
left: 50%;
max-width: min(300px, 88vw);
box-sizing: border-box;
transform: translate(-50%, -50%) scale(0.9);
background: rgba(10, 10, 15, 0.96);
border: 1px solid rgba(239, 68, 68, 0.4);
color: #fca5a5;
font-family: monospace;
font-size: 0.78rem;
font-weight: bold;
letter-spacing: 0.08em;
text-align: center;
word-break: break-word;
padding: 12px 20px;
border-radius: 10px;
pointer-events: none;
opacity: 0;
transition: opacity 0.2s ease, transform 0.2s ease;
z-index: 9999;
box-shadow: 0 0 20px rgba(239, 68, 68, 0.2);
}
#rfm-blocked-flash.visible {
opacity: 1;
transform: translate(-50%, -50%) scale(1);
}
.rfm-mobile-legend { display: none; }
@media (max-width: 900px) {
.rfm-mobile-legend { display: block; margin-top: 10px; }
.rfml-title {
font-family: monospace;
font-size: 0.68rem;
color: #5d5875;
letter-spacing: 0.12em;
text-transform: uppercase;
margin-bottom: 8px;
}
.rfml-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.rfml-item {
display: block;
padding: 7px 8px;
border-radius: 7px;
border: 1px solid var(--c);
color: var(--c);
font-family: monospace;
font-size: 0.7rem;
font-weight: bold;
letter-spacing: 0.03em;
cursor: pointer;
text-align: center;
user-select: none;
-webkit-tap-highlight-color: transparent;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
box-sizing: border-box;
opacity: 0.75;
}
.rfml-item:active { opacity: 1; }
.rfml-item-blocked {
--c: #3a3a4a !important;
cursor: not-allowed !important;
opacity: 0.3;
}
}
</style>
<div class="rfm-outer" id="rfm-container">
<div class="rfm-header">◉ REGENAFORM CLINIC — FLOOR PLAN</div>
<svg class="rfm-map" viewBox="0 0 660 568" xmlns="http://www.w3.org/2000/svg" id="rfm-svg">
<defs>
<filter id="rfg-teal" x="-30%" y="-30%" width="160%" height="160%">
<feFlood flood-color="#2dd4bf" flood-opacity="0.4" result="color"/>
<feComposite in="color" in2="SourceGraphic" operator="in" result="shadow"/>
<feGaussianBlur in="shadow" stdDeviation="4" result="blur"/>
<feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
</filter>
<filter id="rfg-amber" x="-30%" y="-30%" width="160%" height="160%">
<feFlood flood-color="#f59e0b" flood-opacity="0.35" result="color"/>
<feComposite in="color" in2="SourceGraphic" operator="in" result="shadow"/>
<feGaussianBlur in="shadow" stdDeviation="5" result="blur"/>
<feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
</filter>
<filter id="rfg-pink" x="-30%" y="-30%" width="160%" height="160%">
<feFlood flood-color="#e84393" flood-opacity="0.3" result="color"/>
<feComposite in="color" in2="SourceGraphic" operator="in" result="shadow"/>
<feGaussianBlur in="shadow" stdDeviation="4" result="blur"/>
<feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
</filter>
</defs>
<!-- Background -->
<rect x="0" y="0" width="660" height="568" fill="#08080f"/>
<!-- Outer walls -->
<rect x="0" y="0" width="660" height="6" fill="#1a1a2e"/>
<rect x="0" y="0" width="6" height="568" fill="#1a1a2e"/>
<rect x="654" y="0" width="6" height="568" fill="#1a1a2e"/>
<rect x="0" y="562" width="660" height="6" fill="#1a1a2e"/>
<!-- Row dividers -->
<rect x="6" y="90" width="648" height="4" fill="#1a1a2e"/>
<rect x="6" y="118" width="648" height="4" fill="#1a1a2e"/>
<rect x="6" y="244" width="648" height="4" fill="#1a1a2e"/>
<rect x="6" y="272" width="648" height="4" fill="#1a1a2e"/>
<rect x="6" y="396" width="648" height="4" fill="#1a1a2e"/>
<!-- Walls flanking hallway/entrance -->
<rect x="6" y="494" width="172" height="68" fill="#1a1a2e"/>
<rect x="482" y="494" width="172" height="68" fill="#1a1a2e"/>
<!-- Vertical dividers — restricted row -->
<rect x="202" y="6" width="4" height="88" fill="#1a1a2e"/>
<rect x="452" y="6" width="4" height="88" fill="#1a1a2e"/>
<!-- Vertical dividers — procedure row -->
<rect x="164" y="122" width="4" height="126" fill="#1a1a2e"/>
<rect x="322" y="122" width="4" height="126" fill="#1a1a2e"/>
<rect x="480" y="122" width="4" height="126" fill="#1a1a2e"/>
<!-- Vertical dividers — inner rooms row -->
<rect x="176" y="276" width="4" height="124" fill="#1a1a2e"/>
<rect x="344" y="276" width="4" height="124" fill="#1a1a2e"/>
<!-- ============================================================ -->
<!-- ROW 1: RESTRICTED (y:6-90) -->
<!-- ============================================================ -->
<!-- Genetic Archive -->
<g class="rml" data-loc="genetic_archive">
<rect class="rmb" x="6" y="6" width="196" height="84" fill="#0e0e18"/>
<text x="104" y="38" font-family="monospace" font-size="6.5" fill="#2a1a1a" text-anchor="middle" letter-spacing="2">RESTRICTED</text>
<text x="104" y="54" font-family="monospace" font-size="8" fill="#2a1a1a" text-anchor="middle" font-weight="bold">Genetic Archive</text>
<text x="104" y="68" font-family="monospace" font-size="6" fill="#1e1212" text-anchor="middle">⛔ STAFF ONLY</text>
</g>
<!-- Biocompound Laboratory -->
<g class="rml" data-loc="biocompound_lab">
<rect class="rmb" x="206" y="6" width="246" height="84" fill="#0e0e18"/>
<text x="329" y="38" font-family="monospace" font-size="6.5" fill="#2a1a1a" text-anchor="middle" letter-spacing="2">RESTRICTED</text>
<text x="329" y="54" font-family="monospace" font-size="8" fill="#2a1a1a" text-anchor="middle" font-weight="bold">Biocompound Laboratory</text>
<text x="329" y="68" font-family="monospace" font-size="6" fill="#1e1212" text-anchor="middle">⛔ STAFF ONLY</text>
</g>
<!-- Sample Processing -->
<g class="rml" data-loc="sample_processing">
<rect class="rmb" x="456" y="6" width="198" height="84" fill="#0e0e18"/>
<text x="555" y="38" font-family="monospace" font-size="6.5" fill="#2a1a1a" text-anchor="middle" letter-spacing="2">RESTRICTED</text>
<text x="555" y="54" font-family="monospace" font-size="8" fill="#2a1a1a" text-anchor="middle" font-weight="bold">Sample Processing</text>
<text x="555" y="68" font-family="monospace" font-size="6" fill="#1e1212" text-anchor="middle">⛔ STAFF ONLY</text>
</g>
<!-- ============================================================ -->
<!-- ROW 2: STAFF CORRIDOR (y:94-118) -->
<!-- ============================================================ -->
<g class="rml" data-loc="staff_corridor">
<rect class="rmb" x="6" y="94" width="648" height="24" fill="#0c0c16"/>
<line x1="20" y1="106" x2="640" y2="106" stroke="#1a1a28" stroke-width="1" stroke-dasharray="8,6"/>
<text x="330" y="110" font-family="monospace" font-size="6.5" fill="#2a2a3a" text-anchor="middle" letter-spacing="3">STAFF CORRIDOR — BIOMETRIC ACCESS REQUIRED</text>
</g>
<!-- ============================================================ -->
<!-- ROW 3: PROCEDURE ROOMS (y:122-244) -->
<!-- ============================================================ -->
<!-- Suite 4 — Tier 7-8 -->
<g class="rml" data-loc="procedure_tier7_8">
<rect class="rmb" x="6" y="122" width="158" height="122" fill="#0a0e10"/>
<ellipse cx="85" cy="178" rx="44" ry="28" fill="none" stroke="#1a2828" stroke-width="1.5"/>
<text x="85" y="142" font-family="monospace" font-size="6.5" fill="#1a2828" text-anchor="middle" letter-spacing="1">SUITE 4</text>
<text x="85" y="154" font-family="monospace" font-size="7.5" fill="#1a2828" text-anchor="middle" font-weight="bold">Tier 7 – 8</text>
<text x="85" y="216" font-family="monospace" font-size="6" fill="#1a2020" text-anchor="middle">🔒 LOCKED</text>
<text x="85" y="228" font-family="monospace" font-size="5.5" fill="#141c1c" text-anchor="middle">Neural Integration</text>
</g>
<!-- Suite 3 — Tier 4-6 -->
<g class="rml" data-loc="procedure_tier4_6">
<rect class="rmb" x="168" y="122" width="154" height="122" fill="#0a0e10"/>
<rect x="198" y="162" width="94" height="32" rx="6" fill="none" stroke="#1a2828" stroke-width="1.5"/>
<text x="245" y="142" font-family="monospace" font-size="6.5" fill="#1a2828" text-anchor="middle" letter-spacing="1">SUITE 3</text>
<text x="245" y="154" font-family="monospace" font-size="7.5" fill="#1a2828" text-anchor="middle" font-weight="bold">Tier 4 – 6</text>
<text x="245" y="216" font-family="monospace" font-size="6" fill="#1a2020" text-anchor="middle">🔒 LOCKED</text>
<text x="245" y="228" font-family="monospace" font-size="5.5" fill="#141c1c" text-anchor="middle">Body Contour</text>
</g>
<!-- Suite 2 — Tier 2-3 -->
<g class="rml" data-loc="procedure_tier2_3">
<rect class="rmb" x="326" y="122" width="154" height="122" fill="#0a0e10"/>
<rect x="358" y="162" width="88" height="30" rx="5" fill="none" stroke="#1a2828" stroke-width="1.5"/>
<text x="403" y="142" font-family="monospace" font-size="6.5" fill="#1a2828" text-anchor="middle" letter-spacing="1">SUITE 2</text>
<text x="403" y="154" font-family="monospace" font-size="7.5" fill="#1a2828" text-anchor="middle" font-weight="bold">Tier 2 – 3</text>
<text x="403" y="216" font-family="monospace" font-size="6" fill="#1a2020" text-anchor="middle">🔒 LOCKED</text>
<text x="403" y="228" font-family="monospace" font-size="5.5" fill="#141c1c" text-anchor="middle">Voice / Hair</text>
</g>
<!-- Suite 1 — Tier 1 (OPEN, teal glow) -->
<g class="rml" data-loc="procedure_tier1" onclick="SugarCube.Engine.play('procedure_tier1')" filter="url(#rfg-teal)">
<rect class="rmb" x="484" y="122" width="170" height="122" fill="#091412"/>
<!-- Reclining chair -->
<rect x="512" y="160" width="112" height="34" rx="6" fill="none" stroke="#1a3a36" stroke-width="1.5"/>
<rect x="512" y="160" width="28" height="34" rx="4" fill="#0c1e1c"/>
<!-- Medical cross -->
<line x1="578" y1="148" x2="578" y2="140" stroke="#2dd4bf" stroke-width="1.5" opacity="0.5"/>
<line x1="574" y1="144" x2="582" y2="144" stroke="#2dd4bf" stroke-width="1.5" opacity="0.5"/>
<!-- Status LED green -->
<circle cx="644" cy="130" r="3" fill="#2dd4bf" opacity="0.8"/>
<text x="569" y="142" font-family="monospace" font-size="6.5" fill="#1a3a36" text-anchor="middle" letter-spacing="1">SUITE 1</text>
<text x="569" y="210" font-family="monospace" font-size="7.5" fill="#1a3a36" text-anchor="middle" font-weight="bold">Tier 1</text>
<text x="569" y="222" font-family="monospace" font-size="5.5" fill="#1a2a28" text-anchor="middle">Facial / Cosmetic</text>
</g>
<!-- ============================================================ -->
<!-- ROW 4: CLIENT CORRIDOR (y:248-272) -->
<!-- ============================================================ -->
<g class="rml" data-loc="client_corridor" onclick="SugarCube.Engine.play('client_corridor')">
<rect class="rmb" x="6" y="248" width="648" height="24" fill="#0a0a14"/>
<line x1="20" y1="260" x2="460" y2="260" stroke="#0e1a1a" stroke-width="1" stroke-dasharray="12,8"/>
<!-- Door LEDs -->
<circle cx="496" cy="260" r="2.5" fill="#2dd4bf" opacity="0.5"/>
<circle cx="530" cy="260" r="2.5" fill="#2dd4bf" opacity="0.5"/>
<circle cx="564" cy="260" r="2.5" fill="#2dd4bf" opacity="0.5"/>
<circle cx="598" cy="260" r="2.5" fill="#2dd4bf" opacity="0.5"/>
<text x="210" y="264" font-family="monospace" font-size="7" fill="#1a3030" text-anchor="middle" letter-spacing="2">CLIENT CORRIDOR</text>
</g>
<!-- ============================================================ -->
<!-- ROW 5: INNER ROOMS (y:276-396) -->
<!-- ============================================================ -->
<!-- Wig Fitting Suite -->
<g class="rml" data-loc="wig_fitting_suite" onclick="SugarCube.Engine.play('wig_fitting_suite')">
<rect class="rmb" x="6" y="276" width="170" height="120" fill="#0d0b14"/>
<!-- Vanity mirror -->
<ellipse cx="91" cy="326" rx="34" ry="22" fill="none" stroke="#3d2060" stroke-width="1.5"/>
<ellipse cx="91" cy="326" rx="28" ry="17" fill="none" stroke="#2a1540" stroke-width="0.8"/>
<!-- Wig forms row -->
<circle cx="46" cy="362" r="5" fill="none" stroke="#2a1540" stroke-width="1"/>
<circle cx="66" cy="362" r="5" fill="none" stroke="#2a1540" stroke-width="1"/>
<circle cx="86" cy="362" r="5" fill="none" stroke="#2a1540" stroke-width="1"/>
<circle cx="106" cy="362" r="5" fill="none" stroke="#2a1540" stroke-width="1"/>
<circle cx="126" cy="362" r="5" fill="none" stroke="#2a1540" stroke-width="1"/>
<text x="91" y="292" font-family="monospace" font-size="8" fill="#2a1a40" text-anchor="middle" font-weight="bold">Wig Fitting</text>
<text x="91" y="304" font-family="monospace" font-size="6" fill="#1e1430" text-anchor="middle" letter-spacing="0.5">Suite</text>
</g>
<!-- Consultation Room (teal glow) -->
<g class="rml" data-loc="consultation_room" onclick="SugarCube.Engine.play('consultation_room')" filter="url(#rfg-teal)">
<rect class="rmb" x="180" y="276" width="164" height="120" fill="#090f10"/>
<!-- Wall screen -->
<rect x="200" y="282" width="122" height="28" rx="3" fill="none" stroke="#1a3030" stroke-width="1"/>
<text x="261" y="300" font-family="monospace" font-size="6.5" fill="#1a3030" text-anchor="middle">REGENAFORM</text>
<!-- Two chairs + table -->
<rect x="200" y="336" width="28" height="24" rx="4" fill="none" stroke="#1a3030" stroke-width="1.5"/>
<rect x="296" y="336" width="28" height="24" rx="4" fill="none" stroke="#1a3030" stroke-width="1.5"/>
<rect x="232" y="340" width="60" height="14" rx="2" fill="#0c1e1c"/>
<text x="261" y="320" font-family="monospace" font-size="8" fill="#1a3a36" text-anchor="middle" font-weight="bold">Consultation</text>
<text x="261" y="331" font-family="monospace" font-size="6" fill="#1a2a2a" text-anchor="middle">Dr. Voss</text>
</g>
<!-- The Meridian (amber glow) -->
<g class="rml" data-loc="the_meridian" onclick="SugarCube.Engine.play('the_meridian')" filter="url(#rfg-amber)">
<rect class="rmb" x="348" y="276" width="306" height="120" fill="#100e08"/>
<!-- Holographic rings -->
<ellipse cx="501" cy="336" rx="50" ry="32" fill="none" stroke="#2a1e08" stroke-width="1"/>
<ellipse cx="501" cy="336" rx="32" ry="20" fill="none" stroke="#2a1a06" stroke-width="0.8"/>
<!-- Configurator nodes -->
<circle cx="451" cy="336" r="3.5" fill="#1a1006" stroke="#f59e0b" stroke-width="0.8" opacity="0.7"/>
<circle cx="501" cy="304" r="3.5" fill="#1a1006" stroke="#f59e0b" stroke-width="0.8" opacity="0.7"/>
<circle cx="551" cy="336" r="3.5" fill="#1a1006" stroke="#f59e0b" stroke-width="0.8" opacity="0.7"/>
<circle cx="501" cy="368" r="3.5" fill="#1a1006" stroke="#f59e0b" stroke-width="0.8" opacity="0.7"/>
<!-- Side display panels -->
<rect x="358" y="282" width="56" height="32" rx="3" fill="none" stroke="#2a1a08" stroke-width="1"/>
<rect x="590" y="282" width="56" height="32" rx="3" fill="none" stroke="#2a1a08" stroke-width="1"/>
<text x="501" y="292" font-family="monospace" font-size="10" fill="#2a1a08" text-anchor="middle" font-weight="bold" letter-spacing="2">THE MERIDIAN</text>
<text x="501" y="305" font-family="monospace" font-size="6" fill="#1e1404" text-anchor="middle" letter-spacing="1">TRANSFORMATION SHOWROOM</text>
<text x="501" y="385" font-family="monospace" font-size="6" fill="#1e1404" text-anchor="middle">Holographic Configurator</text>
</g>
<!-- ============================================================ -->
<!-- ROW 6: RECEPTION LOBBY (y:400-494) -->
<!-- ============================================================ -->
<g class="rml" data-loc="reception_lobby" onclick="SugarCube.Engine.play('reception_lobby')" filter="url(#rfg-pink)">
<rect class="rmb" x="6" y="400" width="648" height="94" fill="#0c0a10"/>
<!-- Reception desk -->
<rect x="238" y="416" width="184" height="16" rx="3" fill="none" stroke="#1a1430" stroke-width="1.5"/>
<rect x="238" y="416" width="16" height="44" rx="3" fill="none" stroke="#1a1430" stroke-width="1"/>
<!-- Orchid -->
<circle cx="356" cy="415" r="5" fill="none" stroke="#2d1040" stroke-width="1"/>
<line x1="356" y1="420" x2="356" y2="432" stroke="#1a2010" stroke-width="1"/>
<!-- Sofas left -->
<rect x="26" y="436" width="68" height="28" rx="6" fill="none" stroke="#1a1830" stroke-width="1.5"/>
<rect x="102" y="436" width="68" height="28" rx="6" fill="none" stroke="#1a1830" stroke-width="1.5"/>
<!-- Sofas right -->
<rect x="490" y="436" width="68" height="28" rx="6" fill="none" stroke="#1a1830" stroke-width="1.5"/>
<rect x="566" y="436" width="68" height="28" rx="6" fill="none" stroke="#1a1830" stroke-width="1.5"/>
<text x="330" y="476" font-family="monospace" font-size="9" fill="#2a1a30" text-anchor="middle" font-weight="bold" letter-spacing="2">RECEPTION LOBBY</text>
<text x="330" y="488" font-family="monospace" font-size="6" fill="#1e1020" text-anchor="middle" letter-spacing="1">Lina · Dove-Grey Interiors</text>
</g>
<!-- ============================================================ -->
<!-- APPROACH HALLWAY (y:498-532) -->
<!-- ============================================================ -->
<g class="rml" data-loc="approach_hallway" onclick="SugarCube.Engine.play('approach_hallway')">
<rect class="rmb" x="178" y="498" width="304" height="34" fill="#09090e"/>
<!-- Frosted door line at top -->
<line x1="178" y1="498" x2="482" y2="498" stroke="#e84393" stroke-width="1" opacity="0.25" stroke-dasharray="6,4"/>
<text x="330" y="519" font-family="monospace" font-size="7.5" fill="#1a1424" text-anchor="middle" letter-spacing="1.5">APPROACH HALLWAY</text>
</g>
<!-- ============================================================ -->
<!-- STREET ENTRANCE (y:536-562) -->
<!-- ============================================================ -->
<g class="rml" data-loc="street_entrance" onclick="SugarCube.Engine.play('street_entrance')">
<rect class="rmb" x="248" y="536" width="164" height="26" fill="#08080c"/>
<!-- Steps -->
<line x1="248" y1="542" x2="412" y2="542" stroke="#1a1424" stroke-width="1"/>
<line x1="256" y1="548" x2="404" y2="548" stroke="#1a1424" stroke-width="1"/>
<line x1="264" y1="554" x2="396" y2="554" stroke="#1a1424" stroke-width="1"/>
<!-- Brass address plate -->
<rect x="314" y="538" width="32" height="8" rx="1" fill="#1e180a" stroke="#2a2208" stroke-width="0.5"/>
<text x="330" y="535" font-family="monospace" font-size="6.5" fill="#1a1424" text-anchor="middle" letter-spacing="1">STREET ENTRANCE</text>
</g>
<!-- ============================================================ -->
<!-- SECTION LABELS -->
<!-- ============================================================ -->
<text x="8" y="98" font-family="monospace" font-size="5.5" fill="#2a1a1a" letter-spacing="2">▲ RESTRICTED — AUTHORIZED STAFF ONLY</text>
<text x="8" y="130" font-family="monospace" font-size="5.5" fill="#1a2a2a" letter-spacing="1.5">PROCEDURE WING</text>
<!-- Scale bar -->
<line x1="14" y1="556" x2="64" y2="556" stroke="#1e1e2e" stroke-width="1"/>
<line x1="14" y1="553" x2="14" y2="559" stroke="#1e1e2e" stroke-width="1"/>
<line x1="64" y1="553" x2="64" y2="559" stroke="#1e1e2e" stroke-width="1"/>
<text x="39" y="564" font-family="monospace" font-size="5" fill="#1e1e2e" text-anchor="middle">≈ 5m</text>
<text x="640" y="556" font-family="monospace" font-size="5" fill="#1e1e2e" text-anchor="middle">▲ N</text>
</svg>
<div id="rfm-tooltip"></div>
</div>
<div id="rfm-blocked-flash">⚠ ACCESS RESTRICTED</div>
<br>
[[← District Map|neighbourhood]]
<</nobr>>
<<script>>
(function() {
var LABELS = {
'street_entrance': 'Street Entrance',
'approach_hallway': 'Approach Hallway',
'reception_lobby': 'Reception Lobby',
'the_meridian': 'The Meridian',
'consultation_room': 'Consultation Room',
'wig_fitting_suite': 'Wig Fitting Suite',
'client_corridor': 'Client Corridor',
'procedure_tier1': 'Suite 1 — Tier 1',
'procedure_tier2_3': 'Suite 2 — Tier 2–3',
'procedure_tier4_6': 'Suite 3 — Tier 4–6',
'procedure_tier7_8': 'Suite 4 — Tier 7–8',
'staff_corridor': 'Staff Corridor',
'biocompound_lab': 'Biocompound Laboratory',
'sample_processing': 'Sample Processing',
'genetic_archive': 'Genetic Archive'
};
var OPEN = {
'street_entrance': true,
'approach_hallway': true,
'reception_lobby': true,
'the_meridian': true,
'consultation_room': true,
'wig_fitting_suite': true,
'client_corridor': true,
'procedure_tier1': true
};
var svg = document.getElementById('rfm-svg');
var tooltip = document.getElementById('rfm-tooltip');
var flash = document.getElementById('rfm-blocked-flash');
var flashTimer = null;
var hideTimer;
if (!svg) return;
function showFlash() {
if (!flash) return;
flash.classList.add('visible');
if (flashTimer) clearTimeout(flashTimer);
flashTimer = setTimeout(function() { flash.classList.remove('visible'); }, 1800);
}
/* Mobile legend */
document.querySelectorAll('.rfml-item').forEach(function(el) {
var match = (el.getAttribute('onclick') || '').match(/play\('([^']+)'\)/);
if (match && !OPEN[match[1]]) {
el.removeAttribute('onclick');
el.classList.add('rfml-item-blocked');
el.addEventListener('click', showFlash);
}
});
/* SVG groups */
svg.querySelectorAll('.rml').forEach(function(g) {
var loc = g.getAttribute('data-loc');
if (!loc || OPEN[loc]) return;
g.classList.add('rml-blocked');
g.removeAttribute('onclick');
g.addEventListener('click', function(e) {
e.stopPropagation();
showFlash();
});
});
/* Tooltip */
svg.addEventListener('mouseover', function(e) {
var g = e.target.closest('.rml');
if (!g) return;
var loc = g.getAttribute('data-loc');
if (!loc || !LABELS[loc]) return;
clearTimeout(hideTimer);
var label = LABELS[loc];
if (!OPEN[loc]) label = label + ' [RESTRICTED]';
tooltip.textContent = '▶ ' + label;
tooltip.classList.add('visible');
});
svg.addEventListener('mouseout', function(e) {
var g = e.target.closest('.rml');
if (!g) return;
clearTimeout(hideTimer);
hideTimer = setTimeout(function() { tooltip.classList.remove('visible'); }, 150);
});
})();
<</script>>
<div class="rfm-mobile-legend">
<div class="rfml-title">◉ REGENAFORM — ROOMS</div>
<div class="rfml-grid">
<span class="rfml-item" style="--c:#e84393" onclick="SugarCube.Engine.play('street_entrance')">🚪 Street Entrance</span>
<span class="rfml-item" style="--c:#9893a6" onclick="SugarCube.Engine.play('approach_hallway')">→ Approach Hallway</span>
<span class="rfml-item" style="--c:#a855f7" onclick="SugarCube.Engine.play('reception_lobby')">✦ Reception Lobby</span>
<span class="rfml-item" style="--c:#f59e0b" onclick="SugarCube.Engine.play('the_meridian')">◎ The Meridian</span>
<span class="rfml-item" style="--c:#2dd4bf" onclick="SugarCube.Engine.play('consultation_room')">◈ Consultation Room</span>
<span class="rfml-item" style="--c:#a855f7" onclick="SugarCube.Engine.play('wig_fitting_suite')">✂ Wig Fitting Suite</span>
<span class="rfml-item" style="--c:#2dd4bf" onclick="SugarCube.Engine.play('client_corridor')">→ Client Corridor</span>
<span class="rfml-item" style="--c:#2dd4bf" onclick="SugarCube.Engine.play('procedure_tier1')">✚ Suite 1 — Tier 1</span>
<span class="rfml-item" style="--c:#3a3a4a" onclick="SugarCube.Engine.play('procedure_tier2_3')">🔒 Suite 2 — Tier 2–3</span>
<span class="rfml-item" style="--c:#3a3a4a" onclick="SugarCube.Engine.play('procedure_tier4_6')">🔒 Suite 3 — Tier 4–6</span>
<span class="rfml-item" style="--c:#3a3a4a" onclick="SugarCube.Engine.play('procedure_tier7_8')">🔒 Suite 4 — Tier 7–8</span>
<span class="rfml-item" style="--c:#3a3a4a" onclick="SugarCube.Engine.play('staff_corridor')">🔒 Staff Corridor</span>
</div>
</div><<set $locationName to "RegenaForm — Suite 2 (Tier 2–3)">>
<<set $right_sidebar_mode to 0>>
[[← Floor Plan|regenaform_map]]<<set $locationName to "RegenaForm — Suite 3 (Tier 4–6)">>
<<set $right_sidebar_mode to 0>>
[[← Floor Plan|regenaform_map]]<<set $locationName to "RegenaForm — Suite 4 (Tier 7–8)">>
<<set $right_sidebar_mode to 0>>
[[← Floor Plan|regenaform_map]]<<set $locationName to "RegenaForm — Staff Corridor">>
<<set $right_sidebar_mode to 0>>
[[← Floor Plan|regenaform_map]]<<set $locationName to "RegenaForm — Biocompound Laboratory">>
<<set $right_sidebar_mode to 0>>
[[← Floor Plan|regenaform_map]]<<set $locationName to "RegenaForm — Sample Processing">>
<<set $right_sidebar_mode to 0>>
[[← Floor Plan|regenaform_map]]<<set $locationName to "RegenaForm — Genetic Archive">>
<<set $right_sidebar_mode to 0>>
[[← Floor Plan|regenaform_map]]<<set $locationName to "RegenaForm — Dr. Voss's Private Office">>
<<set $right_sidebar_mode to 0>>
[[← Floor Plan|regenaform_map]]<<nobr>>
<style>
/* ── VARIABLES & BASE ─────────────────────────────────────────────────── */
/* Background: #08080f, surfaces: #0d0d1a, border: rgba(45,212,191,0.2) */
#mer-wrap {
max-width: 900px;
margin: 0 auto;
font-family: var(--font-ui, 'Outfit', sans-serif);
}
/* Header / breadcrumb */
#mer-header {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 1.5rem;
padding-bottom: 0.8rem;
border-bottom: 1px solid rgba(45, 212, 191, 0.2);
}
#mer-title {
font-size: 1.4rem;
font-weight: bold;
color: #f59e0b;
letter-spacing: 0.1em;
text-transform: uppercase;
}
#mer-breadcrumb {
font-family: monospace;
font-size: 0.75rem;
color: #5d5875;
letter-spacing: 0.08em;
}
#mer-breadcrumb span { color: #2dd4bf; }
/* Tier grid - 4 columns desktop, 2 mobile */
.mer-tier-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 14px;
}
@media (max-width: 700px) { .mer-tier-grid { grid-template-columns: repeat(2, 1fr); } }
/* Category grid - 3 columns */
.mer-cat-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
}
@media (max-width: 700px) { .mer-cat-grid { grid-template-columns: repeat(2, 1fr); } }
/* Option grid - 3 columns */
.mer-opt-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
}
@media (max-width: 700px) { .mer-opt-grid { grid-template-columns: repeat(2, 1fr); } }
/* Tier card */
.mer-tier-card {
background: #0d0d1a;
border: 1px solid var(--tc);
border-radius: 10px;
padding: 16px 12px;
cursor: pointer;
transition: background 0.2s, box-shadow 0.2s, transform 0.15s;
position: relative;
overflow: hidden;
}
.mer-tier-card:hover {
background: rgba(var(--tcr),0.07);
box-shadow: 0 0 20px rgba(var(--tcr),0.2);
transform: translateY(-2px);
}
.mer-tier-card.locked {
opacity: 0.45;
cursor: not-allowed;
filter: saturate(0.3);
}
.mer-tier-card.locked:hover { transform: none; box-shadow: none; }
.mer-tier-icon {
font-size: 1.6rem;
margin-bottom: 6px;
color: var(--tc);
}
.mer-tier-num {
font-size: 0.65rem;
letter-spacing: 0.15em;
color: var(--tc);
opacity: 0.7;
font-family: monospace;
margin-bottom: 2px;
text-transform: uppercase;
}
.mer-tier-name {
font-size: 0.9rem;
font-weight: bold;
color: #e8e4f0;
margin-bottom: 8px;
}
.mer-tier-meta {
font-family: monospace;
font-size: 0.62rem;
color: #4a4a6a;
line-height: 1.6;
}
.mer-tier-meta .mc { color: var(--tc); opacity: 0.8; }
.mer-lock-badge {
position: absolute;
top: 8px;
right: 8px;
font-size: 0.7rem;
color: #ef4444;
opacity: 0.7;
}
.mer-suite-badge {
position: absolute;
top: 8px;
right: 8px;
font-size: 0.55rem;
font-family: monospace;
letter-spacing: 0.1em;
color: var(--tc);
opacity: 0.5;
text-transform: uppercase;
}
/* Category card */
.mer-cat-card {
background: #0d0d1a;
border: 1px solid rgba(255,255,255,0.06);
border-left: 3px solid var(--tc);
border-radius: 8px;
padding: 14px;
cursor: pointer;
transition: background 0.2s, transform 0.15s;
}
.mer-cat-card:hover {
background: rgba(var(--tcr),0.05);
transform: translateX(3px);
}
.mer-cat-icon { font-size: 1.3rem; margin-bottom: 6px; }
.mer-cat-name { font-size: 0.88rem; font-weight: bold; color: #e0dcea; margin-bottom: 4px; }
.mer-cat-count { font-family: monospace; font-size: 0.65rem; color: #5d5875; }
/* Option card */
.mer-opt-card {
background: #0d0d1a;
border: 1px solid rgba(255,255,255,0.06);
border-radius: 10px;
overflow: hidden;
cursor: pointer;
transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s;
}
.mer-opt-card:hover {
border-color: var(--tc);
box-shadow: 0 0 16px rgba(var(--tcr),0.2);
transform: translateY(-2px);
}
.mer-opt-img {
width: 100%;
height: 110px;
display: flex;
align-items: center;
justify-content: center;
font-family: monospace;
background: linear-gradient(135deg, rgba(var(--tcr),0.12) 0%, rgba(0,0,0,0.3) 100%);
border-bottom: 1px solid rgba(var(--tcr),0.15);
color: var(--tc);
opacity: 0.7;
letter-spacing: 0.05em;
font-size: 0.65rem;
text-transform: uppercase;
flex-direction: column;
gap: 4px;
}
.mer-opt-img .opt-placeholder-icon { font-size: 2rem; opacity: 0.4; }
.mer-opt-body { padding: 10px 12px; }
.mer-opt-name { font-size: 0.82rem; font-weight: bold; color: #e0dcea; margin-bottom: 4px; }
.mer-opt-cost { font-family: monospace; font-size: 0.7rem; color: #f59e0b; }
.mer-opt-score { font-family: monospace; font-size: 0.65rem; color: #2dd4bf; margin-top: 2px; }
.mer-excl-badge {
font-size: 0.55rem;
background: rgba(239,68,68,0.15);
color: #ef4444;
border-radius: 4px;
padding: 1px 5px;
margin-left: 4px;
font-family: monospace;
}
.mer-prereq-badge {
font-size: 0.55rem;
background: rgba(168,85,247,0.15);
color: #a855f7;
border-radius: 4px;
padding: 1px 5px;
margin-left: 4px;
font-family: monospace;
}
/* Detail overlay */
#mer-overlay {
position: fixed;
inset: 0;
background: rgba(5, 5, 12, 0.92);
z-index: 8000;
display: flex;
align-items: center;
justify-content: center;
padding: 20px;
box-sizing: border-box;
overflow-y: auto;
}
#mer-overlay.mer-hidden { display: none !important; }
#mer-detail-box {
background: #0d0d1a;
border: 1px solid var(--tc);
border-radius: 14px;
max-width: 580px;
width: 100%;
max-height: 85vh;
overflow-y: auto;
box-shadow: 0 0 60px rgba(var(--tcr),0.3);
}
#mer-detail-img {
width: 100%;
height: 180px;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, rgba(var(--tcr),0.15) 0%, #080810 100%);
border-radius: 14px 14px 0 0;
font-size: 3.5rem;
opacity: 0.5;
border-bottom: 1px solid rgba(var(--tcr),0.2);
}
#mer-detail-body { padding: 20px 24px; }
#mer-detail-tier-tag {
font-family: monospace;
font-size: 0.65rem;
letter-spacing: 0.15em;
color: var(--tc);
opacity: 0.7;
text-transform: uppercase;
margin-bottom: 6px;
}
#mer-detail-name {
font-size: 1.3rem;
font-weight: bold;
color: #f0ecff;
margin-bottom: 14px;
}
.mer-detail-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 8px 0;
border-bottom: 1px solid rgba(255,255,255,0.04);
font-size: 0.82rem;
}
.mer-detail-label { color: #5d5875; font-family: monospace; font-size: 0.72rem; letter-spacing: 0.05em; }
.mer-detail-val { color: #e0dcea; font-weight: bold; }
.mer-detail-val.cost { color: #f59e0b; }
.mer-detail-val.score { color: #2dd4bf; }
.mer-detail-val.locked-val { color: #ef4444; }
#mer-detail-desc {
margin-top: 14px;
font-size: 0.85rem;
color: #9893a6;
line-height: 1.7;
}
#mer-detail-effects {
margin-top: 12px;
padding: 10px 14px;
background: rgba(var(--tcr),0.05);
border-left: 3px solid var(--tc);
border-radius: 0 6px 6px 0;
font-size: 0.78rem;
color: #c8c4d4;
line-height: 1.6;
}
.mer-detail-actions {
display: flex;
gap: 10px;
margin-top: 18px;
}
.mer-btn-close {
flex: 1;
padding: 10px;
background: transparent;
border: 1px solid rgba(255,255,255,0.1);
border-radius: 8px;
color: #9893a6;
font-family: monospace;
font-size: 0.8rem;
cursor: pointer;
letter-spacing: 0.08em;
}
.mer-btn-close:hover { border-color: rgba(255,255,255,0.2); color: #e0dcea; }
.mer-btn-purchase {
flex: 2;
padding: 10px;
background: var(--tc);
border: none;
border-radius: 8px;
color: #08080f;
font-family: monospace;
font-size: 0.82rem;
font-weight: bold;
cursor: pointer;
letter-spacing: 0.08em;
}
.mer-btn-purchase:hover { opacity: 0.85; }
.mer-btn-purchase.locked-btn {
background: #2a2a3a;
color: #ef4444;
cursor: not-allowed;
}
/* Back button */
.mer-back-btn {
display: inline-flex;
align-items: center;
gap: 6px;
background: transparent;
border: 1px solid rgba(45,212,191,0.2);
border-radius: 6px;
color: #2dd4bf;
font-family: monospace;
font-size: 0.72rem;
letter-spacing: 0.08em;
padding: 5px 12px;
cursor: pointer;
margin-bottom: 16px;
transition: border-color 0.15s, background 0.15s;
}
.mer-back-btn:hover { border-color: rgba(45,212,191,0.5); background: rgba(45,212,191,0.05); }
/* Panel transitions */
.mer-panel { animation: mer-fade-in 0.2s ease; }
.mer-hidden { display: none !important; }
@keyframes mer-fade-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
/* Section header */
.mer-section-header {
margin-bottom: 16px;
}
.mer-section-title {
font-size: 1.1rem;
font-weight: bold;
color: #e0dcea;
margin-bottom: 4px;
}
.mer-section-sub {
font-family: monospace;
font-size: 0.72rem;
color: #5d5875;
letter-spacing: 0.06em;
}
/* Combo section */
.mer-combo-card {
background: rgba(245,158,11,0.05);
border: 1px solid rgba(245,158,11,0.2);
border-radius: 8px;
padding: 12px 16px;
margin-bottom: 8px;
}
.mer-combo-name { font-size: 0.85rem; font-weight: bold; color: #f59e0b; margin-bottom: 4px; }
.mer-combo-desc { font-size: 0.75rem; color: #9893a6; line-height: 1.5; }
/* $ balance display */
#mer-sc-display {
margin-left: auto;
font-family: monospace;
font-size: 0.8rem;
color: #f59e0b;
background: rgba(245,158,11,0.08);
border: 1px solid rgba(245,158,11,0.2);
border-radius: 6px;
padding: 4px 10px;
}
/* Locked flash */
#mer-locked-flash.visible { opacity: 1 !important; transform: translate(-50%,-50%) scale(1) !important; }
</style>
<div id="mer-wrap" style="--tc:#2dd4bf;--tcr:45,212,191">
<div id="mer-header">
<div>
<div id="mer-title">◎ THE MERIDIAN</div>
<div id="mer-breadcrumb"></div>
</div>
<div id="mer-sc-display">0 $</div>
</div>
<div id="mer-tier-panel" class="mer-panel"></div>
<div id="mer-cat-panel" class="mer-panel mer-hidden"></div>
<div id="mer-opt-panel" class="mer-panel mer-hidden"></div>
</div>
<div id="mer-overlay" class="mer-hidden">
<div id="mer-detail-box">
<div id="mer-detail-img"></div>
<div id="mer-detail-body">
<div id="mer-detail-tier-tag"></div>
<div id="mer-detail-name"></div>
<div id="mer-detail-rows"></div>
<div id="mer-detail-desc"></div>
<div id="mer-detail-effects"></div>
<div class="mer-detail-actions">
<button class="mer-btn-close" id="mer-btn-close">✕ CLOSE</button>
<button class="mer-btn-purchase" id="mer-btn-purchase">PURCHASE</button>
</div>
</div>
</div>
</div>
<div id="mer-locked-flash" style="position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(0.9);background:rgba(10,10,15,0.96);border:1px solid rgba(239,68,68,0.4);color:#fca5a5;font-family:monospace;font-size:0.8rem;font-weight:bold;text-align:center;padding:14px 22px;border-radius:10px;pointer-events:none;opacity:0;transition:opacity 0.2s ease,transform 0.2s ease;z-index:9999;max-width:min(280px,88vw)">
🔒 TIER LOCKED - Prerequisites not met
</div>
<br>
[[← RegenaForm|regenaform_map]]
<</nobr>>
<<script>>
(function() {
// ── DATA ─────────────────────────────────────────────────────────────────────
var D = {
tiers: [
// {
// id:'t0', label:'T0', name:'Baseline', color:'#9893a6', cr:'148,147,166',
// icon:'○', suite:'Current', locked:false, cost:'Free', score:'0–5', recovery:'-',
// desc:'Eli as he is. Unremarkable male-presenting.',
// cats: []
// },
{
id:'t1', label:'T1', name:'Facial Augmentation', color:'#e84393', cr:'232,67,147',
icon:'◈', suite:'Suite 1', locked:false, cost:'200–4,500 $', score:'+8 to +25', recovery:'6–12 hrs/feature',
desc:'Facial bone structure, features, and skin modification. Most visible tier - transforms on-camera appearance dramatically.',
cats: [
{ id:'jawline', name:'Jawline', icon:'◻', opts:[
{ name:'Soft', cost:600, score:'+3', excl:true, desc:'Rounded, youthful contour. Eliminates masculine angles entirely. Girl-next-door.', effect:'Broad appeal. Softens on-camera reads.', recovery:'8 hrs', placeholder:'◻' },
{ name:'Angular-Feminine', cost:800, score:'+4', excl:true, desc:'High cheekbones with a defined but delicate jaw. Model-tier. Think editorial beauty.', effect:'+Whale attraction. Editorial aesthetic.', recovery:'10 hrs', placeholder:'◻' },
{ name:'Heart-Shaped', cost:700, score:'+3', excl:true, desc:'Pointed chin, wide cheekbones. Anime-esque. Maximum cute factor.', effect:'+Fetishist and weeb fanbase.', recovery:'8 hrs', placeholder:'◻' },
{ name:'V-Line', cost:900, score:'+4', excl:true, desc:'Extremely tapered chin, slim lower face. K-beauty ideal.', effect:'+Korean fanbase demographic. Pairs with K-Beauty combo.', recovery:'10 hrs', placeholder:'◻' },
]},
{ id:'lips', name:'Lips', icon:'◇', opts:[
{ name:'Natural-Full', cost:400, score:'+2', desc:'Subtly plumped. Looks like good genetics, not work.', effect:'Mainstream appeal. Passes as natural.', recovery:'6 hrs', placeholder:'◇' },
{ name:'Plush', cost:500, score:'+2', desc:'Noticeably full, soft, inviting. Streams well on camera.', effect:'+Camera performance. Mid-range appeal.', recovery:'6 hrs', placeholder:'◇' },
{ name:"Bee-Stung", cost:600, score:'+2', excl:false, desc:'Dramatic pout. Oversized upper lip. Polarizing - some fans love it, some think it\'s too much.', effect:'Divides chat. Dedicated fans tip more.', recovery:'6 hrs', placeholder:'◇' },
{ name:"Cupid's Bow", cost:450, score:'+2', desc:'Exaggerated dip in upper lip. Classic feminine shape. Elegant.', effect:'Romantic fan attraction. Pairs with Doll Face combo.', recovery:'6 hrs', placeholder:'◇' },
{ name:'Pillow', cost:700, score:'+3', desc:'Extremely full both top and bottom. Instagram lips. Maximum sex appeal, lowest subtlety.', effect:'+Fetishist income. Pairs with E-Girl Special combo.', recovery:'7 hrs', placeholder:'◇' },
]},
{ id:'eyes', name:'Eyes', icon:'◉', opts:[
{ name:'Wider-Set', cost:500, score:'+2', desc:'Opens the face. Creates an innocent, approachable look.', effect:'+Mainstream appeal.', recovery:'8 hrs', placeholder:'◉' },
{ name:'Cat-Eye', cost:600, score:'+3', desc:'Upswept outer corners. Seductive, sharp, predatory.', effect:'+Seduction stat. Pairs with Model Tier combo.', recovery:'8 hrs', placeholder:'◉' },
{ name:'Doe-Eye', cost:550, score:'+3', desc:'Large, round, expressive. Maximum kawaii appeal.', effect:'+Fetishist/weeb fanbase. Pairs with Doll Face.', recovery:'8 hrs', placeholder:'◉' },
{ name:'Almond', cost:500, score:'+2', desc:'Balanced, elegant shape. Versatile - works with any other facial choice.', effect:'Neutral versatile base.', recovery:'8 hrs', placeholder:'◉' },
{ name:'Fox-Eye', cost:650, score:'+3', desc:'Elongated, slightly hooded. Trendy, mysterious, editorial.', effect:'+Editorial aesthetic. K-Beauty combo component.', recovery:'8 hrs', placeholder:'◉' },
]},
{ id:'eye_color', name:'Eye Color (Add-On)', icon:'✦', opts:[
{ name:'Violet', cost:200, score:'+1', desc:'Striking, unnatural, anime-coded. Fetishist fans love it.', effect:'+Clout. Unique visual hook.', recovery:'-', placeholder:'✦' },
{ name:'Emerald', cost:200, score:'+1', desc:'Rich green. Classic beauty.', effect:'Broad appeal.', recovery:'-', placeholder:'✦' },
{ name:'Amber/Gold', cost:200, score:'+1', desc:'Warm, exotic. Pairs well with darker skin tones.', effect:'+Exotic appeal.', recovery:'-', placeholder:'✦' },
{ name:'Ice Blue', cost:200, score:'+1', desc:'Piercing, intimidating, magnetic.', effect:'+Mystery. Memorable.', recovery:'-', placeholder:'✦' },
{ name:'Heterochromia', cost:200, score:'+2', desc:'Two different colors. Unique gimmick. Viral potential.', effect:'+Clout bonus. Viral clip potential.', recovery:'-', placeholder:'✦' },
]},
{ id:'skin', name:'Skin Tone', icon:'◌', opts:[
{ name:'Porcelain', cost:500, score:'+2', excl:true, desc:'Pale, flawless, luminous. Zero blemishes. Reflects light beautifully on camera.', effect:'+Camera quality bonus.', recovery:'4 hrs', placeholder:'◌' },
{ name:'Sun-Kissed', cost:500, score:'+2', excl:true, desc:'Warm golden tone with a natural glow. Beach-girl energy.', effect:'+Lifestyle appeal.', recovery:'4 hrs', placeholder:'◌' },
{ name:'Caramel', cost:500, score:'+2', excl:true, desc:'Rich, warm brown. Smooth and even.', effect:'+Diversity appeal.', recovery:'4 hrs', placeholder:'◌' },
{ name:'Ebony', cost:500, score:'+2', excl:true, desc:'Deep, dark, radiant. Striking contrast with any eye/hair color.', effect:'+Unique visual contrast.', recovery:'4 hrs', placeholder:'◌' },
{ name:'Olive', cost:500, score:'+2', excl:true, desc:'Mediterranean warmth. Tans-don\'t-burn energy.', effect:'+Exotic appeal.', recovery:'4 hrs', placeholder:'◌' },
{ name:'Rose', cost:550, score:'+2', excl:true, desc:'Fair with natural pink undertones. Blushes easily - visible on stream.', effect:'Fans see emotions more clearly. +Cute reactions.', recovery:'4 hrs', placeholder:'◌' },
{ name:'Honey', cost:500, score:'+2', excl:true, desc:'Golden-brown midtone. Versatile, universally flattering.', effect:'+Broad demographic appeal.', recovery:'4 hrs', placeholder:'◌' },
]},
{ id:'skin_addons', name:'Skin Add-Ons', icon:'✧', opts:[
{ name:'Blemish Purge', cost:200, score:'+1', desc:'Removes all acne, scars, dark spots permanently.', effect:'+Camera quality.', recovery:'2 hrs', placeholder:'✧' },
{ name:'Glow Treatment', cost:300, score:'+1', desc:'Subtle luminescence. Skin looks lit from within. Insane on camera.', effect:'+Viewer retention. Sponsors notice.', recovery:'2 hrs', placeholder:'✧' },
{ name:'Freckle Pattern', cost:150, score:'+1', desc:'Natural-looking scattered freckles. Girl-next-door boost.', effect:'+Relatability. Pairs with E-Girl Special combo.', recovery:'1 hr', placeholder:'✧' },
{ name:'Beauty Mark', cost:100, score:'+1', desc:'Single placed mole - cheek, lip corner, etc. Classic.', effect:'+Memorable visual signature.', recovery:'30 min', placeholder:'✧' },
{ name:'Pore Refinement', cost:250, score:'+1', desc:'Invisible pores. Skin looks airbrushed IRL.', effect:'+Photo content quality.', recovery:'1 hr', placeholder:'✧' },
]},
{ id:'nose', name:'Nose', icon:'▽', opts:[
{ name:'Button', cost:500, score:'+2', excl:true, desc:'Small, rounded, upturned tip. Cute and youthful.', effect:'+Kawaii appeal. Pairs with Doll Face combo.', recovery:'8 hrs', placeholder:'▽' },
{ name:'Slope', cost:500, score:'+2', excl:true, desc:'Straight bridge, gently angled. Classic feminine profile.', effect:'+Mainstream appeal.', recovery:'8 hrs', placeholder:'▽' },
{ name:'Refined', cost:600, score:'+2', excl:true, desc:'Narrowed bridge, defined tip. Elegant, aristocratic.', effect:'+High-status aesthetic.', recovery:'8 hrs', placeholder:'▽' },
{ name:'Pixie', cost:550, score:'+2', excl:true, desc:'Tiny, upturned, almost cartoonishly cute. Anime-adjacent.', effect:'+Weeb fanbase.', recovery:'8 hrs', placeholder:'▽' },
{ name:'Sculpted', cost:650, score:'+3', excl:true, desc:'Straight with precise angles. High-fashion.', effect:'+Editorial. Pairs with Model Tier combo.', recovery:'10 hrs', placeholder:'▽' },
]},
{ id:'cheekbones', name:'Cheekbones', icon:'◆', opts:[
{ name:'High & Defined', cost:500, score:'+2', desc:'Prominent, model-like. Creates shadows that photograph beautifully.', effect:'+Photo content. Pairs with Model Tier.', recovery:'8 hrs', placeholder:'◆' },
{ name:'Soft & Full', cost:400, score:'+2', desc:'Rounded, youthful fullness. Approachable, cute.', effect:'+Relatable appeal.', recovery:'6 hrs', placeholder:'◆' },
{ name:'Glass-Skin Contour', cost:600, score:'+3', desc:'Subtle definition with ultra-smooth surface. K-beauty ideal.', effect:'+K-Beauty combo component.', recovery:'8 hrs', placeholder:'◆' },
{ name:'Apple Cheeks', cost:450, score:'+2', desc:'Full, high, naturally blushing appearance. Sweet.', effect:'+Cute reactions. Pairs with Doll Face combo.', recovery:'6 hrs', placeholder:'◆' },
]},
{ id:'brow', name:'Brow Sculpt', icon:'⌒', opts:[
{ name:'Arched', cost:300, score:'+1', desc:'Classic feminine arch. Opens the eye area.', effect:'+Expressiveness on camera.', recovery:'4 hrs', placeholder:'⌒' },
{ name:'Straight', cost:300, score:'+1', desc:'Youthful, Korean-style straight brow.', effect:'+K-Beauty combo component.', recovery:'4 hrs', placeholder:'⌒' },
{ name:'Feathered', cost:300, score:'+1', desc:'Soft, natural-looking with slight arch.', effect:'+Natural believability.', recovery:'4 hrs', placeholder:'⌒' },
{ name:'High-Lift', cost:500, score:'+2', desc:'Brow bone reduced, brows lifted. Maximum forehead feminization.', effect:'+Passing score. Hard to reverse.', recovery:'8 hrs', placeholder:'⌒' },
]},
{ id:'eyelashes', name:'Eyelashes', icon:'∿', opts:[
{ name:'Natural-Long', cost:200, score:'+1', desc:'Dense, dark, naturally long. No maintenance needed.', effect:'+Camera baseline.', recovery:'2 hrs', placeholder:'∿' },
{ name:'Dramatic-Curl', cost:300, score:'+1', desc:'Thick, curled, visible from across a room. Camera-ready always.', effect:'+Stream visual quality.', recovery:'2 hrs', placeholder:'∿' },
{ name:'Wispy', cost:250, score:'+1', desc:'Soft, fluttery, doll-like.', effect:'+Kawaii appeal.', recovery:'2 hrs', placeholder:'∿' },
{ name:'Volume-Max', cost:350, score:'+1', desc:'Extremely thick and dark. Borderline theatrical. Bold.', effect:'+Bold visual signature.', recovery:'3 hrs', placeholder:'∿' },
]},
{ id:'ears', name:'Ears', icon:'◑', opts:[
{ name:'Refined', cost:200, score:'+1', desc:'Slightly smaller, closer to head. Clean silhouette.', effect:'+Passing score.', recovery:'3 hrs', placeholder:'◑' },
{ name:'Elfin', cost:350, score:'+1', desc:'Subtly pointed tips. Fantasy/cosplay appeal. Niche fan favorite.', effect:'+Cosplay niche. Unlocks Elf cosplay streams.', recovery:'4 hrs', placeholder:'◑' },
{ name:'Detached-Lobe', cost:150, score:'+1', desc:'Aesthetic earlobe shape for earring display.', effect:'+Earring content options.', recovery:'2 hrs', placeholder:'◑' },
]},
{ id:'t1_combos', name:'Combo Bonuses', icon:'★', isCombo:true, opts:[
{ name:'Doll Face', cost:0, score:'+3 bonus', desc:'Doe-Eye + Button Nose + Cupid\'s Bow Lips + Apple Cheeks. Requires all four components.', effect:'+3 bonus Appearance. Fetishist fan spike. Unique dialogue paths.', recovery:'-', placeholder:'★' },
{ name:'Model Tier', cost:0, score:'+4 bonus', desc:'Cat-Eye + Sculpted Nose + Angular-Feminine Jaw + High Cheekbones. All four required.', effect:'+4 bonus Appearance. Whale attraction multiplier.', recovery:'-', placeholder:'★' },
{ name:'K-Beauty', cost:0, score:'+5 bonus', desc:'Fox-Eye + V-Line Jaw + Glass-Skin Contour + Straight Brow + Porcelain Skin. All five required.', effect:'+5 bonus Appearance. Unlocks Korean fanbase demographic.', recovery:'-', placeholder:'★' },
{ name:'E-Girl Special', cost:0, score:'+4 Clout', desc:'Doe-Eye + Heart-Shaped Jaw + Pillow Lips + Freckles + Heterochromia. All five required.', effect:'+4 bonus Clout. Viral social media potential. Unique stream aesthetic.', recovery:'-', placeholder:'★' },
]},
]
},
{
id:'t2', label:'T2', name:'Voice Modulation', color:'#a855f7', cr:'168,85,247',
icon:'♪', suite:'Suite 2', locked:false, cost:'1,200–3,500 $', score:'+5 to +10', recovery:'4 hrs (no stream 1 day)',
desc:'Complete vocal feminization. Permanent base voice type with stackable add-ons. No streaming for 24hrs post-procedure.',
cats: [
{ id:'voice_base', name:'Base Voice Type', icon:'♪', opts:[
{ name:'Sweet/Breathy', cost:1500, score:'+5', excl:true, desc:'Soft, airy, slightly high. Classic e-girl voice. Maximum simp appeal. Sounds like ASMR by default.', effect:'+Simp income. Unlocks ASMR stream potential.', recovery:'4 hrs', placeholder:'♪' },
{ name:'Husky/Low-Feminine', cost:1500, score:'+5', excl:true, desc:'Sultry, smoky, mature. Think lounge singer. Attracts older, wealthier fans.', effect:'+Whale income. Older demographic attraction.', recovery:'4 hrs', placeholder:'♪' },
{ name:'Bright/Energetic', cost:1500, score:'+5', excl:true, desc:'Bubbly, upbeat, expressive. Streamer-girl energy. Broad appeal, younger demographic.', effect:'+Mainstream appeal. Fastest viewer growth.', recovery:'4 hrs', placeholder:'♪' },
{ name:'Melodic', cost:2000, score:'+6', excl:true, desc:'Musical quality, pitch-perfect modulation. Singing voice included. Unlocks karaoke streams.', effect:'+Music stream category unlocked. Karaoke revenue.', recovery:'4 hrs', placeholder:'♪' },
{ name:'Whisper-Core', cost:1800, score:'+6', excl:true, desc:'Permanently soft-spoken, intimate-sounding. Every word sounds like a secret. ASMR goddess tier.', effect:'+ASMR revenue ×200%. Unlocks dedicated ASMR category.', recovery:'4 hrs', placeholder:'♪' },
]},
{ id:'voice_addons', name:'Voice Add-Ons', icon:'♬', opts:[
{ name:'Giggle Package', cost:300, score:'+1', desc:'Natural, infectious feminine laugh. Multiple variants: shy giggle, full laugh, snort-laugh.', effect:'+Chat engagement. Viral clip moments.', recovery:'-', placeholder:'♬' },
{ name:'Moan Mapping', cost:500, score:'+1', desc:'Involuntary sounds now register as feminine. Critical for physical encounters later.', effect:'+Physical encounter satisfaction. Required for GFE Voice combo.', recovery:'-', placeholder:'♬' },
{ name:'Vocal Fry Option', cost:200, score:'+1', desc:'Toggle-able subtle vocal fry for chill girl persona.', effect:'Aesthetic versatility. Alt-girl demographic.', recovery:'-', placeholder:'♬' },
{ name:'Multilingual Accent Pack', cost:800, score:'+2', desc:'Can shift between accents - Japanese, French, British, etc. Fan service for international viewers.', effect:'+International viewer revenue. Accent request donations.', recovery:'-', placeholder:'♬' },
{ name:'Singing Range Extension', cost:600, score:'+2', desc:'Full octave range. Enables singing streams, karaoke, original music content.', effect:'+Music stream category. Pairs with Idol Package combo.', recovery:'-', placeholder:'♬' },
{ name:'Whisper Mode', cost:300, score:'+1', desc:'Ultra-quiet register that\'s still perfectly audible on mic. ASMR gold.', effect:'+ASMR content quality. Pairs with ASMR Queen combo.', recovery:'-', placeholder:'♬' },
{ name:'Emotional Resonance', cost:400, score:'+1', desc:'Voice naturally cracks/trembles with genuine emotion. Feels real. Romantic fans adore this.', effect:'+Romantic fan income. GFE Voice combo component.', recovery:'-', placeholder:'♬' },
]},
{ id:'t2_combos', name:'Combo Bonuses', icon:'★', isCombo:true, opts:[
{ name:'ASMR Queen', cost:0, score:'×200% ASMR', desc:'Whisper-Core + Whisper Mode + Moan Mapping. All three required.', effect:'Unlocks dedicated ASMR stream category. +200% donation rate during quiet streams.', recovery:'-', placeholder:'★' },
{ name:'Idol Package', cost:0, score:'+Music unlock', desc:'Melodic + Singing Range + Giggle Package. All three required.', effect:'Unlocks Music stream category. Original song creation. Fan chants.', recovery:'-', placeholder:'★' },
{ name:'GFE Voice', cost:0, score:'+15% all income', desc:'Sweet/Breathy + Emotional Resonance + Moan Mapping. All three required.', effect:'+15% income on all private interactions. "She really likes me" fan psychology.', recovery:'-', placeholder:'★' },
]},
]
},
{
id:'t3', label:'T3', name:'Hair Redesign', color:'#f472b6', cr:'244,114,182',
icon:'≋', suite:'Suite 2', locked:false, cost:'800–3,500 $', score:'+3 to +8', recovery:'2 hrs',
desc:'Complete hair restructuring - length, texture, color, bangs, and hairline. Instant results, zero maintenance post-procedure.',
cats: [
{ id:'hair_length', name:'Length', icon:'≋', opts:[
{ name:'Pixie', cost:300, score:'+1', excl:true, desc:'Short, cropped, edgy. Tomboyish appeal. Niche but dedicated fans.', effect:'+Alt/tomboy niche.', recovery:'2 hrs', placeholder:'≋' },
{ name:'Bob', cost:400, score:'+2', excl:true, desc:'Chin-length. Clean, modern, versatile.', effect:'+Mainstream feminine.', recovery:'2 hrs', placeholder:'≋' },
{ name:'Shoulder', cost:500, score:'+2', excl:true, desc:'Medium length. Mainstream feminine. Easy to style on stream.', effect:'+Broad appeal.', recovery:'2 hrs', placeholder:'≋' },
{ name:'Mid-Back', cost:600, score:'+3', excl:true, desc:'Long, flowing. Classic beauty. High-maintenance appearance with zero actual maintenance.', effect:'+Romantic appeal. Bombshell combo component.', recovery:'2 hrs', placeholder:'≋' },
{ name:'Waist-Length', cost:700, score:'+3', excl:true, desc:'Dramatic length. Princess/goddess aesthetic.', effect:'+Anime Protagonist combo component.', recovery:'2 hrs', placeholder:'≋' },
{ name:'Floor-Length', cost:900, score:'+4', excl:true, desc:'Extreme. Rapunzel-coded. Fetishist magnet. Impractical but iconic.', effect:'+Fetishist income. Unique visual identity.', recovery:'2 hrs', placeholder:'≋' },
]},
{ id:'hair_texture', name:'Texture', icon:'〜', opts:[
{ name:'Silk-Straight', cost:300, score:'+1', excl:true, desc:'Sleek, glossy, moves like water.', effect:'+Elegant aesthetic.', recovery:'1 hr', placeholder:'〜' },
{ name:'Soft Wave', cost:300, score:'+1', excl:true, desc:'Gentle, beachy waves. Effortless beauty.', effect:'+Lifestyle aesthetic.', recovery:'1 hr', placeholder:'〜' },
{ name:'Defined Curl', cost:350, score:'+1', excl:true, desc:'Bouncy ringlets. Volume and personality.', effect:'+Personality expression.', recovery:'1 hr', placeholder:'〜' },
{ name:'Tight Coil', cost:350, score:'+1', excl:true, desc:'Afro-textured. Natural, powerful, striking.', effect:'+Unique identity.', recovery:'1 hr', placeholder:'〜' },
{ name:'Volumetric Blow-Out', cost:400, score:'+2', excl:true, desc:'Perpetually styled, big-hair energy. 80s/modern bombshell.', effect:'+Bombshell combo component. Dramatic presence.', recovery:'1 hr', placeholder:'〜' },
]},
{ id:'hair_color', name:'Color', icon:'◐', opts:[
{ name:'Platinum Blonde', cost:300, score:'+1', excl:true, desc:'Ice-white blonde. Attention-grabbing.', effect:'+Bombshell aesthetic.', recovery:'1 hr', placeholder:'◐' },
{ name:'Honey Blonde', cost:250, score:'+1', excl:true, desc:'Warm golden. Girl-next-door.', effect:'+Approachable appeal.', recovery:'1 hr', placeholder:'◐' },
{ name:'Ash Brown', cost:200, score:'+1', excl:true, desc:'Cool-toned brunette. Subtle elegance.', effect:'+Classy aesthetic.', recovery:'1 hr', placeholder:'◐' },
{ name:'Jet Black', cost:200, score:'+1', excl:true, desc:'Deep, glossy black. Dramatic contrast.', effect:'+Striking visuals.', recovery:'1 hr', placeholder:'◐' },
{ name:'Cherry Red', cost:350, score:'+1', excl:true, desc:'Deep, unnatural red. Bold, e-girl aesthetic.', effect:'+Alt-girl niche.', recovery:'1 hr', placeholder:'◐' },
{ name:'Pastel Pink', cost:400, score:'+2', excl:true, desc:'Soft bubblegum. Maximum cute.', effect:'+Kawaii appeal. Anime Protagonist combo.', recovery:'1 hr', placeholder:'◐' },
{ name:'Lavender', cost:400, score:'+2', excl:true, desc:'Light purple. Dreamy, anime-coded.', effect:'+Weeb fanbase.', recovery:'1 hr', placeholder:'◐' },
{ name:'Mint Green', cost:400, score:'+2', excl:true, desc:'Fresh, unusual. Alt-girl aesthetic.', effect:'+Alt niche.', recovery:'1 hr', placeholder:'◐' },
{ name:'Rainbow Gradient', cost:600, score:'+3', excl:true, desc:'All colors blended. Maximum attention. Festival queen.', effect:'+Viral potential. Maximum clout.', recovery:'1 hr', placeholder:'◐' },
{ name:'Color-Shift', cost:800, score:'+3', excl:true, desc:'Changes hue based on lighting angle. RegenaForm proprietary tech. Mesmerizing on camera.', effect:'+Unique visual hook. Sponsors approach you.', recovery:'1 hr', placeholder:'◐' },
]},
{ id:'hair_bangs', name:'Bangs / Fringe', icon:'⌐', opts:[
{ name:'Blunt Bangs', cost:150, score:'+1', desc:'Straight across. Doll-like. Frames face.', effect:'+Doll aesthetic.', recovery:'30 min', placeholder:'⌐' },
{ name:'Curtain Bangs', cost:150, score:'+1', desc:'Parted in center, framing cheeks. Soft, romantic.', effect:'+Romantic appeal.', recovery:'30 min', placeholder:'⌐' },
{ name:'Side-Swept', cost:150, score:'+1', desc:'Asymmetric sweep. Adds mystery, covers one eye partially.', effect:'+Mystery. Unique silhouette.', recovery:'30 min', placeholder:'⌐' },
{ name:'Wispy', cost:100, score:'+1', desc:'Thin, airy fringe. Youthful.', effect:'+Youthful look.', recovery:'30 min', placeholder:'⌐' },
{ name:'Hime Cut', cost:200, score:'+1', desc:'Straight bangs + sidelocks. Japanese princess style. Otaku fanbase loves this.', effect:'+Otaku demographic. Anime Protagonist combo component.', recovery:'30 min', placeholder:'⌐' },
]},
{ id:'hair_hairline', name:'Hairline', icon:'∩', opts:[
{ name:'Rounded Hairline', cost:400, score:'+2', desc:'Eliminates masculine M-shape. Smooth, oval frame.', effect:'+Passing score. Removes most obvious masculine tell.', recovery:'4 hrs', placeholder:'∩' },
{ name:"Widow's Peak Softening", cost:300, score:'+1', desc:'Retains slight peak but feminizes it.', effect:'+Subtle improvement.', recovery:'3 hrs', placeholder:'∩' },
{ name:'Baby Hair Framing', cost:200, score:'+1', desc:'Soft, fine hairs along temples and forehead. Natural, delicate.', effect:'+Natural believability.', recovery:'2 hrs', placeholder:'∩' },
]},
{ id:'t3_combos', name:'Combo Bonuses', icon:'★', isCombo:true, opts:[
{ name:'Anime Protagonist', cost:0, score:'+5 Clout', desc:'Waist-Length + Silk-Straight + Pastel Pink or Lavender + Hime Cut.', effect:'+5 Clout. Unlocks Cosplay stream category.', recovery:'-', placeholder:'★' },
{ name:'Bombshell', cost:0, score:'×1.5 Whales', desc:'Mid-Back + Volumetric Blow-Out + Platinum Blonde + Side-Swept.', effect:'+Whale attraction multiplier ×1.5.', recovery:'-', placeholder:'★' },
{ name:'Alt Queen', cost:0, score:'+Fetishist boost', desc:'Bob or Pixie + Any Unnatural Color + Split Dye.', effect:'+Fetishist fanbase boost. Unlocks Alt/Punk stream aesthetic.', recovery:'-', placeholder:'★' },
]},
]
},
{
id:'t4', label:'T4', name:'Body Contour', color:'#60a5fa', cr:'96,165,250',
icon:'◎', suite:'Suite 3', locked:false, cost:'3,000–8,000 $', score:'+5 to +12', recovery:'24 hrs',
desc:'Full torso and body structural modification. Waist, shoulders, ribcage, neck, limbs, and height adjustment.',
cats: [
{ id:'waist', name:'Waist Narrowing', icon:')(', opts:[
{ name:'Subtle Taper', cost:2000, score:'+3', excl:true, desc:'2–3 inch reduction. Noticeable in fitted clothing but passable as good genetics.', effect:'+Natural passing.', recovery:'24 hrs', placeholder:')(' },
{ name:'Defined Hourglass', cost:3000, score:'+5', excl:true, desc:'4–5 inch reduction. Clear feminine waist. Visible in all clothing.', effect:'+Model Body combo component.', recovery:'24 hrs', placeholder:')(' },
{ name:'Extreme Cinch', cost:4500, score:'+7', excl:true, desc:'6+ inch reduction. Corset-waist proportions without a corset. Dramatic, almost cartoonish curves.', effect:'+Petite Package combo component.', recovery:'24 hrs', placeholder:')(' },
{ name:'Wasp Waist', cost:6000, score:'+8', excl:true, desc:'Maximum reduction. Physically impossible without biotech. Fetish-tier proportions.', effect:'+Maximum fetishist income. Unique narrative paths.', recovery:'24 hrs', placeholder:')(' },
]},
{ id:'shoulders', name:'Shoulder Narrowing', icon:'←→', opts:[
{ name:'Subtle Reduction', cost:1500, score:'+2', desc:'1–2 inches off shoulder width. Balances proportions.', effect:'+Passing score improvement.', recovery:'24 hrs', placeholder:'←→' },
{ name:'Feminine Frame', cost:2500, score:'+4', desc:'Full restructuring to female-typical shoulder width.', effect:'+Model Body combo component.', recovery:'24 hrs', placeholder:'←→' },
{ name:'Delicate', cost:3000, score:'+5', desc:'Narrower than average female. Petite, fragile-looking.', effect:'+Petite Package combo component.', recovery:'24 hrs', placeholder:'←→' },
]},
{ id:'neck', name:'Neck & Throat', icon:'|', opts:[
{ name:"Adam's Apple Reduction", cost:800, score:'+3', desc:'Flattened laryngeal prominence. Smooth throat line.', effect:'+Critical passing score. Removes most obvious tell.', recovery:'8 hrs', placeholder:'|' },
{ name:'Neck Slimming', cost:600, score:'+2', desc:'Slightly narrowed, elongated. Swan-neck aesthetic.', effect:'+Elegant appearance.', recovery:'8 hrs', placeholder:'|' },
{ name:'Full Throat Feminization', cost:1200, score:'+4', desc:'Both reduction + slimming. Complete package.', effect:'+Model Body combo. Maximum passing.', recovery:'12 hrs', placeholder:'|' },
]},
{ id:'body_skin', name:'Full-Body Skin', icon:'◌', opts:[
{ name:'Full-Body Skin Match', cost:1000, score:'+2', desc:'Extends facial skin tone/quality to entire body. Eliminates tan lines, body acne, scars.', effect:'+Photo and physical content quality.', recovery:'4 hrs', placeholder:'◌' },
{ name:'Body Hair Elimination', cost:800, score:'+2', desc:'Permanent removal of all body hair below eyebrows. Selective keep options available.', effect:'+Physical encounter reactions. +Camera quality.', recovery:'4 hrs', placeholder:'◌' },
{ name:'Softening Treatment', cost:600, score:'+1', desc:'Skin becomes notably softer to the touch. Silky texture.', effect:'+Physical encounter satisfaction. Tactile reactions.', recovery:'3 hrs', placeholder:'◌' },
{ name:'Scent Modification', cost:400, score:'+1', desc:'Body chemistry altered to produce feminine-coded scent. Subtle floral/sweet.', effect:'+IRL encounter outcomes. Passive attraction bonus.', recovery:'2 hrs', placeholder:'◌' },
]},
{ id:'hands_feet', name:'Hands & Feet', icon:'✋', opts:[
{ name:'Hand Feminization', cost:800, score:'+1', desc:'Slimmer fingers, smaller palms, softer knuckles. Nail beds reshaped for polish.', effect:'+Hand cam content. +Rings/nail content.', recovery:'6 hrs', placeholder:'✋' },
{ name:'Foot Reduction', cost:1000, score:'+1', desc:'Resized to female proportions. Enables feminine shoe shopping. 2–3 sizes smaller.', effect:'+Shoe haul streams. Foot content if enabled.', recovery:'8 hrs', placeholder:'✋' },
{ name:'Combined', cost:1500, score:'+2', desc:'Both hands and feet feminization. Complete extremity package.', effect:'+Petite Package combo. Maximum detail feminization.', recovery:'10 hrs', placeholder:'✋' },
]},
{ id:'limbs', name:'Arm & Leg Contour', icon:'╱', opts:[
{ name:'Arm Slimming', cost:600, score:'+1', desc:'Reduced muscle mass, softer contour. Toned but feminine.', effect:'+Feminine silhouette.', recovery:'12 hrs', placeholder:'╱' },
{ name:'Leg Reshaping', cost:800, score:'+2', desc:'Thigh taper, calf slimming, overall feminine leg silhouette.', effect:'+Model Body combo component. Shorts/skirt content.', recovery:'16 hrs', placeholder:'╱' },
{ name:'Full Limb Package', cost:1200, score:'+3', desc:'Arms + legs. Complete limb feminization.', effect:'+Amazon combo. Full body transformation.', recovery:'20 hrs', placeholder:'╱' },
]},
{ id:'height', name:'Height Adjustment', icon:'↕', opts:[
{ name:'Subtle (-1–2 inches)', cost:2000, score:'+1', excl:true, desc:'Slightly reduced. Still tall-girl range.', effect:'+Natural proportions.', recovery:'24 hrs', placeholder:'↕' },
{ name:'Moderate (-3–4 inches)', cost:4000, score:'+2', excl:true, desc:'Noticeably shorter. Average female height.', effect:'+Mainstream proportions.', recovery:'24 hrs', placeholder:'↕' },
{ name:'Petite (-5+ inches)', cost:8000, score:'+3', excl:true, desc:'Significant reduction. Short queen energy. Full skeletal restructuring.', effect:'+Simp income ×2. Must protect energy. Petite Package.', recovery:'48 hrs', placeholder:'↕' },
{ name:'Taller (+1–3 inches)', cost:3000, score:'+1', excl:true, desc:'Model height. Statuesque. Some fans prefer tall.', effect:'+Amazon combo. Unique tall-girl niche. Dedicated Whale demographic.', recovery:'24 hrs', placeholder:'↕' },
]},
{ id:'t4_combos', name:'Combo Bonuses', icon:'★', isCombo:true, opts:[
{ name:'Model Body', cost:0, score:'+4 + Fashion unlock', desc:'Defined Hourglass + Feminine Frame + Full Throat + Leg Reshaping. All four required.', effect:'+4 bonus Appearance. Unlocks Fashion/Try-On stream category.', recovery:'-', placeholder:'★' },
{ name:'Petite Package', cost:0, score:'×2 Simp income', desc:'Extreme Cinch + Delicate Shoulders + Petite Height + Hand/Foot Feminization.', effect:'+Simp fanbase ×2. Must protect energy. Unique dialogue options.', recovery:'-', placeholder:'★' },
{ name:'Amazon', cost:0, score:'+Whale niche', desc:'Subtle Taper + Taller + Leg Reshaping + Feminine Frame.', effect:'+Unique tall-girl niche. Dedicated Whale demographic.', recovery:'-', placeholder:'★' },
]},
]
},
{
id:'t5', label:'T5', name:'Breasts', color:'#f59e0b', cr:'245,158,11',
icon:'◉', suite:'Suite 3', locked:false, cost:'5,000–25,000 $', score:'+8 to +18', recovery:'24–48 hrs',
desc:'Full breast development. Requires T4 waist modification first. Size, shape, nipple config, sensitivity, and physics.',
cats: [
{ id:'breast_size', name:'Size', icon:'○', opts:[
{ name:'AA (Barely There)', cost:3000, score:'+4', excl:true, desc:'Just a hint of development. Flat-adjacent. Tomboy/androgynous appeal.', effect:'+Androgynous niche.', recovery:'24 hrs', placeholder:'○' },
{ name:'A (Subtle)', cost:5000, score:'+6', excl:true, desc:'Small but present. Natural-looking on a slim frame. "Is she or isn\'t she?"', effect:'+Natural passing.', recovery:'24 hrs', placeholder:'○' },
{ name:'B (Modest)', cost:6000, score:'+8', excl:true, desc:'Clearly feminine. Fits tastefully in most tops. Mainstream appeal.', effect:'+Mainstream feminine.', recovery:'24 hrs', placeholder:'○' },
{ name:'C (Noticeable)', cost:8000, score:'+10', excl:true, desc:'Can\'t be hidden. Cleavage in V-necks. Sweet spot between natural and wow.', effect:'+Natural Beauty combo. Broad appeal.', recovery:'24 hrs', placeholder:'○' },
{ name:'D (Attention-Grabbing)', cost:10000, score:'+12', excl:true, desc:'Unmistakable. Bounces. Chat will never stop talking about them.', effect:'+Fetishist income. Chat engagement boost.', recovery:'36 hrs', placeholder:'○' },
{ name:'DD/E (Dominant)', cost:13000, score:'+14', excl:true, desc:'Large. Prominent. Changes posture, silhouette, everything.', effect:'+Fetishist income significant.', recovery:'36 hrs', placeholder:'○' },
{ name:'F (Extreme)', cost:16000, score:'+16', excl:true, desc:'Huge. Impractical. Pure fan service. Fetish territory.', effect:'+Bimbo Path combo. Fetishist ×3.', recovery:'48 hrs', placeholder:'○' },
{ name:'G+ (Maximum)', cost:20000, score:'+18', excl:true, desc:'Absurd. Cartoonish. RegenaForm structural tech makes them functional. Ultimate fetish appeal.', effect:'+Maximum fetishist income. Unique narrative branches.', recovery:'48 hrs', placeholder:'○' },
]},
{ id:'breast_shape', name:'Shape', icon:'◗', opts:[
{ name:'Teardrop', cost:0, score:'+0', excl:true, desc:'Fuller at bottom, gradual slope. Most natural-looking.', effect:'+Natural passing. Most versatile.', recovery:'-', placeholder:'◗' },
{ name:'Round', cost:500, score:'+1', excl:true, desc:'Even fullness top and bottom. Augmented look. Camera-perfect.', effect:'+Camera quality.', recovery:'-', placeholder:'◗' },
{ name:'Perky', cost:500, score:'+1', excl:true, desc:'Upward-pointing, defying gravity. Youthful.', effect:'+E-Girl Starter combo component.', recovery:'-', placeholder:'◗' },
{ name:'Natural-Hang', cost:0, score:'+1', excl:true, desc:'Slight droop, heavy fullness. Realistic, mature appeal.', effect:'+Mature fan attraction. Milk Maiden combo.', recovery:'-', placeholder:'◗' },
{ name:'Bubble', cost:500, score:'+1', excl:true, desc:'High, tight, pronounced. Bouncy. Athletic look.', effect:'+Sporty niche.', recovery:'-', placeholder:'◗' },
]},
{ id:'breast_nipple', name:'Nipple Configuration', icon:'◦', opts:[
{ name:'Small/Pink', cost:0, score:'+0', desc:'Delicate, light-colored areola. Innocent aesthetic.', effect:'+E-Girl Starter combo.', recovery:'-', placeholder:'◦' },
{ name:'Medium/Rose', cost:0, score:'+0', desc:'Medium size, warm pink/brown. Natural and proportional.', effect:'+Natural Beauty combo.', recovery:'-', placeholder:'◦' },
{ name:'Large/Dark', cost:0, score:'+0', desc:'Prominent areola, darker pigment. Bold, mature.', effect:'+Mature fan attraction. Bimbo Path combo.', recovery:'-', placeholder:'◦' },
{ name:'Puffy', cost:300, score:'+1', desc:'Raised, soft, pillowy areola. Niche appeal but dedicated fanbase.', effect:'+Milk Maiden combo component. Dedicated niche revenue.', recovery:'-', placeholder:'◦' },
{ name:'Inverted (toggle)', cost:500, score:'+1', desc:'Can toggle between inverted and protruding on command. Unique party trick.', effect:'+Chat interaction novelty.', recovery:'-', placeholder:'◦' },
]},
{ id:'breast_sensitivity', name:'Sensitivity Level', icon:'⚡', opts:[
{ name:'Standard', cost:0, score:'+0', desc:'Normal female breast sensitivity. Pleasant but manageable.', effect:'Normal interaction responses.', recovery:'-', placeholder:'⚡' },
{ name:'Enhanced', cost:1000, score:'+1', desc:'Heightened sensitivity. Touch causes visible reactions - flushing, quickened breath.', effect:'+30% fan satisfaction during physical encounters.', recovery:'-', placeholder:'⚡' },
{ name:'Hyper-Sensitive', cost:2000, score:'+2', desc:'Extreme sensitivity. Brush of fabric is noticeable. Touch causes involuntary reactions.', effect:'+60% fan satisfaction. Risk of losing control during streams.', recovery:'-', placeholder:'⚡' },
{ name:'Mapped-to-Arousal', cost:3000, score:'+3', desc:'Direct neural link between breast stimulation and arousal response. Cannot be faked or suppressed.', effect:'+Unique scene unlocks. Authenticity drives fan obsession. Dangerous in public.', recovery:'-', placeholder:'⚡' },
]},
{ id:'breast_bounce', name:'Bounce Physics', icon:'≈', opts:[
{ name:'Natural', cost:0, score:'+0', excl:true, desc:'Moves realistically with body motion.', effect:'+Believability.', recovery:'-', placeholder:'≈' },
{ name:'Reduced', cost:0, score:'+0', excl:true, desc:'Firmer, less motion. Sporty, contained.', effect:'+Athletic aesthetic.', recovery:'-', placeholder:'≈' },
{ name:'Enhanced', cost:800, score:'+1', excl:true, desc:'Exaggerated bounce and jiggle. Defies physics slightly. Every movement is a show.', effect:'+Bimbo Path combo. Maximum fetishist appeal.', recovery:'-', placeholder:'≈' },
]},
{ id:'t5_combos', name:'Combo Bonuses', icon:'★', isCombo:true, opts:[
{ name:'E-Girl Starter', cost:0, score:'×1.5 Simp income', desc:'B-cup + Perky + Small/Pink + Enhanced Sensitivity. All four required.', effect:'+Simp income ×1.5. "Tasteful" reputation unlock.', recovery:'-', placeholder:'★' },
{ name:'Bimbo Path', cost:0, score:'×3 Fetishist income', desc:'F+ + Round + Large/Dark + Enhanced Bounce + Hyper-Sensitive. All five required.', effect:'+Fetishist income ×3. "Shameless" reputation. Unique dialogue paths.', recovery:'-', placeholder:'★' },
{ name:'Natural Beauty', cost:0, score:'+Romantic fans', desc:'C-cup + Teardrop + Medium/Rose + Standard. All four required.', effect:'+Broadest fan appeal. Romantic fan attraction boost.', recovery:'-', placeholder:'★' },
{ name:'Milk Maiden', cost:0, score:'+Niche income', desc:'D+ + Natural-Hang + Puffy + Responsive Lactation. All four required.', effect:'+Dedicated niche following. Extremely high per-viewer revenue.', recovery:'-', placeholder:'★' },
]},
]
},
{
id:'t6', label:'T6', name:'Buttocks & Hips', color:'#22c55e', cr:'34,197,94',
icon:'◙', suite:'Suite 3', locked:false, cost:'5,000–18,000 $', score:'+6 to +15', recovery:'24–36 hrs',
desc:'Hip width, buttock size, shape, firmness, and thigh augmentation. Requires T4 waist first.',
cats: [
{ id:'hips', name:'Hip Width', icon:'◙', opts:[
{ name:'Subtle Flare', cost:2000, score:'+2', excl:true, desc:'Slight widening. Suggests feminine proportions in tight clothing.', effect:'+Passing score improvement.', recovery:'24 hrs', placeholder:'◙' },
{ name:'Feminine Standard', cost:3500, score:'+4', excl:true, desc:'Clear hip-to-waist ratio. Unmistakably female silhouette.', effect:'+Peach Emoji combo. Mainstream appeal.', recovery:'24 hrs', placeholder:'◙' },
{ name:'Wide/Breeding Hips', cost:5000, score:'+6', excl:true, desc:'Exaggerated width. Child-bearing hips aesthetic. Dominant visual feature.', effect:'+Fetishist income. BBL Fantasy combo.', recovery:'30 hrs', placeholder:'◙' },
{ name:'Extreme', cost:7000, score:'+7', excl:true, desc:'Cartoon-wide. Barely fits through doorways. Fetish-maximum.', effect:'+Impossible Curves combo. Maximum fetishist income.', recovery:'36 hrs', placeholder:'◙' },
]},
{ id:'butt_size', name:'Buttock Size', icon:'◎', opts:[
{ name:'Athletic/Toned', cost:3000, score:'+3', excl:true, desc:'Firm, compact, defined. Sporty appeal. Looks amazing in leggings.', effect:'+Athletic Goddess combo. Sporty niche.', recovery:'24 hrs', placeholder:'◎' },
{ name:'Curvy', cost:4500, score:'+5', excl:true, desc:'Noticeable roundness and projection. Fills out jeans perfectly.', effect:'+Peach Emoji combo. Mainstream appeal.', recovery:'24 hrs', placeholder:'◎' },
{ name:'Thicc', cost:6000, score:'+6', excl:true, desc:'Large, soft, attention-commanding. Jiggles when walking.', effect:'+Fetishist income boost.', recovery:'28 hrs', placeholder:'◎' },
{ name:'Exaggerated', cost:8000, score:'+8', excl:true, desc:'Extreme size. Shelf-like. Every chair is a show.', effect:'+BBL Fantasy combo. Chat interaction novelty.', recovery:'32 hrs', placeholder:'◎' },
{ name:'XXL', cost:11000, score:'+9', excl:true, desc:'Maximum. Physics-defying. Pure spectacle.', effect:'+Impossible Curves combo. Ultimate fetishist appeal.', recovery:'36 hrs', placeholder:'◎' },
]},
{ id:'butt_shape', name:'Buttock Shape', icon:'❤', opts:[
{ name:'Round', cost:0, score:'+0', excl:true, desc:'Even, spherical fullness. Classic.', effect:'+Universal appeal.', recovery:'-', placeholder:'❤' },
{ name:'Heart', cost:500, score:'+1', excl:true, desc:'Fuller at the bottom, tapered at top. Valentine-shape from behind.', effect:'+Impossible Curves combo.', recovery:'-', placeholder:'❤' },
{ name:'Shelf', cost:600, score:'+1', excl:true, desc:'Pronounced projection. Dramatic side-profile. Chat will request shelf challenges.', effect:'+Chat interaction novelty. BBL Fantasy combo.', recovery:'-', placeholder:'❤' },
{ name:'Bubble', cost:500, score:'+1', excl:true, desc:'High, tight, pronounced. Bouncy. Instagram-model proportions.', effect:'+Peach Emoji combo. Instagram content quality.', recovery:'-', placeholder:'❤' },
{ name:'Peach', cost:400, score:'+1', excl:true, desc:'Slightly bottom-heavy with a visible split line. Named for the emoji.', effect:'+Mainstream social media appeal.', recovery:'-', placeholder:'❤' },
]},
{ id:'butt_firmness', name:'Firmness', icon:'◈', opts:[
{ name:'Firm/Toned', cost:0, excl:true, score:'+0', desc:'Muscular feel under a layer of softness. Doesn\'t deform much when squeezed.', effect:'+Athletic Goddess combo.', recovery:'-', placeholder:'◈' },
{ name:'Soft', cost:300, excl:true, score:'+1', desc:'Yielding, plush. Visibly deforms under touch/sitting. Classic grab territory.', effect:'+Peach Emoji combo.', recovery:'-', placeholder:'◈' },
{ name:'Ultra-Soft', cost:600, excl:true, score:'+1', desc:'Extremely malleable. Jiggles at the slightest motion. Almost liquid feel.', effect:'+Impossible Curves combo. Maximum fetishist appeal.', recovery:'-', placeholder:'◈' },
]},
{ id:'thighs', name:'Thigh Augmentation', icon:'╣', opts:[
{ name:'Slim/Toned', cost:1000, score:'+1', desc:'Lean thighs with slight gap. Athletic.', effect:'+Athletic Goddess combo.', recovery:'12 hrs', placeholder:'╣' },
{ name:'Soft/Full', cost:1500, score:'+2', desc:'Touching thighs. Plush. Thunder thighs (affectionate).', effect:'+Peach Emoji combo.', recovery:'14 hrs', placeholder:'╣' },
{ name:'Thicc', cost:2500, score:'+3', desc:'Large, soft, prominent. Dominant leg silhouette.', effect:'+BBL Fantasy combo.', recovery:'18 hrs', placeholder:'╣' },
{ name:'Thigh Gap (add-on)', cost:500, score:'+1', desc:'Guaranteed visible gap regardless of size. Aesthetic choice.', effect:'+Certain fan demographics very appreciative.', recovery:'8 hrs', placeholder:'╣' },
]},
{ id:'t6_combos', name:'Combo Bonuses', icon:'★', isCombo:true, opts:[
{ name:'Peach Emoji', cost:0, score:'×2 booty income', desc:'Curvy + Bubble + Soft + Feminine Hips + Soft/Full Thighs.', effect:'+Mainstream appeal. Booty pic content income ×2.', recovery:'-', placeholder:'★' },
{ name:'BBL Fantasy', cost:0, score:'+Max booty content', desc:'Exaggerated + Shelf + Firm + Wide Hips + Thicc Thighs.', effect:'+Maximum booty-focused content value. Whale magnet.', recovery:'-', placeholder:'★' },
{ name:'Athletic Goddess', cost:0, score:'+Gym unlock', desc:'Athletic Butt + Toned Thighs + Subtle Hips + Firm.', effect:'+Sporty niche. Unlocks Gym/Workout stream category.', recovery:'-', placeholder:'★' },
{ name:'Impossible Curves', cost:0, score:'+Mega-fan unlock', desc:'XXL + Heart + Ultra-Soft + Extreme Hips + Erogenous Sensitivity.', effect:'+Maximum fetish value. Unique physics. Dedicated mega-fan following.', recovery:'-', placeholder:'★' },
]},
]
},
{
id:'t7', label:'T7', name:'Genital Transformation', color:'#ef4444', cr:'239,68,68',
icon:'⬡', suite:'Suite 4', locked:false, cost:'20,000–65,000 $', score:'+15 to +25', recovery:'72–120 hrs',
desc:'Complete lower anatomical transformation. Most invasive procedure. Requires T4 AND T5 completion. Mandatory consultation with Dr. Voss.',
cats: [
{ id:'t7_config', name:'Configuration', icon:'⬡', opts:[
{ name:'External Only', cost:20000, score:'+12', excl:true, desc:'Vulva appearance with surface-level sensation. Visual pass but limited depth/function. Original removed.', effect:'+Passing score maximum. Photo/visual content.', recovery:'72 hrs', placeholder:'⬡' },
{ name:'Partial Functional', cost:30000, score:'+16', excl:true, desc:'External + shallow internal canal. Penetration possible to moderate depth. Original removed.', effect:'+Physical encounter unlocks. Moderate functionality.', recovery:'96 hrs', placeholder:'⬡' },
{ name:'Full Functional', cost:40000, score:'+22', excl:true, desc:'Complete female anatomy - external vulva, full-depth vaginal canal, cervix, full sensation. Original removed.', effect:'+All physical encounter types unlocked. Complete functionality.', recovery:'120 hrs', placeholder:'⬡' },
{ name:'Dual Configuration', cost:60000, score:'+18', excl:true, desc:'Retains original AND adds female anatomy. Both fully functional. Extremely costly. Unique narrative branch.', effect:'+Unique dialogue paths. Rare fan reactions. Narrative branch exclusive.', recovery:'120 hrs', placeholder:'⬡' },
{ name:'Switchable', cost:65000, score:'+25', excl:true, prereq:true, desc:'RegenaForm experimental tech. Can alternate between configurations on command. Story-locked - requires special approval.', effect:'+Maximum narrative flexibility. Ultimate option. Requires Dr. Voss personal approval.', recovery:'120 hrs', placeholder:'⬡' },
]},
{ id:'t7_combos', name:'Combo Bonuses', icon:'★', isCombo:true, opts:[
{ name:'Consultation Required', cost:0, score:'-', desc:'All T7 options require a consultation with Dr. Voss before purchase. Visit the Consultation Room to unlock.', effect:'Speak with Dr. Voss first.', recovery:'-', placeholder:'★' },
]},
]
},
{
id:'t8', label:'T8', name:'Neural Integration', color:'#2dd4bf', cr:'45,212,191',
icon:'⟁', suite:'Suite 4', locked:false, cost:'Coming Soon', score:'Unknown', recovery:'Unknown',
desc:'Experimental neural and sensory integration. Cognitive and sensory modification. Details classified pending further development.',
cats: []
},
]
};
// ── STATE ────────────────────────────────────────────────────────────────────
var state = { tier: null, cat: null, opt: null };
// ── HELPERS ──────────────────────────────────────────────────────────────────
function el(id) { return document.getElementById(id); }
function placeholder(sym, color) {
return '<div class="mer-opt-img" style="--tc:' + color + ';--tcr:0,0,0">'
+ '<span class="opt-placeholder-icon">' + sym + '</span>'
+ '</div>';
}
// ── RENDER TIER GRID ──────────────────────────────────────────────────────────
function renderTiers() {
el('mer-cat-panel').classList.add('mer-hidden');
el('mer-opt-panel').classList.add('mer-hidden');
el('mer-tier-panel').classList.remove('mer-hidden');
el('mer-breadcrumb').innerHTML = '';
state.tier = null; state.cat = null;
var html = '<div class="mer-tier-grid">';
D.tiers.forEach(function(t) {
var lockClass = t.locked ? ' locked' : '';
var badge = t.locked
? '<span class="mer-lock-badge">🔒</span>'
: '<span class="mer-suite-badge">' + t.suite + '</span>';
html += '<div class="mer-tier-card' + lockClass + '" data-tid="' + t.id + '" style="--tc:' + t.color + ';--tcr:' + t.cr + '">'
+ badge
+ '<div class="mer-tier-icon">' + t.icon + '</div>'
+ '<div class="mer-tier-num">' + t.label + '</div>'
+ '<div class="mer-tier-name">' + t.name + '</div>'
+ '<div class="mer-tier-meta">'
+ '<div><span class="mc">Cost:</span> ' + t.cost + '</div>'
+ '<div><span class="mc">App:</span> ' + t.score + '</div>'
+ '<div><span class="mc">Recovery:</span> ' + t.recovery + '</div>'
+ '</div></div>';
});
html += '</div>';
el('mer-tier-panel').innerHTML = html;
document.querySelectorAll('.mer-tier-card').forEach(function(card) {
card.addEventListener('click', function() {
var tid = this.getAttribute('data-tid');
var tier = D.tiers.find(function(t) { return t.id === tid; });
if (!tier) return;
if (tier.locked) {
var f = el('mer-locked-flash');
if (f) {
f.classList.add('visible');
setTimeout(function() { f.classList.remove('visible'); }, 2000);
}
return;
}
if (tier.cats.length === 0) {
showTierInfo(tier);
return;
}
state.tier = tier;
renderCategories(tier);
});
});
}
function showTierInfo(tier) {
var o = el('mer-overlay');
o.style.setProperty('--tc', tier.color);
o.style.setProperty('--tcr', tier.cr);
o.classList.remove('mer-hidden');
el('mer-detail-img').textContent = tier.icon;
el('mer-detail-tier-tag').textContent = tier.label + ' - ' + tier.suite;
el('mer-detail-name').textContent = tier.name;
el('mer-detail-rows').innerHTML =
'<div class="mer-detail-row"><span class="mer-detail-label">COST</span><span class="mer-detail-val cost">' + tier.cost + '</span></div>'
+ '<div class="mer-detail-row"><span class="mer-detail-label">APPEARANCE</span><span class="mer-detail-val score">' + tier.score + '</span></div>'
+ '<div class="mer-detail-row"><span class="mer-detail-label">RECOVERY</span><span class="mer-detail-val">' + tier.recovery + '</span></div>';
el('mer-detail-desc').textContent = tier.desc;
el('mer-detail-effects').innerHTML = '<em>Select a category to view individual procedures.</em>';
el('mer-btn-purchase').textContent = 'VIEW PROCEDURES';
el('mer-btn-purchase').className = 'mer-btn-purchase locked-btn';
}
// ── RENDER CATEGORY GRID ─────────────────────────────────────────────────────
function renderCategories(tier) {
el('mer-tier-panel').classList.add('mer-hidden');
el('mer-opt-panel').classList.add('mer-hidden');
var panel = el('mer-cat-panel');
panel.classList.remove('mer-hidden');
el('mer-breadcrumb').innerHTML = '<span style="cursor:pointer" id="mer-bc-home">◉ THE MERIDIAN</span>'
+ ' › <span style="color:#e0dcea">' + tier.label + ' - ' + tier.name + '</span>';
document.getElementById('mer-bc-home').addEventListener('click', renderTiers);
var html = '<button class="mer-back-btn" id="mer-cat-back">← Back to Tiers</button>'
+ '<div class="mer-section-header">'
+ '<div class="mer-section-title" style="color:' + tier.color + '">' + tier.label + ' - ' + tier.name + '</div>'
+ '<div class="mer-section-sub">' + tier.desc + '</div>'
+ '</div>'
+ '<div class="mer-cat-grid">';
tier.cats.forEach(function(cat) {
html += '<div class="mer-cat-card" data-cid="' + cat.id + '" style="--tc:' + tier.color + ';--tcr:' + tier.cr + '">'
+ '<div class="mer-cat-icon">' + cat.icon + '</div>'
+ '<div class="mer-cat-name">' + cat.name + '</div>'
+ '<div class="mer-cat-count">' + cat.opts.length + ' option' + (cat.opts.length !== 1 ? 's' : '') + '</div>'
+ '</div>';
});
html += '</div>';
panel.innerHTML = html;
document.getElementById('mer-cat-back').addEventListener('click', renderTiers);
document.querySelectorAll('.mer-cat-card').forEach(function(card) {
card.addEventListener('click', function() {
var cid = this.getAttribute('data-cid');
var cat = tier.cats.find(function(c) { return c.id === cid; });
if (!cat) return;
state.cat = cat;
renderOptions(tier, cat);
});
});
}
// ── RENDER OPTION GRID ───────────────────────────────────────────────────────
function renderOptions(tier, cat) {
el('mer-cat-panel').classList.add('mer-hidden');
var panel = el('mer-opt-panel');
panel.classList.remove('mer-hidden');
el('mer-breadcrumb').innerHTML = '<span style="cursor:pointer" id="mer-bc-home2">◉ THE MERIDIAN</span>'
+ ' › <span style="cursor:pointer" id="mer-bc-tier2">' + tier.label + ' - ' + tier.name + '</span>'
+ ' › <span style="color:#e0dcea">' + cat.name + '</span>';
document.getElementById('mer-bc-home2').addEventListener('click', renderTiers);
document.getElementById('mer-bc-tier2').addEventListener('click', function() { renderCategories(tier); });
var isCombo = cat.isCombo;
var html = '<button class="mer-back-btn" id="mer-opt-back">← Back to ' + tier.label + '</button>'
+ '<div class="mer-section-header">'
+ '<div class="mer-section-title" style="color:' + tier.color + '">' + cat.name + '</div>'
+ '<div class="mer-section-sub">' + tier.label + ' · ' + cat.opts.length + ' options available</div>'
+ '</div>';
if (isCombo) {
html += '<div>';
cat.opts.forEach(function(opt) {
html += '<div class="mer-combo-card">'
+ '<div class="mer-combo-name">★ ' + opt.name + ' <span style="font-size:0.7rem;color:#9893a6;font-weight:normal;font-family:monospace">' + opt.score + '</span></div>'
+ '<div class="mer-combo-desc">' + opt.desc + '<br><em style="color:#2dd4bf">' + opt.effect + '</em></div>'
+ '</div>';
});
html += '</div>';
} else {
html += '<div class="mer-opt-grid">';
cat.opts.forEach(function(opt, i) {
var exclBadge = opt.excl ? '<span class="mer-excl-badge">⚔ EXCL</span>' : '';
var prereqBadge = opt.prereq ? '<span class="mer-prereq-badge">🔗 PREREQ</span>' : '';
html += '<div class="mer-opt-card" data-oidx="' + i + '" style="--tc:' + tier.color + ';--tcr:' + tier.cr + '">'
+ placeholder(opt.placeholder, tier.color)
+ '<div class="mer-opt-body">'
+ '<div class="mer-opt-name">' + opt.name + exclBadge + prereqBadge + '</div>'
+ '<div class="mer-opt-cost">' + (opt.cost > 0 ? opt.cost.toLocaleString() + ' $' : 'Included') + '</div>'
+ '<div class="mer-opt-score">App ' + opt.score + '</div>'
+ '</div></div>';
});
html += '</div>';
}
panel.innerHTML = html;
document.getElementById('mer-opt-back').addEventListener('click', function() { renderCategories(tier); });
if (!isCombo) {
document.querySelectorAll('.mer-opt-card').forEach(function(card) {
card.addEventListener('click', function() {
var idx = parseInt(this.getAttribute('data-oidx'));
showDetail(tier, cat, cat.opts[idx]);
});
});
}
}
// ── DETAIL OVERLAY ───────────────────────────────────────────────────────────
function showDetail(tier, cat, opt) {
var o = el('mer-overlay');
o.style.setProperty('--tc', tier.color);
o.style.setProperty('--tcr', tier.cr);
o.classList.remove('mer-hidden');
el('mer-detail-img').textContent = opt.placeholder;
el('mer-detail-tier-tag').textContent = tier.label + ' - ' + cat.name;
el('mer-detail-name').textContent = opt.name;
el('mer-detail-rows').innerHTML =
'<div class="mer-detail-row"><span class="mer-detail-label">COST</span><span class="mer-detail-val cost">' + (opt.cost > 0 ? opt.cost.toLocaleString() + ' $' : 'Included') + '</span></div>'
+ '<div class="mer-detail-row"><span class="mer-detail-label">APPEARANCE BONUS</span><span class="mer-detail-val score">' + opt.score + '</span></div>'
+ '<div class="mer-detail-row"><span class="mer-detail-label">RECOVERY TIME</span><span class="mer-detail-val">' + opt.recovery + '</span></div>'
+ (opt.excl ? '<div class="mer-detail-row"><span class="mer-detail-label">NOTE</span><span class="mer-detail-val" style="color:#ef4444">⚔ Mutually exclusive - one option per category</span></div>' : '')
+ (opt.prereq ? '<div class="mer-detail-row"><span class="mer-detail-label">PREREQUISITE</span><span class="mer-detail-val" style="color:#a855f7">🔗 Special approval required</span></div>' : '');
el('mer-detail-desc').textContent = opt.desc;
el('mer-detail-effects').innerHTML = '<strong style="color:var(--tc);font-size:0.7rem;letter-spacing:0.1em;font-family:monospace">GAMEPLAY EFFECT</strong><br>' + opt.effect;
var sc = (typeof State !== 'undefined' && State.variables) ? (State.variables.sc || 0) : 0;
var canAfford = sc >= opt.cost;
var btn = el('mer-btn-purchase');
if (opt.cost === 0) {
btn.textContent = 'COMBO TRACKER';
btn.className = 'mer-btn-purchase locked-btn';
} else if (!canAfford) {
btn.textContent = 'INSUFFICIENT $ (' + sc.toLocaleString() + ' / ' + opt.cost.toLocaleString() + ')';
btn.className = 'mer-btn-purchase locked-btn';
} else {
btn.textContent = 'PURCHASE - ' + opt.cost.toLocaleString() + ' $';
btn.className = 'mer-btn-purchase';
}
}
// ── INIT ─────────────────────────────────────────────────────────────────────
// Defer all DOM access until after SugarCube has rendered the passage HTML.
$(document).one(':passagedisplay', function() {
var scVal = (typeof State !== 'undefined' && State.variables) ? (State.variables.sc || 0) : 0;
var scDisp = el('mer-sc-display');
if (scDisp) scDisp.textContent = scVal.toLocaleString() + ' $';
renderTiers();
// Close overlay on button
var closeBtn = document.getElementById('mer-btn-close');
if (closeBtn) closeBtn.addEventListener('click', function() {
el('mer-overlay').classList.add('mer-hidden');
});
// Close overlay on backdrop click
var overlay = document.getElementById('mer-overlay');
if (overlay) overlay.addEventListener('click', function(e) {
if (e.target === this) el('mer-overlay').classList.add('mer-hidden');
});
});
})();
<</script>><a href="https://www.patreon.com/c/ElliePlayz" target="_blank">Patreon</a><<set $firstTimeSplash to true>>
<<set $locationImage to "images/locations/eli_apartment.jpeg">>
<<set $day to 1>>
<<set $day_step to 0>>
<<set $playerImage to "images/user/tier_0/face.jpeg">>
/ --- RIGHT SIDEBAR MODE ---
0 = real life | 1 = stream
Set this each passage to control what the right bar shows. /
<<set $right_sidebar_mode to 0>>
/ --- REAL LIFE STATS --- /
<<set $money to 47>>
<<set $loan to 0>>
<<set $appearance to 2>>
<<set $femininity to 0>>
<<set $confidence to 2>>
/* <<set $sexuality to 5>> / 0 = straight 100 = gay / */
<<set $female_attractiveness to 100>>
<<set $male_attractiveness to 0>>
<<set $stress to 90>>
<<set $corruption to 0>>
<<set $phone_msgs to []>>
/ --- STREAM STATS --- /
<<set $viewers to 0>>
<<set $followers to 54>>
<<set $donations to 0>>
<<set $sc to 0>>
/ --- HINT --- /
<<set $hint to "Go through Introduction.">><span style="color: red;">The year is 2027, and the machines took the jobs before anyone figured out what comes next.</span>
It didn't happen the way the movies promised no chrome skeletons marching through cities, no single moment where the switch flipped and humanity became obsolete. It happened the way everything happens in capitalism, gradually, then all at once. A chatbot replaced the call center. An algorithm replaced the paralegal. A vision model replaced the radiologist, the quality inspector, the truck driver, the copywriter, the graphic designer, the junior accountant, the data entry clerk, the customer service rep, the translator, the tutor, the social media manager, the content moderator, the warehouse picker, the fast-food line cook. One by one, then ten by ten, then by the thousands positions dissolving like sugar in hot water, there one quarter and gone the next, replaced by subscriptions to software that didn't need bathroom breaks or health insurance or the will to live.
<img src="images/scenes/day_1/day_1_4.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
By 2026, the unemployment numbers had stopped meaning anything because the government kept redefining "employed" to include gig work that paid less than the electricity it required. The official rate said 7%. The real number the one that counted people who'd stopped looking, people working four gig apps simultaneously to make rent, people whose "job" was selling plasma and filling out surveys for fractions of a cent was closer to 25%. A quarter of the working-age population, untethered, drifting through an economy that had automated their purpose and offered nothing in return except a login screen and a suggestion to "build your personal brand."
<img src="images/scenes/day_1/day_1_6.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
The streaming economy exploded not because people wanted to be entertainers but because there was nothing else left. Twitch, YouTube, TikTok, a dozen platforms that rose and fell like empires in fast-forward together they absorbed the displaced millions the way a sponge absorbs a flood, messily, inadequately, with most of the water ending up on the floor. Every laid-off barista became a Just Chatting streamer. Every automated-out office worker became a gaming channel. Every college graduate who discovered that their $80,000 degree qualified them for exactly zero positions that still existed sat down in front of a webcam and said "hey guys, welcome to the stream" and hoped with the quiet, animal desperation of a species watching its habitat shrink that someone would watch. Someone rarely did.
<img src="images/scenes/day_1/day_1_5.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
The streaming economy operates on the same distribution as a casino, a handful of jackpots subsidized by millions of empty pockets. The top 1% of streamers capture 90% of the revenue. The rest stream into the void, burning hours and electricity and hope, performing for audiences of bots and ghosts and one persistent troll who shows up every day to remind them they're failing. The barrier to entry is zero a laptop and a Wi-Fi connection which means the competition is infinite, which means the browse page is a graveyard of thumbnail faces scrolling past at terminal velocity, each one a person who bet their future on being interesting enough to stop the scroll.
The algorithm decides who lives and who dies. Not literally not yet but in the economic sense that matters. The recommendation engine, the browse page, the For You feed, these are the gods of the new economy, and they are neither kind nor fair. They reward engagement. They reward retention. They reward, above all else, the specific neurological response that a human face triggers in a human brain the click, the pause, the stay and some faces trigger it more than others.
<img src="images/scenes/day_1/day_1_7.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
The data is clear, uncomfortable, and universally understood by anyone who's spent a week trying to grow a channel, attractive women outperform everyone. Not because they're better at games or funnier or smarter some are, some aren't, the distribution is normal but because the audience that funds the streaming economy is predominantly male, and predominantly lonely (lonelier now, in the post-automation quiet, with fewer workplaces to meet people and fewer reasons to leave the apartment), and the algorithm has learned to feed that loneliness with faces it can't look away from. The gender gap in streaming isn't a whisper. It's a scream. A female streamer with 500 viewers will, on average, earn three to five times the donations of a male streamer with the same count. The thumbnail click-through rate for a female face is 200% higher. The subscription retention is double.
Everyone knows this. Nobody says it out loud. The industry pretends the meritocracy is real be consistent, engage with chat, find your niche because the alternative is admitting that the single most important variable in a streaming career is the genetic lottery. You can't put that in a YouTube thumbnail. Or you couldn't. Until RegenaForm.
[[RegenaForm|start_2]] | <<link "Skip Introduction">><<set $hint to "Find your Apartment and Bed">><<goto neighbourhood>><</link>>RegenaForm appeared two years ago, quietly, the way all dangerous things appear a website, a waiting list, a whisper network among streamers and influencers and the body-conscious edges of the internet. No Super Bowl ad. No billboard campaign. Just a chrome double-helix logo and a six-word tagline that embedded itself in the collective consciousness like a splinter,
<<img "images/regenaform/regenaform_logo_main.svg">>
The technology behind RegenaForm is proprietary, patented, and classified at a level that makes pharmaceutical companies look transparent. What's public is this, they use the client's own DNA as a template. Every modification every reshaped bone, every restructured tissue, every new configuration of flesh and nerve is grown from the client's genetic material, activated by a bioactive compound that switches on dormant developmental pathways in existing cells. The body doesn't reject the changes because the changes are the body. There's nothing foreign. Nothing synthetic. Nothing that a blood test or a biopsy would flag as artificial.
<img src="images/locations/regenaform_street_entrance.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
The results are immediate. The recovery is hours, not weeks. There are no scars. No suture lines. No telltale marks of any kind not a stitch, not a seam, not a single visible trace that anything was done at all. A jawline can be reshaped in forty minutes. Cheekbones restructured over a lunch break. Skin cleared, smoothed, re-toned to any shade on the human spectrum in the time it takes to watch a movie. Eyelashes grow from the same follicles they always lived in just longer, darker, denser, as if the body finally remembered what it was supposed to look like all along and that's just the face.
RegenaForm's catalog extends from the cosmetic to the radical, with nothing off the table and no procedure considered too extreme. Voices can be modulated organically not through software but through actual restructuring of the vocal cords, the larynx, the resonance chambers of the throat and sinuses, producing a voice so authentically different that a spectrograph can't tell it from one that was born, not built. Body contour shoulders narrowed, waists cinched, hips widened, ribcages tapered, fat redistributed along any line the client desires achieved through skeletal and soft tissue modification that leaves the skin unblemished, the body unmarked, as though the bones had always been this shape.
Breasts can be grown. Not implanted grown. From the client's own mammary tissue, activated and expanded, producing breasts in any size from barely-there to physics-defying. Any shape, teardrop, round, perky, natural. Any sensitivity level, from standard to hyper-responsive, the nerve density calibrated like a dial. Fully functional. Full sensation. Indistinguishable from natal development by any examination mammogram, biopsy, ultrasound because they are natal development, triggered decades after the original window closed.
Breasts can be removed. Completely. The same technology that activates growth can reverse it the tissue reabsorbs into the body, the mammary cells deactivate, the skin tightens and smooths until the chest is flat, contoured, masculine or androgynous or whatever the client specifies. No mastectomy scars. No asymmetry. No trace. A person could grow D-cups on a Monday and have a flat chest by Wednesday and no medical scan on Thursday would find evidence of either state. The body simply reorganizes itself around the new instruction, as indifferent to the direction of change as water is to the shape of its container.
<img src="images/scenes/day_1/day_1_8.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
Buttocks reshaped grown fuller or reduced to nothing. Hips flared wide or narrowed to a masculine frame. Waists cinched to proportions that corsets couldn't achieve or thickened to a straight, angular torso. Every modification seamless, scarless, grown from within and removable from within. The body rebuilds itself around the new blueprint, and the new blueprint leaves no evidence of the old one. Nor does the reversal leave evidence of the blueprint before that.
At the far end of the catalog, behind a consultation wall and a financial threshold that filters out everyone except the desperate and the committed, full genital construction. In any direction.
A vulva built from the client's own cells labia, clitoris, vaginal canal self-lubricating, fully sensate, connected to a nervous system that was rewired to receive its signals as pleasure, as sensation, as the authentic experience of a body that matches its configuration. A uterus. Ovaries. Fallopian tubes. The complete architecture of a female reproductive system, grown inside a body that was born male, operating on hormones that the body now produces naturally because RegenaForm didn't just add parts it rewrote the endocrine system from the ground up. Full fertility optional. Menstrual cycling optional. Every subsystem independently configurable, like options on a car.
<img src="images/scenes/day_1/day_1_9.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
In the other direction, a penis and testicles grown from a client's own tissue, on a body that was born without them. Full size configurable length, girth, proportion. Fully erectile, fully sensate, the nerve mapping calibrated to produce authentic male sexual response from arousal through climax. Testicles that produce testosterone naturally, that manufacture viable sperm if the client desires, that hang in a scrotum grown from labial tissue repurposed so seamlessly that a urologist examining it would find nothing to flag. The prostate, the vas deferens, the complete plumbing of a male reproductive system, assembled inside a body that was born female, indistinguishable from natal anatomy by any test, any scan, any lover's touch.
Both directions are fully reversible. A client could transition from male to female, live in that body for years, and transition back or to something else entirely. Dual configurations are available, both sets of genitalia, simultaneously, fully functional, the body's endocrine system balanced by RegenaForm's proprietary hormonal calibration to support both without conflict. Switchable configurations exist at the experimental tier anatomy that shifts between states on command, one set active while the other lies dormant in compressed biological storage, toggled by a neural signal the client learns to control like flexing a muscle.
The technology doesn't care about direction. It doesn't care about origin or destination. It sees the body as raw material infinitely plastic, infinitely configurable and the client's desire as the only blueprint that matters. Grow it, shrink it, reshape it, reverse it, start over, try something new. The flesh is clay. RegenaForm provides the kiln.
<img src="images/scenes/day_1/day_1_10.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
No surgeon's hands. No operating theatre. No months of recovery, no dilations, no compromises. Just a reclining chair, a cool gel, a warmth that spreads, and a body that wakes up different. Complete. Unmarked. As though it had always been this way.
RegenaForm doesn't limit itself to what biology intended. It offers what biology could have intended, if biology had a bigger imagination and a smaller sense of propriety.
The technology is miraculous. The ethics are a void. RegenaForm doesn't ask why. They don't require therapy letters or diagnostic criteria or the careful gatekeeping that traditional medicine employs. They offer a menu, a price list, and a smile. The client chooses. The client pays. The body changes. What happens to the person inside it the identity, the psychology, the sense of self that was built on the assumption that the body would stay the same is not RegenaForm's department.
<img src="images/scenes/day_1/day_1_11.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
Their clinics have spread through every major city, quiet storefronts in unremarkable buildings, identified only by the chrome helix on frosted glass. The waiting lists are long. The prices are high but not prohibitive calibrated precisely to be just affordable for a person who's desperate enough, just within reach of a person who can see the math working out if they earn enough, stream enough, transform enough, earn more, transform more.
The loop is the product. The escalation is the business model. The first procedure is free.
[[Eli's Story|start_3]] | <<link "Skip Introduction">><<set $hint to "Find your Apartment and Bed">><<goto neighbourhood>><</link>>Into this world this post-automation, algorithm-governed, attention-commodified, genetically-hackable world step Eli Vance.
Twenty-two years old. Five-foot-nine. A hundred and forty pounds of skinny-fat neglect distributed across a frame that nature assembled with the enthusiasm of a substitute teacher filling in on a Friday. He has the kind of face that exists in the space between faces not ugly enough to be memorable, not handsome enough to be noticed, just there, occupying a position in the visible spectrum that the human eye slides past the way it slides past wallpaper. Brown hair, usually greasy. Brown eyes, usually tired. Skin that can't decide if it's pale or sallow and has settled on both. Acne along the jawline that he's had since fifteen and will have until something changes.
<img src="images/locations/eli_apartment.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image">
He tried the normal path. One semester of college computer science, the degree everyone said was "AI-proof," which turned out to be a joke that stopped being funny when the AI learned to code better than the professors teaching it. The financial aid fell through. The motivation followed. He applied for jobs retail, food service, warehouse, delivery and watched each one evaporate between the application and the interview, replaced by a kiosk or a bot or an app or a "restructuring" that was a euphemism for "we bought software." For six months he did gig work food delivery on an e-bike in weather that tried to kill him, for an app that took 40% and offered no benefits and deactivated his account for a week when his rating dropped below 4.7 because a customer lied about a missing order.
Then he saw a YouTube video. A guy, roughly his age, roughly his situation, sitting in a room not unlike his, streaming a game to forty viewers and talking about how he made $600 last month. Six hundred dollars. For playing video games and talking. The number lodged in Eli's brain the way a bullet lodges in a wall embedded, permanent, impossible to remove without pulling the whole structure apart.
He started streaming the next week. That was eight months ago.
He lives alone in a 280-square-foot studio apartment that costs $875 a month, which is $875 more than it's worth. The apartment contains, a mattress on the floor (found curbside, stain of unknown origin), a desk (also found curbside, one leg requires a cardboard shim), two monitors (one refurbished, one dying), a microphone (budget), a webcam (antique), a mini-fridge (humming), a hot plate, a microwave with a broken turntable, and a crack in the ceiling that grows a little every day, splitting the plaster from the kitchenette to his pillow like a fault line in cheap geology.
His channel, EliPlays, has 54 followers most of whom followed during a brief raid six months ago and have never returned. His average viewership is between 8 and 15 people, a number that includes bots, accidental tab-leavers, and one dedicated troll named xX_DarkSlayer_Xx who appears daily, without fail, to inform Eli that he is terrible. His lifetime earnings from streaming total approximately $170. His most recent monthly income was $24.50. He plays Gunmetal Requiem, the biggest competitive shooter on Twitch, at the Silver rank the vast, unmarketable middle of the skill spectrum where nobody watches because there's nothing to see.
/* <img src="images/scenes/day_1/day_1_13.jpeg" alt="Eli's face after eyelash enhancement" class="scene-image"> */
He eats microwave burritos. He drinks Monster Energy. He sleeps at irregular hours on grey sheets that were once white. He picks at the skin around his thumbnails when he's anxious, which is always. He avoids mirrors. Not out of dysphoria out of disappointment.
His social circle is small enough to list in a sentence, Marcus "Marc" Delano, his best friend since middle school, who works part-time at a phone repair shop and doesn't understand streaming and doesn't need to because he shows up with cheese puffs and sarcasm and the specific loyalty of a person who decided a long time ago that you were worth keeping and Kira Nomura, a mid-tier streamer he met in a Discord server, who averages 800–1,200 viewers and earns more in a single session than Eli earns in a quarter, and who talks to him every day with a warmth he can't explain and won't examine because examining it would require asking why a successful, beautiful, razor-sharp 21-year-old woman chooses to spend her time on a guy who peaked at six viewers.
Eli has $47 in his checking account. He has no savings. No safety net. His mother works two jobs in another state and communicates through bimonthly Venmo deposits and texts that say "hope you're eating ok." No father gone before the memory formed. No degree, no prospects, no plan beyond the next stream, which will be identical to the last stream, which produced nothing.
He is not suicidal. He is not in crisis. He is something worse, he is functional. He wakes up. He streams. He eats. He sleeps. He repeats. The machinery of his life operates at minimum capacity, producing just enough motion to qualify as alive, the way a pilot light produces just enough flame to qualify as lit. He is one of millions a face in the browse-page graveyard, a thumbnail nobody clicks, a voice in an empty room, a person the algorithm has decided isn't worth surfacing and the only thing that distinguishes him from the other millions is the specific shape of his desperation.
He doesn't know about RegenaForm yet. He doesn't know that a clinic four blocks from his apartment can reshape his face and rebuild his body and rewrite the equation that has defined his life since the day the algorithm decided he wasn't worth looking at. He doesn't know that the technology exists, that the door is there, that the first procedure is free, that the second will cost just enough to require a third, and the third will require a fourth, and the fourth will require everything. But He will.
Let's dive into Eli's desperate world.
<<set $hint to "Find your Apartment and Bed">>
[[Soul of Eli Should Find his body|neighbourhood]]